From 2d7bf4c4dbaeb7f020a312b768183a836b4d60ca Mon Sep 17 00:00:00 2001 From: 06kellyjac Date: Wed, 6 Apr 2022 20:31:33 +0100 Subject: [PATCH] kube3d: 5.3.0 -> 5.4.1 Updated github location after the move Fall back on default k3sVersion in the code Added some validation to the k3sVersion that can be overriden Enabled tests Added mainProgram to meta --- .../networking/cluster/kube3d/default.nix | 39 +++++++++++++------ 1 file changed, 28 insertions(+), 11 deletions(-) diff --git a/pkgs/applications/networking/cluster/kube3d/default.nix b/pkgs/applications/networking/cluster/kube3d/default.nix index ebcb3bda7381..355ef154555c 100644 --- a/pkgs/applications/networking/cluster/kube3d/default.nix +++ b/pkgs/applications/networking/cluster/kube3d/default.nix @@ -1,16 +1,28 @@ -{ lib, buildGoModule, fetchFromGitHub, installShellFiles, k3sVersion ? "1.22.2-k3s2" }: +{ lib +, buildGoModule +, fetchFromGitHub +, installShellFiles +, k3sVersion ? null +}: +let + hasVPrefix = ver: (builtins.elemAt (lib.stringToCharacters ver) 0) == "v"; + k3sVersionSet = + if k3sVersion != null then + if hasVPrefix k3sVersion then throw "k3sVersion should not have a v prefix" else true + else + false; +in buildGoModule rec { pname = "kube3d"; - version = "5.3.0"; + version = "5.4.1"; src = fetchFromGitHub { - owner = "rancher"; + owner = "k3d-io"; repo = "k3d"; rev = "v${version}"; - sha256 = "sha256-ZuUjk1wb7iRZX+OpjLJHp1T0WYNjCHU6DpYF4V/heVc="; + sha256 = "sha256-DVQrD4JMei9yRFzuiVb6AcydEupNSlpgYLfGWWRiaao="; }; - vendorSha256 = null; nativeBuildInputs = [ installShellFiles ]; @@ -18,10 +30,14 @@ buildGoModule rec { excludedPackages = [ "tools" "docgen" ]; ldflags = - let t = "github.com/rancher/k3d/v5/version"; in - [ "-s" "-w" "-X ${t}.Version=v${version}" "-X ${t}.K3sVersion=v${k3sVersion}" ]; + let t = "github.com/k3d-io/k3d/v5/version"; in + [ "-s" "-w" "-X ${t}.Version=v${version}" ] ++ lib.optionals k3sVersionSet [ "-X ${t}.K3sVersion=v${k3sVersion}" ]; - doCheck = false; + preCheck = '' + # skip test that uses networking + substituteInPlace version/version_test.go \ + --replace "TestGetK3sVersion" "SkipGetK3sVersion" + ''; postInstall = '' installShellCompletion --cmd k3d \ @@ -34,13 +50,13 @@ buildGoModule rec { installCheckPhase = '' runHook preInstallCheck $out/bin/k3d --help - $out/bin/k3d --version | grep -e "k3d version v${version}" -e "k3s version v${k3sVersion}" + $out/bin/k3d --version | grep -e "k3d version v${version}" ${lib.optionalString k3sVersionSet "-e \"k3s version v${k3sVersion}\""} runHook postInstallCheck ''; meta = with lib; { - homepage = "https://github.com/rancher/k3d"; - changelog = "https://github.com/rancher/k3d/blob/v${version}/CHANGELOG.md"; + homepage = "https://github.com/k3d-io/k3d/"; + changelog = "https://github.com/k3d-io/k3d/blob/v${version}/CHANGELOG.md"; description = "A helper to run k3s (Lightweight Kubernetes. 5 less than k8s) in a docker container - k3d"; longDescription = '' k3s is the lightweight Kubernetes distribution by Rancher: rancher/k3s @@ -51,5 +67,6 @@ buildGoModule rec { license = licenses.mit; maintainers = with maintainers; [ kuznero jlesquembre ngerstle jk ricochet ]; platforms = platforms.linux ++ platforms.darwin; + mainProgram = "k3d"; }; }