]>
Commit | Line | Data |
---|---|---|
1 | { varDir ? "/var/lib/grocy", stdenv, callPackage, composerEnv, fetchurl, src, runCommand, git, which, jq, yarn2nix-moretea }: | |
2 | let | |
3 | version = "2.6.1-1"; | |
4 | patchedPackages = stdenv.mkDerivation rec { | |
5 | name = "grocy"; | |
6 | inherit src; | |
7 | buildInputs = [ jq ]; | |
8 | patches = [ ./yarn.patch ]; | |
9 | installPhase = '' | |
10 | mkdir $out | |
11 | cat package.json | jq -r '.version = "${version}"' > $out/package.json | |
12 | cp yarn.lock $out/ | |
13 | ''; | |
14 | }; | |
15 | yarnModules = yarn2nix-moretea.mkYarnModules rec { | |
16 | name = "grocy-yarn"; | |
17 | pname = name; | |
18 | version = version; | |
19 | packageJSON = "${patchedPackages}/package.json"; | |
20 | yarnLock = "${patchedPackages}/yarn.lock"; | |
21 | yarnNix = ./yarn-packages.nix; | |
22 | pkgConfig = { | |
23 | all = { | |
24 | buildInputs = [ git which ]; | |
25 | }; | |
26 | }; | |
27 | }; | |
28 | app = composerEnv.buildPackage ( | |
29 | import ./php-packages.nix { inherit composerEnv fetchurl; } // | |
30 | { | |
31 | name = "grocy"; | |
32 | inherit src; | |
33 | noDev = true; | |
34 | buildInputs = [ yarnModules ]; | |
35 | postInstall = '' | |
36 | rm -rf data | |
37 | ln -sf ${varDir}/data data | |
38 | ln -sf ${yarnModules}/node_modules public | |
39 | ''; | |
40 | passthru = { | |
41 | inherit varDir yarnModules; | |
42 | webRoot = "${app}/public"; | |
43 | }; | |
44 | } | |
45 | ); | |
46 | in | |
47 | app |