diff --git a/pkgs/spliit/default.nix b/pkgs/spliit/default.nix index 5ac56b1..60e12dd 100644 --- a/pkgs/spliit/default.nix +++ b/pkgs/spliit/default.nix @@ -4,7 +4,14 @@ nodePackages, lib, writeShellScriptBin, + pkgs }: +let + schemaEngine = "${pkgs.prisma-engines}/bin/schema-engine"; + queryEngineBin = "${pkgs.prisma-engines}/bin/query-engine"; + queryEngineLib = "${pkgs.prisma-engines}/lib/libquery_engine.node"; + buildFlags = [ "--ignore-scripts" ]; +in buildNpmPackage { pname = "spliit2"; version = "master-20250420"; @@ -18,24 +25,26 @@ buildNpmPackage { }; npmDepsHash = "sha256-sd0/7ruNUFxUKTeTwx/v8Vc/G3llkXP6RSDE78h3qVU="; - npmRebuildFlags = ["--ignore-scripts"]; - doCheck = false; + nativeBuildInputs = [ pkgs.openssl ]; - postPatch = '' - cp -v .env.example .env - ''; + npmRebuildFlags = buildFlags; + + PRISMA_SCHEMA_ENGINE_BINARY = schemaEngine; + PRISMA_QUERY_ENGINE_BINARY = queryEngineBin; + PRISMA_QUERY_ENGINE_LIBRARY = queryEngineLib; - # nixpkgs/pkgs/applications/office/documenso/default.nix (git)-[master] 05:36:05 preBuild = '' - # somehow for linux, npm is not finding the prisma package with the - # packages installed with the lockfile. - # This generates a prisma version incompatibility warning and is a kludge - # until the upstream package-lock is modified. - ${lib.getExe nodePackages.prisma} generate + cp -v scripts/build.env .env + + npx prisma generate ''; + npmBuildFlags = buildFlags; + postInstall = '' + cp -r .next public package.json next.config.mjs $out/lib/node_modules/spliit2 + install -Dvm755 -t $out/bin ${lib.getExe (writeShellScriptBin "spliit2" '' set -euxo pipefail @@ -44,15 +53,19 @@ buildNpmPackage { export PATH="$PWD/node_modules/.bin:$PATH" export NEXT_TELEMETRY_DISABLED=1 + export PRISMA_SCHEMA_ENGINE_BINARY="${schemaEngine}" + export PRISMA_QUERY_ENGINE_BINARY="${queryEngineBin}" + export PRISMA_QUERY_ENGINE_LIBRARY="${queryEngineLib}" + prisma migrate deploy exec next start '')} - #kk? - #${lib.getExe nodePackages.prisma} migrate deploy - substituteInPlace $out/bin/spliit2 \ --replace @out@ $out + + wrapProgram $out/bin/spliit2 \ + --prefix PATH : ${lib.makeBinPath [ pkgs.openssl ]} ''; meta = {