octave.withPackages: fix null reference on darwin (#447122)

7c6f434c 303f46aa bf0c37a7

Changed files
+15 -3
pkgs
development
interpreters
+8 -3
pkgs/development/interpreters/octave/build-env.nix
···
let
packages = computeRequiredOctavePackages extraLibs;
+
# glibcLocalesUtf8 is null on darwin
+
localeArchiveArgs = lib.optionalString (glibcLocalesUtf8 != null) ''
+
--set LOCALE_ARCHIVE "${glibcLocalesUtf8}/lib/locale/locale-archive"
+
'';
+
in
buildEnv {
name = "${octave.name}-env";
···
if [ -x $prg ]; then
makeWrapper "${octave}/bin/$prg" "$out/bin/$prg" \
--set OCTAVE_SITE_INITFILE "$out/share/octave/site/m/startup/octaverc" \
-
--set LOCALE_ARCHIVE "${glibcLocalesUtf8}/lib/locale/locale-archive"
+
${localeArchiveArgs}
fi
done
cd $out
···
''
+ postBuild;
-
inherit (octave) meta;
+
inherit (octave) meta version;
-
passthru = octave.passthru // {
+
passthru = (removeAttrs octave.passthru [ "tests" ]) // {
interpreter = "$out/bin/octave";
inherit octave;
env = stdenv.mkDerivation {
+7
pkgs/development/interpreters/octave/default.nix
···
ncurses,
perl,
flex,
+
testers,
texinfo,
qhull,
libsndfile,
···
withPackages = import ./with-packages.nix { inherit buildEnv octavePackages; };
pkgs = octavePackages;
interpreter = "${finalAttrs.finalPackage}/bin/octave";
+
tests = {
+
wrapper = testers.testVersion {
+
package = finalAttrs.finalPackage.withPackages (ps: [ ps.doctest ]);
+
command = "octave --version";
+
};
+
};
};
meta = {