Hello community, here is the log from the commit of package lrslib for openSUSE:Factory checked in at 2019-03-18 10:42:32 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/lrslib (Old) and /work/SRC/openSUSE:Factory/.lrslib.new.28833 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "lrslib" Mon Mar 18 10:42:32 2019 rev:3 rq:685609 version:7.0 Changes: -------- --- /work/SRC/openSUSE:Factory/lrslib/lrslib.changes 2018-06-29 22:32:45.234191652 +0200 +++ /work/SRC/openSUSE:Factory/.lrslib.new.28833/lrslib.changes 2019-03-18 10:42:35.131183048 +0100 @@ -1,0 +2,33 @@ +Sat Mar 16 12:28:58 UTC 2019 - Jan Engelhardt <[email protected]> + +- Update to upstream rerelease 7.0 + (replacing tarballs sucks, upstream!) + --- lrslib-070~/lrslib.c 2018-06-25 12:30:34.000000000 +0200 + +++ lrslib-070/lrslib.c 2018-10-23 08:22:44.000000000 +0200 + +------------------------------------------------------------------- +Sat Oct 20 12:15:17 UTC 2018 - Jan Engelhardt <[email protected]> + +- Update to new upstream release 7.0 + * hybrid (64bit/128bit/GMP) arithmetic implemented: + * speedups of roughly 3-5 times (64bit) and 2 times(128bit) + over GMP for problems using small integers. + * overflow checking for 64/128 bit arithmetic + * __int128 (gcc v.4.6.0 or later) and FLINT arithmetic now supported + * lrsgmp, mplrsgmp uses only GMP arithmetic, same as lrslib-062 + * lrs/redund/mplrs start in 64 bit moving to 128 bit and then + to gmp arithmetic as necessary. + * single arithmetic versions of lrs/mplrs available for + comparison purposes. + * single arithmetic versions of lrsnash are available with + overflow checking. + * plrs is no longer supported + * removing the -DSAFE option disables overflow checking in + 64/128 bit mode and results are unpredicable if overflow + occurs. + * mplrs now prints maximum tree depth at end and supports + printcobasis option in input files. +- Drop lrs-am.diff (no longer wanted). Add lrs-version.diff + and lrs-128.diff. + +------------------------------------------------------------------- Old: ---- lrs-am.diff lrslib-062.tar.gz New: ---- lrs-128.diff lrs-version.diff lrslib-070.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ lrslib.spec ++++++ --- /var/tmp/diff_new_pack.jKTGLg/_old 2019-03-18 10:42:35.679182378 +0100 +++ /var/tmp/diff_new_pack.jKTGLg/_new 2019-03-18 10:42:35.683182373 +0100 @@ -1,7 +1,7 @@ # # spec file for package lrslib # -# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -12,22 +12,23 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# Please submit bugfixes or comments via https://bugs.opensuse.org/ # -%define dullver 062 -%define lname liblrsgmp-%dullver +%define dullver 070 +%define lname liblrs-7_0-0 Name: lrslib -Version: 6.2 +Version: 7.0 Release: 0 Summary: Reverse Search Vertex Enumeration program License: GPL-2.0-or-later Group: Productivity/Scientific/Math -Url: http://cgm.cs.mcgill.ca/~avis/C/lrs.html +URL: http://cgm.cs.mcgill.ca/~avis/C/lrs.html Source: http://cgm.cs.mcgill.ca/~avis/C/lrslib/archive/%name-%dullver.tar.gz -Patch1: lrs-am.diff -Patch2: lrs-compile.diff +Patch1: lrs-version.diff +Patch2: lrs-128.diff +Patch3: lrs-compile.diff BuildRequires: gcc-c++ BuildRequires: gmp-devel BuildRequires: libboost_system-devel @@ -38,8 +39,8 @@ %description lrslib is a library for the reverse search algorithm for vertex enumeration/convex hull problems and comes with a choice of three -arithmetic packages. Input file formats are compatible with Komei -Fukuda's cdd package. All computations are done exactly in either +arithmetic packages. Input file formats are compatible with the +cddlib package. All computations are done exactly in either multiple precision or fixed integer arithmetic. Output is not stored in memory, so even problems with very large output sizes can sometimes be solved. @@ -51,8 +52,8 @@ %description -n %lname lrslib is a library for the reverse search algorithm for vertex enumeration/convex hull problems and comes with a choice of three -arithmetic packages. Input file formats are compatible with Komei -Fukuda's cdd package. Computations are done in multiprecision +arithmetic packages. Input file formats are compatible with the +cddlib package. Computations are done in multiprecision arithmetic. %package devel @@ -63,29 +64,26 @@ %description devel lrslib is a library for the reverse search algorithm for vertex enumeration/convex hull problems and comes with a choice of three -arithmetic packages. Input file formats are compatible with Komei -Fukuda's cdd package. +arithmetic packages. This subpackage contains libraries and header files for developing applications that want to make use of lrslib. %prep -%setup -qn %name-%dullver -%patch -P 1 -P 2 -p1 +%autosetup -n %name-%dullver -p1 %build -rm -f makefile -mkdir -p m4 -autoreconf -fi -export CXXFLAGS="%optflags -std=gnu++98" -%configure --disable-static -make %{?_smp_mflags} +make CFLAGS="%optflags" CXXFLAGS="%optflags" \ + PACKAGE_VERSION="%version" all-shared %install -b="%buildroot" -chmod a-x COPYING README -make install DESTDIR="$b" -rm -f "$b/%_libdir"/*.la +%make_install prefix="%_prefix" PACKAGE_VERSION="%version" +# stupid things +if [ "%_lib" != lib ]; then + mkdir -p "%buildroot/%_libdir" + mv "%buildroot/%_libdir/../lib"/* "%buildroot/%_libdir/" +fi +chmod a-x COPYING README "%buildroot/%_includedir/lrslib"/*.h %post -n %lname -p /sbin/ldconfig %postun -n %lname -p /sbin/ldconfig @@ -97,11 +95,11 @@ %files -n %lname %defattr(-,root,root) -%_libdir/liblrsgmp-%dullver.so +%_libdir/liblrs-%version.so.0* %files devel %defattr(-,root,root) -%_includedir/*.h -%_libdir/liblrsgmp.so +%_includedir/lrslib/ +%_libdir/liblrs.so %changelog ++++++ lrs-am.diff -> lrs-128.diff ++++++ --- /work/SRC/openSUSE:Factory/lrslib/lrs-am.diff 2018-06-29 22:32:44.406192370 +0200 +++ /work/SRC/openSUSE:Factory/.lrslib.new.28833/lrs-128.diff 2019-03-18 10:42:34.871183366 +0100 @@ -1,138 +1,38 @@ From: Jan Engelhardt <[email protected]> -Date: 2016-03-31 10:44:51.450482420 +0200 +Date: 2019-03-16 09:30:59.618075690 +0100 -Fix the "typical problems seen in plain Makefiles": -* /lib is hardcoded -* shared library only a secondary citizen and not used for linking - programs even though there is good opportunity to do so. -* lack of proper shared library versioning -* upstream changed the ABI before without updating SONAME, address - with -release -Fix awkwardness: -* original Makefile builds plrs by way of `g++ -o plrs plrs.cpp - lrslib.c lrsgmp.c`; the mode of compilation is C, but the include - search path is CXX's... which is unsupported in managed build - systems because .c files are always built with CC. - (error: "#include <sstream>" - file not found) - To address that, lrslib.cpp is synthesized with BUILT_SOURCES, - and some extern "C" blocks are warranted. +Not all platforms have __int128 and would fail to build. --- - Makefile.am | 47 +++++++++++++++++++++++++++++++++++++++++++++++ - configure.ac | 10 ++++++++++ - lrsgmp.h | 6 ++++++ - lrslib.c | 12 ++++++------ - lrslib.h | 7 ++++++- - lrsnashlib.c | 8 ++++---- - 6 files changed, 79 insertions(+), 11 deletions(-) + makefile | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) -Index: lrslib-061/Makefile.am +Index: lrslib-070/makefile =================================================================== ---- /dev/null -+++ lrslib-061/Makefile.am -@@ -0,0 +1,47 @@ -+ACLOCAL_AMFLAGS = -I m4 -+AM_CPPFLAGS = -DTIMES -DSIGNALS -+lib_LTLIBRARIES = liblrsgmp.la -+liblrsgmp_la_SOURCES = lrslib.c lrsgmp.c -+liblrsgmp_la_CPPFLAGS = ${AM_CPPFLAGS} -DGMP -+liblrsgmp_la_LDFLAGS = -release ${PACKAGE_VERSION} -+liblrsgmp_la_LIBADD = -lgmp -+include_HEADERS = lrslib.h lrsgmp.h -+bin_PROGRAMS = 2nash lrs lrs1 lrsnash redund redund1 setnash setnash2 -+bin_PROGRAMS += plrs plrs1 plrsmp -+EXTRA_PROGRAMS = fourier -+fourier_SOURCES = fourier.c -+fourier_CPPFLAGS = ${AM_CPPFLAGS} -DGMP -+fourier_LDADD = liblrsgmp.la -+lrs_SOURCES = lrs.c -+lrs_LDADD = liblrsgmp.la -+lrs1_SOURCES = lrs.c lrslib.c lrslong.c -+lrs1_CPPFLAGS = ${AM_CPPFLAGS} -DLRSLONG -+lrsnash_SOURCES = lrsnash.c lrsnashlib.c -+lrsnash_CPPFLAGS = ${AM_CPPFLAGS} -DGMP -DLRS_QUIET -+lrsnash_LDADD = liblrsgmp.la -+redund_SOURCES = redund.c -+redund_CPPFLAGS = ${AM_CPPFLAGS} -DGMP -+redund_LDADD = liblrsgmp.la -+redund1_SOURCES = redund.c lrslib.c lrslong.c -+redund1_CPPFLAGS = ${AM_CPPFLAGS} -DLRSLONG -+setnash_SOURCES = setupnash.c lrslib.c lrsmp.c -+setnash2_SOURCES = setupnash2.c lrslib.c lrsmp.c -+plrs_SOURCES = plrs.cpp lrslib.cpp lrsgmp.cpp -+plrs_CPPFLAGS = ${AM_CPPFLAGS} -DGMP -DPLRS -+plrs_LDADD = -lgmp -lboost_system -lboost_thread -lpthread -+plrs1_SOURCES = plrs.cpp lrslib.cpp lrslong.cpp -+plrs1_CPPFLAGS = ${AM_CPPFLAGS} -DPLRS -DLRSLONG -+plrs1_LDADD = -lgmp -lboost_system -lboost_thread -lpthread -+plrsmp_SOURCES = plrs.cpp lrslib.cpp lrsmp.cpp -+plrsmp_CPPFLAGS = ${AM_CPPFLAGS} -DPLRS -+plrsmp_LDADD = -lgmp -lboost_system -lboost_thread -lpthread -+BUILT_SOURCES = lrslib.cpp lrsgmp.cpp lrslong.cpp -+# !@#$% for throwing .c files at g++ (original makefile) -+lrsgmp.cpp: lrsgmp.c -+ cp $< $@ -+lrslib.cpp: lrslib.c -+ cp $< $@ -+lrslong.cpp: lrslong.c -+ cp $< $@ -+lrsmp.cpp: lrsmp.c -+ cp $< $@ -Index: lrslib-061/configure.ac -=================================================================== ---- /dev/null -+++ lrslib-061/configure.ac -@@ -0,0 +1,10 @@ -+AC_INIT([lrslib], [062]) -+AC_CONFIG_MACRO_DIR([m4]) -+AM_INIT_AUTOMAKE([foreign subdir-objects tar-pax]) -+AC_PROG_CC -+AC_PROG_CXX -+AC_PROG_INSTALL -+AC_DISABLE_STATIC -+LT_INIT -+AC_CONFIG_FILES([Makefile]) -+AC_OUTPUT -Index: lrslib-061/lrsgmp.h -=================================================================== ---- lrslib-061.orig/lrsgmp.h -+++ lrslib-061/lrsgmp.h -@@ -151,6 +151,9 @@ extern FILE *lrs_ofp; /* output file p - /*********************************************************/ - /* Initialization and allocation procedures - must use! */ - /******************************************************* */ -+#ifdef __cplusplus -+extern "C" { -+#endif - - long lrs_mp_init (long dec_digits, FILE * lrs_ifp, FILE * lrs_ofp); /* max number of decimal digits, fps */ - -@@ -219,3 +222,6 @@ void lrs_default_digits_overflow (); - - /* end of lrs_mp.h (vertex enumeration using lexicographic reverse search) */ - -+#ifdef __cplusplus -+} -+#endif -Index: lrslib-061/lrslib.h -=================================================================== ---- lrslib-061.orig/lrslib.h -+++ lrslib-061/lrslib.h -@@ -206,7 +206,9 @@ typedef struct lrs_dat /* global probl - lrs_dic *Qhead, *Qtail; - - }lrs_dat, lrs_dat_p; -- -+#ifdef __cplusplus -+extern "C" { -+#endif - - #ifdef PLRS - /****************/ -@@ -329,3 +331,6 @@ void lrs_set_obj_mp(lrs_dic *P, lrs_dat - - +--- lrslib-070.orig/makefile ++++ lrslib-070/makefile +@@ -196,7 +196,7 @@ SOMINOR ?=.0.0 + SHLIB ?=$(SONAME)$(SOMINOR) + SHLINK ?=liblrs.so + +-SHLIBOBJ=lrslong1-shr.o lrslong2-shr.o lrslib1-shr.o lrslib2-shr.o \ ++SHLIBOBJ=lrslong1-shr.o lrslib1-shr.o \ + lrslibgmp-shr.o lrsgmp-shr.o lrsdriver-shr.o + + SHLIBBIN=lrs-shared redund-shared lrsnash-shared +@@ -216,11 +216,11 @@ ${SHLINK}: ${SONAME} + + all-shared: ${SHLIBBIN} + +-lrs-shared: ${SHLINK} lrs.o +- $(CC) lrs.o -o $@ -L . -llrs ++lrs-shared: ${SHLINK} lrs64.o ++ $(CC) lrs64.o -o $@ -L . -llrs + +-redund-shared: ${SHLINK} redund.o +- $(CC) redund.o -o $@ -L . -llrs ++redund-shared: ${SHLINK} redund64.o ++ $(CC) redund64.o -o $@ -L . -llrs -+#ifdef __cplusplus -+} -+#endif + lrsnash-shared: ${SHLINK} lrsnash.c + $(CC) -DGMP -DMA lrsnash.c lrsnashlib.c -I${INCLUDEDIR} -o $@ -L . -llrs -lgmp ++++++ lrs-compile.diff ++++++ --- /var/tmp/diff_new_pack.jKTGLg/_old 2019-03-18 10:42:35.719182329 +0100 +++ /var/tmp/diff_new_pack.jKTGLg/_new 2019-03-18 10:42:35.719182329 +0100 @@ -8,14 +8,18 @@ lrslib.cpp:1485:54: error: invalid conversion from 'void (*)()' to '__sighandler_t {aka void (*)(int)}' [-fpermissive] errcheck ("signal", signal (SIGALRM, timecheck)); [multiple] -Index: lrslib-061/lrslib.c +--- + lrslib.c | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +Index: lrslib-070/lrslib.c =================================================================== ---- lrslib-061.orig/lrslib.c -+++ lrslib-061/lrslib.c -@@ -65,10 +65,10 @@ static double get_time(); +--- lrslib-070.orig/lrslib.c ++++ lrslib-070/lrslib.c +@@ -71,10 +71,10 @@ static double get_time(); /* signals handling */ /*******************************/ - #ifdef SIGNALS + #ifndef SIGNALS -static void checkpoint (); -static void die_gracefully (); +static void checkpoint (int); @@ -26,7 +30,7 @@ #endif /*******************************/ -@@ -5292,7 +5292,7 @@ setup_signals () +@@ -5016,7 +5016,7 @@ setup_signals () } static void @@ -35,7 +39,7 @@ { lrs_dump_state (); errcheck ("signal", signal (SIGALRM, timecheck)); -@@ -5300,14 +5300,14 @@ timecheck () +@@ -5024,14 +5024,14 @@ timecheck () } static void @@ -52,43 +56,3 @@ { lrs_dump_state (); -Index: lrslib-061/lrsnashlib.c -=================================================================== ---- lrslib-061.orig/lrsnashlib.c -+++ lrslib-061/lrsnashlib.c -@@ -52,7 +52,7 @@ int lrs_solve_nash(game * g) - - Q1 = lrs_alloc_dat("LRS globals"); /* allocate and init structure for static problem data */ - if (Q1 == NULL) { -- return; -+ return 1; - } - - Q1->nash = TRUE; -@@ -64,7 +64,7 @@ int lrs_solve_nash(game * g) - - P1 = lrs_alloc_dic(Q1); /* allocate and initialize lrs_dic */ - if (P1 == NULL) { -- return; -+ return 1; - } - - BuildRep(P1, Q1, g, 1, 0); -@@ -74,7 +74,7 @@ int lrs_solve_nash(game * g) - /* allocate and init structure for player 2's problem data */ - Q2 = lrs_alloc_dat("LRS globals"); - if (Q2 == NULL) { -- return; -+ return 1; - } - - Q2->debug = Debug_flag; -@@ -86,7 +86,7 @@ int lrs_solve_nash(game * g) - - P2orig = lrs_alloc_dic(Q2); /* allocate and initialize lrs_dic */ - if (P2orig == NULL) { -- return; -+ return 1; - } - BuildRep(P2orig, Q2, g, 0, 1); - A2orig = P2orig->A; ++++++ lrs-version.diff ++++++ From: Jan Engelhardt <[email protected]> Date: 2016-04-02 15:38:45+0000 lrslib broke the ABI between e.g. v6.1 and v6.2 (added lrsdat::countonly) without updating the SONAME. I am not trusting the authors anymore. --- makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) Index: lrslib-070/makefile =================================================================== --- lrslib-070.orig/makefile +++ lrslib-070/makefile @@ -191,7 +191,7 @@ fourier: fourier.c lrslib.h lrslib.c lrs # From here on the author is David Bremner <[email protected]> to whom you should turn for help # # Shared library variables -SONAME ?=liblrs.so.0 +SONAME ?=liblrs-${PACKAGE_VERSION}.so.0 SOMINOR ?=.0.0 SHLIB ?=$(SONAME)$(SOMINOR) SHLINK ?=liblrs.so ++++++ lrslib-062.tar.gz -> lrslib-070.tar.gz ++++++ ++++ 32983 lines of diff (skipped)
