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>

Reply via email to