qepcad-B/qepcad-B.spec

197 lines
7.0 KiB
RPMSpec
Raw Permalink Normal View History

2014-02-14 19:17:12 +00:00
Name: qepcad-B
2018-08-30 02:27:13 +00:00
Version: 1.72
Release: 4%{?dist}.rvre0
2014-02-14 19:17:12 +00:00
Summary: Quantifier elimination tool
License: MIT
2018-08-30 02:27:13 +00:00
URL: https://www.usna.edu/Users/cs/wcbrown/qepcad/B/QEPCAD.html
Source0: https://www.usna.edu/Users/cs/wcbrown/qepcad/INSTALL/%{name}.%{version}.tar.gz
# Don't require users to set the "qe" or "SINGULARPATH" environment variables.
# Not for upstream.
2014-02-14 19:17:12 +00:00
Patch0: %{name}-env.patch
# Add gcc attributes for better efficiency and warnings. Upstream: 20 Nov 2013.
Patch1: %{name}-attr.patch
# Fix use of uninitialized variables. Upstream: 20 Nov 2013.
Patch2: %{name}-uninit.patch
# Fix a non-void function where control can fall off the end. Upstream:
# 20 Nov 2013.
Patch3: %{name}-return.patch
# Fix abstract base classes with non-virtual destructors. Upstream:
# 20 Nov 2013.
Patch4: %{name}-destructor.patch
# Add parentheses to disambiguate mixed boolean operators. Upstream:
# 20 Nov 2013.
Patch5: %{name}-parens.patch
# Fix some mixed signed/unsigned operations. Upstream: 20 Nov 2013.
Patch6: %{name}-signed.patch
# Fix syntactically incorrect expressions. Upstream: 20 Nov 2013.
Patch7: %{name}-syntax.patch
# Remove unused variables and static functions.
Patch8: %{name}-unused.patch
# Tell Singular not to steal the TTY (bz 1257471)
2018-08-30 02:27:13 +00:00
Patch9: %{name}-tty.patch
2016-02-06 17:10:02 +00:00
# Adapt to GCC 6
2018-08-30 02:27:13 +00:00
Patch10: %{name}-gcc6.patch
2014-02-14 19:17:12 +00:00
BuildRequires: freeglut-devel
2017-01-29 05:13:38 +00:00
BuildRequires: gcc-c++
2014-02-14 19:17:12 +00:00
BuildRequires: readline-devel
BuildRequires: saclib-devel
# Subprocesses are spawned to run executables from these packages
2014-02-14 19:17:12 +00:00
Requires: bash
Requires: coreutils
2014-02-14 19:17:12 +00:00
Requires: Singular
%description
QEPCAD is an implementation of quantifier elimination by partial
cylindrical algebraic decomposition due originally to Hoon Hong, and
subsequently added on to by many others. It is an interactive
command-line program written in C/C++, and based on the SACLIB library.
This is QEPCAD B version 1.x, the "B" designating a substantial
departure from the original QEPCAD and distinguishing it from any
development of the original that may proceed in a different direction.
%prep
%setup -q -n qesource
%patch0
%patch1
%patch2
%patch3
%patch4
%patch5
%patch6
%patch7
%patch8
%patch9
2016-02-06 17:10:02 +00:00
%patch10
2014-02-14 19:17:12 +00:00
# Adapt to the Fedora saclib package
sed -i 's,\${saclib}/lib/saclib.\.a,-lsaclib,' source/Makefile cad2d/Makefile
# Embed the library path
sed -i 's,@LIBDIR@,%{_libdir},' source/main/BEGINQEPCAD.c
2014-02-14 19:17:12 +00:00
# Use the right build flags
2015-05-05 02:29:48 +00:00
sed -i "s|-O4|%{optflags} -Wno-unused-label $RPM_LD_FLAGS|" plot2d/Makefile
2014-02-14 19:17:12 +00:00
%build
# FIXME: %%{?_smp_mflags} doesn't work
export saclib=%{_prefix}
export qe=$PWD
export CC=g++
export CCo=g++
export FLAGS="%{optflags} -I%{_includedir}/saclib -Wno-unused-label"
export FLAGSo="$FLAGS"
export SPECIFLAGS="-I%{_includedir}/saclib"
export SPECLFLAGS="$RPM_LD_FLAGS"
make -C extensions/sfext
make -C extensions/adj2d
make -C extensions/rend
make -C extensions/newadj
make -C extensions/lift2D
make -C source opt FLAGSo="$FLAGS"
make -C plot2d
make -C cad2d opt FLAGSo="$FLAGS"
%install
#Install the binaries
mkdir -p %{buildroot}%{_bindir}
install -p -m 0755 source/qepcad %{buildroot}%{_bindir}
install -p -m 0755 plot2d/ADJ2D_plot %{buildroot}%{_bindir}
install -p -m 0755 cad2d/cad2d %{buildroot}%{_bindir}
# Install the default settings file
mkdir -p %{buildroot}%{_datadir}/qepcad
sed 's,^#S.*,SINGULAR %{_libdir}/Singular,' default.qepcadrc > \
2014-02-14 19:17:12 +00:00
%{buildroot}%{_datadir}/qepcad/default.qepcadrc
touch -r default.qepcadrc %{buildroot}%{_datadir}/qepcad/default.qepcadrc
# Install qepcad.help and the expected symbolic links
mkdir -p %{buildroot}%{_datadir}/qepcad/bin
cp -p source/qepcad.help %{buildroot}%{_datadir}/qepcad/bin
ln -s %{_bindir}/ADJ2D_plot %{buildroot}%{_datadir}/qepcad/bin
ln -s %{_bindir}/cad2d %{buildroot}%{_datadir}/qepcad/bin
ln -s %{_bindir}/qepcad %{buildroot}%{_datadir}/qepcad/bin
%files
2015-01-07 21:41:58 +00:00
%doc LOG
%license LICENSE
2014-02-14 19:17:12 +00:00
%{_bindir}/qepcad
%{_bindir}/ADJ2D_plot
%{_bindir}/cad2d
%{_datadir}/qepcad/
%changelog
* Tue Jul 30 2019 David Abdurachmanov <david.abdurachmanov@sifive.com> - 1.72-4.fc30.rvre0
- Rebuilt for Fedora RISCV, no changes
* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.72-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
2019-02-17 08:30:52 +00:00
* Sun Feb 17 2019 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 1.72-3
- Rebuild for readline 8.0
* Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.72-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
2018-08-30 02:27:13 +00:00
* Wed Aug 29 2018 Jerry James <loganjerry@gmail.com> - 1.72-1
- New upstream version
- Updated URLs
* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.69-18
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.69-17
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.69-16
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.69-15
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.69-14
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Thu Jan 12 2017 Igor Gnatenko <ignatenko@redhat.com> - 1.69-13
- Rebuild for readline 7.x
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 1.69-12
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Thu Sep 3 2015 Jerry James <loganjerry@gmail.com> - 1.69-11
- Run Singular in a separate session so it doesn't steal the TTY (bz 1257471)
- Don't send data to bash through the (supposedly) Singular pipe
* Thu Jun 18 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.69-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
2015-05-05 02:29:48 +00:00
* Mon May 4 2015 Jerry James <loganjerry@gmail.com> - 1.69-9
- Rebuild for C++ ABI change
2015-01-07 21:41:58 +00:00
* Wed Jan 7 2015 Jerry James <loganjerry@gmail.com> - 1.69-8
- Update URLs
- Use license macro
* Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.69-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
* Sun Jun 08 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.69-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
* Mon Mar 31 2014 Jerry James <loganjerry@gmail.com> - 1.69-5
- Fix default.qepcadrc so that it requires Singular on all architectures
* Thu Mar 20 2014 Jerry James <loganjerry@gmail.com> - 1.69-4
- Singular is now available for all architectures
* Sat Feb 15 2014 Jerry James <loganjerry@gmail.com> - 1.69-3
- Singular is currently available for x86 architectures only
2014-02-14 19:17:12 +00:00
* Thu Feb 13 2014 Jerry James <loganjerry@gmail.com> - 1.69-2
- Install qepcad.help
* Thu Nov 21 2013 Jerry James <loganjerry@gmail.com> - 1.69-1
- Initial RPM