This repository has no description
1.4 kB
60 lines
1{
2 lib,
3 stdenv,
4 fetchFromGitHub,
5 nodejs,
6 pnpm_10,
7 fetchPnpmDeps,
8 pnpmConfigHook,
9 nix-update-script,
10}:
11
12# Calino: a static, local-first CalDAV web client. Accounts, settings and the
13# event cache live in the browser; there is no backend. The CalDAV server has
14# to allow the origin Calino is served from via CORS.
15stdenv.mkDerivation (finalAttrs: {
16 pname = "calino";
17 version = "0.40.0";
18
19 src = fetchFromGitHub {
20 owner = "Ivan-Malinovski";
21 repo = "calino";
22 tag = "v${finalAttrs.version}";
23 hash = "sha256-jmprIOhVKAMm7a6nTE/BCQ2pslfUELMeN0hcAZDi2mU=";
24 };
25
26 pnpmDeps = fetchPnpmDeps {
27 inherit (finalAttrs) pname version src;
28 pnpm = pnpm_10;
29 fetcherVersion = 4;
30 hash = "sha256-mmdOfwj7rlvI2KUYO/Z4xyEtvz4c+m4sCR9BGDiIxhQ=";
31 };
32
33 nativeBuildInputs = [
34 nodejs
35 pnpm_10
36 pnpmConfigHook
37 ];
38
39 buildPhase = ''
40 runHook preBuild
41 pnpm run build
42 runHook postBuild
43 '';
44
45 installPhase = ''
46 runHook preInstall
47 cp -r dist $out
48 runHook postInstall
49 '';
50
51 passthru.updateScript = nix-update-script { extraArgs = [ "--flake" ]; };
52
53 meta = {
54 description = "Local-first CalDAV calendar web client (static files)";
55 homepage = "https://github.com/Ivan-Malinovski/calino";
56 changelog = "https://github.com/Ivan-Malinovski/calino/blob/v${finalAttrs.version}/CHANGELOG.md";
57 license = lib.licenses.mit;
58 platforms = lib.platforms.all;
59 };
60})