47 lines
1 KiB
Nix
47 lines
1 KiB
Nix
{ lib, nodePackages, nodejs-14_x, stdenv, src, version, ... }:
|
|
|
|
let
|
|
nodeDependencies = nodePackages.photoprism-frontend.override {
|
|
inherit version;
|
|
name = "photoprism-frontend-dependencies";
|
|
|
|
# Workaround for lack of sourceRoot option in buildNodePackage.
|
|
src = "${src}/frontend";
|
|
|
|
meta.broken = false;
|
|
};
|
|
in
|
|
stdenv.mkDerivation {
|
|
inherit src version;
|
|
pname = "photoprism-frontend";
|
|
|
|
buildInputs = [ nodejs-14_x ];
|
|
|
|
buildPhase = ''
|
|
runHook preBuild
|
|
|
|
pushd frontend
|
|
ln -s ${nodeDependencies}/lib/node_modules/photoprism/node_modules ./node_modules
|
|
export PATH="${nodeDependencies}/lib/node_modules/photoprism/node_modules/.bin:$PATH"
|
|
NODE_ENV=production npm run build
|
|
popd
|
|
|
|
runHook postBuild
|
|
'';
|
|
|
|
installPhase = ''
|
|
runHook preInstall
|
|
|
|
mkdir $out
|
|
cp -r assets $out/
|
|
|
|
runHook postInstall
|
|
'';
|
|
|
|
meta = with lib; {
|
|
homepage = "https://photoprism.app";
|
|
description = "Photoprism's frontend";
|
|
license = licenses.agpl3Only;
|
|
maintainers = with maintainers; [ benesim ];
|
|
};
|
|
}
|