From 3ac2dd061302df1625a41b0f0f979ce2504560f0 Mon Sep 17 00:00:00 2001 From: Qyriad Date: Sat, 6 Apr 2024 15:44:27 -0600 Subject: package: put boehmgc patch logic in package.nix In our view it really doesn't make sense to not have this in in package.nix in some way. These patches aren't just for performance or something -- Lix flat out doesn't build without these patches. (Arguably that makes them a buildsystem responsibility as well, but that can wait for when we're ready to start adding subproject fallback dependency resolution to Meson.) This is a step towards making `package.nix` more self-sufficient and `callPackage`able without excessive external logic. With this change the following command is enough to build Lix from out of the flake: nix-build -E 'let pkgs = import { }; in pkgs.callPackage ./package.nix { build-release-notes = false; inherit (pkgs.lib) fileset; nix-doc = pkgs.callPackage ./nix-doc/package.nix { }; }' Change-Id: Ia37fe8171f87d3293033de8be07d9bab12716f1d --- flake.nix | 17 ++++------------- 1 file changed, 4 insertions(+), 13 deletions(-) (limited to 'flake.nix') diff --git a/flake.nix b/flake.nix index 647d15b4a..25d025b1c 100644 --- a/flake.nix +++ b/flake.nix @@ -163,16 +163,6 @@ build-release-notes = final.buildPackages.callPackage ./maintainers/build-release-notes.nix { }; clangbuildanalyzer = final.buildPackages.callPackage ./misc/clangbuildanalyzer.nix { }; - boehmgc-nix = (final.boehmgc.override { - enableLargeConfig = true; - }).overrideAttrs (o: { - patches = (o.patches or [ ]) ++ [ - ./boehmgc-coroutine-sp-fallback.diff - - # https://github.com/ivmai/bdwgc/pull/586 - ./boehmgc-traceable_allocator-public.diff - ]; - }); default-busybox-sandbox-shell = final.busybox.override { useMusl = true; @@ -203,10 +193,13 @@ nix = final.callPackage ./package.nix { inherit versionSuffix fileset; stdenv = currentStdenv; - boehmgc = final.boehmgc-nix; busybox-sandbox-shell = final.busybox-sandbox-shell or final.default-busybox-sandbox-shell; nix-doc = final.nix-doc; }; + + # Export the patched version of boehmgc that Lix uses into the overlay + # for consumers of this flake. + boehmgc-nix = final.nix.boehmgc-nix; }; in { @@ -268,7 +261,6 @@ inherit versionSuffix fileset officialRelease buildUnreleasedNotes; inherit (pkgs) build-release-notes; internalApiDocs = true; - boehmgc = pkgs.boehmgc-nix; busybox-sandbox-shell = pkgs.busybox-sandbox-shell; }; in @@ -406,7 +398,6 @@ let nix = pkgs.callPackage ./package.nix { inherit stdenv versionSuffix fileset; - boehmgc = pkgs.boehmgc-nix; busybox-sandbox-shell = pkgs.busybox-sandbox-shell or pkgs.default-busybox-sandbox; forDevShell = true; }; -- cgit v1.2.3