commit: ea4dbdc0e3b427eb797455dfda90e29a28d955a7
Author: Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com>
AuthorDate: Mon Jul 26 22:14:54 2021 +0000
Commit: Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com>
CommitDate: Mon Jul 26 23:28:42 2021 +0000
URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=ea4dbdc0
sys-cluster/*: split sionlibl and make them co-installable
Signed-off-by: Alessandro Barbieri <lssndrbarbieri <AT> gmail.com>
sys-cluster/sionlib/Manifest | 1 -
sys-cluster/sionlib/metadata.xml | 1 -
...ionlib-1.7.7.ebuild => sionlib-1.7.7-r1.ebuild} | 15 ++-
sys-cluster/sionlibl/Manifest | 1 +
.../sionlibl/files/sionlibl-respect-flags.patch | 120 +++++++++++++++++++++
sys-cluster/{sionlib => sionlibl}/metadata.xml | 1 -
.../sionlibl-1.7.7.ebuild} | 23 ++--
7 files changed, 148 insertions(+), 14 deletions(-)
diff --git a/sys-cluster/sionlib/Manifest b/sys-cluster/sionlib/Manifest
index 8fc118f36..292998421 100644
--- a/sys-cluster/sionlib/Manifest
+++ b/sys-cluster/sionlib/Manifest
@@ -1,2 +1 @@
DIST sionlib-1.7.7.tar.gz 489080 BLAKE2B
1ffd06d1b245034b28700af1249135347cdd731a7af23ad96a27b5b5a11d64d9a67249fcd1c44cea43face1066e7ae1d59681e84cef2041e18f02e0c3e8f70ee
SHA512
f270467e09893adf1af6103557365acbc9a3e73fe08716a21de6f59b25be9b187ee1c1ec1d878a9599e735f98da470b5e2e184774c27ed0ff0c330c5bf0a5677
-DIST sionlibl-1.7.7.tar.gz 490515 BLAKE2B
76971dd6d80222144b40da345d58311911aab09c6a5250b85d4a2731d2f93cdbd39d87dd6bbafdeaba88f06603105076267f6956417916f118ec45e07fa59269
SHA512
6ef46a0905552c558595bf6b72225a290d73dc87fa33c9862de5e4bd4d683792437646f7b4ab8a463b4a50d1b4a79aec96a66e577e815de3f23e9274be2681af
diff --git a/sys-cluster/sionlib/metadata.xml b/sys-cluster/sionlib/metadata.xml
index df4593cce..32002cf2d 100644
--- a/sys-cluster/sionlib/metadata.xml
+++ b/sys-cluster/sionlib/metadata.xml
@@ -30,6 +30,5 @@ SIONlib provides two different interfaces: one for parallel
access (with impleme
<flag name="parutils">Enable compilation of parutils (used for
benchmarking)</flag>
<flag name="pthreads">configure SIONlib to use pthreads for
locking</flag>
<!--<flag name="sionfwd">enable I/O forwarding with
SIONfwd</flag>-->
- <flag name="tools">Build the tooling version instead</flag>
</use>
</pkgmetadata>
diff --git a/sys-cluster/sionlib/sionlib-1.7.7.ebuild
b/sys-cluster/sionlib/sionlib-1.7.7-r1.ebuild
similarity index 89%
copy from sys-cluster/sionlib/sionlib-1.7.7.ebuild
copy to sys-cluster/sionlib/sionlib-1.7.7-r1.ebuild
index e00956e3a..cd15e7ad6 100644
--- a/sys-cluster/sionlib/sionlib-1.7.7.ebuild
+++ b/sys-cluster/sionlib/sionlib-1.7.7-r1.ebuild
@@ -12,16 +12,13 @@ inherit docs flag-o-matic fortran-2 python-any-r1
toolchain-funcs
DESCRIPTION="Scalable I/O library for parallel access to task-local files"
HOMEPAGE="https://www.fz-juelich.de/ias/jsc/EN/Expertise/Support/Software/SIONlib/_node.html"
-SRC_URI="
- !tools? (
http://apps.fz-juelich.de/jsc/sionlib/download.php?version=${PV} -> ${P}.tar.gz
)
- tools? (
http://apps.fz-juelich.de/jsc/sionlib/download.php?version=${PV}l ->
${PN}l-${PV}.tar.gz )
-"
+SRC_URI="http://apps.fz-juelich.de/jsc/sionlib/download.php?version=${PV} ->
${P}.tar.gz"
S="${WORKDIR}/${PN}"
LICENSE="BSD"
SLOT="0"
KEYWORDS="~amd64"
-IUSE="+cxx debug doc examples +fortran +mpi +ompi +openmp +parutils +pthreads
python tools"
+IUSE="+cxx debug doc examples +fortran +mpi +ompi +openmp +parutils +pthreads
python"
#TODO: cuda sionfwd msa
#--enable-sionfwd=/path/to/sionfwd
#--msa=(hostname-regex|deep-est-sdv)] MSA aware collective operations for the
given system
@@ -103,6 +100,14 @@ src_install() {
rm -r "${T}/prefix/usr/examples" || die
fi
+ insinto "/usr/include/sionlib"
+ doins -r "${T}"/prefix/usr/include/*
+ rm -r "${T}/prefix/usr/include" || die
+
+ exeinto "/usr/libexec/${PN}"
+ doexe "${T}"/prefix/usr/bin/*partest
+ rm "${T}"/prefix/usr/bin/*partest || die
+
# move 64 bit libraries to lib64
libs64=( "${T}"/prefix/usr/lib/*64* )
if [[ ${#libs64[@]} -gt 0 ]]; then
diff --git a/sys-cluster/sionlibl/Manifest b/sys-cluster/sionlibl/Manifest
new file mode 100644
index 000000000..a16495014
--- /dev/null
+++ b/sys-cluster/sionlibl/Manifest
@@ -0,0 +1 @@
+DIST sionlibll-1.7.7.tar.gz 490515 BLAKE2B
76971dd6d80222144b40da345d58311911aab09c6a5250b85d4a2731d2f93cdbd39d87dd6bbafdeaba88f06603105076267f6956417916f118ec45e07fa59269
SHA512
6ef46a0905552c558595bf6b72225a290d73dc87fa33c9862de5e4bd4d683792437646f7b4ab8a463b4a50d1b4a79aec96a66e577e815de3f23e9274be2681af
diff --git a/sys-cluster/sionlibl/files/sionlibl-respect-flags.patch
b/sys-cluster/sionlibl/files/sionlibl-respect-flags.patch
new file mode 100644
index 000000000..a7ac351ea
--- /dev/null
+++ b/sys-cluster/sionlibl/files/sionlibl-respect-flags.patch
@@ -0,0 +1,120 @@
+--- a/config/determine-cc.sh
++++ b/config/determine-cc.sh
+@@ -1,7 +1,6 @@
+ #!/bin/sh
+ # determine what compiler is behind "cc" (and presumably "CC" and "ftn")
wrapper
+
+-CC=`which cc 2>/dev/null`
+ COMP=
+ if [ -z "$CC" ]; then
+ echo "No 'cc' located!"
+--- a/config/select-compiler.sh
++++ b/config/select-compiler.sh
+@@ -9,7 +9,7 @@
+ CPS=""
+ COMP=""
+
+-GNU=`which gcc 2> /dev/null`
++GNU="${CC}"
+ if [ -n "${GNU}" ]
+ then
+ NCPS=`expr ${NCPS} + 1`
+--- a/config/select-mpi.sh
++++ b/config/select-mpi.sh
+@@ -76,7 +76,6 @@
+ if [ -z "${MPIS}" ]; then MPIS="${MPI}"; else MPIS="${MPIS}|${MPI}"; fi
+ fi
+
+-MPICC=`which mpicc 2> /dev/null`
+ if [ -n "${MPICC}" ]
+ then
+ FMPI=""
+@@ -86,7 +85,7 @@
+ MPIROOTDIR1=`dirname ${MBINDIR}`
+
+ echo "#include <mpi.h>" > conftest.c
+- mpicc -E conftest.c | grep '/mpi.h"' | head -1 > mpiconf.txt
++ "${MPICC}" -E conftest.c | grep '/mpi.h"' | head -1 > mpiconf.txt
+ MINCDIR=`cat mpiconf.txt | sed -e 's#^.* "##' -e 's#/mpi.h".*##'`
+ if [ -n "${MINCDIR}" ]
+ then
+--- a/mf/Makefile.defs.linux-gomp
++++ b/mf/Makefile.defs.linux-gomp
+@@ -23,24 +23,19 @@
+
#------------------------------------------------------------------------------
+ # SIONlib General Settings
+
#------------------------------------------------------------------------------
+-OPTFLAGS = -g -O0 -Wall
++CFLAGS += -std=c99 $(PFLAG) $(OPTFLAGS) -fPIC
+
+-CC = gcc
+-CFLAGS = -std=c99 $(PFLAG) $(OPTFLAGS) -fPIC
++CXXFLAGS += $(PFLAG) $(OPTFLAGS) -fPIC
+
+-CXX = g++
+-CXXFLAGS = $(PFLAG) $(OPTFLAGS) -O3
+-
+-F77 = gfortran
+-FFLAGS = $(PFLAG) $(OPTFLAGS)
++FFLAGS += $(PFLAG) $(OPTFLAGS) -fPIC
+
+ F90 = $(F77)
+-F90FLAGS = $(PFLAG) $(OPTFLAGS) -ffree-form
++F90FLAGS += $(PFLAG) $(OPTFLAGS) -ffree-form -fPIC $(FCFLAGS)
+
+ FPP =
+ FDOPT = -D
+
+-LDFLAGS = $(PFLAG) $(OPTFLAGS) $(HINTSLIB)
++LDFLAGS += $(PFLAG) $(OPTFLAGS) $(HINTSLIB)
+ UTILLIB =
+ FOBASE = pomp_fwrapper_base.o
+
+@@ -101,10 +96,6 @@
+
#------------------------------------------------------------------------------
+
+ MPIENABLE = 1
+-MPICC = mpicc
+-MPICXX = mpicxx
+-MPIF77 = mpif77
+-MPIF90 = mpif90
+ MPILIB = -lmpich
+ PMPILIB = -lpmpich
+ #PMPILIB = # MPICH2
+@@ -139,8 +130,7 @@
+
#------------------------------------------------------------------------------
+
+ SZLIB = szlib
+-SZLIB_OPTFLAGS = -O3
+-SZLIB_CFLAGS = -I$(TOPDIR)/utils/szlib -DELG_COMPRESSED -DCUBE_COMPRESSED
++SZLIB_CFLAGS = -I$(TOPDIR)/utils/szlib -DELG_COMPRESSED -DCUBE_COMPRESSED
$(CFLAGS)
+ SZLIB_LIBPATH = -L$(TOPDIR)/utils/szlib
+ SZLIB_LIB = -lsc.z
+
+--- a/src/fortraninterface/Makefile
++++ b/src/fortraninterface/Makefile
+@@ -121,21 +122,21 @@
+ $(CPP) $(F90FLAGS) $(F90FLAGS_CPP) $(F90MPIFLAGS) -P -E -I ../lib
sion_f90_mpi.F90 > sion_f90_mpi.f90
+ sion_f90_mpi.mod : sion_f90_mpi.o
+ sion_f90_mpi.o : sion_f90_mpi.f90 sion_f90.mod $(SION_HDRS)
+- $(MPIF90) $(F90FLAGS) -c sion_f90_mpi.f90
++ $(MPIF90) $(F90FLAGS) $(F90MPIFLAGS) -c sion_f90_mpi.f90
+
+ # F90 Interface (OMP)
+ sion_f90_omp.f90: sion_f90_omp.F90
+ $(CPP) $(F90OMPFLAGS) $(F90FLAGS) $(F90FLAGS_CPP) -P -E -I ../lib
sion_f90_omp.F90 > sion_f90_omp.f90
+ sion_f90_omp.mod : sion_f90_omp.o
+ sion_f90_omp.o : sion_f90_omp.f90 sion_f90.mod $(SION_HDRS)
+- $(OMPF90) $(F90FLAGS) -c sion_f90_omp.f90
++ $(OMPF90) $(F90FLAGS) $(F90OMPFLAGS) -c sion_f90_omp.f90
+
+ # F90 Interface (OMPI)
+ sion_f90_ompi.f90: sion_f90_ompi.F90 $(SION_HDRS)
+ $(CPP) $(F90MPIFLAGS) $(F90OMPFLAGS) $(F90FLAGS) $(F90FLAGS_CPP) -P -E
-I ../lib sion_f90_ompi.F90 > sion_f90_ompi.f90
+ sion_f90_ompi.mod : sion_f90_ompi.o
+ sion_f90_ompi.o : sion_f90_ompi.f90 $(SION_HDRS)
+- $(MPIF90) $(F90FLAGS) -c sion_f90_ompi.f90
++ $(MPIF90) $(F90FLAGS) $(F90MPIFLAGS) -c sion_f90_ompi.f90
+
+
+
diff --git a/sys-cluster/sionlib/metadata.xml
b/sys-cluster/sionlibl/metadata.xml
similarity index 97%
copy from sys-cluster/sionlib/metadata.xml
copy to sys-cluster/sionlibl/metadata.xml
index df4593cce..32002cf2d 100644
--- a/sys-cluster/sionlib/metadata.xml
+++ b/sys-cluster/sionlibl/metadata.xml
@@ -30,6 +30,5 @@ SIONlib provides two different interfaces: one for parallel
access (with impleme
<flag name="parutils">Enable compilation of parutils (used for
benchmarking)</flag>
<flag name="pthreads">configure SIONlib to use pthreads for
locking</flag>
<!--<flag name="sionfwd">enable I/O forwarding with
SIONfwd</flag>-->
- <flag name="tools">Build the tooling version instead</flag>
</use>
</pkgmetadata>
diff --git a/sys-cluster/sionlib/sionlib-1.7.7.ebuild
b/sys-cluster/sionlibl/sionlibl-1.7.7.ebuild
similarity index 85%
rename from sys-cluster/sionlib/sionlib-1.7.7.ebuild
rename to sys-cluster/sionlibl/sionlibl-1.7.7.ebuild
index e00956e3a..1e2156aa5 100644
--- a/sys-cluster/sionlib/sionlib-1.7.7.ebuild
+++ b/sys-cluster/sionlibl/sionlibl-1.7.7.ebuild
@@ -12,16 +12,13 @@ inherit docs flag-o-matic fortran-2 python-any-r1
toolchain-funcs
DESCRIPTION="Scalable I/O library for parallel access to task-local files"
HOMEPAGE="https://www.fz-juelich.de/ias/jsc/EN/Expertise/Support/Software/SIONlib/_node.html"
-SRC_URI="
- !tools? (
http://apps.fz-juelich.de/jsc/sionlib/download.php?version=${PV} -> ${P}.tar.gz
)
- tools? (
http://apps.fz-juelich.de/jsc/sionlib/download.php?version=${PV}l ->
${PN}l-${PV}.tar.gz )
-"
-S="${WORKDIR}/${PN}"
+SRC_URI="http://apps.fz-juelich.de/jsc/sionlib/download.php?version=${PV}l ->
${PN}l-${PV}.tar.gz"
+S="${WORKDIR}/sionlib"
LICENSE="BSD"
SLOT="0"
KEYWORDS="~amd64"
-IUSE="+cxx debug doc examples +fortran +mpi +ompi +openmp +parutils +pthreads
python tools"
+IUSE="+cxx debug doc examples +fortran +mpi +ompi +openmp +parutils +pthreads
python"
#TODO: cuda sionfwd msa
#--enable-sionfwd=/path/to/sionfwd
#--msa=(hostname-regex|deep-est-sdv)] MSA aware collective operations for the
given system
@@ -103,6 +100,20 @@ src_install() {
rm -r "${T}/prefix/usr/examples" || die
fi
+ insinto "/usr/include/sionlibl"
+ doins -r "${T}"/prefix/usr/include/*
+ rm -r "${T}/prefix/usr/include" || die
+
+ exeinto "/usr/libexec/${PN}"
+ doexe "${T}"/prefix/usr/bin/*partest
+ rm "${T}"/prefix/usr/bin/*partest || die
+
+ for b in "${T}"/prefix/usr/bin/sion* ; do
+ n=$(basename "${b}")
+ newbin "${T}/prefix/usr/bin/${n}" "l${n}"
+ rm "${b}" || die
+ done
+
# move 64 bit libraries to lib64
libs64=( "${T}"/prefix/usr/lib/*64* )
if [[ ${#libs64[@]} -gt 0 ]]; then