7346c30
Name:           picosat
7e0055f
Version:        965
5d729fc
Release:        21%{?dist}
7346c30
Summary:        A SAT solver
7346c30
7346c30
License:        MIT
7346c30
URL:            http://fmv.jku.at/picosat/
7346c30
Source0:        http://fmv.jku.at/picosat/%{name}-%{version}.tar.gz
7346c30
# Thanks to David Wheeler for the man page.
7346c30
Source1:        picosat.1
a8a3e7f
# Man page link for picosat.trace
a8a3e7f
Source2:        picosat.trace.1
a8a3e7f
# Man page for picomus
a8a3e7f
Source3:        picomus.1
a8a3e7f
# This patch has not been sent upstream.  It is specific to Fedora's build of
a8a3e7f
# two distinct binaries, one with trace support and one without.
Jerry James 82cdf33
Patch0:         %{name}-trace.patch
7e0055f
24975ec
BuildRequires:  gcc
47705d3
BuildRequires:  make
7e0055f
BuildRequires:  R-core-devel
7346c30
Jerry James 0f7c62c
Requires:       bzip2
Jerry James 0f7c62c
Requires:       gzip
Jerry James 0f7c62c
Requires:       %{name}-libs%{?_isa} = %{version}-%{release}
7346c30
7346c30
%description
7346c30
PicoSAT solves the SAT problem, which is the classical NP complete
7346c30
problem of searching for a satisfying assignment of a propositional
7346c30
formula in conjunctive normal form (CNF).  PicoSAT can generate proofs
7346c30
and cores in memory by compressing the proof trace.  It supports the
7346c30
proof format of TraceCheck.
7346c30
7e0055f
%package R
7e0055f
Summary:        A SAT solver library for R
7e0055f
7e0055f
%description R
7e0055f
The PicoSAT library, which contains routines that solve the SAT problem.
7e0055f
The library has a simple API which is similar to that of previous
7e0055f
solvers by the same authors.  This version of the library is built for
7e0055f
use with R projects.
7e0055f
7346c30
%package libs
7346c30
Summary:        A SAT solver library
7346c30
7346c30
%description libs
7346c30
The PicoSAT library, which contains routines that solve the SAT problem.
7346c30
The library has a simple API which is similar to that of previous
7346c30
solvers by the same authors.
7346c30
7346c30
%package devel
7346c30
Summary:        Development files for PicoSAT
7e0055f
Requires:       %{name}-R%{?_isa} = %{version}-%{release}
9934fb7
Requires:       %{name}-libs%{?_isa} = %{version}-%{release}
7346c30
7346c30
%description devel
a8a3e7f
Headers and other development files for PicoSAT.
7346c30
7346c30
%prep
d3b7ab2
%autosetup -p0
7346c30
7346c30
%build
7346c30
# The configure script is NOT autoconf-generated and chooses its own CFLAGS,
7346c30
# so we mimic its effects instead of using it.
a8a3e7f
7e0055f
# Build the version with R support
d3b7ab2
sed -e 's/@CC@/gcc/' \
d3b7ab2
    -e 's|@CFLAGS@|%{build_cflags} -D_GNU_SOURCE=1 -DNDEBUG -DRCODE -I%{_includedir}/R|' \
d3b7ab2
    -e 's|-Xlinker libpicosat.so|-Xlinker libpicosat.so.0 %{build_ldflags} -L%{_libdir}/R/lib -lR|' \
d3b7ab2
    -e 's/libpicosat/libpicosat-R/g' \
d3b7ab2
    -e 's/-lpicosat/-lpicosat-R/g' \
d3b7ab2
    -e 's/@TARGETS@/libpicosat-R.so/' \
7e0055f
  makefile.in > makefile
47705d3
%make_build
7e0055f
a8a3e7f
# Build the version with trace support
d3b7ab2
sed -e 's/@CC@/gcc/' \
d3b7ab2
    -e 's|@CFLAGS@|%{build_cflags} -D_GNU_SOURCE=1 -DNDEBUG -DTRACE|' \
d3b7ab2
    -e 's|-Xlinker libpicosat.so|-Xlinker libpicosat.so.0 %{build_ldflags}|' \
d3b7ab2
    -e 's/libpicosat/libpicosat-trace/g' \
d3b7ab2
    -e 's/-lpicosat/-lpicosat-trace/g' \
d3b7ab2
    -e 's/@TARGETS@/libpicosat-trace.so picosat picomus/' \
a8a3e7f
  makefile.in > makefile
47705d3
%make_build
a8a3e7f
mv picosat picosat.trace
a8a3e7f
a8a3e7f
# Build the fast version.
a8a3e7f
# Note that picomus needs trace support, so we don't rebuild it.
a8a3e7f
rm -f *.o *.s config.h
d3b7ab2
sed -e 's/@CC@/gcc/' \
d3b7ab2
    -e 's|@CFLAGS@|%{build_cflags} -D_GNU_SOURCE=1 -DNDEBUG|' \
d3b7ab2
    -e 's|-Xlinker libpicosat.so|-Xlinker libpicosat.so.0 %{build_ldflags}|' \
d3b7ab2
    -e 's/@TARGETS@/libpicosat.so picosat picomcs picogcnf/' \
7346c30
  makefile.in > makefile
47705d3
%make_build
7346c30
7346c30
%install
7346c30
# Install the header file
7346c30
mkdir -p $RPM_BUILD_ROOT%{_includedir}
7346c30
cp -p picosat.h $RPM_BUILD_ROOT%{_includedir}
7346c30
a8a3e7f
# Install the libraries
7346c30
mkdir -p $RPM_BUILD_ROOT%{_libdir}
7e0055f
install -m 0755 -p libpicosat-R.so \
7e0055f
  $RPM_BUILD_ROOT%{_libdir}/libpicosat-R.so.0.0.%{version}
7e0055f
ln -s libpicosat-R.so.0.0.%{version} $RPM_BUILD_ROOT%{_libdir}/libpicosat-R.so.0
7e0055f
ln -s libpicosat-R.so.0 $RPM_BUILD_ROOT%{_libdir}/libpicosat-R.so
7e0055f
install -m 0755 -p libpicosat-trace.so \
7e0055f
  $RPM_BUILD_ROOT%{_libdir}/libpicosat-trace.so.0.0.%{version}
a8a3e7f
ln -s libpicosat-trace.so.0.0.%{version} $RPM_BUILD_ROOT%{_libdir}/libpicosat-trace.so.0
a8a3e7f
ln -s libpicosat-trace.so.0 $RPM_BUILD_ROOT%{_libdir}/libpicosat-trace.so
7e0055f
install -m 0755 -p libpicosat.so \
7e0055f
  $RPM_BUILD_ROOT%{_libdir}/libpicosat.so.0.0.%{version}
7346c30
ln -s libpicosat.so.0.0.%{version} $RPM_BUILD_ROOT%{_libdir}/libpicosat.so.0
7346c30
ln -s libpicosat.so.0 $RPM_BUILD_ROOT%{_libdir}/libpicosat.so
7346c30
a8a3e7f
# Install the binaries
7346c30
mkdir -p $RPM_BUILD_ROOT%{_bindir}
7e0055f
install -m 0755 -p picosat picosat.trace picomus picomcs picogcnf \
7e0055f
  $RPM_BUILD_ROOT%{_bindir}
7346c30
a8a3e7f
# Install the man pages
7346c30
mkdir -p $RPM_BUILD_ROOT%{_mandir}/man1
a8a3e7f
cp -p %{SOURCE1} %{SOURCE2} %{SOURCE3} $RPM_BUILD_ROOT%{_mandir}/man1
7346c30
049637e
%ldconfig_scriptlets R
049637e
%ldconfig_scriptlets libs
7346c30
7346c30
%files
Jerry James 82cdf33
%{_bindir}/pico*
a8a3e7f
%{_mandir}/man1/picosat*
a8a3e7f
%{_mandir}/man1/picomus*
7346c30
7e0055f
%files R
7e0055f
%doc NEWS
7e0055f
%{!?_licensedir:%global license %%doc}
7e0055f
%license LICENSE
d3b7ab2
%{_libdir}/libpicosat-R.so.0*
7e0055f
7346c30
%files libs
Jerry James 0f7c62c
%doc NEWS
Orion Poplawski 31dddb2
%{!?_licensedir:%global license %%doc}
Jerry James 0f7c62c
%license LICENSE
d3b7ab2
%{_libdir}/libpicosat-trace.so.0*
d3b7ab2
%{_libdir}/libpicosat.so.0*
7346c30
7346c30
%files devel
7346c30
%{_includedir}/picosat.h
7e0055f
%{_libdir}/libpicosat-R.so
a8a3e7f
%{_libdir}/libpicosat-trace.so
7346c30
%{_libdir}/libpicosat.so
7346c30
7346c30
%changelog
5d729fc
* Thu Apr 25 2024 Iñaki Úcar <iucar@fedoraproject.org> - 965-21
5d729fc
- R-maint-sig mass rebuild
5d729fc
850590d
* Thu Jan 25 2024 Fedora Release Engineering <releng@fedoraproject.org> - 965-20
850590d
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
850590d
d5e71fb
* Sun Jan 21 2024 Fedora Release Engineering <releng@fedoraproject.org> - 965-19
d5e71fb
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
d5e71fb
5939100
* Fri Jul 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 965-18
5939100
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
5939100
5cbf30a
* Fri Apr 21 2023 Iñaki Úcar <iucar@fedoraproject.org> - 965-17
5cbf30a
- R-maint-sig mass rebuild
5cbf30a
1321648
* Fri Jan 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 965-16
1321648
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
1321648
d3b7ab2
* Tue Jan 17 2023 Jerry James <loganjerry@gmail.com> - 965-15
d3b7ab2
- Minor spec file cleanups
d3b7ab2
232279b
* Fri Jul 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 965-15
232279b
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
232279b
8144d0a
* Fri Jan 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 965-14
8144d0a
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
8144d0a
5abaa88
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 965-13
5abaa88
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
5abaa88
af4bd0c
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 965-12
af4bd0c
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
af4bd0c
7e14115
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 965-11
7e14115
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
7e14115
e003092
* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 965-10
e003092
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
e003092
7020e24
* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 965-9
7020e24
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
7020e24
3ee7815
* Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 965-8
3ee7815
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
3ee7815
6bc069c
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 965-7
6bc069c
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
6bc069c
a5cf3ed
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 965-6
a5cf3ed
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
a5cf3ed
18acc41
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 965-5
18acc41
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
18acc41
77657eb
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 965-4
77657eb
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
77657eb
cf18b96
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 965-3
cf18b96
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
cf18b96
9d1757e
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 965-2
9d1757e
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
9d1757e
7e0055f
* Wed Jan 13 2016 Jerry James <loganjerry@gmail.com> - 965-1
7e0055f
- New upstream release
7e0055f
- Drop -proof-access patch now that csisat has been retired
7e0055f
- Add a library built for R support
7e0055f
787b334
* Thu Jun 18 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 960-2
787b334
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
787b334
Jerry James 0f7c62c
* Fri Nov  7 2014 Jerry James <loganjerry@gmail.com> - 960-1
Jerry James 0f7c62c
- New upstream release
Jerry James 0f7c62c
- Drop upstreamed -alias patch
Jerry James 0f7c62c
- Fix license handling
Jerry James 0f7c62c
3b639d5
* Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 957-3
3b639d5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
3b639d5
f3d1c4e
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 957-2
f3d1c4e
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
f3d1c4e
Jerry James 4d9d514
* Wed Jul 31 2013 Jerry James <loganjerry@gmail.com> - 957-1
Jerry James 4d9d514
- New upstream release
Jerry James 4d9d514
- Remove comment that was being pulled into postun
Jerry James 4d9d514
946c84d
* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 951-2
946c84d
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
946c84d
Jerry James 82cdf33
* Mon Aug 20 2012 Jerry James <loganjerry@gmail.com> - 951-1
Jerry James 82cdf33
- New upstream release
Jerry James 82cdf33
646cb63
* Sat Jul 21 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 936-4
646cb63
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
646cb63
9934fb7
* Fri Jan  6 2012 Jerry James <loganjerry@gmail.com> - 936-3
9934fb7
- Rebuild for GCC 4.7
9934fb7
- Minor spec file cleanups
9934fb7
57cfb1c
* Wed Feb 09 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 936-2
57cfb1c
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
57cfb1c
a8a3e7f
* Thu Jan 27 2011 Jerry James <loganjerry@gmail.com> - 936-1
a8a3e7f
- Update to version 936.
a8a3e7f
- Drop picosat-sharedlib.patch, incorporated upstream.
a8a3e7f
- Add picosat-trace.patch, to support separate tracing and nontracing libs.
a8a3e7f
7346c30
* Tue Jan 19 2010 Jerry James <loganjerry@gmail.com> - 913-2
7346c30
- Spec file cleanups from review
7346c30
- Man page courtesy of David Wheeler
7346c30
7346c30
* Wed Sep  2 2009 Jerry James <loganjerry@gmail.com> - 913-1
7346c30
- Initial RPM