From 720f7775b76a17fda04c1d84f5514100aab560c0 Mon Sep 17 00:00:00 2001 From: Ezri Zhu Date: Fri, 16 May 2025 03:10:13 -0700 Subject: [PATCH 1/5] maintainers: add ezrizhu (cherry picked from commit de3f4171dfee72215c3734fcf39d645033457faa) --- maintainers/maintainer-list.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 3a5b87a092cd..49e84d03cf43 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -7841,6 +7841,12 @@ github = "hatch01"; githubId = 42416805; }; + ezrizhu = { + name = "Ezri Zhu"; + email = "me@ezrizhu.com"; + github = "ezrizhu"; + githubId = 44515009; + }; f--t = { email = "git@f-t.me"; github = "f--t"; From 9c64622f170281d87daf3ea6103142fd3cdfee50 Mon Sep 17 00:00:00 2001 From: Ezri Zhu Date: Wed, 21 May 2025 18:47:22 -0400 Subject: [PATCH 2/5] wrangler: 3.80.1 -> 4.16.0 Also resolved below two build issues * Broken symlinks: nixpkgs build now checks for broken symlinks, this PR adds all the relevant directories back to the out dir so all symlinks are intact. * Missing npm: wrangler specifies an older version of pnpm than the one in pnpm_9 as used in the build process, this PR patches the package.json to remove the pnpm version so pnpm_9 doesn't attempt to change it's version resulting in a pnpm binary not found error. (with help from @cameronraysmith in #377334) (cherry picked from commit 515e5fe4cc7e102199988d4010de70ccbbb7b1bb) --- pkgs/by-name/wr/wrangler/package.nix | 43 +++++++++++++++++++--------- 1 file changed, 29 insertions(+), 14 deletions(-) diff --git a/pkgs/by-name/wr/wrangler/package.nix b/pkgs/by-name/wr/wrangler/package.nix index 6654ee0f063d..721ab85f68c7 100644 --- a/pkgs/by-name/wr/wrangler/package.nix +++ b/pkgs/by-name/wr/wrangler/package.nix @@ -10,23 +10,35 @@ llvmPackages, musl, xorg, + jq, + moreutils, gitUpdater, + versionCheckHook, }: stdenv.mkDerivation (finalAttrs: { pname = "wrangler"; - version = "3.80.1"; + version = "4.16.0"; src = fetchFromGitHub { owner = "cloudflare"; repo = "workers-sdk"; rev = "wrangler@${finalAttrs.version}"; - hash = "sha256-9ClosoDIT+yP2dvNenHW2RSxLimOT3znXD+Pq+N6cQA="; + hash = "sha256-H/ds5NfOjyTZ4AcsCAP0wbalgOljOUtLSjkjEn+atVk="; }; pnpmDeps = pnpm_9.fetchDeps { - inherit (finalAttrs) pname version src; - hash = "sha256-8EItfBV2n2rnXPCTYjDZlr/tdlEn8YOdIzOsj35w5gQ="; + inherit (finalAttrs) + pname + version + src + postPatch + ; + hash = "sha256-msIXeN8t8Dm3RUkw4woZIMn7wXxw/0jVl8oFmkPJbrA="; }; + # pnpm packageManager version in workers-sdk root package.json may not match nixpkgs + postPatch = '' + jq 'del(.packageManager)' package.json | sponge package.json + ''; passthru.updateScript = gitUpdater { rev-prefix = "wrangler@"; }; @@ -45,6 +57,8 @@ stdenv.mkDerivation (finalAttrs: { makeWrapper nodejs pnpm_9.configHook + jq + moreutils ] ++ lib.optionals (stdenv.hostPlatform.isLinux) [ autoPatchelfHook @@ -53,7 +67,7 @@ stdenv.mkDerivation (finalAttrs: { # @cloudflare/vitest-pool-workers wanted to run a server as part of the build process # so I simply removed it postBuild = '' - rm -fr packages/vitest-pool-workers + mv packages/vitest-pool-workers packages/~vitest-pool-workers NODE_ENV="production" pnpm --filter workers-shared run build NODE_ENV="production" pnpm --filter miniflare run build NODE_ENV="production" pnpm --filter wrangler run build @@ -65,19 +79,17 @@ stdenv.mkDerivation (finalAttrs: { # - the build process builds a version of miniflare which is used by wrangler; for this reason, the miniflare package is copied also # - pnpm stores all content in the top-level node_modules directory, but it is linked to from a node_modules directory inside wrangler # - as they are linked via symlinks, the relative location of them on the filesystem should be maintained + # - Update: Now we're copying everything over due to broken symlink errors installPhase = '' runHook preInstall mkdir -p $out/bin $out/lib $out/lib/packages/wrangler - rm -rf node_modules/typescript node_modules/eslint node_modules/prettier node_modules/bin node_modules/.bin node_modules/**/bin node_modules/**/.bin + mv packages/~vitest-pool-workers packages/vitest-pool-workers + cp -r fixtures $out/lib + cp -r packages $out/lib cp -r node_modules $out/lib - cp -r packages/miniflare $out/lib/packages - cp -r packages/workers-tsconfig $out/lib/packages - cp -r packages/workers-shared $out/lib/packages - cp -r packages/wrangler/node_modules $out/lib/packages/wrangler - cp -r packages/wrangler/templates $out/lib/packages/wrangler - cp -r packages/wrangler/wrangler-dist $out/lib/packages/wrangler + cp -r tools $out/lib/tools + rm -rf node_modules/typescript node_modules/eslint node_modules/prettier node_modules/bin node_modules/.bin node_modules/**/bin node_modules/**/.bin rm -rf $out/lib/**/bin $out/lib/**/.bin - cp -r packages/wrangler/bin $out/lib/packages/wrangler NODE_PATH_ARRAY=( "$out/lib/node_modules" "$out/lib/packages/wrangler/node_modules" ) makeWrapper ${lib.getExe nodejs} $out/bin/wrangler \ --inherit-argv0 \ @@ -86,7 +98,10 @@ stdenv.mkDerivation (finalAttrs: { --set-default SSL_CERT_FILE "${cacert}/etc/ssl/certs/ca-bundle.crt" # https://github.com/cloudflare/workers-sdk/issues/3264 runHook postInstall ''; - + doInstallCheck = true; + nativeInstallCheckInputs = [ + versionCheckHook + ]; meta = { description = "Command-line interface for all things Cloudflare Workers"; homepage = "https://github.com/cloudflare/workers-sdk#readme"; From 2f17cdedb17b990d8cb42d219591fa8867b7539e Mon Sep 17 00:00:00 2001 From: Ezri Zhu Date: Wed, 21 May 2025 18:51:02 -0400 Subject: [PATCH 3/5] wrangler: add ezrizhu to maintainers (cherry picked from commit c332cf3d2935fd8bedae280158e2ce742c8596d1) --- pkgs/by-name/wr/wrangler/package.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/by-name/wr/wrangler/package.nix b/pkgs/by-name/wr/wrangler/package.nix index 721ab85f68c7..17dc8f28a85e 100644 --- a/pkgs/by-name/wr/wrangler/package.nix +++ b/pkgs/by-name/wr/wrangler/package.nix @@ -113,6 +113,7 @@ stdenv.mkDerivation (finalAttrs: { seanrmurphy dezren39 ryand56 + ezrizhu ]; mainProgram = "wrangler"; # Tunneling and other parts of wrangler, which require workerd won't run on From 19eee6fea3467da51287242d48ed2b1ca51518bf Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 23 May 2025 14:15:57 +0000 Subject: [PATCH 4/5] wrangler: 4.16.0 -> 4.16.1 (cherry picked from commit caa6d7f0a1ba6a49ba096af071a25d8d1dd1adc6) --- pkgs/by-name/wr/wrangler/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/wr/wrangler/package.nix b/pkgs/by-name/wr/wrangler/package.nix index 17dc8f28a85e..ee8c4a95bd6f 100644 --- a/pkgs/by-name/wr/wrangler/package.nix +++ b/pkgs/by-name/wr/wrangler/package.nix @@ -17,13 +17,13 @@ }: stdenv.mkDerivation (finalAttrs: { pname = "wrangler"; - version = "4.16.0"; + version = "4.16.1"; src = fetchFromGitHub { owner = "cloudflare"; repo = "workers-sdk"; rev = "wrangler@${finalAttrs.version}"; - hash = "sha256-H/ds5NfOjyTZ4AcsCAP0wbalgOljOUtLSjkjEn+atVk="; + hash = "sha256-5mRoQFfOwQ9PC97WdspnRLAFoyAdGpJuV7Ii6ilkR8I="; }; pnpmDeps = pnpm_9.fetchDeps { From 39ea6e5d028166ef1d5f93e9ca2be563d0a6d615 Mon Sep 17 00:00:00 2001 From: GueLaKais Date: Wed, 28 May 2025 17:40:08 +0200 Subject: [PATCH 5/5] wrangler: 4.16.1 -> 4.17.0 (cherry picked from commit 19d93ae7cd78338ea021278c3a3b3bf40f888dc6) --- pkgs/by-name/wr/wrangler/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/wr/wrangler/package.nix b/pkgs/by-name/wr/wrangler/package.nix index ee8c4a95bd6f..eed4d7d88552 100644 --- a/pkgs/by-name/wr/wrangler/package.nix +++ b/pkgs/by-name/wr/wrangler/package.nix @@ -17,13 +17,13 @@ }: stdenv.mkDerivation (finalAttrs: { pname = "wrangler"; - version = "4.16.1"; + version = "4.17.0"; src = fetchFromGitHub { owner = "cloudflare"; repo = "workers-sdk"; rev = "wrangler@${finalAttrs.version}"; - hash = "sha256-5mRoQFfOwQ9PC97WdspnRLAFoyAdGpJuV7Ii6ilkR8I="; + hash = "sha256-PXVfNYy1gzK1OqYOeGRxTRRrxNEQkEhAjE5J9yKcQ/w="; }; pnpmDeps = pnpm_9.fetchDeps { @@ -33,7 +33,7 @@ stdenv.mkDerivation (finalAttrs: { src postPatch ; - hash = "sha256-msIXeN8t8Dm3RUkw4woZIMn7wXxw/0jVl8oFmkPJbrA="; + hash = "sha256-OCxUhvPIPKSGTTeXaLmkErOBpYQ8mKmieUYj6qxuTK4="; }; # pnpm packageManager version in workers-sdk root package.json may not match nixpkgs postPatch = ''