diff --git a/pkgs/tools/misc/jfrog-cli/default.nix b/pkgs/tools/misc/jfrog-cli/default.nix index c9f38bedc066..b322df701c8f 100644 --- a/pkgs/tools/misc/jfrog-cli/default.nix +++ b/pkgs/tools/misc/jfrog-cli/default.nix @@ -1,21 +1,45 @@ { lib , buildGoModule , fetchFromGitHub +, nodejs , nix-update-script }: buildGoModule rec { pname = "jfrog-cli"; - version = "2.52.10"; + version = "2.56.0"; src = fetchFromGitHub { owner = "jfrog"; repo = "jfrog-cli"; rev = "refs/tags/v${version}"; - hash = "sha256-sqKlYHOpjIxNff1QK540Xxqr7w+WZ+pZXgfAKjRbMuM="; + hash = "sha256-a7zCPyKV9kZ34XxVBYotcMvXUVrieunFpKGBK1Jhvo4="; }; - vendorHash = "sha256-Cm6Wu2U2i6WZfps1WLAjYuVZZ1y7J4WXFLmX2bkevd4="; + vendorHash = "sha256-q0PXbLTS5Po3xTK+CkU7BtZ6tk1PfH3zVAVK1IbmitY="; + + # Upgrade the Go version during the vendoring FOD build because it fails otherwise. + overrideModAttrs = _: { + preBuild = '' + substituteInPlace go.mod --replace-fail 'go 1.20' 'go 1.21' + ''; + postInstall = '' + cp go.mod "$out/go.mod" + ''; + }; + + # Copy the modified go.mod we got from the vendoring process. + preBuild = '' + cp vendor/go.mod go.mod + ''; + + postPatch = '' + # Patch out broken test cleanup. + substituteInPlace artifactory_test.go \ + --replace-fail \ + 'deleteReceivedReleaseBundle(t, "cli-tests", "2")' \ + '// deleteReceivedReleaseBundle(t, "cli-tests", "2")' + ''; postInstall = '' # Name the output the same way as the original build script does @@ -25,6 +49,8 @@ buildGoModule rec { # Some of the tests require a writable $HOME preCheck = "export HOME=$TMPDIR"; + nativeCheckInputs = [ nodejs ]; + passthru.updateScript = nix-update-script { }; meta = with lib; {