at master 58 lines 1.2 kB view raw
1{ 2 lib, 3 stdenvNoCC, 4 fetchFromGitHub, 5 nodejs, 6 pnpm_10, 7 nix-update-script, 8}: 9 10stdenvNoCC.mkDerivation (finalAttrs: { 11 pname = "opencloud-web"; 12 version = "4.0.0"; 13 14 src = fetchFromGitHub { 15 owner = "opencloud-eu"; 16 repo = "web"; 17 tag = "v${finalAttrs.version}"; 18 hash = "sha256-IMFbDPVn32offVIHHxQvHjauQLGYnFf/s1mAo6OF7Mk="; 19 }; 20 21 pnpmDeps = pnpm_10.fetchDeps { 22 inherit (finalAttrs) pname version src; 23 fetcherVersion = 1; 24 hash = "sha256-CHImAISDPhjfhB+Qj3fuo6jaOyi+wBVwuLm8ODzRU4M="; 25 }; 26 27 nativeBuildInputs = [ 28 nodejs 29 pnpm_10.configHook 30 ]; 31 32 buildPhase = '' 33 runHook preBuild 34 pnpm build 35 runHook postBuild 36 ''; 37 38 installPhase = '' 39 runHook preInstall 40 mkdir $out 41 cp -r dist/* $out 42 runHook postInstall 43 ''; 44 45 passthru.updateScript = nix-update-script { }; 46 47 meta = { 48 description = "Web UI for OpenCloud built with Vue.js and TypeScript"; 49 homepage = "https://github.com/opencloud-eu/web"; 50 changelog = "https://github.com/opencloud-eu/web/blob/${finalAttrs.src.tag}/CHANGELOG.md"; 51 license = lib.licenses.agpl3Only; 52 maintainers = with lib.maintainers; [ 53 christoph-heiss 54 k900 55 ]; 56 platforms = lib.platforms.all; 57 }; 58})