From c1459b8d779c5c93031c05fb1c766043c2d36062 Mon Sep 17 00:00:00 2001 From: FKouhai Date: Mon, 5 May 2025 18:47:21 +0200 Subject: [PATCH 1/2] go-mockery: 2.53.3 -> 3.2.5 --- pkgs/by-name/go/go-mockery/package.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/go/go-mockery/package.nix b/pkgs/by-name/go/go-mockery/package.nix index 99cd99afeaaa..8946d7fe1bfc 100644 --- a/pkgs/by-name/go/go-mockery/package.nix +++ b/pkgs/by-name/go/go-mockery/package.nix @@ -11,13 +11,13 @@ buildGoModule rec { pname = "go-mockery"; - version = "2.53.3"; + version = "3.2.5"; src = fetchFromGitHub { owner = "vektra"; repo = "mockery"; - rev = "v${version}"; - sha256 = "sha256-X0cHpv4o6pzgjg7+ULCuFkspeff95WFtJbVHqy4LxAg="; + tag = "v${version}"; + hash = "sha256-QtfiW9yZvqCjKb3wH+QqfD98d7FLDVBQxj2Y/GC6Yhk="; }; ldflags = [ @@ -30,7 +30,7 @@ buildGoModule rec { env.CGO_ENABLED = false; proxyVendor = true; - vendorHash = "sha256-AQY4x2bLqMwHIjoKHzEm1hebR29gRs3LJN8i00Uup5o="; + vendorHash = "sha256-ac9wqHmkmpb1tIkQQ7x8+X+wQ217vsNm4IIidzNlne0="; subPackages = [ "." ]; From aebc5607942ee5778f2f2908c7f92774786797bb Mon Sep 17 00:00:00 2001 From: FKouhai Date: Mon, 5 May 2025 20:08:09 +0200 Subject: [PATCH 2/2] go-mockery: replace tests by versionCheckHook --- pkgs/by-name/go/go-mockery/package.nix | 57 ++++---------------------- 1 file changed, 8 insertions(+), 49 deletions(-) diff --git a/pkgs/by-name/go/go-mockery/package.nix b/pkgs/by-name/go/go-mockery/package.nix index 8946d7fe1bfc..8910fe5c35f6 100644 --- a/pkgs/by-name/go/go-mockery/package.nix +++ b/pkgs/by-name/go/go-mockery/package.nix @@ -2,11 +2,7 @@ lib, buildGoModule, # sync with go below, update to latest release fetchFromGitHub, - - # passthru test - go-mockery, - runCommand, - go, + versionCheckHook, }: buildGoModule rec { @@ -23,59 +19,22 @@ buildGoModule rec { ldflags = [ "-s" "-w" - "-X" - "github.com/vektra/mockery/v${lib.versions.major version}/pkg/logging.SemVer=v${version}" + "-X github.com/vektra/mockery/v${lib.versions.major version}/internal/logging.SemVer=v${version}" ]; env.CGO_ENABLED = false; proxyVendor = true; vendorHash = "sha256-ac9wqHmkmpb1tIkQQ7x8+X+wQ217vsNm4IIidzNlne0="; + doInstallCheck = true; + nativeInstallCheckInputs = [ + versionCheckHook + ]; + versionCheckProgram = "${placeholder "out"}/bin/mockery"; + versionCheckProgramArg = "version"; subPackages = [ "." ]; - preCheck = '' - # check all paths - unset subPackages - - substituteInPlace ./pkg/generator_test.go --replace-fail 0.0.0-dev ${version} - substituteInPlace ./pkg/logging/logging_test.go --replace-fail v0.0 v${lib.versions.majorMinor version} - ''; - - passthru.tests = { - generateMock = - runCommand "${pname}-test" - { - nativeBuildInputs = [ go-mockery ]; - buildInputs = [ go ]; - } - '' - if [[ $(${meta.mainProgram} --version) != *"${version}"* ]]; then - echo "Error: program version does not match package version" - exit 1 - fi - - export HOME=$TMPDIR - - cat < foo.go - package main - - type Foo interface { - Bark() string - } - EOF - - ${meta.mainProgram} --name Foo --dir . - - if [[ ! -f "mocks/Foo.go" ]]; then - echo "Error: mocks/Foo.go was not generated by ${pname}" - exit 1 - fi - - touch $out - ''; - }; - meta = { homepage = "https://github.com/vektra/mockery"; description = "Mock code autogenerator for Golang";