commit: a539a82c009b5bca9bb9879fa5828bc1be3333f6 Author: Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com> AuthorDate: Mon Jul 26 16:02:02 2021 +0000 Commit: Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com> CommitDate: Mon Jul 26 16:06:19 2021 +0000 URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=a539a82c
sys-cluster/clusteringsuite: update EAPI 7 -> 8 Signed-off-by: Alessandro Barbieri <lssndrbarbieri <AT> gmail.com> profiles/package.use.mask | 12 ++ .../clusteringsuite-2.6.9-r3.ebuild | 43 +++---- ...9-Build-fix-for-GCC-11-invocable-as-const.patch | 11 ++ .../clusteringsuite-unbundle-libbsctools.patch | 123 +++++++++++++++++++++ sys-cluster/clusteringsuite/metadata.xml | 2 +- 5 files changed, 170 insertions(+), 21 deletions(-) diff --git a/profiles/package.use.mask b/profiles/package.use.mask new file mode 100644 index 000000000..f25023ca3 --- /dev/null +++ b/profiles/package.use.mask @@ -0,0 +1,12 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Alessandro Barbieri <[email protected]> (2021-07-26) +# treedbscan needs old cgal +# https://github.com/bsc-performance-tools/clustering-suite/issues/8 +sys-cluster/clusteringsuite treedbscan + +# Alessandro Barbieri <[email protected]> (2021-07-26) +# current muster doesn't provide density.h +# https://github.com/bsc-performance-tools/clustering-suite/issues/9 +sys-cluster/clusteringsuite muster diff --git a/sys-cluster/clusteringsuite/clusteringsuite-2.6.9-r3.ebuild b/sys-cluster/clusteringsuite/clusteringsuite-2.6.9-r3.ebuild index efb4a4090..82532ed99 100644 --- a/sys-cluster/clusteringsuite/clusteringsuite-2.6.9-r3.ebuild +++ b/sys-cluster/clusteringsuite/clusteringsuite-2.6.9-r3.ebuild @@ -1,7 +1,7 @@ # Copyright 2019-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 PYTHON_COMPAT=( pypy3 python3_{8..10} ) @@ -18,30 +18,32 @@ S="${WORKDIR}/clustering-suite-${PV}" LICENSE="LGPL-2.1+" SLOT="0" KEYWORDS="~amd64" -IUSE="doc mpi muster" # treedbscan +IUSE="doc mpi muster treedbscan" PATCHES=( "${FILESDIR}/${P}-unbundle-libANN.patch" "${FILESDIR}/${P}-do-not-add-boost-thread-ldpath.patch" + "${FILESDIR}/${P}-Build-fix-for-GCC-11-invocable-as-const.patch" ) +# attempt at unbundling libbsctools failed +# current libbsctools seems to be too old (missing headers) +# "${FILESDIR}/${PN}-unbundle-libbsctools.patch" RDEPEND=" app-arch/bzip2 dev-libs/boost:= sci-libs/ann - sys-cluster/libbsctools + !sys-cluster/libbsctools mpi? ( virtual/mpi ) muster? ( sys-cluster/muster ) + treedbscan? ( + dev-libs/boost:=[threads] + dev-libs/gmp + dev-libs/mpfr + sci-mathematics/cgal[shared(-)] + sys-cluster/synapse + ) " -# https://github.com/bsc-performance-tools/clustering-suite/issues/8 -# treedbscan? ( -# dev-libs/boost:=[threads] -# dev-libs/gmp -# dev-libs/mpfr -# sci-mathematics/cgal[shared] -# sys-cluster/synapse -# ) -#" DEPEND=" ${RDEPEND} @@ -53,6 +55,7 @@ src_prepare() { use muster && PATCHES+=( "${FILESDIR}/${P}-force-muster-discovery.patch" ) rm -r src/libANN || die # rm -r pcfparser_svn3942 || die +# rm -r src/libParaverTraceParser || 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 @@ -88,18 +91,18 @@ src_configure() { 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 + 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 + fi econf "${myconf[@]}" || die } diff --git a/sys-cluster/clusteringsuite/files/clusteringsuite-2.6.9-Build-fix-for-GCC-11-invocable-as-const.patch b/sys-cluster/clusteringsuite/files/clusteringsuite-2.6.9-Build-fix-for-GCC-11-invocable-as-const.patch new file mode 100644 index 000000000..85d19e9bd --- /dev/null +++ b/sys-cluster/clusteringsuite/files/clusteringsuite-2.6.9-Build-fix-for-GCC-11-invocable-as-const.patch @@ -0,0 +1,11 @@ +--- a/src/libSharedComponents/SequenceScore.hpp ++++ b/src/libSharedComponents/SequenceScore.hpp +@@ -73,7 +73,7 @@ static const cluster_id_t SEQUENCE_GAP = NOISE_CLUSTERID-1; + struct TraceObjectsCompare + { + bool operator()(const pair<task_id_t, thread_id_t>& obj1, +- const pair<task_id_t, thread_id_t>& obj2) ++ const pair<task_id_t, thread_id_t>& obj2) const + { + if (obj1.first < obj2.first) + { diff --git a/sys-cluster/clusteringsuite/files/clusteringsuite-unbundle-libbsctools.patch b/sys-cluster/clusteringsuite/files/clusteringsuite-unbundle-libbsctools.patch new file mode 100644 index 000000000..1746a8423 --- /dev/null +++ b/sys-cluster/clusteringsuite/files/clusteringsuite-unbundle-libbsctools.patch @@ -0,0 +1,123 @@ +--- a/configure.ac.template ++++ b/configure.ac.template +@@ -533,17 +533,12 @@ + AC_SUBST(CLUSTERING_LIBS) + AC_SUBST(CLUSTERING_LD_LIBRARY_PATH) + +-dnl NOTE: the 'pcfparser_svn3942' is a temporary dependency until the new +-dnl 'common_files' package is defined +- + AC_CONFIG_FILES([ + Makefile + include/Makefile + common_utilities/Makefile +-pcfparser_svn3942/Makefile + src/Makefile + src/BasicClasses/Makefile +-src/libParaverTraceParser/Makefile + src/libSharedComponents/Makefile + src/libSharedComponents/kalign2/Makefile + src/libClustering/gmeans/Makefile +--- a/Makefile.am ++++ b/Makefile.am +@@ -8,9 +8,7 @@ + + ## -I@common_filesdir@ + +-## The 'pcfparser_svn3942' and 'common_utilities' directory will +-## be merged in the new 'common-files' package +-SUBDIRS = include pcfparser_svn3942 common_utilities src scripts doc ++SUBDIRS = include common_utilities src scripts doc + + instdir = $(includedir) + +--- a/src/ClustersSequenceScore/Makefile.am ++++ b/src/ClustersSequenceScore/Makefile.am +@@ -9,8 +9,7 @@ + @CLUSTERING_CPPFLAGS@\ + -I$(top_srcdir)/src/libClustering\ + -I$(top_srcdir)/src/libTraceClustering\ +- -I$(top_srcdir)/src/libSharedComponents\ +- -I$(top_srcdir)/pcfparser_svn3942 ++ -I$(top_srcdir)/src/libSharedComponents + + ClustersSequenceScore_bin_LDFLAGS = @CLUSTERING_LDFLAGS@ + +--- a/src/libDistributedClustering/Makefile.am ++++ b/src/libDistributedClustering/Makefile.am +@@ -30,8 +30,6 @@ + libDistributedClustering_la_CPPFLAGS = @CLUSTERING_CPPFLAGS@\ + -I$(top_srcdir)/src/libClustering\ + -I$(top_srcdir)/src/libSharedComponents\ +- -I$(top_srcdir)/pcfparser_svn3942\ +- -I$(top_srcdir)/src/libParaverTraceParser\ + -I/usr/include/ANN + + libDistributedClustering_la_LDFLAGS = @CLUSTERING_LDFLAGS@ @CLUSTERING_CPPFLAGS@ +--- a/src/libSharedComponents/Makefile.am ++++ b/src/libSharedComponents/Makefile.am +@@ -75,21 +75,12 @@ + + libSharedComponents_la_CPPFLAGS = @CLUSTERING_CPPFLAGS@\ + -I${top_srcdir}/src/libClustering\ +- -I${top_srcdir}/src/libParaverTraceParser\ + -I/usr/include/ANN +-if MAKE_OLD_PCFPARSER +- libSharedComponents_la_CPPFLAGS += -I${top_srcdir}/pcfparser_svn3942/old +-else +- libSharedComponents_la_CPPFLAGS += -I${top_srcdir}/pcfparser_svn3942 +-endif +- + + libSharedComponents_la_LDFLAGS = @CLUSTERING_LDFLAGS@ @CLUSTERING_CPPFLAGS@ + + libSharedComponents_la_LIBADD = \ +- $(top_builddir)/pcfparser_svn3942/libparavertraceconfig.la \ + $(top_builddir)/src/libClustering/libClustering.la \ +- $(top_builddir)/src/libParaverTraceParser/libParaverTraceParser.la \ + ./kalign2/libKalign2.la \ + @CLUSTERING_LIBS@ + +--- a/src/libTraceClustering/Makefile.am ++++ b/src/libTraceClustering/Makefile.am +@@ -9,9 +9,7 @@ + -I$(top_srcdir)/src/BasicClasses \ + -I/usr/include/ANN \ + -I$(top_srcdir)/src/libSharedComponents \ +- -I$(top_srcdir)/src/libParaverTraceParser \ +- -I$(top_srcdir)/common_utilities \ +- -I$(top_srcdir)/pcfparser_svn3942 ++ -I$(top_srcdir)/common_utilities + + instdir = $(includedir) + +@@ -27,9 +25,7 @@ + libTraceClustering_la_CPPFLAGS = @CLUSTERING_CPPFLAGS@\ + -I$(top_srcdir)/src/libClustering\ + -I$(top_srcdir)/src/libSharedComponents\ +- -I$(top_srcdir)/pcfparser_svn3942\ +- -I/usr/include/ANN\ +- -I$(top_srcdir)/src/libParaverTraceParser ++ -I/usr/include/ANN + + libTraceClustering_la_LDFLAGS = @CLUSTERING_CPPFLAGS@ @CLUSTERING_LDFLAGS@ + libTraceClustering_la_LIBADD = \ +@@ -37,8 +33,5 @@ + $(top_builddir)/src/libSharedComponents/libSharedComponents.la \ + @CLUSTERING_LIBS@ + +-## $(top_srcdir)/src/libParaverTraceParser/libParaverTraceParser.la +- +- + + +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -4,7 +4,6 @@ + + SUBDIRS = \ + BasicClasses \ +- libParaverTraceParser \ + libClustering \ + libSharedComponents \ + libTraceClustering \ diff --git a/sys-cluster/clusteringsuite/metadata.xml b/sys-cluster/clusteringsuite/metadata.xml index 90dc13e20..e1713f051 100644 --- a/sys-cluster/clusteringsuite/metadata.xml +++ b/sys-cluster/clusteringsuite/metadata.xml @@ -8,7 +8,7 @@ <use> <flag name="mpi">enable mpi for distributed version</flag> <flag name="muster">enable support for <pkg>sys-cluster/muster</pkg> algorithms</flag> - <!--<flag name="treedbscan">enable compilation of TreeDBSCAN support for <pkg>sys-cluster/extrae</pkg></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>
