Blob Blame History Raw
Name:           cryptominisat
Version:        5.11.21
Release:        3%{?dist}
Summary:        SAT solver

# The project as a whole is MIT.
# src/MersenneTwister.h is BSD-3-Clause.
License:        MIT AND BSD-3-Clause
URL:            https://www.msoos.org/
VCS:            https://github.com/msoos/cryptominisat
Source0:        %{vcs}/archive/%{version}/%{name}-%{version}.tar.gz
# Change the CMake files to not change Fedora build flags
Patch0:         %{name}-cmake.patch
# Unbundle picosat
Patch1:         %{name}-picosat.patch
# Do not rebuild the entire library for python; just link the existing library
Patch2:         %{name}-python-library.patch
# Use tomllib instead of the deprecated toml library
Patch3:         %{name}-toml.patch

# See https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval
ExcludeArch:    %{ix86}

BuildRequires:  boost-devel
BuildRequires:  cmake
BuildRequires:  cmake(breakid)
BuildRequires:  gcc-c++
BuildRequires:  gperftools-devel
BuildRequires:  help2man
BuildRequires:  make
BuildRequires:  picosat-devel
BuildRequires:  pkgconfig(zlib)
BuildRequires:  python3-devel

Requires:       %{name}-libs%{?_isa} = %{version}-%{release}

%description
CryptoMiniSat is a modern, multi-threaded, feature-rich, simplifying SAT
solver. Highlights:
- Instance simplification at every point of the search (inprocessing)
- Over 100 configurable parameters to tune to specific needs
- Collection of statistical data to MySQL database + javascript-based
  visualization of it
- Clean C++ and python interfaces

%package devel
Summary:        Header files for developing with %{name}
Requires:       %{name}-libs%{?_isa} = %{version}-%{release}
Requires:       zlib-devel%{?_isa}

%description devel
Header files for developing applications that use %{name}.

%package libs
Summary:        Cryptominisat library

%description libs
The %{name} library.

%package -n python3-pycryptosat
Summary:        Python 3 interface to %{name}
Requires:       %{name}-libs%{?_isa} = %{version}-%{release}

# This can be removed when F41 reaches EOL
Obsoletes:      python3-%{name} < 5.11.15
Provides:       python3-%{name} = %{version}-%{release}

%description -n python3-pycryptosat
Python 3 interface to %{name}.

%prep
%autosetup -p0

# Fix install paths
if [ "%{_lib}" != "lib" ]; then
  sed -i 's,${dir}/lib,&64,g' cmake/FindPkgMacros.cmake
  sed -i 's,lib/cmake,%{_lib}/cmake,' CMakeLists.txt
fi

# Ensure the bundled picosat is not used
rm -fr src/picosat

# Do not confuse pyproject_buildrequires by requiring a python builtin
sed -i 's/, "pathlib"//' pyproject.toml

%generate_buildrequires
%pyproject_buildrequires

%build
%cmake \
    -DARJUN_SERIALIZE:BOOL=ON \
    -DCMAKE_INSTALL_BINDIR=bin \
    -DCMAKE_INSTALL_LIBDIR=%{_lib} \
    -DEXTFEAT:BOOL=ON \
    -DNOBREAKID:BOOL=OFF
%cmake_build
%pyproject_wheel

%install
%cmake_install
%pyproject_install
%pyproject_save_files pycryptosat
sed -i '/msvc/d;/oracle/d' \
  %{buildroot}%{python3_sitearch}/pycryptosat-%{version}.dist-info/top_level.txt

%files
%doc README.markdown
%{_bindir}/cryptominisat5
%{_mandir}/man1/cryptominisat5.1*

%files devel
%{_includedir}/cryptominisat5/
%{_libdir}/libcryptominisat5.so
%{_libdir}/cmake/cryptominisat5/

%files libs
%doc AUTHORS
%license LICENSE.txt
%{_libdir}/libcryptominisat5.so.5.11

%files -n python3-pycryptosat -f %{pyproject_files}
%doc python/README.md
%exclude %{python3_sitearch}/msvc
%exclude %{python3_sitearch}/oracle

%changelog
* Sat Jun 08 2024 Python Maint <python-maint@redhat.com> - 5.11.21-3
- Rebuilt for Python 3.13

* Mon Mar 25 2024 Jerry James <loganjerry@gmail.com> - 5.11.21-2
- Use tomllib instead of toml

* Fri Feb  9 2024 Jerry James <loganjerry@gmail.com> - 5.11.21-1
- Version 5.11.21
- Stop building for 32-bit x86

* Wed Jan 31 2024 Jerry James <loganjerry@gmail.com> - 5.11.15-1
- Version 5.11.15
- Drop unused sqlite dependency
- Dynamically generate python BuildRequires
- Drop upstreamed setuptools and include patches
- Unbundle picosat
- Avoid rebuilding the entire library for python
- Build with BreakID support
- Rename the python subpackage to match upstream

* Wed Jan 24 2024 Fedora Release Engineering <releng@fedoraproject.org> - 5.8.0-18
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild

* Fri Jan 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 5.8.0-17
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild

* Thu Jan 18 2024 Jonathan Wakely <jwakely@redhat.com> - 5.8.0-16
- Rebuilt for Boost 1.83

* Wed Jul 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 5.8.0-15
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild

* Tue Jun 13 2023 Python Maint <python-maint@redhat.com> - 5.8.0-14
- Rebuilt for Python 3.12

* Mon Feb 20 2023 Jonathan Wakely <jwakely@redhat.com> - 5.8.0-13
- Rebuilt for Boost 1.81

* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 5.8.0-12
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild

* Tue Jan 17 2023 Jerry James <loganjerry@gmail.com> - 5.8.0-11
- Add -include patch for GCC 13 compatibility

* Mon Dec 19 2022 Jerry James <loganjerry@gmail.com> - 5.8.0-11
- Use setuptools instead of distutils (rhbz#2154857)

* Mon Aug 15 2022 Jerry James <loganjerry@gmail.com> - 5.8.0-10
- Convert License tag to SPDX

* Wed Jul 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 5.8.0-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild

* Mon Jun 13 2022 Python Maint <python-maint@redhat.com> - 5.8.0-9
- Rebuilt for Python 3.11

* Wed May 04 2022 Thomas Rodgers <trodgers@redhat.com> - 5.8.0-8
- Rebuilt for Boost 1.78

* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 5.8.0-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild

* Fri Aug 06 2021 Jonathan Wakely <jwakely@redhat.com> - 5.8.0-6
- Rebuilt for Boost 1.76

* Wed Jul 21 2021 Fedora Release Engineering <releng@fedoraproject.org> - 5.8.0-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild

* Fri Jun 04 2021 Python Maint <python-maint@redhat.com> - 5.8.0-4
- Rebuilt for Python 3.10

* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 5.8.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild

* Fri Jan 22 2021 Jonathan Wakely <jwakely@redhat.com> - 5.8.0-2
- Rebuilt for Boost 1.75

* Fri Nov 27 2020 Jerry James <loganjerry@gmail.com> - 5.8.0-1
- Version 5.8.0

* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 5.7.1-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild

* Thu May 28 2020 Jonathan Wakely <jwakely@redhat.com> - 5.7.1-3
- Rebuilt for Boost 1.73

* Tue May 26 2020 Miro Hrončok <mhroncok@redhat.com> - 5.7.1-2
- Rebuilt for Python 3.9

* Thu May  7 2020 Jerry James <loganjerry@gmail.com> - 5.7.1-1
- Version 5.7.1

* Sat Apr 25 2020 Jerry James <loganjerry@gmail.com> - 5.7.0-1
- Version 5.7.0

* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 5.6.8-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild

* Mon Jan 27 2020 Jerry James <loganjerry@gmail.com> - 5.6.8-5
- Rebuild for m4ri 20200125

* Thu Jan 16 2020 Jerry James <loganjerry@gmail.com> - 5.6.8-4
- Rebuild for m4ri 20200115

* Mon Aug 19 2019 Miro Hrončok <mhroncok@redhat.com> - 5.6.8-3
- Rebuilt for Python 3.8

* Wed Jul 24 2019 Fedora Release Engineering <releng@fedoraproject.org> - 5.6.8-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild

* Tue Feb 19 2019 Jerry James <loganjerry@gmail.com> - 5.6.8-1
- New upstream release

* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 5.6.6-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild

* Thu Jan 24 2019 Jonathan Wakely <jwakely@redhat.com> - 5.6.6-3
- Rebuilt for Boost 1.69

* Thu Jan 17 2019 Jerry James <loganjerry@gmail.com> - 5.6.6-2
- Fix FTBFS with latest cmake release

* Mon Dec 24 2018 Jerry James <loganjerry@gmail.com> - 5.6.6-1
- New upstream release

* Sat Oct 13 2018 Jerry James <loganjerry@gmail.com> - 5.6.5-1
- New upstream release
- Drop the python2 subpackage

* Wed Aug  8 2018 Jerry James <loganjerry@gmail.com> - 5.6.4-1
- New upstream release

* Sat Jul 21 2018 Jerry James <loganjerry@gmail.com> - 5.6.3-4
- Add Obsoletes and Provides for cryptominisat4

* Thu Jul 12 2018 Fedora Release Engineering <releng@fedoraproject.org> - 5.6.3-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild

* Tue Jun 19 2018 Miro Hrončok <mhroncok@redhat.com> - 5.6.3-2
- Rebuilt for Python 3.7

* Tue Jun 12 2018 Jerry James <loganjerry@gmail.com> - 5.6.3-1
- New upstream release
- License change to MIT
- Add python3 subpackage

* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 5.0.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild

* Tue Jan 23 2018 Jonathan Wakely <jwakely@redhat.com> - 5.0.1-2
- Rebuilt for Boost 1.66

* Sat Nov 25 2017 Jerry James <loganjerry@gmail.com> - 5.0.1-1
- Update to major version 5

* Sat Sep 23 2017 Jerry James <loganjerry@gmail.com> - 2.9.11-6
- Update the mariadb BR (bz 1493618)

* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.9.11-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild

* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.9.11-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild

* Mon May 15 2017 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.9.11-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_27_Mass_Rebuild

* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.9.11-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild

* Sat Mar 19 2016 Jerry James <loganjerry@gmail.com> - 2.9.11-1
- New upstream release

* Sat Mar  5 2016 Jerry James <loganjerry@gmail.com> - 2.9.10-3
- post/postun scripts are for libs, not the main package

* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 2.9.10-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild

* Fri Sep  4 2015 Jerry James <loganjerry@gmail.com> - 2.9.10-1
- New upstream release

* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.9.9-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild

* Sat May 02 2015 Kalev Lember <kalevlember@gmail.com> - 2.9.9-5
- Rebuilt for GCC 5 C++11 ABI change

* Wed Feb 11 2015 Jerry James <loganjerry@gmail.com> - 2.9.9-4
- Use license macro

* Sat Aug 16 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.9.9-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild

* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.9.9-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild

* Tue Mar 18 2014 Jerry James <loganjerry@gmail.com> - 2.9.9-1
- New upstream release

* Mon Sep 23 2013 Jerry James <loganjerry@gmail.com> - 2.9.8-1
- New upstream release

* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.9.6-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild

* Mon Mar 11 2013 Jerry James <loganjerry@gmail.com> - 2.9.6-1
- New upstream release

* Wed Feb 13 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.9.5-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild

* Mon Aug  6 2012 Jerry James <loganjerry@gmail.com> - 2.9.5-1
- New upstream release
- Project files now carry the MIT license

* Wed Jul 18 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.9.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild

* Mon Apr 16 2012 Jerry James <loganjerry@gmail.com> - 2.9.3-1
- New upstream version

* Tue Feb 28 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.9.2-2
- Rebuilt for c++ ABI breakage

* Mon Jan 23 2012 Jerry James <loganjerry@gmail.com> - 2.9.2-1
- New upstream version
- Man page is now upstream
- All patches have been applied upstream
- Tests have been removed from the source distribution

* Mon Jan  9 2012 Jerry James <loganjerry@gmail.com> - 2.9.1-3
- Rebuild for GCC 4.7

* Mon Dec 19 2011 Dan Horák <dan[at]danny.cz> - 2.9.1-2
- FPU handling is x86 specific
- set library path so the test is run

* Wed Dec  7 2011 Jerry James <loganjerry@gmail.com> - 2.9.1-1
- Initial RPM