public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: sci-libs/bliss/files/, sci-libs/bliss/
@ 2017-01-01 18:17 Christoph Junghans
  0 siblings, 0 replies; 4+ messages in thread
From: Christoph Junghans @ 2017-01-01 18:17 UTC (permalink / raw
  To: gentoo-commits

commit:     561d59645a2e23179b1c1c13e9a262908a1157f1
Author:     Christoph Junghans <junghans <AT> gentoo <DOT> org>
AuthorDate: Sun Jan  1 18:14:44 2017 +0000
Commit:     Christoph Junghans <junghans <AT> gentoo <DOT> org>
CommitDate: Sun Jan  1 18:17:10 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=561d5964

sci-libs/bliss: version bump

Package-Manager: portage-2.3.0

 sci-libs/bliss/Manifest                         |   1 +
 sci-libs/bliss/bliss-0.73.ebuild                |  51 +++
 sci-libs/bliss/files/bliss-0.73-autotools.patch |  99 +++++
 sci-libs/bliss/files/bliss-0.73-error.patch     | 471 ++++++++++++++++++++++++
 sci-libs/bliss/files/bliss-0.73-rehn.patch      |  74 ++++
 sci-libs/bliss/files/bliss-0.73.1.in            |  55 +++
 6 files changed, 751 insertions(+)

diff --git a/sci-libs/bliss/Manifest b/sci-libs/bliss/Manifest
index be3eecb..9cd37a6 100644
--- a/sci-libs/bliss/Manifest
+++ b/sci-libs/bliss/Manifest
@@ -1 +1,2 @@
 DIST bliss-0.72.zip 90970 SHA256 528d192b1e30722fc60f5f12c9d6c12b374d838198ae7f18fb41bedabf735ed3 SHA512 a09b3cea26e3ff5f5733f10bfaadaf6fb5a3f443e1cc306fad16af2f7b4cd97c90652315f911a324d6d71426a3d098cd5c7e5721f69c599fe2e0d6d34caa0ef5 WHIRLPOOL afbc41c04e843d383a2da8d5e26ec2882c847e8e5f1e71c05f884396fcc79eab764df628523336b88e0c6ef4fbf073a52870e2c68ded428002d9391894cb53d6
+DIST bliss-0.73.zip 94108 SHA256 f57bf32804140cad58b1240b804e0dbd68f7e6bf67eba8e0c0fa3a62fd7f0f84 SHA512 30f505945c577d8bcb265a349f5bc9d4dcd96555fa3add285199cdd95ea2710f04409008ff06432daffab62c132e884845eae7f823191407906202862509e05d WHIRLPOOL 08402453515e092604105f17f5889d252c0207fa31a1125e87e04c4792cbeb77b7a585a134fd2b3108e8620bbd643cd8b7826dee8a56cf47908a922298b70ad1

diff --git a/sci-libs/bliss/bliss-0.73.ebuild b/sci-libs/bliss/bliss-0.73.ebuild
new file mode 100644
index 00000000..cf5e839
--- /dev/null
+++ b/sci-libs/bliss/bliss-0.73.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+inherit autotools
+
+SRC_URI="http://www.tcs.hut.fi/Software/${PN}/${P}.zip"
+DESCRIPTION="A Tool for Computing Automorphism Groups and Canonical Labelings of Graphs"
+HOMEPAGE="http://www.tcs.hut.fi/Software/bliss/index.shtml"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc gmp static-libs"
+
+RDEPEND="gmp? ( dev-libs/gmp:0= )"
+
+DEPEND="${RDEPEND}
+	doc? ( app-doc/doxygen )"
+
+#patches from http://pkgs.fedoraproject.org/cgit/rpms/bliss.git/tree/
+PATCHES=(
+	"${FILESDIR}/${P}-error.patch"
+	"${FILESDIR}/${P}-rehn.patch"
+	"${FILESDIR}/${P}-autotools.patch"
+)
+
+src_prepare() {
+	cp "${FILESDIR}/${P}.1.in" "${PN}.1.in" || die
+	rm Makefile || die
+	default
+	eautoreconf
+}
+
+src_configure() {
+	econf $(use_with gmp) $(use_enable static-libs static)
+}
+
+src_compile() {
+	emake all $(usex doc html "")
+}
+
+src_install() {
+	use doc && HTML_DOCS=( "${S}"/html/. )
+	default
+
+	#comes with pkg-config file
+	find "${ED}" -name '*.la' -delete || die
+}

diff --git a/sci-libs/bliss/files/bliss-0.73-autotools.patch b/sci-libs/bliss/files/bliss-0.73-autotools.patch
new file mode 100644
index 00000000..1fe209e
--- /dev/null
+++ b/sci-libs/bliss/files/bliss-0.73-autotools.patch
@@ -0,0 +1,99 @@
+Replace simple Makefile by autotools
+- allow shared library
+- parallel build
+- added pkg-config support
+
+Author: Christoph Junghans <junghans@gentoo.org>
+
+diff -Naur bliss-0.72-fedora/config/.dummy bliss-0.72/config/.dummy
+--- bliss-0.72-fedora/config/.dummy	1969-12-31 17:00:00.000000000 -0700
++++ bliss-0.72/config/.dummy	2013-04-28 14:43:06.143760368 -0600
+@@ -0,0 +1 @@
++Dummy file to make patch create config dir, which is needed for autotools
+diff -Naur bliss-0.72-fedora/configure.ac bliss-0.72/configure.ac
+--- bliss-0.72-fedora/configure.ac	1969-12-31 17:00:00.000000000 -0700
++++ bliss-0.72/configure.ac	2013-04-28 14:40:42.283242722 -0600
+@@ -0,0 +1,32 @@
++AC_PREREQ([2.65])
++AC_INIT([bliss], [0.73], [Tommi.Junttil@kk.fi])
++
++AC_CONFIG_AUX_DIR(config)
++AC_CONFIG_MACRO_DIR(config)
++
++AM_INIT_AUTOMAKE([1.8 foreign])
++
++SHARED_VERSION_INFO="1:0:0"
++AC_SUBST(SHARED_VERSION_INFO)
++
++# Checks for programs.
++AC_PROG_CXX
++
++LT_INIT
++# Checks for libraries.
++AC_ARG_WITH([gmp],
++  [AS_HELP_STRING([--with-gmp], [enable support for GNU Multiple Precision Arithmetic Library @<:@default=check@:>@])],
++  [], [with_readline=no])
++AS_IF([test "x$with_readline" != xno],
++  [AC_CHECK_HEADERS([gmp.h],,AC_MSG_ERROR([Cannot find gmp.h header]))
++    AC_CHECK_LIB([gmp],_init,,AC_MSG_ERROR([Cannot find gmp library]))
++    AC_SUBST([GMP],[-lgmp])
++    [CPPFLAGS="$CPPFLAGS -DBLISS_USE_GMP"]])
++
++AC_CHECK_PROG(DOXYGEN,doxygen,doxygen,no)
++AM_CONDITIONAL(HAVE_DOXYGEN,[test .$DOXYGEN != .no])
++
++AC_CONFIG_FILES([Makefile])
++AC_CONFIG_FILES([bliss.pc])
++AC_CONFIG_FILES([bliss.1])
++AC_OUTPUT
+diff -Naur bliss-0.72-fedora/bliss.pc.in bliss-0.72/bliss.pc.in
+--- bliss-0.72-fedora/bliss.pc.in	1969-12-31 17:00:00.000000000 -0700
++++ bliss-0.72/bliss.pc.in	2013-04-28 14:40:54.223285686 -0600
+@@ -0,0 +1,13 @@
++prefix=@prefix@
++exec_prefix=@exec_prefix@
++libdir=@libdir@
++includedir=@includedir@
++
++Name: bliss
++Description: Library for Computing Automorphism Groups and Canonical Labelings of Graphs 
++URL: http://www.tcs.hut.fi/Software/bliss/index.shtml
++Version: @VERSION@
++Requires: 
++Libs: -L${libdir} -lbliss @GMP@
++Libs.private: -lm
++Cflags: -I${includedir}
+diff -Naur bliss-0.72-fedora/Makefile.am bliss-0.72/Makefile.am
+--- bliss-0.72-fedora/Makefile.am	1969-12-31 17:00:00.000000000 -0700
++++ bliss-0.72/Makefile.am	2013-04-28 14:47:26.944698789 -0600
+@@ -0,0 +1,30 @@
++ACLOCAL_AMFLAGS = -I config
++
++lib_LTLIBRARIES = libbliss.la
++
++libbliss_la_LDFLAGS = -no-undefined -version-info @SHARED_VERSION_INFO@
++libbliss_la_SOURCES = \
++	defs.cc graph.cc partition.cc orbit.cc uintseqhash.cc heap.cc \
++	timer.cc utils.cc bliss_C.cc
++
++pkginclude_HEADERS = \
++	bignum.hh bliss_C.h defs.hh graph.hh heap.hh kqueue.hh kstack.hh \
++	orbit.hh partition.hh timer.hh uintseqhash.hh utils.hh
++
++bin_PROGRAMS = bliss
++bliss_SOURCES = bliss.cc
++bliss_LDADD = libbliss.la
++dist_man1_MANS = bliss.1
++
++pkgconfigdir = $(libdir)/pkgconfig
++pkgconfig_DATA = bliss.pc
++
++html-local: Doxyfile
++if HAVE_DOXYGEN
++	$(DOXYGEN) $(srcdir)/Doxyfile
++else
++	@echo "doxygen was not found, please re-run configure"
++endif
++
++clean-local:
++	-rm -rf html

diff --git a/sci-libs/bliss/files/bliss-0.73-error.patch b/sci-libs/bliss/files/bliss-0.73-error.patch
new file mode 100644
index 00000000..cd0f545
--- /dev/null
+++ b/sci-libs/bliss/files/bliss-0.73-error.patch
@@ -0,0 +1,471 @@
+--- ./bliss.cc.orig	2015-09-01 10:23:10.000000000 -0600
++++ ./bliss.cc	2015-09-04 15:04:09.946602735 -0600
+@@ -276,13 +276,16 @@ main(const int argc, const char** argv)
+   if(opt_canonize == false)
+     {
+       /* No canonical labeling, only automorphism group */
+-      g->find_automorphisms(stats, &report_aut, stdout);
++      if (!g->find_automorphisms(stats, &report_aut, stdout))
++	exit(1);
+     }
+   else
+     {
+       /* Canonical labeling and automorphism group */
+       const unsigned int* cl = g->canonical_form(stats, &report_aut, stdout);
+ 
++      if (!cl)
++	exit(1);
+       fprintf(stdout, "Canonical labeling: ");
+       bliss::print_permutation(stdout, g->get_nof_vertices(), cl, 1);
+       fprintf(stdout, "\n");
+@@ -290,6 +293,8 @@ main(const int argc, const char** argv)
+       if(opt_output_can_file)
+ 	{
+ 	  bliss::AbstractGraph* cf = g->permute(cl);
++	  if (!cf)
++	    exit(1);
+ 	  FILE* const fp = fopen(opt_output_can_file, "w");
+ 	  if(!fp)
+ 	    _fatal("Cannot open '%s' for outputting the canonical form, aborting", opt_output_can_file);
+--- ./bliss_C.cc.orig	2015-09-01 10:23:10.000000000 -0600
++++ ./bliss_C.cc	2015-09-04 15:04:09.945602814 -0600
+@@ -131,7 +131,7 @@ BlissGraph *bliss_permute(BlissGraph *gr
+ }
+ 
+ extern "C"
+-void
++int
+ bliss_find_automorphisms(BlissGraph *graph,
+ 			 void (*hook)(void *user_param,
+ 				      unsigned int n,
+@@ -142,7 +142,8 @@ bliss_find_automorphisms(BlissGraph *gra
+   bliss::Stats s;
+   assert(graph);
+   assert(graph->g);
+-  graph->g->find_automorphisms(s, hook, hook_user_param);
++  if (!graph->g->find_automorphisms(s, hook, hook_user_param))
++    return 0;
+ 
+   if(stats)
+     {
+@@ -154,6 +155,7 @@ bliss_find_automorphisms(BlissGraph *gra
+       stats->nof_generators = s.get_nof_generators();
+       stats->max_level = s.get_max_level();
+     }
++  return 1;
+ }
+ 
+ 
+@@ -173,7 +175,7 @@ bliss_find_canonical_labeling(BlissGraph
+   
+   canonical_labeling = graph->g->canonical_form(s, hook, hook_user_param);
+ 
+-  if(stats)
++  if(canonical_labeling && stats)
+     {
+       stats->group_size_approx = s.get_group_size_approx();
+       stats->nof_nodes = s.get_nof_nodes();
+--- ./bliss_C.h.orig	2015-09-01 10:23:10.000000000 -0600
++++ ./bliss_C.h	2015-09-04 15:04:09.947602656 -0600
+@@ -156,6 +156,7 @@ unsigned int bliss_hash(BlissGraph *grap
+  * The argument \a perm should be an array of
+  * N=bliss::bliss_get_nof_vertices(\a graph) elements describing
+  * a bijection on {0,...,N-1}.
++ * Returns NULL if insufficient memory or internal error.
+  */
+ BlissGraph *bliss_permute(BlissGraph *graph, const unsigned int *perm);
+ 
+@@ -174,8 +175,9 @@ BlissGraph *bliss_permute(BlissGraph *gr
+  * if you want to use the automorphism later, you have to take a copy of it.
+  * Do not call bliss_* functions in the hook.
+  * If \a stats is non-null, then some search statistics are copied there.
++ * \return nonzero if successful, zero if insufficient memory or internal error
+  */
+-void
++int
+ bliss_find_automorphisms(BlissGraph *graph,
+ 			 void (*hook)(void *user_param,
+ 				      unsigned int N,
+@@ -194,6 +196,7 @@ bliss_find_automorphisms(BlissGraph *gra
+  * then bliss_permute() with the returned canonical labeling.
+  * Note that the computed canonical version may depend on the applied version
+  * of bliss.
++ * Returns NULL if insufficient memory or internal error.
+  */
+ const unsigned int *
+ bliss_find_canonical_labeling(BlissGraph *graph,
+--- ./defs.cc.orig	2015-09-01 10:23:12.000000000 -0600
++++ ./defs.cc	2015-09-04 15:04:09.947602656 -0600
+@@ -32,7 +32,6 @@ fatal_error(const char* fmt, ...)
+   vfprintf(stderr, fmt, ap);
+   fprintf(stderr, "\nAborting!\n");
+   va_end(ap);
+-  exit(1);
+ }
+ 
+ }
+--- ./graph.cc.orig	2015-09-01 10:23:10.000000000 -0600
++++ ./graph.cc	2015-09-04 15:04:09.927604245 -0600
+@@ -34,7 +34,10 @@
+ namespace bliss {
+ 
+ #define _INTERNAL_ERROR() fatal_error("%s:%d: internal error",__FILE__,__LINE__)
+-#define _OUT_OF_MEMORY() fatal_error("%s:%d: out of memory",__FILE__,__LINE__)
++#define _OUT_OF_MEMORY(label) do {				\
++    fatal_error("%s:%d: out of memory",__FILE__,__LINE__);	\
++    goto label;							\
++  } while (0)
+ 
+ /*-------------------------------------------------------------------------
+  *
+@@ -279,20 +282,6 @@ AbstractGraph::reset_permutation(unsigne
+     *perm = i;
+ }
+ 
+-bool
+-AbstractGraph::is_automorphism(unsigned int* const perm)
+-{
+-  _INTERNAL_ERROR();
+-  return false;
+-}
+-
+-bool
+-AbstractGraph::is_automorphism(const std::vector<unsigned int>& perm) const
+-{
+-  _INTERNAL_ERROR();
+-  return false;
+-}
+-
+ 
+ 
+ 
+@@ -618,7 +607,7 @@ typedef struct {
+ } PathInfo;
+ 
+ 
+-void
++bool
+ AbstractGraph::search(const bool canonical, Stats& stats)
+ {
+   const unsigned int N = get_nof_vertices();
+@@ -658,7 +647,7 @@ AbstractGraph::search(const bool canonic
+   if(N == 0)
+     {
+       /* Nothing to do, return... */
+-      return;
++      return true;
+     }
+ 
+   /* Initialize the partition ... */
+@@ -696,10 +685,10 @@ AbstractGraph::search(const bool canonic
+    */
+   if(first_path_labeling) free(first_path_labeling);
+   first_path_labeling = (unsigned int*)calloc(N, sizeof(unsigned int));
+-  if(!first_path_labeling) _OUT_OF_MEMORY();
++  if(!first_path_labeling) _OUT_OF_MEMORY(oom1);
+   if(best_path_labeling) free(best_path_labeling);
+   best_path_labeling = (unsigned int*)calloc(N, sizeof(unsigned int));
+-  if(!best_path_labeling) _OUT_OF_MEMORY();
++  if(!best_path_labeling) _OUT_OF_MEMORY(oom2);
+ 
+   /*
+    * Is the initial partition discrete?
+@@ -710,7 +699,7 @@ AbstractGraph::search(const bool canonic
+       update_labeling(best_path_labeling);
+       /* Update statistics */
+       stats.nof_leaf_nodes = 1;
+-      return;
++      return true;
+     }
+ 
+   /*
+@@ -718,20 +707,39 @@ AbstractGraph::search(const bool canonic
+    */
+   if(first_path_labeling_inv) free(first_path_labeling_inv);
+   first_path_labeling_inv = (unsigned int*)calloc(N, sizeof(unsigned int));
+-  if(!first_path_labeling_inv) _OUT_OF_MEMORY();
++  if(!first_path_labeling_inv) _OUT_OF_MEMORY(oom3);
+   if(best_path_labeling_inv) free(best_path_labeling_inv);
+   best_path_labeling_inv = (unsigned int*)calloc(N, sizeof(unsigned int));
+-  if(!best_path_labeling_inv) _OUT_OF_MEMORY();
++  if(!best_path_labeling_inv) _OUT_OF_MEMORY(oom4);
+ 
+   /*
+    * Allocate space for the automorphisms
+    */
+   if(first_path_automorphism) free(first_path_automorphism);
+   first_path_automorphism = (unsigned int*)malloc(N * sizeof(unsigned int));
+-  if(!first_path_automorphism) _OUT_OF_MEMORY();
++  if(!first_path_automorphism) _OUT_OF_MEMORY(oom5);
+   if(best_path_automorphism) free(best_path_automorphism);
+   best_path_automorphism = (unsigned int*)malloc(N * sizeof(unsigned int));
+-  if(!best_path_automorphism) _OUT_OF_MEMORY();
++  if(!best_path_automorphism) {
++    _OUT_OF_MEMORY(oom6);
++  oom6:
++    free(first_path_automorphism);
++    first_path_automorphism = NULL;
++  oom5:
++    free(best_path_labeling_inv);
++    best_path_labeling_inv = NULL;
++  oom4:
++    free(first_path_labeling_inv);
++    first_path_labeling_inv = NULL;
++  oom3:
++    free(best_path_labeling);
++    best_path_labeling = NULL;
++  oom2:
++    free(first_path_labeling);
++    first_path_labeling = NULL;
++  oom1:
++    return false;
++  }
+ 
+   /*
+    * Initialize orbit information so that all vertices are in their own orbits
+@@ -1203,8 +1211,10 @@ AbstractGraph::search(const bool canonic
+ 
+ #if defined(BLISS_VERIFY_EQUITABLEDNESS)
+       /* The new partition should be equitable */
+-      if(!is_equitable())
++      if(!is_equitable()) {
+ 	fatal_error("consistency check failed - partition after refinement is not equitable");
++	return false;
++      }
+ #endif
+ 
+       /*
+@@ -1596,8 +1606,10 @@ AbstractGraph::search(const bool canonic
+ 	
+ #if defined(BLISS_VERIFY_AUTOMORPHISMS)
+ 	/* Verify that it really is an automorphism */
+-	if(!is_automorphism(best_path_automorphism))
++	if(!is_automorphism(best_path_automorphism)) {
+ 	  fatal_error("Best path automorhism validation check failed");
++	  return false;
++	}
+ #endif
+ 	
+ 	unsigned int gca_level_with_first = 0;
+@@ -1664,6 +1676,7 @@ AbstractGraph::search(const bool canonic
+ 
+ 
+       _INTERNAL_ERROR();
++      return false;
+ 
+       
+     handle_first_path_automorphism:
+@@ -1699,8 +1712,10 @@ AbstractGraph::search(const bool canonic
+ 
+ #if defined(BLISS_VERIFY_AUTOMORPHISMS)
+       /* Verify that it really is an automorphism */
+-      if(!is_automorphism(first_path_automorphism))
++      if(!is_automorphism(first_path_automorphism)) {
+ 	fatal_error("First path automorphism validation check failed");
++	return false;
++      }
+ #endif
+       
+       if(opt_use_long_prune)
+@@ -1747,12 +1762,13 @@ AbstractGraph::search(const bool canonic
+   /* Release component recursion data in partition */
+   if(opt_use_comprec)
+     p.cr_free();
++  return true;
+ }
+ 
+ 
+ 
+ 
+-void
++bool
+ AbstractGraph::find_automorphisms(Stats& stats,
+ 				  void (*hook)(void *user_param,
+ 					       unsigned int n,
+@@ -1762,7 +1778,8 @@ AbstractGraph::find_automorphisms(Stats&
+   report_hook = hook;
+   report_user_param = user_param;
+ 
+-  search(false, stats);
++  if (!search(false, stats))
++    return false;
+ 
+   if(first_path_labeling)
+     {
+@@ -1774,6 +1791,7 @@ AbstractGraph::find_automorphisms(Stats&
+       free(best_path_labeling);
+       best_path_labeling = 0;
+     }
++  return true;
+ }
+ 
+ 
+@@ -1788,7 +1806,8 @@ AbstractGraph::canonical_form(Stats& sta
+   report_hook = hook;
+   report_user_param = user_param;
+ 
+-  search(true, stats);
++  if (!search(true, stats))
++    return NULL;
+ 
+   return best_path_labeling;
+ }
+@@ -3479,15 +3498,17 @@ Digraph::initialize_certificate()
+  * Check whether perm is an automorphism.
+  * Slow, mainly for debugging and validation purposes.
+  */
+-bool
++int
+ Digraph::is_automorphism(unsigned int* const perm)
+ {
+   std::set<unsigned int, std::less<unsigned int> > edges1;
+   std::set<unsigned int, std::less<unsigned int> > edges2;
+ 
+ #if defined(BLISS_CONSISTENCY_CHECKS)
+-  if(!is_permutation(get_nof_vertices(), perm))
++  if(!is_permutation(get_nof_vertices(), perm)) {
+     _INTERNAL_ERROR();
++    return -1;
++  }
+ #endif
+ 
+   for(unsigned int i = 0; i < get_nof_vertices(); i++)
+@@ -3506,7 +3527,7 @@ Digraph::is_automorphism(unsigned int* c
+ 	  ei++)
+ 	edges2.insert(*ei);
+       if(!(edges1 == edges2))
+-	return false;
++	return 0;
+ 
+       edges1.clear();
+       for(std::vector<unsigned int>::iterator ei = v1.edges_out.begin();
+@@ -3519,10 +3540,10 @@ Digraph::is_automorphism(unsigned int* c
+ 	  ei++)
+ 	edges2.insert(*ei);
+       if(!(edges1 == edges2))
+-	return false;
++	return 0;
+     }
+ 
+-  return true;
++  return 1;
+ }
+ 
+ bool
+@@ -4337,8 +4358,10 @@ Graph*
+ Graph::permute(const unsigned int* perm) const
+ {
+ #if defined(BLISS_CONSISTENCY_CHECKS)
+-  if(!is_permutation(get_nof_vertices(), perm))
++  if(!is_permutation(get_nof_vertices(), perm)) {
+     _INTERNAL_ERROR();
++    return NULL;
++  }
+ #endif
+ 
+   Graph* const g = new Graph(get_nof_vertices());
+@@ -5278,15 +5301,17 @@ Graph::initialize_certificate()
+  *
+  *-------------------------------------------------------------------------*/
+ 
+-bool
++int
+ Graph::is_automorphism(unsigned int* const perm)
+ {
+   std::set<unsigned int, std::less<unsigned int> > edges1;
+   std::set<unsigned int, std::less<unsigned int> > edges2;
+ 
+ #if defined(BLISS_CONSISTENCY_CHECKS)
+-  if(!is_permutation(get_nof_vertices(), perm))
++  if(!is_permutation(get_nof_vertices(), perm)) {
+     _INTERNAL_ERROR();
++    return -1;
++  }
+ #endif
+ 
+   for(unsigned int i = 0; i < get_nof_vertices(); i++)
+@@ -5306,10 +5331,10 @@ Graph::is_automorphism(unsigned int* con
+ 	edges2.insert(*ei);
+ 
+       if(!(edges1 == edges2))
+-	return false;
++	return 0;
+     }
+ 
+-  return true;
++  return 1;
+ }
+ 
+ 
+--- ./graph.hh.orig	2015-09-01 10:23:10.000000000 -0600
++++ ./graph.hh	2015-09-04 15:09:17.261182632 -0600
+@@ -159,7 +159,7 @@ public:
+    * Check whether \a perm is an automorphism of this graph.
+    * Unoptimized, mainly for debugging purposes.
+    */
+-  virtual bool is_automorphism(const std::vector<unsigned int>& perm) const;
++  virtual bool is_automorphism(const std::vector<unsigned int>& perm) const = 0;
+ 
+ 
+   /** Activate/deactivate failure recording.
+@@ -211,8 +211,10 @@ public:
+    * if you want to use the automorphism later, you have to take a copy of it.
+    * Do not call any member functions in the hook.
+    * The search statistics are copied in \a stats.
++   * \return true if successful, false if insufficient memory to search or
++   * other internal error.
+    */
+-  void find_automorphisms(Stats& stats,
++  bool find_automorphisms(Stats& stats,
+ 			  void (*hook)(void* user_param,
+ 				       unsigned int n,
+ 				       const unsigned int* aut),
+@@ -232,6 +234,8 @@ public:
+    * Note that the computed canonical version may depend on the applied version
+    * of bliss as well as on some other options (for instance, the splitting
+    * heuristic selected with bliss::Graph::set_splitting_heuristic()).
++   * This function returns NULL if there is insufficient memory, or another
++   * internal error occurs.
+    */
+   const unsigned int* canonical_form(Stats& stats,
+ 				     void (*hook)(void* user_param,
+@@ -436,7 +440,7 @@ protected:
+   void reset_permutation(unsigned int *perm);
+ 
+   /* Mainly for debugging purposes */
+-  virtual bool is_automorphism(unsigned int* const perm);
++  virtual int is_automorphism(unsigned int* const perm) = 0;
+ 
+   std::vector<unsigned int> certificate_current_path;
+   std::vector<unsigned int> certificate_first_path;
+@@ -450,7 +454,11 @@ protected:
+   virtual Partition::Cell* find_next_cell_to_be_splitted(Partition::Cell *cell) = 0;
+ 
+ 
+-  void search(const bool canonical, Stats &stats);
++  /**
++   * \return true if successful, false if insufficient memory to complete or
++   * other internal error
++   */
++  bool search(const bool canonical, Stats &stats);
+ 
+ 
+   void (*report_hook)(void *user_param,
+@@ -634,7 +642,7 @@ protected:
+ 
+   void initialize_certificate();
+   
+-  bool is_automorphism(unsigned int* const perm);
++  int is_automorphism(unsigned int* const perm);
+ 
+ 
+   bool nucr_find_first_component(const unsigned int level);
+@@ -875,7 +883,7 @@ protected:
+ 
+   void initialize_certificate();
+ 
+-  bool is_automorphism(unsigned int* const perm);
++  int is_automorphism(unsigned int* const perm);
+ 
+   void sort_edges();
+ 

diff --git a/sci-libs/bliss/files/bliss-0.73-rehn.patch b/sci-libs/bliss/files/bliss-0.73-rehn.patch
new file mode 100644
index 00000000..f37eedb
--- /dev/null
+++ b/sci-libs/bliss/files/bliss-0.73-rehn.patch
@@ -0,0 +1,74 @@
+--- ./graph.cc.orig	2015-09-04 15:04:09.927604245 -0600
++++ ./graph.cc	2015-09-04 15:09:46.999819514 -0600
+@@ -597,16 +597,6 @@ public:
+ };
+ 
+ 
+-
+-
+-typedef struct {
+-  unsigned int splitting_element;
+-  unsigned int certificate_index;
+-  unsigned int subcertificate_length;
+-  UintSeqHash eqref_hash;
+-} PathInfo;
+-
+-
+ bool
+ AbstractGraph::search(const bool canonical, Stats& stats)
+ {
+@@ -753,7 +743,6 @@ AbstractGraph::search(const bool canonic
+   initialize_certificate();
+ 
+   std::vector<TreeNode> search_stack;
+-  std::vector<PathInfo> first_path_info;
+   std::vector<PathInfo> best_path_info;
+ 
+   search_stack.clear();
+@@ -5477,7 +5466,7 @@ Graph::nucr_find_first_component(const u
+   component.clear();
+   component_elements = 0;
+   sh_return = 0;
+-  unsigned int sh_first  = 0;
++  unsigned int sh_first  = 1 << 31;
+   unsigned int sh_size   = 0;
+   unsigned int sh_nuconn = 0;
+ 
+--- ./graph.hh.orig	2015-09-04 15:09:17.261182632 -0600
++++ ./graph.hh	2015-09-04 15:09:47.001819355 -0600
+@@ -109,9 +109,12 @@ public:
+   unsigned long int get_max_level() const {return max_level;}
+ };
+ 
+-
+-
+-
++typedef struct {
++  unsigned int splitting_element;
++  unsigned int certificate_index;
++  unsigned int subcertificate_length;
++  UintSeqHash eqref_hash;
++} PathInfo;
+ 
+ 
+ /**
+@@ -524,7 +527,7 @@ protected:
+    */
+   unsigned int cr_component_elements;
+ 
+-
++  std::vector<PathInfo> first_path_info;
+ 
+ 
+ };
+@@ -756,6 +759,10 @@ public:
+   void set_splitting_heuristic(const SplittingHeuristic shs) {sh = shs; }
+   
+ 
++  /**
++   * Get an information vector about the first path.
++   */
++  std::vector<PathInfo> get_first_path_info() { return first_path_info; }
+ };
+ 
+ 

diff --git a/sci-libs/bliss/files/bliss-0.73.1.in b/sci-libs/bliss/files/bliss-0.73.1.in
new file mode 100644
index 00000000..f652c3d
--- /dev/null
+++ b/sci-libs/bliss/files/bliss-0.73.1.in
@@ -0,0 +1,55 @@
+.TH "BLISS" "1" "@VERSION@" "Tommi Junttila & Petteri Kaski" "User Commands"
+.SH "NAME"
+bliss \- Compute automorphism groups and canonical labelings of graphs
+.SH "SYNOPSIS"
+.B bliss
+[\fIOPTIONS\fR] [<\fIGRAPH FILE\fR>]
+.SH "DESCRIPTION"
+.PP
+Bliss is an open source tool for computing automorphism groups and
+canonical forms of graphs.  The graphs are specified in DIMACS format.
+.TP
+\fB\-directed\fR
+the input graph is directed
+.TP
+\fB\-can\fR
+compute canonical form
+.TP
+\fB\-ocan\fR=\fIf\fR
+compute canonical form and output it in file \fIf\fR
+.TP
+\fB\-v\fR=\fIN\fR
+set verbosity level to N [N >= 0, default: 1]
+.TP
+\fB\-sh\fR=\fIX\fR
+select splitting heuristics, where X is:
+.TS
+tab(;);
+R L.
+f;first non-singleton cell
+fl;first largest non-singleton cell
+fs;first smallest non-singleton cell
+fm;first maximally non-trivially connected non-singleton cell
+flm;first largest maximally non-trivially connected
+;non-singleton cell
+fsm;first smallest maximally non-trivially connected
+;non-singleton cell (default)
+.TE
+.TP
+\fB\-fr\fR=\fIX\fR
+use failure recording? [X=y/n, default: y]
+.TP
+\fB\-cr\fR=\fIX\fR
+use component recursion? [X=y/n, default: y]
+.TP
+\fB\-version\fR
+print the version number and exit
+.TP
+\fB\-help\fR
+print this help and exit
+.SH "AUTHORS"
+Bliss was written by Tommi Junttila <Tommi.Junttila@tkk.fi> and
+Petteri Kaski <petteri.kaski@aalto.fi>.
+.PP
+This man page was written by Jerry James <loganjerry@gmail.com>.
+It is distributed under the same terms as bliss.


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sci-libs/bliss/files/, sci-libs/bliss/
@ 2017-01-01 18:17 Christoph Junghans
  0 siblings, 0 replies; 4+ messages in thread
From: Christoph Junghans @ 2017-01-01 18:17 UTC (permalink / raw
  To: gentoo-commits

commit:     c9e7aeca7d21e133bb1eea3132997c851ef1d069
Author:     Christoph Junghans <junghans <AT> gentoo <DOT> org>
AuthorDate: Sun Jan  1 18:16:50 2017 +0000
Commit:     Christoph Junghans <junghans <AT> gentoo <DOT> org>
CommitDate: Sun Jan  1 18:17:10 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c9e7aeca

sci-libs/bliss: remove old

Package-Manager: portage-2.3.0

 sci-libs/bliss/Manifest                         |   1 -
 sci-libs/bliss/bliss-0.72.ebuild                |  44 --
 sci-libs/bliss/files/bliss-0.72-autotools.patch | 159 ------
 sci-libs/bliss/files/bliss-0.72-fedora.patch    | 648 ------------------------
 4 files changed, 852 deletions(-)

diff --git a/sci-libs/bliss/Manifest b/sci-libs/bliss/Manifest
index 9cd37a6..cb6cbc2 100644
--- a/sci-libs/bliss/Manifest
+++ b/sci-libs/bliss/Manifest
@@ -1,2 +1 @@
-DIST bliss-0.72.zip 90970 SHA256 528d192b1e30722fc60f5f12c9d6c12b374d838198ae7f18fb41bedabf735ed3 SHA512 a09b3cea26e3ff5f5733f10bfaadaf6fb5a3f443e1cc306fad16af2f7b4cd97c90652315f911a324d6d71426a3d098cd5c7e5721f69c599fe2e0d6d34caa0ef5 WHIRLPOOL afbc41c04e843d383a2da8d5e26ec2882c847e8e5f1e71c05f884396fcc79eab764df628523336b88e0c6ef4fbf073a52870e2c68ded428002d9391894cb53d6
 DIST bliss-0.73.zip 94108 SHA256 f57bf32804140cad58b1240b804e0dbd68f7e6bf67eba8e0c0fa3a62fd7f0f84 SHA512 30f505945c577d8bcb265a349f5bc9d4dcd96555fa3add285199cdd95ea2710f04409008ff06432daffab62c132e884845eae7f823191407906202862509e05d WHIRLPOOL 08402453515e092604105f17f5889d252c0207fa31a1125e87e04c4792cbeb77b7a585a134fd2b3108e8620bbd643cd8b7826dee8a56cf47908a922298b70ad1

diff --git a/sci-libs/bliss/bliss-0.72.ebuild b/sci-libs/bliss/bliss-0.72.ebuild
deleted file mode 100644
index dea3e3c..00000000
--- a/sci-libs/bliss/bliss-0.72.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-
-AUTOTOOLS_AUTORECONF=1
-
-inherit autotools-utils
-
-SRC_URI="http://www.tcs.hut.fi/Software/${PN}/${P}.zip"
-DESCRIPTION="A Tool for Computing Automorphism Groups and Canonical Labelings of Graphs"
-HOMEPAGE="http://www.tcs.hut.fi/Software/bliss/index.shtml"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="doc gmp static-libs"
-
-RDEPEND="gmp? ( dev-libs/gmp:0= )"
-
-DEPEND="${RDEPEND}
-	doc? ( app-doc/doxygen )"
-
-AUTOTOOLS_PRUNE_LIBTOOL_FILES="all" #comes with pkg-config file
-
-PATCHES=(
-	"${FILESDIR}/${P}-fedora.patch"
-	"${FILESDIR}/${P}-autotools.patch"
-)
-
-src_configure() {
-	local myeconfargs=( $(use_with gmp) )
-	autotools-utils_src_configure
-}
-
-src_compile() {
-	autotools-utils_src_compile all $(usex doc html "")
-}
-
-src_install() {
-	use doc && HTML_DOCS=( "${BUILD_DIR}"/html/. )
-	autotools-utils_src_install
-}

diff --git a/sci-libs/bliss/files/bliss-0.72-autotools.patch b/sci-libs/bliss/files/bliss-0.72-autotools.patch
deleted file mode 100644
index 30006b9..00000000
--- a/sci-libs/bliss/files/bliss-0.72-autotools.patch
+++ /dev/null
@@ -1,159 +0,0 @@
-Replace simple Makefile by autotools
-- allow shared library
-- parallel build
-- added pkg-config support
-
-Author: Christoph Junghans <junghans@gentoo.org>
-
-diff -Naur bliss-0.72-fedora/config/.dummy bliss-0.72/config/.dummy
---- bliss-0.72-fedora/config/.dummy	1969-12-31 17:00:00.000000000 -0700
-+++ bliss-0.72/config/.dummy	2013-04-28 14:43:06.143760368 -0600
-@@ -0,0 +1 @@
-+Dummy file to make patch create config dir, which is needed for autotools
-diff -Naur bliss-0.72-fedora/configure.ac bliss-0.72/configure.ac
---- bliss-0.72-fedora/configure.ac	1969-12-31 17:00:00.000000000 -0700
-+++ bliss-0.72/configure.ac	2013-04-28 14:40:42.283242722 -0600
-@@ -0,0 +1,31 @@
-+AC_PREREQ([2.65])
-+AC_INIT([bliss], [0.72], [Tommi.Junttil@kk.fi])
-+
-+AC_CONFIG_AUX_DIR(config)
-+AC_CONFIG_MACRO_DIR(config)
-+
-+AM_INIT_AUTOMAKE([1.8 foreign])
-+
-+SHARED_VERSION_INFO="1:0:0"
-+AC_SUBST(SHARED_VERSION_INFO)
-+
-+# Checks for programs.
-+AC_PROG_CXX
-+
-+LT_INIT
-+# Checks for libraries.
-+AC_ARG_WITH([gmp],
-+  [AS_HELP_STRING([--with-gmp], [enable support for GNU Multiple Precision Arithmetic Library @<:@default=check@:>@])],
-+  [], [with_readline=no])
-+AS_IF([test "x$with_readline" != xno],
-+  [AC_CHECK_HEADERS([gmp.h],,AC_MSG_ERROR([Cannot find gmp.h header]))
-+    AC_CHECK_LIB([gmp],_init,,AC_MSG_ERROR([Cannot find gmp library]))
-+    AC_SUBST([GMP],[-lgmp])
-+    [CPPFLAGS="$CPPFLAGS -DBLISS_USE_GMP"]])
-+
-+AC_CHECK_PROG(DOXYGEN,doxygen,doxygen,no)
-+AM_CONDITIONAL(HAVE_DOXYGEN,[test .$DOXYGEN != .no])
-+
-+AC_CONFIG_FILES([Makefile])
-+AC_CONFIG_FILES([bliss.pc])
-+AC_OUTPUT
-diff -Naur bliss-0.72-fedora/bliss.pc.in bliss-0.72/bliss.pc.in
---- bliss-0.72-fedora/bliss.pc.in	1969-12-31 17:00:00.000000000 -0700
-+++ bliss-0.72/bliss.pc.in	2013-04-28 14:40:54.223285686 -0600
-@@ -0,0 +1,13 @@
-+prefix=@prefix@
-+exec_prefix=@exec_prefix@
-+libdir=@libdir@
-+includedir=@includedir@
-+
-+Name: bliss
-+Description: Library for Computing Automorphism Groups and Canonical Labelings of Graphs 
-+URL: http://www.tcs.hut.fi/Software/bliss/index.shtml
-+Version: @VERSION@
-+Requires: 
-+Libs: -L${libdir} -lbliss @GMP@
-+Libs.private: -lm
-+Cflags: -I${includedir}
-diff -Naur bliss-0.72-fedora/Makefile bliss-0.72/Makefile
---- bliss-0.72-fedora/Makefile	2013-04-28 14:40:10.543128514 -0600
-+++ bliss-0.72/Makefile	1969-12-31 17:00:00.000000000 -0700
-@@ -1,57 +0,0 @@
--CFLAGS = -I.
--CFLAGS += -g
--#CFLAGS += -pg
--CFLAGS += -Wall
--CFLAGS += --pedantic
--CFLAGS += -O9
--#CFLAGS += -DBLISS_DEBUG
--CFLAGS += -fPIC
--
--SRCS = defs.cc graph.cc partition.cc orbit.cc uintseqhash.cc heap.cc
--SRCS += timer.cc utils.cc bliss_C.cc
--
--OBJS = $(addsuffix .o, $(basename $(SRCS)))
--
--GMPOBJS = $(addsuffix g,  $(OBJS))
--
--LIB =
--#LIB += /usr/lib/ccmalloc.o -ldl
--
--CC = g++
--RANLIB = ranlib
--AR = ar
--BLISSLIB = libbliss.a
--
--gmp:	LIB += -lgmp
--gmp:	CFLAGS += -DBLISS_USE_GMP
--
--normal:	bliss
--gmp:	bliss_gmp
--
--
--all:: lib bliss
--
--%.o %.og:	%.cc
--	$(CC) $(CFLAGS) -c -o $@ $<
--
--lib: $(OBJS)
--	rm -f $(BLISSLIB)
--	$(AR) cr $(BLISSLIB) $(OBJS)
--	$(RANLIB) $(BLISSLIB)
--
--lib_gmp: $(GMPOBJS)
--	rm -f $(BLISSLIB)
--	$(AR) cr $(BLISSLIB) $(GMPOBJS)
--	$(RANLIB) $(BLISSLIB)
--
--bliss: bliss.o lib $(OBJS)
--	$(CC) $(CFLAGS) -o bliss bliss.o $(OBJS) $(LIB)
--
--bliss_gmp: bliss.og lib_gmp $(GMPOBJS)
--	$(CC) $(CFLAGS) -o bliss bliss.og $(GMPOBJS) $(LIB)
--
--
--clean:
--	rm -f bliss $(BLISSLIB) $(OBJS) bliss.o $(GMPOBJS) bliss.og
--
--# DO NOT DELETE
-diff -Naur bliss-0.72-fedora/Makefile.am bliss-0.72/Makefile.am
---- bliss-0.72-fedora/Makefile.am	1969-12-31 17:00:00.000000000 -0700
-+++ bliss-0.72/Makefile.am	2013-04-28 14:47:26.944698789 -0600
-@@ -0,0 +1,30 @@
-+ACLOCAL_AMFLAGS = -I config
-+
-+lib_LTLIBRARIES = libbliss.la
-+
-+libbliss_la_LDFLAGS = -no-undefined -version-info @SHARED_VERSION_INFO@
-+libbliss_la_SOURCES = \
-+	defs.cc graph.cc partition.cc orbit.cc uintseqhash.cc heap.cc \
-+	timer.cc utils.cc bliss_C.cc
-+
-+pkginclude_HEADERS = \
-+	bignum.hh bliss_C.h defs.hh graph.hh heap.hh kqueue.hh kstack.hh \
-+	orbit.hh partition.hh timer.hh uintseqhash.hh utils.hh
-+
-+bin_PROGRAMS = bliss
-+bliss_SOURCES = bliss.cc
-+bliss_LDADD = libbliss.la
-+dist_man1_MANS = bliss.1
-+
-+pkgconfigdir = $(libdir)/pkgconfig
-+pkgconfig_DATA = bliss.pc
-+
-+html-local: Doxyfile
-+if HAVE_DOXYGEN
-+	$(DOXYGEN) $(srcdir)/Doxyfile
-+else
-+	@echo "doxygen was not found, please re-run configure"
-+endif
-+
-+clean-local:
-+	-rm -rf html

diff --git a/sci-libs/bliss/files/bliss-0.72-fedora.patch b/sci-libs/bliss/files/bliss-0.72-fedora.patch
deleted file mode 100644
index e1f8b66..00000000
--- a/sci-libs/bliss/files/bliss-0.72-fedora.patch
+++ /dev/null
@@ -1,648 +0,0 @@
-Pulled on 28-04-13 from
-http://pkgs.fedoraproject.org/cgit/bliss.git/tree/
-
-- Man page written by Jerry James using text borrowed from the sources.
-  The man page therefore has the same copyright and license as the sources.
-- Don't call exit() in library code.
-- Patch from Thomas Rehn, also sent upstream.  Fix one bug and add one
-   performance enhancement.
-
-diff -Naur bliss-0.72.orig/bliss.1 bliss-0.72/bliss.1
---- bliss-0.72.orig/bliss.1	1969-12-31 17:00:00.000000000 -0700
-+++ bliss-0.72/bliss.1	2013-04-28 14:35:37.000000000 -0600
-@@ -0,0 +1,55 @@
-+.TH "BLISS" "1" "@VERSION@" "Tommi Junttila & Petteri Kaski" "User Commands"
-+.SH "NAME"
-+bliss \- Compute automorphism groups and canonical labelings of graphs
-+.SH "SYNOPSIS"
-+.B bliss
-+[\fIOPTIONS\fR] [<\fIGRAPH FILE\fR>]
-+.SH "DESCRIPTION"
-+.PP
-+Bliss is an open source tool for computing automorphism groups and
-+canonical forms of graphs.  The graphs are specified in DIMACS format.
-+.TP
-+\fB\-directed\fR
-+the input graph is directed
-+.TP
-+\fB\-can\fR
-+compute canonical form
-+.TP
-+\fB\-ocan\fR=\fIf\fR
-+compute canonical form and output it in file \fIf\fR
-+.TP
-+\fB\-v\fR=\fIN\fR
-+set verbosity level to N [N >= 0, default: 1]
-+.TP
-+\fB\-sh\fR=\fIX\fR
-+select splitting heuristics, where X is:
-+.TS
-+tab(;);
-+R L.
-+f;first non-singleton cell
-+fl;first largest non-singleton cell
-+fs;first smallest non-singleton cell
-+fm;first maximally non-trivially connected non-singleton cell
-+flm;first largest maximally non-trivially connected
-+;non-singleton cell
-+fsm;first smallest maximally non-trivially connected
-+;non-singleton cell (default)
-+.TE
-+.TP
-+\fB\-fr\fR=\fIX\fR
-+use failure recording? [X=y/n, default: y]
-+.TP
-+\fB\-cr\fR=\fIX\fR
-+use component recursion? [X=y/n, default: y]
-+.TP
-+\fB\-version\fR
-+print the version number and exit
-+.TP
-+\fB\-help\fR
-+print this help and exit
-+.SH "AUTHORS"
-+Bliss was written by Tommi Junttila <Tommi.Junttila@tkk.fi> and
-+Petteri Kaski <petteri.kaski@aalto.fi>.
-+.PP
-+This man page was written by Jerry James <loganjerry@gmail.com>.
-+It is distributed under the same terms as bliss.
-diff -Naur bliss-0.72.orig/bliss.cc bliss-0.72/bliss.cc
---- bliss-0.72.orig/bliss.cc	2013-04-28 14:35:20.582085167 -0600
-+++ bliss-0.72/bliss.cc	2013-04-28 14:36:28.792330603 -0600
-@@ -276,13 +276,16 @@
-   if(opt_canonize == false)
-     {
-       /* No canonical labeling, only automorphism group */
--      g->find_automorphisms(stats, &report_aut, stdout);
-+      if (!g->find_automorphisms(stats, &report_aut, stdout))
-+	exit(1);
-     }
-   else
-     {
-       /* Canonical labeling and automorphism group */
-       const unsigned int* cl = g->canonical_form(stats, &report_aut, stdout);
- 
-+      if (!cl)
-+	exit(1);
-       fprintf(stdout, "Canonical labeling: ");
-       bliss::print_permutation(stdout, g->get_nof_vertices(), cl, 1);
-       fprintf(stdout, "\n");
-@@ -290,6 +293,8 @@
-       if(opt_output_can_file)
- 	{
- 	  bliss::AbstractGraph* cf = g->permute(cl);
-+	  if (!cf)
-+	    exit(1);
- 	  FILE* const fp = fopen(opt_output_can_file, "w");
- 	  if(!fp)
- 	    _fatal("Cannot open '%s' for outputting the canonical form, aborting", opt_output_can_file);
-diff -Naur bliss-0.72.orig/bliss_C.cc bliss-0.72/bliss_C.cc
---- bliss-0.72.orig/bliss_C.cc	2013-04-28 14:35:20.582085167 -0600
-+++ bliss-0.72/bliss_C.cc	2013-04-28 14:36:28.792330603 -0600
-@@ -131,7 +131,7 @@
- }
- 
- extern "C"
--void
-+int
- bliss_find_automorphisms(BlissGraph *graph,
- 			 void (*hook)(void *user_param,
- 				      unsigned int n,
-@@ -142,7 +142,8 @@
-   bliss::Stats s;
-   assert(graph);
-   assert(graph->g);
--  graph->g->find_automorphisms(s, hook, hook_user_param);
-+  if (!graph->g->find_automorphisms(s, hook, hook_user_param))
-+    return 0;
- 
-   if(stats)
-     {
-@@ -154,6 +155,7 @@
-       stats->nof_generators = s.get_nof_generators();
-       stats->max_level = s.get_max_level();
-     }
-+  return 1;
- }
- 
- 
-@@ -173,7 +175,7 @@
-   
-   canonical_labeling = graph->g->canonical_form(s, hook, hook_user_param);
- 
--  if(stats)
-+  if(canonical_labeling && stats)
-     {
-       stats->group_size_approx = s.get_group_size_approx();
-       stats->nof_nodes = s.get_nof_nodes();
-diff -Naur bliss-0.72.orig/bliss_C.h bliss-0.72/bliss_C.h
---- bliss-0.72.orig/bliss_C.h	2013-04-28 14:35:20.582085167 -0600
-+++ bliss-0.72/bliss_C.h	2013-04-28 14:36:28.792330603 -0600
-@@ -156,6 +156,7 @@
-  * The argument \a perm should be an array of
-  * N=bliss::bliss_get_nof_vertices(\a graph) elements describing
-  * a bijection on {0,...,N-1}.
-+ * Returns NULL if insufficient memory or internal error.
-  */
- BlissGraph *bliss_permute(BlissGraph *graph, const unsigned int *perm);
- 
-@@ -174,8 +175,9 @@
-  * if you want to use the automorphism later, you have to take a copy of it.
-  * Do not call bliss_* functions in the hook.
-  * If \a stats is non-null, then some search statistics are copied there.
-+ * \return nonzero if successful, zero if insufficient memory or internal error
-  */
--void
-+int
- bliss_find_automorphisms(BlissGraph *graph,
- 			 void (*hook)(void *user_param,
- 				      unsigned int N,
-@@ -194,6 +196,7 @@
-  * then bliss_permute() with the returned canonical labeling.
-  * Note that the computed canonical version may depend on the applied version
-  * of bliss.
-+ * Returns NULL if insufficient memory or internal error.
-  */
- const unsigned int *
- bliss_find_canonical_labeling(BlissGraph *graph,
-diff -Naur bliss-0.72.orig/defs.cc bliss-0.72/defs.cc
---- bliss-0.72.orig/defs.cc	2013-04-28 14:35:20.582085167 -0600
-+++ bliss-0.72/defs.cc	2013-04-28 14:36:28.792330603 -0600
-@@ -33,7 +33,6 @@
-   vfprintf(stderr, fmt, ap);
-   fprintf(stderr, "\nAborting!\n");
-   va_end(ap);
--  exit(1);
- }
- 
- }
-diff -Naur bliss-0.72.orig/graph.cc bliss-0.72/graph.cc
---- bliss-0.72.orig/graph.cc	2013-04-28 14:35:20.582085167 -0600
-+++ bliss-0.72/graph.cc	2013-04-28 14:37:16.162501050 -0600
-@@ -34,7 +34,10 @@
- namespace bliss {
- 
- #define _INTERNAL_ERROR() fatal_error("%s:%d: internal error",__FILE__,__LINE__)
--#define _OUT_OF_MEMORY() fatal_error("%s:%d: out of memory",__FILE__,__LINE__)
-+#define _OUT_OF_MEMORY(label) do {				\
-+    fatal_error("%s:%d: out of memory",__FILE__,__LINE__);	\
-+    goto label;							\
-+  } while (0)
- 
- /*-------------------------------------------------------------------------
-  *
-@@ -279,20 +282,6 @@
-     *perm = i;
- }
- 
--bool
--AbstractGraph::is_automorphism(unsigned int* const perm)
--{
--  _INTERNAL_ERROR();
--  return false;
--}
--
--bool
--AbstractGraph::is_automorphism(const std::vector<unsigned int>& perm) const
--{
--  _INTERNAL_ERROR();
--  return false;
--}
--
- 
- 
- 
-@@ -608,17 +597,7 @@
- };
- 
- 
--
--
--typedef struct {
--  unsigned int splitting_element;
--  unsigned int certificate_index;
--  unsigned int subcertificate_length;
--  UintSeqHash eqref_hash;
--} PathInfo;
--
--
--void
-+bool
- AbstractGraph::search(const bool canonical, Stats& stats)
- {
-   const unsigned int N = get_nof_vertices();
-@@ -658,7 +637,7 @@
-   if(N == 0)
-     {
-       /* Nothing to do, return... */
--      return;
-+      return true;
-     }
- 
-   /* Initialize the partition ... */
-@@ -696,10 +675,10 @@
-    */
-   if(first_path_labeling) free(first_path_labeling);
-   first_path_labeling = (unsigned int*)calloc(N, sizeof(unsigned int));
--  if(!first_path_labeling) _OUT_OF_MEMORY();
-+  if(!first_path_labeling) _OUT_OF_MEMORY(oom1);
-   if(best_path_labeling) free(best_path_labeling);
-   best_path_labeling = (unsigned int*)calloc(N, sizeof(unsigned int));
--  if(!best_path_labeling) _OUT_OF_MEMORY();
-+  if(!best_path_labeling) _OUT_OF_MEMORY(oom2);
- 
-   /*
-    * Is the initial partition discrete?
-@@ -710,7 +689,7 @@
-       update_labeling(best_path_labeling);
-       /* Update statistics */
-       stats.nof_leaf_nodes = 1;
--      return;
-+      return true;
-     }
- 
-   /*
-@@ -718,20 +697,39 @@
-    */
-   if(first_path_labeling_inv) free(first_path_labeling_inv);
-   first_path_labeling_inv = (unsigned int*)calloc(N, sizeof(unsigned int));
--  if(!first_path_labeling_inv) _OUT_OF_MEMORY();
-+  if(!first_path_labeling_inv) _OUT_OF_MEMORY(oom3);
-   if(best_path_labeling_inv) free(best_path_labeling_inv);
-   best_path_labeling_inv = (unsigned int*)calloc(N, sizeof(unsigned int));
--  if(!best_path_labeling_inv) _OUT_OF_MEMORY();
-+  if(!best_path_labeling_inv) _OUT_OF_MEMORY(oom4);
- 
-   /*
-    * Allocate space for the automorphisms
-    */
-   if(first_path_automorphism) free(first_path_automorphism);
-   first_path_automorphism = (unsigned int*)malloc(N * sizeof(unsigned int));
--  if(!first_path_automorphism) _OUT_OF_MEMORY();
-+  if(!first_path_automorphism) _OUT_OF_MEMORY(oom5);
-   if(best_path_automorphism) free(best_path_automorphism);
-   best_path_automorphism = (unsigned int*)malloc(N * sizeof(unsigned int));
--  if(!best_path_automorphism) _OUT_OF_MEMORY();
-+  if(!best_path_automorphism) {
-+    _OUT_OF_MEMORY(oom6);
-+  oom6:
-+    free(first_path_automorphism);
-+    first_path_automorphism = NULL;
-+  oom5:
-+    free(best_path_labeling_inv);
-+    best_path_labeling_inv = NULL;
-+  oom4:
-+    free(first_path_labeling_inv);
-+    first_path_labeling_inv = NULL;
-+  oom3:
-+    free(best_path_labeling);
-+    best_path_labeling = NULL;
-+  oom2:
-+    free(first_path_labeling);
-+    first_path_labeling = NULL;
-+  oom1:
-+    return false;
-+  }
- 
-   /*
-    * Initialize orbit information so that all vertices are in their own orbits
-@@ -745,7 +743,6 @@
-   initialize_certificate();
- 
-   std::vector<TreeNode> search_stack;
--  std::vector<PathInfo> first_path_info;
-   std::vector<PathInfo> best_path_info;
- 
-   search_stack.clear();
-@@ -974,7 +971,6 @@
-        */
-       {
- 	unsigned int  next_split_element = UINT_MAX;
--	unsigned int* next_split_element_pos = 0;
- 	unsigned int* ep = p.elements + cell->first;
- 	if(current_node.fp_on)
- 	  {
-@@ -985,7 +981,6 @@
- 		 *ep < next_split_element and
- 		 first_path_orbits.is_minimal_representative(*ep)) {
- 		next_split_element = *ep;
--		next_split_element_pos = ep;
- 	      }
- 	    }
- 	  }
-@@ -1001,7 +996,6 @@
- 		  current_node.long_prune_redundant.find(*ep) ==
- 		  current_node.long_prune_redundant.end())) {
- 		next_split_element = *ep;
--		next_split_element_pos = ep;
- 	      }
- 	    }
- 	  }
-@@ -1015,7 +1009,6 @@
- 		  current_node.long_prune_redundant.find(*ep) ==
- 		  current_node.long_prune_redundant.end())) {
- 		next_split_element = *ep;
--		next_split_element_pos = ep;
- 	      }
- 	    }
- 	  }
-@@ -1203,8 +1196,10 @@
- 
- #if defined(BLISS_VERIFY_EQUITABLEDNESS)
-       /* The new partition should be equitable */
--      if(!is_equitable())
-+      if(!is_equitable()) {
- 	fatal_error("consistency check failed - partition after refinement is not equitable");
-+	return false;
-+      }
- #endif
- 
-       /*
-@@ -1366,6 +1361,7 @@
- 			  goto handle_first_path_automorphism;
- 			/* Should never get here because of CR:FP */
- 			_INTERNAL_ERROR();
-+			return false;
- 		      }
- 		  }
- 
-@@ -1598,8 +1594,10 @@
- 	
- #if defined(BLISS_VERIFY_AUTOMORPHISMS)
- 	/* Verify that it really is an automorphism */
--	if(!is_automorphism(best_path_automorphism))
-+	if(!is_automorphism(best_path_automorphism)) {
- 	  fatal_error("Best path automorhism validation check failed");
-+	  return false;
-+	}
- #endif
- 	
- 	unsigned int gca_level_with_first = 0;
-@@ -1666,6 +1664,7 @@
- 
- 
-       _INTERNAL_ERROR();
-+      return false;
- 
-       
-     handle_first_path_automorphism:
-@@ -1701,8 +1700,10 @@
- 
- #if defined(BLISS_VERIFY_AUTOMORPHISMS)
-       /* Verify that it really is an automorphism */
--      if(!is_automorphism(first_path_automorphism))
-+      if(!is_automorphism(first_path_automorphism)) {
- 	fatal_error("First path automorphism validation check failed");
-+	return false;
-+      }
- #endif
-       
-       if(opt_use_long_prune)
-@@ -1749,12 +1750,13 @@
-   /* Release component recursion data in partition */
-   if(opt_use_comprec)
-     p.cr_free();
-+  return true;
- }
- 
- 
- 
- 
--void
-+bool
- AbstractGraph::find_automorphisms(Stats& stats,
- 				  void (*hook)(void *user_param,
- 					       unsigned int n,
-@@ -1764,7 +1766,8 @@
-   report_hook = hook;
-   report_user_param = user_param;
- 
--  search(false, stats);
-+  if (!search(false, stats))
-+    return false;
- 
-   if(first_path_labeling)
-     {
-@@ -1776,6 +1779,7 @@
-       free(best_path_labeling);
-       best_path_labeling = 0;
-     }
-+  return true;
- }
- 
- 
-@@ -1790,7 +1794,8 @@
-   report_hook = hook;
-   report_user_param = user_param;
- 
--  search(true, stats);
-+  if (!search(true, stats))
-+    return NULL;
- 
-   return best_path_labeling;
- }
-@@ -3480,15 +3485,17 @@
-  * Check whether perm is an automorphism.
-  * Slow, mainly for debugging and validation purposes.
-  */
--bool
-+int
- Digraph::is_automorphism(unsigned int* const perm)
- {
-   std::set<unsigned int, std::less<unsigned int> > edges1;
-   std::set<unsigned int, std::less<unsigned int> > edges2;
- 
- #if defined(BLISS_CONSISTENCY_CHECKS)
--  if(!is_permutation(get_nof_vertices(), perm))
-+  if(!is_permutation(get_nof_vertices(), perm)) {
-     _INTERNAL_ERROR();
-+    return -1;
-+  }
- #endif
- 
-   for(unsigned int i = 0; i < get_nof_vertices(); i++)
-@@ -3507,7 +3514,7 @@
- 	  ei++)
- 	edges2.insert(*ei);
-       if(!(edges1 == edges2))
--	return false;
-+	return 0;
- 
-       edges1.clear();
-       for(std::vector<unsigned int>::iterator ei = v1.edges_out.begin();
-@@ -3520,10 +3527,10 @@
- 	  ei++)
- 	edges2.insert(*ei);
-       if(!(edges1 == edges2))
--	return false;
-+	return 0;
-     }
- 
--  return true;
-+  return 1;
- }
- 
- bool
-@@ -4330,8 +4337,10 @@
- Graph::permute(const unsigned int* perm) const
- {
- #if defined(BLISS_CONSISTENCY_CHECKS)
--  if(!is_permutation(get_nof_vertices(), perm))
-+  if(!is_permutation(get_nof_vertices(), perm)) {
-     _INTERNAL_ERROR();
-+    return NULL;
-+  }
- #endif
- 
-   Graph* const g = new Graph(get_nof_vertices());
-@@ -5270,15 +5279,17 @@
-  *
-  *-------------------------------------------------------------------------*/
- 
--bool
-+int
- Graph::is_automorphism(unsigned int* const perm)
- {
-   std::set<unsigned int, std::less<unsigned int> > edges1;
-   std::set<unsigned int, std::less<unsigned int> > edges2;
- 
- #if defined(BLISS_CONSISTENCY_CHECKS)
--  if(!is_permutation(get_nof_vertices(), perm))
-+  if(!is_permutation(get_nof_vertices(), perm)) {
-     _INTERNAL_ERROR();
-+    return -1;
-+  }
- #endif
- 
-   for(unsigned int i = 0; i < get_nof_vertices(); i++)
-@@ -5298,10 +5309,10 @@
- 	edges2.insert(*ei);
- 
-       if(!(edges1 == edges2))
--	return false;
-+	return 0;
-     }
- 
--  return true;
-+  return 1;
- }
- 
- 
-@@ -5444,7 +5455,7 @@
-   component.clear();
-   component_elements = 0;
-   sh_return = 0;
--  unsigned int sh_first  = 0;
-+  unsigned int sh_first  = 1 << 31;
-   unsigned int sh_size   = 0;
-   unsigned int sh_nuconn = 0;
- 
-diff -Naur bliss-0.72.orig/graph.hh bliss-0.72/graph.hh
---- bliss-0.72.orig/graph.hh	2013-04-28 14:35:20.582085167 -0600
-+++ bliss-0.72/graph.hh	2013-04-28 14:37:16.162501050 -0600
-@@ -109,9 +109,12 @@
-   unsigned long int get_max_level() const {return max_level;}
- };
- 
--
--
--
-+typedef struct {
-+  unsigned int splitting_element;
-+  unsigned int certificate_index;
-+  unsigned int subcertificate_length;
-+  UintSeqHash eqref_hash;
-+} PathInfo;
- 
- 
- /**
-@@ -270,7 +273,7 @@
-   void reset_permutation(unsigned int *perm);
- 
-   /* Mainly for debugging purposes */
--  virtual bool is_automorphism(unsigned int* const perm);
-+  virtual int is_automorphism(unsigned int* const perm) = 0;
- 
-   std::vector<unsigned int> certificate_current_path;
-   std::vector<unsigned int> certificate_first_path;
-@@ -284,7 +287,11 @@
-   virtual Partition::Cell* find_next_cell_to_be_splitted(Partition::Cell *cell) = 0;
- 
- 
--  void search(const bool canonical, Stats &stats);
-+  /**
-+   * \return true if successful, false if insufficient memory to complete or
-+   * other internal error
-+   */
-+  bool search(const bool canonical, Stats &stats);
- 
- 
-   void (*report_hook)(void *user_param,
-@@ -351,7 +358,7 @@
-    */
-   unsigned int cr_component_elements;
- 
--
-+  std::vector<PathInfo> first_path_info;
- 
- 
- public:
-@@ -362,7 +369,7 @@
-    * Check whether \a perm is an automorphism of this graph.
-    * Unoptimized, mainly for debugging purposes.
-    */
--  virtual bool is_automorphism(const std::vector<unsigned int>& perm) const;
-+  virtual bool is_automorphism(const std::vector<unsigned int>& perm) const = 0;
- 
- 
- 
-@@ -427,8 +434,10 @@
-    * if you want to use the automorphism later, you have to take a copy of it.
-    * Do not call any member functions in the hook.
-    * The search statistics are copied in \a stats.
-+   * \return true if successful, false if insufficient memory to search or
-+   * other internal error.
-    */
--  void find_automorphisms(Stats& stats,
-+  bool find_automorphisms(Stats& stats,
- 			  void (*hook)(void* user_param,
- 				       unsigned int n,
- 				       const unsigned int* aut),
-@@ -448,6 +457,8 @@
-    * Note that the computed canonical version may depend on the applied version
-    * of bliss as well as on some other options (for instance, the splitting
-    * heuristic selected with bliss::Graph::set_splitting_heuristic()).
-+   * This function returns NULL if there is insufficient memory, or another
-+   * internal error occurs.
-    */
-   const unsigned int* canonical_form(Stats& stats,
- 				     void (*hook)(void* user_param,
-@@ -500,6 +511,10 @@
-     opt_use_long_prune = active;
-   }
- 
-+  /**
-+   * Get an information vector about the first path.
-+   */
-+  std::vector<PathInfo> get_first_path_info() { return first_path_info; }
- };
- 
- 
-@@ -615,7 +630,7 @@
- 
-   void initialize_certificate();
-   
--  bool is_automorphism(unsigned int* const perm);
-+  int is_automorphism(unsigned int* const perm);
- 
- 
-   bool nucr_find_first_component(const unsigned int level);
-@@ -856,7 +871,7 @@
- 
-   void initialize_certificate();
- 
--  bool is_automorphism(unsigned int* const perm);
-+  int is_automorphism(unsigned int* const perm);
- 
-   void sort_edges();
- 


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sci-libs/bliss/files/, sci-libs/bliss/
@ 2020-07-10 16:44 Christoph Junghans
  0 siblings, 0 replies; 4+ messages in thread
From: Christoph Junghans @ 2020-07-10 16:44 UTC (permalink / raw
  To: gentoo-commits

commit:     0ba92a30fc30e69af6567c45be5ef43c9382a951
Author:     Christoph Junghans <junghans <AT> gentoo <DOT> org>
AuthorDate: Fri Jul 10 16:42:25 2020 +0000
Commit:     Christoph Junghans <junghans <AT> gentoo <DOT> org>
CommitDate: Fri Jul 10 16:43:22 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0ba92a30

sci-libs/bliss: fix clang build (bug #731930)

Closes: https://bugs.gentoo.org/731930
Package-Manager: Portage-2.3.99, Repoman-2.3.23
Signed-off-by: Christoph Junghans <junghans <AT> gentoo.org>

 sci-libs/bliss/bliss-0.73-r2.ebuild         | 49 +++++++++++++++++++++++++++++
 sci-libs/bliss/files/bliss-0.73-clang.patch | 11 +++++++
 sci-libs/bliss/metadata.xml                 |  4 ---
 3 files changed, 60 insertions(+), 4 deletions(-)

diff --git a/sci-libs/bliss/bliss-0.73-r2.ebuild b/sci-libs/bliss/bliss-0.73-r2.ebuild
new file mode 100644
index 00000000000..9293ac0a67a
--- /dev/null
+++ b/sci-libs/bliss/bliss-0.73-r2.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools
+
+SRC_URI="http://www.tcs.hut.fi/Software/${PN}/${P}.zip"
+DESCRIPTION="Compute Automorphism Groups and Canonical Labelings of Graphs"
+HOMEPAGE="http://www.tcs.hut.fi/Software/bliss/"
+
+LICENSE="LGPL-3"
+SLOT="0/1"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc gmp static-libs"
+
+RDEPEND="gmp? ( dev-libs/gmp:0= )"
+DEPEND="${RDEPEND}
+	app-arch/unzip
+	doc? ( app-doc/doxygen )"
+
+#patches from http://pkgs.fedoraproject.org/cgit/rpms/bliss.git/tree/
+PATCHES=(
+	"${FILESDIR}"/${P}-error.patch
+	"${FILESDIR}"/${P}-rehn.patch
+	"${FILESDIR}"/${P}-clang.patch
+	"${FILESDIR}"/${P}-autotools.patch
+)
+
+src_prepare() {
+	default
+	cp "${FILESDIR}/${P}.1.in" "${PN}.1.in" || die
+	rm Makefile || die
+	eautoreconf
+}
+
+src_configure() {
+	econf $(use_with gmp) $(use_enable static-libs static)
+}
+
+src_compile() {
+	emake all $(usex doc html "")
+}
+
+src_install() {
+	default
+	use static-libs || find "${ED}" -name '*.la' -delete
+	use doc && dodoc -r html
+}

diff --git a/sci-libs/bliss/files/bliss-0.73-clang.patch b/sci-libs/bliss/files/bliss-0.73-clang.patch
new file mode 100644
index 00000000000..8a2e4bb6ca4
--- /dev/null
+++ b/sci-libs/bliss/files/bliss-0.73-clang.patch
@@ -0,0 +1,11 @@
+--- ./bliss.cc.orig	2020-07-10 10:34:44.946000000 -0600
++++ ./bliss.cc	2020-07-10 10:35:36.076000000 -0600
+@@ -59,7 +59,7 @@
+   else program_name = argv0;  
+   if(!program_name or *program_name == 0) program_name = "bliss";
+ 
+-  fprintf(fp, "bliss version %s (compiled "__DATE__")\n", bliss::version);
++  fprintf(fp, "bliss version %s (compiled %s)\n", bliss::version, __DATE__);
+   fprintf(fp, "Copyright 2003-2015 Tommi Junttila\n");
+   fprintf(fp,
+ "\n"

diff --git a/sci-libs/bliss/metadata.xml b/sci-libs/bliss/metadata.xml
index 0668c1ada0d..9b3cd6685a1 100644
--- a/sci-libs/bliss/metadata.xml
+++ b/sci-libs/bliss/metadata.xml
@@ -1,10 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
 <pkgmetadata>
-  <maintainer type="person">
-    <email>junghans@gentoo.org</email>
-    <name>Christoph Junghans</name>
-  </maintainer>
 <maintainer type="project">
     <email>sci@gentoo.org</email>
     <name>Gentoo Science Project</name>


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sci-libs/bliss/files/, sci-libs/bliss/
@ 2021-12-15 11:40 Andrew Ammerlaan
  0 siblings, 0 replies; 4+ messages in thread
From: Andrew Ammerlaan @ 2021-12-15 11:40 UTC (permalink / raw
  To: gentoo-commits

commit:     62c564e6679094847603f21ffc1fd63a5345511c
Author:     François Bissey <frp.bissey <AT> gmail <DOT> com>
AuthorDate: Mon Dec 13 03:35:11 2021 +0000
Commit:     Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
CommitDate: Wed Dec 15 11:40:31 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=62c564e6

sci-libs/bliss: New upstream release

Closes: https://bugs.gentoo.org/829119
Closes: https://github.com/gentoo/gentoo/pull/23284
Package-Manager: Portage-3.0.28, Repoman-3.0.3
Signed-off-by: François René Pierre Bissey <frp.bissey <AT> gmail.com>
Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> gentoo.org>

 sci-libs/bliss/Manifest                       |  1 +
 sci-libs/bliss/bliss-0.77.ebuild              | 28 +++++++++++++++++++++++
 sci-libs/bliss/files/bliss-0.77-install.patch | 32 +++++++++++++++++++++++++++
 3 files changed, 61 insertions(+)

diff --git a/sci-libs/bliss/Manifest b/sci-libs/bliss/Manifest
index 827342cdd284..69758a8152ae 100644
--- a/sci-libs/bliss/Manifest
+++ b/sci-libs/bliss/Manifest
@@ -1 +1,2 @@
 DIST bliss-0.73.zip 94108 BLAKE2B 836184b31fa28db3328c21e7563366a93cf1645b02b96e185838e3c2513393b1d0a54783ca14c6d7f1a1d5055800bc3d7acde3c584e61e66c9ab93936824353b SHA512 30f505945c577d8bcb265a349f5bc9d4dcd96555fa3add285199cdd95ea2710f04409008ff06432daffab62c132e884845eae7f823191407906202862509e05d
+DIST bliss-0.77.zip 117888 BLAKE2B ce4b2fa568c5520fe41748bf59a493af1c33ec9cc0732aca5e5ba657ca726e118e26763355778e3def5716d62e7d3aceceb592ef67e5e148c250d3ffffab67d7 SHA512 d210f137e614bca7cf0d88851d0c62292bf479b687bca6a25d9e42661825f882a4ff8c74c96a965bd9d4f246a1bda6b90cef64894914e6f7b17db6bf4a8f4b17

diff --git a/sci-libs/bliss/bliss-0.77.ebuild b/sci-libs/bliss/bliss-0.77.ebuild
new file mode 100644
index 000000000000..88a4d042c220
--- /dev/null
+++ b/sci-libs/bliss/bliss-0.77.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+SRC_URI="https://users.aalto.fi/~tjunttil/${PN}/downloads/${P}.zip"
+DESCRIPTION="Compute Automorphism Groups and Canonical Labelings of Graphs"
+HOMEPAGE="https://users.aalto.fi/~tjunttil/bliss/index.html"
+
+LICENSE="LGPL-3"
+SLOT="0/1"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="gmp"
+
+RDEPEND="gmp? ( dev-libs/gmp:0= )"
+DEPEND="${RDEPEND}"
+BDEPEND="app-arch/unzip"
+PATCHES=( "${FILESDIR}/${PN}-0.77-install.patch" )
+
+src_configure() {
+	local mycmakeargs=(
+		-DUSE_GMP="$(usex gmp)"
+	)
+
+	cmake_src_configure
+}

diff --git a/sci-libs/bliss/files/bliss-0.77-install.patch b/sci-libs/bliss/files/bliss-0.77-install.patch
new file mode 100644
index 000000000000..caab14aa40f6
--- /dev/null
+++ b/sci-libs/bliss/files/bliss-0.77-install.patch
@@ -0,0 +1,32 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 01ed093..cfdb0a6 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -62,3 +62,27 @@ if(USE_GMP)
+   target_link_libraries(bliss-executable ${GMP_LIBRARIES})
+ endif(USE_GMP)
+ set_target_properties(bliss-executable PROPERTIES OUTPUT_NAME bliss)
++
++include(GNUInstallDirs)
++
++set(
++  BLISS_HEADERS
++  src/bliss_C.h
++  src/uintseqhash.hh
++  src/abstractgraph.hh
++  src/stats.hh
++  src/digraph.hh
++  src/defs.hh
++  src/heap.hh
++  src/graph.hh
++  src/partition.hh
++  src/kqueue.hh
++  src/utils.hh
++  src/orbit.hh
++  src/timer.hh
++  src/bignum.hh
++)
++
++install(TARGETS bliss-executable RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
++install(TARGETS bliss LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
++install(FILES ${BLISS_HEADERS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/bliss)


^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2021-12-15 11:40 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-01-01 18:17 [gentoo-commits] repo/gentoo:master commit in: sci-libs/bliss/files/, sci-libs/bliss/ Christoph Junghans
  -- strict thread matches above, loose matches on Subject: below --
2021-12-15 11:40 Andrew Ammerlaan
2020-07-10 16:44 Christoph Junghans
2017-01-01 18:17 Christoph Junghans

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox