octave: make optional features declarative in default.nix

Instead of in all-packages.nix .
This commit is contained in:
Doron Behar 2020-02-26 10:09:07 +02:00
parent f93a4389b9
commit 3fa64cd5de
2 changed files with 9 additions and 48 deletions

View File

@ -1,7 +1,6 @@
{ stdenv { stdenv
, fetchurl , fetchurl
, gfortran , gfortran
, readline
, ncurses , ncurses
, perl , perl
, flex , flex
@ -31,18 +30,23 @@
, glpk ? null , glpk ? null
, suitesparse ? null , suitesparse ? null
, gnuplot ? null , gnuplot ? null
# - Include support for GNU readline:
, enableReadline ? true
, readline ? null
# - Build Java interface:
, enableJava ? true
, jdk ? null , jdk ? null
, python ? null , python ? null
, overridePlatforms ? null , overridePlatforms ? null
, sundials_2 ? null , sundials_2 ? null
# Qt / GUI is disabled by default # - Build Octave Qt GUI:
, enableQt ? false , enableQt ? false
, qtbase ? null , qtbase ? null
, qtsvg ? null , qtsvg ? null
, qtscript ? null , qtscript ? null
, qscintilla ? null , qscintilla ? null
, qttools ? null , qttools ? null
# JIT is disabled by default # - JIT compiler for loops:
, enableJIT ? false , enableJIT ? false
, llvm ? null , llvm ? null
}: }:
@ -98,7 +102,7 @@ stdenv.mkDerivation rec {
++ (stdenv.lib.optional (hdf5 != null) hdf5) ++ (stdenv.lib.optional (hdf5 != null) hdf5)
++ (stdenv.lib.optional (glpk != null) glpk) ++ (stdenv.lib.optional (glpk != null) glpk)
++ (stdenv.lib.optional (suitesparse != null) suitesparse) ++ (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 (sundials_2 != null) sundials_2)
++ (stdenv.lib.optional (gnuplot != null) gnuplot) ++ (stdenv.lib.optional (gnuplot != null) gnuplot)
++ (stdenv.lib.optional (python != null) python) ++ (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 ""; F77_INTEGER_8_FLAG = if openblas.blas64 then "-fdefault-integer-8" else "";
configureFlags = [ configureFlags = [
"--enable-readline"
"--with-blas=openblas" "--with-blas=openblas"
"--with-lapack=openblas" "--with-lapack=openblas"
] ]
++ stdenv.lib.optionals enableReadline [ "--enable-readline" ]
++ stdenv.lib.optionals openblas.blas64 [ "--enable-64" ] ++ stdenv.lib.optionals openblas.blas64 [ "--enable-64" ]
++ stdenv.lib.optionals stdenv.isDarwin [ "--with-x=no" ] ++ stdenv.lib.optionals stdenv.isDarwin [ "--with-x=no" ]
++ stdenv.lib.optionals enableQt [ "--with-qt=5" ] ++ stdenv.lib.optionals enableQt [ "--with-qt=5" ]

View File

@ -9220,58 +9220,15 @@ in
git = gitMinimal; 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 { octave = callPackage ../development/interpreters/octave {
python = python3; python = python3;
openblas = if stdenv.isDarwin then openblasCompat else openblas; 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 { octave-jit = callPackage ../development/interpreters/octave {
python = python3; python = python3;
openblas = if stdenv.isDarwin then openblasCompat else openblas; openblas = if stdenv.isDarwin then openblasCompat else openblas;
enableJIT = true; 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 { octaveFull = (lowPrio (libsForQt512.callPackage ../development/interpreters/octave {
python = python3; python = python3;
openblas = if stdenv.isDarwin then openblasCompat else openblas; openblas = if stdenv.isDarwin then openblasCompat else openblas;