qepcad-B/qepcad-B.spec

132 lines
4.4 KiB
RPMSpec
Raw Normal View History

2014-02-14 19:17:12 +00:00
Name: qepcad-B
Version: 1.69
Release: 7%{?dist}
2014-02-14 19:17:12 +00:00
Summary: Quantifier elimination tool
License: MIT
URL: http://www.usna.edu/CS/~qepcad/B/QEPCAD.html
Source0: http://www.usna.edu/CS/~qepcad/INSTALL/%{name}.%{version}.tar.gz
# Don't require users to set the "qe" environment variable. Not for upstream.
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
BuildRequires: freeglut-devel
BuildRequires: readline-devel
BuildRequires: saclib-devel
Requires: bash
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
# Adapt to the Fedora saclib package
sed -i 's,\${saclib}/lib/saclib.\.a,-lsaclib,' source/Makefile cad2d/Makefile
# Use the right build flags
sed -i "s/-O4/%{optflags} -Wno-unused-label $RPM_LD_FLAGS/" plot2d/Makefile
%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/S/' default.qepcadrc > \
%{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
%doc LICENSE LOG
%{_bindir}/qepcad
%{_bindir}/ADJ2D_plot
%{_bindir}/cad2d
%{_datadir}/qepcad/
%changelog
* 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