diff options
Diffstat (limited to 'pkgs/servers/mobilizon/frontend.nix')
-rw-r--r-- | pkgs/servers/mobilizon/frontend.nix | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/pkgs/servers/mobilizon/frontend.nix b/pkgs/servers/mobilizon/frontend.nix new file mode 100644 index 0000000000000..adfdbf3950561 --- /dev/null +++ b/pkgs/servers/mobilizon/frontend.nix @@ -0,0 +1,42 @@ +{ lib, callPackage, mkYarnPackage, fetchYarnDeps, imagemagick }: + +let + common = callPackage ./common.nix { }; +in +mkYarnPackage rec { + src = "${common.src}/js"; + + offlineCache = fetchYarnDeps { + yarnLock = src + "/yarn.lock"; + sha256 = "sha256-yvId4NG1RABQd27RbSYki6AOFWWr5C97QPWEcnK77OE="; + }; + + packageJSON = ./package.json; + + # Somehow $out/deps/mobilizon/node_modules ends up only containing nothing + # more than a .bin directory otherwise. + yarnPostBuild = '' + rm -rf $out/deps/mobilizon/node_modules + ln -s $out/node_modules $out/deps/mobilizon/node_modules + ''; + + buildPhase = '' + runHook preBuild + + yarn run build + + runHook postBuild + ''; + + doCheck = true; + checkPhase = "yarn run test"; + + nativeBuildInputs = [ imagemagick ]; + + meta = with lib; { + description = "Frontend for the Mobilizon server"; + homepage = "https://joinmobilizon.org/"; + license = licenses.agpl3Plus; + maintainers = with maintainers; [ minijackson erictapen ]; + }; +} |