summary refs log tree commit diff
path: root/pkgs/development/interpreters
diff options
context:
space:
mode:
authorgithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>2021-11-19 12:01:09 +0000
committerGitHub <noreply@github.com>2021-11-19 12:01:09 +0000
commit9d44a614de8958de1f02519fe031b81eb23bb16d (patch)
treefa1a73219e0608f2202d3a276ebce223291904fa /pkgs/development/interpreters
parent301d747d5d5f4e8df64db9896be361eeaeca5c32 (diff)
parent76f00f5db9289f82e6b4bcb18265bb50da92e7d4 (diff)
downloadnixpkgs-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.nix26
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')