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