Name: qepcad-B Version: 1.69 Release: 3%{?dist} 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 %ifarch %{ix86} x86_64 Requires: Singular %endif %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 %ifarch %{ix86} x86_64 sed 's/^#S/S/' default.qepcadrc > \ %{buildroot}%{_datadir}/qepcad/default.qepcadrc %else cp -p default.qepcadrc %{buildroot}%{_datadir}/qepcad/default.qepcadrc %endif 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 * Sat Feb 15 2014 Jerry James - 1.69-3 - Singular is currently available for x86 architectures only * Thu Feb 13 2014 Jerry James - 1.69-2 - Install qepcad.help * Thu Nov 21 2013 Jerry James - 1.69-1 - Initial RPM