From b5435d0551ce5244c8b4e873a173d91b3bd81da7 Mon Sep 17 00:00:00 2001 From: Symphorien Gibol Date: Tue, 4 Dec 2018 23:19:33 +0100 Subject: giac: 1.4.9 -> 1.5.0 --- pkgs/applications/science/math/giac/default.nix | 4 ++-- .../science/math/sage/patches/giac-1.5.0.patch | 14 ++++++++++++++ pkgs/applications/science/math/sage/sage-src.nix | 3 +++ 3 files changed, 19 insertions(+), 2 deletions(-) create mode 100644 pkgs/applications/science/math/sage/patches/giac-1.5.0.patch diff --git a/pkgs/applications/science/math/giac/default.nix b/pkgs/applications/science/math/giac/default.nix index 2823165d0226..4ad498e59224 100644 --- a/pkgs/applications/science/math/giac/default.nix +++ b/pkgs/applications/science/math/giac/default.nix @@ -9,11 +9,11 @@ assert enableGUI -> libGLU_combined != null && xorg != null && fltk != null; stdenv.mkDerivation rec { name = "${attr}-${version}"; attr = if enableGUI then "giac-with-xcas" else "giac"; - version = "1.4.9-59"; # TODO try to remove preCheck phase on upgrade + version = "1.5.0-21"; # TODO try to remove preCheck phase on upgrade src = fetchurl { url = "https://www-fourier.ujf-grenoble.fr/~parisse/debian/dists/stable/main/source/giac_${version}.tar.gz"; - sha256 = "0dv5p5y6gkrsmz3xa7fw87rjyabwdwk09mqb09kb7gai9n9dgayk"; + sha256 = "1b9khiv0mk2xzw1rblm2jy6qsf8y6f9k7qy15sxpb21d72hzzbl2"; }; patches = stdenv.lib.optionals (!enableGUI) [ diff --git a/pkgs/applications/science/math/sage/patches/giac-1.5.0.patch b/pkgs/applications/science/math/sage/patches/giac-1.5.0.patch new file mode 100644 index 000000000000..58090b241d2d --- /dev/null +++ b/pkgs/applications/science/math/sage/patches/giac-1.5.0.patch @@ -0,0 +1,14 @@ +--- a/src/sage/interfaces/giac.py 2018-12-08 22:11:56.285500644 +0100 ++++ b/src/sage/interfaces/giac.py 2018-12-08 22:11:56.285500644 +0100 +@@ -617,10 +617,7 @@ + '4\n3' + sage: s='g(x):={\nx+1;\nx+2;\n}' + sage: giac(s) +- (x)->{ +- x+1; +- x+2; +- } ++ (x)->[x+1,x+2] + sage: giac.g(5) + 7 + """ diff --git a/pkgs/applications/science/math/sage/sage-src.nix b/pkgs/applications/science/math/sage/sage-src.nix index 5d729d9c5fdd..5dc73e26a596 100644 --- a/pkgs/applications/science/math/sage/sage-src.nix +++ b/pkgs/applications/science/math/sage/sage-src.nix @@ -79,6 +79,9 @@ stdenv.mkDerivation rec { # https://trac.sagemath.org/ticket/25260 ./patches/numpy-1.15.1.patch + # https://trac.sagemath.org/ticket/26315 + ./patches/giac-1.5.0.patch + # needed for ntl update # https://trac.sagemath.org/ticket/25532 (fetchpatch { -- cgit 1.4.1 From e7801461e069753461a4ee50863bba72282aa99a Mon Sep 17 00:00:00 2001 From: Symphorien Gibol Date: Fri, 7 Dec 2018 11:46:25 +0100 Subject: giac: don't split in multiple outputs for when gui enabled This breaks the Phys and Turtle menu, among other things. --- pkgs/applications/science/math/giac/default.nix | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/pkgs/applications/science/math/giac/default.nix b/pkgs/applications/science/math/giac/default.nix index 4ad498e59224..ecd55f62e333 100644 --- a/pkgs/applications/science/math/giac/default.nix +++ b/pkgs/applications/science/math/giac/default.nix @@ -47,7 +47,9 @@ stdenv.mkDerivation rec { libGLU_combined fltk xorg.libX11 ]; - outputs = [ "out" "doc" ]; + # xcas Phys and Turtle menus are broken with split outputs + # and interactive use is likely to need docs + outputs = [ "out" ] ++ stdenv.lib.optional (!enableGUI) "doc"; doCheck = true; preCheck = '' @@ -80,9 +82,15 @@ stdenv.mkDerivation rec { # reference cycle rm "$out/share/giac/doc/el/"{casinter,tutoriel}/Makefile - mkdir -p "$doc/share/giac" - mv "$out/share/giac/doc" "$doc/share/giac" - mv "$out/share/giac/examples" "$doc/share/giac" + if [ -n "$doc" ]; then + mkdir -p "$doc/share/giac" + mv "$out/share/giac/doc" "$doc/share/giac" + mv "$out/share/giac/examples" "$doc/share/giac" + fi + '' + stdenv.lib.optionalString (!enableGUI) '' + for i in pixmaps application-registry applications icons; do + rm -r "$out/share/$i"; + done; ''; meta = with stdenv.lib; { -- cgit 1.4.1 From 8b4f885264da0af8c3142f90c8c89c73501b8703 Mon Sep 17 00:00:00 2001 From: Symphorien Gibol Date: Sat, 8 Dec 2018 21:10:24 +0100 Subject: giac: add missing optional dependencies --- pkgs/applications/science/math/giac/default.nix | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/pkgs/applications/science/math/giac/default.nix b/pkgs/applications/science/math/giac/default.nix index ecd55f62e333..2afa52dd511f 100644 --- a/pkgs/applications/science/math/giac/default.nix +++ b/pkgs/applications/science/math/giac/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, fetchpatch, texlive, bison, flex, liblapack -, gmp, mpfr, pari, ntl, gsl, blas, mpfi +, gmp, mpfr, pari, ntl, gsl, blas, mpfi, ecm, glpk , readline, gettext, libpng, libao, gfortran, perl , enableGUI ? false, libGLU_combined ? null, xorg ? null, fltk ? null }: @@ -37,8 +37,8 @@ stdenv.mkDerivation rec { # perl is only needed for patchShebangs fixup. buildInputs = [ - gmp mpfr pari ntl gsl blas mpfi - readline gettext libpng libao perl + gmp mpfr pari ntl gsl blas mpfi glpk + readline gettext libpng libao perl ecm # gfortran.cc default output contains static libraries compiled without -fPIC # we want libgfortran.so.3 instead (stdenv.lib.getLib gfortran.cc) @@ -47,6 +47,13 @@ stdenv.mkDerivation rec { libGLU_combined fltk xorg.libX11 ]; + /* fixes: + configure:16211: checking for main in -lntl + configure:16230: g++ -o conftest -g -O2 conftest.cpp -lntl -llapack -lblas -lgfortran -ldl -lpng16 -lm -lmpfi -lmpfr -lgmp >&5 + /nix/store/y9c1v4x7y39j2rfbg17agjwqdzxpsn18-ntl-11.3.2/lib/libntl.so: undefined reference to `pthread_key_create' + */ + NIX_CFLAGS_LINK="-lpthread"; + # xcas Phys and Turtle menus are broken with split outputs # and interactive use is likely to need docs outputs = [ "out" ] ++ stdenv.lib.optional (!enableGUI) "doc"; @@ -66,7 +73,7 @@ stdenv.mkDerivation rec { configureFlags = [ "--enable-gc" "--enable-png" "--enable-gsl" "--enable-lapack" "--enable-pari" "--enable-ntl" "--enable-gmpxx" # "--enable-cocoa" - "--enable-ao" + "--enable-ao" "--enable-ecm" "--enable-glpk" ] ++ stdenv.lib.optionals enableGUI [ "--enable-gui" "--with-x" ]; -- cgit 1.4.1 From 2253b3e7605369f75109e0798d20903c762b8a0c Mon Sep 17 00:00:00 2001 From: Symphorien Gibol Date: Sat, 8 Dec 2018 21:58:45 +0100 Subject: nauty: also install libs --- pkgs/applications/science/math/nauty/default.nix | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/science/math/nauty/default.nix b/pkgs/applications/science/math/nauty/default.nix index 9639376fbda3..5b431f419261 100644 --- a/pkgs/applications/science/math/nauty/default.nix +++ b/pkgs/applications/science/math/nauty/default.nix @@ -6,13 +6,20 @@ stdenv.mkDerivation rec { url = "http://pallini.di.uniroma1.it/nauty${version}.tar.gz"; sha256 = "05z6mk7c31j70md83396cdjmvzzip1hqb88pfszzc6k4gy8h3m2y"; }; + outputs = [ "out" "dev" ]; buildInputs = []; installPhase = '' - mkdir -p "$out"/{bin,share/doc/nauty} + mkdir -p "$out"/{bin,share/doc/nauty} "$dev"/{lib,include/nauty} - cp $(find . -type f -perm -111 \! -name '*.*' ) "$out/bin" + find . -type f -perm -111 \! -name '*.*' \! -name configure -exec cp '{}' "$out/bin" \; cp [Rr][Ee][Aa][Dd]* COPYRIGHT This* [Cc]hange* "$out/share/doc/nauty" + + cp *.h $dev/include/nauty + for i in *.a; do + cp "$i" "$dev/lib/lib$i"; + done ''; + checkTarget = "checks"; meta = { inherit version; description = ''Programs for computing automorphism groups of graphs and digraphs''; -- cgit 1.4.1 From 29242e472ea0c8fc87aa7ee31143bf3340228547 Mon Sep 17 00:00:00 2001 From: Symphorien Gibol Date: Sat, 8 Dec 2018 21:58:57 +0100 Subject: giac: build with nauty support --- pkgs/applications/science/math/giac/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/science/math/giac/default.nix b/pkgs/applications/science/math/giac/default.nix index 2afa52dd511f..ad82d7572e34 100644 --- a/pkgs/applications/science/math/giac/default.nix +++ b/pkgs/applications/science/math/giac/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, fetchpatch, texlive, bison, flex, liblapack -, gmp, mpfr, pari, ntl, gsl, blas, mpfi, ecm, glpk +, gmp, mpfr, pari, ntl, gsl, blas, mpfi, ecm, glpk, nauty , readline, gettext, libpng, libao, gfortran, perl , enableGUI ? false, libGLU_combined ? null, xorg ? null, fltk ? null }: @@ -37,7 +37,7 @@ stdenv.mkDerivation rec { # perl is only needed for patchShebangs fixup. buildInputs = [ - gmp mpfr pari ntl gsl blas mpfi glpk + gmp mpfr pari ntl gsl blas mpfi glpk nauty readline gettext libpng libao perl ecm # gfortran.cc default output contains static libraries compiled without -fPIC # we want libgfortran.so.3 instead -- cgit 1.4.1