stp/stp.spec

280 lines
11 KiB
RPMSpec

Name: stp
Version: 2.3.3
Release: 1%{?dist}
Summary: Constraint solver/decision procedure
License: MIT
URL: http://stp.github.io/
Source0: https://github.com/stp/stp/archive/%{version}/%{name}-%{version}.tar.gz
# Fix some format specifier problems
Patch0: %{name}-format.patch
BuildRequires: bison
BuildRequires: boost-devel
BuildRequires: cmake
BuildRequires: cryptominisat
BuildRequires: cryptominisat-devel
BuildRequires: gcc-c++
BuildRequires: help2man
BuildRequires: minisat2-devel
BuildRequires: flex
BuildRequires: perl(Getopt::Long)
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.
Additional information can be found at:
http://people.csail.mit.edu/vganesh/STP_files/stp.html
%package devel
Summary: Development files for STP constraint solver/decision procedure
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}
Summary: Python 3 interface to STP
Requires: %{name} = %{version}-%{release}
BuildArch: noarch
%{?python_provide:%python_provide python3-%{name}}
# This can be removed once F29 reaches EOL
Obsoletes: python2-%{name} < 2.3.1-4
Provides: python2-%{name} = %{version}-%{release}
%description -n python3-%{name}
Python 3 interface to STP.
%prep
%autosetup -p0
# 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
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
%build
export CFLAGS="%{optflags} -I %{_includedir}/minisat"
export CXXFLAGS="%{optflags} -I %{_includedir}/minisat"
%cmake -DPYTHON_EXECUTABLE:FILEPATH=%{_bindir}/python%{python3_version} \
-DPYTHON_LIBRARY:FILEPATH=%{_libdir}/libpython%{python3_version}.so \
-DPYTHON_INCLUDE_DIR:FILEPATH=%{_includedir}/python%{python3_version} .
# FIXME: %%{?_smp_mflags} doesn't work due to running genkinds.pl too late
make
%install
make install DESTDIR=%{buildroot}
# Fix the location of the man page
mkdir -p %{buildroot}%{_datadir}
mv %{buildroot}%{_prefix}/man %{buildroot}%{_datadir}/man
%files
%{_bindir}/*
%{_libdir}/libstp.so.*
%{_mandir}/man1/stp.1*
%doc AUTHORS README.markdown papers
%license LICENSE LICENSE_COMPONENTS
%files devel
%{_includedir}/stp/
%{_libdir}/cmake/STP/
%{_libdir}/libstp.so
%files -n python3-%{name}
%{python3_sitelib}/%{name}/
%changelog
* 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
* 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
* 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
* Tue Jul 18 2017 Jonathan Wakely <jwakely@redhat.com> - 2.1.2-6.20151122git.3785148
- Rebuilt for Boost 1.64
* Wed Feb 08 2017 Kalev Lember <klember@redhat.com> - 2.1.2-5.20151122git.3785148
- Rebuilt for Boost 1.63
* 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
* Sat Mar 19 2016 Jerry James <loganjerry@gmail.com> - 2.1.2-2.20151122git.3785148
- Rebuild for minisat 2.2.1
* 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
* Tue Jan 19 2016 Jonathan Wakely <jwakely@redhat.com> - 2.1.0-2.20150904git.5405af4
- Rebuilt for Boost 1.60
* 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
* 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
* Sat May 02 2015 Kalev Lember <kalevlember@gmail.com> - 0.1-27.20140619git.44de620
- Rebuilt for GCC 5 C++11 ABI change
* Sat Feb 21 2015 Jerry James <loganjerry@gmail.com> - 0.1.26-20140610git.44de620
- Use license macro
* 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
* Fri May 23 2014 Petr Machata <pmachata@redhat.com> - 0.1-21.20140402git.f8a392d
- Rebuild for boost 1.55.0
* 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
* 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)
* 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
* 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
* Mon Feb 11 2013 Jerry James <loganjerry@gmail.com> - 0.1-13.20130211svn
- Update to recent subversion snapshot
* 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
* Tue Feb 28 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.1-9.20120109svn
- Rebuilt for c++ ABI breakage
* 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
* 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
- 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