diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 870bb9a8cd28..3e8e8211c8d8 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -14597,6 +14597,12 @@ githubId = 3280280; name = "Ryne Everett"; }; + ryota-ka = { + email = "ok@ryota-ka.me"; + github = "ryota-ka"; + githubId = 7309170; + name = "Ryota Kameoka"; + }; rytone = { email = "max@ryt.one"; github = "rastertail"; diff --git a/pkgs/development/tools/yarn-berry/default.nix b/pkgs/development/tools/yarn-berry/default.nix new file mode 100644 index 000000000000..b8181e812fc2 --- /dev/null +++ b/pkgs/development/tools/yarn-berry/default.nix @@ -0,0 +1,43 @@ +{ fetchFromGitHub, lib, nodejs, stdenv, yarn }: + +stdenv.mkDerivation rec { + name = "yarn-berry"; + version = "3.4.1"; + + src = fetchFromGitHub { + owner = "yarnpkg"; + repo = "berry"; + rev = "@yarnpkg/cli/${version}"; + hash = "sha256-eBBB/F+mnGi93Qf23xgt306/ogoV76RXOM90O14u5Tw="; + }; + + buildInputs = [ + nodejs + ]; + + nativeBuildInputs = [ + yarn + ]; + + dontConfigure = true; + + buildPhase = '' + runHook preBuild + yarn workspace @yarnpkg/cli build:cli + runHook postBuild + ''; + + installPhase = '' + runHook preInstall + install -Dm 755 ./packages/yarnpkg-cli/bundles/yarn.js "$out/bin/yarn" + runHook postInstall + ''; + + meta = with lib; { + homepage = "https://yarnpkg.com/"; + description = "Fast, reliable, and secure dependency management."; + license = licenses.bsd2; + maintainers = with maintainers; [ ryota-ka ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 82263ec20900..7b5fe3463552 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -14685,6 +14685,8 @@ with pkgs; yarn = callPackage ../development/tools/yarn { }; + yarn-berry = callPackage ../development/tools/yarn-berry { }; + yarn2nix-moretea = callPackage ../development/tools/yarn2nix-moretea/yarn2nix { pkgs = pkgs.__splicedPackages; }; inherit (yarn2nix-moretea)