Skip to content

Commit 388709d

Browse files
committed
yarn-berry_{3,4}-fetcher: Fix cross
`yarn-berry_4-fetcher = yarn-berry_4.yarn-berry-fetcher;` gives infinite recursion
1 parent 050e09e commit 388709d

File tree

2 files changed

+37
-26
lines changed

2 files changed

+37
-26
lines changed

pkgs/by-name/ya/yarn-berry/fetcher/default.nix

Lines changed: 31 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
{
22
lib,
3-
newScope,
43
yarn-berry,
54
yarn,
65
replaceVars,
76
libzip,
87
zlib,
98
zlib-ng,
9+
makeScopeWithSplicing',
10+
generateSplicesForMkScope,
1011
}:
1112

1213
let
@@ -56,32 +57,36 @@ let
5657
});
5758
};
5859
};
59-
in
6060

61-
lib.makeScope newScope (
62-
final:
63-
let
64-
berryVersion = lib.versions.major yarn-berry.version;
61+
berryVersion = lib.versions.major yarn-berry.version;
62+
63+
otherSplices = generateSplicesForMkScope "yarn-berry_${berryVersion}-fetcher";
64+
in
6565

66-
err = throw ''
67-
Berry version ${toString berryVersion} not supported by yarn-berry-fetcher.
68-
Supported versions: ${lib.concatStringsSep ", " (lib.attrNames variantOverlays)}
69-
'';
70-
variantOverlay = (variantOverlays.${berryVersion} or err) final;
71-
in
72-
(
73-
{
74-
inherit yarn-berry berryVersion;
66+
makeScopeWithSplicing' {
67+
inherit otherSplices;
68+
f =
69+
final:
70+
let
71+
err = throw ''
72+
Berry version ${toString berryVersion} not supported by yarn-berry-fetcher.
73+
Supported versions: ${lib.concatStringsSep ", " (lib.attrNames variantOverlays)}
74+
'';
75+
variantOverlay = (variantOverlays.${berryVersion} or err) final;
76+
in
77+
(
78+
{
79+
inherit yarn-berry berryVersion;
7580

76-
yarn-berry-offline = final.yarn-berry.overrideAttrs (old: {
77-
pname = old.pname + "-offline";
78-
patches = (old.patches or [ ]) ++ final.berryOfflinePatches;
79-
});
81+
yarn-berry-offline = final.yarn-berry.overrideAttrs (old: {
82+
pname = old.pname + "-offline";
83+
patches = (old.patches or [ ]) ++ final.berryOfflinePatches;
84+
});
8085

81-
yarn-berry-fetcher = final.callPackage ./yarn-berry-fetcher.nix { };
82-
fetchYarnBerryDeps = final.callPackage ./fetch-yarn-berry-deps.nix { };
83-
yarnBerryConfigHook = final.callPackage ./yarn-berry-config-hook.nix { };
84-
}
85-
// variantOverlay
86-
)
87-
)
86+
yarn-berry-fetcher = final.callPackage ./yarn-berry-fetcher.nix { };
87+
fetchYarnBerryDeps = final.callPackage ./fetch-yarn-berry-deps.nix { };
88+
yarnBerryConfigHook = final.callPackage ./yarn-berry-config-hook.nix { };
89+
}
90+
// variantOverlay
91+
);
92+
}

pkgs/top-level/all-packages.nix

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4203,7 +4203,13 @@ with pkgs;
42034203
yapf = with python3Packages; toPythonApplication yapf;
42044204

42054205
yarn-berry_4 = yarn-berry.override { berryVersion = 4; };
4206+
yarn-berry_4-fetcher = callPackage ../by-name/ya/yarn-berry/fetcher {
4207+
yarn-berry = yarn-berry_4;
4208+
};
42064209
yarn-berry_3 = yarn-berry.override { berryVersion = 3; };
4210+
yarn-berry_3-fetcher = callPackage ../by-name/ya/yarn-berry/fetcher {
4211+
yarn-berry = yarn-berry_3;
4212+
};
42074213

42084214
yarn2nix-moretea = callPackage ../development/tools/yarn2nix-moretea { };
42094215

0 commit comments

Comments
 (0)