From 7cb019f1adba70da78384b3e41da9818769fe86c Mon Sep 17 00:00:00 2001 From: dish Date: Thu, 27 Nov 2025 11:32:09 -0500 Subject: [PATCH 1/2] node-gyp-build: migrate from nodePackages --- pkgs/by-name/no/node-gyp-build/package.nix | 49 +++++++++++++++++++ pkgs/development/node-packages/aliases.nix | 1 + .../node-packages/node-packages.json | 1 - .../node-packages/node-packages.nix | 18 ------- 4 files changed, 50 insertions(+), 19 deletions(-) create mode 100644 pkgs/by-name/no/node-gyp-build/package.nix diff --git a/pkgs/by-name/no/node-gyp-build/package.nix b/pkgs/by-name/no/node-gyp-build/package.nix new file mode 100644 index 000000000000..e65f2905e657 --- /dev/null +++ b/pkgs/by-name/no/node-gyp-build/package.nix @@ -0,0 +1,49 @@ +{ + lib, + stdenv, + fetchFromGitHub, + nodejs, + nix-update-script, + +}: +stdenv.mkDerivation (finalAttrs: { + pname = "node-gyp-build"; + version = "4.8.4"; + + src = fetchFromGitHub { + owner = "prebuild"; + repo = "node-gyp-build"; + tag = "v${finalAttrs.version}"; + hash = "sha256-65EQGGpwL0C8AOhFyf62nVEt4e2pCS0lAv+20kt3Zdk="; + }; + + dontBuild = true; + + buildInputs = [ + nodejs + ]; + + installPhase = '' + runHook preInstall + + mkdir -p $out/lib/node_modules/node-gyp-build + mkdir -p $out/bin + + chmod +x ./{bin,build-test,optional}.js + mv *.js package.json $out/lib/node_modules/node-gyp-build + + ln -s $out/lib/node_modules/node-gyp-build/bin.js $out/bin/node-gyp-build + ln -s $out/lib/node_modules/node-gyp-build/optional.js $out/bin/node-gyp-build-optional + ln -s $out/lib/node_modules/node-gyp-build/build-test.js $out/bin/node-gyp-build-test + ''; + + passthru.updateScript = nix-update-script { }; + + meta = { + description = "Build tool and bindings loader for node-gyp that supports prebuilds"; + homepage = "https://github.com/prebuild/node-gyp-build"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ pyrox0 ]; + mainProgram = "node-gyp-build"; + }; +}) diff --git a/pkgs/development/node-packages/aliases.nix b/pkgs/development/node-packages/aliases.nix index bc3d17cb6de0..1ebb75c70b3e 100644 --- a/pkgs/development/node-packages/aliases.nix +++ b/pkgs/development/node-packages/aliases.nix @@ -252,6 +252,7 @@ mapAliases { near-cli = throw "'near-cli' has been removed as upstream has deprecated it and archived the source code repo"; # Added 2025-11-10 neovim = pkgs.neovim-node-client; # added 2024-11-13 nijs = throw "'nijs' has been removed as it was unmaintained upstream"; # Added 2025-11-14 + inherit (pkgs) node-gyp-build; # Added 2025-11-27 node-inspector = throw "node-inspector was removed because it was broken"; # added 2023-08-21 inherit (pkgs) node-gyp; # added 2024-08-13 inherit (pkgs) node-pre-gyp; # added 2024-08-05 diff --git a/pkgs/development/node-packages/node-packages.json b/pkgs/development/node-packages/node-packages.json index 904632bb4cb2..721a25129b03 100644 --- a/pkgs/development/node-packages/node-packages.json +++ b/pkgs/development/node-packages/node-packages.json @@ -21,7 +21,6 @@ , "jsdoc" , "lcov-result-merger" , "mathjax" -, "node-gyp-build" , "node2nix" , "postcss" , "prebuild-install" diff --git a/pkgs/development/node-packages/node-packages.nix b/pkgs/development/node-packages/node-packages.nix index f90b3574fd60..a142882d87a3 100644 --- a/pkgs/development/node-packages/node-packages.nix +++ b/pkgs/development/node-packages/node-packages.nix @@ -23635,24 +23635,6 @@ in bypassCache = true; reconstructLock = true; }; - node-gyp-build = nodeEnv.buildNodePackage { - name = "node-gyp-build"; - packageName = "node-gyp-build"; - version = "4.8.4"; - src = fetchurl { - url = "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.8.4.tgz"; - sha512 = "LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ=="; - }; - buildInputs = globalBuildInputs; - meta = { - description = "Build tool and bindings loader for node-gyp that supports prebuilds"; - homepage = "https://github.com/prebuild/node-gyp-build"; - license = "MIT"; - }; - production = true; - bypassCache = true; - reconstructLock = true; - }; node2nix = nodeEnv.buildNodePackage { name = "node2nix"; packageName = "node2nix"; From aee17cd6f361c073789bce6aee273dbc1f8ce456 Mon Sep 17 00:00:00 2001 From: dish Date: Thu, 27 Nov 2025 11:34:16 -0500 Subject: [PATCH 2/2] treewide: nodePackages.node-gyp-build -> node-gyp-build --- pkgs/by-name/ho/homepage-dashboard/package.nix | 4 ++-- pkgs/by-name/ma/marktext/package.nix | 4 ++-- pkgs/by-name/ma/matrix-appservice-irc/package.nix | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/pkgs/by-name/ho/homepage-dashboard/package.nix b/pkgs/by-name/ho/homepage-dashboard/package.nix index 4f93a29d7d5b..901792fe5e31 100644 --- a/pkgs/by-name/ho/homepage-dashboard/package.nix +++ b/pkgs/by-name/ho/homepage-dashboard/package.nix @@ -1,6 +1,6 @@ { fetchFromGitHub, - nodePackages, + node-gyp-build, makeBinaryWrapper, nodejs, pnpm_10, @@ -56,7 +56,7 @@ stdenv.mkDerivation (finalAttrs: { ++ lib.optionals stdenv.hostPlatform.isDarwin [ cctools ]; buildInputs = [ - nodePackages.node-gyp-build + node-gyp-build ]; env.PYTHON = "${python3}/bin/python"; diff --git a/pkgs/by-name/ma/marktext/package.nix b/pkgs/by-name/ma/marktext/package.nix index 3c6035d47174..a272bb06e9b4 100644 --- a/pkgs/by-name/ma/marktext/package.nix +++ b/pkgs/by-name/ma/marktext/package.nix @@ -10,7 +10,7 @@ python3, xorg, fontconfig, - nodePackages, + node-gyp-build, ripgrep, pkg-config, libsecret, @@ -49,7 +49,7 @@ stdenv.mkDerivation (finalAttrs: { (python3.withPackages (ps: with ps; [ packaging ])) pkg-config nodejs - nodePackages.node-gyp-build + node-gyp-build ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ xcbuild diff --git a/pkgs/by-name/ma/matrix-appservice-irc/package.nix b/pkgs/by-name/ma/matrix-appservice-irc/package.nix index 69a6be233806..52e4d4b8d854 100644 --- a/pkgs/by-name/ma/matrix-appservice-irc/package.nix +++ b/pkgs/by-name/ma/matrix-appservice-irc/package.nix @@ -4,7 +4,7 @@ fetchFromGitHub, fetchYarnDeps, fixup-yarn-lock, - nodejs, + node-gyp-build, nodejs-slim, matrix-sdk-crypto-nodejs, nixosTests, @@ -44,7 +44,7 @@ stdenv.mkDerivation { fixup-yarn-lock nodejs-slim yarn - nodejs.pkgs.node-gyp-build + node-gyp-build ]; configurePhase = ''