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.
This commit is contained in:
Matthew Bauer 2020-08-25 17:54:27 -05:00
parent d436e93027
commit 54210573c1

View file

@ -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 [];
};
})