evcc: 0.131.4 -> 0.131.5
[NixPkgs.git] / pkgs / by-name / ga / gancio / package.nix
blobd0b4dfff9f19ffd36c5f555bac0da2da8e82168f
2   mkYarnPackage,
3   fetchFromGitLab,
4   fetchYarnDeps,
5   python3,
6   pkg-config,
7   nodePackages,
8   node-gyp,
9   vips,
10   lib,
11   nixosTests,
13 mkYarnPackage rec {
14   inherit (nodePackages) nodejs;
15   version = "1.19.4";
17   src = fetchFromGitLab {
18     domain = "framagit.org";
19     owner = "les";
20     repo = "gancio";
21     rev = "v${version}";
22     hash = "sha256-x8s7eBVmHCY3kAjHjACotCncvZq6OBiLPJGF6hvfawE=";
23   };
25   offlineCache = fetchYarnDeps {
26     yarnLock = src + "/yarn.lock";
27     hash = "sha256-LXeAyxZSZOm6GxRuJb5rlHTlQpYa1fdKSENVjwLY4tU=";
28   };
30   packageJSON = ./package.json;
32   # for pkg-config dependencies:
33   yarnPreBuild = ''
34     export npm_config_nodedir=${nodePackages.nodejs}
35   '';
36   # So that sqlite can be found:
37   pkgConfig.sqlite3 = {
38     nativeBuildInputs = [
39       pkg-config
40       nodePackages.prebuild-install
41       node-gyp
42       python3
43     ];
44     postInstall = ''
45       yarn --offline run install
46     '';
47   };
48   # Sharp need to find a vips library
49   pkgConfig.sharp = {
50     nativeBuildInputs = [
51       pkg-config
52       python3
53       node-gyp
54       nodePackages.semver
55     ];
56     buildInputs = [ vips ];
57     postInstall = ''
58       yarn --offline run install
59     '';
60   };
62   # build need a writeable node_modules
63   configurePhase = ''
64     runHook preConfigure
66     cp -r $node_modules node_modules
67     chmod -R +w node_modules
69     runHook postConfigure
70   '';
72   buildPhase = ''
73     runHook preBuild
75     export HOME=$(mktemp -d)
76     yarn --offline build
77     yarn --offline pack --filename gancio.tgz
78     mkdir -p deps/gancio
79     tar -C deps/gancio/ --strip-components=1 -xf gancio.tgz
80     rm gancio.tgz
82     runHook postBuild
83   '';
85   passthru = {
86     updateScript = ./update.sh;
87     tests = {
88       inherit (nixosTests) gancio;
89     };
90   };
92   meta = {
93     description = "Shared agenda for local communities, running on nodejs";
94     homepage = "https://gancio.org/";
95     changelog = "https://framagit.org/les/gancio/-/raw/master/CHANGELOG.md";
96     license = lib.licenses.agpl3Plus;
97     platforms = lib.platforms.linux;
98     mainProgram = "gancio";
99     maintainers = with lib.maintainers; [ jbgi ];
100   };