at master 57 lines 1.5 kB view raw
1{ 2 lib, 3 buildGo125Module, 4 fetchFromGitHub, 5 nix-update-script, 6 versionCheckHook, 7 dbus, 8}: 9 10buildGo125Module (finalAttrs: { 11 pname = "upcloud-cli"; 12 version = "3.23.0"; 13 14 src = fetchFromGitHub { 15 owner = "UpCloudLtd"; 16 repo = "upcloud-cli"; 17 tag = "v${finalAttrs.version}"; 18 hash = "sha256-oATz3ZvOeFT0wJ7R69cleGdpD9ICWQVOINKelJguBR4="; 19 }; 20 21 vendorHash = "sha256-Q/FokLGjc65ptbouRT5L0bxPIzzctTo87oFu9qd/NHs="; 22 23 ldflags = [ 24 "-s -w -X github.com/UpCloudLtd/upcloud-cli/v3/internal/config.Version=${finalAttrs.version}" 25 ]; 26 27 subPackages = [ 28 "cmd/upctl" 29 "internal/*" 30 ]; 31 32 nativeCheckInputs = [ dbus ]; 33 34 checkFlags = 35 let 36 skippedTests = [ 37 "TestConfig_LoadKeyring" # Not equal: expected: "unittest_password" actual : "" 38 ]; 39 in 40 [ "-skip=^${builtins.concatStringsSep "$|^" skippedTests}$" ]; 41 42 nativeInstallCheckInputs = [ versionCheckHook ]; 43 versionCheckProgram = "${placeholder "out"}/bin/upctl"; 44 versionCheckProgramArg = "version"; 45 doInstallCheck = true; 46 47 passthru.updateScript = nix-update-script { }; 48 49 meta = { 50 changelog = "https://github.com/UpCloudLtd/upcloud-cli/blob/refs/tags/v${finalAttrs.version}/CHANGELOG.md"; 51 description = "Command-line tool for managing UpCloud services"; 52 homepage = "https://github.com/UpCloudLtd/upcloud-cli"; 53 license = lib.licenses.mit; 54 maintainers = with lib.maintainers; [ lu1a ]; 55 mainProgram = "upctl"; 56 }; 57})