# -*- mode: rpm-spec -*- # By default, this spec file will generate RPMs for clisp # This can be changed by modifying the variables below. %define enable_clisp 0 %define clisp_flags --disable-clisp-exec %define enable_ccl 0 %define ccl_flags --disable-ccl # ccl_flags --enable-ccl-exec --with-ccl=lx86cl %define enable_cmucl 0 %define cmucl_flags --disable-cmucl %define enable_sbcl 0 %define sbcl_flags --disable-sbcl-exec %define enable_gcl 1 %define gcl_flags --enable-gcl # Options to build language packs # Spanish %define enable_lang_es 1 %define lang_es_flags --enable-lang-es # Portuguese %define enable_lang_pt 1 %define lang_pt_flags --enable-lang-pt # Brazilian Portuguese %define enable_lang_pt_br 1 %define lang_pt_br_flags --enable-lang-pt_BR # Inhibit automatic compressing of info files. Compressed info # files break maxima's internal help. %define __spec_install_post /bin/true Summary: Symbolic Computation Program Name: maxima Version: @VERSION@ Release: 1 License: GPLv2+ Group: Sciences/Mathematics URL: https://maxima.sourceforge.io Source0: %{name}-%{version}.tar.gz BuildRoot: %{_tmppath}/%{name}-%{version}-buildroot Requires: maxima-exec = %{version} Provides: maxima-doc %description Maxima is a system for the manipulation of symbolic and numerical expressions, including differentiation, integration, Taylor series, Laplace transforms, ordinary differential equations, systems of linear equations, polynomials, sets, lists, vectors, matrices and tensors. Maxima yields high precision numeric results by using exact fractions, arbitrary-precision integers and arbitrary-precision floating point numbers. Maxima can plot functions and data in two and three dimensions, and it comes with hundreds of self tests. Maxima is based on the original Macsyma developed at MIT in the 1970's. %package xmaxima Summary: Maxima graphics program and graphical interface to Maxima Group: Sciences/Mathematics Requires: maxima = %{version}, tk Provides: xmaxima %description xmaxima A graphical interface to the Maxima symbolic computation program. It also provides a graphics program that can be used from Maxima, and a Web browser that accepts a custom html tag to execute Maxima commands from an html page. Xmaxima is written in the Tcl/Tk language. %package emacs Summary: Emacs modes for Maxima Group: Sciences/Mathematics Requires: maxima = %{version}, emacs Provides: maxima-emacs %description emacs emaxima and imaxima, two emacs packages that allow to run maxima interactively from an emacs buffer. %if %{enable_clisp} %package exec-clisp Summary: Maxima compiled with clisp Group: Sciences/Mathematics Requires: maxima = %{version} Provides: maxima-exec %description exec-clisp Maxima compiled with clisp. %endif %if %{enable_ccl} %package exec-ccl Summary: Maxima compiled with Clozure CL Group: Sciences/Mathematics Requires: maxima = %{version} Provides: maxima-exec %description exec-ccl Maxima compiled with Clozure Common Lisp. %endif %if %{enable_cmucl} %package exec-cmucl Summary: Maxima compiled with CMUCL Group: Sciences/Mathematics Requires: maxima = %{version} Provides: maxima-exec %description exec-cmucl Maxima compiled with CMUCL. %endif %if %{enable_sbcl} %package exec-sbcl Summary: Maxima compiled with SBCL Group: Sciences/Mathematics Requires: maxima = %{version} Provides: maxima-exec %description exec-sbcl Maxima compiled with SBCL. %endif %if %{enable_gcl} %package exec-gcl Summary: Maxima compiled with GCL Group: Sciences/Mathematics Requires: maxima = %{version} Provides: maxima-exec %description exec-gcl Maxima compiled with Gnu Common Lisp. %endif %if %{enable_lang_es} %package lang-es Summary: Maxima Spanish language pack Group: Sciences/Mathematics Requires: maxima = %{version} %description lang-es Maxima Spanish language support. %endif %if %{enable_lang_pt} %package lang-pt Summary: Maxima Portuguese language pack Group: Sciences/Mathematics Requires: maxima = %{version} %description lang-pt Maxima Portuguese language support. %endif %if %{enable_lang_pt_br} %package lang-pt_BR Summary: Maxima Brazilian Portuguese language pack Group: Sciences/Mathematics Requires: maxima = %{version} %description lang-pt_BR Maxima Brazilian Portuguese language support. %endif %prep %setup -q %configure %{?sbcl_flags:} %{?cmucl_flags:} %{?gcl_flags:} %{?clisp_flags:} %{?ccl_flags:} \ %{?lang_es_flags:} \ %{?lang_pt_flags:} \ %{?lang_pt_br_flags:} %build make %install rm -rf $RPM_BUILD_ROOT %makeinstall make \ prefix=%{?buildroot:%{buildroot}}%{_prefix} \ exec_prefix=%{?buildroot:%{buildroot}}%{_exec_prefix} \ bindir=%{?buildroot:%{buildroot}}%{_bindir} \ sbindir=%{?buildroot:%{buildroot}}%{_sbindir} \ sysconfdir=%{?buildroot:%{buildroot}}%{_sysconfdir} \ datadir=%{?buildroot:%{buildroot}}%{_datadir} \ includedir=%{?buildroot:%{buildroot}}%{_includedir} \ libdir=%{?buildroot:%{buildroot}}%{_libdir} \ libexecdir=%{?buildroot:%{buildroot}}%{_libexecdir} \ localstatedir=%{?buildroot:%{buildroot}}%{_localstatedir} \ sharedstatedir=%{?buildroot:%{buildroot}}%{_sharedstatedir} \ mandir=%{?buildroot:%{buildroot}}%{_mandir} \ infodir=%{?buildroot:%{buildroot}}%{_infodir} \ install-info touch debugfiles.list # Deal with info/dir rm -f $RPM_BUILD_ROOT%{_datadir}/info/dir %post /sbin/install-info %{_infodir}/maxima.info %{_infodir}/dir %postun if [ "$1" = 0 ]; then /sbin/install-info --delete %{_infodir}/maxima.info %{_infodir}/dir fi %post xmaxima /sbin/install-info %{_infodir}/xmaxima.info %{_infodir}/dir %postun xmaxima if [ "$1" = 0 ]; then /sbin/install-info --delete %{_infodir}/xmaxima.info %{_infodir}/dir fi %clean rm -rf $RPM_BUILD_ROOT %files %defattr(-,root,root,-) %dir %{_datadir}/maxima %exclude %{_datadir}/maxima/*/xmaxima %{_datadir}/maxima/* %if %{enable_lang_es} %exclude %{_datadir}/maxima/*/doc/html/es %endif %if %{enable_lang_pt} %exclude %{_datadir}/maxima/*/doc/html/pt %endif %if %{enable_lang_pt_br} %exclude %{_datadir}/maxima/*/doc/html/pt_BR %endif %{_datadir}/applications %{_datadir}/bash-completion %{_datadir}/pixmaps %{_datadir}/mime %{_datadir}/metainfo/ %dir %{_libexecdir}/maxima %{_libexecdir}/maxima/* %{_infodir}/* %exclude %{_infodir}/xmaxima.info* %if %{enable_lang_es} %exclude %{_infodir}/es %endif %if %{enable_lang_pt} %exclude %{_infodir}/pt %endif %if %{enable_lang_pt_br} %exclude %{_infodir}/pt_BR %endif %{_mandir}/man1/maxima.1 %{_bindir}/maxima %{_bindir}/rmaxima %exclude %{_datadir}/mime/packages/x-mac.xml %doc AUTHORS COPYING INSTALL INSTALL.lisp NEWS desktopintegration/x-mac.xml %doc README README-lisps.md README.rpms README.external README.i18n %files xmaxima %{_bindir}/xmaxima %{_datadir}/maxima/*/xmaxima %{_infodir}/xmaxima* %files emacs %{_datadir}/emacs/*/* %if %{enable_clisp} %files exec-clisp %{_libdir}/maxima/*/binary-clisp %endif %if %{enable_ccl} %files exec-ccl %{_libdir}/maxima/*/binary-openmcl %endif %if %{enable_cmucl} %files exec-cmucl %{_libdir}/maxima/*/binary-cmucl %endif %if %{enable_sbcl} %files exec-sbcl %{_libdir}/maxima/*/binary-sbcl %endif %if %{enable_gcl} %files exec-gcl %{_libdir}/maxima/*/binary-gcl %endif %if %{enable_lang_es} %files lang-es %{_datadir}/maxima/*/doc/html/es %{_infodir}/es %endif %if %{enable_lang_pt} %files lang-pt %{_datadir}/maxima/*/doc/html/pt %{_infodir}/pt %endif %if %{enable_lang_pt_br} %files lang-pt_BR %{_datadir}/maxima/*/doc/html/pt_BR %{_infodir}/pt_BR %endif %doc %changelog * Sat Jan 20 2007 Vadim Zhytnikov - Brazilian Portuguese language packs. * Mon Dec 11 2006 Jaime Villate - Moved xmaxima files to the maxima-xmaxima package. - Updated description of Xmaxima. * Wed Dec 28 2005 Vadim Zhytnikov - Spanish and Portuguese language packs. - Package maxima subdirectories for clean uninstall. * Sat Jan 4 2003 James Amundson - Added doc files - Added explicit clisp version - Added conditional to postun - Renamed exec_* packages to exec-* - Use rpm macros instead of hard-coded paths - Thanks to Rex Dieter for helpful suggestions * Sun Sep 8 2002 James Amundson - Initial build.