diff options
author | Naohiro Aota <naota@gentoo.org> | 2014-03-22 08:05:34 +0000 |
---|---|---|
committer | Naohiro Aota <naota@gentoo.org> | 2014-03-22 08:05:34 +0000 |
commit | c6a7e081e35092fa42a911ae0dd17e6e52c6012c (patch) | |
tree | cb427305be4b1ddda0c849448b512ea73283b44a /dev-util | |
parent | Update init script to use each user local pid file. #503300 (diff) | |
download | gentoo-2-c6a7e081e35092fa42a911ae0dd17e6e52c6012c.tar.gz gentoo-2-c6a7e081e35092fa42a911ae0dd17e6e52c6012c.tar.bz2 gentoo-2-c6a7e081e35092fa42a911ae0dd17e6e52c6012c.zip |
Move perf from /usr/sbin to /usr/bin #503790
(Portage version: 2.2.8-r1/cvs/Linux x86_64, signed Manifest commit with key F8551514)
Diffstat (limited to 'dev-util')
-rw-r--r-- | dev-util/perf/ChangeLog | 7 | ||||
-rw-r--r-- | dev-util/perf/perf-3.13.1-r1.ebuild | 182 |
2 files changed, 188 insertions, 1 deletions
diff --git a/dev-util/perf/ChangeLog b/dev-util/perf/ChangeLog index 285e9ed3b3ce..2d4a15d78048 100644 --- a/dev-util/perf/ChangeLog +++ b/dev-util/perf/ChangeLog @@ -1,6 +1,11 @@ # ChangeLog for dev-util/perf # Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-util/perf/ChangeLog,v 1.28 2014/02/26 18:03:50 vapier Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-util/perf/ChangeLog,v 1.29 2014/03/22 08:05:34 naota Exp $ + +*perf-3.13.1-r1 (22 Mar 2014) + + 22 Mar 2014; Naohiro Aota <naota@gentoo.org> +perf-3.13.1-r1.ebuild: + Move perf from /usr/sbin to /usr/bin #503790 26 Feb 2014; Mike Frysinger <vapier@gentoo.org> perf-3.13.1.ebuild: Add USE=gtk to control gtk+ dep; fix by Sonny Rao. diff --git a/dev-util/perf/perf-3.13.1-r1.ebuild b/dev-util/perf/perf-3.13.1-r1.ebuild new file mode 100644 index 000000000000..43e9bd8f2ab2 --- /dev/null +++ b/dev-util/perf/perf-3.13.1-r1.ebuild @@ -0,0 +1,182 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-util/perf/perf-3.13.1-r1.ebuild,v 1.1 2014/03/22 08:05:34 naota Exp $ + +EAPI="5" + +PYTHON_COMPAT=( python{2_5,2_6,2_7} ) +inherit versionator eutils toolchain-funcs python-single-r1 linux-info + +MY_PV="${PV/_/-}" +MY_PV="${MY_PV/-pre/-git}" + +DESCRIPTION="Userland tools for Linux Performance Counters" +HOMEPAGE="http://perf.wiki.kernel.org/" + +LINUX_V="${PV:0:1}.x" +if [[ ${PV} == *_rc* ]] ; then + LINUX_VER=$(get_version_component_range 1-2).$(($(get_version_component_range 3)-1)) + PATCH_VERSION=$(get_version_component_range 1-3) + LINUX_PATCH=patch-${PV//_/-}.xz + SRC_URI="mirror://kernel/linux/kernel/v${LINUX_V}/testing/${LINUX_PATCH} + mirror://kernel/linux/kernel/v${LINUX_V}/testing/v${PATCH_VERSION}/${LINUX_PATCH}" +else + VER_COUNT=$(get_version_component_count) + if [[ ${VER_COUNT} -gt 2 ]] ; then + # stable-release series + LINUX_VER=$(get_version_component_range 1-2) + LINUX_PATCH=patch-${PV}.xz + SRC_URI="mirror://kernel/linux/kernel/v${LINUX_V}/${LINUX_PATCH}" + else + LINUX_VER=${PV} + SRC_URI="" + fi +fi + +LINUX_SOURCES="linux-${LINUX_VER}.tar.xz" +SRC_URI+=" mirror://kernel/linux/kernel/v${LINUX_V}/${LINUX_SOURCES}" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~arm ~ppc ~x86" +IUSE="audit +demangle +doc gtk perl python slang unwind" + +RDEPEND="audit? ( sys-process/audit ) + demangle? ( sys-devel/binutils ) + gtk? ( x11-libs/gtk+:2 ) + perl? ( || ( >=dev-lang/perl-5.10 sys-devel/libperl ) ) + slang? ( dev-libs/newt ) + unwind? ( sys-libs/libunwind ) + dev-libs/elfutils" +DEPEND="${RDEPEND} + ${LINUX_PATCH+dev-util/patchutils} + sys-devel/bison + sys-devel/flex + doc? ( + app-text/asciidoc + app-text/sgml-common + app-text/xmlto + sys-process/time + ) + python? ( ${PYTHON_DEPS} )" + +S_K="${WORKDIR}/linux-${LINUX_VER}" +S="${S_K}/tools/perf" + +CONFIG_CHECK="~PERF_EVENTS ~KALLSYMS" + +pkg_setup() { + linux-info_pkg_setup + python-single-r1_pkg_setup +} + +src_unpack() { + local paths=( tools/perf tools/scripts tools/lib include lib "arch/*/include" "arch/*/lib" ) + + # We expect the tar implementation to support the -j option (both + # GNU tar and libarchive's tar support that). + echo ">>> Unpacking ${LINUX_SOURCES} (${paths[*]}) to ${PWD}" + tar --wildcards -xpf "${DISTDIR}"/${LINUX_SOURCES} \ + "${paths[@]/#/linux-${LINUX_VER}/}" || die + + if [[ -n ${LINUX_PATCH} ]] ; then + eshopts_push -o noglob + ebegin "Filtering partial source patch" + filterdiff -p1 ${paths[@]/#/-i } -z "${DISTDIR}"/${LINUX_PATCH} > ${P}.patch || die + eend $? || die "filterdiff failed" + eshopts_pop + fi + + local a + for a in ${A}; do + [[ ${a} == ${LINUX_SOURCES} ]] && continue + [[ ${a} == ${LINUX_PATCH} ]] && continue + unpack ${a} + done +} + +src_prepare() { + if [[ -n ${LINUX_PATCH} ]] ; then + cd "${S_K}" + epatch "${WORKDIR}"/${P}.patch + fi + + # Drop some upstream too-developer-oriented flags and fix the + # Makefile in general + sed -i \ + -e 's:-Werror::' \ + -e 's:-ggdb3::' \ + -e 's:-fstack-protector-all::' \ + -e 's:^LDFLAGS =:EXTLIBS +=:' \ + -e '/\(PERL\|PYTHON\)_EMBED_LDOPTS/s:ALL_LDFLAGS +=:EXTLIBS +=:' \ + -e '/-x c - /s:\$(ALL_LDFLAGS):\0 $(EXTLIBS):' \ + -e '/^ALL_CFLAGS =/s:$: $(CFLAGS_OPTIMIZE):' \ + -e '/^ALL_LDFLAGS =/s:$: $(LDFLAGS_OPTIMIZE):' \ + -e 's:$(sysconfdir_SQ)/bash_completion.d:/usr/share/bash-completion:' \ + "${S}"/Makefile || die + sed -i -e 's:-Werror::' "${S_K}"/tools/lib/lk/Makefile || die + sed -i \ + -e '/.FORCE-PERF-VERSION-FILE/s,.FORCE-PERF-VERSION-FILE,,g' \ + "${S}"/Makefile \ + "${S}"/Documentation/Makefile || die + + # Avoid the call to make kernelversion + echo "#define PERF_VERSION \"${MY_PV}\"" > PERF-VERSION-FILE + + # The code likes to compile local assembly files which lack ELF markings. + find -name '*.S' -exec sed -i '$a.section .note.GNU-stack,"",%progbits' {} + +} + +puse() { usex $1 "" no; } +perf_make() { + # The arch parsing is a bit funky. The perf tools package is integrated + # into the kernel, so it wants an ARCH that looks like the kernel arch, + # but it also wants to know about the split value -- i386/x86_64 vs just + # x86. We can get that by telling the func to use an older linux version. + # It's kind of a hack, but not that bad ... + local arch=$(KV=2.6.23 tc-arch-kernel) + emake V=1 \ + CC="$(tc-getCC)" AR="$(tc-getAR)" \ + prefix="/usr" bindir_relative="bin" \ + CFLAGS_OPTIMIZE="${CFLAGS}" \ + LDFLAGS_OPTIMIZE="${LDFLAGS}" \ + ARCH="${arch}" \ + NO_DEMANGLE=$(puse demangle) \ + NO_GTK2=$(puse gtk) \ + NO_LIBAUDIT=$(puse audit) \ + NO_LIBPERL=$(puse perl) \ + NO_LIBPYTHON=$(puse python) \ + NO_LIBUNWIND=$(puse unwind) \ + NO_NEWT=$(puse slang) \ + WERROR=0 \ + "$@" +} + +src_compile() { + perf_make -f Makefile.perf + use doc && perf_make -C Documentation +} + +src_test() { + : +} + +src_install() { + perf_make -f Makefile.perf install DESTDIR="${D}" + + dodoc CREDITS + + dodoc *txt Documentation/*.txt + if use doc ; then + dohtml Documentation/*.html + doman Documentation/*.1 + fi +} + +pkg_postinst() { + if ! use doc ; then + elog "Without the doc USE flag you won't get any documentation nor man pages." + elog "And without man pages, you won't get any --help output for perf and its" + elog "sub-tools." + fi +} |