Loading pkgs/by-name/sc/scanservjs/package.nix +14 −68 Original line number Diff line number Diff line Loading @@ -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="; }; depsHashes = { server = "sha256-M8t+TrE+ntZaI9X7hEel94bz34DPtW32n0KKMSoCfIs="; client = "sha256-C31WBYE8ba0t4mfKFAuYWrCZtSdN7tQIYmCflDRKuBM="; }; serverDepsForClient = fetchNpmDeps { inherit src nodejs; sourceRoot = "${src.name}/packages/server"; name = "scanservjs"; hash = depsHashes.server or lib.fakeHash; tag = "v${finalAttrs.version}"; hash = "sha256-qCJyQO/hSDF4NOupV7sepwvpNyjSElnqT71LJuIKe+A="; }; # 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 ''; npmDepsHash = "sha256-HIWT09G8gqSFt9CIjsjJaDRnj2GO0G6JOGeI0p4/1vw="; 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 = { Loading @@ -92,4 +38,4 @@ buildNpmPackage { maintainers = with lib.maintainers; [ chayleaf ]; platforms = lib.platforms.linux; }; } }) Loading
pkgs/by-name/sc/scanservjs/package.nix +14 −68 Original line number Diff line number Diff line Loading @@ -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="; }; depsHashes = { server = "sha256-M8t+TrE+ntZaI9X7hEel94bz34DPtW32n0KKMSoCfIs="; client = "sha256-C31WBYE8ba0t4mfKFAuYWrCZtSdN7tQIYmCflDRKuBM="; }; serverDepsForClient = fetchNpmDeps { inherit src nodejs; sourceRoot = "${src.name}/packages/server"; name = "scanservjs"; hash = depsHashes.server or lib.fakeHash; tag = "v${finalAttrs.version}"; hash = "sha256-qCJyQO/hSDF4NOupV7sepwvpNyjSElnqT71LJuIKe+A="; }; # 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 ''; npmDepsHash = "sha256-HIWT09G8gqSFt9CIjsjJaDRnj2GO0G6JOGeI0p4/1vw="; 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 = { Loading @@ -92,4 +38,4 @@ buildNpmPackage { maintainers = with lib.maintainers; [ chayleaf ]; platforms = lib.platforms.linux; }; } })