Blob Blame History Raw
Name:		fes
Version:	0.2
Release:	12%{?dist}
License:	GPL-2.0-or-later
Summary:	Fast Exhaustive Search
URL:		https://www-almasty.lip6.fr/~bouillaguet/implementation.html
Source0:	https://bitbucket.org/fes/fes/downloads/%{name}-%{version}.spkg
ExclusiveArch:	%{ix86} x86_64
# Fix various problems with the configure script and configuration headers
# 1. @VARIABLE@ expressions are not replaced in src/config.h
# 2. The Fedora optimization flag is overridden with -O3
# 3. -Werror causes build failures
# 4. -msse3 is added to the command line if the build CPU has SSE3 support
# 5. HAVE_SSE2 and HAVE_64_BITS are defined on all architectures
Patch0:		%{name}-configure.patch
# Update the python code from python2 to python3
Patch1:		%{name}-python3.patch
# Remove an extraneous "const"
Patch2:		%{name}-const.patch
# Remove references to undefined symbols on non-x86_64
Patch3:		%{name}-undef.patch

BuildRequires:	gcc
BuildRequires:	libtool
BuildRequires:	make
BuildRequires:	python3-devel
BuildRequires:	tex(latex)
BuildRequires:	tex(aeguill.sty)
BuildRequires:	tex(algpseudocode.sty)

%description
This external library implements an efficient implement of exhaustive
search to solve systems of low-degree boolean equations. Exhaustive
search is asymptotically faster than computing a Groebner basis,
except in special cases. This particular implementation is
particularly efficient (in the good cases it tests 3 candidate
solutions per CPU cycle on each core).

%package	devel
# GPL-2.0-or-later: fes-specific content
# Knuth-CTAN: the Computer Modern fonts embedded in the manual
License:	GPL-2.0-or-later AND Knuth-CTAN
Summary:	Development files for %{name}
Requires:	%{name}%{?_isa} = %{version}-%{release}

%description	devel
This package contains the header files and development documentation
for %{name}.

%prep
%autosetup -p0

pushd src
    # Remove prebuilt objects
    rm src/{a.out,autogenerated*,print,toto,*.pyc} doc/doc.{aux,log,pdf}

    # Regenerate the configure script due to the changes in patch0
    autoreconf -fi .
popd

%build
pushd src
    export CCASFLAGS="%{build_cflags} -Wa,--noexecstack"
    export PYTHON=%{__python3}
    %configure \
%ifnarch %{ix86} x86_64
    --disable-sse2 \
%endif
    --disable-static --enable-dynamic

    %make_build

    pushd doc
	pdflatex -interaction=batchmode doc.tex
	pdflatex -interaction=batchmode doc.tex
    popd
popd

%install
%make_install -C src
rm %{buildroot}%{_libdir}/libfes.la

%check
make -C src check

%files
%doc src/AUTHORS
%doc src/COPYING
%{_libdir}/libfes.so.*

%files		devel
%doc src/TODO
%doc src/doc/doc.pdf
%{_includedir}/fes_interface.h
%{_libdir}/libfes.so

%changelog
* Wed Jan 24 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.2-12
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild

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

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

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

* Tue Dec 20 2022 Jerry James <loganjerry@gmail.com> - 0.2-8
- Convert License tags to SPDX
- New project URL

* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.2-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild

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

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

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

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

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

* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild

* Wed Feb  6 2019 Jerry James <loganjerry@gmail.com> - 0.2-1
- New upstream version, fixes FTBFS (bz 1603963, 1674882)
- Correct license from GPLv3+ to GPLv2+
- Drop upstreamed -dynamic patch
- Add -configure patch to fix multiple configuration problems
- Add -python3 patch due to python2 removal in Rawhide
- Add -const patch to fix warnings
- Add -undef patch to fix the build on non-x86_64 arches
- Build for i386 too as the SSE2 code is now optional
- Reduce texlive BRs

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

* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.1-15
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild

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

* Tue Nov 14 2017 pcpa <paulo.cesar.pereira.de.andrade@gmail.com> - 0.1-13
- Correct FTBFS in rawhide (#1423562)

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

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

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

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

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

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

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

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

* Sat Jun  8 2013 pcpa <paulo.cesar.pereira.de.andrade@gmail.com> - 0.1-4
- Add ldconfig to post and postun (#914936#c5).
- Mark stack as not executable in .s to .o compilation (#914936#c5).

* Fri Jun  7 2013 pcpa <paulo.cesar.pereira.de.andrade@gmail.com> - 0.1-3
- Add missing autoconf, automake and libtool build requires (#914936#c3).
- Remove the with_doc macro (#914936#c3).
- Change package to be x86_64 specific, as sse2 is not optional.

* Wed Jun  5 2013 pcpa <paulo.cesar.pereira.de.andrade@gmail.com> - 0.1-2
- Make python2 a build requires (#914936#c1).
- Patch the package to generate a dynamic library (#914936#c1).
- Add AUTHORS, COPYING and TODO to package documentation (#914936#c1).

* Fri Feb 22 2013 pcpa <paulo.cesar.pereira.de.andrade@gmail.com> - 0.1-1
- Initial fes spec.