nixpkgs/pkgs/by-name/op/opencloud/web.nix

61 lines
1.3 KiB
Nix

{
lib,
stdenvNoCC,
fetchFromGitHub,
nodejs,
pnpm_11,
fetchPnpmDeps,
pnpmConfigHook,
nix-update-script,
}:
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "opencloud-web";
version = "7.1.0";
src = fetchFromGitHub {
owner = "opencloud-eu";
repo = "web";
tag = "v${finalAttrs.version}";
hash = "sha256-awEGCmdauqHkigXqumOYs8woOyY8gIccmzKOyrZ7SwQ=";
};
pnpmDeps = fetchPnpmDeps {
inherit (finalAttrs) pname version src;
pnpm = pnpm_11;
fetcherVersion = 4;
hash = "sha256-oIVbhvFiVu0S7sSs5u14M0A1+Q1WmiAsyoBt8QtojyE=";
};
nativeBuildInputs = [
nodejs
pnpmConfigHook
pnpm_11
];
buildPhase = ''
runHook preBuild
pnpm build
runHook postBuild
'';
installPhase = ''
runHook preInstall
mkdir $out
cp -r dist/* $out
runHook postInstall
'';
passthru.updateScript = nix-update-script { };
meta = {
description = "Web UI for OpenCloud built with Vue.js and TypeScript";
homepage = "https://github.com/opencloud-eu/web";
changelog = "https://github.com/opencloud-eu/web/blob/${finalAttrs.src.tag}/CHANGELOG.md";
license = lib.licenses.agpl3Only;
maintainers = with lib.maintainers; [
christoph-heiss
k900
];
platforms = lib.platforms.all;
};
})