Unverified Commit 4470071a authored by Philip Taron's avatar Philip Taron Committed by GitHub
Browse files

mkDerivation: make allowedReference/allowedRequisites nullable when...

mkDerivation: make allowedReference/allowedRequisites nullable when __structuredAttrs is true (#462141)
parents af50ee86 eddb12ac
Loading
Loading
Loading
Loading
+7 −2
Original line number Diff line number Diff line
@@ -15,6 +15,7 @@ let
    elemAt
    extendDerivation
    filter
    filterAttrs
    getDev
    head
    imap1
@@ -709,8 +710,12 @@ let
              ];
          }
          // (
            let
              attrsOutputChecks = makeOutputChecks attrs;
              attrsOutputChecksFiltered = filterAttrs (_: v: v != null) attrsOutputChecks;
            in
            if !__structuredAttrs then
              makeOutputChecks attrs
              attrsOutputChecks
            else
              {
                outputChecks = builtins.listToAttrs (
@@ -719,7 +724,7 @@ let
                    value =
                      let
                        raw = zipAttrsWith (_: builtins.concatLists) [
                          (makeOutputChecks attrs)
                          attrsOutputChecksFiltered
                          (makeOutputChecks attrs.outputChecks.${name} or { })
                        ];
                      in
+10 −0
Original line number Diff line number Diff line
@@ -68,6 +68,16 @@ let
          }).pname;
        expected = "hello-no-final-attrs-overridden";
      };
      structuredAttrs-allowedRequisites-nullability = {
        expr =
          lib.hasPrefix builtins.storeDir
            (pkgs.stdenv.mkDerivation {
              __structuredAttrs = true;
              inherit (pkgs.hello) pname version src;
              allowedRequisites = null;
            }).drvPath;
        expected = true;
      };
    };

  test-extendMkDerivation =