diff options
author | Jakuzure Nonon <shin@posteo.jp> | 2024-03-31 12:43:22 +0200 |
---|---|---|
committer | Jakuzure Nonon <shin@posteo.jp> | 2024-03-31 12:48:50 +0200 |
commit | eb8ba567a7b1524a3e26aa2d591e68f0573c9fb5 (patch) | |
tree | 852b7dbba3f5f196f931021856c04500a7c19fc4 /pkgs/by-name/gl/glasskube/package.nix | |
parent | 6aa88482a7465dd0fa9169e2778c1a2d6059aa1b (diff) |
glasskube: fix missing bundles from npm
Diffstat (limited to 'pkgs/by-name/gl/glasskube/package.nix')
-rw-r--r-- | pkgs/by-name/gl/glasskube/package.nix | 49 |
1 files changed, 42 insertions, 7 deletions
diff --git a/pkgs/by-name/gl/glasskube/package.nix b/pkgs/by-name/gl/glasskube/package.nix index 07942acbd6ba8..91d2dcceef7cf 100644 --- a/pkgs/by-name/gl/glasskube/package.nix +++ b/pkgs/by-name/gl/glasskube/package.nix @@ -1,31 +1,64 @@ { lib , buildGoModule +, buildNpmPackage , fetchFromGitHub , nix-update-script , installShellFiles }: -buildGoModule rec { - pname = "glasskube"; +let version = "0.1.0"; - - src = fetchFromGitHub { + gitSrc = fetchFromGitHub { owner = "glasskube"; repo = "glasskube"; rev = "refs/tags/v${version}"; hash = "sha256-iJjO4V2sK3e/SpDZ5Lfw7gILgZrI4CGg0wLLVKthGUE="; }; + web-bundle = buildNpmPackage rec { + inherit version; + pname = "glasskube-web-bundle"; + + src = gitSrc; + + npmDepsHash = "sha256-nv2ng8gUOi9K46bDuWt/Y3S6AJovUWaqM+8uGiu/QSs="; + + dontNpmInstall = true; + + installPhase = '' + runHook preInstall + + mkdir $out + mv internal/web/root/static/bundle $out + + runHook postInstall + ''; + }; + +in buildGoModule rec { + inherit version; + pname = "glasskube"; + + src = gitSrc; vendorHash = "sha256-iFWcTzZP0DKJ9hrmfUWR4U/VX2zsR+3uojI+GRI2R3I="; CGO_ENABLED = 0; - ldflags = [ "-s" "-w" "-X github.com/glasskube/glasskube/internal/config.Version=${version}" "-X github.com/glasskube/glasskube/internal/config.Commit=${src.rev}" ]; + ldflags = [ + "-s" + "-w" + "-X github.com/glasskube/glasskube/internal/config.Version=${version}" + "-X github.com/glasskube/glasskube/internal/config.Commit=${src.rev}" + ]; subPackages = [ "cmd/${pname}" "cmd/package-operator" ]; nativeBuildInputs = [ installShellFiles ]; + preBuild = '' + cp -r ${web-bundle}/bundle internal/web/root/static/bundle + ''; + postInstall = '' # Completions installShellCompletion --cmd glasskube \ @@ -37,9 +70,11 @@ buildGoModule rec { passthru.updateScript = nix-update-script { }; meta = with lib; { - description = "The missing Package Manager for Kubernetes featuring a GUI and a CLI"; + description = + "The missing Package Manager for Kubernetes featuring a GUI and a CLI"; homepage = "https://github.com/glasskube/glasskube"; - changelog = "https://github.com/glasskube/glasskube/releases/tag/v${version}"; + changelog = + "https://github.com/glasskube/glasskube/releases/tag/v${version}"; maintainers = with maintainers; [ jakuzure ]; license = licenses.asl20; mainProgram = "glasskube"; |