Merge branch 'master' of https://git.code.sf.net/p/maxima/code into master
[maxima.git] / archive / maxima-5.6-0.spec
blob7d367bfc880e4c66f3d6d0116091c4753e5495f9
1 Summary: Maxima Symbolic Computation Program
2 Name: maxima
3 Version: 5.6
4 Release: 0
5 Copyright: GPL
6 Group: Development/Languages
7 Source0: ftp.ma.utexas.edu:/pub/maxima/maxima-5.6.tgz
8 Source1: ftp.ma.utexas.edu:/pub/gcl/gcl-2.4.0.tgz
10 %description
12 Maxima is a full symbolic computation program. It is full featured
13 doing symbolic manipulation of polynomials, matrices, rational
14 functions, integration, Todd-coxeter, graphing, bigfloats. It has a
15 symbolic debugger source level debugger for maxima code. Maxima is
16 based on the original Macsyma developed at MIT in the 1970's. It is
17 quite reliable, and has good garbage collection, and no memory leaks.
18 It comes with hundreds of self tests. William Schelter at University
19 of Texas, has been responsible for development since the mid 1980's.
20 See http://www.ma.utexas.edu/maxima.html for more information. He has
21 recently been able to get DOE to allow him to distribute Maxima under
22 the GPL.
24 %prep
25 %setup -b 1
27 %build
30 MAXIMA_DIR=`pwd`
31 GCL=`echo ${MAXIMA_DIR}/../gcl*`
32 #build gcl
33 cd ${GCL}
34 ./configure
35 make
37 #build maxima after setting up the paths
38 cd ${MAXIMA_DIR}
40 # grab emacs lisp directory where we will put .el files:
41 EMACS_SITE_LISP=/usr/share/emacs/site-lisp/maxima
43 # fix the directories for Red Hat
44 cat configure.in | sed -e "s:GCLDIR=.*:GCLDIR=${GCL}:g" \
45 -e "s:^MAXDIR=.*:MAXDIR=${MAXIMA_DIR}:g" \
46 -e "s:^PREFIX_DIR=.*:PREFIX_DIR=/usr:g" \
47 -e "s:^INFO_DIR=.*:INFO_DIR=/usr/share/info:g" \
48 -e "s:^MAN_DIR=.*:MAN_DIR=/usr/share/man/man1:g" \
49 -e "s:^EMACS_SITE_LISP=.*:EMACS_SITE_LISP=${EMACS_SITE_LISP}:g" > configure
50 chmod a+x configure
51 ./configure
52 make
54 %install
56 # establish directories:
57 MAXIMA_DIR=`pwd`
58 GCL=`echo ${MAXIMA_DIR}/../gcl*`
59 EMACS_SITE_LISP=/usr/share/emacs/site-lisp/maxima
61 if test -d ${EMACS_SITE_LISP} ; then true ; else mkdir ${EMACS_SITE_LISP} ; fi
63 make install
64 # copy .el files from gcl also, they are needed, and
66 (cd ${GCL}/elisp ; tar cvf - *.el) | (cd ${EMACS_SITE_LISP} ; tar xvf -)
68 START=${EMACS_SITE_LISP}/../site-start.el
70 # add the path where we put the maxima .el files, and
71 # add autoloads
72 if fgrep maxima ${START} > /dev/null ;
73 then true ; else
74 cat ${MAXIMA_DIR}/elisp/add-defaults.el >> ${START}
75 echo "(setq load-path (cons \"${EMACS_SITE_LISP}\" load-path))" >> ${START}
78 %files
79 %doc README COPYING
80 /usr/share/emacs/site-lisp/maxima
81 /usr/lib/maxima-5.5
82 /usr/share/info/maxima*
83 /usr/share/man/man1/maxima.1
84 /usr/bin/maxima
85 /usr/bin/xmaxima
87 %postun
88 cat /usr/share/emacs/site-lisp/site-start.el | sed -e '/BEGIN maxima/,/lisp\/maxima/d' > foo
89 cp foo /usr/share/emacs/site-lisp/site-start.el
90 rm -f foo