diff --git a/pkgs/by-name/co/copacetic/package.nix b/pkgs/by-name/co/copacetic/package.nix index ea59d9723cac..486c3af66c43 100644 --- a/pkgs/by-name/co/copacetic/package.nix +++ b/pkgs/by-name/co/copacetic/package.nix @@ -2,47 +2,62 @@ lib, stdenv, buildGoModule, + docker, fetchFromGitHub, - nix-update-script, installShellFiles, + nix-update-script, + oras, versionCheckHook, }: + buildGoModule rec { pname = "copacetic"; - version = "0.10.0"; + version = "0.11.1"; src = fetchFromGitHub { owner = "project-copacetic"; repo = "copacetic"; tag = "v${version}"; - hash = "sha256-aLFRhmxJ5Hj2vvdYCwALBeK0avPF/jDWUgQiSw0fFGg="; + hash = "sha256-kgFT+IK6zCGoGK8L/lwXyiUXCWYG7ElziPs0Q1cq+fw="; }; - vendorHash = "sha256-+iS6nom52eofgcj/fZPVs2Eog9Un5ThSX+EBVmHTSlo="; + vendorHash = "sha256-qe2VJHXSYtZJlMd5R2J1NXWcXb8+cbTiDBQeN20fbEE="; nativeBuildInputs = [ installShellFiles ]; + nativeCheckInputs = [ + docker + oras + ]; + + nativeInstallCheckInputs = [ versionCheckHook ]; + env.CGO_ENABLED = "0"; + ldflags = [ "-s" "-w" - "-X github.com/project-copacetic/copacetic/pkg/version.GitVersion=${version}" - "-X main.version=${version}" + "-X=github.com/project-copacetic/copacetic/pkg/version.GitVersion=${version}" + "-X=main.version=${version}" ]; checkFlags = let - # Skip tests that require network access + # Skip tests that require network access and container services skippedTests = [ "TestNewClient/custom_buildkit_addr" "TestPatch" "TestPlugins/docker.io" + "TestPatchPartialArchitectures" + "TestPushToRegistry" + "TestMultiPlatformPluginPatch" + "TestPodmanLoader_Load_Success" ]; in [ "-skip=^${builtins.concatStringsSep "$|^" skippedTests}$" ]; - nativeInstallCheckInputs = [ versionCheckHook ]; doInstallCheck = true; + versionCheckProgram = "${placeholder "out"}/bin/${meta.mainProgram}"; postInstall = '' @@ -58,8 +73,9 @@ buildGoModule rec { passthru.updateScript = nix-update-script { }; meta = { - homepage = "https://project-copacetic.github.io/copacetic/"; description = "Tool for directly patching vulnerabilities in container images"; + homepage = "https://project-copacetic.github.io/copacetic/"; + changelog = "https://github.com/project-copacetic/copacetic/releases/tag/${src.tag}"; license = lib.licenses.asl20; mainProgram = "copa"; maintainers = with lib.maintainers; [ ];