stp/stp.spec

388 lines
15 KiB
RPMSpec
Raw Permalink Normal View History

Name: stp
2019-04-18 00:56:37 +00:00
Version: 2.3.3
Release: 27%{?dist}
Summary: Constraint solver/decision procedure
# MIT: the project as a whole
# MIT-Modern-Variant: lib/extlib-abc
# LGPL-2.0-or-later: lib/extlib-constbv
# BSD-3-Clause: include/stp/Simplifier/constantBitP/MersenneTwister.h
License: MIT AND MIT-Modern-Variant AND LGPL-2.0-or-later AND BSD-3-Clause
2015-09-04 16:14:38 +00:00
URL: http://stp.github.io/
2019-04-18 00:56:37 +00:00
Source0: https://github.com/stp/stp/archive/%{version}/%{name}-%{version}.tar.gz
2016-02-21 03:17:01 +00:00
# Fix some format specifier problems
2019-07-20 17:54:13 +00:00
Patch0: %{name}-format.patch
# Do not declare cryptominisat and minisat as public libs
# See https://bugzilla.redhat.com/show_bug.cgi?id=1981466
Patch1: %{name}-private-libs.patch
# Distutils has been deprecated. Use sysconfig instead.
# https://github.com/stp/stp/pull/450
Patch2: %{name}-distutils.patch
2023-01-21 05:06:13 +00:00
# Add a missing include for cstdint
Patch3: %{name}-cstdint.patch
BuildRequires: bison
BuildRequires: boost-devel
BuildRequires: cmake
2015-09-04 16:14:38 +00:00
BuildRequires: cryptominisat
2013-09-26 21:16:54 +00:00
BuildRequires: cryptominisat-devel
2020-11-10 00:30:57 +00:00
BuildRequires: flex
2016-03-20 00:25:05 +00:00
BuildRequires: gcc-c++
BuildRequires: help2man
2020-11-10 00:30:57 +00:00
BuildRequires: make
2015-09-04 16:14:38 +00:00
BuildRequires: minisat2-devel
BuildRequires: perl(Getopt::Long)
2020-11-27 15:47:57 +00:00
BuildRequires: pkgconfig(sqlite3)
BuildRequires: python3-devel
%description
STP (Simple Theorem Prover) is a constraint solver (also referred to as
a decision procedure or automated prover) aimed at solving constraints
generated by program analysis tools, theorem provers, automated bug
finders, intelligent fuzzers and model checkers. STP has been used in
many research projects at Stanford, Berkeley, MIT, CMU and other
universities, as well as companies and government agencies.
The input to STP are formulas over the theory of bit-vectors and arrays
(this theory captures most expressions from languages like C/C++/Java
and Verilog), and the output of STP is a single bit of information that
indicates whether the formula is satisfiable or not. If the input is
satisfiable, then it also generates a variable assignment to satisfy the
input formula.
2022-07-19 21:32:26 +00:00
Additional information can be found at https://stp.readthedocs.io/.
%package devel
License: MIT
Summary: Development files for STP constraint solver/decision procedure
2012-01-10 23:20:28 +00:00
Requires: %{name}%{?_isa} = %{version}-%{release}
%description devel
Development files for the STP (Simple Theorem Prover),
a constraint solver (also referred to as a decision procedure
or automated prover). Provides a static library.
%package -n python3-%{name}
License: MIT
Summary: Python 3 interface to STP
Requires: %{name} = %{version}-%{release}
BuildArch: noarch
%description -n python3-%{name}
Python 3 interface to STP.
%prep
%autosetup -p1
2016-02-21 03:17:01 +00:00
# We do not want to know about the order of member initializers
sed -i "s/-Wno-deprecated/-Wno-reorder/" CMakeLists.txt
# Prevent a clash between minisat and cryptominisat5 definitions
2015-09-04 16:14:38 +00:00
sed '/SATSolver.h/a#undef var_Undef\n#undef l_True\n#undef l_False\n#undef l_Undef' \
-i.orig include/stp/Sat/CryptoMinisat5.h
touch -r include/stp/Sat/CryptoMinisat5.h.orig include/stp/Sat/CryptoMinisat5.h
rm -f include/stp/Sat/CryptoMinisat5.h.orig
2021-03-30 15:47:47 +00:00
# Prevent useless rpaths
sed -e '/CMAKE_SKIP_BUILD_RPATH/s/FALSE/TRUE/' \
-e '/SET(CMAKE_INSTALL_RPATH .*)/d' \
-e '/CMAKE_INSTALL_RPATH_USE_LINK_PATH/s/TRUE/FALSE/' \
-e '/isSystemDir/d' \
-i CMakeLists.txt
%build
export CFLAGS='%{build_cflags} -I %{_includedir}/minisat'
export CXXFLAGS='%{build_cxxflags} -I %{_includedir}/minisat'
2020-07-22 03:01:27 +00:00
%cmake -DPYTHON_EXECUTABLE:FILEPATH=%{_bindir}/python%{python3_version} \
-DPYTHON_LIBRARY:FILEPATH=%{_libdir}/libpython%{python3_version}.so \
2020-07-27 15:31:35 +00:00
-DPYTHON_INCLUDE_DIR:FILEPATH=%{_includedir}/python%{python3_version}
2019-08-01 01:40:34 +00:00
# Fix the help2man invocation
2021-03-30 15:47:47 +00:00
sed -i "s,help2man,LD_LIBRARY_PATH=$PWD/%{_vpath_builddir}/lib &," \
2020-11-10 00:30:57 +00:00
%{_vpath_builddir}/CMakeFiles/man_stp.dir/build.make
2019-08-01 01:40:34 +00:00
2020-07-27 15:31:35 +00:00
%cmake_build
%install
2020-07-27 15:31:35 +00:00
%cmake_install
# Fix the location of the man page
mkdir -p %{buildroot}%{_datadir}
mv %{buildroot}%{_prefix}/man %{buildroot}%{_datadir}/man
%files
%{_bindir}/stp
%{_bindir}/stp_simple
%{_libdir}/libstp.so.2*
%{_mandir}/man1/stp.1*
2015-02-22 03:13:24 +00:00
%doc AUTHORS README.markdown papers
%license LICENSE LICENSE_COMPONENTS
%files devel
%{_includedir}/stp/
%{_libdir}/cmake/STP/
2015-09-04 16:14:38 +00:00
%{_libdir}/libstp.so
%files -n python3-%{name}
%{python3_sitelib}/%{name}/
%changelog
* Sat Jul 22 2023 Fedora Release Engineering <releng@fedoraproject.org> - 2.3.3-27
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
2023-06-13 21:29:33 +00:00
* Tue Jun 13 2023 Python Maint <python-maint@redhat.com> - 2.3.3-26
- Rebuilt for Python 3.12
2023-02-20 22:17:23 +00:00
* Mon Feb 20 2023 Jonathan Wakely <jwakely@redhat.com> - 2.3.3-25
- Rebuilt for Boost 1.81
2023-01-21 05:06:13 +00:00
* Sat Jan 21 2023 Jerry James <loganjerry@gmail.com> - 2.3.3-24
- Add cstdint patch to fix FTBFS
* Sat Jan 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 2.3.3-24
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Wed Dec 14 2022 Jerry James <loganjerry@gmail.com> - 2.3.3-23
- Add distutils patch
- Use more specific globs in %%files
- Convert License tags to SPDX
* Sat Jul 23 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2.3.3-22
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
2022-06-13 17:54:12 +00:00
* Mon Jun 13 2022 Python Maint <python-maint@redhat.com> - 2.3.3-21
- Rebuilt for Python 3.11
2022-05-04 09:42:11 +00:00
* Wed May 04 2022 Thomas Rodgers <trodgers@redhat.com> - 2.3.3-20
- Rebuilt for Boost 1.78
* Sat Jan 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2.3.3-19
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
2021-08-07 02:40:37 +00:00
* Sat Aug 07 2021 Jonathan Wakely <jwakely@redhat.com> - 2.3.3-18
- Rebuilt for Boost 1.76
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.3.3-17
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Wed Jul 14 2021 Jerry James <loganjerry@gmail.com> - 2.3.3-16
- Add -private-libs patch to fix bz 1981466
2021-06-04 19:15:39 +00:00
* Fri Jun 04 2021 Python Maint <python-maint@redhat.com> - 2.3.3-15
- Rebuilt for Python 3.10
2021-03-30 15:47:47 +00:00
* Tue Mar 30 2021 Jerry James <loganjerry@gmail.com> - 2.3.3-14
- Remove useless rpaths
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.3.3-13
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
2021-01-22 21:03:23 +00:00
* Fri Jan 22 2021 Jonathan Wakely <jwakely@redhat.com> - 2.3.3-12
- Rebuilt for Boost 1.75
2020-11-27 15:47:57 +00:00
* Fri Nov 27 2020 Jerry James <loganjerry@gmail.com> - 2.3.3-11
- Rebuild for cryptominisat 5.8.0
* Sat Aug 01 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.3.3-10
- Second attempt - Rebuilt for
https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.3.3-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
2020-05-31 09:50:09 +00:00
* Sun May 31 2020 Jonathan Wakely <jwakely@redhat.com> - 2.3.3-8
- Rebuilt for Boost 1.73
2020-05-26 01:51:01 +00:00
* Tue May 26 2020 Miro Hrončok <mhroncok@redhat.com> - 2.3.3-7
- Rebuilt for Python 3.9
2020-04-25 23:43:29 +00:00
* Sat Apr 25 2020 Jerry James <loganjerry@gmail.com> - 2.3.3-6
- Rebuild for cryptominisat 5.7.0
* Fri Jan 31 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.3.3-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
2019-10-03 12:39:05 +00:00
* Thu Oct 03 2019 Miro Hrončok <mhroncok@redhat.com> - 2.3.3-4
- Rebuilt for Python 3.8.0rc1 (#1748018)
2019-08-19 09:06:24 +00:00
* Mon Aug 19 2019 Miro Hrončok <mhroncok@redhat.com> - 2.3.3-3
- Rebuilt for Python 3.8
* Sat Jul 27 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.3.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
2019-07-20 17:54:13 +00:00
* Sat Jul 20 2019 Jerry James <loganjerry@gmail.com> - 2.3.3-1
- Disable rpath
2019-04-18 00:56:37 +00:00
* Wed Apr 17 2019 Jerry James <loganjerry@gmail.com> - 2.3.3-1
- New upstream version
* Sun Feb 03 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.3.1-5.20181115git.d7d6530
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Thu Nov 22 2018 Jerry James <loganjerry@gmail.com> - 2.3.1-4.20181115git.d7d6530
- Update to recent git snapshot
- Drop the python2 subpackage (bz 1634557)
* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.3.1-3.20180607git.c68788e
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
2018-06-19 09:27:57 +00:00
* Tue Jun 19 2018 Miro Hrončok <mhroncok@redhat.com> - 2.3.1-2.20180607git.c68788e
- Rebuilt for Python 3.7
* Wed Jun 13 2018 Jerry James <loganjerry@gmail.com> - 2.3.1-1.20180607git.c68788e
- Update to recent git snapshot
- Add a python3 subpackage
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.1.2-12.20171116git.b67aa83
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
2018-01-23 21:51:57 +00:00
* Tue Jan 23 2018 Jonathan Wakely <jwakely@redhat.com> - 2.1.2-11.20171116git.b67aa83
- Rebuilt for Boost 1.66
* Sat Nov 25 2017 Jerry James <loganjerry@gmail.com> - 2.1.2-10.20171116git.b67aa83
- Update to recent git snapshot
- Build with cryptominisat5 support
* Sat Aug 19 2017 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 2.1.2-9.20151122git.3785148
- Python 2 binary package renamed to python2-stp
See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.1.2-8.20151122git.3785148
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.1.2-7.20151122git.3785148
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
2017-07-18 15:59:52 +00:00
* Tue Jul 18 2017 Jonathan Wakely <jwakely@redhat.com> - 2.1.2-6.20151122git.3785148
- Rebuilt for Boost 1.64
2017-02-08 13:38:27 +00:00
* Wed Feb 08 2017 Kalev Lember <klember@redhat.com> - 2.1.2-5.20151122git.3785148
- Rebuilt for Boost 1.63
2017-01-29 18:12:47 +00:00
* Sat Jan 28 2017 Jerry James <loganjerry@gmail.com> - 2.1.2-4.20151122git.3785148
- Fix cmake files (bz 1414167)
* Tue Jul 19 2016 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.1.2-3.20151122git.3785148
- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages
2016-03-20 00:25:05 +00:00
* Sat Mar 19 2016 Jerry James <loganjerry@gmail.com> - 2.1.2-2.20151122git.3785148
- Rebuild for minisat 2.2.1
2016-02-21 03:17:01 +00:00
* Sat Feb 20 2016 Jerry James <loganjerry@gmail.com> - 2.1.2-1.20151122git.3785148
- Update to recent git snapshot
* Fri Feb 05 2016 Fedora Release Engineering <releng@fedoraproject.org> - 2.1.0-3.20150904git.5405af4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
2016-01-19 00:48:06 +00:00
* Tue Jan 19 2016 Jonathan Wakely <jwakely@redhat.com> - 2.1.0-2.20150904git.5405af4
- Rebuilt for Boost 1.60
2015-09-04 16:14:38 +00:00
* Fri Sep 4 2015 Jerry James <loganjerry@gmail.com> - 2.1.0-1.20150904git.5405af4
- Update to recent git snapshot
* Wed Jul 29 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.1-30.20140619git.44de620
- Rebuilt for https://fedoraproject.org/wiki/Changes/F23Boost159
2015-07-22 17:37:56 +00:00
* Wed Jul 22 2015 David Tardon <dtardon@redhat.com> - 0.1-29.20140619git.44de620
- rebuild for Boost 1.58
* Fri Jun 19 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.1-28.20140619git.44de620
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
2015-05-02 16:00:49 +00:00
* Sat May 02 2015 Kalev Lember <kalevlember@gmail.com> - 0.1-27.20140619git.44de620
- Rebuilt for GCC 5 C++11 ABI change
2015-02-22 03:14:33 +00:00
* Sat Feb 21 2015 Jerry James <loganjerry@gmail.com> - 0.1.26-20140610git.44de620
2015-02-22 03:13:24 +00:00
- Use license macro
2015-01-27 02:28:22 +00:00
* Tue Jan 27 2015 Petr Machata <pmachata@redhat.com> - 0.1-25.20140619git.44de620
- Rebuild for boost 1.57.0
* Mon Aug 18 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.1-24.20140619git.44de620
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
* Wed Jun 18 2014 Jerry James <loganjerry@gmail.com> - 0.1-23.20140619git.44de620
- Update to recent git snapshot
- Drop upstreamed -undefined patch
* Sun Jun 08 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.1-22.20140402git.f8a392d
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
2014-05-23 01:23:14 +00:00
* Fri May 23 2014 Petr Machata <pmachata@redhat.com> - 0.1-21.20140402git.f8a392d
- Rebuild for boost 1.55.0
2014-04-29 21:22:26 +00:00
* Tue Apr 29 2014 Jerry James <loganjerry@gmail.com> - 0.1-20.20140402git.f8a392d
- Update to recent git snapshot
* Wed Mar 19 2014 Jerry James <loganjerry@gmail.com> - 0.1-19.20140319git.6110a49
- Update to recent git snapshot, now hosted on github
- Build now uses cmake
- Tests now need boolector, which has license problems. Disable %%check for
now unless we can find something useful to do.
* Wed Oct 9 2013 Jerry James <loganjerry@gmail.com> - 0.1-18.20130223svn
- Really rebuild for cryptominisat 2.9.8
2013-09-26 21:16:54 +00:00
* Thu Sep 26 2013 Jerry James <loganjerry@gmail.com> - 0.1-17.20130223svn
- Rebuild for cryptominisat 2.9.8
- Disable regression tests for non-x86 (see bz 1012698)
2013-09-26 21:16:54 +00:00
* Sun Aug 04 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.1-16.20130223svn
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
2013-07-30 12:47:44 +00:00
* Tue Jul 30 2013 Petr Machata <pmachata@redhat.com> - 0.1-15.20130223svn
- Rebuild for boost 1.54.0
* Mon Mar 11 2013 Jerry James <loganjerry@gmail.com> - 0.1.14-20130223svn
- Update to recent subversion snapshot
- Reenable the check script
2013-02-12 00:00:41 +00:00
* Mon Feb 11 2013 Jerry James <loganjerry@gmail.com> - 0.1-13.20130211svn
- Update to recent subversion snapshot
2012-10-17 22:31:14 +00:00
* Wed Oct 17 2012 Jerry James <loganjerry@gmail.com> - 0.1-12.20121002svn
- Update to recent subversion snapshot
* Tue Aug 7 2012 Jerry James <loganjerry@gmail.com> - 0.1-11.20120615svn
- Update to recent subversion snapshot
- Do not build bundled cryptominisat
* Sat Jul 21 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.1-10.20120109svn
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
2012-02-28 20:14:07 +00:00
* Tue Feb 28 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.1-9.20120109svn
- Rebuilt for c++ ABI breakage
2012-01-10 23:20:28 +00:00
* Tue Jan 10 2012 Jerry James <loganjerry@gmail.com> - 0.1-8.20120109svn
- Update to recent subversion snapshot
- Add GCC 4.7 patch
- Disable tests until valgrind doesn't cause failures in libdl
2012-01-10 23:20:28 +00:00
* Tue Dec 13 2011 Jerry James <loganjerry@gmail.com> - 0.1-7.20111130svn
- Update to recent subversion snapshot
- Minor spec file cleanups
* Wed Feb 09 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.1-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
* Sun Jul 26 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.1-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
* Fri Mar 6 2009 David A. Wheeler <dwheeler at, dwheeler.com> 0.1-4
2009-03-06 05:44:47 +00:00
- Re-sync with CVS
* Fri Mar 6 2009 David A. Wheeler <dwheeler at, dwheeler.com> 0.1-3
- Modified spec so can rebuild in proper order on Fedora
* Tue Mar 3 2009 David A. Wheeler <dwheeler at, dwheeler.com> 0.1-2
- Fixed comments by Marcela Maslanova, mmaslano (at) redhat*DOT*com 2009-02-26
- Moved definitions of subpackages to "top" of spec before prep.
- moved "check" before "files".
- Use macro for release version 0.1-11-18-2008 for future updates.
- No doc for -devel package; it's already in the base.
- CPPFLAGS now includes optflags.
* Mon Feb 23 2009 David A. Wheeler <dwheeler at, dwheeler.com> 0.1-1
- Initial packaging