%define enable_clisp 1 %define enable_cmucl 0 %define enable_gcl 1 %define defaultlisp gcl %if %enable_clisp %define clisp_flags --enable-clisp %else %define clisp_flags --disable-clisp %endif %if %enable_cmucl %define cmucl_flags --enable-cmucl %else %define cmucl_flags --disable-cmucl %endif %if %enable_gcl %define gcl_flags --enable-gcl %else %define gcl_flags --disable-gcl %endif Summary: Maxima Symbolic Computation Program Name: maxima Version: 5.9.1 Release: 3mdk License: GPL Group: Sciences/Mathematics URL: http://maxima.sourceforge.net Source0: http://prdownloads.sourceforge.net/maxima/%{name}-%{version}.tar.bz2 Source1: icons-%{name}.tar.bz2 Patch0: maxima-5.9.1-gv.patch.bz2 BuildRoot: %{_tmppath}/%{name}-%{version}-root BuildRequires: texinfo BuildRequires: tetex Requires: tk Requires: maxima-runtime Requires: gnuplot Requires: gv %if %{enable_clisp} BuildRequires: clisp %endif %if %{enable_cmucl} BuildRequires: cmucl %endif %if %{enable_gcl} BuildRequires: gcl >= 2.5.3 %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: maxima Requires: tk Provides: xmaxima = %{version}-%{release} %description gui Tcl/Tk GUI interface to Maxima. %if %{enable_clisp} %package runtime-clisp Summary: Maxima compiled with clisp Group: Sciences/Mathematics Requires: clisp Requires: maxima = %{version}-%{release} Provides: maxima-runtime = %{version}-%{release} %description runtime-clisp Maxima compiled with clisp. %endif %if %{enable_cmucl} %package runtime-cmucl Summary: Maxima compiled with CMUCL Group: Sciences/Mathematics Requires: cmucl Requires: maxima = %{version}-%{release} Provides: maxima-runtime = %{version}-%{release} %description runtime-cmucl Maxima compiled with CMUCL. %endif %if %{enable_gcl} %package runtime-gcl Summary: Maxima compiled with GCL Group: Sciences/Mathematics Requires: maxima = %{version}-%{release} Provides: maxima-runtime = %{version}-%{release} %description runtime-gcl Maxima compiled with Gnu Common Lisp. %endif %prep %setup -q -n %{name}-%{version} %patch0 -p1 -b .gv %build export GCL_ANSI=y CFLAGS="%optflags -fno-fast-math" \ CXXFLAGS="%optflags -fno-fast-math" \ %configure2_5x \ %{clisp_flags} \ %{gcl_flags} \ %{cmucl_flags} \ --with-default-lisp=%{defaultlisp} make make check (cd doc/info texi2dvi -p -t @afourpaper -t @finalout maxima.texi ) %install rm -rf $RPM_BUILD_ROOT %makeinstall rm -f $RPM_BUILD_ROOT%{_infodir}/dir # menu mkdir -p $RPM_BUILD_ROOT%{_menudir} cat > $RPM_BUILD_ROOT%{_menudir}/maxima-gui <<EOF ?package(maxima-gui): command="%{_bindir}/xmaxima" \ needs="X11" \ icon="maxima.png" \ section="Applications/Sciences/Mathematics" \ title="Maxima" \ longtitle="Tcl/Tk interface to Maxima" EOF # icons mkdir -p $RPM_BUILD_ROOT%{_iconsdir} tar xjf %{SOURCE1} -C $RPM_BUILD_ROOT%{_iconsdir} # don't compress info pages export EXCLUDE_FROM_COMPRESS=info %post %_install_info maxima.info %postun %_remove_install_info maxima.info %post gui %{update_menus} %postun gui %{clean_menus} %clean rm -rf $RPM_BUILD_ROOT %files %defattr(-,root,root) %doc AUTHORS COPYING ChangeLog INSTALL README README.lisps %doc doc/info/maxima.pdf %{_bindir}/maxima %{_libdir}/maxima/%{version}/mgnuplot %{_libdir}/maxima/%{version}/omplotdata %{_datadir}/maxima/%{version}/* %{_infodir}/*.info* %{_mandir}/man1/maxima.* %files gui %defattr(-,root,root) %{_bindir}/xmaxima %{_menudir}/maxima-gui %{_iconsdir}/*.png %{_liconsdir}/*.png %{_miconsdir}/*.png %if %{enable_clisp} %files runtime-clisp %defattr(-,root,root) %{_bindir}/rmaxima %{_libdir}/maxima/%{version}/binary-clisp/* %endif %if %{enable_cmucl} %files runtime-cmucl %defattr(-,root,root) %{_libdir}/maxima/%{version}/binary-cmucl/* %endif %if %{enable_gcl} %files runtime-gcl %defattr(-,root,root) %{_libdir}/maxima/%{version}/binary-gcl/* %endif %changelog * Thu Feb 17 2005 Giuseppe Ghibò <ghibo@mandrakesoft.com> 5.9.1-3mdk - Added gv in Requires. * Wed Feb 16 2005 Giuseppe Ghibò <ghibo@mandrakesoft.com> 5.9.1-2mdk - Added Patch0 (use gv instead of ghostview). * Wed Feb 16 2005 Giuseppe Ghibò <ghibo@mandrakesoft.com> 5.9.1-1mdk - Release: 5.9.1. * Wed Mar 24 2004 Giuseppe Ghibò <ghibo@mandrakesoft.com> 5.9.0-6mdk - Fixed typo in menu entry. * Mon Sep 15 2003 Giuseppe Ghibò <ghibo@mandrakesoft.com> 5.9.0-5mdk - Don't compress info pages (needed uncompressed by executable). * Wed Aug 27 2003 Giuseppe Ghibò <ghibo@mandrakesoft.com> 5.9.0-4mdk - Rebuild against gcl-2.5.3. - Added make check. - Disabled clisp (clisp 2.30 has floating point problems with maxima). * Mon May 05 2003 Lenny Cartier <lenny@mandrakesoft.com> 5.9.0-3mdk - fix files list * Fri Feb 12 2003 Giuseppe Ghibò <ghibo@mandrakesoft.com> 5.9.0-2mdk - Rebuilt. * Wed Feb 12 2003 Giuseppe Ghibò <ghibo@mandrakesoft.com> 5.9.0-1mdk - Release: 5.9.0. * Tue Feb 11 2003 Lenny Cartier <lenny@mandrakesoft.com> 5.9.0-1mdk - 5.9.0 * Thu Jan 30 2003 Lenny Cartier <lenny@mandrakesoft.com> 5.9.0-0.%{rcrel}.2mdk - rebuild * Mon Nov 25 2002 Giuseppe Ghibò <ghibo@mandrakesoft.com> 5.9.0-0.rc3.1mdk - Initial Mandrake Linux release. - Build PDF documentation. - Disabled cmucl and gcl interfaces (waiting for cmucl and gcl packages). - Clean SPEC file. * Sun Sep 8 2002 James Amundson <amundson@fnal.gov> - Initial build.