summaryrefslogtreecommitdiff
path: root/dev-util/perf
diff options
context:
space:
mode:
Diffstat (limited to 'dev-util/perf')
-rw-r--r--dev-util/perf/Manifest22
-rw-r--r--dev-util/perf/metadata.xml4
-rw-r--r--dev-util/perf/perf-3.12.ebuild177
-rw-r--r--dev-util/perf/perf-3.13.1-r1.ebuild182
-rw-r--r--dev-util/perf/perf-3.15.5.ebuild182
-rw-r--r--dev-util/perf/perf-4.1.5-r1.ebuild190
-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.ebuild184
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
-}