reintroduce impure host deps to all derivations

This commit is contained in:
Jude Taylor 2015-11-21 15:51:48 -08:00
parent 69e7f3bb74
commit f5609a4d2a
3 changed files with 14 additions and 2 deletions

View File

@ -100,7 +100,7 @@ let
(allow file-read* (subpath "/System/Library/Frameworks/${name}.framework")) (allow file-read* (subpath "/System/Library/Frameworks/${name}.framework"))
''; '';
__propagatedImpureHostDeps = "/System/Library/Frameworks/${name}.framework/${name}"; __propagatedImpureHostDeps = [ "/System/Library/Frameworks/${name}.framework/${name}" ];
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "Apple SDK framework ${name}"; description = "Apple SDK framework ${name}";

View File

@ -8,7 +8,7 @@ appleDerivation {
patches = [ ./add-cf-initialize.patch ./add-cfmachport.patch ./cf-bridging.patch ]; patches = [ ./add-cf-initialize.patch ./add-cfmachport.patch ./cf-bridging.patch ];
__propagatedImpureHostDeps = "/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation"; __propagatedImpureHostDeps = [ "/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation" ];
preBuild = '' preBuild = ''
substituteInPlace Makefile \ substituteInPlace Makefile \

View File

@ -160,6 +160,10 @@ let
lib.concatMap (input: input.__propagatedSandboxProfile or []) (extraBuildInputs ++ buildInputs ++ nativeBuildInputs); lib.concatMap (input: input.__propagatedSandboxProfile or []) (extraBuildInputs ++ buildInputs ++ nativeBuildInputs);
computedPropagatedSandboxProfile = computedPropagatedSandboxProfile =
lib.concatMap (input: input.__propagatedSandboxProfile or []) (propagatedBuildInputs ++ propagatedNativeBuildInputs); lib.concatMap (input: input.__propagatedSandboxProfile or []) (propagatedBuildInputs ++ propagatedNativeBuildInputs);
computedImpureHostDeps =
lib.unique (lib.concatMap (input: input.__propagatedImpureHostDeps or []) (extraBuildInputs ++ buildInputs ++ nativeBuildInputs));
computedPropagatedImpureHostDeps =
lib.unique (lib.concatMap (input: input.__propagatedImpureHostDeps or []) (propagatedBuildInputs ++ propagatedNativeBuildInputs));
in in
{ {
builder = attrs.realBuilder or shell; builder = attrs.realBuilder or shell;
@ -183,6 +187,13 @@ let
final = lib.concatStringsSep "\n" (lib.filter (x: x != "") (lib.unique profiles)); final = lib.concatStringsSep "\n" (lib.filter (x: x != "") (lib.unique profiles));
in final; in final;
__propagatedSandboxProfile = lib.unique (computedPropagatedSandboxProfile ++ [ propagatedSandboxProfile ]); __propagatedSandboxProfile = lib.unique (computedPropagatedSandboxProfile ++ [ propagatedSandboxProfile ]);
__impureHostDeps = computedImpureHostDeps ++ computedPropagatedImpureHostDeps ++ __propagatedImpureHostDeps ++ __impureHostDeps ++ __extraImpureHostDeps ++ [
"/dev/zero"
"/dev/random"
"/dev/urandom"
"/bin/sh"
];
__propagatedImpureHostDeps = computedPropagatedImpureHostDeps ++ __propagatedImpureHostDeps;
} // (if outputs' != [ "out" ] then { } // (if outputs' != [ "out" ] then {
outputs = outputs'; outputs = outputs';
} else { })))) ( } else { })))) (
@ -220,6 +231,7 @@ let
} }
// ifDarwin { // ifDarwin {
__sandboxProfile = stdenvSandboxProfile; __sandboxProfile = stdenvSandboxProfile;
__impureHostDeps = __stdenvImpureHostDeps;
}) })
// rec { // rec {