File maxima.spec of Package maxima
#
# spec file for package maxima
#
# This file and all modifications and additions to the pristine
# package are under the same license as the package itself.
#
# norootforbuild
# This spec file will generate RPMs for CLISP
# This can be changed by modifying the variables below.
%define enable_clisp 1
%define clisp_flags --enable-clisp
%define clisp_version 2.33
%define enable_cmucl 0
%define cmucl_flags --disable-cmucl
%define enable_sbcl 0
%define sbcl_flags --disable-sbcl
%define enable_gcl 0
%define gcl_flags --disable-gcl
Name: maxima
Summary: Maxima Symbolic Computation Program/Computer Algebra System
Version: 5.17.0
Release: 0
License: GPL
Group: Productivity/Scientific/Math
Url: http://maxima.sourceforge.net/
Vendor: openSUSE-Education
Source0: %name-%version.tar.bz2
Source1: maxima-rpmlintrc
%if 0%{?suse_version}
PreReq: %install_info_prereq
%endif
Requires: maxima_exec plotutils
BuildRequires: recode-devel gzip
%if 0%{?suse_version} > 1020
BuildRequires: fdupes
%endif
%if 0%{?enable_clisp}
BuildRequires: clisp >= 2.34.0
%endif
BuildRoot: %{_tmppath}/%{name}-%{version}-buildroot
# Inhibit automatic compressing of info files. Compressed info
# files break maxima's internal help.
%define __spec_install_post /bin/true
%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 xmaxima
Summary: Tcl/Tk interface to Maxima
Group: Development/Languages
PreReq: %install_info_prereq
Requires: maxima = %{version}, tk
Provides: xmaxima = %{version}
%description xmaxima
A graphical interface to the Maxima symbolic computation program. It
also provides Openmath, 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.
%if 0%{?enable_clisp}
%package exec-clisp
Summary: Maxima compiled with clisp
Group: Development/Languages
Requires: maxima = %{version}
Provides: maxima_exec = %{version}
BuildRequires: clisp
%description exec-clisp
Maxima compiled with Common Lisp.
%endif
%if 0%{?enable_cmucl}
%package exec-cmucl
Summary: Maxima compiled with CMUCL
Group: Development/Languages
Requires: maxima = %{version}
Provides: maxima_exec = %{version}
%description exec-cmucl
Maxima compiled with CMUCL.
%endif
%if 0%{?enable_sbcl}
%package exec-sbcl
Summary: Maxima compiled with SBCL
Group: Development/Languages
Requires: sbcl, maxima = %{version}
Provides: maxima_exec = %{version}
%description exec-sbcl
Maxima compiled with SBCL.
%endif
%if 0%{?enable_gcl}
%package exec-gcl
Summary: Maxima compiled with GCL
Group: Development/Languages
Requires: maxima = %{version}
Provides: maxima_exec = %{version}
%description exec-gcl
Maxima compiled with Gnu Common Lisp.
%endif
%package lang-es-utf8
Summary: Maxima Spanish UTF-8 language pack
Group: Productivity/Scientific/Math
Requires: maxima = %{version}
PreReq: %install_info_prereq
%description lang-es-utf8
Maxima Spanish lagnuage support (UTF-8).
%package lang-pt-utf8
Summary: Maxima Portuguese UTF-8 language pack
Group: Productivity/Scientific/Math
Requires: maxima = %{version}
PreReq: %install_info_prereq
%description lang-pt-utf8
Maxima Portuguese lagnuage support (UTF-8).
%package lang-pt_BR-utf8
Summary: Maxima Brazilian Portuguese UTF-8 language pack
Group: Productivity/Scientific/Math
Requires: maxima = %{version}
PreReq: %install_info_prereq
%description lang-pt_BR-utf8
Maxima Brazilian Portuguese lagnuage support (UTF-8).
%prep
%setup -q
%build
%configure %{?sbcl_flags:} %{?cmucl_flags:} %{?gcl_flags:} %{?clisp_flags:} \
--enable-lang-es-utf8 \
--enable-lang-pt-utf8 \
--enable-lang-pt_BR-utf8 \
--enable-recode
make %{?jobs:-j %jobs}
%install
%makeinstall install-info
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
touch debugsources.list
# Deal with info/dir
rm -f $RPM_BUILD_ROOT%{_datadir}/info/dir
# set executable rights for example scripts
chmod +x %{buildroot}%{_datadir}/%{name}/%{version}/doc/misc/grepforvariables.sh
chmod +x %{buildroot}%{_datadir}/%{name}/%{version}/doc/misc/processlisfiles.sh
chmod +x %{buildroot}%{_datadir}/%{name}/%{version}/share/contrib/lurkmathml/mathmltest
# zip the manpage
gzip %{buildroot}%{_mandir}/*/*
# reduce space, create symlinks
%if 0%{?suse_version} > 1020
%fdupes -s %{buildroot}/%{_datadir}/%{name}/%{version}
%endif
%if 0%{?suse_version}
%post
%install_info --info-dir=%{_infodir} %{_infodir}/maxima.info
%postun
%install_info_delete --info-dir=%{_infodir} %{_infodir}/maxima.info
%post xmaxima
%install_info --info-dir=%{_infodir} %{_infodir}/xmaxima.info
%postun xmaxima
%install_info_delete --info-dir=%{_infodir} %{_infodir}/xmaxima.info
%post lang-es-utf8
%install_info --info-dir=%{_infodir} %{_infodir}/es.utf8.info
%postun lang-es-utf8
%install_info_delete --info-dir=%{_infodir} %{_infodir}/es.utf8.info
%post lang-pt-utf8
%install_info --info-dir=%{_infodir} %{_infodir}/pt.utf8.info
%postun lang-pt-utf8
%install_info_delete --info-dir=%{_infodir} %{_infodir}/pt.utf8.info
%post lang-pt_BR-utf8
%install_info --info-dir=%{_infodir} %{_infodir}/pt_BR.utf8.info
%postun lang-pt_BR-utf8
%install_info_delete --info-dir=%{_infodir} %{_infodir}/pt_BR.utf8.info
%endif
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(-,root,root,-)
%doc AUTHORS COPYING NEWS README README.lisps README.rpms README.external README.i18n
%doc %{_mandir}/man1/maxima.1*
%dir %{_datadir}/maxima
%dir %{_datadir}/maxima/%{version}
%dir %{_libdir}/maxima
%{_datadir}/maxima/%{version}/*
%exclude %{_datadir}/maxima/%{version}/doc/html/es.utf8
%exclude %{_datadir}/maxima/%{version}/doc/html/pt.utf8
%exclude %{_datadir}/maxima/%{version}/doc/html/pt_BR.utf8
%{_libexecdir}/maxima/%{version}
%{_infodir}/*
%exclude %{_infodir}/es.utf8
%exclude %{_infodir}/pt.utf8
%exclude %{_infodir}/pt_BR.utf8
%{_bindir}/maxima
%{_bindir}/rmaxima
%exclude %{_libdir}/maxima/%{version}/binary-clisp/*
%exclude %{_datadir}/maxima/%{version}/xmaxima/
%dir %{_prefix}/lib/maxima
%files xmaxima
%defattr(-,root,root,-)
%dir %{_datadir}/maxima/%{version}/xmaxima
%{_bindir}/xmaxima
%{_datadir}/maxima/%{version}/xmaxima/*
%if 0%{?enable_clisp}
%files exec-clisp
%defattr(-,root,root,-)
%dir %{_libdir}/maxima/%{version}
%dir %{_libdir}/maxima/%{version}/binary-clisp
%{_libdir}/maxima/%{version}/binary-clisp/*
%endif
%if 0%{?enable_cmucl}
%files exec-cmucl
%defattr(-,root,root,-)
%{_libdir}/maxima/%{version}/binary-cmucl/*
%endif
%if 0%{?enable_sbcl}
%files exec-sbcl
%defattr(-,root,root,-)
%{_libdir}/maxima/%{version}/binary-sbcl/*
%endif
%if 0%{?enable_gcl}
%files exec-gcl
%defattr(-,root,root,-)
%{_libdir}/maxima/%{version}/binary-gcl/*
%endif
%files lang-es-utf8
%defattr(-,root,root)
%doc %{_datadir}/maxima/%{version}/doc/html/es.utf8
%{_infodir}/es.utf8
%files lang-pt-utf8
%defattr(-,root,root)
%doc %{_datadir}/maxima/%{version}/doc/html/pt.utf8
%{_infodir}/pt.utf8
%files lang-pt_BR-utf8
%defattr(-,root,root)
%doc %{_datadir}/maxima/%{version}/doc/html/pt_BR.utf8
%{_infodir}/pt_BR.utf8
%changelog
* Mon Jan 19 2009 - mstopka@opensuse.org
- new upstream version 5.17.0
- exclude duplicite files in maxima package