diff --git a/common/shlibs b/common/shlibs index c5c2d54ca8d..6c44fa6dce4 100644 --- a/common/shlibs +++ b/common/shlibs @@ -3404,7 +3404,7 @@ libmed.so.11 libmed-4.0.0_1 libeog.so eog-3.28.0_4 libfreexl.so.1 freexl-1.0.5_1 libgeos_c.so.1 geos-3.9.0_1 -libpapi.so.5 papi-5.6.0_1 +libpapi.so.7 papi-7.0.1_1 libpfm.so.4 libpfm4-4.13.0_1 libfifechan.so.0.1.5 fifechan-0.1.5_1 libfifechan_sdl.so.0.1.5 fifechan-0.1.5_1 diff --git a/srcpkgs/papi/patches/gnu_source.patch b/srcpkgs/papi/patches/gnu_source.patch deleted file mode 100644 index cc80e0ee643..00000000000 --- a/srcpkgs/papi/patches/gnu_source.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- a/src/components/perf_event/tests/perf_event_system_wide.c 2019-10-12 17:48:40.217216625 +0200 -+++ b/src/components/perf_event/tests/perf_event_system_wide.c 2019-10-12 17:49:48.246645644 +0200 -@@ -15,6 +15,9 @@ - #define __USE_GNU - #endif - -+/* For cpu_set_t */ -+#define _GNU_SOURCE -+ - /* For sched_setaffinity() */ - #include - diff --git a/srcpkgs/papi/patches/libsde-soname.patch b/srcpkgs/papi/patches/libsde-soname.patch new file mode 100644 index 00000000000..ff78e759e3d --- /dev/null +++ b/srcpkgs/papi/patches/libsde-soname.patch @@ -0,0 +1,11 @@ +--- a/src/sde_lib/Makefile ++++ b/src/sde_lib/Makefile +@@ -14,7 +14,7 @@ SOBJS=$(patsubst %.c,%_s.o,$(wildcard *. + all: dynamic static + + dynamic: $(DOBJS) +- $(CC) -Bdynamic -fPIC -shared -Wl,-soname -Wl,libsde.so -fvisibility=hidden -Wextra -Wall -g -O2 $(DOBJS) -lrt -ldl -pthread -o libsde.so.1.0 ++ $(CC) -Bdynamic -fPIC -shared -Wl,-soname -Wl,libsde.so.1 -fvisibility=hidden -Wextra -Wall -g -O2 $(DOBJS) -lrt -ldl -pthread -o libsde.so.1.0 + rm -f *_d.o + + static: $(SOBJS) diff --git a/srcpkgs/papi/patches/musl.patch b/srcpkgs/papi/patches/musl.patch new file mode 100644 index 00000000000..ae45faf9233 --- /dev/null +++ b/srcpkgs/papi/patches/musl.patch @@ -0,0 +1,33 @@ +--- a/src/components/perf_event/perf_helpers.h ++++ b/src/components/perf_event/perf_helpers.h +@@ -40,14 +40,14 @@ sys_perf_event_open( struct perf_event_a + typedef uint64_t u64; + typedef int64_t s64; + +-typedef __u32 u32; +-typedef __s32 s32; ++typedef uint32_t u32; ++typedef int32_t s32; + +-typedef __u16 u16; +-typedef __s16 s16; ++typedef uint16_t u16; ++typedef int16_t s16; + +-typedef __u8 u8; +-typedef __s8 s8; ++typedef uint8_t u8; ++typedef int8_t s8; + + + #ifdef __SIZEOF_INT128__ +--- a/src/components/perf_event/tests/perf_event_system_wide.c ++++ b/src/components/perf_event/tests/perf_event_system_wide.c +@@ -14,6 +14,7 @@ + #ifndef __USE_GNU + #define __USE_GNU + #endif ++#define _GNU_SOURCE + + /* For sched_setaffinity() */ + #include diff --git a/srcpkgs/papi/patches/prefixed-gfortran.patch b/srcpkgs/papi/patches/prefixed-gfortran.patch new file mode 100644 index 00000000000..379d5e1757c --- /dev/null +++ b/srcpkgs/papi/patches/prefixed-gfortran.patch @@ -0,0 +1,22 @@ +--- a/src/components/sde/tests/Makefile ++++ b/src/components/sde/tests/Makefile +@@ -1,7 +1,7 @@ + NAME=sde + include ../../Makefile_comp_tests.target + INCLUDE += -I$(datadir)/sde_lib -I.. +-ifeq ($(notdir $(F77)),gfortran) ++ifeq ($(findstring gfortran,$(notdir $(F77))),gfortran) + FFLAGS +=-ffree-form -ffree-line-length-none + else ifeq ($(notdir $(F77)),flang) + FFLAGS +=-ffree-form +--- a/src/components/sysdetect/tests/Makefile ++++ b/src/components/sysdetect/tests/Makefile +@@ -19,7 +19,7 @@ else + FTESTS = + endif + +-ifeq ($(notdir $(F77)),gfortran) ++ifeq ($(findstring gfortran,$(notdir $(F77))),gfortran) + FFLAGS +=-ffree-form -ffree-line-length-none + else ifeq ($(notdir $(F77)),flang) + FFLAGS +=-ffree-form diff --git a/srcpkgs/papi/patches/use-after-realloc.patch b/srcpkgs/papi/patches/use-after-realloc.patch deleted file mode 100644 index 27c88d36191..00000000000 --- a/srcpkgs/papi/patches/use-after-realloc.patch +++ /dev/null @@ -1,56 +0,0 @@ -Index: papi-5.7.0/src/libpfm4/lib/pfmlib_perf_event_pmu.c -=================================================================== ---- papi-5.7.0.orig/src/libpfm4/lib/pfmlib_perf_event_pmu.c -+++ papi-5.7.0/src/libpfm4/lib/pfmlib_perf_event_pmu.c -@@ -23,6 +23,7 @@ - */ - #include - #include -+#include - #include - #include - #include -@@ -254,6 +255,7 @@ static perf_event_t * - perf_table_alloc_event(void) - { - perf_event_t *new_pe; -+ ptrdiff_t offset; - - retry: - if (perf_pe_free < perf_pe_end) -@@ -261,11 +263,12 @@ retry: - - perf_pe_count += PERF_ALLOC_EVENT_COUNT; - -+ offset = perf_pe_free - perf_pe; - new_pe = realloc(perf_pe, perf_pe_count * sizeof(perf_event_t)); - if (!new_pe) - return NULL; - -- perf_pe_free = new_pe + (perf_pe_free - perf_pe); -+ perf_pe_free = new_pe + offset; - perf_pe_end = perf_pe_free + PERF_ALLOC_EVENT_COUNT; - perf_pe = new_pe; - -@@ -290,6 +293,7 @@ static perf_umask_t * - perf_table_alloc_umask(void) - { - perf_umask_t *new_um; -+ ptrdiff_t offset; - - retry: - if (perf_um_free < perf_um_end) -@@ -297,11 +301,12 @@ retry: - - perf_um_count += PERF_ALLOC_UMASK_COUNT; - -+ offset = perf_um_free - perf_um; - new_um = realloc(perf_um, perf_um_count * sizeof(*new_um)); - if (!new_um) - return NULL; - -- perf_um_free = new_um + (perf_um_free - perf_um); -+ perf_um_free = new_um + offset; - perf_um_end = perf_um_free + PERF_ALLOC_UMASK_COUNT; - perf_um = new_um; - diff --git a/srcpkgs/papi/template b/srcpkgs/papi/template index b343a6e3637..0549b99305b 100644 --- a/srcpkgs/papi/template +++ b/srcpkgs/papi/template @@ -1,27 +1,41 @@ # Template file for 'papi' pkgname=papi -version=5.7.0 +version=7.0.1 revision=1 build_wrksrc="src" build_style=gnu-configure +configure_args="--with-pfm-root=$XBPS_CROSS_BASE/usr --with-tls=__thread + --with-ffsll --with-virtualtimer=cloc_thread_cputime_id + --with-walltimer=clock_realtime --with-arch=${XBPS_TARGET_MACHINE%-musl}" +hostmakedepends="gcc-fortran openmpi" +makedepends="libpfm4-devel libgomp-devel openmpi-devel" short_desc="Provides interface for use of performance counter hardware" maintainer="Orphaned " license="BSD-3-Clause" -homepage="http://icl.cs.utk.edu/papi/" +homepage="https://icl.utk.edu/papi/" distfiles="http://icl.utk.edu/projects/papi/downloads/papi-${version}.tar.gz" -checksum=d1a3bb848e292c805bc9f29e09c27870e2ff4cda6c2fba3b7da8b4bba6547589 - -if [ -n "$CROSS_BUILD" ]; then - _ARCH="${XBPS_TARGET_MACHINE%-musl}" - configure_args+=" --with-ffsll --with-tls - --with-walltimer=clock_realtime --with-virtualtimer=cloc_thread_cputime_id - --with-CPU=${_ARCH} --with-arch=${_ARCH}" -fi +checksum=c105da5d8fea7b113b0741a943d467a06c98db959ce71bdd9a50b9f03eecc43e +python_version=3 case "$XBPS_TARGET_MACHINE" in + i686*|x86_64*) configure_args+=" --with-CPU=x86" ;; + arm*|aarch*) configure_args+=" --with-CPU=arm" ;; ppc*-musl) broken="requires non-standard __ppc_get_timebase_freq";; + ppc64le*) configure_args+=" --with-CPU=POWER8" ;; + ppc64*) configure_args+=" --with-CPU=PPC970" ;; + ppc*) configure_args+=" --with-CPU=ppc" ;; + mips*) configure_args+=" --with-CPU=mips" ;; esac +pre_build() { + export OMPI_CC="$CC" + export OMPI_FC="$FC" +} + +post_extract() { + rm -rf src/libpfm* +} + post_install() { vlicense ../LICENSE.txt }