19 stdenv.mkDerivation (finalAttrs: {
23 src = fetchFromGitLab {
24 domain = "framagit.org";
27 rev = "v${finalAttrs.version}";
28 hash = "sha256-x8s7eBVmHCY3kAjHjACotCncvZq6OBiLPJGF6hvfawE=";
31 offlineCache = fetchYarnDeps {
32 yarnLock = finalAttrs.src + "/yarn.lock";
33 hash = "sha256-LXeAyxZSZOm6GxRuJb5rlHTlQpYa1fdKSENVjwLY4tU=";
41 (nodejs.python.withPackages (ps: [ ps.setuptools ]))
50 # generate .node binaries
52 npm rebuild --verbose --nodedir=${nodejs} --sqlite=${lib.getDev sqlite}
55 # the node_modules directory will be regenerated by yarnInstallHook, so we save our .node binaries
57 cp node_modules/sharp/build/Release/sharp.node .
58 cp node_modules/sqlite3/build/Release/node_sqlite3.node .
61 # and then place them where they belong
63 install -Dm755 sharp.node -t $out/lib/node_modules/gancio/node_modules/sharp/build/Release
64 install -Dm755 node_sqlite3.node -t $out/lib/node_modules/gancio/node_modules/sqlite3/build/Release
70 inherit (nixosTests) gancio;
75 description = "Shared agenda for local communities, running on nodejs";
76 homepage = "https://gancio.org/";
77 changelog = "https://framagit.org/les/gancio/-/raw/master/CHANGELOG.md";
78 license = lib.licenses.agpl3Plus;
79 platforms = lib.platforms.linux;
80 mainProgram = "gancio";
81 maintainers = with lib.maintainers; [ jbgi ];