Name: cadical
Epoch: 1
Version: 1.9.4
Release: 2%{?dist}
Summary: Simplified SAT solver
License: MIT
URL: http://fmv.jku.at/cadical/
Source0: https://github.com/arminbiere/%{name}/archive/rel-%{version}/%{name}-%{version}.tar.gz
# Fedora-only patch: build a shared library instead of a static library
Patch0: %{name}-shared.patch
# See https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval
ExcludeArch: %{ix86}
BuildRequires: drat-trim-tools
BuildRequires: gcc-c++
BuildRequires: glibc-langpack-en
BuildRequires: help2man
BuildRequires: make
BuildRequires: zlib-devel
Requires: %{name}-libs%{?_isa} = %{epoch}:%{version}-%{release}
%description
CaDiCaL is a simplified Satisfiability solver. The goal of the
development of CaDiCaL is to obtain a CDCL solver, which is easy to
understand and change, while at the same time not being much slower
than other state-of-the-art CDCL solvers.
%package libs
Summary: Simplified SAT solver library
%description libs
This package contains the CaDiCaL simplified Satisfiability solver as a
library, for use in applications that need a SAT solver.
%package devel
Summary: Development files for %{name}
Requires: %{name}-libs%{?_isa} = %{epoch}:%{version}-%{release}
%description devel
Library links and header files for developing applications that use
%{name}.
%prep
%autosetup -p0 -n %{name}-rel-%{version}
%build
# The configure script is NOT generated by autoconf. Do NOT use the
# %%configure macro here.
CXXFLAGS="%{build_cxxflags} -fPIC" ./configure
sed -i "s|@LDFLAGS@|%{build_ldflags}|" build/makefile
%make_build
# Make man pages for the command line interface
export LD_LIBRARY_PATH=$PWD/build
help2man --version-string=%{version} -N -o cadical.1 build/cadical
help2man --version-string=%{version} -N -o mobical.1 -h -h build/mobical
%install
# The makefile has no install target. Install by hand.
# Install the binaries
mkdir -p %{buildroot}%{_bindir}
cp -p build/{cad,mob}ical %{buildroot}%{_bindir}
# Install the library
mkdir -p %{buildroot}%{_libdir}
cp -p build/libcadical.so.0.0.0 %{buildroot}%{_libdir}
ln -s libcadical.so.0.0.0 %{buildroot}%{_libdir}/libcadical.so.0
ln -s libcadical.so.0 %{buildroot}%{_libdir}/libcadical.so
# Install the header files
mkdir -p %{buildroot}%{_includedir}
cp -p src/cadical.hpp %{buildroot}%{_includedir}
cp -p src/ccadical.h %{buildroot}%{_includedir}
# Install the man pages
mkdir -p %{buildroot}%{_mandir}/man1
cp -p *.1 %{buildroot}%{_mandir}/man1
%check
# Prevent rebuilding the library while testing
sed -i '/make -C \$CADICALBUILD/d;/^make$/d' test/*/run.sh
# Some mobical tests randomly fail due to exceeding time or memory limits.
# Turn those tests off.
sed -i 's/ mbt$//' test/makefile
export LD_LIBRARY_PATH=$PWD/build
make -C test
%files
%{_bindir}/cadical
%{_bindir}/mobical
%{_mandir}/man1/cadical.1*
%{_mandir}/man1/mobical.1*
%files libs
%license LICENSE
%doc NEWS.md README.md
%{_libdir}/lib%{name}.so.0*
%files devel
%{_includedir}/%{name}.hpp
%{_includedir}/c%{name}.h
%{_libdir}/lib%{name}.so
%changelog
* Fri Jan 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1:1.9.4-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Wed Jan 10 2024 Jerry James <loganjerry@gmail.com> - 1:1.9.4-1
- Version 1.9.4
- Stop building for 32-bit x86
* Sat Sep 16 2023 Jerry James <loganjerry@gmail.com> - 1:1.7.4-1
- Version 1.7.4
* Fri Sep 15 2023 Jerry James <loganjerry@gmail.com> - 1:1.7.3-1
- Version 1.7.3
* Fri Sep 1 2023 Jerry James <loganjerry@gmail.com> - 1:1.7.1-1
- Version 1.7.1
* Fri Jul 28 2023 Jerry James <loganjerry@gmail.com> - 1:1.7.0-1
- Version 1.7.0
* Wed Jul 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1:1.5.3-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Wed Jan 18 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1:1.5.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Sat Sep 10 2022 Jerry James <loganjerry@gmail.com> - 1:1.5.3-1
- Version 1.5.3
* Wed Jul 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1:1.5.2-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Wed Jan 19 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1:1.5.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Thu Oct 28 2021 Jerry James <loganjerry@gmail.com> - 1:1.5.2-1
- Version 1.5.2
* Wed Jul 21 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1:1.4.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Mon Jun 21 2021 Jerry James <loganjerry@gmail.com> - 1:1.4.1-1
- Version 1.4.1
* Sun Feb 14 2021 Jerry James <loganjerry@gmail.com> - 1:1.4.0-1
- Version 1.4.0
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1:1.3.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Mon Aug 3 2020 Jerry James <loganjerry@gmail.com> - 1:1.3.0-1
- Version 1.3.0
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1:1.2.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1:1.2.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Mon Nov 11 2019 Jerry James <loganjerry@gmail.com> - 1:1.2.1-1
- Version 1.2.1
* Wed Jul 24 2019 Jerry James <loganjerry@gmail.com> - 1:1.0.3-3
- Bump Epoch to fix upgrades from version 06w
* Mon Jul 22 2019 Jerry James <loganjerry@gmail.com> - 1.0.3-2
- Add ccadical.h to the -devel subpackage (bz 1731887)
* Sat Jul 13 2019 Jerry James <loganjerry@gmail.com> - 1.0.3-1
- New upstream version
- Drop upstreamed -32bit patch
* Fri Jul 12 2019 Jerry James <loganjerry@gmail.com> - 1.0.2-1
- New upstream version
* Sat Jun 29 2019 Jerry James <loganjerry@gmail.com> - 1.0.0-1
- New upstream version
* Wed Jun 12 2019 Jerry James <loganjerry@gmail.com> - 0-1.sr19
- New upstream version
- Adapt to upstream version scheme
- Drop upstreamed -vector patch
- Add -32bit patch
- Add man pages
* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 06w-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Thu Jul 12 2018 Fedora Release Engineering <releng@fedoraproject.org> - 06w-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Fri Jul 6 2018 Jerry James <loganjerry@gmail.com> - 06w-1
- Initial RPM