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

Reply via email to