···11+{
22+ lib,
33+ generateSplicesForMkScope,
44+ newScope,
55+ splicePackages,
66+ callPackage,
77+}:
88+99+let
1010+ otherSplices = generateSplicesForMkScope [ "nixDependencies" ];
1111+in
1212+lib.makeScopeWithSplicing'
1313+ {
1414+ inherit splicePackages;
1515+ inherit newScope; # layered directly on pkgs, unlike nixComponents above
1616+ }
1717+ {
1818+ # Technically this should point to the nixDependencies set only, but
1919+ # this is ok as long as the scopes don't intersect.
2020+ inherit otherSplices;
2121+ f = (callPackage ./dependencies.nix { }).scopeFunction;
2222+ }
···22 lib,
33 fetchFromGitHub,
44 splicePackages,
55- generateSplicesForMkScope,
66- newScope,
55+ nixDependencies,
76 pkgs,
88- stdenv,
97 maintainers,
108 otherSplices,
119}:
···3634 };
3735 };
38363939- # The dependencies are in their own scope, so that they don't have to be
4040- # in Nixpkgs top level `pkgs` or `nixComponents`.
4141- nixDependencies =
4242- lib.makeScopeWithSplicing'
4343- {
4444- inherit splicePackages;
4545- inherit newScope; # layered directly on pkgs, unlike nixComponents above
4646- }
4747- {
4848- # Technically this should point to the nixDependencies set only, but
4949- # this is ok as long as the scopes don't intersect.
5050- inherit otherSplices;
5151- f = import ./dependencies.nix {
5252- inherit pkgs;
5353- inherit stdenv;
5454- };
5555- };
5637in
5738nixComponents.overrideSource src
···11-# These overrides are applied to the dependencies of the Nix components.
22-33-{
44- # The raw Nixpkgs, not affected by this scope
55- pkgs,
66-77- stdenv,
88-}:
99-1010-let
1111- prevStdenv = stdenv;
1212-in
1313-1414-let
1515- stdenv = if prevStdenv.isDarwin && prevStdenv.isx86_64 then darwinStdenv else prevStdenv;
1616-1717- # Fix the following error with the default x86_64-darwin SDK:
1818- #
1919- # error: aligned allocation function of type 'void *(std::size_t, std::align_val_t)' is only available on macOS 10.13 or newer
2020- #
2121- # Despite the use of the 10.13 deployment target here, the aligned
2222- # allocation function Clang uses with this setting actually works
2323- # all the way back to 10.6.
2424- darwinStdenv = pkgs.overrideSDK prevStdenv { darwinMinVersion = "10.13"; };
2525-in
2626-scope: {
2727- inherit stdenv;
2828-2929- aws-sdk-cpp =
3030- (pkgs.aws-sdk-cpp.override {
3131- apis = [
3232- "s3"
3333- "transfer"
3434- ];
3535- customMemoryManagement = false;
3636- }).overrideAttrs
3737- {
3838- # only a stripped down version is built, which takes a lot less resources
3939- # to build, so we don't need a "big-parallel" machine.
4040- requiredSystemFeatures = [ ];
4141- };
4242-4343- boehmgc = pkgs.boehmgc.override {
4444- enableLargeConfig = true;
4545- };
4646-}