]>
Commit | Line | Data |
---|---|---|
1a64deeb | 1 | { varDir ? "/var/lib/grocy", stdenv, callPackage, composerEnv, fetchurl, src, runCommand, git, which, jq, yarn2nix-moretea }: |
c7627e14 IB |
2 | let |
3 | version = "2.6.1-1"; | |
1a64deeb IB |
4 | patchedPackages = stdenv.mkDerivation rec { |
5 | name = "grocy"; | |
6 | inherit src; | |
c7627e14 IB |
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 | ''; | |
1a64deeb | 14 | }; |
71b4786d | 15 | yarnModules = yarn2nix-moretea.mkYarnModules rec { |
c7627e14 IB |
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 = { | |
71b4786d | 24 | buildInputs = [ git which ]; |
c7627e14 IB |
25 | }; |
26 | }; | |
27 | }; | |
28 | app = composerEnv.buildPackage ( | |
29 | import ./php-packages.nix { inherit composerEnv fetchurl; } // | |
c7627e14 | 30 | { |
1a64deeb IB |
31 | name = "grocy"; |
32 | inherit src; | |
c7627e14 IB |
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 |