public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: dev-libs/papi/files/, dev-libs/papi/
@ 2022-12-03  6:06 Sam James
  0 siblings, 0 replies; 2+ messages in thread
From: Sam James @ 2022-12-03  6:06 UTC (permalink / raw
  To: gentoo-commits

commit:     93cbfc9294406cbda0b93b6278a3c9a5344bae5b
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Dec  3 04:32:45 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Dec  3 06:06:05 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=93cbfc92

dev-libs/papi: fix configure w/ clang 16

Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../files/papi-6.0.0.1-configure-clang16.patch     | 53 ++++++++++++++++++++++
 ...{papi-6.0.0.1.ebuild => papi-6.0.0.1-r1.ebuild} |  6 ++-
 2 files changed, 58 insertions(+), 1 deletion(-)

diff --git a/dev-libs/papi/files/papi-6.0.0.1-configure-clang16.patch b/dev-libs/papi/files/papi-6.0.0.1-configure-clang16.patch
new file mode 100644
index 000000000000..a56213cdb6d5
--- /dev/null
+++ b/dev-libs/papi/files/papi-6.0.0.1-configure-clang16.patch
@@ -0,0 +1,53 @@
+https://bitbucket.org/icl/papi/pull-requests/406
+
+From 3d09c90d892c845473ba92bb1e9ff0ead4f3eb84 Mon Sep 17 00:00:00 2001
+From: Florian Weimer <fweimer@redhat.com>
+Date: Mon, 28 Nov 2022 08:44:38 +0100
+Subject: [PATCH] configure: Avoid implicit ints and implicit function
+ declarations
+
+Implicit ints and implicit function declarations were removed from
+the C language in 1999.  Relying on them can cause spurious autoconf
+check failures with compilers that do not support them in the default
+language mode.
+--- a/configure.in
++++ b/configure.in
+@@ -577,14 +577,16 @@ fi
+ 
+ AC_MSG_CHECKING(for working gettid)
+ AC_LINK_IFELSE([AC_LANG_SOURCE([#include <sys/types.h>
+-                main() { pid_t a = gettid(); }])],
++                #include <unistd.h>
++                int main() { pid_t a = gettid(); }])],
+                [AC_MSG_RESULT(yes)
+                 AC_DEFINE(HAVE_GETTID, 1, [Full gettid function])],
+                [AC_MSG_RESULT(no)
+                 AC_MSG_CHECKING(for working syscall(SYS_gettid))
+                 AC_LINK_IFELSE([AC_LANG_SOURCE([#include <sys/types.h>
+                                 #include <sys/syscall.h>
+-                                main() { pid_t a = syscall(SYS_gettid); }])],
++                                #include <unistd.h>
++                                int main() { pid_t a = syscall(SYS_gettid); }])],
+                                [AC_MSG_RESULT(yes)
+                                 AC_DEFINE(HAVE_SYSCALL_GETTID, 1, [gettid syscall function])],
+                                [AC_MSG_RESULT(no)]) ])
+@@ -625,7 +627,7 @@ AC_ARG_WITH(walltimer,
+                                      #include <stdio.h>
+                                      #include <time.h>
+                                      #include <syscall.h>
+-                                     main() {
++                                     int main() {
+                                        struct timespec t1, t2;
+                                        double seconds;
+                                        if (syscall(__NR_clock_gettime,CLOCK_REALTIME_HR,&t1) == -1) exit(1);
+@@ -646,7 +648,7 @@ AC_ARG_WITH(walltimer,
+                                                  #include <stdio.h>
+                                                  #include <time.h>
+                                                  #include <syscall.h>
+-                                                 main() {
++                                                 int main() {
+                                                    struct timespec t1, t2;
+                                                    double seconds;
+                                                    if (syscall(__NR_clock_gettime,CLOCK_REALTIME,&t1) == -1) exit(1);
+-- 
+2.38.1

diff --git a/dev-libs/papi/papi-6.0.0.1.ebuild b/dev-libs/papi/papi-6.0.0.1-r1.ebuild
similarity index 91%
rename from dev-libs/papi/papi-6.0.0.1.ebuild
rename to dev-libs/papi/papi-6.0.0.1-r1.ebuild
index f63cab71642c..a42b0ca09acf 100644
--- a/dev-libs/papi/papi-6.0.0.1.ebuild
+++ b/dev-libs/papi/papi-6.0.0.1-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=7
@@ -20,6 +20,10 @@ DEPEND="
 "
 RDEPEND="${DEPEND}"
 
+PATCHES=(
+	"${FILESDIR}"/${PN}-6.0.0.1-configure-clang16.patch
+)
+
 src_prepare() {
 	default
 


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-libs/papi/files/, dev-libs/papi/
@ 2023-12-19 11:04 Sam James
  0 siblings, 0 replies; 2+ messages in thread
From: Sam James @ 2023-12-19 11:04 UTC (permalink / raw
  To: gentoo-commits

commit:     a0af8e51987d130db563c5d9c18dba9f214719f1
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Tue Dec 19 09:17:45 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Dec 19 11:03:38 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a0af8e51

dev-libs/papi: further modern C fixes

Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../papi/files/papi-6.0.0.1-configure-c99.patch    | 88 ++++++++++++++++++++++
 dev-libs/papi/papi-6.0.0.1-r2.ebuild               | 61 +++++++++++++++
 2 files changed, 149 insertions(+)

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
+}


^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2023-12-19 11:04 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-12-03  6:06 [gentoo-commits] repo/gentoo:master commit in: dev-libs/papi/files/, dev-libs/papi/ Sam James
  -- strict thread matches above, loose matches on Subject: below --
2023-12-19 11:04 Sam James

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox