1{
2 lib,
3 buildGoModule,
4 fetchFromGitHub,
5 git,
6 gitUpdater,
7 makeWrapper,
8}:
9
10buildGoModule rec {
11 pname = "openapi-changes";
12 version = "0.0.78";
13
14 src = fetchFromGitHub {
15 owner = "pb33f";
16 repo = "openapi-changes";
17 rev = "v${version}";
18 hash = "sha256-Ct4VyYFqdMmROg9SE/pFNOJozSkQtKpgktJVgvtW/HA=";
19 };
20
21 # this test requires the `.git` of the project to be present
22 patchPhase = ''
23 rm git/read_local_test.go
24 '';
25
26 nativeBuildInputs = [ makeWrapper ];
27
28 postInstall = ''
29 wrapProgram $out/bin/openapi-changes --prefix PATH : ${lib.makeBinPath [ git ]}
30 '';
31
32 vendorHash = "sha256-bcQAXPw4x+oXx3L0vypbqp96nYdcjQo6M3yOwFbIdpg=";
33
34 passthru.updateScript = gitUpdater {
35 rev-prefix = "v";
36 };
37
38 meta = {
39 description = "World's sexiest OpenAPI breaking changes detector";
40 homepage = "https://pb33f.io/openapi-changes/";
41 changelog = "https://github.com/pb33f/openapi-changes/releases/tag/v${version}";
42 license = lib.licenses.gpl3;
43 maintainers = with lib.maintainers; [ mguentner ];
44 };
45}