%define enable_clisp 1 %define enable_gcl 1 %define enable_sbcl 1 %define enable_ecl 1 %define defaultlisp clisp %if %enable_clisp %define clisp_flags --enable-clisp %else %define clisp_flags --disable-clisp %endif %if %enable_gcl %define gcl_flags --enable-gcl %else %define gcl_flags --disable-gcl %endif %if %enable_sbcl %define sbcl_flags --enable-sbcl %else %define sbcl_flags --disable-sbcl %endif %if %enable_ecl %define ecl_flags --enable-ecl %else %define ecl_flags --disable-ecl %endif Name: maxima Version: 5.29.1 Release: %mkrel 4 Summary: Symbolic Computation Program License: GPLv2 Group: Sciences/Mathematics URL: http://maxima.sourceforge.net Source0: http://prdownloads.sourceforge.net/maxima/%{name}-%{version}.tar.gz Source1: icons-%{name}.tar.bz2 Patch0: %{name}-5.22.0-xdg-utils.patch Patch2: %{name}-fix-contrib-docs.patch Patch3: %{name}-5.23.0-clisp-noreadline.patch Patch4: %{name}-5.22.0-ecl-ldflags.patch BuildRequires: texinfo BuildRequires: texlive BuildRequires: texinfo-tex BuildRequires: python BuildRequires: time BuildRequires: desktop-file-utils BuildRequires: tk Suggests: tk Suggests: tcl Requires: %{name}-runtime Requires: gnuplot %if %{enable_clisp} BuildRequires: clisp %endif %if %{enable_gcl} BuildRequires: gcl %endif %if %{enable_sbcl} BuildRequires: sbcl # || echo 0 is a hack as src.rpm is generated on BS without BUildRequires installed %define sbcl_version %((sbcl --version || echo 0) | sed 's/SBCL //') %endif %if %{enable_ecl} BuildRequires: ecl %else Obsoletes: %{name}-runtime-ecl < %{version}-%{release} %endif %description Maxima is a full symbolic computation program. It is full featured doing symbolic manipulation of polynomials, matrices, rational functions, integration, Todd-coxeter, graphing, bigfloats. It has a symbolic debugger source level debugger for maxima code. Maxima is based on the original Macsyma developed at MIT in the 1970's. It is quite reliable, and has good garbage collection, and no memory leaks. It comes with hundreds of self tests. #-------------------------------------------------------------------- %package gui Summary: Tcl/Tk GUI interface to Maxima Group: Sciences/Mathematics Requires: %{name} Requires: tk Provides: x%{name} = %{version}-%{release} %description gui Tcl/Tk GUI interface to Maxima. %files gui %{_bindir}/x%{name} %{_datadir}/applications/mageia-%{name}.desktop %{_iconsdir}/hicolor/*/apps/*.png #-------------------------------------------------------------------- %if %{enable_clisp} %package runtime-clisp Summary: Maxima compiled with clisp Group: Sciences/Mathematics Requires: clisp Requires: %{name} = %{version}-%{release} Provides: %{name}-runtime = %{version}-%{release} %description runtime-clisp Maxima compiled with clisp. %files runtime-clisp %dir %{_libdir}/%{name}/%{version}/binary-clisp %{_libdir}/%{name}/%{version}/binary-clisp/* %endif #-------------------------------------------------------------------- %if %{enable_gcl} %package runtime-gcl Summary: Maxima compiled with GCL Group: Sciences/Mathematics Requires: %{name} = %{version}-%{release} Suggests: rlwrap Provides: %{name}-runtime = %{version}-%{release} %description runtime-gcl Maxima compiled with Gnu Common Lisp. %files runtime-gcl %{_bindir}/r%{name} %dir %{_libdir}/%{name}/%{version}/binary-gcl %{_libdir}/%{name}/%{version}/binary-gcl/* %endif #-------------------------------------------------------------------- %if %{enable_sbcl} %package runtime-sbcl Summary: Maxima compiled with SBCL Group: Sciences/Mathematics Requires: sbcl = %{sbcl_version} Requires: %{name} = %{version}-%{release} Provides: %{name}-runtime = %{version}-%{release} %description runtime-sbcl Maxima compiled with SBCL. %files runtime-sbcl %dir %{_libdir}/%{name}/%{version}/binary-sbcl %{_libdir}/%{name}/%{version}/binary-sbcl/* %endif %if %{enable_ecl} %package runtime-ecl Summary: Maxima compiled with ECL Group: Sciences/Mathematics Requires: %{name} = %{version}-%{release} Provides: %{name}-runtime = %{version}-%{release} %description runtime-ecl Maxima compiled with ECL. %files runtime-ecl %dir %{_libdir}/%{name}/%{version}/binary-ecl %{_libdir}/%{name}/%{version}/binary-ecl/* %endif #-------------------------------------------------------------------- %prep %setup -q %patch0 -p1 %patch2 -p1 #patch3 -p1 %patch4 -p1 %build export GCL_ANSI=y %if %{enable_sbcl} export SBCL_HOME=%{_libdir}/sbcl %endif CFLAGS="%optflags -fno-fast-math" \ CXXFLAGS="%optflags -fno-fast-math" \ %configure2_5x \ %{clisp_flags} \ %{gcl_flags} \ %{sbcl_flags} \ %{ecl_flags} \ --with-default-lisp=%{defaultlisp} make make check (cd doc/info texi2dvi -p -t @afourpaper -t @finalout %{name}.texi ) %install export EXCLUDE_FROM_COMPRESS=1 %makeinstall rm -f %{buildroot}%{_infodir}/dir # menu mkdir -p %{buildroot}%{_datadir}/applications cat > %{buildroot}%{_datadir}/applications/%{_real_vendor}-%{name}.desktop << EOF [Desktop Entry] Name=Maxima Comment=Tcl/Tk interface to Maxima Exec=%{_bindir}/x%{name} Icon=%{name} Terminal=false Type=Application Categories=Science;Math; EOF # icons mkdir -p %{buildroot}%{_iconsdir} tar xjf %{SOURCE1} -C %{buildroot}%{_iconsdir} %post if [[ -f /usr/share/info/%{name}.info ]]; then /sbin/install-info /usr/share/info/%{name}.info --dir=/usr/share/info/dir; fi %postun if [ "$1" = "0" ]; then if [[ -f /usr/share/info/%{name}.info ]]; then /sbin/install-info /usr/share/info/%{name}.info --dir=/usr/share/info/dir --remove ; fi; fi %files %doc AUTHORS COPYING README README.lisps %doc doc/info/%{name}.pdf %{_bindir}/%{name} %{_bindir}/r%{name} %{_libexecdir}/%{name}/%{version}/mgnuplot %{_datadir}/%{name}/%{version}/* %{_infodir}/*.info* %{_infodir}/%{name}-index.lisp* %{_mandir}/man1/%{name}.* %changelog * Sun Feb 03 2013 kamil <kamil> 5.29.1-4.mga3 + Revision: 394229 - rebuild against sbcl 1.1.4 * Mon Jan 14 2013 umeabot <umeabot> 5.29.1-3.mga3 + Revision: 386058 - Mass Rebuild - https://wiki.mageia.org/en/Feature:Mageia3MassRebuild * Thu Dec 20 2012 kamil <kamil> 5.29.1-2.mga3 + Revision: 333427 - rebuild against new ecl * Sun Dec 16 2012 kamil <kamil> 5.29.1-1.mga3 + Revision: 331826 - disable P3 - new version 5.29.1 * Thu Dec 13 2012 kamil <kamil> 5.27.0-4.mga3 + Revision: 330542 - reeaneble ecl build * Tue Dec 11 2012 kamil <kamil> 5.27.0-3.mga3 + Revision: 329817 - add texinfo-tex as BR - rebuild against new sbcl * Mon May 28 2012 kamil <kamil> 5.27.0-2.mga3 + Revision: 247737 - new version 5.27.0 * Sat Apr 07 2012 pterjan <pterjan> 5.26.0-2.mga2 + Revision: 229449 - Obsolete runtime-ecl - Do not compress info pages, this breaks internal help - Disable ecl - Require sbcl version used to build. If a given one is needed it should be a BuildRequires + kamil <kamil> - reenable 'make check' * Wed Jan 18 2012 kamil <kamil> 5.26.0-0.3.mga2 + Revision: 197753 - reenable gcl build - drop missed-extract-categories.patch (merged upstream) * Wed Jan 18 2012 kamil <kamil> 5.26.0-0.2.mga2 + Revision: 197747 - reenable ecl build - remove EXCLUDE_FROM_COMPRESS for info-pages * Wed Jan 18 2012 kamil <kamil> 5.26.0-0.1.mga2 + Revision: 197742 - reenable sbcl build * Wed Jan 11 2012 kamil <kamil> 5.26.0-0.mga2 + Revision: 194948 - temporarily disable gcl and ecl build - add tk, desktop-file-utils and time to BR - disable make check - new version - spec cleaning a bit * Thu May 05 2011 grenoya <grenoya> 5.24.0-1.mga1 + Revision: 95217 - clean old Mdv syntax - diseable sbcl + tv <tv> - fix texlive BR - new release + dmorgan <dmorgan> - Fix desktop file name - imported package maxima