From 749afca8dcf424aad3dfd22ec5b904e94609accf Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Tue, 11 Feb 2020 22:42:33 +0200 Subject: [PATCH 01/12] sundials: Add version 2.7.0 as sundials_2 --- pkgs/development/libraries/sundials/2.x.nix | 61 +++++++++++++++++++++ pkgs/top-level/all-packages.nix | 4 ++ 2 files changed, 65 insertions(+) create mode 100644 pkgs/development/libraries/sundials/2.x.nix diff --git a/pkgs/development/libraries/sundials/2.x.nix b/pkgs/development/libraries/sundials/2.x.nix new file mode 100644 index 00000000000..12840b76940 --- /dev/null +++ b/pkgs/development/libraries/sundials/2.x.nix @@ -0,0 +1,61 @@ +{ stdenv +, cmake +, fetchurl +, python +# GNU Octave needs KLU for ODE solvers +, suitesparse +, liblapack +, gfortran +, lapackSupport ? true }: + +let liblapackShared = liblapack.override { + shared = true; +}; + +in stdenv.mkDerivation rec { + pname = "sundials"; + version = "2.7.0"; + + buildInputs = [ python ] ++ stdenv.lib.optionals (lapackSupport) [ + gfortran + suitesparse + ]; + nativeBuildInputs = [ cmake ]; + + src = fetchurl { + url = "https://computation.llnl.gov/projects/${pname}/download/${pname}-${version}.tar.gz"; + sha256 = "01513g0j7nr3rh7hqjld6mw0mcx5j9z9y87bwjc16w2x2z3wm7yk"; + }; + + patches = [ + (fetchurl { + # https://github.com/LLNL/sundials/pull/19 + url = "https://github.com/LLNL/sundials/commit/1350421eab6c5ab479de5eccf6af2dcad1eddf30.patch"; + sha256 = "0g67lixp9m85fqpb9rzz1hl1z8ibdg0ldwq5z6flj5zl8a7cw52l"; + }) + ]; + + cmakeFlags = [ + "-DEXAMPLES_INSTALL_PATH=${placeholder "out"}/share/examples" + ] ++ stdenv.lib.optionals (lapackSupport) [ + "-DSUNDIALS_INDEX_TYPE=int32_t" + # GNU Octave needs KLU for ODE solvers + "-DKLU_ENABLE=ON" + "-DKLU_INCLUDE_DIR=${suitesparse}/include" + "-DKLU_LIBRARY_DIR=${suitesparse}/lib" + "-DLAPACK_ENABLE=ON" + "-DLAPACK_LIBRARIES=${liblapackShared}/lib/liblapack${stdenv.hostPlatform.extensions.sharedLibrary};${liblapackShared}/lib/libblas${stdenv.hostPlatform.extensions.sharedLibrary}" + ]; + + # flaky tests, and patch in https://github.com/LLNL/sundials/pull/21 doesn't apply cleanly for sundials_3 + doCheck = false; + checkPhase = "make test"; + + meta = with stdenv.lib; { + description = "Suite of nonlinear differential/algebraic equation solvers"; + homepage = https://computation.llnl.gov/projects/sundials; + platforms = platforms.all; + maintainers = with maintainers; [ flokli idontgetoutmuch ]; + license = licenses.bsd3; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 025c6a4631c..37023b220ef 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -14400,6 +14400,10 @@ in sundials = callPackage ../development/libraries/sundials { }; + sundials_2 = callPackage ../development/libraries/sundials/2.x.nix { + python = python3; + }; + sutils = callPackage ../tools/misc/sutils { }; svrcore = callPackage ../development/libraries/svrcore { }; From 0df00a6cebb02086db5bca5c317e3ddbc3addf8c Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Tue, 11 Feb 2020 22:43:53 +0200 Subject: [PATCH 02/12] octave: cleanup callPackages and use sundials_2 --- pkgs/top-level/all-packages.nix | 70 ++++++++++++++++++++++++++------- 1 file changed, 56 insertions(+), 14 deletions(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 37023b220ef..0ae81aac45a 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9220,24 +9220,66 @@ in git = gitMinimal; }; + # Build summary for this flavor + # - Build Octave Qt GUI: no (missing:QtCore QtGui QtNetwork QtHelp QtXml) + # - JIT compiler for loops: no + # - Build Java interface: yes + # - Build static libraries: no + # - Build shared libraries: yes + # - Dynamic Linking API: dlopen + # - Include support for GNU readline: yes + # - 64-bit array dims and indexing: yes + # - 64-bit BLAS array dims and indexing: yes + # - OpenMP SMP multithreading: yes + # - Truncate intermediate FP results: yes + # - Build cross tools: no + # - Build docs: yes octave = callPackage ../development/interpreters/octave { - qt = null; - qscintilla = null; - ghostscript = null; - graphicsmagick = null; - llvm = null; - hdf5 = null; - glpk = null; - suitesparse = null; - jdk = null; + python = python3; + sundials = sundials_2; openblas = if stdenv.isDarwin then openblasCompat else openblas; }; - - octaveFull = (lowPrio (octave.override { - qt = qt4; - inherit qscintilla; - overridePlatforms = ["x86_64-linux" "x86_64-darwin"]; + # Build summary for this flavor + # - Build Octave Qt GUI: no (missing:QtCore QtGui QtNetwork QtHelp QtXml) + # - JIT compiler for loops: yes + # - Build Java interface: yes + # - Build static libraries: no + # - Build shared libraries: yes + # - Dynamic Linking API: dlopen + # - Include support for GNU readline: yes + # - 64-bit array dims and indexing: yes + # - 64-bit BLAS array dims and indexing: yes + # - OpenMP SMP multithreading: yes + # - Truncate intermediate FP results: yes + # - Build cross tools: no + # - Build docs: yes + octave-jit = callPackage ../development/interpreters/octave { + python = python3; + sundials = sundials_2; openblas = if stdenv.isDarwin then openblasCompat else openblas; + enableJIT = true; + }; + # Build summary for this flavor + # - Build Octave Qt GUI: yes + # - JIT compiler for loops: no + # - Build Java interface: yes + # - Build static libraries: no + # - Build shared libraries: yes + # - Dynamic Linking API: dlopen + # - Include support for GNU readline: yes + # - 64-bit array dims and indexing: yes + # - 64-bit BLAS array dims and indexing: yes + # - OpenMP SMP multithreading: yes + # - Truncate intermediate FP results: yes + # - Build cross tools: no + # - Build docs: yes + # Build summary for this flavor + octaveFull = (lowPrio (libsForQt512.callPackage ../development/interpreters/octave { + python = python3; + sundials = sundials_2; + openblas = if stdenv.isDarwin then openblasCompat else openblas; + enableQt = true; + overridePlatforms = ["x86_64-linux" "x86_64-darwin"]; })); ocropus = callPackage ../applications/misc/ocropus { }; From b74fe1a248915c0b4d3a863cb97e1c9f953a9928 Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Tue, 11 Feb 2020 22:45:30 +0200 Subject: [PATCH 03/12] octave: order arguments at top and import qt5 libs --- .../interpreters/octave/default.nix | 52 +++++++++++++++++-- 1 file changed, 47 insertions(+), 5 deletions(-) diff --git a/pkgs/development/interpreters/octave/default.nix b/pkgs/development/interpreters/octave/default.nix index f0f80f75854..28fcf4dd6ff 100644 --- a/pkgs/development/interpreters/octave/default.nix +++ b/pkgs/development/interpreters/octave/default.nix @@ -1,8 +1,50 @@ -{ stdenv, fetchurl, gfortran, readline, ncurses, perl, flex, texinfo, qhull -, libsndfile, portaudio, libX11, graphicsmagick, pcre, pkgconfig, libGL, libGLU, fltk -, fftw, fftwSinglePrec, zlib, curl, qrupdate, openblas, arpack, libwebp, gl2ps -, qt ? null, qscintilla ? null, ghostscript ? null, llvm ? null, hdf5 ? null,glpk ? null -, suitesparse ? null, gnuplot ? null, jdk ? null, python ? null, overridePlatforms ? null +{ stdenv +, fetchurl +, gfortran +, readline +, ncurses +, perl +, flex +, texinfo +, qhull +, libsndfile +, portaudio +, libX11 +, graphicsmagick +, pcre +, pkgconfig +, libGL +, libGLU +, fltk +# Both are needed for discrete Fourier transform +, fftw +, fftwSinglePrec +, zlib +, curl +, qrupdate +, openblas +, arpack +, libwebp +, gl2ps +, ghostscript ? null +, hdf5 ? null +, glpk ? null +, suitesparse ? null +, gnuplot ? null +, jdk ? null +, python ? null +, overridePlatforms ? null +, sundials ? null +# Qt / GUI is disabled by default +, enableQt ? false +, qtbase ? null +, qtsvg ? null +, qtscript ? null +, qscintilla ? null +, qttools ? null +# JIT is disabled by default +, enableJIT ? false +, llvm ? null }: let From 40c2fb8b1e1bd1aea27f10288022ffb7c8759969 Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Tue, 11 Feb 2020 22:46:17 +0200 Subject: [PATCH 04/12] octave: Makeinfo is no longer needed at runtime --- pkgs/development/interpreters/octave/default.nix | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/pkgs/development/interpreters/octave/default.nix b/pkgs/development/interpreters/octave/default.nix index 28fcf4dd6ff..f870a609cf9 100644 --- a/pkgs/development/interpreters/octave/default.nix +++ b/pkgs/development/interpreters/octave/default.nix @@ -62,6 +62,7 @@ in stdenv.mkDerivation rec { version = "5.2.0"; pname = "octave"; + src = fetchurl { url = "mirror://gnu/octave/${pname}-${version}.tar.gz"; sha256 = "1qcmcpsq1lfka19fxzvxjwjhg113c39a9a0x8plkhvwdqyrn5sig"; @@ -83,12 +84,6 @@ stdenv.mkDerivation rec { ++ (stdenv.lib.optionals (!stdenv.isDarwin) [ libGL libGLU libX11 ]) ; - # makeinfo is required by Octave at runtime to display help - prePatch = '' - substituteInPlace libinterp/corefcn/help.cc \ - --replace 'Vmakeinfo_program = "makeinfo"' \ - 'Vmakeinfo_program = "${texinfo}/bin/makeinfo"' - ''; doCheck = !stdenv.isDarwin; From acf2ad387697fab187de321fe585a75ecc04a987 Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Tue, 11 Feb 2020 22:47:24 +0200 Subject: [PATCH 05/12] octave: clean up configure flags - remove --enable-dl --- .../interpreters/octave/default.nix | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/pkgs/development/interpreters/octave/default.nix b/pkgs/development/interpreters/octave/default.nix index f870a609cf9..355dcb07d95 100644 --- a/pkgs/development/interpreters/octave/default.nix +++ b/pkgs/development/interpreters/octave/default.nix @@ -92,15 +92,16 @@ stdenv.mkDerivation rec { # See https://savannah.gnu.org/bugs/?50339 F77_INTEGER_8_FLAG = if openblas.blas64 then "-fdefault-integer-8" else ""; - configureFlags = - [ "--enable-readline" - "--enable-dl" - "--with-blas=openblas" - "--with-lapack=openblas" - ] - ++ stdenv.lib.optional openblas.blas64 "--enable-64" - ++ stdenv.lib.optionals stdenv.isDarwin ["--with-x=no"] - ; + configureFlags = [ + "--enable-readline" + "--with-blas=openblas" + "--with-lapack=openblas" + ] + ++ stdenv.lib.optionals openblas.blas64 [ "--enable-64" ] + ++ stdenv.lib.optionals stdenv.isDarwin [ "--with-x=no" ] + ++ stdenv.lib.optionals enableQt [ "--with-qt=5" ] + ++ stdenv.lib.optionals enableJIT [ "--enable-jit" ] + ; # Keep a copy of the octave tests detailed results in the output # derivation, because someone may care From b3a20c4febe4c6565b5340bee9cfdace294a3aa0 Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Tue, 11 Feb 2020 22:49:09 +0200 Subject: [PATCH 06/12] octave: remove old fix for build issue --- pkgs/development/interpreters/octave/default.nix | 3 --- 1 file changed, 3 deletions(-) diff --git a/pkgs/development/interpreters/octave/default.nix b/pkgs/development/interpreters/octave/default.nix index 355dcb07d95..df886088f32 100644 --- a/pkgs/development/interpreters/octave/default.nix +++ b/pkgs/development/interpreters/octave/default.nix @@ -89,9 +89,6 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; - # See https://savannah.gnu.org/bugs/?50339 - F77_INTEGER_8_FLAG = if openblas.blas64 then "-fdefault-integer-8" else ""; - configureFlags = [ "--enable-readline" "--with-blas=openblas" From 2b18e72064173e195ceabffb322803ae35e4a426 Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Tue, 11 Feb 2020 22:49:31 +0200 Subject: [PATCH 07/12] octave: mark package as broken if JIT is enabled --- pkgs/development/interpreters/octave/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/development/interpreters/octave/default.nix b/pkgs/development/interpreters/octave/default.nix index df886088f32..473176ec9a9 100644 --- a/pkgs/development/interpreters/octave/default.nix +++ b/pkgs/development/interpreters/octave/default.nix @@ -116,6 +116,8 @@ stdenv.mkDerivation rec { license = stdenv.lib.licenses.gpl3Plus; maintainers = with stdenv.lib.maintainers; [raskin]; description = "Scientific Pragramming Language"; + # https://savannah.gnu.org/bugs/?func=detailitem&item_id=56425 is the best attempt to fix JIT + broken = enableJIT; platforms = if overridePlatforms == null then (with stdenv.lib.platforms; linux ++ darwin) else overridePlatforms; From d4861e2b18a47b21b60d9a0018e1b96878458588 Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Tue, 11 Feb 2020 22:50:27 +0200 Subject: [PATCH 08/12] octave: clean up all build inputs - use qt5 --- .../interpreters/octave/default.nix | 67 ++++++++++++++----- 1 file changed, 51 insertions(+), 16 deletions(-) diff --git a/pkgs/development/interpreters/octave/default.nix b/pkgs/development/interpreters/octave/default.nix index 473176ec9a9..14d1913a1ab 100644 --- a/pkgs/development/interpreters/octave/default.nix +++ b/pkgs/development/interpreters/octave/default.nix @@ -68,22 +68,57 @@ stdenv.mkDerivation rec { sha256 = "1qcmcpsq1lfka19fxzvxjwjhg113c39a9a0x8plkhvwdqyrn5sig"; }; - buildInputs = [ gfortran readline ncurses perl flex texinfo qhull - graphicsmagick pcre pkgconfig fltk zlib curl openblas libsndfile fftw - fftwSinglePrec portaudio qrupdate arpack libwebp gl2ps ] - ++ (stdenv.lib.optional (qt != null) qt) - ++ (stdenv.lib.optional (qscintilla != null) qscintilla) - ++ (stdenv.lib.optional (ghostscript != null) ghostscript) - ++ (stdenv.lib.optional (llvm != null) llvm) - ++ (stdenv.lib.optional (hdf5 != null) hdf5) - ++ (stdenv.lib.optional (glpk != null) glpk) - ++ (stdenv.lib.optional (suitesparse != null) suitesparse) - ++ (stdenv.lib.optional (jdk != null) jdk) - ++ (stdenv.lib.optional (gnuplot != null) gnuplot) - ++ (stdenv.lib.optional (python != null) python) - ++ (stdenv.lib.optionals (!stdenv.isDarwin) [ libGL libGLU libX11 ]) - ; - + buildInputs = [ + readline + ncurses + perl + flex + qhull + graphicsmagick + pcre + fltk + zlib + curl + openblas + libsndfile + fftw + fftwSinglePrec + portaudio + qrupdate + arpack + libwebp + gl2ps + ] + ++ (stdenv.lib.optionals enableQt [ + qtbase + qtsvg + qscintilla + ]) + ++ (stdenv.lib.optional (ghostscript != null) ghostscript) + ++ (stdenv.lib.optional (hdf5 != null) hdf5) + ++ (stdenv.lib.optional (glpk != null) glpk) + ++ (stdenv.lib.optional (suitesparse != null) suitesparse) + ++ (stdenv.lib.optional (jdk != null) jdk) + ++ (stdenv.lib.optional (sundials != null) sundials) + ++ (stdenv.lib.optional (gnuplot != null) gnuplot) + ++ (stdenv.lib.optional (python != null) python) + ++ (stdenv.lib.optionals (!stdenv.isDarwin) [ libGL libGLU libX11 ]) + ; + nativeBuildInputs = [ + pkgconfig + gfortran + # Listed here as well because it's outputs are split + fftw + fftwSinglePrec + texinfo + ] + ++ (stdenv.lib.optional (sundials != null) sundials) + ++ (stdenv.lib.optional enableJIT llvm) + ++ (stdenv.lib.optionals enableQt [ + qtscript + qttools + ]) + ; doCheck = !stdenv.isDarwin; From b631f620d46d2a6103ad8ba4de4ba40152cf3741 Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Tue, 18 Feb 2020 16:33:08 +0200 Subject: [PATCH 09/12] octave: Revert "remove old fix for build issue" This reverts commit 3beeacfd58239bb6e95aa716dedddae17716b6eb. --- pkgs/development/interpreters/octave/default.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/development/interpreters/octave/default.nix b/pkgs/development/interpreters/octave/default.nix index 14d1913a1ab..78f927dc4ee 100644 --- a/pkgs/development/interpreters/octave/default.nix +++ b/pkgs/development/interpreters/octave/default.nix @@ -124,6 +124,9 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; + # See https://savannah.gnu.org/bugs/?50339 + F77_INTEGER_8_FLAG = if openblas.blas64 then "-fdefault-integer-8" else ""; + configureFlags = [ "--enable-readline" "--with-blas=openblas" From 62d7ad930993813a05f277bd9091f6ab2e3b9e80 Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Wed, 19 Feb 2020 18:39:39 +0200 Subject: [PATCH 10/12] octave: Use sundials_2 in package's signature instead of callPackage --- pkgs/development/interpreters/octave/default.nix | 6 +++--- pkgs/top-level/all-packages.nix | 3 --- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/pkgs/development/interpreters/octave/default.nix b/pkgs/development/interpreters/octave/default.nix index 78f927dc4ee..2e926e16dc6 100644 --- a/pkgs/development/interpreters/octave/default.nix +++ b/pkgs/development/interpreters/octave/default.nix @@ -34,7 +34,7 @@ , jdk ? null , python ? null , overridePlatforms ? null -, sundials ? null +, sundials_2 ? null # Qt / GUI is disabled by default , enableQt ? false , qtbase ? null @@ -99,7 +99,7 @@ stdenv.mkDerivation rec { ++ (stdenv.lib.optional (glpk != null) glpk) ++ (stdenv.lib.optional (suitesparse != null) suitesparse) ++ (stdenv.lib.optional (jdk != null) jdk) - ++ (stdenv.lib.optional (sundials != null) sundials) + ++ (stdenv.lib.optional (sundials_2 != null) sundials_2) ++ (stdenv.lib.optional (gnuplot != null) gnuplot) ++ (stdenv.lib.optional (python != null) python) ++ (stdenv.lib.optionals (!stdenv.isDarwin) [ libGL libGLU libX11 ]) @@ -112,7 +112,7 @@ stdenv.mkDerivation rec { fftwSinglePrec texinfo ] - ++ (stdenv.lib.optional (sundials != null) sundials) + ++ (stdenv.lib.optional (sundials_2 != null) sundials_2) ++ (stdenv.lib.optional enableJIT llvm) ++ (stdenv.lib.optionals enableQt [ qtscript diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 0ae81aac45a..14ed58a1086 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9236,7 +9236,6 @@ in # - Build docs: yes octave = callPackage ../development/interpreters/octave { python = python3; - sundials = sundials_2; openblas = if stdenv.isDarwin then openblasCompat else openblas; }; # Build summary for this flavor @@ -9255,7 +9254,6 @@ in # - Build docs: yes octave-jit = callPackage ../development/interpreters/octave { python = python3; - sundials = sundials_2; openblas = if stdenv.isDarwin then openblasCompat else openblas; enableJIT = true; }; @@ -9276,7 +9274,6 @@ in # Build summary for this flavor octaveFull = (lowPrio (libsForQt512.callPackage ../development/interpreters/octave { python = python3; - sundials = sundials_2; openblas = if stdenv.isDarwin then openblasCompat else openblas; enableQt = true; overridePlatforms = ["x86_64-linux" "x86_64-darwin"]; From f93a4389b9ad41b7af85f5f1e7e98caf8018855f Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Sat, 22 Feb 2020 12:36:19 +0200 Subject: [PATCH 11/12] sundials: use python3 --- pkgs/top-level/all-packages.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 14ed58a1086..97cb0d5e22d 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -14437,7 +14437,9 @@ in withQt5 = false; }; - sundials = callPackage ../development/libraries/sundials { }; + sundials = callPackage ../development/libraries/sundials { + python = python3; + }; sundials_2 = callPackage ../development/libraries/sundials/2.x.nix { python = python3; From 3fa64cd5de6a724ea984d73b3db7212d73dbded7 Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Wed, 26 Feb 2020 10:09:07 +0200 Subject: [PATCH 12/12] octave: make optional features declarative in default.nix Instead of in all-packages.nix . --- .../interpreters/octave/default.nix | 14 +++--- pkgs/top-level/all-packages.nix | 43 ------------------- 2 files changed, 9 insertions(+), 48 deletions(-) diff --git a/pkgs/development/interpreters/octave/default.nix b/pkgs/development/interpreters/octave/default.nix index 2e926e16dc6..b32d15b2a1f 100644 --- a/pkgs/development/interpreters/octave/default.nix +++ b/pkgs/development/interpreters/octave/default.nix @@ -1,7 +1,6 @@ { stdenv , fetchurl , gfortran -, readline , ncurses , perl , flex @@ -31,18 +30,23 @@ , glpk ? null , suitesparse ? null , gnuplot ? null +# - Include support for GNU readline: +, enableReadline ? true +, readline ? null +# - Build Java interface: +, enableJava ? true , jdk ? null , python ? null , overridePlatforms ? null , sundials_2 ? null -# Qt / GUI is disabled by default +# - Build Octave Qt GUI: , enableQt ? false , qtbase ? null , qtsvg ? null , qtscript ? null , qscintilla ? null , qttools ? null -# JIT is disabled by default +# - JIT compiler for loops: , enableJIT ? false , llvm ? null }: @@ -98,7 +102,7 @@ stdenv.mkDerivation rec { ++ (stdenv.lib.optional (hdf5 != null) hdf5) ++ (stdenv.lib.optional (glpk != null) glpk) ++ (stdenv.lib.optional (suitesparse != null) suitesparse) - ++ (stdenv.lib.optional (jdk != null) jdk) + ++ (stdenv.lib.optional (enableJava) jdk) ++ (stdenv.lib.optional (sundials_2 != null) sundials_2) ++ (stdenv.lib.optional (gnuplot != null) gnuplot) ++ (stdenv.lib.optional (python != null) python) @@ -128,10 +132,10 @@ stdenv.mkDerivation rec { F77_INTEGER_8_FLAG = if openblas.blas64 then "-fdefault-integer-8" else ""; configureFlags = [ - "--enable-readline" "--with-blas=openblas" "--with-lapack=openblas" ] + ++ stdenv.lib.optionals enableReadline [ "--enable-readline" ] ++ stdenv.lib.optionals openblas.blas64 [ "--enable-64" ] ++ stdenv.lib.optionals stdenv.isDarwin [ "--with-x=no" ] ++ stdenv.lib.optionals enableQt [ "--with-qt=5" ] diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 97cb0d5e22d..446fb437561 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9220,58 +9220,15 @@ in git = gitMinimal; }; - # Build summary for this flavor - # - Build Octave Qt GUI: no (missing:QtCore QtGui QtNetwork QtHelp QtXml) - # - JIT compiler for loops: no - # - Build Java interface: yes - # - Build static libraries: no - # - Build shared libraries: yes - # - Dynamic Linking API: dlopen - # - Include support for GNU readline: yes - # - 64-bit array dims and indexing: yes - # - 64-bit BLAS array dims and indexing: yes - # - OpenMP SMP multithreading: yes - # - Truncate intermediate FP results: yes - # - Build cross tools: no - # - Build docs: yes octave = callPackage ../development/interpreters/octave { python = python3; openblas = if stdenv.isDarwin then openblasCompat else openblas; }; - # Build summary for this flavor - # - Build Octave Qt GUI: no (missing:QtCore QtGui QtNetwork QtHelp QtXml) - # - JIT compiler for loops: yes - # - Build Java interface: yes - # - Build static libraries: no - # - Build shared libraries: yes - # - Dynamic Linking API: dlopen - # - Include support for GNU readline: yes - # - 64-bit array dims and indexing: yes - # - 64-bit BLAS array dims and indexing: yes - # - OpenMP SMP multithreading: yes - # - Truncate intermediate FP results: yes - # - Build cross tools: no - # - Build docs: yes octave-jit = callPackage ../development/interpreters/octave { python = python3; openblas = if stdenv.isDarwin then openblasCompat else openblas; enableJIT = true; }; - # Build summary for this flavor - # - Build Octave Qt GUI: yes - # - JIT compiler for loops: no - # - Build Java interface: yes - # - Build static libraries: no - # - Build shared libraries: yes - # - Dynamic Linking API: dlopen - # - Include support for GNU readline: yes - # - 64-bit array dims and indexing: yes - # - 64-bit BLAS array dims and indexing: yes - # - OpenMP SMP multithreading: yes - # - Truncate intermediate FP results: yes - # - Build cross tools: no - # - Build docs: yes - # Build summary for this flavor octaveFull = (lowPrio (libsForQt512.callPackage ../development/interpreters/octave { python = python3; openblas = if stdenv.isDarwin then openblasCompat else openblas;