diff options
author | Peter Simons <simons@cryp.to> | 2011-07-13 09:13:32 +0000 |
---|---|---|
committer | Peter Simons <simons@cryp.to> | 2011-07-13 09:13:32 +0000 |
commit | 3cd02cd43dbfe60e4bcd87964c3ae60ba2200669 (patch) | |
tree | 819a6a66ae7fa8c60cbe7d26e21769a3e45e5a65 /pkgs/applications/science/math/maxima | |
parent | 9485e2392bd9a88ce7c32a0ed4b78f7a458ce5b6 (diff) | |
download | nixlib-3cd02cd43dbfe60e4bcd87964c3ae60ba2200669.tar nixlib-3cd02cd43dbfe60e4bcd87964c3ae60ba2200669.tar.gz nixlib-3cd02cd43dbfe60e4bcd87964c3ae60ba2200669.tar.bz2 nixlib-3cd02cd43dbfe60e4bcd87964c3ae60ba2200669.tar.lz nixlib-3cd02cd43dbfe60e4bcd87964c3ae60ba2200669.tar.xz nixlib-3cd02cd43dbfe60e4bcd87964c3ae60ba2200669.tar.zst nixlib-3cd02cd43dbfe60e4bcd87964c3ae60ba2200669.zip |
maxima: switch from clisp to sbcl, enable tk gui, and fix various impurities
* Build maxima with sbcl for better performance. * Enable the regression test suite. * Configure $PATH at start-up so that maxima knows how to find sbcl, wish, rlwrap, and gnuplot. * Move installed documentation and Emacs lisp modules into standard locations. * Enable parallel building. svn path=/nixpkgs/trunk/; revision=27743
Diffstat (limited to 'pkgs/applications/science/math/maxima')
-rw-r--r-- | pkgs/applications/science/math/maxima/default.nix | 26 |
1 files changed, 22 insertions, 4 deletions
diff --git a/pkgs/applications/science/math/maxima/default.nix b/pkgs/applications/science/math/maxima/default.nix index 00f0ab25e4cd..0b71b72f13c7 100644 --- a/pkgs/applications/science/math/maxima/default.nix +++ b/pkgs/applications/science/math/maxima/default.nix @@ -1,8 +1,12 @@ -{ stdenv, fetchurl, clisp, texinfo, perl }: +{ stdenv, fetchurl, sbcl, texinfo, perl, makeWrapper, rlwrap ? null, tk ? null, gnuplot ? null }: let name = "maxima"; version = "5.24.0"; + + searchPath = + stdenv.lib.makeSearchPath "bin" + (stdenv.lib.filter (x: x != null) [ sbcl rlwrap tk gnuplot ]); in stdenv.mkDerivation { name = "${name}-${version}"; @@ -12,11 +16,25 @@ stdenv.mkDerivation { sha256 = "137crv2f6hxwqrv75m8679vrlbnqgg5ww755cs4kihs1cy03bssq"; }; - preConfigure = '' - configureFlags="--infodir=$out/share/info --mandir=$out/share/man" + buildInputs = [sbcl texinfo perl makeWrapper]; + + postInstall = '' + # Make sure that maxima can find its runtime dependencies. + for prog in "$out/bin/"*; do + wrapProgram "$prog" --prefix PATH ":" "${searchPath}" + done + # Move emacs modules and documentation into the right place. + ensureDir $out/share/emacs $out/share/doc + ln -s ../maxima/${version}/emacs $out/share/emacs/site-lisp + ln -s ../maxima/${version}/doc $out/share/doc/maxima ''; - buildInputs = [clisp texinfo perl]; + # The regression test suite has minor failures, but curiously enough + # this doesn't seem to abort the build process: + # <http://sourceforge.net/tracker/?func=detail&aid=3365831&group_id=4933&atid=104933>. + doCheck = true; + + enableParallelBuilding = true; meta = { description = "Maxima computer algebra system"; |