diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2018-07-14 21:03:06 +0100 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2018-07-14 21:03:06 +0100 |
commit | 8376ef56580626e9c0f796d5b85b53a0a1c7d5f5 (patch) | |
tree | 7681bbd4e8b05407772df40a4bf04cbbc8afc3fa /dev-util/google-perftools | |
parent | 30a9caf154332f12ca60756e1b75d2f0e3e1822d (diff) |
gentoo resync : 14.07.2018
Diffstat (limited to 'dev-util/google-perftools')
8 files changed, 393 insertions, 0 deletions
diff --git a/dev-util/google-perftools/Manifest b/dev-util/google-perftools/Manifest new file mode 100644 index 000000000000..9f675d110be0 --- /dev/null +++ b/dev-util/google-perftools/Manifest @@ -0,0 +1,11 @@ +AUX gperftools-2.0+glibc-2.16.patch 604 BLAKE2B c7f18515f32a2bcb4d8a0a7217f7d42df8224fd357af43ea691c8a5861318861f26cbc00a3c79225d641504ea8459803e563aefc57384ff4ed99e8cc5ef271a4 SHA512 aa9b94c4712227b6414fc34a47154f416b120004c81704ab181c7985b6dce60bf1d98e4175678fb445cd59bb6c85d4d7bb0a093e186ecc9f115bc841d27cb964 +AUX gperftools-2.0-32bit-barrier.patch 792 BLAKE2B 8efea587a96f4796d55809714ebf2b2a7058f0161431b7b3b404e0709e338f0a981525f74691b923354b622bbd2295ee001b2a2975da0e12a94cdc07ed207c1d SHA512 a39fd183d76a76e5c4cb3915f966e008250b4c72098bd2a9d13f10e01efd8dd1e36a51e0d4ef5f712d20398fa8605aa40e2529af085e80f918a1e227d7c92def +DIST gperftools-2.0.tar.gz 1261243 BLAKE2B a37c62f6f3c27a29036955c37a58c480e5cc628bd49036e20fe616e610d45b6727b0782605892a543cb477c388093feb5527e6557c5bc8446aaf874e946884f6 SHA512 61bf7a26974058912a4165cbc363351bc735599d36ab569dc7e84a75a690adbc17a4178512a57469fc7c17befaad2a271ef4ea5c29a36b664153938939269926 +DIST gperftools-2.4.tar.gz 890402 BLAKE2B f4893d7c9bbd3a8dc5b4d8a25837039261fa32782e13653991002ab666d6e81de637932a8b46c66df219336adcc395a217a4ce32332e8e1558beeb140ea642f2 SHA512 77198c150ee26579adc8f190be0c4ba90a9e3854b006c3aa9252b5863b1fce317fd690c6aa0ed202c81f0bbcfbe2d5f8a182263e77b7fb4fbc6b3e8bfffc9fb0 +DIST gperftools-2.6.2.tar.gz 911744 BLAKE2B e5798a2f0f2973f02bccabb2550a9df54319e505fc715795cd836ced631b29bfd8e6f8ddf3c7f6dceb0f166523bb0fa55564b1cbc896c8cd8cfd475263c07c39 SHA512 20c3460f806c6425d54e8d1020f15bc8940aacd7bf1367b03a116fb873bbd6c1e1fbb75df1d0ca341eaec813552fec394327175115ea8442a4b7a1ef17f0df2f +DIST gperftools-2.6.3.tar.gz 911813 BLAKE2B dae223927835f65b819836b25595df2943a0762ac3b6346e3d0186dab486cfa3e4eabc1f5a2ec43314f53ea96a68acb75991b76055591395bc52e78f655630d3 SHA512 6418c382760c8870ef42a535fcb65a623c1a9fd3ab58fcb7cfe2dd5048b2268b434427da36bc0c76beef2c28e13a6926d32d67084d8ca6675b78650a62de77a7 +EBUILD google-perftools-2.0-r2.ebuild 1803 BLAKE2B b81145202e20964c9c5784aa1b7b7afb1bef69659339654375a2019732d7696b2bd6fe0bf0347c7f559146b7c64e4c203ec7ad7626ccd68d3f030b488005a92e SHA512 7fe925ddae89c431f7177c4bc97dc2e5a663452e9fde34d16f28fd5dbfa8e584b961362cc1f65ee726478b54a2d000b15ef3bf81ce4e10c11aee2a78990e3a58 +EBUILD google-perftools-2.4.ebuild 2297 BLAKE2B 7c0dd1e856d745ecf215d3974f1bc2dd057f7ca3381bcc5ca7b8d2ce800b029c831934d27a938056aaa724a500f5799ef792155c2e371ea9fe2be4f0cdec0995 SHA512 026a68d5920847c00fd1af24397ce45575dab9e16f569c9d55b7b0424511cab365be429e33bb7d74ef70a57c38eacc825d3809d44c204678b046c9a76302a460 +EBUILD google-perftools-2.6.2.ebuild 2313 BLAKE2B 76778b92beab5a0c5c9bcca957551ab891e64dfb47db73eb296fffde41608b9c031e6f20f6d480202865e0776f844bf10b046a2cf4d6d7a656afd05be064245e SHA512 dd7328c32fdf020bfbbd35e074f12b43d7d8fb3cb59aadb430d2c0119be6bb08bb2fd7a22c62314b477aad6edff92e6a42c686d203fd9abceb0e3cd8587073db +EBUILD google-perftools-2.6.3.ebuild 2318 BLAKE2B d33a9b7b8178087d2d4621b5fe19294844e6aeda7e1cbcbdc94184eb1582cc1f97c54b07d689218677b124fdd0e48b15c6315659875b1e1f11b3efc28ac3362b SHA512 4a49fa149ad25f5ce4b533259be598833ba3f99b5899abdcbc7cc6aefaea55dd047c09dfe02be22b12a880d3a57ec3da4dde69acb3d1bae6a3b912b3c8d2c90d +MISC metadata.xml 894 BLAKE2B 1c28c2e2c55af11aa4f2fa160dc63d16f4ab9deee8be2265af431a4594f8dd6a51a5258dd81b125e2f61f8367e26b6d1ce4248820b437f393051a8f036bd0b27 SHA512 8b940221b8eab122bf8579bce312c71c4ff49e6a35982e9b38990ad181ead444b8cb98b8a919fa941f99842fa28be9e5b456eb07954b3b25f4acc4112d98c0d2 diff --git a/dev-util/google-perftools/files/gperftools-2.0+glibc-2.16.patch b/dev-util/google-perftools/files/gperftools-2.0+glibc-2.16.patch new file mode 100644 index 000000000000..b17e0d57f5fb --- /dev/null +++ b/dev-util/google-perftools/files/gperftools-2.0+glibc-2.16.patch @@ -0,0 +1,13 @@ +Index: gperftools-2.0/src/base/linuxthreads.cc +=================================================================== +--- gperftools-2.0.orig/src/base/linuxthreads.cc ++++ gperftools-2.0/src/base/linuxthreads.cc +@@ -193,7 +193,7 @@ static volatile int *sig_pids, sig_num_t + /* Signal handler to help us recover from dying while we are attached to + * other threads. + */ +-static void SignalHandler(int signum, siginfo_t *si, void *data) { ++static void SignalHandler(int signum, struct siginfo *si, void *data) { + if (sig_pids != NULL) { + if (signum == SIGABRT) { + while (sig_num_threads-- > 0) { diff --git a/dev-util/google-perftools/files/gperftools-2.0-32bit-barrier.patch b/dev-util/google-perftools/files/gperftools-2.0-32bit-barrier.patch new file mode 100644 index 000000000000..df89a92ed010 --- /dev/null +++ b/dev-util/google-perftools/files/gperftools-2.0-32bit-barrier.patch @@ -0,0 +1,17 @@ +Atomic64 not available on all architectures. +Use AtomicWord instead. + +Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> + +diff -Nuar gperftools-2.0.orig/src/base/spinlock_internal.cc gperftools-2.0/src/base/spinlock_internal.cc +--- gperftools-2.0.orig/src/base/spinlock_internal.cc 2012-02-02 21:36:23.000000000 +0000 ++++ gperftools-2.0/src/base/spinlock_internal.cc 2013-01-20 23:44:01.629077919 +0000 +@@ -80,7 +80,7 @@ + static int SuggestedDelayNS(int loop) { + // Weak pseudo-random number generator to get some spread between threads + // when many are spinning. +- static base::subtle::Atomic64 rand; ++ static AtomicWord rand; + uint64 r = base::subtle::NoBarrier_Load(&rand); + r = 0x5deece66dLL * r + 0xb; // numbers from nrand48() + base::subtle::NoBarrier_Store(&rand, r); diff --git a/dev-util/google-perftools/google-perftools-2.0-r2.ebuild b/dev-util/google-perftools/google-perftools-2.0-r2.ebuild new file mode 100644 index 000000000000..c0b175dcf38d --- /dev/null +++ b/dev-util/google-perftools/google-perftools-2.0-r2.ebuild @@ -0,0 +1,71 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +MY_P="gperftools-${PV}" + +inherit toolchain-funcs eutils flag-o-matic autotools-utils + +DESCRIPTION="Fast, multi-threaded malloc() and nifty performance analysis tools" +HOMEPAGE="https://github.com/gperftools/gperftools" +SRC_URI="https://github.com/gperftools/gperftools/archive/${MY_P}.tar.gz" + +LICENSE="MIT" +SLOT="0/4" +# contains ASM code, with support for +# freebsd x86/amd64 +# linux x86/amd64/ppc/ppc64/arm +# OSX ppc/amd64 +# AIX ppc/ppc64 +KEYWORDS="-* amd64 arm ppc ppc64 x86 ~x86-fbsd ~amd64-linux ~x86-linux" +IUSE="largepages +debug minimal test static-libs" + +DEPEND="sys-libs/libunwind" +RDEPEND="${DEPEND}" + +S="${WORKDIR}/${MY_P}" + +HTML_DOCS="doc" + +pkg_setup() { + # set up the make options in here so that we can actually make use + # of them on both compile and install. + + # Avoid building the unit testing if we're not going to execute + # tests; this trick here allows us to ignore the tests without + # touching the build system (and thus without rebuilding + # autotools). Keep commented as long as it's restricted. + use test || \ + MAKEOPTS+=" noinst_PROGRAMS= " +} + +src_prepare() { + epatch "${FILESDIR}/${MY_P}+glibc-2.16.patch" + epatch "${FILESDIR}/${MY_P}-32bit-barrier.patch" +} + +src_configure() { + use largepages && append-cppflags -DTCMALLOC_LARGE_PAGES + append-flags -fno-strict-aliasing -fno-omit-frame-pointer + + local myeconfargs=( + --htmldir=/usr/share/doc/${PF}/html + $(use_enable debug debugalloc) + $(use_enable minimal) + ) + + autotools-utils_src_configure +} + +src_test() { + case "${LD_PRELOAD}" in + *libsandbox*) + ewarn "Unable to run tests when sanbox is enabled." + ewarn "See https://bugs.gentoo.org/290249" + return 0 + ;; + esac + + autotools-utils_src_test +} diff --git a/dev-util/google-perftools/google-perftools-2.4.ebuild b/dev-util/google-perftools/google-perftools-2.4.ebuild new file mode 100644 index 000000000000..a2986988f31c --- /dev/null +++ b/dev-util/google-perftools/google-perftools-2.4.ebuild @@ -0,0 +1,85 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +MY_P="gperftools-${PV}" +inherit toolchain-funcs flag-o-matic vcs-snapshot autotools multilib-minimal + +DESCRIPTION="Fast, multi-threaded malloc() and nifty performance analysis tools" +HOMEPAGE="https://github.com/gperftools/gperftools" +SRC_URI="https://github.com/gperftools/gperftools/tarball/${MY_P} -> ${MY_P}.tar.gz" + +LICENSE="MIT" +SLOT="0/4" +# contains ASM code, with support for +# freebsd x86/amd64 +# linux x86/amd64/ppc/ppc64/arm +# OSX ppc/amd64 +# AIX ppc/ppc64 +KEYWORDS="-* ~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86 ~x86-fbsd ~amd64-linux ~x86-linux" +IUSE="largepages +debug minimal optimisememory test static-libs" + +DEPEND="sys-libs/libunwind" +RDEPEND="${DEPEND}" + +S="${WORKDIR}/${MY_P}" + +HTML_DOCS="doc" + +pkg_setup() { + # set up the make options in here so that we can actually make use + # of them on both compile and install. + + # Avoid building the unit testing if we're not going to execute + # tests; this trick here allows us to ignore the tests without + # touching the build system (and thus without rebuilding + # autotools). Keep commented as long as it's restricted. + use test || \ + MAKEOPTS+=" noinst_PROGRAMS= " +} + +src_prepare() { + default + eautoreconf + multilib_copy_sources +} + +multilib_src_configure() { + use largepages && append-cppflags -DTCMALLOC_LARGE_PAGES + use optimisememory && append-cppflags -DTCMALLOC_SMALL_BUT_SLOW + append-flags -fno-strict-aliasing -fno-omit-frame-pointer + + econf \ + --htmldir=/usr/share/doc/${PF}/html \ + --docdir=/usr/share/doc/${PF} \ + --enable-shared \ + $(use_enable static-libs static) \ + $(use_enable debug debugalloc) \ + $(if [[ ${ABI} == x32 ]]; then printf "--enable-minimal\n" else use_enable minimal; fi) +} + +src_test() { + case "${LD_PRELOAD}" in + *libsandbox*) + ewarn "Unable to run tests when sandbox is enabled." + ewarn "See https://bugs.gentoo.org/290249" + return 0 + ;; + esac + + multilib-minimal_src_test +} + +src_install() { + if ! use minimal && has x32 ${MULTILIB_ABIS}; then + MULTILIB_WRAPPED_HEADERS=( + /usr/include/gperftools/heap-checker.h + /usr/include/gperftools/heap-profiler.h + /usr/include/gperftools/stacktrace.h + /usr/include/gperftools/profiler.h + ) + fi + + multilib-minimal_src_install +} diff --git a/dev-util/google-perftools/google-perftools-2.6.2.ebuild b/dev-util/google-perftools/google-perftools-2.6.2.ebuild new file mode 100644 index 000000000000..cdbf549f9647 --- /dev/null +++ b/dev-util/google-perftools/google-perftools-2.6.2.ebuild @@ -0,0 +1,85 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +MY_P="gperftools-${PV}" +inherit toolchain-funcs flag-o-matic vcs-snapshot autotools multilib-minimal + +DESCRIPTION="Fast, multi-threaded malloc() and nifty performance analysis tools" +HOMEPAGE="https://github.com/gperftools/gperftools" +SRC_URI="https://github.com/gperftools/gperftools/tarball/${MY_P} -> ${MY_P}.tar.gz" + +LICENSE="MIT" +SLOT="0/4" +# contains ASM code, with support for +# freebsd x86/amd64 +# linux x86/amd64/ppc/ppc64/arm +# OSX ppc/amd64 +# AIX ppc/ppc64 +KEYWORDS="-* amd64 arm ~arm64 ppc ppc64 x86 ~x86-fbsd ~amd64-linux ~x86-linux" +IUSE="largepages +debug minimal optimisememory test static-libs" + +DEPEND="sys-libs/libunwind" +RDEPEND="${DEPEND}" + +S="${WORKDIR}/${MY_P}" + +HTML_DOCS="docs" + +pkg_setup() { + # set up the make options in here so that we can actually make use + # of them on both compile and install. + + # Avoid building the unit testing if we're not going to execute + # tests; this trick here allows us to ignore the tests without + # touching the build system (and thus without rebuilding + # autotools). Keep commented as long as it's restricted. + use test || \ + MAKEOPTS+=" noinst_PROGRAMS= " +} + +src_prepare() { + default + eautoreconf + multilib_copy_sources +} + +multilib_src_configure() { + use largepages && append-cppflags -DTCMALLOC_LARGE_PAGES + use optimisememory && append-cppflags -DTCMALLOC_SMALL_BUT_SLOW + append-flags -fno-strict-aliasing -fno-omit-frame-pointer + + econf \ + --htmldir=${EPREFIX}/usr/share/doc/${PF}/html \ + --docdir=${EPREFIX}/usr/share/doc/${PF} \ + --enable-shared \ + $(use_enable static-libs static) \ + $(use_enable debug debugalloc) \ + $(if [[ ${ABI} == x32 ]]; then printf "--enable-minimal\n" else use_enable minimal; fi) +} + +src_test() { + case "${LD_PRELOAD}" in + *libsandbox*) + ewarn "Unable to run tests when sandbox is enabled." + ewarn "See https://bugs.gentoo.org/290249" + return 0 + ;; + esac + + multilib-minimal_src_test +} + +src_install() { + if ! use minimal && has x32 ${MULTILIB_ABIS}; then + MULTILIB_WRAPPED_HEADERS=( + /usr/include/gperftools/heap-checker.h + /usr/include/gperftools/heap-profiler.h + /usr/include/gperftools/stacktrace.h + /usr/include/gperftools/profiler.h + ) + fi + + multilib-minimal_src_install +} diff --git a/dev-util/google-perftools/google-perftools-2.6.3.ebuild b/dev-util/google-perftools/google-perftools-2.6.3.ebuild new file mode 100644 index 000000000000..708d67991674 --- /dev/null +++ b/dev-util/google-perftools/google-perftools-2.6.3.ebuild @@ -0,0 +1,85 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +MY_P="gperftools-${PV}" +inherit toolchain-funcs flag-o-matic vcs-snapshot autotools multilib-minimal + +DESCRIPTION="Fast, multi-threaded malloc() and nifty performance analysis tools" +HOMEPAGE="https://github.com/gperftools/gperftools" +SRC_URI="https://github.com/gperftools/gperftools/tarball/${MY_P} -> ${MY_P}.tar.gz" + +LICENSE="MIT" +SLOT="0/4" +# contains ASM code, with support for +# freebsd x86/amd64 +# linux x86/amd64/ppc/ppc64/arm +# OSX ppc/amd64 +# AIX ppc/ppc64 +KEYWORDS="-* ~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86 ~x86-fbsd ~amd64-linux ~x86-linux" +IUSE="largepages +debug minimal optimisememory test static-libs" + +DEPEND="sys-libs/libunwind" +RDEPEND="${DEPEND}" + +S="${WORKDIR}/${MY_P}" + +HTML_DOCS="docs" + +pkg_setup() { + # set up the make options in here so that we can actually make use + # of them on both compile and install. + + # Avoid building the unit testing if we're not going to execute + # tests; this trick here allows us to ignore the tests without + # touching the build system (and thus without rebuilding + # autotools). Keep commented as long as it's restricted. + use test || \ + MAKEOPTS+=" noinst_PROGRAMS= " +} + +src_prepare() { + default + eautoreconf + multilib_copy_sources +} + +multilib_src_configure() { + use largepages && append-cppflags -DTCMALLOC_LARGE_PAGES + use optimisememory && append-cppflags -DTCMALLOC_SMALL_BUT_SLOW + append-flags -fno-strict-aliasing -fno-omit-frame-pointer + + econf \ + --htmldir=${EPREFIX}/usr/share/doc/${PF}/html \ + --docdir=${EPREFIX}/usr/share/doc/${PF} \ + --enable-shared \ + $(use_enable static-libs static) \ + $(use_enable debug debugalloc) \ + $(if [[ ${ABI} == x32 ]]; then printf "--enable-minimal\n" else use_enable minimal; fi) +} + +src_test() { + case "${LD_PRELOAD}" in + *libsandbox*) + ewarn "Unable to run tests when sandbox is enabled." + ewarn "See https://bugs.gentoo.org/290249" + return 0 + ;; + esac + + multilib-minimal_src_test +} + +src_install() { + if ! use minimal && has x32 ${MULTILIB_ABIS}; then + MULTILIB_WRAPPED_HEADERS=( + /usr/include/gperftools/heap-checker.h + /usr/include/gperftools/heap-profiler.h + /usr/include/gperftools/stacktrace.h + /usr/include/gperftools/profiler.h + ) + fi + + multilib-minimal_src_install +} diff --git a/dev-util/google-perftools/metadata.xml b/dev-util/google-perftools/metadata.xml new file mode 100644 index 000000000000..e6791a60364b --- /dev/null +++ b/dev-util/google-perftools/metadata.xml @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <use> + <flag name="largepages"> + Use (experimental) larger pages for tcmalloc, this increases + memory usage, but should speed up the allocation/free + operations. + </flag> + <flag name="debug"> + Build a set of libraries with debug support (so-called + debugalloc). These are available by default but are not needed + unless you're actually developing using tcmalloc. + </flag> + <flag name="minimal"> + Only build the tcmalloc_minimal library, ignoring the heap + checker and the profilers. + </flag> + <flag name="optimisememory"> + To build libtcmalloc with smaller internal caches. + </flag> + </use> + <upstream> + <remote-id type="github">gperftools/gperftools</remote-id> + </upstream> +</pkgmetadata> |