When autoloading a Maxima script, avoid clobbering global state.
[maxima.git] / maxima.spec.in
blobadfb6426c613ac5b9443ec809f8f314069f549cd
1 # -*- mode: rpm-spec -*-
3 # By default, this spec file will generate RPMs for clisp
4 # This can be changed by modifying the variables below.
5 %define enable_clisp 0
6 %define clisp_flags --disable-clisp-exec
7 %define enable_ccl 0
8 %define ccl_flags --disable-ccl
9 # ccl_flags --enable-ccl-exec --with-ccl=lx86cl
10 %define enable_cmucl 0
11 %define cmucl_flags --disable-cmucl
12 %define enable_sbcl 0
13 %define sbcl_flags --disable-sbcl-exec
14 %define enable_gcl 1
15 %define gcl_flags --enable-gcl
17 # Options to build language packs
18 # Spanish
19 %define enable_lang_es 1
20 %define lang_es_flags --enable-lang-es
21 # Portuguese
22 %define enable_lang_pt 1
23 %define lang_pt_flags --enable-lang-pt
24 # Brazilian Portuguese
25 %define enable_lang_pt_br 1
26 %define lang_pt_br_flags --enable-lang-pt_BR
28 # Inhibit automatic compressing of info files. Compressed info
29 # files break maxima's internal help.
30 %define __spec_install_post /bin/true
32 Summary: Symbolic Computation Program
33 Name: maxima
34 Version: @VERSION@
35 Release: 1
36 License: GPLv2+
37 Group: Sciences/Mathematics
38 URL: https://maxima.sourceforge.io
39 Source0: %{name}-%{version}.tar.gz
40 BuildRoot: %{_tmppath}/%{name}-%{version}-buildroot
41 Requires: maxima-exec = %{version}
42 Provides: maxima-doc
44 %description
46 Maxima is a system for the manipulation of symbolic
47 and numerical expressions, including differentiation,
48 integration, Taylor series, Laplace transforms,
49 ordinary differential equations, systems of linear
50 equations, polynomials, sets, lists, vectors, matrices
51 and tensors.
52 Maxima yields high precision numeric results by using
53 exact fractions, arbitrary-precision integers and
54 arbitrary-precision floating point numbers.
55 Maxima can plot functions and data in two and three
56 dimensions, and it comes with hundreds of self tests.
57 Maxima is based on the original Macsyma developed
58 at MIT in the 1970's.
60 %package xmaxima
61 Summary: Maxima graphics program and graphical interface to Maxima
62 Group: Sciences/Mathematics
63 Requires: maxima = %{version}, tk
64 Provides: xmaxima
65 %description xmaxima
67 A graphical interface to the Maxima symbolic computation
68 program. It also provides a graphics program
69 that can be used from Maxima, and a Web browser that
70 accepts a custom html tag to execute Maxima commands from
71 an html page. Xmaxima is written in the Tcl/Tk language.
73 %package emacs
74 Summary: Emacs modes for Maxima
75 Group: Sciences/Mathematics
76 Requires: maxima = %{version}, emacs
77 Provides: maxima-emacs
78 %description emacs
80 emaxima and imaxima, two emacs packages that allow to run
81 maxima interactively from an emacs buffer.
83 %if %{enable_clisp}
84 %package exec-clisp
85 Summary: Maxima compiled with clisp
86 Group: Sciences/Mathematics
87 Requires: maxima = %{version}
88 Provides: maxima-exec
89 %description exec-clisp
90 Maxima compiled with clisp.
91 %endif
93 %if %{enable_ccl}
94 %package exec-ccl
95 Summary: Maxima compiled with Clozure CL
96 Group: Sciences/Mathematics
97 Requires: maxima = %{version}
98 Provides: maxima-exec
99 %description exec-ccl
100 Maxima compiled with Clozure Common Lisp.
101 %endif
103 %if %{enable_cmucl}
104 %package exec-cmucl
105 Summary: Maxima compiled with CMUCL
106 Group: Sciences/Mathematics
107 Requires: maxima = %{version}
108 Provides: maxima-exec
109 %description exec-cmucl
110 Maxima compiled with CMUCL.
111 %endif
113 %if %{enable_sbcl}
114 %package exec-sbcl
115 Summary: Maxima compiled with SBCL
116 Group: Sciences/Mathematics
117 Requires: maxima = %{version}
118 Provides: maxima-exec
119 %description exec-sbcl
120 Maxima compiled with SBCL.
121 %endif
123 %if %{enable_gcl}
124 %package exec-gcl
125 Summary: Maxima compiled with GCL
126 Group: Sciences/Mathematics
127 Requires: maxima = %{version}
128 Provides: maxima-exec
129 %description exec-gcl
130 Maxima compiled with Gnu Common Lisp.
131 %endif
133 %if %{enable_lang_es}
134 %package lang-es
135 Summary: Maxima Spanish language pack
136 Group: Sciences/Mathematics
137 Requires: maxima = %{version}
138 %description lang-es
139 Maxima Spanish language support.
140 %endif
142 %if %{enable_lang_pt}
143 %package lang-pt
144 Summary: Maxima Portuguese language pack
145 Group: Sciences/Mathematics
146 Requires: maxima = %{version}
147 %description lang-pt
148 Maxima Portuguese language support.
149 %endif
151 %if %{enable_lang_pt_br}
152 %package lang-pt_BR
153 Summary: Maxima Brazilian Portuguese language pack
154 Group: Sciences/Mathematics
155 Requires: maxima = %{version}
156 %description lang-pt_BR
157 Maxima Brazilian Portuguese language support.
158 %endif
160 %prep
161 %setup -q
162 %configure %{?sbcl_flags:} %{?cmucl_flags:} %{?gcl_flags:} %{?clisp_flags:} %{?ccl_flags:} \
163 %{?lang_es_flags:} \
164 %{?lang_pt_flags:} \
165 %{?lang_pt_br_flags:}
167 %build
168 make
170 %install
171 rm -rf $RPM_BUILD_ROOT
172 %makeinstall
173 make \
174 prefix=%{?buildroot:%{buildroot}}%{_prefix} \
175 exec_prefix=%{?buildroot:%{buildroot}}%{_exec_prefix} \
176 bindir=%{?buildroot:%{buildroot}}%{_bindir} \
177 sbindir=%{?buildroot:%{buildroot}}%{_sbindir} \
178 sysconfdir=%{?buildroot:%{buildroot}}%{_sysconfdir} \
179 datadir=%{?buildroot:%{buildroot}}%{_datadir} \
180 includedir=%{?buildroot:%{buildroot}}%{_includedir} \
181 libdir=%{?buildroot:%{buildroot}}%{_libdir} \
182 libexecdir=%{?buildroot:%{buildroot}}%{_libexecdir} \
183 localstatedir=%{?buildroot:%{buildroot}}%{_localstatedir} \
184 sharedstatedir=%{?buildroot:%{buildroot}}%{_sharedstatedir} \
185 mandir=%{?buildroot:%{buildroot}}%{_mandir} \
186 infodir=%{?buildroot:%{buildroot}}%{_infodir} \
187 install-info
188 touch debugfiles.list
189 # Deal with info/dir
190 rm -f $RPM_BUILD_ROOT%{_datadir}/info/dir
192 %post
193 /sbin/install-info %{_infodir}/maxima.info %{_infodir}/dir
195 %postun
196 if [ "$1" = 0 ]; then
197 /sbin/install-info --delete %{_infodir}/maxima.info %{_infodir}/dir
200 %post xmaxima
201 /sbin/install-info %{_infodir}/xmaxima.info %{_infodir}/dir
203 %postun xmaxima
204 if [ "$1" = 0 ]; then
205 /sbin/install-info --delete %{_infodir}/xmaxima.info %{_infodir}/dir
208 %clean
209 rm -rf $RPM_BUILD_ROOT
211 %files
212 %defattr(-,root,root,-)
213 %dir %{_datadir}/maxima
214 %exclude %{_datadir}/maxima/*/xmaxima
215 %{_datadir}/maxima/*
216 %if %{enable_lang_es}
217 %exclude %{_datadir}/maxima/*/doc/html/es
218 %endif
219 %if %{enable_lang_pt}
220 %exclude %{_datadir}/maxima/*/doc/html/pt
221 %endif
222 %if %{enable_lang_pt_br}
223 %exclude %{_datadir}/maxima/*/doc/html/pt_BR
224 %endif
225 %{_datadir}/applications
226 %{_datadir}/bash-completion
227 %{_datadir}/pixmaps
228 %{_datadir}/mime
229 %{_datadir}/metainfo/
230 %dir %{_libexecdir}/maxima
231 %{_libexecdir}/maxima/*
232 %{_infodir}/*
233 %exclude %{_infodir}/xmaxima.info*
234 %if %{enable_lang_es}
235 %exclude %{_infodir}/es
236 %endif
237 %if %{enable_lang_pt}
238 %exclude %{_infodir}/pt
239 %endif
240 %if %{enable_lang_pt_br}
241 %exclude %{_infodir}/pt_BR
242 %endif
243 %{_mandir}/man1/maxima.1
244 %{_bindir}/maxima
245 %{_bindir}/rmaxima
246 %exclude %{_datadir}/mime/packages/x-mac.xml
247 %doc AUTHORS COPYING INSTALL INSTALL.lisp NEWS desktopintegration/x-mac.xml
248 %doc README README-lisps.md README.rpms README.external README.i18n
250 %files xmaxima
251 %{_bindir}/xmaxima
252 %{_datadir}/maxima/*/xmaxima
253 %{_infodir}/xmaxima*
255 %files emacs
256 %{_datadir}/emacs/*/*
258 %if %{enable_clisp}
259 %files exec-clisp
260 %{_libdir}/maxima/*/binary-clisp
261 %endif
263 %if %{enable_ccl}
264 %files exec-ccl
265 %{_libdir}/maxima/*/binary-openmcl
266 %endif
268 %if %{enable_cmucl}
269 %files exec-cmucl
270 %{_libdir}/maxima/*/binary-cmucl
271 %endif
273 %if %{enable_sbcl}
274 %files exec-sbcl
275 %{_libdir}/maxima/*/binary-sbcl
276 %endif
278 %if %{enable_gcl}
279 %files exec-gcl
280 %{_libdir}/maxima/*/binary-gcl
281 %endif
283 %if %{enable_lang_es}
284 %files lang-es
285 %{_datadir}/maxima/*/doc/html/es
286 %{_infodir}/es
287 %endif
289 %if %{enable_lang_pt}
290 %files lang-pt
291 %{_datadir}/maxima/*/doc/html/pt
292 %{_infodir}/pt
293 %endif
295 %if %{enable_lang_pt_br}
296 %files lang-pt_BR
297 %{_datadir}/maxima/*/doc/html/pt_BR
298 %{_infodir}/pt_BR
299 %endif
301 %doc
304 %changelog
305 * Sat Jan 20 2007 Vadim Zhytnikov <vvzhy@netorn.ru>
306 - Brazilian Portuguese language packs.
308 * Mon Dec 11 2006 Jaime Villate <villate@fe.up.pt>
309 - Moved xmaxima files to the maxima-xmaxima package.
310 - Updated description of Xmaxima.
312 * Wed Dec 28 2005 Vadim Zhytnikov <vvzhy@netorn.ru>
313 - Spanish and Portuguese language packs.
314 - Package maxima subdirectories for clean uninstall.
316 * Sat Jan 4 2003 James Amundson <amundson@fnal.gov>
317 - Added doc files
318 - Added explicit clisp version
319 - Added conditional to postun
320 - Renamed exec_* packages to exec-*
321 - Use rpm macros instead of hard-coded paths
322 - Thanks to Rex Dieter for helpful suggestions
324 * Sun Sep 8 2002 James Amundson <amundson@fnal.gov>
325 - Initial build.