From 733af62ab3580af9b8ba0ac950ddfda12e9ba111 Mon Sep 17 00:00:00 2001 From: K900 Date: Tue, 20 May 2025 12:53:33 +0300 Subject: [PATCH] opencloud-web: init at 2.4.0 Co-authored-by: Christoph Heiss --- pkgs/by-name/op/opencloud/package.nix | 2 + pkgs/by-name/op/opencloud/web.nix | 57 +++++++++++++++++++++++++++ 2 files changed, 59 insertions(+) create mode 100644 pkgs/by-name/op/opencloud/web.nix diff --git a/pkgs/by-name/op/opencloud/package.nix b/pkgs/by-name/op/opencloud/package.nix index 089e33c8ae7c..3362c1459bf1 100644 --- a/pkgs/by-name/op/opencloud/package.nix +++ b/pkgs/by-name/op/opencloud/package.nix @@ -1,5 +1,6 @@ { lib, + callPackage, buildGoModule, fetchFromGitHub, ncurses, @@ -94,6 +95,7 @@ buildGoModule rec { excludedPackages = [ "tests/*" ]; passthru = { + web = callPackage ./web.nix { }; tests = { inherit (nixosTests) opencloud; }; updateScript = nix-update-script { }; }; diff --git a/pkgs/by-name/op/opencloud/web.nix b/pkgs/by-name/op/opencloud/web.nix new file mode 100644 index 000000000000..665ca2fd8586 --- /dev/null +++ b/pkgs/by-name/op/opencloud/web.nix @@ -0,0 +1,57 @@ +{ + lib, + stdenvNoCC, + fetchFromGitHub, + nodejs, + pnpm_10, + nix-update-script, +}: + +stdenvNoCC.mkDerivation (finalAttrs: { + pname = "opencloud-web"; + version = "2.4.0"; + + src = fetchFromGitHub { + owner = "opencloud-eu"; + repo = "web"; + tag = "v${finalAttrs.version}"; + hash = "sha256-64Dwkx5IEwlaIX1z6Roi6cSWB2ETBldQcNWxgWiUX18="; + }; + + pnpmDeps = pnpm_10.fetchDeps { + inherit (finalAttrs) pname version src; + hash = "sha256-UKgtthdRnI+iR4Qn07nabQOzWZFATjIfrQfwxhKJkx8="; + }; + + nativeBuildInputs = [ + nodejs + pnpm_10.configHook + ]; + + 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.version}/CHANGELOG.md"; + license = lib.licenses.agpl3Only; + maintainers = with lib.maintainers; [ + christoph-heiss + k900 + ]; + platforms = lib.platforms.all; + }; +})