1{
2 lib,
3 buildGoModule,
4 fetchFromGitHub,
5 nodejs,
6 nix-update-script,
7}:
8
9buildGoModule rec {
10 pname = "jfrog-cli";
11 version = "2.78.10";
12
13 src = fetchFromGitHub {
14 owner = "jfrog";
15 repo = "jfrog-cli";
16 tag = "v${version}";
17 hash = "sha256-o3H+onnvGFGxUtFRYFHmrEQ5EqQCGP8n/NdqdEHNj84=";
18 };
19
20 proxyVendor = true;
21 vendorHash = "sha256-jzjYFnctUwQUVC59JIsrHTIWCqYiZTurNFLn9zuM+18=";
22
23 checkFlags = "-skip=^TestReleaseBundle";
24
25 postInstall = ''
26 # Name the output the same way as the original build script does
27 mv $out/bin/jfrog-cli $out/bin/jf
28 '';
29
30 # Some of the tests require a writable $HOME
31 preCheck = "export HOME=$TMPDIR";
32
33 nativeCheckInputs = [ nodejs ];
34
35 passthru.updateScript = nix-update-script { };
36
37 meta = {
38 homepage = "https://github.com/jfrog/jfrog-cli";
39 description = "Client for accessing to JFrog's Artifactory and Mission Control through their respective REST APIs";
40 changelog = "https://github.com/jfrog/jfrog-cli/releases/tag/v${version}";
41 license = lib.licenses.asl20;
42 mainProgram = "jf";
43 maintainers = with lib.maintainers; [
44 detegr
45 aidalgol
46 ];
47 };
48}