zaphyra's git: oeffisearch

fast and simple tripplanner

1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
16 
17 
18 
19 
20 
21 
22 
23 
24 
25 
26 
27 
28 
29 
30 
31 
32 
33 
34 
35 
36 
37 
38 
39 
40 
41 
42 
43 
44 
45 
46 
47 
48 
49 
50 
51 
52 
53 
54 
{
  stdenv,
  nodejs,
  pnpm,
  flakeSelf ? null,
  version ? (
    if (flakeSelf != null && flakeSelf.sourceInfo ? shortRev) then
      flakeSelf.sourceInfo.shortRev
    else
      "dirty"
  ),
  commit ? (
    if (flakeSelf != null && flakeSelf.sourceInfo ? rev) then flakeSelf.sourceInfo.rev else "dirty"
  ),
  date ? (
    if (flakeSelf != null) then
      (builtins.concatStringsSep "-" (builtins.match "(.{4})(.{2})(.{2}).*" flakeSelf.lastModifiedDate))
    else
      ""
  ),
}:

stdenv.mkDerivation (finalAttrs: {
  pname = "oeffisearch";
  version = finalAttrs.env.GIT_VERSION;
  npmHash = "sha256-lT8EHG2tZkqBrR5QkyP16JcGD6zkvWHqYjzItJDdB8Y=";

  src = ./.;

  nativeBuildInputs = [
    nodejs
    pnpm.configHook
  ];

  pnpmDeps = pnpm.fetchDeps {
    inherit (finalAttrs) pname version src;
    hash = finalAttrs.npmHash;
    fetcherVersion = 2;
  };

  env = {
    GIT_VERSION = version;
    GIT_COMMIT = commit;
    GIT_COMMITDATE = date;
  };

  buildPhase = ''
    pnpm build
  '';

  installPhase = ''
    cp -r dist $out
  '';
})