diff --git a/.gitignore b/.gitignore index 6d06f33..1c8e76a 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ /Yices-*.tar.gz +/yices-*.tar.gz /cudd-*.tar.gz diff --git a/changelog b/changelog new file mode 100644 index 0000000..826b5cd --- /dev/null +++ b/changelog @@ -0,0 +1,109 @@ +* Tue Feb 20 2024 Jerry James - 2.6.4-12 +- Fix the SPDX expression + +* Fri Feb 9 2024 Jerry James - 2.6.4-11 +- Rebuild for cryptominisat 5.11.21 + +* Wed Jan 31 2024 Jerry James - 2.6.4-10 +- Rebuild for cryptominisat 5.11.15 + +* Sat Jan 27 2024 Fedora Release Engineering - 2.6.4-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Wed Jan 10 2024 Jerry James - 2.6.4-8 +- Rebuild for cadical 1.9.4 +- Update font licenses from LPPL-1.0 to LPPL-1.3a +- Stop building for 32-bit x86 + +* Sat Jul 22 2023 Fedora Release Engineering - 2.6.4-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Sat Jan 21 2023 Fedora Release Engineering - 2.6.4-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Mon Nov 28 2022 Jerry James - 2.6.4-5 +- Regenerate the cudd configure script to fix FTBFS +- Convert License tag to SPDX + +* Mon Nov 28 2022 Timm Bäder - 2.6.4-5 +- Get rid of an implicit int function declaration in a configure check + +* Sat Jul 23 2022 Fedora Release Engineering - 2.6.4-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Sat Jan 22 2022 Fedora Release Engineering - 2.6.4-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Tue Jan 11 2022 Jerry James - 2.6.4-2 +- Build with kissat support + +* Mon Oct 25 2021 Jerry James - 2.6.4-1 +- Version 2.6.4 +- Drop upstreamed -big-endian and -sphinx3 patches +- Enable tests on 32-bit platforms + +* Fri Jul 23 2021 Fedora Release Engineering - 2.6.2-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Thu Jan 28 2021 Fedora Release Engineering - 2.6.2-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Fri Nov 27 2020 Jerry James - 2.6.2-6 +- Rebuild for cryptominisat 5.8.0 + +* Mon Aug 3 2020 Jerry James - 2.6.2-5 +- Rebuild for cadical 1.3.0 + +* Wed Jul 29 2020 Fedora Release Engineering - 2.6.2-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Sat Apr 25 2020 Jerry James - 2.6.2-3 +- Rebuild for cryptominisat 5.7.0 +- Switch to upstream's solution for sphinx 3 support + +* Thu Apr 16 2020 Jerry James - 2.6.2-2 +- Use native sphinx 3 support for enum instead of cenum extension (bz 1823515) + +* Thu Mar 26 2020 Jerry James - 2.6.2-1 +- Version 2.6.2 +- Drop upstreamed -missing-typedef patch +- Add -big-endian patch to fix s390x build +- Add -cryptominisat5 patch to fix build with recent cryptominisat releases +- Skip tests on 32-bit platforms; some tests fail due to the limited size of a + C integer + +* Fri Jan 31 2020 Fedora Release Engineering - 2.6.1-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Thu Jan 23 2020 Jerry James - 2.6.1-5 +- Add -missing-typedef patch to fix FTBFS with gcc 10 +- Set -doc subpackage to noarch + +* Fri Nov 22 2019 Jerry James - 2.6.1-4 +- Add -fwrapv to build flags; thanks to Jeff Law for the diagnosis + +* Sat Jul 27 2019 Fedora Release Engineering - 2.6.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Sun Feb 03 2019 Fedora Release Engineering - 2.6.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Tue Oct 30 2018 Jerry James - 2.6.1-1 +- New upstream version + +* Sat Jul 14 2018 Fedora Release Engineering - 2.6.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Wed Jul 4 2018 Jerry James - 2.6.0-1 +- New upstream version + +* Fri Feb 09 2018 Fedora Release Engineering - 2.5.4-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Tue Jan 2 2018 Jerry James - 2.5.4-2 +- Add a -doc subpackage +- Fix end of line encodings +- Fix permissions on yices_debug_version.c + +* Mon Jan 1 2018 Jerry James - 2.5.4-1 +- Initial RPM diff --git a/sources b/sources index 43c97dc..5aa08fc 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (Yices-2.6.4.tar.gz) = d8102c41fda0e200fd1336ae317b516d2797d10c187b8f7aecf0c9b08b4b487b90bef8c358099b2da51c0367326939f9610fd4e6d5a41a392cf1114bd04b8763 +SHA512 (yices-2.7.0.tar.gz) = 0ed9811bfc505793078aa87afd86177a79bb5b9a4ec579fa0c43076cc997ff432d66588e996c1303d91bfb2163110312f30f1fc75a4d2f60d5786499bdd26b92 SHA512 (cudd-3.0.0.tar.gz) = a26728fedc3033ae2a842000f43f215b4abc914cd00fe0097fd483e59dc630568bfa6a115baa93af94b2f70f3d538761a12143fdb757167e90395c9fd244318c diff --git a/yices-cryptominisat.patch b/yices-cryptominisat.patch index c8ca3ac..78d4a74 100644 --- a/yices-cryptominisat.patch +++ b/yices-cryptominisat.patch @@ -5,7 +5,7 @@ #ifdef HAVE_CADICAL -#include "ccadical.h" -+#include ++#include #endif #ifdef HAVE_CRYPTOMINISAT @@ -68,12 +68,12 @@ static smt_status_t cryptominisat_check(void *solver) { - switch (cmsat_solve(solver)) { -- case CMSAT_SAT: return STATUS_SAT; -- case CMSAT_UNSAT: return STATUS_UNSAT; +- case CMSAT_SAT: return YICES_STATUS_SAT; +- case CMSAT_UNSAT: return YICES_STATUS_UNSAT; + switch (cmsat_solve((SATSolver *)solver).x) { -+ case L_TRUE: return STATUS_SAT; -+ case L_FALSE: return STATUS_UNSAT; - default: return STATUS_UNKNOWN; ++ case L_TRUE: return YICES_STATUS_SAT; ++ case L_FALSE: return YICES_STATUS_UNSAT; + default: return YICES_STATUS_UNKNOWN; } } @@ -356,28 +356,23 @@ static smt_status_t cryptominisat_check( diff --git a/yices.spec b/yices.spec index 5c2658c..7b990a7 100644 --- a/yices.spec +++ b/yices.spec @@ -1,20 +1,26 @@ +%global giturl https://github.com/SRI-CSL/yices2 + Name: yices -Version: 2.6.4 -Release: 6%{?dist} +Version: 2.7.0 +Release: %autorelease Summary: SMT solver # The yices code is GPL-3.0-or-later. The cudd code is BSD-3-Clause. -License: GPL-3.0-or-later and BSD-3-Clause +License: GPL-3.0-or-later AND BSD-3-Clause URL: http://yices.csl.sri.com/ -Source0: https://github.com/SRI-CSL/yices2/archive/Yices-%{version}.tar.gz +VCS : git:%{giturl}.git +Source0: %{giturl}/archive/yices-%{version}.tar.gz # The CUDD web site disappeared in 2018. The Fedora package was retired in 2019 # when there were no more Fedora users. Instead of resurrecting the package for # the sole use of yices, we bundle a snapshot of the last released version. Source1: https://github.com/ivmai/cudd/archive/cudd-3.0.0.tar.gz # Adapt to newer versions of cryptominisat -Patch0: %{name}-cryptominisat.patch +Patch: %{name}-cryptominisat.patch # Get rid of an implicit-int function declaration in a configure check. -Patch1: implicit-int.patch +Patch: implicit-int.patch + +# See https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval +ExcludeArch: %{ix86} BuildRequires: cadical-devel BuildRequires: cryptominisat-devel @@ -28,21 +34,33 @@ BuildRequires: libpoly-devel BuildRequires: libtool BuildRequires: make BuildRequires: %{py3_dist sphinx} -BuildRequires: tex(latex) +BuildRequires: tex(amsfonts.sty) +BuildRequires: tex(cite.sty) +BuildRequires: tex(epstopdf.sty) +BuildRequires: tex(listings.sty) +BuildRequires: tex(xcolor.sty) +BuildRequires: texlive-bibtex +BuildRequires: texlive-cm +BuildRequires: texlive-courier +BuildRequires: texlive-ec +BuildRequires: texlive-helvetic +BuildRequires: texlive-latex +BuildRequires: texlive-makeindex +BuildRequires: texlive-times # See Source1 comment Provides: bundled(cudd) = 3.0.0 %description -Yices 2 is an efficient SMT solver that decides the satisfiability of -formulas containing uninterpreted function symbols with equality, linear -real and integer arithmetic, bitvectors, scalar types, and tuples. +Yices 2 is an efficient SMT solver that decides the satisfiability of formulas +containing uninterpreted function symbols with equality, linear real and +integer arithmetic, bitvectors, scalar types, and tuples. -Yices 2 can process input written in the SMT-LIB notation (both versions -2.0 and 1.2 are supported). +Yices 2 can process input written in the SMT-LIB notation (both versions 2.0 +and 1.2 are supported). -Alternatively, you can write specifications using the Yices 2 -specification language, which includes tuples and scalar types. +Alternatively, you can write specifications using the Yices 2 specification +language, which includes tuples and scalar types. Yices 2 can also be used as a library in other software. @@ -52,8 +70,8 @@ Requires: %{name}%{?_isa} = %{version}-%{release} Requires: gmp-devel%{?_isa} %description devel -This package contains the header files necessary for developing programs -which use yices. +This package contains the header files necessary for developing programs which +use yices. %package tools Summary: Command line tools that use the yices library @@ -88,10 +106,10 @@ Command line tools that use the yices library. # Font licenses: # AMS: OFL-1.1-RFN # CM: Knuth-CTAN -# DejaVu: LPPL-1.0 -# LaTeX: LPPL-1.0 +# DejaVu: LPPL-1.3a +# LaTeX: LPPL-1.3a # Nimbus: AGPL-3.0-only -License: GPL-3.0-or-later AND BSD-2-Clause AND MIT AND OFL-1.1-RFN AND Knuth-CTAN AND LPPL-1.0 AND AGPL-3.0-only +License: GPL-3.0-or-later AND BSD-2-Clause AND MIT AND OFL-1.1-RFN AND Knuth-CTAN AND LPPL-1.3a AND AGPL-3.0-only Summary: Documentation for yices BuildArch: noarch @@ -99,14 +117,19 @@ BuildArch: noarch This package contains yices documentation. %prep -%autosetup -n yices2-Yices-%{version} -a 1 -p1 +%autosetup -n yices2-yices-%{version} -a 1 -p1 +%conf # Do not try to avoid -fstack-protector sed -i 's/@NO_STACK_PROTECTOR@//' make.include.in # Do not override our build flags sed -i 's/ -O3//;s/ -fomit-frame-pointer//' src/Makefile tests/unit/Makefile +# Use $SOURCE_DATE_EPOCH (or current date) +sed -i "s/^now=.*/now=$(date +%Y-%m-%d ${SOURCE_DATE_EPOCH:+--date=@$SOURCE_DATE_EPOCH})/" \ + utils/make_source_version + # Generate the configure scripts autoreconf -fi cd cudd-cudd-3.0.0 @@ -122,13 +145,10 @@ sed -i 's/cp/install -m 0644/' utils/make_source_version %build # Build cudd cd cudd-cudd-3.0.0 -%configure CFLAGS="%{build_cflags} -fPIC" CXXFLAGS="%{build_cxxflags} -fPIC" +%configure CFLAGS='%{build_cflags} -fPIC' CXXFLAGS='%{build_cxxflags} -fPIC' %make_build cd - -#bv64_interval_abstraction depends on wrapping for signed overflow -export CFLAGS='%{build_cflags} -fwrapv' -export CXXFLAGS='%{build_cxxflags} -fwrapv' export CPPFLAGS="-I$PWD/cudd-cudd-3.0.0/cudd -DHAVE_CADICAL -DHAVE_CRYPTOMINISAT -DHAVE_KISSAT" export LDFLAGS="%{build_ldflags} -L$PWD/cudd-cudd-3.0.0/cudd/.libs" export LIBS='-lcadical -lcryptominisat5 -lkissat' @@ -161,7 +181,7 @@ make check MODE=debug %files %doc doc/SMT-LIB-LANGUAGE doc/YICES-LANGUAGE %license copyright.txt LICENSE.txt -%{_libdir}/libyices.so.2* +%{_libdir}/libyices.so.2.7{,.*} %files devel %{_includedir}/%{name}/ @@ -182,92 +202,4 @@ make check MODE=debug %license copyright.txt LICENSE.txt %changelog -* Sat Jan 21 2023 Fedora Release Engineering - 2.6.4-6 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild - -* Mon Nov 28 2022 Jerry James - 2.6.4-5 -- Regenerate the cudd configure script to fix FTBFS -- Convert License tag to SPDX - -* Mon Nov 28 2022 Timm Bäder - 2.6.4-5 -- Get rid of an implicit int function declaration in a configure check - -* Sat Jul 23 2022 Fedora Release Engineering - 2.6.4-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild - -* Sat Jan 22 2022 Fedora Release Engineering - 2.6.4-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild - -* Tue Jan 11 2022 Jerry James - 2.6.4-2 -- Build with kissat support - -* Mon Oct 25 2021 Jerry James - 2.6.4-1 -- Version 2.6.4 -- Drop upstreamed -big-endian and -sphinx3 patches -- Enable tests on 32-bit platforms - -* Fri Jul 23 2021 Fedora Release Engineering - 2.6.2-8 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild - -* Thu Jan 28 2021 Fedora Release Engineering - 2.6.2-7 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild - -* Fri Nov 27 2020 Jerry James - 2.6.2-6 -- Rebuild for cryptominisat 5.8.0 - -* Mon Aug 3 2020 Jerry James - 2.6.2-5 -- Rebuild for cadical 1.3.0 - -* Wed Jul 29 2020 Fedora Release Engineering - 2.6.2-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Sat Apr 25 2020 Jerry James - 2.6.2-3 -- Rebuild for cryptominisat 5.7.0 -- Switch to upstream's solution for sphinx 3 support - -* Thu Apr 16 2020 Jerry James - 2.6.2-2 -- Use native sphinx 3 support for enum instead of cenum extension (bz 1823515) - -* Thu Mar 26 2020 Jerry James - 2.6.2-1 -- Version 2.6.2 -- Drop upstreamed -missing-typedef patch -- Add -big-endian patch to fix s390x build -- Add -cryptominisat5 patch to fix build with recent cryptominisat releases -- Skip tests on 32-bit platforms; some tests fail due to the limited size of a - C integer - -* Fri Jan 31 2020 Fedora Release Engineering - 2.6.1-6 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild - -* Thu Jan 23 2020 Jerry James - 2.6.1-5 -- Add -missing-typedef patch to fix FTBFS with gcc 10 -- Set -doc subpackage to noarch - -* Fri Nov 22 2019 Jerry James - 2.6.1-4 -- Add -fwrapv to build flags; thanks to Jeff Law for the diagnosis - -* Sat Jul 27 2019 Fedora Release Engineering - 2.6.1-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild - -* Sun Feb 03 2019 Fedora Release Engineering - 2.6.1-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild - -* Tue Oct 30 2018 Jerry James - 2.6.1-1 -- New upstream version - -* Sat Jul 14 2018 Fedora Release Engineering - 2.6.0-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild - -* Wed Jul 4 2018 Jerry James - 2.6.0-1 -- New upstream version - -* Fri Feb 09 2018 Fedora Release Engineering - 2.5.4-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild - -* Tue Jan 2 2018 Jerry James - 2.5.4-2 -- Add a -doc subpackage -- Fix end of line encodings -- Fix permissions on yices_debug_version.c - -* Mon Jan 1 2018 Jerry James - 2.5.4-1 -- Initial RPM +%autochangelog