go-mockery: 2.53.3 -> 3.4.0

Diff: https://github.com/vektra/mockery/compare/refs/tags/v2.53.3...refs/tags/v3.4.0

Move to finalAttrs func
Replace version check test with version check hook
Added release note
This commit is contained in:
06kellyjac
2025-07-14 18:32:51 +03:00
committed by K900
parent e0bcc2caf6
commit 01ba6830de
2 changed files with 45 additions and 51 deletions
+2
View File
@@ -43,6 +43,8 @@
of the [4.3 release](https://github.com/netbox-community/netbox/releases/tag/v4.2.0),
make the required changes to your database, if needed, then upgrade by setting `services.netbox.package = pkgs.netbox_4_3;` in your configuration.
- `go-mockery` has been updated to v3. For migration instructions see the [upstream documentation](https://vektra.github.io/mockery/latest/v3/).
## Other Notable Changes {#sec-nixpkgs-release-25.11-notable-changes}
<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
+43 -51
View File
@@ -1,80 +1,72 @@
{
lib,
buildGoModule, # sync with go below, update to latest release
stdenv,
buildGoModule,
fetchFromGitHub,
# passthru test
go-mockery,
runCommand,
go,
versionCheckHook,
go-task,
gotestsum,
}:
buildGoModule rec {
buildGoModule (finalAttrs: {
pname = "go-mockery";
version = "2.53.3";
version = "3.4.0";
src = fetchFromGitHub {
owner = "vektra";
repo = "mockery";
rev = "v${version}";
sha256 = "sha256-X0cHpv4o6pzgjg7+ULCuFkspeff95WFtJbVHqy4LxAg=";
tag = "v${finalAttrs.version}";
hash = "sha256-qcK0FXtAL7kJ+dotthmnMcGa9wu97UsDKBoKy5lD2W4=";
};
proxyVendor = true;
vendorHash = "sha256-Xy2w61ATNDOZKtdekeA9NSdyJq2/eiEZ9iJ3PDSUm9Q=";
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 finalAttrs.version}/internal/logging.SemVer=v${finalAttrs.version}"
];
env.CGO_ENABLED = false;
proxyVendor = true;
vendorHash = "sha256-AQY4x2bLqMwHIjoKHzEm1hebR29gRs3LJN8i00Uup5o=";
subPackages = [ "." ];
preCheck = ''
# check all paths
unset subPackages
nativeCheckInputs = [
versionCheckHook
go-task
gotestsum
];
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}
prePatch = ''
# remove test.ci's dependency on lint since we don't need it and
# it tries to use remote golangci-lint
substituteInPlace Taskfile.yml \
--replace-fail "deps: [lint]" "" \
--replace-fail "go run gotest.tools/gotestsum" "gotestsum"
# patch scripts used in e2e testing
patchShebangs e2e
'';
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
checkPhase = ''
runHook preCheck
export HOME=$TMPDIR
${
# TestRemoteTemplates/schema_validation_OK fails only on x86_64-darwin
(lib.optionalString (
stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86
) "rm -rf e2e/test_remote_templates/")
}
# run unit tests and e2e tests plus pre-gen necessary mocks
task test.ci
cat <<EOF > foo.go
package main
runHook postCheck
'';
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
'';
};
doInstallCheck = true;
versionCheckProgram = "${placeholder "out"}/bin/mockery";
versionCheckProgramArg = "version";
meta = {
homepage = "https://github.com/vektra/mockery";
@@ -86,4 +78,4 @@ buildGoModule rec {
mainProgram = "mockery";
license = lib.licenses.bsd3;
};
}
})