summaryrefslogtreecommitdiff
path: root/dev-util/google-perftools
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2022-07-15 07:41:50 +0100
committerV3n3RiX <venerix@koprulu.sector>2022-07-15 07:41:50 +0100
commitb3f2504c1d05b5999b74b2135860fc721e3adf68 (patch)
treee11656067365c7d474553833d6202ed04d3324a5 /dev-util/google-perftools
parente0fdb8199de0e7a9b7c72d7f38d2e3ddaecdacd0 (diff)
gentoo auto-resync : 15:07:2022 - 07:41:50
Diffstat (limited to 'dev-util/google-perftools')
-rw-r--r--dev-util/google-perftools/Manifest2
-rw-r--r--dev-util/google-perftools/google-perftools-2.10.ebuild116
2 files changed, 118 insertions, 0 deletions
diff --git a/dev-util/google-perftools/Manifest b/dev-util/google-perftools/Manifest
index 06240fee46cc..2157c5b56aad 100644
--- a/dev-util/google-perftools/Manifest
+++ b/dev-util/google-perftools/Manifest
@@ -1,4 +1,6 @@
AUX google-perftools-2.9.1-disable-generic-dynamic-tls.patch 1429 BLAKE2B 69dfc7f24fe7d765f4ad6e118ff4b78de070bd471a92ab19bf7349addfc8ce477e14513bada0168fce675aac75e413d26319a784f0ecd5fbfc7e4750b4b1a35e SHA512 a85a631761df4e5a0d38f2e1ce9cb48f3299bb83f7b73cefe872d31f2cf08ec0fffe2c5918dd6e769d83a726404bf94c72857a3870a8823d4dea12d686a4bbd8
+DIST gperftools-2.10.tar.gz 926512 BLAKE2B e92fb751f9e695d21edf5fce443f3d3641fcff15cbd6b5d868bc77fbe622594be824b75c8d45513c7f82b9e574c690133b8502d4574162948a77886d5166b92d SHA512 4400711723be9401f519d85b3b69c026e4715473cbed48ab0573df17abdf895fb971ee969875fe5127a2e8b9aba90d858285e50c8e012384c2c36d5a76b1f0c4
DIST gperftools-2.9.1.tar.gz 924910 BLAKE2B fcf0491e42ff4212a63ab0af422f27f5a625c53a0b33e69f8dede96b004a0f01af104d9791a4b75d38145ae0059f5e2967ea1d09b0712cc4d930ef7aafd4f3ba SHA512 5e07f28da9afc5f1ba3df7f06ad0e146c171d33e1779bbaab21547ed234aaced02e5278c1eb8f92fc45480abd2474d6a2d4c71644fb9378f41088c56cc1bc8ab
+EBUILD google-perftools-2.10.ebuild 3144 BLAKE2B f29dbf09225f703bc54aaf54ecb1589d2f7cb5b763f0338737d0bd0aeb41ac31d639a429471751e5f7377d9c03f08fbe8b7f6fc8f828d756b3bc8f46dac6244e SHA512 a366994f9e076f0570a9f2e00cfae288db927a7b109d9c89f465d28820ea405168b404a392359e0dbbab3e6eefadd47d8ea2b5d93ec3393afbac780eae0fd009
EBUILD google-perftools-2.9.1-r2.ebuild 3138 BLAKE2B ce4ec06f068b4b4b3ed05000e4f6549c33b94dd0f204e94a22289d7c4b3b2c38270978905a7a26036a912b8665ae6cccf47dddd894287206919deec5d2d88d6c SHA512 2c0ef217d45aa7a31b427637ac32d3959ab5cb838a6bbccc9978a9bab2d263f487a3ba49a50e96658a9b3a64511d52589dafadf4435160d351161779f992d1c3
MISC metadata.xml 1129 BLAKE2B 441935f9605b2c11fb02f4698375b87cdf7a30596f36c5d069ef3bec2599181bc91321b0bbea21f0841d2abdcca58aa1a4732d486bc5719b90f4eb6558fc2404 SHA512 624d8b8fcf555aa62b57c32443eef40fa350ffe346f84dadb33bcb8c8dc192749deee2ca01e121ac82d4e349bcc179af0f897a4b6b696741aefe01ce79abe916
diff --git a/dev-util/google-perftools/google-perftools-2.10.ebuild b/dev-util/google-perftools/google-perftools-2.10.ebuild
new file mode 100644
index 000000000000..42f067fa0ced
--- /dev/null
+++ b/dev-util/google-perftools/google-perftools-2.10.ebuild
@@ -0,0 +1,116 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_P="gperftools-${PV}"
+inherit flag-o-matic autotools vcs-snapshot 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/archive/${MY_P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0/4"
+# contains ASM code, with support for
+# freebsd x86/amd64
+# linux amd64/arm/arm64/ppc/ppc64/riscv/x86
+# OSX ppc/amd64
+# AIX ppc/ppc64
+KEYWORDS="-* ~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
+
+IUSE="largepages largepages64k +debug minimal optimisememory test static-libs"
+
+RESTRICT="!test? ( test )"
+
+# TODO: remove the riscv special case once either libunwind has begun supporting this arch
+# or this package allows using llvm-libunwind for other arches
+DEPEND="!ppc64? (
+ riscv? ( sys-libs/llvm-libunwind:= )
+ !riscv? ( sys-libs/libunwind:= )
+)"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${MY_P}"
+
+PATCHES=(
+ # Please keep this if possible on bumps, check Fedora if needs rebasing
+ # Allows correct functionality on e.g. arm64, bug #818871
+ "${FILESDIR}"/${PN}-2.9.1-disable-generic-dynamic-tls.patch
+)
+
+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 largepages64k && append-cppflags -DTCMALLOC_LARGE_PAGES64K
+ use optimisememory && append-cppflags -DTCMALLOC_SMALL_BUT_SLOW
+ append-flags -fno-strict-aliasing -fno-omit-frame-pointer
+
+ local myeconfargs=(
+ --enable-shared
+ $(use_enable static-libs static)
+ $(use_enable debug debugalloc)
+ )
+
+ if [[ ${ABI} == x32 ]]; then
+ myeconfargs+=( --enable-minimal )
+ else
+ myeconfargs+=( $(use_enable minimal) )
+ fi
+
+ if use arm64 || use s390; then
+ # Use the same arches for disabling TLS (thread local storage)
+ # as Fedora, but we might need to expand this list if we get
+ # more odd segfaults in consumers like in bug #818871.
+ myeconfargs+=( --disable-general-dynamic-tls )
+ fi
+
+ econf "${myeconfargs[@]}"
+}
+
+src_test() {
+ if has sandbox ${FEATURES}; then
+ ewarn "Unable to run tests when sandbox is enabled."
+ ewarn "See https://bugs.gentoo.org/290249"
+ return 0
+ fi
+
+ 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
+}
+
+multilib_src_install_all() {
+ einstalldocs
+
+ use static-libs || find "${ED}" -name '*.la' -delete || die
+}