summaryrefslogtreecommitdiff
path: root/dev-libs/papi
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2023-12-19 13:53:29 +0000
committerV3n3RiX <venerix@koprulu.sector>2023-12-19 13:53:29 +0000
commit00ac4b34406552b4fbca786be59b2983b7f58669 (patch)
treeff2e5facaa5f92566a0362c881beaa9bacb567a0 /dev-libs/papi
parent32b8124b0a5827960601f2183a970103b3d231b7 (diff)
gentoo auto-resync : 19:12:2023 - 13:53:29
Diffstat (limited to 'dev-libs/papi')
-rw-r--r--dev-libs/papi/Manifest2
-rw-r--r--dev-libs/papi/files/papi-6.0.0.1-configure-c99.patch88
-rw-r--r--dev-libs/papi/papi-6.0.0.1-r2.ebuild61
3 files changed, 151 insertions, 0 deletions
diff --git a/dev-libs/papi/Manifest b/dev-libs/papi/Manifest
index 5c7c22522a6d..91b7fa5fe475 100644
--- a/dev-libs/papi/Manifest
+++ b/dev-libs/papi/Manifest
@@ -1,4 +1,6 @@
+AUX papi-6.0.0.1-configure-c99.patch 3767 BLAKE2B 911ddc624dca65bc37027a358e48ae8161e69171f06e0fb9499db8d7ac18c00ef62ef84eb413a6c5ba1b8e4b2c81c9715406a12c6917efa5a57ebb690d6f5b4d SHA512 144caa26d861cb155aabc51ade54d197018440217b5332980513ef2f7fe6a4e738e2fdc92b10b1177dd7c2413d6633a40bdb2e344195f64e10e5026ba99525f2
AUX papi-6.0.0.1-configure-clang16.patch 2755 BLAKE2B ee43146e4c585004ea4dcee08c4026f07a0b8ed0b8fde54c69998ba2a9b460d27e9f7877a60dfa6cbad332c79c546f861ffbd9be88f829aa7eba360aa4cfa850 SHA512 af3d671efc552342f7af78185154bfb2c48dfd8fed3677851d79b0166b875fd6a0afb6d19536517500f34ba0aa89fb2362189de753b00b2b16a3186e7bd7b5b1
DIST papi-6.0.0.1.tar.gz 4665285 BLAKE2B 5b6b2de8c16510a05a57159ceba591625c78f2a6d4ea62979fea4dd3e72bce73138e36480d82e13713c9ff2298e00330619fa57fdc7f81d75e1ce519b6f600ae SHA512 54c37b49858e921bd1357d8b0bba12c27e40e89b1354d89e5a85672ef3e6d3a4784212079098004256369a172d744580fb283741e7b4ac2d6fa5642bc42ea2ad
EBUILD papi-6.0.0.1-r1.ebuild 1182 BLAKE2B 53e129acdbd436849108db5100fcd5cbb9052d170fc3032d9828380791f2c3b7d080f37b4dc33c7d671bc98b901b4b7fc7a26e3a634f73827b12d28d4feca2e0 SHA512 1b154beaa70a85b343bc1fdca83160835c72dcc3038eaf0165331197e06af6402feac1296f94b2a297cf06a7891442f4dbce3c3d48446f34741b8d7380bc7c5c
+EBUILD papi-6.0.0.1-r2.ebuild 1233 BLAKE2B ea9ec2400d312fa204d7f84e9fcc5788390e3f52a9d64e2463ac53be0aaa754ba65fc2fee6ba57d06fabee6f27ce7fa67676c56fa8a38bba7dfd45f4e43b314a SHA512 820e0e5addfedd00cc1f2f6a3f8e6666d086bee6c919de8d70a38d9a444ba3fc92f30a275a2e7bec2af8e301e47adb2d2df90ca2e2573843c6131b851af21dce
MISC metadata.xml 169 BLAKE2B 25149b73446be31f3ea3dd3a6394230987e7d4c601d1605fd3827b37bd99b3301c2e0edb95d0f59a4577ed27919f43c2cc02b1edf62c4012b935a82e709e0c05 SHA512 55c53f74b001bae56ba8c54581a4168335b6b3a28dac23a2102b76795d5fd41de33b8b3e1ec03f9acc6e7a3a77e93b1a6ff3e3967c3156dcbf22b5b5a6245ef5
diff --git a/dev-libs/papi/files/papi-6.0.0.1-configure-c99.patch b/dev-libs/papi/files/papi-6.0.0.1-configure-c99.patch
new file mode 100644
index 000000000000..1c38cd69df49
--- /dev/null
+++ b/dev-libs/papi/files/papi-6.0.0.1-configure-c99.patch
@@ -0,0 +1,88 @@
+https://github.com/icl-utk-edu/papi/commit/dd11311aadbd06ab6c76d49a997a8bb2bcdcd5f7
+https://github.com/icl-utk-edu/papi/pull/142
+
+From dd11311aadbd06ab6c76d49a997a8bb2bcdcd5f7 Mon Sep 17 00:00:00 2001
+From: Giuseppe Congiu <gcongiu@icl.utk.edu>
+Date: Fri, 29 Sep 2023 10:20:28 +0200
+Subject: [PATCH] configure: fix tls detection
+
+Configure TLS detection tests were failing because of wrong usage of
+pthread_create(). Problem was caused by wrong definition of thread
+functions which require void *f(void *) instead of int f(void *) or
+void f(void *).
+---
+ configure.in | 6 +++---
+ 2 files changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/configure.in b/configure.in
+index e77f1d017..346e3dab1 100644
+--- a/configure.in
++++ b/configure.in
+@@ -707,7 +707,7 @@ AC_ARG_WITH(tls,
+ #include <unistd.h>
+ extern __thread int i;
+ static int res1, res2;
+- void thread_main (void *arg) {
++ void *thread_main (void *arg) {
+ i = (int)arg;
+ sleep (1);
+ if ((int)arg == 1)
+@@ -849,7 +849,7 @@ AC_ARG_WITH(virtualtimer,
+ int gettid() {
+ return syscall( SYS_gettid );
+ }
+- int doThreadOne( void * v ) {
++ void *doThreadOne( void * v ) {
+ struct tms tm;
+ int status;
+ while (!done)
+@@ -859,7 +859,7 @@ AC_ARG_WITH(virtualtimer,
+ threadone = tm.tms_utime;
+ return 0;
+ }
+- int doThreadTwo( void * v ) {
++ void *doThreadTwo( void * v ) {
+ struct tms tm;
+ long i, j = 0xdeadbeef;
+ int status;
+
+From 08f0d7dfaeb53283ab133e3b7d6f13d03245d88c Mon Sep 17 00:00:00 2001
+From: Florian Weimer <fweimer@redhat.com>
+Date: Mon, 18 Dec 2023 08:18:50 +0100
+Subject: [PATCH] configure: Fix return values in start thread routines
+
+Thread start routines must return a void * value, and future
+compilers refuse to convert integers to pointers with just a warning
+(the virtualtimer probe). Without this change, the probe always fails
+to compile with future compilers (such as GCC 14).
+
+For the tls probe, return a null pointer for future-proofing, although
+current and upcoming C compilers do not treat this omission as an
+error.
+
+Updates commit dd11311aadbd06ab6c76d ("configure: fix tls detection").
+---
+ configure.in | 3 ++-
+ 2 files changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/configure.in b/configure.in
+index 7d95ae1a4..f9b494036 100644
+--- a/configure.in
++++ b/configure.in
+@@ -721,6 +721,7 @@ AC_ARG_WITH(tls,
+ res1 = (i == (int)arg);
+ else
+ res2 = (i == (int)arg);
++ return NULL;
+ }
+ __thread int i;
+ int main () {
+@@ -812,7 +813,7 @@ AC_ARG_WITH(virtualtimer,
+ exit(1);
+ }
+ done = 1;
+- return j;
++ return (void *) j;
+ }
+
+ int main( int argc, char ** argv ) {
diff --git a/dev-libs/papi/papi-6.0.0.1-r2.ebuild b/dev-libs/papi/papi-6.0.0.1-r2.ebuild
new file mode 100644
index 000000000000..a81ecf3c13bf
--- /dev/null
+++ b/dev-libs/papi/papi-6.0.0.1-r2.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools fortran-2 toolchain-funcs
+
+DESCRIPTION="Performance Application Programming Interface"
+HOMEPAGE="http://icl.cs.utk.edu/papi/"
+SRC_URI="http://icl.cs.utk.edu/projects/${PN}/downloads/${P}.tar.gz"
+S="${WORKDIR}/${P}/src"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+DEPEND="
+ dev-libs/libpfm[static-libs]
+ virtual/mpi
+"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-6.0.0.1-configure-clang16.patch
+ "${FILESDIR}"/${PN}-6.0.0.1-configure-c99.patch
+)
+
+src_prepare() {
+ default
+
+ mv configure.{in,ac} || die
+ eautoreconf
+}
+
+src_configure() {
+ tc-export AR
+
+ # TODO: Could try adding
+ # --with-static-user-events=no
+ # --with-static-papi-events=no
+ # --with-static-lib=no
+ # --with-static-tools=no
+ # but this requires fixing the homebrew configure logic for
+ # little gain
+ local myeconfargs=(
+ --with-perf-events
+ --with-pfm-prefix="${EPREFIX}/usr"
+ --with-pfm-libdir="${EPREFIX}/usr/$(get_libdir)"
+ )
+
+ CONFIG_SHELL="${EPREFIX}/bin/bash" econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+
+ dodoc ../RE*
+
+ find "${ED}" -name '*.a' -delete || die
+ find "${ED}" -name '*.la' -delete || die
+}