···1+{
2+ lib,
3+ generateSplicesForMkScope,
4+ newScope,
5+ splicePackages,
6+ callPackage,
7+}:
8+9+let
10+ otherSplices = generateSplicesForMkScope [ "nixDependencies" ];
11+in
12+lib.makeScopeWithSplicing'
13+ {
14+ inherit splicePackages;
15+ inherit newScope; # layered directly on pkgs, unlike nixComponents above
16+ }
17+ {
18+ # Technically this should point to the nixDependencies set only, but
19+ # this is ok as long as the scopes don't intersect.
20+ inherit otherSplices;
21+ f = (callPackage ./dependencies.nix { }).scopeFunction;
22+ }
···2 lib,
3 fetchFromGitHub,
4 splicePackages,
5- generateSplicesForMkScope,
6- newScope,
7 pkgs,
8- stdenv,
9 maintainers,
10 otherSplices,
11}:
···36 };
37 };
3839- # The dependencies are in their own scope, so that they don't have to be
40- # in Nixpkgs top level `pkgs` or `nixComponents`.
41- nixDependencies =
42- lib.makeScopeWithSplicing'
43- {
44- inherit splicePackages;
45- inherit newScope; # layered directly on pkgs, unlike nixComponents above
46- }
47- {
48- # Technically this should point to the nixDependencies set only, but
49- # this is ok as long as the scopes don't intersect.
50- inherit otherSplices;
51- f = import ./dependencies.nix {
52- inherit pkgs;
53- inherit stdenv;
54- };
55- };
56in
57nixComponents.overrideSource src
···1-# These overrides are applied to the dependencies of the Nix components.
2-3-{
4- # The raw Nixpkgs, not affected by this scope
5- pkgs,
6-7- stdenv,
8-}:
9-10-let
11- prevStdenv = stdenv;
12-in
13-14-let
15- stdenv = if prevStdenv.isDarwin && prevStdenv.isx86_64 then darwinStdenv else prevStdenv;
16-17- # Fix the following error with the default x86_64-darwin SDK:
18- #
19- # error: aligned allocation function of type 'void *(std::size_t, std::align_val_t)' is only available on macOS 10.13 or newer
20- #
21- # Despite the use of the 10.13 deployment target here, the aligned
22- # allocation function Clang uses with this setting actually works
23- # all the way back to 10.6.
24- darwinStdenv = pkgs.overrideSDK prevStdenv { darwinMinVersion = "10.13"; };
25-in
26-scope: {
27- inherit stdenv;
28-29- aws-sdk-cpp =
30- (pkgs.aws-sdk-cpp.override {
31- apis = [
32- "s3"
33- "transfer"
34- ];
35- customMemoryManagement = false;
36- }).overrideAttrs
37- {
38- # only a stripped down version is built, which takes a lot less resources
39- # to build, so we don't need a "big-parallel" machine.
40- requiredSystemFeatures = [ ];
41- };
42-43- boehmgc = pkgs.boehmgc.override {
44- enableLargeConfig = true;
45- };
46-}