From 7432e50d62f9cfa50e57b72becda220d378a98bd Mon Sep 17 00:00:00 2001 From: kyehn <228304369+kyehn@users.noreply.github.com> Date: Sat, 4 Oct 2025 14:26:41 +0800 Subject: [PATCH] scanservjs: 2.27.1 -> 3.0.4 --- pkgs/by-name/sc/scanservjs/package.nix | 82 +++++--------------------- 1 file changed, 14 insertions(+), 68 deletions(-) diff --git a/pkgs/by-name/sc/scanservjs/package.nix b/pkgs/by-name/sc/scanservjs/package.nix index 5b80e075398d..b63f7b214770 100644 --- a/pkgs/by-name/sc/scanservjs/package.nix +++ b/pkgs/by-name/sc/scanservjs/package.nix @@ -2,85 +2,31 @@ lib, fetchFromGitHub, buildNpmPackage, - fetchNpmDeps, nodejs_20, - replaceVars, }: -let - # Build fails on node 22, presumably because of esm. - # https://github.com/NixOS/nixpkgs/issues/371649 - nodejs = nodejs_20; - version = "2.27.1"; +buildNpmPackage (finalAttrs: { + pname = "scanservjs"; + version = "3.0.4"; + src = fetchFromGitHub { owner = "sbs20"; repo = "scanservjs"; - # rev = "v${version}"; - # 2.27.1 doesn't have a tag - rev = "b15adc6f97fb152fd9819371bb1a9b8118baf55b"; - hash = "sha256-ne9fEF/eurWPXzmJQzBn5jiy+JgxMWiCXsOdmu2fj6E="; + tag = "v${finalAttrs.version}"; + hash = "sha256-qCJyQO/hSDF4NOupV7sepwvpNyjSElnqT71LJuIKe+A="; }; - depsHashes = { - server = "sha256-M8t+TrE+ntZaI9X7hEel94bz34DPtW32n0KKMSoCfIs="; - client = "sha256-C31WBYE8ba0t4mfKFAuYWrCZtSdN7tQIYmCflDRKuBM="; - }; + npmDepsHash = "sha256-HIWT09G8gqSFt9CIjsjJaDRnj2GO0G6JOGeI0p4/1vw="; - serverDepsForClient = fetchNpmDeps { - inherit src nodejs; - sourceRoot = "${src.name}/packages/server"; - name = "scanservjs"; - hash = depsHashes.server or lib.fakeHash; - }; - - # static client files - client = buildNpmPackage { - pname = "scanservjs-client"; - inherit version src nodejs; - - sourceRoot = "${src.name}/packages/client"; - npmDepsHash = depsHashes.client or lib.fakeHash; - - preBuild = '' - cd ../server - chmod +w package-lock.json . /build/source/ - npmDeps=${serverDepsForClient} npmConfigHook - cd ../client - ''; - - env.NODE_OPTIONS = "--openssl-legacy-provider"; - - dontNpmInstall = true; - installPhase = '' - mv /build/source/dist/client $out - ''; - }; - -in -buildNpmPackage { - pname = "scanservjs"; - inherit version src nodejs; - - sourceRoot = "${src.name}/packages/server"; - npmDepsHash = depsHashes.server or lib.fakeHash; - - # can't use "patches" since they change the server deps' hash for building the client - # (I don't want to maintain one more hash) - preBuild = '' - chmod +w /build/source - patch -p3 <${ - replaceVars ./decouple-from-source-tree.patch { - inherit client; - } - } - substituteInPlace src/api.js --replace 'NIX_OUT_PLACEHOLDER' "$out" - ''; + # Build fails on node 22, presumably because of esm. + # https://github.com/NixOS/nixpkgs/issues/371649 + nodejs = nodejs_20; postInstall = '' - mkdir -p $out/bin - makeWrapper ${lib.getExe nodejs} $out/bin/scanservjs \ + mkdir $out/bin + makeWrapper ${lib.getExe finalAttrs.nodejs} $out/bin/scanservjs \ --set NODE_ENV production \ - --add-flags "'$out/lib/node_modules/scanservjs-api/src/server.js'" + --add-flags "'$out/lib/node_modules/scanservjs/app-server/src/server.js'" ''; meta = { @@ -92,4 +38,4 @@ buildNpmPackage { maintainers = with lib.maintainers; [ chayleaf ]; platforms = lib.platforms.linux; }; -} +})