3 %bcond_without emacs # Emacs mode
5 Summary: Maxima Symbolic Computation Program
6 Summary(pl.UTF-8): Program do obliczeń symbolicznych Maxima
12 Group: Applications/Math
13 Source0: https://downloads.sourceforge.net/maxima/%{name}-%{version}.tar.gz
14 # Source0-md5: 3c01f1daa6936e11d8713fef7751d3fe
15 Source2: %{name}-mode-init.el
16 Patch0: %{name}-info.patch
17 Patch1: %{name}-missed-files.patch
18 Patch3: x%{name}-doc.patch
19 Patch4: %{name}-install.patch
20 Patch5: %{name}-info-compressed.patch
21 URL: https://maxima.sourceforge.io/
22 BuildRequires: autoconf >= 2.50
23 BuildRequires: automake
25 %{?with_emacs:BuildRequires: emacs}
26 BuildRequires: gettext-tools
27 BuildRequires: perl-base >= 5
28 BuildRequires: python >= 2
29 BuildRequires: rpmbuild(macros) >= 1.311
30 BuildRequires: texinfo
34 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
37 Maxima is a full symbolic computation program. It is full featured
38 doing symbolic manipulation of polynomials, matrices, rational
39 functions, integration, Todd-coxeter, graphing, bigfloats. It has a
40 symbolic debugger source level debugger for maxima code. Maxima is
41 based on the original Macsyma developed at MIT in the 1970's. It is
42 quite reliable, and has good garbage collection, and no memory leaks.
43 It comes with hundreds of self tests. William Schelter at University
44 of Texas, has been responsible for development since the mid 1980's.
45 See http://www.ma.utexas.edu/maxima.html for more information. He has
46 recently been able to get DOE to allow him to distribute Maxima under
49 %description -l pl.UTF-8
50 Maxima jest pakietem do pełnych obliczeń matematycznych. Ma duże
51 możliwości symbolicznych obliczeń na wielomianach, macierzach,
52 funkcjach wymiernych, całkowania, stosowania metody Todda-Coxetera,
53 rysowania, obliczeń na wielkich liczbach. Posiada symboliczny debugger
54 kodu źródłowego w maximie. Maxima bazuje na oryginalnej Macsyma
55 utworzonej w MIT w roku 1970. Ma dobrą obsługę błędów, nie ma wycieków
56 pamięci. Przychodzi z setkami testów. Od połowy lat 80-tych za rozwój
57 projektu odpowiada William Schelter z University of Texas. Więcej
58 informacji na stronie http://www.ma.utexas.edu/maxima.html. Ostatnio
59 udało mu się uzyskać pozwolenie DOE na opublikowanie Maximy na
62 %package -n bash-completion-maxima
63 Summary: Bash completion for Maxima
64 Summary(pl.UTF-8): Bashowe dopełnianie parametrów dla Maximy
65 Group: Applications/Shells
66 Requires: %{name} = %{epoch}:%{version}-%{release}
67 Requires: bash-completion >= 2.0
69 %description -n bash-completion-maxima
70 Bash completion for Maxima.
72 %description -n bash-completion-maxima -l pl.UTF-8
73 Bashowe dopełnianie parametrów dla Maximy.
76 Summary: Tcl/Tk GUI interface for Maxima
77 Summary(pl.UTF-8): Graficzny interfejs Tcl/Tk dla Maximy
78 Group: Applications/Math
79 Requires: %{name} = %{epoch}:%{version}-%{release}
80 Requires: shared-mime-info
84 Tcl/Tk GUI interface for maxima.
86 %description xmaxima -l pl.UTF-8
87 Graficzny interfejs Tcl/Tk dla Maximy.
89 %package -n bash-completion-xmaxima
90 Summary: Bash completion for XMaxima
91 Summary(pl.UTF-8): Bashowe dopełnianie parametrów dla XMaximy
92 Group: Applications/Shells
93 Requires: %{name}-xmaxima = %{epoch}:%{version}-%{release}
94 Requires: bash-completion >= 2.0
96 %description -n bash-completion-xmaxima
97 Bash completion for XMaxima.
99 %description -n bash-completion-xmaxima -l pl.UTF-8
100 Bashowe dopełnianie parametrów dla XMaximy.
103 Summary: Maxima lisp source code
104 Summary(pl.UTF-8): Pliki źródłowe Maximy
108 Maxima lisp source code.
110 %description src -l pl.UTF-8
111 Pliki źródłowe Maximy.
114 Summary: Maxima documentation
115 Summary(pl.UTF-8): Dokumentacja dla Maximy
119 Maxima documentation.
121 %description doc -l pl.UTF-8
122 Dokumentacja dla Maximy.
124 %package -n emacs-maxima-pkg
125 Summary: Emacs mode for Maxima
126 Summary(pl.UTF-8): Tryb Maximy dla Emacsa
127 Group: Applications/Math
128 Requires: emacs-common
130 %description -n emacs-maxima-pkg
131 Emacs mode files for Maxima.
133 %description -n emacs-maxima-pkg -l pl.UTF-8
134 Tryb Maximy dla Emacsa.
140 touch doc/info/{maximahtml.mk,category-macros.texi} src/{clisp,cmucl,gcl}-depends.mk
153 --with-emacs-prefix=%{_emacs_lispdir}/%{name}
155 # TODO: --enable-lang-de --enable-lang-es --enable-lang-pt --enable-lang-pt_BR --enable-lang-ru
156 # for localized info pages
161 rm -rf $RPM_BUILD_ROOT
164 DESTDIR=$RPM_BUILD_ROOT \
165 %{!?with_emacs:emacsdir=/emacs}
167 rm -f $RPM_BUILD_ROOT%{_infodir}/dir*
169 install -Dp doc/man/ru/maxima.1 $RPM_BUILD_ROOT%{_mandir}/ru/man1/maxima.1
172 install -d $RPM_BUILD_ROOT%{_emacs_lispdir}/site-start.d
173 install %{SOURCE2} $RPM_BUILD_ROOT%{_emacs_lispdir}/site-start.d
175 %{__rm} -r $RPM_BUILD_ROOT/emacs
176 %{__rm} -r $RPM_BUILD_ROOT%{_infodir}/imaxima.info*
182 rm -rf $RPM_BUILD_ROOT
184 %post -p /sbin/postshell
185 -/usr/sbin/fix-info-dir -c %{_infodir}
187 %postun -p /sbin/postshell
188 -/usr/sbin/fix-info-dir -c %{_infodir}
191 %update_mime_database
192 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir %{_infodir} >/dev/null 2>&1
195 %update_mime_database
196 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir %{_infodir} >/dev/null 2>&1
198 %post -n emacs-maxima-pkg -p /sbin/postshell
199 -/usr/sbin/fix-info-dir -c %{_infodir}
201 %postun -n emacs-maxima-pkg -p /sbin/postshell
202 -/usr/sbin/fix-info-dir -c %{_infodir}
204 %triggerin doc -- %{name} = %{epoch}:%{version}
205 if [ -d %{_docdir}/%{name}-doc-%{version} ]; then
206 ln -snf %{_docdir}/%{name}-doc-%{version} %{_datadir}/%{name}/%{version}/doc
209 %triggerun doc -- %{name} = %{epoch}:%{version}
210 rm %{_datadir}/%{name}/%{version}/doc || :
212 %triggerpostun doc -- %{name} = %{epoch}:%{version}
213 if [ -d %{_docdir}/%{name}-doc-%{version} -a \
214 -d %{_datadir}/%{name}/%{version} ]; then
215 ln -snf %{_docdir}/%{name}-doc-%{version} %{_datadir}/%{name}/%{version}/doc
218 %files -f %{name}.lang
219 %defattr(644,root,root,755)
220 %doc AUTHORS COPYING README
221 %attr(755,root,root) %{_bindir}/maxima
222 %attr(755,root,root) %{_bindir}/rmaxima
223 %dir %{_libdir}/%{name}
224 %dir %{_libdir}/%{name}/%{version}
225 %dir %{_libdir}/%{name}/%{version}/binary-clisp
226 %attr(755,root,root) %{_libdir}/%{name}/%{version}/binary-clisp/lisp.run
227 %{_libdir}/%{name}/%{version}/binary-clisp/maxima.mem
228 %if "%{_libexecdir}" != "%{_libdir}"
229 %dir %{_libexecdir}/%{name}
230 %dir %{_libexecdir}/%{name}/%{version}
232 %attr(755,root,root) %{_libexecdir}/%{name}/%{version}/mgnuplot
233 %dir %{_datadir}/%{name}
234 %dir %{_datadir}/%{name}/%{version}
235 %{_datadir}/%{name}/%{version}/demo
236 %{_datadir}/%{name}/%{version}/share
237 %{_datadir}/%{name}/%{version}/tests
238 %{_mandir}/man1/maxima.1*
239 %lang(ru) %{_mandir}/de/man1/maxima.1*
240 %lang(ru) %{_mandir}/ru/man1/maxima.1*
241 %{_infodir}/maxima.info*
242 %{_infodir}/maxima-index.lisp
244 %{_infodir}/abs_integrate.info*
245 %{_infodir}/drawutils.info*
246 %{_infodir}/kovacicODE.info*
247 %{_infodir}/logic.info*
248 %{_infodir}/symplectic_ode.info*
250 %files -n bash-completion-maxima
251 %defattr(644,root,root,755)
252 %{_datadir}/bash-completion/completions/maxima
253 %{_datadir}/bash-completion/completions/rmaxima
256 %defattr(644,root,root,755)
257 %attr(755,root,root) %{_bindir}/xmaxima
258 %{_datadir}/%{name}/%{version}/xmaxima
259 %{_desktopdir}/net.sourceforge.maxima.xmaxima.desktop
260 %{_datadir}/metainfo/net.sourceforge.maxima.xmaxima.appdata.xml
261 %{_infodir}/xmaxima.info*
262 %{_datadir}/mime/packages/x-mac.xml
263 %{_datadir}/mime/packages/x-maxima-out.xml
264 %{_pixmapsdir}/net.sourceforge.maxima.png
265 %{_pixmapsdir}/net.sourceforge.maxima.svg
266 %{_pixmapsdir}/text-x-maxima-out.svg
267 %{_pixmapsdir}/text-x-maximasession.svg
269 %files -n bash-completion-xmaxima
270 %defattr(644,root,root,755)
271 %{_datadir}/bash-completion/completions/xmaxima
274 %files -n emacs-maxima-pkg
275 %defattr(644,root,root,755)
276 %{_emacs_lispdir}/%{name}
277 %{_emacs_lispdir}/site-start.d/%{name}-mode-init.el
278 %{_infodir}/imaxima.info*
282 %defattr(644,root,root,755)
283 %{_docdir}/%{name}-doc-%{version}
286 %defattr(644,root,root,755)
287 %{_usrsrc}/maxima-%{version}