···1{
02 pkgs,
3}:
4···1314builtins.mapAttrs (
15 attr: pkg:
16- if
17- # TODO descend in `nixComponents_*` and override `nix-store`. Also
18- # need to introduce the flag needed to do that with.
19- #
20- # This must be done before Nix 2.26 and beyond becomes the default.
21- !(builtins.elem attr [
22- "nixComponents_2_26"
23- "nix_2_26"
24- "latest"
25- ])
26- # There may-be non-package things, like functions, in there too
27- && builtins.isAttrs pkg
28- then
29 pkg.override { withAWS = false; }
30- else
31- pkg
32) pkgs.nixVersions
···240241 /**
242 Apply an extension function (i.e. overlay-shaped) to all component derivations.
00243 */
244 overrideAllMesonComponents =
245 f:
···253 Provide an alternate source. This allows the expressions to be vendored without copying the sources,
254 but it does make the build non-granular; all components will use a complete source.
255256- Packaging expressions will be ignored.
0000257 */
258 overrideSource =
259 src:
···294 This affects all components.
295296 Changes to the packaging expressions will be ignored.
0000297 */
298 appendPatches =
299 patches:
···367 nix-perl-bindings = callPackage ../src/perl/package.nix { };
368369 nix-everything = callPackage ../packaging/everything.nix { } // {
370- # Note: no `passthru.overrideAllMesonComponents`
371 # This would propagate into `nix.overrideAttrs f`, but then discard
372 # `f` when `.overrideAllMesonComponents` is used.
373 # Both "methods" should be views on the same fixpoint overriding mechanism
···375 # two-fixpoint solution.
376 /**
377 Apply an extension function (i.e. overlay-shaped) to all component derivations, and return the nix package.
00378 */
379 overrideAllMesonComponents = f: (scope.overrideAllMesonComponents f).nix-everything;
380···383 This affects all components.
384385 Changes to the packaging expressions will be ignored.
0000386 */
387 appendPatches = ps: (scope.appendPatches ps).nix-everything;
388···390 Provide an alternate source. This allows the expressions to be vendored without copying the sources,
391 but it does make the build non-granular; all components will use a complete source.
392393- Packaging expressions will be ignored.
0000394 */
395 overrideSource = src: (scope.overrideSource src).nix-everything;
000000000000396397 };
398}
···240241 /**
242 Apply an extension function (i.e. overlay-shaped) to all component derivations.
243+244+ Single argument: the extension function to apply (finalAttrs: prevAttrs: { ... })
245 */
246 overrideAllMesonComponents =
247 f:
···255 Provide an alternate source. This allows the expressions to be vendored without copying the sources,
256 but it does make the build non-granular; all components will use a complete source.
257258+ Filesets in the packaging expressions will be ignored.
259+260+ Single argument: the source to use.
261+262+ See also `appendPatches`
263 */
264 overrideSource =
265 src:
···300 This affects all components.
301302 Changes to the packaging expressions will be ignored.
303+304+ Single argument: list of patches to apply
305+306+ See also `overrideSource`
307 */
308 appendPatches =
309 patches:
···377 nix-perl-bindings = callPackage ../src/perl/package.nix { };
378379 nix-everything = callPackage ../packaging/everything.nix { } // {
380+ # Note: no `passthru.overrideAllMesonComponents` etc
381 # This would propagate into `nix.overrideAttrs f`, but then discard
382 # `f` when `.overrideAllMesonComponents` is used.
383 # Both "methods" should be views on the same fixpoint overriding mechanism
···385 # two-fixpoint solution.
386 /**
387 Apply an extension function (i.e. overlay-shaped) to all component derivations, and return the nix package.
388+389+ Single argument: the extension function to apply (finalAttrs: prevAttrs: { ... })
390 */
391 overrideAllMesonComponents = f: (scope.overrideAllMesonComponents f).nix-everything;
392···395 This affects all components.
396397 Changes to the packaging expressions will be ignored.
398+399+ Single argument: list of patches to apply
400+401+ See also `overrideSource`
402 */
403 appendPatches = ps: (scope.appendPatches ps).nix-everything;
404···406 Provide an alternate source. This allows the expressions to be vendored without copying the sources,
407 but it does make the build non-granular; all components will use a complete source.
408409+ Filesets in the packaging expressions will be ignored.
410+411+ Single argument: the source to use.
412+413+ See also `appendPatches`
414 */
415 overrideSource = src: (scope.overrideSource src).nix-everything;
416+417+ /**
418+ Override any internals of the Nix package set.
419+420+ Single argument: the extension function to apply to the package set (finalScope: prevScope: { ... })
421+422+ Example:
423+ ```
424+ overrideScope (finalScope: prevScope: { aws-sdk-cpp = null; })
425+ ```
426+ */
427+ overrideScope = f: (scope.overrideScope f).nix-everything;
428429 };
430}