sys-cluster/clusteringsuite: enforce muster

also prepare for treedbscan if upstream will fix it

Signed-off-by: Alessandro Barbieri <lssndrbarbieri@gmail.com>
This commit is contained in:
Alessandro Barbieri
2021-07-18 23:44:09 +02:00
parent 817566572d
commit 1496acd921
6 changed files with 84 additions and 225 deletions

View File

@@ -1 +1 @@
DIST clusteringsuite-2.6.9-src.tar.bz2 8081023 BLAKE2B d53e08a51e0a5a2d487bc4413c19d802804b7ae79b5f1e7c466ba2c37e36d90864a4629f51a98ca5caa83f4cc0a3ca8c74f5652c044c08591c65f3b50acf13d2 SHA512 80903e3d2c018e8ed23874715f7ffc1706ac5d9dcd0826c75bb07c973c28fa9755d4c130021abd6e969e983fbe23463be7361bb29b6d1ab04596ba4f987b1b6a
DIST clusteringsuite-2.6.9.tar.gz 6964570 BLAKE2B bb4823d9918bc12707ae09d0c1220552b2621bfe39ab67dd67e03fba91036f2c8ed294f54a2bdd659b8bd58925aca02db85eb93986fe69e999e5b2bef915b564 SHA512 9df9ca57fc68b9cd7d17f13c1b915e3422a07c71f060ff2e7a38a31cf6e1aa234b869402bda6b7502c4844e25593156a1bb50714c2d272bafd10cd7690fc17eb

View File

@@ -1,41 +1,47 @@
# Copyright 2019-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
EAPI=7
PYTHON_COMPAT=( pypy3 python3_{8..10} )
inherit python-any-r1
inherit autotools python-any-r1
DESCRIPTION="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"
SRC_URI="https://codeload.github.com/bsc-performance-tools/clustering-suite/tar.gz/refs/tags/${PV} -> ${P}.tar.gz"
S="${WORKDIR}/clustering-suite-${PV}"
LICENSE="LGPL-2.1+"
SLOT="0"
KEYWORDS="~amd64"
IUSE="doc mpi muster"
#TODO: treedbscan
IUSE="doc mpi muster" # treedbscan
PATCHES=( "${FILESDIR}/${P}-unbundle-libANN.patch" )
PATCHES=(
"${FILESDIR}/${P}-unbundle-libANN.patch"
"${FILESDIR}/${P}-do-not-add-boost-thread-ldpath.patch"
)
RDEPEND="
app-arch/bzip2
dev-libs/boost:=
sci-libs/ann
sys-cluster/libbsctools
mpi? ( virtual/mpi )
muster? ( sys-cluster/muster )
"
# https://github.com/bsc-performance-tools/clustering-suite/issues/8
# treedbscan? (
# dev-libs/boost[threads]:=
# dev-libs/boost:=[threads]
# dev-libs/gmp
# dev-libs/mpfr
# sci-mathematics/cgal
# sci-mathematics/cgal[shared]
# sys-cluster/synapse
#)
# )
#"
DEPEND="
${RDEPEND}
@@ -44,9 +50,21 @@ DEPEND="
BDEPEND="doc? ( app-doc/doxygen )"
src_prepare() {
use muster && PATCHES+=( "${FILESDIR}/${P}-force-muster-discovery.patch" )
rm -r src/libANN || die
# rm -r pcfparser_svn3942 || die
default
sed -e "s|iterate/lib|iterate/$(get_libdir)|g" -i config/gmp_mpfr.m4 || die
sed -e "s|dir/lib|dir/$(get_libdir)|g" -i config/ax_muster.m4 || die
#from bootstrap
echo "#*********************************************************************" >> configure.ac || die
echo "#'configure.ac.' automatically generated by 'autogen.sh' do not modify" >> configure.ac || die
echo "#*********************************************************************" >> configure.ac || die
echo "" >> configure.ac || die
sed s/@@VERSION_NUMBER@@/${PV}/ < configure.ac.template >> configure.ac || die
AT_M4DIR="config" eautoreconf
}
src_configure() {

View File

@@ -1,103 +0,0 @@
# 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="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,15 @@
--- a/configure.ac.template
+++ b/configure.ac.template
@@ -417,12 +417,10 @@
if test "x$BOOST_THREAD_LIBS" != "x"; then
- CLUSTERING_CLEAN_LDFLAGS="${CLUSTERING_CLEAN_LDFLAGS} -L${BOOST_THREAD_LDPATH}"
CLUSTERING_LIBS="${CLUSTERING_LIBS} ${BOOST_THREAD_LIBS}"
AX_CHECK_IS_SYSTEM_LIBRARY_PATH([${BOOST_THREAD_LDPATH}],[],
[
- CLUSTERING_LDFLAGS="${CLUSTERING_LDFLAGS} -L${BOOST_THREAD_LDPATH} -R${BOOST_THREAD_LDPATH}"
CLUSTERING_LD_LIBRARY_PATH="${CLUSTERING_LD_LIBRARY_PATH}:${BOOST_THREAD_LDPATH}"
])
else

View File

@@ -0,0 +1,37 @@
--- a/config/ax_muster.m4
+++ b/config/ax_muster.m4
@@ -6,21 +6,11 @@
[--with-muster=MUSTER_DIR],
[sets the given directory as location of muster includes and libs (needs Boost libraries)]
),
- [muster_dir="$withval"]
- [muster_dir="/usr)"]
+ [muster_dir="$withval"],
+ [muster_dir="/usr"]
)
- ac_muster_installed="yes"
-
- if test ! -f $muster_dir/include/partition.h; then
- ac_muster_installed="no"
- fi
-
- if test ! -f $muster_dir/lib/libmuster.so; then
- ac_muster_installed="no"
- fi
-
- if test "x${ac_muster_enabled}" = "xyes"; then
+ ac_muster_installed="yes"
MUSTER_CPPFLAGS="-I$muster_dir/include"
MUSTER_LDFLAGS="-L$muster_dir/lib -R$muster_dir/lib"
@@ -36,9 +26,5 @@
# execute ACTION-IF-FOUND
ifelse([$1], , :, [$1])
- else
- # execute ACTION-IF-NOT-FOUND
- ifelse([$2], , :, [$2])
- fi
])

File diff suppressed because one or more lines are too long