diff --git a/bliss-rehn.patch b/bliss-rehn.patch new file mode 100644 index 0000000..4854338 --- /dev/null +++ b/bliss-rehn.patch @@ -0,0 +1,74 @@ +--- ./graph.cc.orig 2012-03-16 10:55:45.139266642 -0600 ++++ ./graph.cc 2012-03-16 10:57:42.429090440 -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 search_stack; +- std::vector first_path_info; + std::vector best_path_info; + + search_stack.clear(); +@@ -5466,7 +5455,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 2012-03-16 10:55:45.153266622 -0600 ++++ ./graph.hh 2012-03-16 11:00:26.851843429 -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; + + + /** +@@ -355,7 +358,7 @@ protected: + */ + unsigned int cr_component_elements; + +- ++ std::vector first_path_info; + + + public: +@@ -508,6 +511,10 @@ public: + opt_use_long_prune = active; + } + ++ /** ++ * Get an information vector about the first path. ++ */ ++ std::vector get_first_path_info() { return first_path_info; } + }; + + diff --git a/bliss.spec b/bliss.spec index 8979037..5f80530 100644 --- a/bliss.spec +++ b/bliss.spec @@ -1,6 +1,6 @@ Name: bliss Version: 0.72 -Release: 3%{?dist} +Release: 4%{?dist} Summary: Compute automorphism groups and canonical labelings of graphs Group: Applications/Engineering @@ -12,6 +12,9 @@ Source0: http://www.tcs.hut.fi/Software/bliss/%{name}-%{version}.zip Source1: bliss.1 # Sent upstream 28 Oct 2011. Don't call exit() in library code. Patch0: bliss-error.patch +# Patch from Thomas Rehn, also sent upstream. Fix one bug and add one +# performance enhancement. +Patch1: bliss-rehn.patch BuildRequires: doxygen BuildRequires: gmp-devel @@ -100,6 +103,9 @@ cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_mandir}/man1 %{_libdir}/libbliss.so.* %changelog +* Fri Mar 16 2012 Jerry James - 0.72-4 +- Apply bug fix and performance enhancement patch from Thomas Rehn + * Fri Jan 6 2012 Jerry James - 0.72-3 - Rebuild for GCC 4.7.