commit: c27e0053fa68318c60dfb94d9c2728abd5086b35 Author: Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com> AuthorDate: Sun Jul 25 20:17:19 2021 +0000 Commit: Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com> CommitDate: Sun Jul 25 20:18:55 2021 +0000 URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=c27e0053
sys-cluster/*: merge sionlibl with sionlib Signed-off-by: Alessandro Barbieri <lssndrbarbieri <AT> gmail.com> sys-cluster/sionlib/Manifest | 3 +- sys-cluster/sionlib/files/respect-flags.patch | 134 --------------------- .../files/sionlib-respect-flags.patch} | 0 sys-cluster/sionlib/metadata.xml | 3 +- sys-cluster/sionlib/sionlib-1.7.6-r1.ebuild | 117 ------------------ .../sionlib-1.7.7.ebuild} | 9 +- sys-cluster/sionlibl/Manifest | 1 - sys-cluster/sionlibl/metadata.xml | 34 ------ 8 files changed, 10 insertions(+), 291 deletions(-) diff --git a/sys-cluster/sionlib/Manifest b/sys-cluster/sionlib/Manifest index 9046f5a2b..8fc118f36 100644 --- a/sys-cluster/sionlib/Manifest +++ b/sys-cluster/sionlib/Manifest @@ -1 +1,2 @@ -DIST sionlib-1.7.6.tar.gz 486418 BLAKE2B 885eb2012ec6da031f5ae8b093ee4f3e5bbe31c9b24a11576f2ad01b32ddd8a85051565034f0e6c756af51409fb89f9c79f80b35c8337f2dc7912cb9e54d909b SHA512 afdd8520f489bc940edc51ffa636a25cad778de07bfbb21d2bd2ab767e57b16044990d85ef44d2e6482a376196f5c6a2a6f1a71556dd987f8094dd396a971d1c +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/files/respect-flags.patch b/sys-cluster/sionlib/files/respect-flags.patch deleted file mode 100644 index 9ff5bd384..000000000 --- a/sys-cluster/sionlib/files/respect-flags.patch +++ /dev/null @@ -1,134 +0,0 @@ -diff '--color=auto' -ru a/config/determine-cc.sh b/config/determine-cc.sh ---- a/config/determine-cc.sh 2021-04-25 01:09:35.175990108 +0200 -+++ b/config/determine-cc.sh 2021-04-25 01:10:02.876433713 +0200 -@@ -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!" -diff '--color=auto' -ru a/config/select-compiler.sh b/config/select-compiler.sh ---- a/config/select-compiler.sh 2021-04-25 01:09:35.175990108 +0200 -+++ b/config/select-compiler.sh 2021-04-25 01:10:26.882817842 +0200 -@@ -9,7 +9,7 @@ - CPS="" - COMP="" - --GNU=`which gcc 2> /dev/null` -+GNU="${CC}" - if [ -n "${GNU}" ] - then - NCPS=`expr ${NCPS} + 1` -diff '--color=auto' -ru a/config/select-mpi.sh b/config/select-mpi.sh ---- a/config/select-mpi.sh 2021-04-25 01:09:35.175990108 +0200 -+++ b/config/select-mpi.sh 2021-04-25 01:12:41.269962840 +0200 -@@ -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 -diff '--color=auto' -ru a/mf/Makefile.defs.linux-gomp b/mf/Makefile.defs.linux-gomp ---- a/mf/Makefile.defs.linux-gomp 2021-04-25 01:09:35.119989211 +0200 -+++ b/mf/Makefile.defs.linux-gomp 2021-04-25 01:52:32.378951608 +0200 -@@ -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 - -diff '--color=auto' -ru a/src/fortraninterface/Makefile b/src/fortraninterface/Makefile ---- a/src/fortraninterface/Makefile 2021-04-25 01:09:35.141989563 +0200 -+++ b/src/fortraninterface/Makefile 2021-04-25 01:23:48.055976593 +0200 -@@ -109,7 +110,7 @@ - $(CPP) $(F90FLAGS) $(F90FLAGS_CPP) -P -E -I ../lib sion_f90.F90 > sion_f90.f90 - sion_f90.mod : sion_f90.o - sion_f90.o : sion_f90.f90 sion_f77.h $(SION_HDRS) -- $(F90) -c sion_f90.f90 -+ $(F90) $(F90FLAGS) -c sion_f90.f90 - - sion_f90_omp.o: sion_f90.o - sion_f90_mpi.o: sion_f90.o -@@ -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) -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) -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) -c sion_f90_ompi.f90 -+ $(MPIF90) $(F90FLAGS) $(F90MPIFLAGS) -c sion_f90_ompi.f90 - - - diff --git a/sys-cluster/sionlibl/files/sionlibl-respect-flags.patch b/sys-cluster/sionlib/files/sionlib-respect-flags.patch similarity index 100% rename from sys-cluster/sionlibl/files/sionlibl-respect-flags.patch rename to sys-cluster/sionlib/files/sionlib-respect-flags.patch diff --git a/sys-cluster/sionlib/metadata.xml b/sys-cluster/sionlib/metadata.xml index 55c6754ef..df4593cce 100644 --- a/sys-cluster/sionlib/metadata.xml +++ b/sys-cluster/sionlib/metadata.xml @@ -20,7 +20,7 @@ SIONlib provides two different interfaces: one for parallel access (with impleme </longdescription> <use> <!--<flag name="cuda">enable CUDA aware interface</flag>--> - <flag name="cxx">Disable C++ support</flag> + <flag name="cxx">Enable C++ support</flag> <flag name="debug">enable SIONlib debug</flag> <flag name="fortran">Enable Fortran support</flag> <flag name="mpi">enable mpi</flag> @@ -30,5 +30,6 @@ 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.6-r1.ebuild b/sys-cluster/sionlib/sionlib-1.7.6-r1.ebuild deleted file mode 100644 index a63c7bc0f..000000000 --- a/sys-cluster/sionlib/sionlib-1.7.6-r1.ebuild +++ /dev/null @@ -1,117 +0,0 @@ -# Copyright 2019-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -DOCS_BUILDER="doxygen" -DOCS_CONFIG_NAME="doxy" -FORTRAN_NEEDED="fortran" -PYTHON_COMPAT=( pypy3 python3_{7,8,9} ) -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="http://apps.fz-juelich.de/jsc/sionlib/download.php?version=${PV} -> ${P}.tar.gz" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="~amd64" -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 - -PATCHES=( "${FILESDIR}/respect-flags.patch" ) - -RDEPEND=" - mpi? ( virtual/mpi ) - ompi? ( - || ( sys-devel/gcc:*[openmp] sys-libs/libomp ) - virtual/mpi - ) - openmp? ( || ( sys-devel/gcc:*[openmp] sys-libs/libomp ) ) -" -DEPEND=" - ${RDEPEND} - ${PYTHON_DEPS} -" -S="${WORKDIR}/${PN}" - -pkg_setup() { - FORTRAN_NEED_OPENMP=0 - use openmp && FORTRAN_NEED_OPENMP=1 - use ompi && FORTRAN_NEED_OPENMP=1 - - fortran-2_pkg_setup -} - -src_prepare() { - default - sed 's/CXXFLAGS = $(CXXFLAGS)/CXXFLAGS = /' -i test/serial/Makefile || die - sed 's/`gcc/`${CC}/' -i config/determine-compiler-version.sh || die -} - -src_configure() { - tc-export AR CC CXX F77 FC - export MPICC=/usr/bin/mpicc - export MPICXX=/usr/bin/mpicxx - export MPIF77=/usr/bin/mpif77 - export MPIF90=/usr/bin/mpif90 - export F90=$(tc-getFC) - export OMPF77=$(tc-getF77) - export OMPF90=$(tc-getFC) - - append-fflags -fallow-argument-mismatch - - local myconf=( - --disable-mic - --prefix="${T}/prefix/usr" - ) - - #custom configure? - use cxx || myconf+=( "--disable-cxx" ) - use fortran || myconf+=( "--disable-fortran" ) - use mpi || myconf+=( "--disable-mpi" ) - use ompi || myconf+=( "--disable-ompi" ) - use openmp || myconf+=( "--disable-omp" ) - use parutils || myconf+=( "--disable-parutils" ) - use pthreads || myconf+=( "--disable-pthreads" ) - - use debug && myconf+=( "--enable-debug" ) - use python && myconf+=( "--enable-python=3" ) - - ./configure "${myconf[@]}" || die -} - -src_compile() { - export VARTEXFONTS="${T}/fonts" - emake C_AR=$(tc-getAR) F90=$(tc-getFC) - docs_compile -} - -src_install() { - mkdir -p "${T}/prefix/usr/share/doc/${PF}" || die - default - - if use examples ; then - mv "${T}/prefix/usr/examples" "${T}/prefix/usr/share/doc/${PF}/" || die - else - rm -r "${T}/prefix/usr/examples" || die - fi - - # move 64 bit libraries to lib64 - libs64=( "${T}"/prefix/usr/lib/*64* ) - if [[ ${#libs64[@]} -gt 0 ]]; then - mkdir "${T}/prefix/usr/lib64" || die - for l in "${libs64[@]}" ; do - mv "${l}" "${T}/prefix/usr/lib64/" || die - done - fi - - rsync -ravXHA "${T}/prefix/usr" "${ED}/" || die - docompress -x "/usr/share/doc/${PF}/examples" - - #TODO: build shared libs - #find "${ED}" -name '*.a' -delete || die - find "${ED}" -name '*.la' -delete || die -} diff --git a/sys-cluster/sionlibl/sionlibl-1.7.7.ebuild b/sys-cluster/sionlib/sionlib-1.7.7.ebuild similarity index 91% rename from sys-cluster/sionlibl/sionlibl-1.7.7.ebuild rename to sys-cluster/sionlib/sionlib-1.7.7.ebuild index 45b166425..e00956e3a 100644 --- a/sys-cluster/sionlibl/sionlibl-1.7.7.ebuild +++ b/sys-cluster/sionlib/sionlib-1.7.7.ebuild @@ -12,13 +12,16 @@ 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="http://apps.fz-juelich.de/jsc/sionlib/download.php?version=${PV}l -> ${P}.tar.gz" -S="${WORKDIR}/sionlib" +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}" LICENSE="BSD" SLOT="0" KEYWORDS="~amd64" -IUSE="+cxx debug doc examples +fortran +mpi +ompi +openmp +parutils +pthreads python" +IUSE="+cxx debug doc examples +fortran +mpi +ompi +openmp +parutils +pthreads python tools" #TODO: cuda sionfwd msa #--enable-sionfwd=/path/to/sionfwd #--msa=(hostname-regex|deep-est-sdv)] MSA aware collective operations for the given system diff --git a/sys-cluster/sionlibl/Manifest b/sys-cluster/sionlibl/Manifest deleted file mode 100644 index 8ce6ed0a6..000000000 --- a/sys-cluster/sionlibl/Manifest +++ /dev/null @@ -1 +0,0 @@ -DIST sionlibl-1.7.7.tar.gz 490515 BLAKE2B 76971dd6d80222144b40da345d58311911aab09c6a5250b85d4a2731d2f93cdbd39d87dd6bbafdeaba88f06603105076267f6956417916f118ec45e07fa59269 SHA512 6ef46a0905552c558595bf6b72225a290d73dc87fa33c9862de5e4bd4d683792437646f7b4ab8a463b4a50d1b4a79aec96a66e577e815de3f23e9274be2681af diff --git a/sys-cluster/sionlibl/metadata.xml b/sys-cluster/sionlibl/metadata.xml deleted file mode 100644 index 55c6754ef..000000000 --- a/sys-cluster/sionlibl/metadata.xml +++ /dev/null @@ -1,34 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> -<pkgmetadata> - <maintainer type="person"> - <email>lssndrbarbi...@gmail.com</email> - <name>Alessandro Barbieri</name> - </maintainer> - <longdescription lang="en"> -SIONlib is a library for writing and reading data from several thousands of parallel tasks into/from one or a small number of physical files. Only the open and close functions are collective while file access can be performed independently. - -SIONlib can be used as a replacement for standard I/O APIs (e.g. POSIX) that are used to access distinct files from every parallel process. SIONlib will bundle the data into one or few files in a coordinated fashion in order to sidestep sequentialising mechanism in the file system. At the same time, the task-per-file picture is maintained for the application, every process has access to its logical file only. File access is performed using SIONlib equivalents to standard C-I/O functionality (fwrite becomes sion_write, fseek becomes sion_seek, etc.) which have similar semantics as their C counterparts. - -Internally, the physical files are sub-divided into sequences of blocks, which themselves contain one chunk of data belonging to every logical file. In case the amount to be written to a file is known up front, it can optionally be specified when opening the file and the sequence of blocks collapses into a single block with one chunk per task containing all of its data. If a chunk size cannot be specified ahead of time, a sensible default is chosen and reads and writes that cross chunk boundaries are handled transparently by SIONlib. - -SIONlib also uses information about the block size of the underlying file system, because access to the same block from different tasks often leads to contention. - -Both, the estimated chunk size and file system block size are used to align individual chunks with file system blocks. Ensuring contention-free access to file system blocks enables efficient parallel writing and reading. - -SIONlib provides two different interfaces: one for parallel access (with implementations for different parallel programming technologies such as MPI, OpenMP and hybrid MPI+OpenMP) and one for sequential access which is also used internally by the SIONlib utilities. - </longdescription> - <use> - <!--<flag name="cuda">enable CUDA aware interface</flag>--> - <flag name="cxx">Disable C++ support</flag> - <flag name="debug">enable SIONlib debug</flag> - <flag name="fortran">Enable Fortran support</flag> - <flag name="mpi">enable mpi</flag> - <flag name="python">enable python support</flag> - <flag name="ompi">enable hybrid openmp mpi</flag> - <flag name="openmp">enable openmp</flag> - <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>--> - </use> -</pkgmetadata>