diff options
-rw-r--r-- | pkgs/tools/package-management/nix/default.nix | 29 | ||||
-rw-r--r-- | pkgs/top-level/all-packages.nix | 1 |
2 files changed, 24 insertions, 6 deletions
diff --git a/pkgs/tools/package-management/nix/default.nix b/pkgs/tools/package-management/nix/default.nix index 108f24ce514..e60cf580426 100644 --- a/pkgs/tools/package-management/nix/default.nix +++ b/pkgs/tools/package-management/nix/default.nix @@ -193,10 +193,25 @@ common = preBuild = "unset NIX_INDENT_MAKE"; }); + inherit boehmgc; }; }; in nix; + boehmgc_nix = boehmgc.override { + enableLargeConfig = true; + }; + + boehmgc_nixUnstable = boehmgc_nix.overrideAttrs (drv: { + patches = (drv.patches or []) ++ [ + # Part of the GC solution in https://github.com/NixOS/nix/pull/4944 + (fetchpatch { + url = https://github.com/hercules-ci/nix/raw/5c58d84a76d96f269e3ff1e72c9c9ba5f68576af/boehmgc-coroutine-sp-fallback.diff; + sha256 = "sha256-JvnWVTlkltmQUs/0qApv/LPZ690UX1/2hEP+LYRwKbI="; + }) + ]; + }); + in rec { nix = nixStable; @@ -209,22 +224,26 @@ in rec { sha256 = "sha256-cToMnZU3+UpjeiiXnG3clz9zn8Xk+TbB7UbqmLMrlFk="; }; - inherit storeDir stateDir confDir boehmgc; + boehmgc = boehmgc_nix; + + inherit storeDir stateDir confDir; }); nixUnstable = lib.lowPrio (callPackage common rec { pname = "nix"; version = "2.4${suffix}"; - suffix = "pre20210601_5985b8b"; + suffix = "pre20210707_02dd6bb"; src = fetchFromGitHub { owner = "NixOS"; repo = "nix"; - rev = "5985b8b5275605ddd5e92e2f0a7a9f494ac6e35d"; - sha256 = "sha256-2So7ZsD8QJlOXCYqdoj8naNgBw6O4Vw1MM2ORsaqlXc="; + rev = "02dd6bb610e55a009cd7a4c83639698d3a7acaa2"; + sha256 = "sha256-ARRiLrDOK+JQtvVXsYegspENYimQzilvdTfO7eiBuaA="; }; - inherit storeDir stateDir confDir boehmgc; + boehmgc = boehmgc_nixUnstable; + + inherit storeDir stateDir confDir; }); diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index c912db8f3ec..382dc426569 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -31171,7 +31171,6 @@ in inherit (callPackage ../tools/package-management/nix { storeDir = config.nix.storeDir or "/nix/store"; stateDir = config.nix.stateDir or "/nix/var"; - boehmgc = boehmgc.override { enableLargeConfig = true; }; inherit (darwin.apple_sdk.frameworks) Security; }) nix |