stp/stp.spec
Jerry James cf5e266a7a Fix build failure on systems that do not define %{__isa_bits}.
Also fix mixed use of spaces and tabs.  Thank you, rpmlint.
2014-06-19 10:23:17 -06:00

177 lines
6.5 KiB
RPMSpec

# Upstream occasionally releases a subversion snapshot, but no "regular"
# releases since the 0.1 release.
%global gitdate 20140619
%global gittag 44de620db195122e812e81940c8edef947c18765
%global shorttag %(cut -b -7 <<< %{gittag})
%global user stp
Name: stp
Version: 0.1
Release: 23.%{gitdate}git.%{shorttag}%{?dist}
Summary: Constraint solver/decision procedure
Group: Applications/Engineering
License: MIT
URL: http://stp.github.io/stp/
Source0: https://github.com/%{user}/%{name}/tarball/%{gittag}/%{user}-%{name}-%{shorttag}.tar.gz
# This patch is specific to Fedora. Use the existing cryptominisat library
# instead of the bundled version.
Patch0: %{name}-unbundle.patch
# This patch has not yet been sent upstream. Fix a bunch of compiler warnings
# that may indicate miscompiled code.
Patch1: %{name}-warning.patch
BuildRequires: bison
BuildRequires: boost-devel
BuildRequires: cmake
BuildRequires: cryptominisat-devel
BuildRequires: flex
BuildRequires: python2
%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
Group: Applications/Engineering
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.
%prep
%setup -q -n %{user}-%{name}-%{shorttag}
%patch0 -p1
%patch1 -p1
# Make sure nothing uses the shipped cryptominisat sources
rm -fr src/sat/cryptominisat2
# We do not want to know about the order of member initializers
sed -i "s/-Wno-deprecated/& -Wno-reorder/" CMakeLists.txt
%build
%cmake -DALSO_BUILD_STATIC_LIB=0
make %{?_smp_mflags}
%install
make install DESTDIR=%{buildroot}
# Fix up the libdir install on 64-bit targets
if [ "%{_libdir}" != "%{_prefix}/lib" ]; then
mkdir %{buildroot}%{_libdir}
mv %{buildroot}%{_prefix}/lib/cmake %{buildroot}%{_libdir}
mv %{buildroot}%{_prefix}/lib/libstp.so %{buildroot}%{_libdir}
fi
%files
%{_bindir}/*
%{_libdir}/libstp.so
%doc AUTHORS README.markdown LICENSE LICENSE_COMPONENTS papers
%files devel
%{_includedir}/stp/
%{_libdir}/cmake/STP/
%changelog
* 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