diff options
author | github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> | 2021-11-19 12:01:09 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-11-19 12:01:09 +0000 |
commit | 9d44a614de8958de1f02519fe031b81eb23bb16d (patch) | |
tree | fa1a73219e0608f2202d3a276ebce223291904fa /pkgs/development/interpreters | |
parent | 301d747d5d5f4e8df64db9896be361eeaeca5c32 (diff) | |
parent | 76f00f5db9289f82e6b4bcb18265bb50da92e7d4 (diff) | |
download | nixpkgs-9d44a614de8958de1f02519fe031b81eb23bb16d.tar nixpkgs-9d44a614de8958de1f02519fe031b81eb23bb16d.tar.gz nixpkgs-9d44a614de8958de1f02519fe031b81eb23bb16d.tar.bz2 nixpkgs-9d44a614de8958de1f02519fe031b81eb23bb16d.tar.lz nixpkgs-9d44a614de8958de1f02519fe031b81eb23bb16d.tar.xz nixpkgs-9d44a614de8958de1f02519fe031b81eb23bb16d.tar.zst nixpkgs-9d44a614de8958de1f02519fe031b81eb23bb16d.zip |
Merge master into staging-next
Diffstat (limited to 'pkgs/development/interpreters')
-rw-r--r-- | pkgs/development/interpreters/octave/build-octave-package.nix | 26 |
1 files changed, 19 insertions, 7 deletions
diff --git a/pkgs/development/interpreters/octave/build-octave-package.nix b/pkgs/development/interpreters/octave/build-octave-package.nix index 73a67769d6a..065992f9127 100644 --- a/pkgs/development/interpreters/octave/build-octave-package.nix +++ b/pkgs/development/interpreters/octave/build-octave-package.nix @@ -54,7 +54,23 @@ let requiredOctavePackages' = computeRequiredOctavePackages requiredOctavePackages; -in stdenv.mkDerivation { + # Must use attrs.nativeBuildInputs before they are removed by the removeAttrs + # below, or everything fails. + nativeBuildInputs' = [ + octave + writeRequiredOctavePackagesHook + ] + ++ nativeBuildInputs; + + # This step is required because when + # a = { test = [ "a" "b" ]; }; b = { test = [ "c" "d" ]; }; + # (a // b).test = [ "c" "d" ]; + # This used to mean that if a package defined extra nativeBuildInputs, it + # would override the ones for building an Octave package (the hook and Octave + # itself, causing everything to fail. + attrs' = builtins.removeAttrs attrs [ "nativeBuildInputs" ]; + +in stdenv.mkDerivation ({ packageName = "${fullLibName}"; # The name of the octave package ends up being # "octave-version-package-version" @@ -77,11 +93,7 @@ in stdenv.mkDerivation { requiredOctavePackages = requiredOctavePackages'; - nativeBuildInputs = [ - octave - writeRequiredOctavePackagesHook - ] - ++ nativeBuildInputs; + nativeBuildInputs = nativeBuildInputs'; buildInputs = buildInputs ++ requiredOctavePackages'; @@ -110,4 +122,4 @@ in stdenv.mkDerivation { dontInstall = true; inherit meta; -} +} // attrs') |