Репозиторий Sisyphus
Последнее обновление: 1 октября 2023 | Пакетов: 18631 | Посещений: 37404109
en ru br
Репозитории ALT
S:5.47.0-alt2
5.1: 5.22.1-alt0.M51.1
4.1: 5.14.0-alt2
4.0: 5.14.0-alt2
3.0: 5.9.2-alt3
www.altlinux.org/Changes

Группа :: Науки/Математика
Пакет: maxima

 Главная   Изменения   Спек   Патчи   Sources   Загрузить   Gear   Bugs and FR  Repocop 

%define DEFAULT_LISP    gcl

%define BUILD_GCL 1
%define BUILD_CLISP 1
%define BUILD_SBCL 1
%define BUILD_CMUCL 0

%define BUILD_LANG_ES 1
%define BUILD_LANG_ES_UTF 1
%define BUILD_LANG_PT 1
%define BUILD_LANG_PT_UTF 1
%define BUILD_LANG_PT_BR 1
%define BUILD_LANG_PT_BR_UTF 1

%define BUILD_GCL_ANSI  1

%define BUILD_EMACS     1
%define BUILD_XMAXIMA   1

%define BUILD_BOOK      0

%define CVS_BUILD 0

Name: maxima
Version: 5.14.0
%define maxima_version 5.14.0
Release: alt2
Summary: Maxima Computer Algebra System
License: GPL
Group: Sciences/Mathematics
Url: http://maxima.sourceforge.net
Packager: Vadim V. Zhytnikov <vvzhy at altlinux.ru>

Source0: maxima-%version.tar.gz
Source1: maxima-new-16.xpm
Source2: maxima-new-32.xpm
Source3: maxima-new-48.xpm
Source4: maxima-xmaxima.desktop
Source6: maxima-modes.el
%if %BUILD_BOOK
Source7: breqn-0.94.tar.bz2
%endif

Patch1: maxima-5.14.0-gnuplot-pm3d.patch


%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 common
Summary: Maxima Symbolic Computation Program. Common files
Group: Sciences/Mathematics
Provides: maxima = %version-%release
PreReq: %__install_info
Requires: gnuplot >= 4.0.0 rlwrap maxima-bin = %version-%release
BuildRequires: sed perl tetex tetex-latex texinfo automake_1.7
AutoReq: yes, noshell

%description common
This package contains common files needed to run Maxima with
any lisp interpreter, documentation etc.


%if %BUILD_CLISP
%package bin-clisp
Summary: Maxima Symbolic Computation Program. Clisp binaries
Group: Sciences/Mathematics
Provides: maxima-bin = %version-%release
Requires: maxima-common = %version-%release
BuildRequires: clisp

%description bin-clisp
Maxima binaries compiled with clisp.
%endif

%if %BUILD_GCL
%package bin-gcl
Summary: Maxima Symbolic Computation Program. GCL binaries
Group: Sciences/Mathematics
Provides: maxima-bin = %version-%release
Requires: maxima-common = %version-%release libreadline libncurses terminfo libgpm
BuildRequires: gcl >= 2.6.5

%description bin-gcl
Maxima binaries compiled with GCL (GNU Common Lisp).
%endif

%if %BUILD_CMUCL
%package bin-cmucl
Summary: Maxima Symbolic Computation Program. CMUCL binaries
Group: Sciences/Mathematics
Provides: maxima-bin = %version-%release
Requires: maxima-common = %version-%release
BuildRequires: cmucl

%description bin-cmucl
Maxima binaries compiled with CMUCL (CMU Common Lisp).
%endif

%if %BUILD_SBCL
%package bin-sbcl
Summary: Maxima Symbolic Computation Program. SBCL binaries
Group: Sciences/Mathematics
Provides: maxima-bin = %version-%release
Requires: maxima-common = %version-%release sbcl = 1.0.12
BuildRequires: sbcl = 1.0.12

%description bin-sbcl
Maxima binaries compiled with SBCL (Steel Bank Common Lisp).
%endif

%if %BUILD_EMACS
%package -n emacs-maxima
Summary: Emacs Maxima modes
Group: Editors
Requires: maxima-common = %version-%release emacs emacs-mode-auctex
Obsoletes: maxima-emacs

%description -n emacs-maxima
Set of Maxima emacs modes.
%endif

%if %BUILD_XMAXIMA
%package xmaxima
Summary: Maxima graphical frontend
Group: Sciences/Mathematics
Requires: maxima-common = %version-%release tk tcl

%description xmaxima
Maxima graphical frontend written in Tcl/Tk.
%endif

%if %BUILD_LANG_ES
%package lang-es
Summary: Maxima Spanish language pack
Group: Sciences/Mathematics
Requires: maxima-common = %version-%release

%description lang-es
Maxima Spanish language pack.
%endif

%if %BUILD_LANG_ES_UTF
%package lang-es-utf8
Summary: Maxima Spanish language pack (UTF-8)
Group: Sciences/Mathematics
Requires: maxima-common = %version-%release

%description lang-es-utf8
Maxima Spanish language pack (UTF-8).
%endif

%if %BUILD_LANG_PT
%package lang-pt
Summary: Maxima Portuguese language pack
Group: Sciences/Mathematics
Requires: maxima-common = %version-%release

%description lang-pt
Maxima Portuguese language pack.
%endif

%if %BUILD_LANG_PT_UTF
%package lang-pt-utf8
Summary: Maxima Portuguese language pack (UTF-8)
Group: Sciences/Mathematics
Requires: maxima-common = %version-%release

%description lang-pt-utf8
Maxima Portuguese language pack (UTF-8).
%endif

%if %BUILD_LANG_PT_BR
%package lang-pt_BR
Summary: Maxima Brazilian Portuguese language pack
Group: Sciences/Mathematics
Requires: maxima-common = %version-%release

%description lang-pt_BR
Maxima Brazilian Portuguese language pack.
%endif

%if %BUILD_LANG_PT_BR_UTF
%package lang-pt_BR-utf8
Summary: Maxima Brazilian Portuguese language pack (UTF-8)
Group: Sciences/Mathematics
Requires: maxima-common = %version-%release

%description lang-pt_BR-utf8
Maxima Brazilian Portuguese language pack (UTF-8).
%endif

%if %BUILD_BOOK
%package book
Summary: Maxima book
Group: Sciences/Mathematics
BuildRequires: ghostscript

%description book
Maxima book
%endif

%if %CVS_BUILD
%define maxima_dir    %_builddir/maxima
%else
%define maxima_dir    %_builddir/maxima-%maxima_version
%endif

%prep
%if %CVS_BUILD
%setup -q -b0 -nmaxima
%else
%setup -q -b0 -nmaxima-%maxima_version
%endif

%if %BUILD_BOOK
%__tar jxf %SOURCE7 -C doc/maximabook
%endif

%patch1 -p1
#%patch2 -p1

%build
%if %CVS_BUILD
#%set_automake_version 1.7
./bootstrap
%endif

touch ./src/*.mk ./src/Makefile.in

%if %BUILD_GCL_ANSI
export GCL_ANSI="yes"
%else
export GCL_ANSI=""
%endif

./configure  --with-default-lisp=%DEFAULT_LISP \
%if %BUILD_CLISP
 --enable-clisp  \
%endif
%if %BUILD_GCL
 --enable-gcl    \
%endif
%if %BUILD_CMUCL
 --enable-cmucl  \
%endif
%if %BUILD_SBCL
 --enable-sbcl   \
%endif
%if %BUILD_LANG_ES
 --enable-lang-es \
%endif
%if %BUILD_LANG_ES_UTF
 --enable-lang-es-utf8 \
%endif
%if %BUILD_LANG_PT
 --enable-lang-pt \
%endif
%if %BUILD_LANG_PT_UTF
 --enable-lang-pt-utf8 \
%endif
%if %BUILD_LANG_PT_BR
 --enable-lang-pt_BR \
%endif
%if %BUILD_LANG_PT_BR_UTF
 --enable-lang-pt_BR-utf8 \
%endif
 --prefix=%prefix           \
 --infodir=%_infodir        \
 --mandir=%_mandir          \
 --libdir=%_libdir          \
 --datadir=%_datadir        \
 --libexecdir=%_libexecdir

make

pushd doc
 %if %BUILD_BOOK
 pushd maximabook
   make pdf-final
 popd
 %endif
 pushd intromax
   pdflatex intromax.ltx
 popd
popd  

%install
#export RPM_FINDREQ_METHOD=none
#%define _findreq_default_method none
# info files must be uncompressed
%define _compress_method no

%define maxima_libdir  %buildroot%_libdir/maxima
%define maxima_bindir     %buildroot%_bindir
%if %BUILD_EMACS
%define emacs_maxima_dir  %_datadir/emacs/site-lisp/maxima
%endif

# extra dirs and files not handled by standard make install


#  emacs modes

%if %BUILD_EMACS
install -d %buildroot%emacs_maxima_dir
install -d %buildroot%_sysconfdir/emacs/site-start.d
install -d %buildroot%_datadir/texmf/tex/latex/emaxima
%endif

#  documentation

install -d %buildroot%_docdir/maxima-%version
install -d %buildroot%_docdir/maxima-%version/implementation
%if %BUILD_BOOK
install -d %buildroot%_docdir/maxima-%version/maximabook
%endif
%if %BUILD_EMACS
install -d %buildroot%_docdir/maxima-%version/emaxima
%endif

%if %BUILD_XMAXIMA
# icons
install -D -m644 %SOURCE1 %buildroot%_miconsdir/maxima.xpm
install -D -m644 %SOURCE2 %buildroot%_iconsdir/maxima.xpm
install -D -m644 %SOURCE3 %buildroot%_liconsdir/maxima.xpm
# menu item
install -D -m644 %SOURCE4 %buildroot%_desktopdir/maxima-xmaxima.desktop
%endif

# emacs modes

%if %BUILD_EMACS
#  emaxima
install -D -m644 \
 %maxima_dir/interfaces/emacs/emaxima/*.el \
 %maxima_dir/interfaces/emacs/emaxima/*.lisp \
   %buildroot%emacs_maxima_dir
install -D -m644 \
 %maxima_dir/interfaces/emacs/emaxima/*.sty \
   %buildroot%_datadir/texmf/tex/latex/emaxima/emaxima.sty
#  old modes
install -D -m644 \
 %maxima_dir/interfaces/emacs/misc/*.el \
   %buildroot%emacs_maxima_dir
# site start
install -D -m644 %SOURCE6 %buildroot%_sysconfdir/emacs/site-start.d/maxima.el
echo "(setq load-path (cons \"%emacs_maxima_dir\" load-path))" >> \
 %buildroot%_sysconfdir/emacs/site-start.d/maxima.el
%endif

# documentation

%define maxima_docdir %buildroot%_docdir/maxima-%version
install -D -m644 COPY* AUT* NEW* READ* INST* Change* doc/contrib* %maxima_docdir
%if %BUILD_BOOK
install -D -m644 %maxima_dir/doc/maximabook/maxima.pdf %maxima_docdir/maxima.pdf
%endif
install -D -m644 %maxima_dir/doc/intromax/intromax.pdf %maxima_docdir/intromax.pdf
install -D -m644 %maxima_dir/doc/implementation/*.txt %maxima_docdir/implementation
%if %BUILD_EMACS
install -D -m644 %maxima_dir/doc/emaxima/EMaximaIntro.ps %maxima_docdir/emaxima/EMaximaIntro.ps
%endif

cd %maxima_dir

%makeinstall

%files common
%_bindir/maxima
%_bindir/rmaxima
%_infodir/*
%if %BUILD_LANG_ES
%exclude %_infodir/es
%endif
%if %BUILD_LANG_ES_UTF
%exclude %_infodir/es.utf8
%endif
%if %BUILD_LANG_PT
%exclude %_infodir/pt
%endif
%if %BUILD_LANG_PT_UTF
%exclude %_infodir/pt.utf8
%endif
%if %BUILD_LANG_PT_BR
%exclude %_infodir/pt_BR
%endif
%if %BUILD_LANG_PT_BR_UTF
%exclude %_infodir/pt_BR.utf8
%endif
%_mandir/man1/maxima.1*
%dir %_libexecdir/maxima
%dir %_libexecdir/maxima/%maxima_version
%_libexecdir/maxima/%maxima_version/mgnuplot
%dir %_datadir/maxima
%dir %_datadir/maxima/%maxima_version
%_datadir/maxima/%maxima_version/demo
%_datadir/maxima/%maxima_version/doc
%_datadir/maxima/%maxima_version/share
%_datadir/maxima/%maxima_version/src
%_datadir/maxima/%maxima_version/tests
%exclude %_datadir/maxima/%maxima_version/emacs
%if %BUILD_LANG_ES
%exclude %_datadir/maxima/%maxima_version/doc/html/es
%endif
%if %BUILD_LANG_ES_UTF
%exclude %_datadir/maxima/%maxima_version/doc/html/es.utf8
%endif
%if %BUILD_LANG_PT
%exclude %_datadir/maxima/%maxima_version/doc/html/pt
%endif
%if %BUILD_LANG_PT_UTF
%exclude %_datadir/maxima/%maxima_version/doc/html/pt.utf8
%endif
%if %BUILD_LANG_PT_BR
%exclude %_datadir/maxima/%maxima_version/doc/html/pt_BR
%endif
%if %BUILD_LANG_PT_BR_UTF
%exclude %_datadir/maxima/%maxima_version/doc/html/pt_BR.utf8
%endif
%dir %_docdir/maxima-%version
%doc %_docdir/maxima-%version/COPY*
%doc %_docdir/maxima-%version/AUT*
%doc %_docdir/maxima-%version/NEW*
%doc %_docdir/maxima-%version/READ*
%doc %_docdir/maxima-%version/INST*
%doc %_docdir/maxima-%version/Change*
%doc %_docdir/maxima-%version/contrib*
%doc %_docdir/maxima-%version/intromax.pdf
%doc %_docdir/maxima-%version/implementation

%if %BUILD_CLISP
%files bin-clisp
%dir %_libdir/maxima
%dir %_libdir/maxima/%maxima_version
%_libdir/maxima/%maxima_version/binary-clisp
%endif

%if %BUILD_GCL
%files bin-gcl
%dir %_libdir/maxima
%dir %_libdir/maxima/%maxima_version
%_libdir/maxima/%maxima_version/binary-gcl
%endif

%if %BUILD_CMUCL
%files bin-cmucl
%dir %_libdir/maxima
%dir %_libdir/maxima/%maxima_version
%_libdir/maxima/%maxima_version/binary-cmucl
%endif

%if %BUILD_SBCL
%files bin-sbcl
%dir %_libdir/maxima
%dir %_libdir/maxima/%maxima_version
%_libdir/maxima/%maxima_version/binary-sbcl
%endif

%if %BUILD_EMACS
%files -n emacs-maxima
%emacs_maxima_dir
%_sysconfdir/emacs/site-start.d/*.el
%_datadir/texmf/tex/latex/emaxima
%dir %_docdir/maxima-%version
%doc %_docdir/maxima-%version/emaxima
%endif

%if %BUILD_XMAXIMA
%files xmaxima
%_bindir/xmaxima
%_desktopdir/maxima-xmaxima.desktop
%_iconsdir/maxima.xpm
%_miconsdir/maxima.xpm
%_liconsdir/maxima.xpm
%dir %_datadir/maxima
%dir %_datadir/maxima/%maxima_version
%_datadir/maxima/%maxima_version/xmaxima
%endif

%if %BUILD_BOOK
%files book
%dir %_docdir/maxima-%version
%doc %_docdir/maxima-%version/maxima.pdf
%endif

%if %BUILD_LANG_ES
%files lang-es
%_datadir/maxima/%maxima_version/doc/html/es
%_infodir/es
%endif

%if %BUILD_LANG_ES_UTF
%files lang-es-utf8
%_datadir/maxima/%maxima_version/doc/html/es.utf8
%_infodir/es.utf8
%endif

%if %BUILD_LANG_PT
%files lang-pt
%_datadir/maxima/%maxima_version/doc/html/pt
%_infodir/pt
%endif

%if %BUILD_LANG_PT_UTF
%files lang-pt-utf8
%_datadir/maxima/%maxima_version/doc/html/pt.utf8
%_infodir/pt.utf8
%endif

%if %BUILD_LANG_PT_BR
%files lang-pt_BR
%_datadir/maxima/%maxima_version/doc/html/pt_BR
%_infodir/pt_BR
%endif

%if %BUILD_LANG_PT_BR_UTF
%files lang-pt_BR-utf8
%_datadir/maxima/%maxima_version/doc/html/pt_BR.utf8
%_infodir/pt_BR.utf8
%endif

# post


%post common
%install_info maxima.info

%preun common
%uninstall_info maxima.info

%if %BUILD_XMAXIMA
%post xmaxima
%update_menus

%postun xmaxima
%clean_menus
%endif

%if %BUILD_EMACS
%post -n emacs-maxima
TEXHASH=/usr/bin/texhash
[ -x "$TEXHASH" ] || "$TEXHASH" 2>/dev/null ||:

%postun -n emacs-maxima
TEXHASH=/usr/bin/texhash
[ -x "$TEXHASH" ] || "$TEXHASH" 2>/dev/null ||:
%endif


%changelog

Полный changelog можно просмотреть здесь

 
дизайн и разработка: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
текущий майнтейнер: Michael Shigorin