···11{
22+ lib ? pkgs.lib,
23 pkgs,
34}:
45···13141415builtins.mapAttrs (
1516 attr: pkg:
1616- if
1717- # TODO descend in `nixComponents_*` and override `nix-store`. Also
1818- # need to introduce the flag needed to do that with.
1919- #
2020- # This must be done before Nix 2.26 and beyond becomes the default.
2121- !(builtins.elem attr [
2222- "nixComponents_2_26"
2323- "nix_2_26"
2424- "latest"
2525- ])
2626- # There may-be non-package things, like functions, in there too
2727- && builtins.isAttrs pkg
2828- then
1717+ if lib.versionAtLeast pkg.version "2.26" then
1818+ pkg.overrideScope (finalScope: prevScope: { aws-sdk-cpp = null; })
1919+ else
2920 pkg.override { withAWS = false; }
3030- else
3131- pkg
3221) pkgs.nixVersions
···240240241241 /**
242242 Apply an extension function (i.e. overlay-shaped) to all component derivations.
243243+244244+ Single argument: the extension function to apply (finalAttrs: prevAttrs: { ... })
243245 */
244246 overrideAllMesonComponents =
245247 f:
···253255 Provide an alternate source. This allows the expressions to be vendored without copying the sources,
254256 but it does make the build non-granular; all components will use a complete source.
255257256256- Packaging expressions will be ignored.
258258+ Filesets in the packaging expressions will be ignored.
259259+260260+ Single argument: the source to use.
261261+262262+ See also `appendPatches`
257263 */
258264 overrideSource =
259265 src:
···294300 This affects all components.
295301296302 Changes to the packaging expressions will be ignored.
303303+304304+ Single argument: list of patches to apply
305305+306306+ See also `overrideSource`
297307 */
298308 appendPatches =
299309 patches:
···367377 nix-perl-bindings = callPackage ../src/perl/package.nix { };
368378369379 nix-everything = callPackage ../packaging/everything.nix { } // {
370370- # Note: no `passthru.overrideAllMesonComponents`
380380+ # Note: no `passthru.overrideAllMesonComponents` etc
371381 # This would propagate into `nix.overrideAttrs f`, but then discard
372382 # `f` when `.overrideAllMesonComponents` is used.
373383 # Both "methods" should be views on the same fixpoint overriding mechanism
···375385 # two-fixpoint solution.
376386 /**
377387 Apply an extension function (i.e. overlay-shaped) to all component derivations, and return the nix package.
388388+389389+ Single argument: the extension function to apply (finalAttrs: prevAttrs: { ... })
378390 */
379391 overrideAllMesonComponents = f: (scope.overrideAllMesonComponents f).nix-everything;
380392···383395 This affects all components.
384396385397 Changes to the packaging expressions will be ignored.
398398+399399+ Single argument: list of patches to apply
400400+401401+ See also `overrideSource`
386402 */
387403 appendPatches = ps: (scope.appendPatches ps).nix-everything;
388404···390406 Provide an alternate source. This allows the expressions to be vendored without copying the sources,
391407 but it does make the build non-granular; all components will use a complete source.
392408393393- Packaging expressions will be ignored.
409409+ Filesets in the packaging expressions will be ignored.
410410+411411+ Single argument: the source to use.
412412+413413+ See also `appendPatches`
394414 */
395415 overrideSource = src: (scope.overrideSource src).nix-everything;
416416+417417+ /**
418418+ Override any internals of the Nix package set.
419419+420420+ Single argument: the extension function to apply to the package set (finalScope: prevScope: { ... })
421421+422422+ Example:
423423+ ```
424424+ overrideScope (finalScope: prevScope: { aws-sdk-cpp = null; })
425425+ ```
426426+ */
427427+ overrideScope = f: (scope.overrideScope f).nix-everything;
396428397429 };
398430}