sys-cluster/clusteringsuite: new package

Package-Manager: Portage-3.0.18, Repoman-3.0.3
Signed-off-by: Alessandro Barbieri <lssndrbarbieri@gmail.com>
This commit is contained in:
Alessandro Barbieri
2021-04-26 09:14:55 +02:00
parent c123aa26f5
commit 0534a90292
4 changed files with 257 additions and 0 deletions

View File

@@ -0,0 +1 @@
DIST clusteringsuite-2.6.9-src.tar.bz2 8081023 BLAKE2B d53e08a51e0a5a2d487bc4413c19d802804b7ae79b5f1e7c466ba2c37e36d90864a4629f51a98ca5caa83f4cc0a3ca8c74f5652c044c08591c65f3b50acf13d2 SHA512 80903e3d2c018e8ed23874715f7ffc1706ac5d9dcd0826c75bb07c973c28fa9755d4c130021abd6e969e983fbe23463be7361bb29b6d1ab04596ba4f987b1b6a

View File

@@ -0,0 +1,103 @@
# Copyright 2019-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( pypy3 python3_{7,8,9} )
inherit python-any-r1
DESCRIPTION="Automatically expose the main performance trends in applications' computation structure"
HOMEPAGE="
https://tools.bsc.es/cluster-analysis
https://github.com/bsc-performance-tools/clustering-suite
"
SRC_URI="https://ftp.tools.bsc.es/clusteringsuite/clusteringsuite-${PV}-src.tar.bz2"
LICENSE="LGPL-2.1+"
SLOT="0"
KEYWORDS="~amd64"
IUSE="doc mpi old-pcfparser"
#TODO: muster treedbscan
#TODO: unbundle ANN
#PATCHES=( "${FILESDIR}/respect-flags.patch" )
RDEPEND="
dev-libs/boost:=
sci-libs/ann
mpi? ( virtual/mpi )
"
# treedbscan? (
# dev-libs/boost[threads]:=
# dev-libs/gmp
# dev-libs/mpfr
# sci-mathematics/cgal
# sys-cluster/synapse
#)
DEPEND="
${RDEPEND}
${PYTHON_DEPS}
"
BDEPEND="doc? ( app-doc/doxygen )"
src_configure() {
local myconf=(
--disable-static
--disable-static-boost
--enable-shared
--with-boost="${EPREFIX}/usr"
--with-pic
$(use_enable old-pcfparser)
)
if use mpi; then
myconf+=( "--with-mpi=${EPREFIX}/usr" )
else
myconf+=( "--without-mpi" )
fi
# if use muster; then
# myconf+=( "--with-muster=${EPREFIX}/usr" )
# else
myconf+=( "--without-muster" )
# fi
# if use treedbscan; then
# myconf+=( "--enable-treedbscan" )
# myconf+=( "--with-cgal=${EPREFIX}/usr" )
# myconf+=( "--with-gmp=${EPREFIX}/usr" )
# myconf+=( "--with-mpfr=${EPREFIX}/usr" )
# myconf+=( "--with-synapse=${EPREFIX}/usr" )
# else
myconf+=( "--without-cgal" )
myconf+=( "--without-gmp" )
myconf+=( "--without-mpfr" )
myconf+=( "--without-synapse" )
# fi
econf "${myconf[@]}" || die
}
src_compile() {
export VARTEXFONTS="${T}/fonts"
if use doc ; then
pushd doc || die
emake build-documentation
popd
fi
default
}
src_install() {
MAKEOPTS="-j1" DESTDIR="${D}" emake install
cd doc || die
dodoc -r *.pdf
rm "${ED}/usr/share/doc/clusteringsuite_manual.pdf" || die
mv "${ED}/usr/share/example" "${ED}/usr/share/doc/${PF}/examples" || die
docompress -x "/usr/share/doc/${PF}/examples"
find "${ED}" -name '*.la' -delete || die
}

View File

@@ -0,0 +1,134 @@
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

View File

@@ -0,0 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>lssndrbarbieri@gmail.com</email>
<name>Alessandro Barbieri</name>
</maintainer>
<use>
<!--<flag name="maintainer-mode">enable make rules and dependencies not useful (and sometimes confusing) to the casual installer</flag>-->
<flag name="mpi">enable mpi for distributed version</flag>
<!--<flag name="muster">enable support for Muster algorithms</flag>-->
<flag name="old-pcfparser">enable compilation with old pcfparser</flag>
<!--<flag name="treedbscan">enable compilation of TreeDBSCAN support for <pkg>sys-cluster/extrae</pkg></flag>-->
</use>
<upstream>
<bugs-to>https://github.com/bsc-performance-tools/clustering-suite/issues</bugs-to>
<remote-id type="github">bsc-performance-tools/clustering-suite</remote-id>
</upstream>
</pkgmetadata>