diff --git a/pkgs/by-name/ya/yarn-berry/fetcher/default.nix b/pkgs/by-name/ya/yarn-berry/fetcher/default.nix index 00925e28b195..312a88aee83d 100644 --- a/pkgs/by-name/ya/yarn-berry/fetcher/default.nix +++ b/pkgs/by-name/ya/yarn-berry/fetcher/default.nix @@ -1,12 +1,13 @@ { lib, - newScope, yarn-berry, yarn, replaceVars, libzip, zlib, zlib-ng, + makeScopeWithSplicing', + generateSplicesForMkScope, }: let @@ -56,32 +57,36 @@ let }); }; }; + + berryVersion = lib.versions.major yarn-berry.version; + + otherSplices = generateSplicesForMkScope "yarn-berry_${berryVersion}-fetcher"; in -lib.makeScope newScope ( - final: - let - berryVersion = lib.versions.major yarn-berry.version; +makeScopeWithSplicing' { + inherit otherSplices; + f = + final: + let + err = throw '' + Berry version ${toString berryVersion} not supported by yarn-berry-fetcher. + Supported versions: ${lib.concatStringsSep ", " (lib.attrNames variantOverlays)} + ''; + variantOverlay = (variantOverlays.${berryVersion} or err) final; + in + ( + { + inherit yarn-berry berryVersion; - err = throw '' - Berry version ${toString berryVersion} not supported by yarn-berry-fetcher. - Supported versions: ${lib.concatStringsSep ", " (lib.attrNames variantOverlays)} - ''; - variantOverlay = (variantOverlays.${berryVersion} or err) final; - in - ( - { - inherit yarn-berry berryVersion; + yarn-berry-offline = final.yarn-berry.overrideAttrs (old: { + pname = old.pname + "-offline"; + patches = (old.patches or [ ]) ++ final.berryOfflinePatches; + }); - yarn-berry-offline = final.yarn-berry.overrideAttrs (old: { - pname = old.pname + "-offline"; - patches = (old.patches or [ ]) ++ final.berryOfflinePatches; - }); - - yarn-berry-fetcher = final.callPackage ./yarn-berry-fetcher.nix { }; - fetchYarnBerryDeps = final.callPackage ./fetch-yarn-berry-deps.nix { }; - yarnBerryConfigHook = final.callPackage ./yarn-berry-config-hook.nix { }; - } - // variantOverlay - ) -) + yarn-berry-fetcher = final.callPackage ./yarn-berry-fetcher.nix { }; + fetchYarnBerryDeps = final.callPackage ./fetch-yarn-berry-deps.nix { }; + yarnBerryConfigHook = final.callPackage ./yarn-berry-config-hook.nix { }; + } + // variantOverlay + ); +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index ce75607dd4eb..2ad0dc2a1c69 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4203,7 +4203,13 @@ with pkgs; yapf = with python3Packages; toPythonApplication yapf; yarn-berry_4 = yarn-berry.override { berryVersion = 4; }; + yarn-berry_4-fetcher = callPackage ../by-name/ya/yarn-berry/fetcher { + yarn-berry = yarn-berry_4; + }; yarn-berry_3 = yarn-berry.override { berryVersion = 3; }; + yarn-berry_3-fetcher = callPackage ../by-name/ya/yarn-berry/fetcher { + yarn-berry = yarn-berry_3; + }; yarn2nix-moretea = callPackage ../development/tools/yarn2nix-moretea { };