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

This commit is contained in:
7c6f434c
2025-10-03 06:51:30 +00:00
committed by GitHub
2 changed files with 15 additions and 3 deletions
@@ -19,6 +19,11 @@
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";
@@ -47,7 +52,7 @@ buildEnv {
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
@@ -87,9 +92,9 @@ buildEnv {
''
+ 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,6 +7,7 @@
ncurses,
perl,
flex,
testers,
texinfo,
qhull,
libsndfile,
@@ -226,6 +227,12 @@ stdenv.mkDerivation (finalAttrs: {
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 = {