Unverified Commit 9524f57d authored by Robert Hensing's avatar Robert Hensing Committed by GitHub
Browse files

Merge pull request #230666 from alyssais/inputDerivation-passAsFile

stdenv: fix inputDerivation with passAsFile
parents f5895218 2023766e
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -545,7 +545,13 @@ lib.extendDerivation
       # binaries). By writing this to $out, Nix can find and register
       # them as runtime dependencies (since Nix greps for store paths
       # through $out to find them)
       args = [ "-c" "export > $out" ];
       args = [ "-c" ''
         export > $out
         for var in $passAsFile; do
             pathVar="''${var}Path"
             printf "%s" "$(< "''${!pathVar}")" >> $out
         done
       '' ];

       # inputDerivation produces the inputs; not the outputs, so any
       # restrictions on what used to be the outputs don't serve a purpose
+15 −0
Original line number Diff line number Diff line
@@ -142,6 +142,21 @@ in
    '';
  };

  test-inputDerivation = let
    inherit (stdenv.mkDerivation {
      dep1 = derivation { name = "dep1"; builder = "/bin/sh"; args = [ "-c" ": > $out" ]; system = builtins.currentSystem; };
      dep2 = derivation { name = "dep2"; builder = "/bin/sh"; args = [ "-c" ": > $out" ]; system = builtins.currentSystem; };
      passAsFile = [ "dep2" ];
    }) inputDerivation;
  in
    runCommand "test-inputDerivation" {
      exportReferencesGraph = [ "graph" inputDerivation ];
    } ''
      grep ${inputDerivation.dep1} graph
      grep ${inputDerivation.dep2} graph
      touch $out
    '';

  test-prepend-append-to-var = testPrependAndAppendToVar {
    name = "test-prepend-append-to-var";
    stdenv' = bootStdenv;