From 35a66d79e8f764686297c891509f201d9b88cb29 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Tue, 2 Jul 2024 13:00:50 +0200 Subject: [PATCH 01/17] Use $SOURCE_DATE_EPOCH instead of the current date Using the current date breaks build reproducibility. --- yices.spec | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/yices.spec b/yices.spec index 1adff25..0354bc3 100644 --- a/yices.spec +++ b/yices.spec @@ -111,6 +111,10 @@ 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 From ad5910f6a89866762622ad6890dc9df26a8be866 Mon Sep 17 00:00:00 2001 From: Jerry James Date: Tue, 16 Jul 2024 15:48:35 -0600 Subject: [PATCH 02/17] Rebuild for cryptominisat 5.11.22 --- yices.spec | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/yices.spec b/yices.spec index 0354bc3..2357e68 100644 --- a/yices.spec +++ b/yices.spec @@ -1,3 +1,5 @@ +%global giturl https://github.com/SRI-CSL/yices2 + Name: yices Version: 2.6.5 Release: %autorelease @@ -6,16 +8,16 @@ 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 URL: http://yices.csl.sri.com/ -VCS: https://github.com/SRI-CSL/yices2 -Source0: %{vcs}/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} From d056a9c7a9c2503bc6e0162eebf1922f0cd68e72 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 20 Jul 2024 10:42:09 +0000 Subject: [PATCH 03/17] Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild From 7fe83ff4acde36d405166d17d615d180139f1034 Mon Sep 17 00:00:00 2001 From: Jerry James Date: Wed, 15 Jan 2025 15:11:42 -0700 Subject: [PATCH 04/17] Move configuration steps to %conf --- yices.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/yices.spec b/yices.spec index 2357e68..79aa2b4 100644 --- a/yices.spec +++ b/yices.spec @@ -107,6 +107,7 @@ This package contains yices documentation. %prep %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 From 0f9eefa2ce199931f475177bfb6b4e8f85d897d3 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sun, 19 Jan 2025 16:34:09 +0000 Subject: [PATCH 05/17] Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild From 605ad4cf449a0345b411f839eef27b98f15613a8 Mon Sep 17 00:00:00 2001 From: Jerry James Date: Tue, 11 Feb 2025 10:51:35 -0700 Subject: [PATCH 06/17] Rebuild for cryptominisat 5.12.1 From ce84bc512018b6dd40d9bb56213a37a6b827be9c Mon Sep 17 00:00:00 2001 From: Jerry James Date: Thu, 1 May 2025 09:46:30 -0600 Subject: [PATCH 07/17] Rebuild for cryptominisat 5.13.0 From 570a70c5086a1b07bf01bfac47e2cceeca439540 Mon Sep 17 00:00:00 2001 From: Jerry James Date: Fri, 18 Jul 2025 14:04:04 -0600 Subject: [PATCH 08/17] Version 2.7.0 --- .gitignore | 1 + sources | 2 +- yices-cryptominisat.patch | 10 +++++----- yices.spec | 11 ++++------- 4 files changed, 11 insertions(+), 13 deletions(-) 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/sources b/sources index 6ce754a..5aa08fc 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (Yices-2.6.5.tar.gz) = 8f01c6d516f2aa901b30e9248c3df78930e670c8e1a795b1bb112561f4e338e6e11eadfc2e6cbfc089f6593561b5874fbe816be677dd09c0834a01829c5cf490 +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..be1cc37 100644 --- a/yices-cryptominisat.patch +++ b/yices-cryptominisat.patch @@ -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 79aa2b4..8f5caac 100644 --- a/yices.spec +++ b/yices.spec @@ -1,7 +1,7 @@ %global giturl https://github.com/SRI-CSL/yices2 Name: yices -Version: 2.6.5 +Version: 2.7.0 Release: %autorelease Summary: SMT solver @@ -9,7 +9,7 @@ Summary: SMT solver License: GPL-3.0-or-later AND BSD-3-Clause URL: http://yices.csl.sri.com/ VCS : git:%{giturl}.git -Source0: %{giturl}/archive/Yices-%{version}.tar.gz +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. @@ -105,7 +105,7 @@ 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 @@ -137,9 +137,6 @@ cd cudd-cudd-3.0.0 %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' @@ -172,7 +169,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}/ From 548580a5a3e209116902b1ba07d4379fbe0270c9 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 25 Jul 2025 21:12:24 +0000 Subject: [PATCH 09/17] Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild From a9b6193c7cea08c1ce27ef148c73a9085e0ef7a5 Mon Sep 17 00:00:00 2001 From: Jerry James Date: Fri, 5 Dec 2025 11:54:10 -0700 Subject: [PATCH 10/17] Rebuild for cadical 2.2.0 --- yices.spec | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/yices.spec b/yices.spec index 8f5caac..e9c2542 100644 --- a/yices.spec +++ b/yices.spec @@ -40,15 +40,15 @@ BuildRequires: tex(latex) 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. @@ -58,8 +58,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 From 341a656de73a66e73790936c8aac4b20ee2323ab Mon Sep 17 00:00:00 2001 From: Jerry James Date: Wed, 14 Jan 2026 08:53:19 -0700 Subject: [PATCH 11/17] Be more precise about globbing in %files --- yices.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/yices.spec b/yices.spec index e9c2542..bcdfb14 100644 --- a/yices.spec +++ b/yices.spec @@ -169,7 +169,7 @@ make check MODE=debug %files %doc doc/SMT-LIB-LANGUAGE doc/YICES-LANGUAGE %license copyright.txt LICENSE.txt -%{_libdir}/libyices.so.2.7* +%{_libdir}/libyices.so.2.7{,.*} %files devel %{_includedir}/%{name}/ From 56690d563979d72852a848956928eef9f1a415cc Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 17 Jan 2026 21:02:14 +0000 Subject: [PATCH 12/17] Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild From 2ecfd8c6fb46213e6541a84d55e3af42d93d369e Mon Sep 17 00:00:00 2001 From: Jerry James Date: Fri, 20 Feb 2026 08:27:32 -0700 Subject: [PATCH 13/17] Adapt to changes in TeXLive packaging --- yices.spec | 3 +++ 1 file changed, 3 insertions(+) diff --git a/yices.spec b/yices.spec index bcdfb14..0dcf297 100644 --- a/yices.spec +++ b/yices.spec @@ -35,6 +35,9 @@ BuildRequires: libtool BuildRequires: make BuildRequires: %{py3_dist sphinx} BuildRequires: tex(latex) +BuildRequires: texlive-courier +BuildRequires: texlive-helvetic +BuildRequires: texlive-times # See Source1 comment Provides: bundled(cudd) = 3.0.0 From a3e2b398052d9a04e035c4e0066edd08074a68d1 Mon Sep 17 00:00:00 2001 From: Jerry James Date: Thu, 30 Apr 2026 12:18:22 -0600 Subject: [PATCH 14/17] Rebuild for cryptominisat 5.14.4 --- yices-cryptominisat.patch | 2 +- yices.spec | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/yices-cryptominisat.patch b/yices-cryptominisat.patch index be1cc37..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 diff --git a/yices.spec b/yices.spec index 0dcf297..782983c 100644 --- a/yices.spec +++ b/yices.spec @@ -34,9 +34,19 @@ BuildRequires: libpoly-devel BuildRequires: libtool BuildRequires: make BuildRequires: %{py3_dist sphinx} +BuildRequires: tex(amsfonts.sty) +BuildRequires: tex(cite.sty) +BuildRequires: tex(listings.sty) +BuildRequires: tex(xcolor.sty) BuildRequires: tex(latex) +BuildRequires: texlive-bibtex +BuildRequires: texlive-cm BuildRequires: texlive-courier +BuildRequires: texlive-ec BuildRequires: texlive-helvetic +BuildRequires: texlive-makeindex +BuildRequires: texlive-metafont +BuildRequires: texlive-mfware BuildRequires: texlive-times # See Source1 comment From 307ef2eee4aa592e6b4eb02118c6a97e514e1230 Mon Sep 17 00:00:00 2001 From: Jerry James Date: Thu, 30 Apr 2026 14:21:41 -0600 Subject: [PATCH 15/17] BR tex(epstopdf.sty) --- yices.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/yices.spec b/yices.spec index 782983c..318bdd4 100644 --- a/yices.spec +++ b/yices.spec @@ -36,6 +36,7 @@ BuildRequires: make BuildRequires: %{py3_dist sphinx} BuildRequires: tex(amsfonts.sty) BuildRequires: tex(cite.sty) +BuildRequires: tex(epstopdf.sty) BuildRequires: tex(listings.sty) BuildRequires: tex(xcolor.sty) BuildRequires: tex(latex) From 577205dc10feeda512102e7982ba05575d775c38 Mon Sep 17 00:00:00 2001 From: Jerry James Date: Tue, 14 Jul 2026 19:34:02 -0600 Subject: [PATCH 16/17] Reduce the number of TeXLive packages used to build --- yices.spec | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/yices.spec b/yices.spec index 318bdd4..7b990a7 100644 --- a/yices.spec +++ b/yices.spec @@ -39,15 +39,13 @@ BuildRequires: tex(cite.sty) BuildRequires: tex(epstopdf.sty) BuildRequires: tex(listings.sty) BuildRequires: tex(xcolor.sty) -BuildRequires: tex(latex) BuildRequires: texlive-bibtex BuildRequires: texlive-cm BuildRequires: texlive-courier BuildRequires: texlive-ec BuildRequires: texlive-helvetic +BuildRequires: texlive-latex BuildRequires: texlive-makeindex -BuildRequires: texlive-metafont -BuildRequires: texlive-mfware BuildRequires: texlive-times # See Source1 comment From a796b4116134d8960f2a60dd3fcf983ad0d833ea Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 17 Jul 2026 09:34:40 +0000 Subject: [PATCH 17/17] Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild