fmd-server-nixos/package.nix

74 lines
1.1 KiB
Nix
Raw Normal View History

{
# Build tools.
buildGoModule,
buildNpmPackage,
fetchFromGitLab,
fetchPnpmDeps,
nodejs,
pnpm_10,
pnpmConfigHook,
stdenv,
# Options.
version ? "0.15.0",
}:
let
pname = "fmd-server";
src = fetchFromGitLab {
owner = "fmd-foss";
repo = "fmd-server";
tag = "v${version}";
hash = "sha256-EzhXrB15lRtDnFicdH7fjpcm1BYoAb1SBeylGSub69s=";
};
frontend = let
pname = "fmd-server-frontend";
in stdenv.mkDerivation {
inherit pname version src;
pnpmRoot = "web";
pnpmDeps = fetchPnpmDeps {
inherit pname version src;
pnpm = pnpm_10;
fetcherVersion = 3;
sourceRoot = "${src.name}/web";
hash = "sha256-vKSKPwOkb7TwDUlkl8lUvO6tLKp2NyBQ0BGxThUN2P8=";
};
nativeBuildInputs = [ nodejs pnpm_10 pnpmConfigHook ];
buildPhase = ''
runHook preBuild
cd web
pnpm build
runHook postBuild
'';
installPhase = ''
runHook preInstall
mkdir $out
cp -R dist $out/
runHook postInstall
'';
};
in
buildGoModule {
inherit pname version src;
vendorHash = "sha256-cFIg9mOSQbrYHW4kg4aTeTaF+gy1jNpAlg8qepb81Jc=";
preBuild = ''
cp -R ${frontend}/dist web/
'';
}