diff --git a/sources b/sources index e98ee2e..bb7b7aa 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (zimpl-3.7.1.tar.gz) = a94eba1ec9d7947d30c948599092100f5f1d6be509967f947154141a7718e054e398860fbfba34bb2e0dd129f58fd168d1087023ffe3215f7d498e829e38afc9 +SHA512 (zimpl-3.6.2.tar.gz) = 78cb6d3c06f3a8f42005eda8b04b56f414f6327e5cd3ffbd6a5eadf1a93295b3aa4ec57deb2ed6281f038565a457b0dc9817d2e0c85cf18e86312e95d2c157a0 diff --git a/zimpl-shared.patch b/zimpl-shared.patch index 8183dbf..d3b69cd 100644 --- a/zimpl-shared.patch +++ b/zimpl-shared.patch @@ -1,6 +1,6 @@ ---- zimpl-3.7.1/CMakeLists.txt.orig 2026-03-31 18:33:37.000000000 -0600 -+++ zimpl-3.7.1/CMakeLists.txt 2026-04-03 09:07:34.324781686 -0600 -@@ -49,8 +49,6 @@ endif() +--- zimpl/CMakeLists.txt.orig 2023-08-08 06:33:21.000000000 -0600 ++++ zimpl/CMakeLists.txt 2023-11-15 21:04:39.935423110 -0700 +@@ -41,8 +41,6 @@ endif() # use C99 standard set(CMAKE_C_STANDARD 99) @@ -8,9 +8,9 @@ -set(CMAKE_VISIBILITY_INLINES_HIDDEN 1) option(ZLIB "use ZLIB" ON) - option(SANITIZE "should sanitizers be enabled if available" OFF) ---- zimpl-3.7.1/src/CMakeLists.txt.orig 2026-03-31 18:33:37.000000000 -0600 -+++ zimpl-3.7.1/src/CMakeLists.txt 2026-04-03 09:10:52.288477757 -0600 + option(SANITIZE_ADDRESS "should the address sanitizer be enabled in debug mode if available" OFF) +--- zimpl/src/CMakeLists.txt.orig 2023-08-08 06:33:23.000000000 -0600 ++++ zimpl/src/CMakeLists.txt 2023-11-15 21:04:39.936423097 -0700 @@ -118,12 +118,10 @@ if(MSVC) endif() @@ -24,31 +24,27 @@ +add_library(libzimpl SHARED ${libsources}) +set_target_properties(libzimpl PROPERTIES + POSITION_INDEPENDENT_CODE on -+ VERSION 0.0.0 SOVERSION 0) ++ VERSION 0.0.0 SOVERSION 0) target_link_libraries(libzimpl ${libs}) #create zimpl binary -@@ -138,9 +136,6 @@ endif() +@@ -140,21 +138,18 @@ endif() set_target_properties(libzimpl PROPERTIES OUTPUT_NAME "zimpl") -set_target_properties(libzimpl-pic PROPERTIES - OUTPUT_NAME "zimpl-pic") - - include(GNUInstallDirs) - # install the header files of zimpl -@@ -150,7 +145,7 @@ if(MSVC) - endif() + install(FILES ${headers} DESTINATION include/zimpl) # install the binary and the library to appropriate locations and add them to an export group -install(TARGETS libzimpl zimpl libzimpl-pic EXPORT zimpl-targets +install(TARGETS libzimpl zimpl EXPORT zimpl-targets - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} - RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} -@@ -164,7 +159,7 @@ endif() - install(FILES ${PROJECT_SOURCE_DIR}/LICENSE DESTINATION ${CMAKE_INSTALL_DATADIR}/licenses/zimpl) + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib + RUNTIME DESTINATION bin + INCLUDES DESTINATION include) # Add library targets to the build-tree export set -export(TARGETS libzimpl libzimpl-pic @@ -56,9 +52,9 @@ FILE "${CMAKE_BINARY_DIR}/zimpl-targets.cmake") #configure the config file for the build tree ---- zimpl-3.7.1/src/zimpl/zimpllib.c.orig 2026-03-31 18:33:37.000000000 -0600 -+++ zimpl-3.7.1/src/zimpl/zimpllib.c 2026-04-03 09:07:34.325265327 -0600 -@@ -455,3 +455,66 @@ bool zpl_read_with_args(char** argv, int +--- zimpl/src/zimpl/zimpllib.c.orig 2023-08-08 06:33:23.000000000 -0600 ++++ zimpl/src/zimpl/zimpllib.c 2023-11-15 21:04:39.936423097 -0700 +@@ -456,3 +456,66 @@ bool zpl_read_with_args(char** argv, int return ret; } @@ -125,8 +121,8 @@ +{ + abort(); +} ---- zimpl-3.7.1/zimpl-config.cmake.in.orig 2026-03-31 18:33:37.000000000 -0600 -+++ zimpl-3.7.1/zimpl-config.cmake.in 2026-04-03 09:07:34.325434322 -0600 +--- zimpl/zimpl-config.cmake.in.orig 2023-08-08 06:33:23.000000000 -0600 ++++ zimpl/zimpl-config.cmake.in 2023-11-15 21:04:39.936423097 -0700 @@ -3,7 +3,7 @@ if(NOT TARGET libzimpl) endif() diff --git a/zimpl-test-bsearch.patch b/zimpl-test-bsearch.patch deleted file mode 100644 index 1d43a8d..0000000 --- a/zimpl-test-bsearch.patch +++ /dev/null @@ -1,20 +0,0 @@ ---- zimpl-362/check/minlp.pip.ref.orig 2024-09-12 23:08:28.000000000 -0600 -+++ zimpl-362/check/minlp.pip.ref 2025-01-15 15:31:47.835678296 -0700 -@@ -31,7 +31,7 @@ Subject to - c1_1: - -1 x#1 +1 x#1^2 = 1 - c2_1: -- +30 x#1 * x#2 * x#3 <= 77 -+ +30 x#2 * x#3 * x#1 <= 77 - c3_1: - +1 y * z -4 y^2 * z^3 = 0 - c4_1: -@@ -40,7 +40,7 @@ Subject to - c5_1: - +2 y +5 z +1 y * z = -7 - c6_1: -- +4 x#1^2 +2.66666666666667 x#1 * x#2 +0.444444444444444 x#2^2 = 9 -+ +4 x#1^2 +2.66666666666667 x#2 * x#1 +0.444444444444444 x#2^2 = 9 - c7_1_a_0: - - __c7_1_t_0@d + a = 0 - c7_1_b_1: diff --git a/zimpl.spec b/zimpl.spec index a530c0c..702fc3c 100644 --- a/zimpl.spec +++ b/zimpl.spec @@ -1,10 +1,12 @@ %global giturl https://github.com/scipopt/zimpl Name: zimpl -Version: 3.7.1 +Version: 3.6.2 Release: %autorelease Summary: Zuse Institut Mathematical Programming Language +%global upver %(sed 's/\\.//g' <<< %{version}) + # LGPL-3.0-or-later: the project as a whole # Other licenses are due to fonts embedded in the PDF manual: # OFL-1.1-RFN: AMS @@ -13,7 +15,7 @@ Summary: Zuse Institut Mathematical Programming Language License: LGPL-3.0-or-later AND OFL-1.1-RFN AND Knuth-CTAN AND GPL-1.0-or-later URL: https://zimpl.zib.de/ VCS: git:%{giturl}.git -Source: %{giturl}/archive/v%{version}/%{name}-%{version}.tar.gz +Source: %{giturl}/archive/v%{upver}/%{name}-%{version}.tar.gz # Build a shared library instead of a static library. ZIMPL leaves some symbols # undefined, namely those listed in src/zimpl/xlpglue.h. They take advantage of # the fact that linking with a static library only pulls in the referenced @@ -27,15 +29,12 @@ Patch: %{name}-shared.patch Patch: %{name}-cddlib-set-clash.patch # Use zlib-ng directly, rather than via the compatibility interface Patch: %{name}-zlib-ng.patch -# Fix a test failure that appears to be due to changes in bsearch behavior -# in newer glibc builds -Patch: %{name}-test-bsearch.patch # See https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval ExcludeArch: %{ix86} -BuildSystem: cmake BuildRequires: bison +BuildRequires: cmake BuildRequires: flex BuildRequires: gcc BuildRequires: pkgconfig(gmp) @@ -43,15 +42,16 @@ BuildRequires: pkgconfig(zlib-ng) Requires: libzimpl%{?_isa} = %{version}-%{release} -%global _desc %{expand:Zimpl is a little language to translate the mathematical model of a problem -into a linear or nonlinear (mixed-) integer mathematical program expressed in -.lp or .mps file format which can be read and (hopefully) solved by a LP or -MIP solver.} +%global _desc %{expand: +Zimpl is a little language to translate the mathematical model of a +problem into a linear or nonlinear (mixed-) integer mathematical program +expressed in .lp or .mps file format which can be read and (hopefully) +solved by a LP or MIP solver.} -%description -%_desc +%description %_desc -This package contains a command-line tool to access ZIMPL functionality. +This package contains a command-line tool to access ZIMPL +functionality. %package -n libzimpl # LGPL-3.0-or-later: the project as a whole @@ -60,8 +60,7 @@ This package contains a command-line tool to access ZIMPL functionality. License: LGPL-3.0-or-later AND LGPL-2.0-or-later AND GPL-3.0-or-later WITH Bison-exception-2.2 Summary: Zuse Institut Mathematical Programming Language -%description -n libzimpl -%_desc +%description -n libzimpl %_desc This package contains a library interface to ZIMPL functionality. @@ -74,34 +73,34 @@ Requires: %{name}%{?_isa} = %{version}-%{release} Requires: libzimpl%{?_isa} = %{version}-%{release} %description -n libzimpl-devel -This package contains headers and library links for developing applications -that use libzimpl. +This package contains headers and library links for developing +applications that use libzimpl. %prep -%autosetup -p1 +%autosetup -n %{name}-%{upver} -p1 + +# Fix installation directories +if [ "%{_lib}" != "lib" ]; then + sed -i 's,\(DESTINATION \)lib,\1%{_lib},' src/CMakeLists.txt +fi # Avoid warnings about obsolete invocations of grep sed -i 's/fgrep/grep -F/' check/check.sh -%conf -p +%build export CFLAGS='%{build_cflags} -DFREEMEM -DNO_MSHELL' export CXXFLAGS='%{build_cxxflags} -DFREEMEM -DNO_MSHELL' +%cmake +%cmake_build -%install -a +%install +%cmake_install mkdir -p %{buildroot}%{_mandir}/man1 cp -p doc/zimpl.man %{buildroot}%{_mandir}/man1/zimpl.1 -# We do this in %%files with the %%license macro -rm -fr %{buildroot}%{_datadir}/licenses - -# Help the debuginfo generator find source files -mkdir -p %{_vpath_builddir}/zimpl -ln -s ../../src/zimpl/mmlscan.l %{_vpath_builddir}/zimpl -ln -s ../../src/zimpl/mmlparse2.y %{_vpath_builddir}/zimpl - -%check # FIXME: Test qubo.zpl (qbo: lp) fails on ppc64le -%ifnarch %{power64} +%ifnarch ppc64le +%check export LD_LIBRARY_PATH=%{buildroot}%{_libdir} cd check sh check.sh ../%{_vpath_builddir}/bin/zimpl @@ -116,7 +115,7 @@ cd - %files -n libzimpl %doc CHANGELOG README %license LICENSE -%{_libdir}/libzimpl.so.0{,.*} +%{_libdir}/libzimpl.so.0* %files -n libzimpl-devel %{_includedir}/zimpl/