about summary refs log tree commit diff
path: root/pkgs/applications/science/math
diff options
context:
space:
mode:
authorSymphorien Gibol <symphorien+git@xlumurb.eu>2017-09-30 11:33:14 +0200
committerSymphorien Gibol <symphorien+git@xlumurb.eu>2017-09-30 12:29:31 +0200
commit79df9105bab9a7bc96f2b00391a03b3c242ab024 (patch)
tree906fe5ed214c4e6d21c5a08d7dc54dc1e446d230 /pkgs/applications/science/math
parent9824ca6975fcbf5a2da9e6ba98dacafaa12bb1b3 (diff)
downloadnixlib-79df9105bab9a7bc96f2b00391a03b3c242ab024.tar
nixlib-79df9105bab9a7bc96f2b00391a03b3c242ab024.tar.gz
nixlib-79df9105bab9a7bc96f2b00391a03b3c242ab024.tar.bz2
nixlib-79df9105bab9a7bc96f2b00391a03b3c242ab024.tar.lz
nixlib-79df9105bab9a7bc96f2b00391a03b3c242ab024.tar.xz
nixlib-79df9105bab9a7bc96f2b00391a03b3c242ab024.tar.zst
nixlib-79df9105bab9a7bc96f2b00391a03b3c242ab024.zip
giac, xcas: init at 1.4.9
Diffstat (limited to 'pkgs/applications/science/math')
-rw-r--r--pkgs/applications/science/math/giac/default.nix63
1 files changed, 63 insertions, 0 deletions
diff --git a/pkgs/applications/science/math/giac/default.nix b/pkgs/applications/science/math/giac/default.nix
new file mode 100644
index 000000000000..d1645bf90107
--- /dev/null
+++ b/pkgs/applications/science/math/giac/default.nix
@@ -0,0 +1,63 @@
+{stdenv, fetchurl, gmp, mpfr, pari, ntl, gsl, blas,
+readline, gettext, liblapackWithAtlas, bison, yacc, flex,
+mpfi,  libpng, libao, gfortran, texlive, hevea, perl,
+enableGui ? true, mesa ? null, xorg ? null, fltk ? null,
+}:
+
+assert enableGui -> mesa != null && xorg != null && fltk != null;
+
+stdenv.mkDerivation rec {
+  name = "giac-${version}";
+  version = "1.4.9";
+
+  src = fetchurl {
+    url = "https://www-fourier.ujf-grenoble.fr/~parisse/giac/${name}.tar.bz2";
+    sha256 = "1n7xxgpqrsq7cv5wgcmgag6jvxw5wijkf1yv1r5aizlf1rc7dhai";
+  };
+
+
+  patchPhase = ''
+    for i in doc/*/Makefile* ; do
+      substituteInPlace "$i" --replace "/bin/cp" "cp";
+    done;
+    '';
+
+  nativeBuildInputs = [
+    texlive.combined.scheme-small hevea
+  ];
+
+  buildInputs = [
+    gmp mpfr pari ntl gsl mpfi liblapackWithAtlas bison yacc flex readline
+    gettext blas libpng gfortran perl
+  ] ++ stdenv.lib.optionals enableGui [
+    mesa fltk xorg.libX11
+  ];
+
+  enableParallelBuilding = true;
+  hardeningDisable = [ "format" "bindnow" "relro" ];
+
+  configureFlags = [
+      "--enable-gc" "--enable-png" "--enable-gsl" "--enable-lapack"
+      "--enable-pari" "--enable-ntl" "--enable-gmpxx" # "--enable-cocoa"
+      "--enable-ao" ] ++ stdenv.lib.optionals enableGui [
+      "--enable-gui" "--with-x"
+    ];
+
+  postInstall = ''
+    # example Makefiles contain the full path to some commands
+    # notably texlive, and we don't want texlive to become a runtime
+    # dependency
+    for file in $(find $out -name Makefile) ; do
+      sed -i "s@/nix/store/[^/]*/bin/@@" "$file" ;
+    done;
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A free computer algebra system (CAS)";
+    homepage = "https://www-fourier.ujf-grenoble.fr/~parisse/giac.html";
+    license = licenses.gpl3Plus;
+    ## xcas is buildable on darwin but there are specific instructions I could
+    ## not test
+    platforms = platforms.linux;
+  };
+}