diff options
Diffstat (limited to 'dev-util/perf')
-rw-r--r-- | dev-util/perf/Manifest | 22 | ||||
-rw-r--r-- | dev-util/perf/metadata.xml | 4 | ||||
-rw-r--r-- | dev-util/perf/perf-3.12.ebuild | 177 | ||||
-rw-r--r-- | dev-util/perf/perf-3.13.1-r1.ebuild | 182 | ||||
-rw-r--r-- | dev-util/perf/perf-3.15.5.ebuild | 182 | ||||
-rw-r--r-- | dev-util/perf/perf-4.1.5-r1.ebuild | 190 | ||||
-rw-r--r-- | dev-util/perf/perf-4.20.3.ebuild (renamed from dev-util/perf/perf-4.9.13.ebuild) | 97 | ||||
-rw-r--r-- | dev-util/perf/perf-4.4.4.ebuild | 184 |
8 files changed, 79 insertions, 959 deletions
diff --git a/dev-util/perf/Manifest b/dev-util/perf/Manifest index 9c08e326051f..f07e29d3370b 100644 --- a/dev-util/perf/Manifest +++ b/dev-util/perf/Manifest @@ -1,23 +1,9 @@ AUX perf-4.1.5-prefix.patch 1637 BLAKE2B 8fdccb3d6d8f2955118e96edf4990e4d9a172524d49f36d757254dd983733c81f82d3920c21f40b6dd5e4df3d5ec2b799bb163c44dc5340f4128c5560430bb4d SHA512 ff7179d7b06513a83f0909723ad47774c07ad089079f43750c24a1dca685745048bce5ea6b0766e65e48b75b50d5a26866e827a89b0206800769ea2779355d6b -DIST linux-3.12.tar.bz2 91111381 BLAKE2B ec3295f41b639f0a7c63eed5d5be4a53c435ddb6e3681bce519263c33172efec46c25b284e7c58ef590387dc13b1e2e76d77b67dcd0345e8de7611bb78c9eb5a SHA512 bea14d044c8a0257d8312f45db6a39ca4f9dffe8ac32a11198e90762ee1735c8b6975bb81c635a4755d451793fa7c7e5b2d7d692c9e57133b15b4cdc941febf1 -DIST linux-3.13.tar.xz 77187032 BLAKE2B 4c0d96a9f1f8f971b9886651a1a0438bd7e00c3eb5de6b52c599c0e621714e34f4048348e836bc8bf8d0c879d447569ee99adda09c3de2fc197ce9503bc2b568 SHA512 1ba223bb4b885d691a67196d86a8aaf7b4a1c351bf2a762f50f1b0c32da00dd0c28895872a66b49e8d244498d996876609268e64861d28ac4048886ef9f79b87 -DIST linux-3.15.tar.xz 79676484 BLAKE2B a21b0b97fe0c9c2ef032b10b71062065fe0d27417f7f51c2ca4215891d254fef00aec11d20bfa4f7a71937f7e307a18f4c3ab08e45b9600816cd1c9dfe6c8fbb SHA512 d5dc477cad4584e56e2e2ef9e0950c2b22e76e5cf5090a896ba099cb7c5e5db1853a4aeb96b199189653dc66d461557e95198e37516a619f7ddc01ba6b308e02 -DIST linux-4.1.tar.xz 83017828 BLAKE2B d1dc4e458db191f16306b3d2d7eb60ef5e04307406c769cccdd88beb407f8de228ab1f095a44d6e992b06d01cd896fda31dec1cdf16667f4ca0b628da594aee3 SHA512 168ef84a4e67619f9f53f3574e438542a5747f9b43443363cb83597fcdac9f40d201625c66e375a23226745eaada9176eb006ca023613cec089349e91751f3c0 DIST linux-4.14.tar.xz 100770500 BLAKE2B 85dc4aa953fe65e273a24473d8de98e4f204f97c43be9fc87cf5be01f796f94cfde5c8f9c84619751f1cac51f83ce0b4681fb19c5f2965a72d4a94fe5577846a SHA512 77e43a02d766c3d73b7e25c4aafb2e931d6b16e870510c22cef0cdb05c3acb7952b8908ebad12b10ef982c6efbe286364b1544586e715cf38390e483927904d8 -DIST linux-4.4.tar.xz 87295988 BLAKE2B f260f1858994f5d481fd078c86e51bddbc958f7c5d1586f60dced772e1b1107ecf3aae0558c3e6f39c36f7d3aa1e6cd1e5c64ec9d6f2218f47b98413da6466fb SHA512 13c8459933a8b80608e226a1398e3d1848352ace84bcfb7e6a4a33cb230bbe1ab719d4b58e067283df91ce5311be6d2d595fc8c19e2ae6ecc652499415614b3e -DIST linux-4.9.tar.xz 93192404 BLAKE2B 83ae310b17d47f1f18d6d28537c31e10f3e60458c5954c4611158ca99e71cc0da2e051272eabf27d5887df4a7cb4a5dd66ff993077c11d2221e92d300a0b48d7 SHA512 bf67ff812cc3cb7e5059e82cc5db0d9a7c5637f7ed9a42e4730c715bf7047c81ed3a571225f92a33ef0b6d65f35595bc32d773356646df2627da55e9bc7f1f1a -DIST patch-3.13.1.xz 2884 BLAKE2B 6fd04189866fa50efb48c3c979de2880231dcb06b857a67eab18321a589bbab611bb1a2df68adae513d16e9e3ca897b8533a677121e1c7c430f7027044f899f1 SHA512 164235a15e6a984e9aeaf9fe475a8b2975d5e4c4b28dd4ecf99064b0f0c72eea766d925340f1a7232cabcbd23d26773527c300b6d995bf5cde18a276208fdccc -DIST patch-3.15.5.xz 122232 BLAKE2B 9c138316beea8ea04b704baca23621c76291064ac72a5eb107bcec4f371c2680471f96c678e269d04b03eaa857dc054ddd8057a06e5c7ac2b7ea8a303468139b SHA512 6831200503334e839c3cccdad29058aecc0205171cc5b75205d0a2aada8636633889ebff35d9677d4567bbaeea249efc83571e016104cd67554fe72b3b405755 -DIST patch-4.1.5.xz 170056 BLAKE2B 3beee64274154565bbe80389fe6258228f388ad5fa77a69e4d83906755c746bfd9d6052bf224d0f1bad33c4b656c1b6538345d05efd3e4f3953495241c05f0c8 SHA512 1325cdb35ea1f277d513932af37804f788b96ae63b94cedeb3c9b916ee8963bbd6aca5d0e13279e36a81f1de06005c5f3666ecfc845609932686f261fa4250c5 +DIST linux-4.20.tar.xz 104257836 BLAKE2B fb52cad2897da319299486fa8c3b9415cd0aee0842dbf353a5b269720dcb902db407bb55dd95a77b212dcb4a488c15363d561f3649d6bd16885561f2466d90b1 SHA512 e282399beea5da539701aed2bc131abd5bc74a970dcd344163e9d295106dfd700180e672ed546ae5e55bc6b9ac95efd5ca1de2039015c1b7a6fc9c01ea6583d4 DIST patch-4.14.33.xz 905284 BLAKE2B e67bd9a96708aaaf65eb0aa852493b2323c9e237bfcc6fa837f795e481943ead3e2d5005ee72e40fc247df01c50877d9da3848a05aba3c999c3cfb7678cbdbc9 SHA512 5c76be5171709c2df7df7d5a8e8f3d0f7ede47b433da3b0f1710f262c8fcf5cf6c744a96d4336ea397c2c88a5f0a7507a5ab08c7c82f08deeb7a6f887ad77cfd -DIST patch-4.4.4.xz 200972 BLAKE2B 76f5505fae96c6ec21ef3480c54bd53d7021d9ec360527209dd16b069d5f7c65ab8f1e44aeeed49480cd7c2a685fd42852e062fff703a1d010cc487f55ec15fa SHA512 c206af7803cb0915fbe2bd27ed33282452db3fbd3070c73e4c7147443efd3c7588fb3be12d0abc08742381fbe892190602b29147684630aa9e6ff5e9efa49dbc -DIST patch-4.9.13.xz 295932 BLAKE2B 37a90811dc1591d3f5d6609185ae518b02b36827c8557e400e7bb359ea04bf9cee66ea74fceaefb02c6e145ac34697efaecca6db071b35d6d872c9ac7c84b9ab SHA512 d7956cc8a4ab11514789af4f1f7023268e4b003216766c153f0f09aac659aabda5de634b363d53f8daeddfcf5820619c5bca31ff5f9aeb187c1df016c05f68d5 -EBUILD perf-3.12.ebuild 5006 BLAKE2B 7eb7939628a49ca9dadf7c4a223184b5e4da478fef65fd8089a3190859a93a0c937ca4609e68e25ea7e606a92b8f574aa9863b8bc50be3f07413c9c3d9749a88 SHA512 c247393496ac96e14ede7eaebb7e00d32221ccd38c2dca2cf50e3b7fe158172f49803c1e697584e25917a6d7d829890952cc7e8ae09a87158180530af66afb56 -EBUILD perf-3.13.1-r1.ebuild 5128 BLAKE2B e34cc28ba57866db83fcf9ab639e95306582c66fd7ce427543b19528d72fa78757721efc0ac1b23c6435973766fa4619e5f6448bfb21a6c50cc01cca2a2c3859 SHA512 f7ce04b5f4a4db657dfeb6b59d70c15cfb012ce661a62620773607ee93d5becfea56912dd9fae88db47a9f42ade6ce0ed0d0ba67a3fc37b086eda0e9e87118ab -EBUILD perf-3.15.5.ebuild 5143 BLAKE2B 694b1eaa11dde8aa29ab0ac812479869e9e45e47f02cf9201e78a5d6bcb4c18d645ae4bc8e584237ab738a1739f971a2ae62faf950d8bbe9845f02ad878aab84 SHA512 9a56717e87b9bf6bfa27f3d953e41af18c55e92020fbcc14fd01f43835e542bf1c7adb195387400c955706f5ca8a69090e41d6edfb728717910cd19b801d6dfc -EBUILD perf-4.1.5-r1.ebuild 5269 BLAKE2B 859aff4b3f86bb85187c7a0a7a85cd423ec8ceed0a2c9bba55c711b466216017ed796b976a1b16a03c8aae7292f31b8329e37ee55810c868caa246aa39c38d17 SHA512 1aa7d9fad71cbaf1a28976cfe7dbf74d7e04b4a00f81e5d7e0b96cced0a051bcf9846122caa66bb1466790ef5b7dcea71a1b291b2300056b1846ce4e5531b165 +DIST patch-4.20.3.xz 91732 BLAKE2B bf99271bcb35508df239343fd6c9d57c246f88320b586e44e2d97771d08b249a24db230214d4957015a5ed35261e201f0680101b99d0e92f0f1f69bc53e21458 SHA512 47178b8e3bfe4ba09cb82bb1ce8b0742e6749d4be3412fb57518918f7109e74eac1d3d8eb32a43e21b3837a14f37d5eefd8cab819defd10cc2db61fb0ceddeaf EBUILD perf-4.14.33-r1.ebuild 5004 BLAKE2B e6083a996ea2d925b498a229d6e1da8ebd781cd032ae13abaf88692f7dd5672412887a658c5324580f0c7eca55c2045bb67aa639c31f04e4663521704c5764b5 SHA512 61cc606b45c4f2a839dfda8e02881885a45c659cdab0ceb3a30b433dfee4180b94b267ce1ba9218559cea862a9890067956dc84e00269b9bca3ed617e6490a8c EBUILD perf-4.14.33.ebuild 4957 BLAKE2B 178c3e4dee18e132719f42cf83a209ac866dde793d69a3df3fd1a20585974dbc5a538d3d4dc5638fb20ff19ffae7eaf5a84d44b0b7f9b90ddf50a6794a57e71f SHA512 1c2346b9fd9c507185556e984b4976c55727290717d982b0fd2258e5d2d8dee015a62773de672afc9b7283afcec3820a20244911f44b5496c4bf53f78f34f695 -EBUILD perf-4.4.4.ebuild 5040 BLAKE2B fd6ff983115568989077d1d626b29121b452a11552d982b85a992cb6016b41e7beb7750008c8b87833f6dded0f6f2281275bffe7ad9c61dc773ec69a6f7fa33f SHA512 f39e5397d269f879dbaa62b4cfacebba27dd2f26feb17d70b5b4f60fcf256438c2920df340c27abb45f24404b21ace1c5bab982c7e4a93c2befa382762e76967 -EBUILD perf-4.9.13.ebuild 4925 BLAKE2B 919acbb8b5bc86a8cc0de41f963e87a85f16d7ba3fee026adab0c29ac5a46c8846fd102592576f0efdebb379080bf1580babfb0bc23729ea386ae3cc7ba3d634 SHA512 750501145fd525bf5e973edb7f4645cf0cd94c3449ae859ffcc33896e8963db8e573248893441de971248af2842fa18df9222704b5b92880a356e8656776a597 -MISC metadata.xml 1093 BLAKE2B c10db12ae6c05c68b06dba1112b3c899dd40d2d35f8ff8f2bc840c38e712571256b1ac49d90983b4df6af5806fc93b59bbb86e6d851d197539e776d60da0d7da SHA512 5c83c9c871c23eda63760d4b33b549849236d1f79edf4a69bbf2803987cd6db9c3f5dd8abdd216abacce91c93a589a9487e911d9ee1f57a9fec761f7e39beeef +EBUILD perf-4.20.3.ebuild 5993 BLAKE2B 164d19a6c6a2eaf5ce671cd26243148cbc63ef0d02ef1f7578401072a254290c7830718aa66c88258ff19515e33b6bc1a891634d531a8576098de84c85e6086c SHA512 a88047211a7522fe30347d75b15ae54de4e6470d2842fd739193ccb915c5a25d3727cb52e9aee16b814c53f9756269db0f6833a5b8410adfa02da71caff139ae +MISC metadata.xml 1245 BLAKE2B 78921a70a2d435eac57471863f5f8f50eaae16049c6085326cc91a82437b42ada7c3a5fa97124a01f5477b02e37fa03212eb65d9652a71b8c8886f99e2986d22 SHA512 99fcebf78438dd22f2ff35846fadd1280e25154dab4a4ab8bf9bc13d911c7450f92234ed2c39d9905d6b138a783af1e20896e0b09e9dd07813baf5da48234ea2 diff --git a/dev-util/perf/metadata.xml b/dev-util/perf/metadata.xml index abff870927b6..8ec543d2535e 100644 --- a/dev-util/perf/metadata.xml +++ b/dev-util/perf/metadata.xml @@ -9,6 +9,7 @@ <name>Yixun Lan</name> </maintainer> <use> + <flag name="clang">Enable builtin clang and LLVM support</flag> <flag name="demangle"> Enable C++ symbol name demangling, using libbfd from <pkg>sys-devel/binutils</pkg>. When this flag is enabled, the @@ -26,6 +27,9 @@ <flag name="perl"> Add support for Perl as a scripting language for perf tools. </flag> + <flag name="systemtap"> + Add support to define SDT event in perf tools. + </flag> <flag name="unwind"> Use sys-libs/libunwind for frame unwinding support. </flag> diff --git a/dev-util/perf/perf-3.12.ebuild b/dev-util/perf/perf-3.12.ebuild deleted file mode 100644 index 9b930d58dece..000000000000 --- a/dev-util/perf/perf-3.12.ebuild +++ /dev/null @@ -1,177 +0,0 @@ -# Copyright 1999-2017 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI="5" - -PYTHON_COMPAT=( python2_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="https://perf.wiki.kernel.org/" - -LINUX_V="${PV:0:1}.x" -if [[ ${PV/_rc} != ${PV} ]] ; 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//_/-}.bz2 - 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}" -elif [[ $(get_version_component_count) == 4 ]] ; then - # stable-release series - LINUX_VER=$(get_version_component_range 1-3) - LINUX_PATCH=patch-${PV}.bz2 - SRC_URI="mirror://kernel/linux/kernel/v${LINUX_V}/${LINUX_PATCH}" -else - LINUX_VER=${PV} - SRC_URI="" -fi - -LINUX_SOURCES="linux-${LINUX_VER}.tar.bz2" -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 perl python slang unwind" -REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" - -RDEPEND="audit? ( sys-process/audit ) - demangle? ( sys-devel/binutils ) - perl? ( dev-lang/perl ) - python? ( ${PYTHON_DEPS} ) - 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 - )" - -S_K="${WORKDIR}/linux-${LINUX_VER}" -S="${S_K}/tools/perf" - -CONFIG_CHECK="~PERF_EVENTS ~KALLSYMS" - -pkg_setup() { - linux-info_pkg_setup - use python && 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 -j1 V=1 \ - CC="$(tc-getCC)" AR="$(tc-getAR)" \ - prefix="/usr" bindir_relative="sbin" \ - CFLAGS_OPTIMIZE="${CFLAGS}" \ - LDFLAGS_OPTIMIZE="${LDFLAGS}" \ - ARCH="${arch}" \ - NO_DEMANGLE=$(puse demangle) \ - 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 - use doc && perf_make -C Documentation -} - -src_test() { - : -} - -src_install() { - perf_make 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 -} diff --git a/dev-util/perf/perf-3.13.1-r1.ebuild b/dev-util/perf/perf-3.13.1-r1.ebuild deleted file mode 100644 index 39c962d6d05c..000000000000 --- a/dev-util/perf/perf-3.13.1-r1.ebuild +++ /dev/null @@ -1,182 +0,0 @@ -# Copyright 1999-2017 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI="5" - -PYTHON_COMPAT=( python2_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="https://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 ~mips ~ppc ~x86" -IUSE="audit +demangle +doc gtk perl python slang unwind" -REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" - -RDEPEND="audit? ( sys-process/audit ) - demangle? ( sys-devel/binutils ) - gtk? ( x11-libs/gtk+:2 ) - perl? ( dev-lang/perl ) - python? ( ${PYTHON_DEPS} ) - 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 - )" - -S_K="${WORKDIR}/linux-${LINUX_VER}" -S="${S_K}/tools/perf" - -CONFIG_CHECK="~PERF_EVENTS ~KALLSYMS" - -pkg_setup() { - linux-info_pkg_setup - use python && 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 -} diff --git a/dev-util/perf/perf-3.15.5.ebuild b/dev-util/perf/perf-3.15.5.ebuild deleted file mode 100644 index c2e5a6f47f2c..000000000000 --- a/dev-util/perf/perf-3.15.5.ebuild +++ /dev/null @@ -1,182 +0,0 @@ -# Copyright 1999-2017 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI="5" - -PYTHON_COMPAT=( python2_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="https://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 debug +demangle +doc gtk perl python slang unwind" -REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" - -RDEPEND="audit? ( sys-process/audit ) - demangle? ( sys-devel/binutils ) - gtk? ( x11-libs/gtk+:2 ) - perl? ( dev-lang/perl ) - python? ( ${PYTHON_DEPS} ) - 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 - )" - -S_K="${WORKDIR}/linux-${LINUX_VER}" -S="${S_K}/tools/perf" - -CONFIG_CHECK="~PERF_EVENTS ~KALLSYMS" - -pkg_setup() { - linux-info_pkg_setup - use python && python-single-r1_pkg_setup -} - -src_unpack() { - local paths=( tools/perf tools/scripts tools/include 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/api/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 -} diff --git a/dev-util/perf/perf-4.1.5-r1.ebuild b/dev-util/perf/perf-4.1.5-r1.ebuild deleted file mode 100644 index 4fdec292a19d..000000000000 --- a/dev-util/perf/perf-4.1.5-r1.ebuild +++ /dev/null @@ -1,190 +0,0 @@ -# Copyright 1999-2017 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI="5" - -PYTHON_COMPAT=( python2_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="https://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="~alpha ~amd64 ~arm ~ppc ~x86" -IUSE="audit debug +demangle +doc gtk numa perl python slang unwind" -REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" - -RDEPEND="audit? ( sys-process/audit ) - demangle? ( sys-devel/binutils:= ) - gtk? ( x11-libs/gtk+:2 ) - numa? ( sys-process/numactl ) - perl? ( dev-lang/perl ) - python? ( ${PYTHON_DEPS} ) - 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 - )" - -S_K="${WORKDIR}/linux-${LINUX_VER}" -S="${S_K}/tools/perf" - -CONFIG_CHECK="~PERF_EVENTS ~KALLSYMS" - -pkg_setup() { - linux-info_pkg_setup - use python && python-single-r1_pkg_setup -} - -src_unpack() { - local paths=( - tools/build tools/include tools/lib tools/perf tools/scripts - 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 - - epatch "${FILESDIR}"/${P}-prefix.patch - - # 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/api/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=$(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) \ - NO_LIBNUMA=$(puse numa) \ - 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 -} diff --git a/dev-util/perf/perf-4.9.13.ebuild b/dev-util/perf/perf-4.20.3.ebuild index e9c0e8f0c42e..5439d2b00ec3 100644 --- a/dev-util/perf/perf-4.9.13.ebuild +++ b/dev-util/perf/perf-4.20.3.ebuild @@ -1,10 +1,10 @@ -# Copyright 1999-2017 Gentoo Foundation +# Copyright 1999-2019 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI="5" +EAPI=7 PYTHON_COMPAT=( python2_7 ) -inherit bash-completion-r1 versionator eutils toolchain-funcs python-single-r1 linux-info +inherit bash-completion-r1 estack eutils toolchain-funcs python-single-r1 linux-info MY_PV="${PV/_/-}" MY_PV="${MY_PV/-pre/-git}" @@ -14,22 +14,19 @@ HOMEPAGE="https://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_VER=$(ver_cut 1-2).$(($(ver_cut 3)-1)) + PATCH_VERSION=$(ver_cut 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}" +elif [[ ${PV} == *.*.* ]] ; then + # stable-release series + LINUX_VER=$(ver_cut 1-2) + LINUX_PATCH=patch-${PV}.xz + SRC_URI="mirror://kernel/linux/kernel/v${LINUX_V}/${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 + LINUX_VER=${PV} + SRC_URI="" fi LINUX_SOURCES="linux-${LINUX_VER}.tar.xz" @@ -37,24 +34,35 @@ SRC_URI+=" mirror://kernel/linux/kernel/v${LINUX_V}/${LINUX_SOURCES}" LICENSE="GPL-2" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~mips ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux" -IUSE="audit debug +demangle +doc gtk numa perl python slang unwind" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux" +IUSE="audit clang crypt debug +demangle +doc gtk java lzma numa perl python slang systemtap unwind zlib" +# TODO babeltrace REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" RDEPEND="audit? ( sys-process/audit ) + crypt? ( dev-libs/openssl:0= ) + clang? ( + sys-devel/clang:* + sys-devel/llvm:* + ) demangle? ( sys-libs/binutils-libs:= ) gtk? ( x11-libs/gtk+:2 ) + java? ( virtual/jre:* ) + lzma? ( app-arch/xz-utils ) numa? ( sys-process/numactl ) perl? ( dev-lang/perl ) python? ( ${PYTHON_DEPS} ) - slang? ( dev-libs/newt ) + slang? ( sys-libs/slang ) + systemtap? ( dev-util/systemtap ) unwind? ( sys-libs/libunwind ) + zlib? ( sys-libs/zlib ) dev-libs/elfutils" DEPEND="${RDEPEND} - >=sys-kernel/linux-headers-4.9 + >=sys-kernel/linux-headers-4.19 ${LINUX_PATCH+dev-util/patchutils} sys-devel/bison sys-devel/flex + java? ( virtual/jdk ) doc? ( app-text/asciidoc app-text/sgml-common @@ -88,7 +96,7 @@ src_unpack() { eshopts_push -o noglob ebegin "Filtering partial source patch" filterdiff -p1 ${paths[@]/#/-i } -z "${DISTDIR}"/${LINUX_PATCH} \ - > ${P}.patch || die + > ${P}.patch eend $? || die "filterdiff failed" eshopts_pop fi @@ -102,9 +110,10 @@ src_unpack() { } src_prepare() { + default if [[ -n ${LINUX_PATCH} ]] ; then cd "${S_K}" - epatch "${WORKDIR}"/${P}.patch + eapply "${WORKDIR}"/${P}.patch fi # Drop some upstream too-developer-oriented flags and fix the @@ -130,25 +139,54 @@ perf_make() { # 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 ... + + # LIBDIR sets a search path of perf-gtk.so. Bug 515954 + local arch=$(tc-arch-kernel) - emake V=1 \ - CC="$(tc-getCC)" AR="$(tc-getAR)" LD="$(tc-getLD)" \ + local java_dir + use java && java_dir="/etc/java-config-2/current-system-vm" + # FIXME: NO_CORESIGHT + # FIXME: NO_LIBBABELTRACE + emake V=1 VF=1 \ + CC="$(tc-getCC)" CXX="$(tc-getCXX)" AR="$(tc-getAR)" LD="$(tc-getLD)" \ prefix="${EPREFIX}/usr" bindir_relative="bin" \ EXTRA_CFLAGS="${CFLAGS}" \ ARCH="${arch}" \ + JDIR="${java_dir}" \ + LIBCLANGLLVM=$(usex clang 1 "") \ + NO_AUXTRACE="" \ + NO_BACKTRACE="" \ + NO_CORESIGHT=1 \ NO_DEMANGLE=$(puse demangle) \ NO_GTK2=$(puse gtk) \ + NO_JVMTI=$(puse java) \ NO_LIBAUDIT=$(puse audit) \ + NO_LIBBABELTRACE=1 \ + NO_LIBBIONIC=1 \ + NO_LIBBPF="" \ + NO_LIBCRYPTO=$(puse crypt) \ + NO_LIBDW_DWARF_UNWIND="" \ + NO_LIBELF="" \ + NO_LIBNUMA=$(puse numa) \ NO_LIBPERL=$(puse perl) \ NO_LIBPYTHON=$(puse python) \ NO_LIBUNWIND=$(puse unwind) \ - NO_NEWT=$(puse slang) \ - NO_LIBNUMA=$(puse numa) \ + NO_SDT=$(puse systemtap) \ + NO_SLANG=$(puse slang) \ + NO_LZMA=$(puse lzma) \ + NO_ZLIB= \ WERROR=0 \ + LIBDIR="/usr/libexec/perf-core" \ "$@" } src_compile() { + # test-clang.bin not build with g++ + if use clang; then + pushd "${S_K}/tools/build/feature/" || die + make V=1 CXX=${CHOST}-clang++ test-clang.bin || die + popd + fi perf_make -f Makefile.perf use doc && perf_make -C Documentation } @@ -160,11 +198,18 @@ src_test() { src_install() { perf_make -f Makefile.perf install DESTDIR="${D}" + rm -rv "${D}"/usr/share/doc/perf-tip || die + + if use gtk; then + mv "${D}"/usr/$(get_libdir)/libperf-gtk.so \ + "${D}"/usr/libexec/perf-core || die + fi + dodoc CREDITS dodoc *txt Documentation/*.txt if use doc ; then - dohtml Documentation/*.html + HTML_DOCS="Documentation/*.html" einstalldocs doman Documentation/*.1 fi } diff --git a/dev-util/perf/perf-4.4.4.ebuild b/dev-util/perf/perf-4.4.4.ebuild deleted file mode 100644 index a1366ba16e6f..000000000000 --- a/dev-util/perf/perf-4.4.4.ebuild +++ /dev/null @@ -1,184 +0,0 @@ -# Copyright 1999-2017 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI="5" - -PYTHON_COMPAT=( python2_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="https://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 debug +demangle +doc gtk numa perl python slang unwind" -REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" - -RDEPEND="audit? ( sys-process/audit ) - demangle? ( sys-devel/binutils:= ) - gtk? ( x11-libs/gtk+:2 ) - numa? ( sys-process/numactl ) - perl? ( dev-lang/perl ) - python? ( ${PYTHON_DEPS} ) - slang? ( dev-libs/newt ) - unwind? ( sys-libs/libunwind ) - dev-libs/elfutils" -DEPEND="${RDEPEND} - >=sys-kernel/linux-headers-4.4 - ${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 - )" - -S_K="${WORKDIR}/linux-${LINUX_VER}" -S="${S_K}/tools/perf" - -CONFIG_CHECK="~PERF_EVENTS ~KALLSYMS" - -pkg_setup() { - linux-info_pkg_setup - use python && python-single-r1_pkg_setup -} - -src_unpack() { - local paths=( - tools/arch tools/build tools/include tools/lib tools/perf tools/scripts - include lib "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):' \ - "${S}"/config/Makefile || die - sed -i \ - -e 's:$(sysconfdir_SQ)/bash_completion.d:/usr/share/bash-completion:' \ - "${S}"/Makefile.perf || die - sed -i -e 's:-Werror::' "${S_K}"/tools/lib/api/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=$(tc-arch-kernel) - emake V=1 \ - CC="$(tc-getCC)" AR="$(tc-getAR)" LD="$(tc-getLD)" \ - prefix="/usr" bindir_relative="bin" \ - EXTRA_CFLAGS="${CFLAGS}" \ - 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) \ - NO_LIBNUMA=$(puse numa) \ - 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 -} |