diff options
author | Robert Hensing <roberth@users.noreply.github.com> | 2022-05-29 10:53:31 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-05-29 10:53:31 +0200 |
commit | e8e9cebbda8fa71089a4d707605aafa3591236e6 (patch) | |
tree | 27ae25d1f77842f7c8f854c71a73a22a222c6d99 | |
parent | 1bd2c1f8ffc35490d93ff31aedc8f553cef05e41 (diff) | |
parent | 1a7c0eac1572f56afa970e5fe6493b85cecf51a5 (diff) | |
download | nixpkgs-e8e9cebbda8fa71089a4d707605aafa3591236e6.tar nixpkgs-e8e9cebbda8fa71089a4d707605aafa3591236e6.tar.gz nixpkgs-e8e9cebbda8fa71089a4d707605aafa3591236e6.tar.bz2 nixpkgs-e8e9cebbda8fa71089a4d707605aafa3591236e6.tar.lz nixpkgs-e8e9cebbda8fa71089a4d707605aafa3591236e6.tar.xz nixpkgs-e8e9cebbda8fa71089a4d707605aafa3591236e6.tar.zst nixpkgs-e8e9cebbda8fa71089a4d707605aafa3591236e6.zip |
Merge pull request #175265 from hercules-ci/issue-175196
Fix issue #175196, infinite recursion in pkgs/config.nix
-rw-r--r-- | pkgs/test/config.nix | 21 | ||||
-rw-r--r-- | pkgs/test/default.nix | 2 | ||||
-rw-r--r-- | pkgs/top-level/config.nix | 2 |
3 files changed, 24 insertions, 1 deletions
diff --git a/pkgs/test/config.nix b/pkgs/test/config.nix new file mode 100644 index 00000000000..6047b013206 --- /dev/null +++ b/pkgs/test/config.nix @@ -0,0 +1,21 @@ +{ lib, ... }: +lib.recurseIntoAttrs { + + # https://github.com/NixOS/nixpkgs/issues/175196 + allowPkgsInPermittedInsecurePackages = + let pkgs = import ../.. { + config = { + permittedInsecurePackages = + tempAllow pkgs.authy "2.1.0" [ "electron-9.4.4" ]; + }; + }; + # Allow with forgetting + tempAllow = p: v: pa: + lib.optionals (lib.assertMsg (p.version == v) "${p.name} is no longer at version ${v}, consider removing the tempAllow") pa; + # For this test we don't _really_ care about the version though, + # only about evaluation strictness + tempAllowAlike = p: v: pa: builtins.seq v builtins.seq p.version pa; + + in pkgs.hello; + +} diff --git a/pkgs/test/default.nix b/pkgs/test/default.nix index ab235d61002..48bd6ac7746 100644 --- a/pkgs/test/default.nix +++ b/pkgs/test/default.nix @@ -22,6 +22,8 @@ with pkgs; cc-wrapper-libcxx-9 = callPackage ./cc-wrapper { stdenv = llvmPackages_9.libcxxStdenv; }; stdenv-inputs = callPackage ./stdenv-inputs { }; + config = callPackage ./config.nix { }; + haskell = callPackage ./haskell { }; cc-multilib-gcc = callPackage ./cc-wrapper/multilib.nix { stdenv = gccMultiStdenv; }; diff --git a/pkgs/top-level/config.nix b/pkgs/top-level/config.nix index ad06227e74f..e038973e085 100644 --- a/pkgs/top-level/config.nix +++ b/pkgs/top-level/config.nix @@ -128,7 +128,7 @@ let in { freeformType = - let t = lib.types.attrsOf lib.types.raw; + let t = lib.types.lazyAttrsOf lib.types.raw; in t // { merge = loc: defs: let r = t.merge loc defs; |