[normaliz] 01/01: Imported Debina patch 3.0.0+ds-2
Jerome Benoit
calculus-guest at moszumanska.debian.org
Thu Nov 19 05:28:09 UTC 2015
This is an automated email from the git hooks/post-receive script.
calculus-guest pushed a commit to branch master
in repository normaliz.
commit 0734b7a529afab99a8ad8c3673c992ed0d2bb295
Author: Jerome Benoit <calculus at rezozer.net>
Date: Thu Nov 19 05:13:11 2015 +0100
Imported Debina patch 3.0.0+ds-2
---
debian/changelog | 10 +
debian/control | 2 +-
debian/patches/debianization.patch | 2 +-
debian/patches/series | 2 +
.../patches/upstream-fix-gmp-ambiguous_call.patch | 70 +++++
debian/patches/upstream-fix-std_exception.patch | 350 +++++++++++++++++++++
debian/rules | 2 +-
7 files changed, 435 insertions(+), 3 deletions(-)
diff --git a/debian/changelog b/debian/changelog
index c9457f7..2bf66af 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,13 @@
+normaliz (3.0.0+ds-2) unstable; urgency=medium
+
+ * FTBFS fix release (Closes: #804742).
+ * Debianization:
+ - debian/control, Vcs-Browser field correction;
+ - debian/rules, refresh;
+ - debian/patches/upstream-fix-gmp-ambiguous_call.patch, C++ ambiguity fix.
+
+ -- Jerome Benoit <calculus at rezozer.net> Thu, 19 Nov 2015 05:14:41 +0000
+
normaliz (3.0.0+ds-1) unstable; urgency=medium
* New upstream version:
diff --git a/debian/control b/debian/control
index c15c914..fd33ded 100644
--- a/debian/control
+++ b/debian/control
@@ -13,7 +13,7 @@ Build-Depends-Indep:
Standards-Version: 3.9.6
Homepage: http://www.math.uos.de/normaliz/
Vcs-Git: git://anonscm.debian.org/debian-science/packages/normaliz.git
-Vcs-Browser: http://anonscm.debian.org/gitweb/?p=debian-science/packages/normaliz.git
+Vcs-Browser: http://anonscm.debian.org/cgit/debian-science/packages/normaliz.git
Package: normaliz
Architecture: any
diff --git a/debian/patches/debianization.patch b/debian/patches/debianization.patch
index 277d76a..647b8f7 100644
--- a/debian/patches/debianization.patch
+++ b/debian/patches/debianization.patch
@@ -46,7 +46,7 @@ Last-Update: 2015-05-02
# compiler flags
-@@ -256,17 +256,17 @@
+@@ -266,17 +266,17 @@
)
ENDIF(UNIX)
diff --git a/debian/patches/series b/debian/patches/series
index acb4d6a..ed1f043 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,2 +1,4 @@
+upstream-fix-std_exception.patch
+upstream-fix-gmp-ambiguous_call.patch
debianization.patch
debianization-documentation.patch
diff --git a/debian/patches/upstream-fix-gmp-ambiguous_call.patch b/debian/patches/upstream-fix-gmp-ambiguous_call.patch
new file mode 100644
index 0000000..9c36f4e
--- /dev/null
+++ b/debian/patches/upstream-fix-gmp-ambiguous_call.patch
@@ -0,0 +1,70 @@
+Description: gmp: ambiguity fix
+ Fix gmp ambiguities revealed by gmp 6.1.0
+ Patch extracted and adapted from uptream commits 14b874f
+ by Jerome Benoit <calculus at rezozer.net>.
+Origin: upstream team
+Author: Christof Soeger <csoeger at uos.de>
+Last-Update: 2015-11-19
+
+--- a/source/libnormaliz/HilbertSeries.cpp
++++ b/source/libnormaliz/HilbertSeries.cpp
+@@ -399,7 +399,7 @@
+ //divide by gcd //TODO operate directly on vector
+ Matrix<mpz_class> QP(quasi_poly);
+ mpz_class g = QP.matrix_gcd();
+- g = gcd(g,quasi_denom);
++ g = libnormaliz::gcd(g,quasi_denom);
+ quasi_denom /= g;
+ QP.scalar_division(g);
+ //we use a normed shift, so that the cylcic shift % period always yields a non-negative integer
+--- a/source/libnormaliz/matrix.cpp
++++ b/source/libnormaliz/matrix.cpp
+@@ -735,7 +735,7 @@
+ Integer g=0,h;
+ for (size_t i = 0; i <nr; i++) {
+ h = v_gcd(elem[i]);
+- g = gcd<Integer>(g, h);
++ g = libnormaliz::gcd<Integer>(g, h);
+ if (g==1) return g;
+ }
+ return g;
+@@ -1766,7 +1766,7 @@
+ return vector<Integer>();
+ }
+ }
+- Integer total_gcd =gcd(denom,v_gcd(Linear_Form)); // extract the gcd of denom and solution
++ Integer total_gcd = libnormaliz::gcd(denom,v_gcd(Linear_Form)); // extract the gcd of denom and solution
+ denom/=total_gcd;
+ v_scalar_division(Linear_Form,total_gcd);
+ return Linear_Form;
+--- a/source/libnormaliz/sublattice_representation.cpp
++++ b/source/libnormaliz/sublattice_representation.cpp
+@@ -213,7 +213,7 @@
+
+ //check if a factor can be extraced from B //TODO necessary?
+ Integer g = B.matrix_gcd();
+- g = gcd(g,c); //TODO necessary??
++ g = libnormaliz::gcd(g,c); //TODO necessary??
+ if (g > 1) {
+ c /= g;
+ B.scalar_division(g);
+--- a/source/libnormaliz/vector_operations.cpp
++++ b/source/libnormaliz/vector_operations.cpp
+@@ -240,7 +240,7 @@
+ size_t i, size=v.size();
+ Integer g=0;
+ for (i = 0; i < size; i++) {
+- g=gcd(g,v[i]);
++ g = libnormaliz::gcd(g,v[i]);
+ if (g==1) {
+ return 1;
+ }
+@@ -255,7 +255,7 @@
+ size_t i,size=v.size();
+ Integer g=1;
+ for (i = 0; i < size; i++) {
+- g=lcm(g,v[i]);
++ g = libnormaliz::lcm(g,v[i]);
+ if (g==0) {
+ return 0;
+ }
diff --git a/debian/patches/upstream-fix-std_exception.patch b/debian/patches/upstream-fix-std_exception.patch
new file mode 100644
index 0000000..ffd14fb
--- /dev/null
+++ b/debian/patches/upstream-fix-std_exception.patch
@@ -0,0 +1,350 @@
+Description: exception_ptr: neutralize whenever not supported
+ Fix non support for std::exception_ptr revealed on a armel machine (#804742).
+ Patch extracted from uptream commits a11c07d and f340b56, and tested on a
+ armel Debian porter by Jerome Benoit <calculus at rezozer.net>.
+Origin: upstream team
+Author: Christof Soeger <csoeger at uos.de>
+Last-Update: 2015-11-19
+
+--- a/source/libnormaliz/bottom.cpp
++++ b/source/libnormaliz/bottom.cpp
+@@ -158,7 +158,9 @@
+ q_gens.push_back(gens);
+ int level = 0;
+
++#ifndef NCATCH
+ std::exception_ptr tmp_exception;
++#endif
+
+ // list for the simplices that could not be decomposed
+ vector< Matrix<Integer> > big_simplices;
+@@ -238,7 +240,9 @@
+ }
+ #endif
+ } // end parallel
++#ifndef NCATCH
+ if (!(tmp_exception == 0)) std::rethrow_exception(tmp_exception);
++#endif
+
+ // if we still have big_simplices we approx again
+
+--- a/source/libnormaliz/cone_dual_mode.cpp
++++ b/source/libnormaliz/cone_dual_mode.cpp
+@@ -284,7 +284,9 @@
+ }
+ }
+
++#ifndef NCATCH
+ std::exception_ptr tmp_exception;
++#endif
+
+ #pragma omp parallel num_threads(3)
+ {
+@@ -325,7 +327,9 @@
+ Neutral_Irred.last_hyp=hyp_counter;
+ }
+ }
++#ifndef NCATCH
+ if (!(tmp_exception == 0)) std::rethrow_exception(tmp_exception);
++#endif
+
+ CandidateList<Integer> New_Positive_Irred(true),New_Negative_Irred(true),New_Neutral_Irred(true);
+ New_Positive_Irred.verbose=New_Negative_Irred.verbose=New_Neutral_Irred.verbose=verbose;
+@@ -568,7 +572,9 @@
+
+ } //END PARALLEL
+
++#ifndef NCATCH
+ if (!(tmp_exception == 0)) std::rethrow_exception(tmp_exception);
++#endif
+
+ } // steps
+
+--- a/source/libnormaliz/full_cone.cpp
++++ b/source/libnormaliz/full_cone.cpp
+@@ -333,7 +333,9 @@
+ // parallel from here
+
+ bool skip_remaining = false;
++#ifndef NCATCH
+ std::exception_ptr tmp_exception;
++#endif
+
+ #pragma omp parallel private(jj)
+ {
+@@ -660,7 +662,9 @@
+ } // end !skip_remaining
+ } //END parallel
+
++#ifndef NCATCH
+ if (!(tmp_exception == 0)) std::rethrow_exception(tmp_exception);
++#endif
+ //=====================================================================
+ // parallel until here
+
+@@ -709,7 +713,9 @@
+ // listsize = visible.size(); // now acczmulated above
+ // cout << "Pyr Level " << pyr_level << " Visible " << listsize << " Triang " << TriangulationSize << endl;
+
++#ifndef NCATCH
+ std::exception_ptr tmp_exception;
++#endif
+
+ typename list< SHORTSIMPLEX<Integer> >::iterator oldTriBack = --Triangulation.end();
+ #pragma omp parallel private(i)
+@@ -824,7 +830,9 @@
+
+ } // parallel
+
++#ifndef NCATCH
+ if (!(tmp_exception == 0)) std::rethrow_exception(tmp_exception);
++#endif
+
+ // GensInCone.push_back(new_generator); // now in extend_cone
+ TriSectionFirst.push_back(++oldTriBack);
+@@ -984,7 +992,9 @@
+
+ deque<bool> done(old_nr_supp_hyps,false);
+ bool skip_remaining;
++#ifndef NCATCH
+ std::exception_ptr tmp_exception;
++#endif
+ typename list< FACETDATA >::iterator hyp;
+ size_t nr_done=0;
+
+@@ -1059,7 +1069,9 @@
+ #endif
+ } // end parallel loop over hyperplanes
+
++#ifndef NCATCH
+ if (!(tmp_exception == 0)) std::rethrow_exception(tmp_exception);
++#endif
+
+ if (!omp_in_parallel())
+ try_offload(0);
+@@ -1109,7 +1121,9 @@
+ }
+ if (height != 0 && (do_triangulation || do_partial_triangulation)) {
+ if(multithreaded_pyramid) {
++#ifndef NCATCH
+ std::exception_ptr tmp_exception;
++#endif
+ #pragma omp critical(TRIANG)
+ {
+ #ifndef NCATCH
+@@ -1123,7 +1137,9 @@
+ }
+ #endif
+ } // end critical
++#ifndef NCATCH
+ if (!(tmp_exception == 0)) std::rethrow_exception(tmp_exception);
++#endif
+ } else {
+ store_key(Pyramid_key,height,0,Triangulation);
+ nrTotalComparisons+=dim*dim/2;
+@@ -1503,7 +1519,9 @@
+ collect_pos_supphyps(PosHyps,Zero_P,nr_pos);
+
+ nrTotalComparisons+=nr_pos*nrLargeRecPyrs;
++#ifndef NCATCH
+ std::exception_ptr tmp_exception;
++#endif
+
+ #pragma omp parallel
+ {
+@@ -1525,7 +1543,9 @@
+ #endif
+ }
+ } // parallel
++#ifndef NCATCH
+ if (!(tmp_exception == 0)) std::rethrow_exception(tmp_exception);
++#endif
+
+ LargeRecPyrs.clear();
+ }
+@@ -1606,7 +1626,9 @@
+ typename list<vector<key_t> >::iterator p;
+ size_t ppos;
+ bool skip_remaining;
++#ifndef NCATCH
+ std::exception_ptr tmp_exception;
++#endif
+
+ while (nrPyramids[level] > eval_down_to) {
+
+@@ -1649,7 +1671,9 @@
+ }
+ #endif
+ } //end parallel for
++#ifndef NCATCH
+ if (!(tmp_exception == 0)) std::rethrow_exception(tmp_exception);
++#endif
+
+ // remove done pyramids
+ p = Pyramids[level].begin();
+@@ -1761,7 +1785,9 @@
+
+ long long nr_pos=0; long long nr_neg=0;
+ vector<Integer> L;
++#ifndef NCATCH
+ std::exception_ptr tmp_exception;
++#endif
+
+ size_t lpos=0;
+ #pragma omp parallel for private(L,scalar_product) firstprivate(lpos,l) reduction(+: nr_pos, nr_neg)
+@@ -1788,7 +1814,9 @@
+ }
+ #endif
+ } //end parallel for
++#ifndef NCATCH
+ if (!(tmp_exception == 0)) std::rethrow_exception(tmp_exception);
++#endif
+
+ if(!is_new_generator)
+ continue;
+@@ -2240,7 +2268,9 @@
+
+ deque<bool> done(TriangulationSize,false);
+ bool skip_remaining;
++#ifndef NCATCH
+ std::exception_ptr tmp_exception;
++#endif
+
+ do{ // allows multiple run of loop below in case of interruption for the update of reducers
+
+@@ -2294,7 +2324,9 @@
+ }
+ Results[tn].transfer_candidates();
+ } // end parallel
++#ifndef NCATCH
+ if (!(tmp_exception == 0)) std::rethrow_exception(tmp_exception);
++#endif
+
+ if (verbose)
+ verboseOutput() << endl;
+--- a/source/libnormaliz/simplex.cpp
++++ b/source/libnormaliz/simplex.cpp
+@@ -735,7 +735,9 @@
+ progess_report=1;
+
+ bool skip_remaining;
++#ifndef NCATCH
+ std::exception_ptr tmp_exception;
++#endif
+
+ deque<bool> done(actual_nr_blocks,false);
+
+@@ -777,7 +779,9 @@
+
+ } // parallel
+
++#ifndef NCATCH
+ if (!(tmp_exception == 0)) std::rethrow_exception(tmp_exception);
++#endif
+
+ if(skip_remaining){
+
+--- a/source/CMakeLists.txt
++++ b/source/CMakeLists.txt
+@@ -79,26 +79,6 @@
+ SET (CXX_WARNING_FLAGS "-Wall -pedantic")
+ SET (CXX_OPTIMIZATION_FLAGS "-O3")
+ ENDIF ()
+-SET (NMZ_OPENMP "YES" CACHE BOOL "use openmp")
+-IF (NMZ_OPENMP)
+- FIND_PACKAGE(OpenMP)
+- IF (OPENMP_FOUND)
+- SET (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")
+- SET (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
+- SET (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${OpenMP_EXE_LINKER_FLAGS}")
+- ELSE (OPENMP_FOUND)
+- MESSAGE(STATUS "Not using OpenMP, compiler does not support it")
+- SET (NMZ_OPENMP "NO" CACHE BOOL "use openmp" FORCE)
+- ENDIF(OPENMP_FOUND)
+-ENDIF (NMZ_OPENMP)
+-IF (NOT NMZ_OPENMP)
+- SET (CXX_WARNING_FLAGS "${CXX_WARNING_FLAGS} -Wno-unknown-pragmas")
+-ENDIF (NOT NMZ_OPENMP)
+-
+-# add compiler flags
+-SET (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CXX_WARNING_FLAGS} ${CXX_OPTIMIZATION_FLAGS}")
+-
+-INCLUDE_DIRECTORIES(.)
+
+ IF (NOT MSVC)
+ include(CheckCXXCompilerFlag)
+@@ -119,6 +99,36 @@
+ ENDIF ()
+ ENDIF()
+
++
++SET (NMZ_OPENMP "YES" CACHE BOOL "use openmp")
++IF (NMZ_OPENMP)
++ FIND_PACKAGE(OpenMP)
++ IF (NOT OPENMP_FOUND)
++ MESSAGE(STATUS "Not using OpenMP, compiler does not support it")
++ SET (NMZ_OPENMP "NO" CACHE BOOL "use openmp" FORCE)
++ ENDIF(NOT OPENMP_FOUND)
++ENDIF (NMZ_OPENMP)
++IF (NMZ_OPENMP)
++ include("${CMAKE_SOURCE_DIR}/cmake/detect_features.cmake")
++ NMZ_CHECK_FOR_EXCEPTION_PTR()
++ IF (NOT HAVE_EXCEPTION_PTR)
++ MESSAGE(STATUS "Not using OpenMP, compiler does not support std::exception_ptr and std::rethrow")
++ SET (NMZ_OPENMP "NO" CACHE BOOL "use openmp" FORCE)
++ ENDIF (NOT HAVE_EXCEPTION_PTR)
++ENDIF (NMZ_OPENMP)
++IF (NMZ_OPENMP)
++ SET (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")
++ SET (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
++ SET (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${OpenMP_EXE_LINKER_FLAGS}")
++ELSE (NMZ_OPENMP)
++ SET (CXX_WARNING_FLAGS "${CXX_WARNING_FLAGS} -Wno-unknown-pragmas")
++ENDIF (NMZ_OPENMP)
++
++# add compiler flags
++SET (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CXX_WARNING_FLAGS} ${CXX_OPTIMIZATION_FLAGS}")
++
++INCLUDE_DIRECTORIES(.)
++
+ # handle static compilation
+ SET (NMZ_BUILD_STATIC "NO" CACHE BOOL "build normaliz statically")
+ IF (NMZ_BUILD_STATIC)
+--- /dev/null
++++ b/source/cmake/detect_features.cmake
+@@ -0,0 +1,35 @@
++###############################################################################
++# Check for the presence of std::exception_ptr and std::rethrow
++macro(NMZ_CHECK_FOR_EXCEPTION_PTR)
++
++ # We need to check whether the compiler supports the rethrowing mechanism
++ include(CheckCXXSourceRuns)
++ # at least the c++11 flag needs to be set
++ set(CMAKE_REQUIRED_FLAGS "${CMAKE_CXX_FLAGS}")
++ check_cxx_source_runs("
++ #include <iostream>
++ #include <exception>
++ #include <stdexcept>
++
++ int main () {
++ std::exception_ptr tmp_exception;
++ try {
++ throw std::overflow_error(\"some overflow exception\");
++ } catch(const std::exception& e) {
++ tmp_exception = std::current_exception();
++ std::cout << \"exception caught, but continuing...\" << std::endl;
++ }
++
++ std::cout << \"(after exception)\" << std::endl;
++
++ try {
++ if (tmp_exception != std::exception_ptr()) std::rethrow_exception(tmp_exception);
++ } catch (const std::exception& e) {
++ std::cout << \"exception caught again \" << e.what() << std::endl;
++ }
++ return 0;
++ }
++"
++ HAVE_EXCEPTION_PTR)
++
++endmacro(NMZ_CHECK_FOR_EXCEPTION_PTR)
diff --git a/debian/rules b/debian/rules
index 4f0d827..14275e8 100755
--- a/debian/rules
+++ b/debian/rules
@@ -1,6 +1,6 @@
#!/usr/bin/make -f
-export DEB_PKG_VERSION = $(shell dpkg-parsechangelog | sed -n -e '/^Version:/s/Version: //p')
+export DEB_PKG_VERSION = $(shell dpkg-parsechangelog -S Version)
DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/normaliz.git
More information about the debian-science-commits
mailing list