summaryrefslogtreecommitdiffstats
path: root/pkgs/stdenv
diff options
context:
space:
mode:
authorMatthew Bauer <mjbauer95@gmail.com>2020-08-25 17:54:27 -0500
committerMatthew Bauer <mjbauer95@gmail.com>2020-08-25 17:54:27 -0500
commit54210573c1e2db45d5abbda4c3ce1afc25210889 (patch)
treec8fda2df7c22d9cbbaa138aef71ad305d5027dbc /pkgs/stdenv
parentd436e930272b560ce7f0eaaf6decc142e8c804a4 (diff)
stdenv/native: provide patchelf on linux
This provides consistency with the pure stdenv, which provides patchelf this way. Native stdenv can always just manually install patchelf on their system, but like xz, it’s unlikely to be provided in /usr/bin/. In addition, it’s not even in the RHEL7 repos.
Diffstat (limited to 'pkgs/stdenv')
-rw-r--r--pkgs/stdenv/native/default.nix9
1 files changed, 5 insertions, 4 deletions
diff --git a/pkgs/stdenv/native/default.nix b/pkgs/stdenv/native/default.nix
index f6e0df161ad0..b79b81253ad5 100644
--- a/pkgs/stdenv/native/default.nix
+++ b/pkgs/stdenv/native/default.nix
@@ -78,7 +78,7 @@ let
# A function that builds a "native" stdenv (one that uses tools in
# /usr etc.).
makeStdenv =
- { cc, fetchurl, extraPath ? [], overrides ? (self: super: { }) }:
+ { cc, fetchurl, extraPath ? [], overrides ? (self: super: { }), extraNativeBuildInputs ? [] }:
import ../generic {
buildPlatform = localSystem;
@@ -94,10 +94,10 @@ let
if system == "x86_64-cygwin" then prehookCygwin else
prehookBase;
- extraNativeBuildInputs =
- if system == "i686-cygwin" then extraNativeBuildInputsCygwin else
+ extraNativeBuildInputs = extraNativeBuildInputs ++
+ (if system == "i686-cygwin" then extraNativeBuildInputsCygwin else
if system == "x86_64-cygwin" then extraNativeBuildInputsCygwin else
- [];
+ []);
initialPath = extraPath ++ path;
@@ -163,6 +163,7 @@ in
inherit (prevStage.stdenv) cc fetchurl;
extraPath = [ prevStage.xz ];
overrides = self: super: { inherit (prevStage) xz; };
+ extraNativeBuildInputs = if localSystem.isLinux then [ prevStage.patchelf ] else [];
};
})