diff options
Diffstat (limited to 'pkgs/spliit/default.nix')
| -rw-r--r-- | pkgs/spliit/default.nix | 128 |
1 files changed, 58 insertions, 70 deletions
diff --git a/pkgs/spliit/default.nix b/pkgs/spliit/default.nix index 280e820..5ac56b1 100644 --- a/pkgs/spliit/default.nix +++ b/pkgs/spliit/default.nix @@ -4,73 +4,61 @@ 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"; - - src = fetchFromGitHub { - repo = "spliit"; - owner = "spliit-app"; - - rev = "a11efc79c13298c0d282e47496d132538752405f"; - hash = "sha256-v4gaPzLzBbbqw/LDYxe1fiyficcrqcGOop23YPiTrdc="; - }; - - npmDepsHash = "sha256-sd0/7ruNUFxUKTeTwx/v8Vc/G3llkXP6RSDE78h3qVU="; - - nativeBuildInputs = [pkgs.openssl]; - - npmRebuildFlags = buildFlags; - - PRISMA_SCHEMA_ENGINE_BINARY = schemaEngine; - PRISMA_QUERY_ENGINE_BINARY = queryEngineBin; - PRISMA_QUERY_ENGINE_LIBRARY = queryEngineLib; - - preBuild = '' - 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 - - cd @out@/lib/node_modules/spliit2 - - 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 - next start - '')} - - substituteInPlace $out/bin/spliit2 \ - --replace @out@ $out - - wrapProgram $out/bin/spliit2 \ - --prefix PATH : ${lib.makeBinPath [pkgs.openssl]} - ''; - - meta = { - description = "Free and Open Source Alternative to Splitwise. Share expenses with your friends and family."; - homepage = "https://spliit.app"; - license = lib.licenses.mit; - maintainers = with lib.maintainers; []; - }; - } +}: +buildNpmPackage { + pname = "spliit2"; + version = "master-20250420"; + + src = fetchFromGitHub { + repo = "spliit"; + owner = "spliit-app"; + + rev = "a11efc79c13298c0d282e47496d132538752405f"; + hash = "sha256-v4gaPzLzBbbqw/LDYxe1fiyficcrqcGOop23YPiTrdc="; + }; + + npmDepsHash = "sha256-sd0/7ruNUFxUKTeTwx/v8Vc/G3llkXP6RSDE78h3qVU="; + npmRebuildFlags = ["--ignore-scripts"]; + + doCheck = false; + + postPatch = '' + cp -v .env.example .env + ''; + + # 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 + ''; + + postInstall = '' + install -Dvm755 -t $out/bin ${lib.getExe (writeShellScriptBin "spliit2" '' + set -euxo pipefail + + cd @out@/lib/node_modules/spliit2 + + export PATH="$PWD/node_modules/.bin:$PATH" + export NEXT_TELEMETRY_DISABLED=1 + + prisma migrate deploy + exec next start + '')} + + #kk? + #${lib.getExe nodePackages.prisma} migrate deploy + + substituteInPlace $out/bin/spliit2 \ + --replace @out@ $out + ''; + + meta = { + description = "Free and Open Source Alternative to Splitwise. Share expenses with your friends and family."; + homepage = "https://spliit.app"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; []; + }; +} |
