Loading lib/tests/nix-for-tests.nix +4 −15 Original line number Diff line number Diff line { lib ? pkgs.lib, pkgs, }: Loading @@ -13,20 +14,8 @@ builtins.mapAttrs ( attr: pkg: if # TODO descend in `nixComponents_*` and override `nix-store`. Also # need to introduce the flag needed to do that with. # # This must be done before Nix 2.26 and beyond becomes the default. !(builtins.elem attr [ "nixComponents_2_26" "nix_2_26" "latest" ]) # There may-be non-package things, like functions, in there too && builtins.isAttrs pkg then pkg.override { withAWS = false; } if lib.versionAtLeast pkg.version "2.26" then pkg.overrideScope (finalScope: prevScope: { aws-sdk-cpp = null; }) else pkg pkg.override { withAWS = false; } ) pkgs.nixVersions pkgs/tools/package-management/nix/vendor/2_26/packaging/components.nix +35 −3 Original line number Diff line number Diff line Loading @@ -240,6 +240,8 @@ in /** Apply an extension function (i.e. overlay-shaped) to all component derivations. Single argument: the extension function to apply (finalAttrs: prevAttrs: { ... }) */ overrideAllMesonComponents = f: Loading @@ -253,7 +255,11 @@ in Provide an alternate source. This allows the expressions to be vendored without copying the sources, but it does make the build non-granular; all components will use a complete source. Packaging expressions will be ignored. Filesets in the packaging expressions will be ignored. Single argument: the source to use. See also `appendPatches` */ overrideSource = src: Loading Loading @@ -294,6 +300,10 @@ in This affects all components. Changes to the packaging expressions will be ignored. Single argument: list of patches to apply See also `overrideSource` */ appendPatches = patches: Loading Loading @@ -367,7 +377,7 @@ in nix-perl-bindings = callPackage ../src/perl/package.nix { }; nix-everything = callPackage ../packaging/everything.nix { } // { # Note: no `passthru.overrideAllMesonComponents` # Note: no `passthru.overrideAllMesonComponents` etc # This would propagate into `nix.overrideAttrs f`, but then discard # `f` when `.overrideAllMesonComponents` is used. # Both "methods" should be views on the same fixpoint overriding mechanism Loading @@ -375,6 +385,8 @@ in # two-fixpoint solution. /** Apply an extension function (i.e. overlay-shaped) to all component derivations, and return the nix package. Single argument: the extension function to apply (finalAttrs: prevAttrs: { ... }) */ overrideAllMesonComponents = f: (scope.overrideAllMesonComponents f).nix-everything; Loading @@ -383,6 +395,10 @@ in This affects all components. Changes to the packaging expressions will be ignored. Single argument: list of patches to apply See also `overrideSource` */ appendPatches = ps: (scope.appendPatches ps).nix-everything; Loading @@ -390,9 +406,25 @@ in Provide an alternate source. This allows the expressions to be vendored without copying the sources, but it does make the build non-granular; all components will use a complete source. Packaging expressions will be ignored. Filesets in the packaging expressions will be ignored. Single argument: the source to use. See also `appendPatches` */ overrideSource = src: (scope.overrideSource src).nix-everything; /** Override any internals of the Nix package set. Single argument: the extension function to apply to the package set (finalScope: prevScope: { ... }) Example: ``` overrideScope (finalScope: prevScope: { aws-sdk-cpp = null; }) ``` */ overrideScope = f: (scope.overrideScope f).nix-everything; }; } Loading
lib/tests/nix-for-tests.nix +4 −15 Original line number Diff line number Diff line { lib ? pkgs.lib, pkgs, }: Loading @@ -13,20 +14,8 @@ builtins.mapAttrs ( attr: pkg: if # TODO descend in `nixComponents_*` and override `nix-store`. Also # need to introduce the flag needed to do that with. # # This must be done before Nix 2.26 and beyond becomes the default. !(builtins.elem attr [ "nixComponents_2_26" "nix_2_26" "latest" ]) # There may-be non-package things, like functions, in there too && builtins.isAttrs pkg then pkg.override { withAWS = false; } if lib.versionAtLeast pkg.version "2.26" then pkg.overrideScope (finalScope: prevScope: { aws-sdk-cpp = null; }) else pkg pkg.override { withAWS = false; } ) pkgs.nixVersions
pkgs/tools/package-management/nix/vendor/2_26/packaging/components.nix +35 −3 Original line number Diff line number Diff line Loading @@ -240,6 +240,8 @@ in /** Apply an extension function (i.e. overlay-shaped) to all component derivations. Single argument: the extension function to apply (finalAttrs: prevAttrs: { ... }) */ overrideAllMesonComponents = f: Loading @@ -253,7 +255,11 @@ in Provide an alternate source. This allows the expressions to be vendored without copying the sources, but it does make the build non-granular; all components will use a complete source. Packaging expressions will be ignored. Filesets in the packaging expressions will be ignored. Single argument: the source to use. See also `appendPatches` */ overrideSource = src: Loading Loading @@ -294,6 +300,10 @@ in This affects all components. Changes to the packaging expressions will be ignored. Single argument: list of patches to apply See also `overrideSource` */ appendPatches = patches: Loading Loading @@ -367,7 +377,7 @@ in nix-perl-bindings = callPackage ../src/perl/package.nix { }; nix-everything = callPackage ../packaging/everything.nix { } // { # Note: no `passthru.overrideAllMesonComponents` # Note: no `passthru.overrideAllMesonComponents` etc # This would propagate into `nix.overrideAttrs f`, but then discard # `f` when `.overrideAllMesonComponents` is used. # Both "methods" should be views on the same fixpoint overriding mechanism Loading @@ -375,6 +385,8 @@ in # two-fixpoint solution. /** Apply an extension function (i.e. overlay-shaped) to all component derivations, and return the nix package. Single argument: the extension function to apply (finalAttrs: prevAttrs: { ... }) */ overrideAllMesonComponents = f: (scope.overrideAllMesonComponents f).nix-everything; Loading @@ -383,6 +395,10 @@ in This affects all components. Changes to the packaging expressions will be ignored. Single argument: list of patches to apply See also `overrideSource` */ appendPatches = ps: (scope.appendPatches ps).nix-everything; Loading @@ -390,9 +406,25 @@ in Provide an alternate source. This allows the expressions to be vendored without copying the sources, but it does make the build non-granular; all components will use a complete source. Packaging expressions will be ignored. Filesets in the packaging expressions will be ignored. Single argument: the source to use. See also `appendPatches` */ overrideSource = src: (scope.overrideSource src).nix-everything; /** Override any internals of the Nix package set. Single argument: the extension function to apply to the package set (finalScope: prevScope: { ... }) Example: ``` overrideScope (finalScope: prevScope: { aws-sdk-cpp = null; }) ``` */ overrideScope = f: (scope.overrideScope f).nix-everything; }; }