Added `boot.modprobeConfig.useUbuntuModuleBlacklist`. (#290330)
[NixPkgs.git] / pkgs / by-name / ga / gancio / package.nix
blobbe6523319ee2cce03f436a51b3010f61685f3ac4
2   lib,
3   stdenv,
4   fetchFromGitLab,
5   fetchYarnDeps,
7   yarnConfigHook,
8   yarnBuildHook,
9   yarnInstallHook,
10   nodejs,
11   pkg-config,
13   vips,
14   sqlite,
16   nixosTests,
19 stdenv.mkDerivation (finalAttrs: {
20   pname = "gancio";
21   version = "1.19.4";
23   src = fetchFromGitLab {
24     domain = "framagit.org";
25     owner = "les";
26     repo = "gancio";
27     rev = "v${finalAttrs.version}";
28     hash = "sha256-x8s7eBVmHCY3kAjHjACotCncvZq6OBiLPJGF6hvfawE=";
29   };
31   offlineCache = fetchYarnDeps {
32     yarnLock = finalAttrs.src + "/yarn.lock";
33     hash = "sha256-LXeAyxZSZOm6GxRuJb5rlHTlQpYa1fdKSENVjwLY4tU=";
34   };
36   nativeBuildInputs = [
37     yarnConfigHook
38     yarnBuildHook
39     yarnInstallHook
40     nodejs
41     (nodejs.python.withPackages (ps: [ ps.setuptools ]))
42     pkg-config
43   ];
45   buildInputs = [
46     vips
47     sqlite
48   ];
50   # generate .node binaries
51   preBuild = ''
52     npm rebuild --verbose --nodedir=${nodejs} --sqlite=${lib.getDev sqlite}
53   '';
55   # the node_modules directory will be regenerated by yarnInstallHook, so we save our .node binaries
56   preInstall = ''
57     cp node_modules/sharp/build/Release/sharp.node .
58     cp node_modules/sqlite3/build/Release/node_sqlite3.node .
59   '';
61   # and then place them where they belong
62   postInstall = ''
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
65   '';
67   passthru = {
68     inherit nodejs;
69     tests = {
70       inherit (nixosTests) gancio;
71     };
72   };
74   meta = {
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 ];
82   };