ci/eval: add rebuildsByPlatform to the comparison result (#363751)
[NixPkgs.git] / pkgs / by-name / dy / dyff / package.nix
blobcb57f6b2daccbd7b99256a93159a72059793ca65
2   lib,
3   buildGoModule,
4   fetchFromGitHub,
5   installShellFiles,
6 }:
8 buildGoModule rec {
9   pname = "dyff";
10   version = "1.9.0";
12   src = fetchFromGitHub {
13     owner = "homeport";
14     repo = "dyff";
15     rev = "v${version}";
16     sha256 = "sha256-y5gep3v+totupFbsAuGhySUbcESmQeGHWteQFFXj2Kw=";
17   };
19   vendorHash = "sha256-cRPAjFVvjCgT+m8ceAQJt5ZE8ax7jefzdVWPGM45LpY=";
21   subPackages = [
22     "cmd/dyff"
23     "pkg/dyff"
24     "internal/cmd"
25   ];
27   nativeBuildInputs = [ installShellFiles ];
29   # test fails with the injected version
30   postPatch = ''
31     substituteInPlace internal/cmd/cmds_test.go \
32       --replace "version (development)" ${version}
33   '';
35   ldflags = [
36     "-s"
37     "-w"
38     "-X=github.com/homeport/dyff/internal/cmd.version=${version}"
39   ];
41   postInstall = ''
42     installShellCompletion --cmd dyff \
43       --bash <($out/bin/dyff completion bash) \
44       --fish <($out/bin/dyff completion fish) \
45       --zsh <($out/bin/dyff completion zsh)
46   '';
48   meta = with lib; {
49     description = "Diff tool for YAML files, and sometimes JSON";
50     mainProgram = "dyff";
51     longDescription = ''
52       dyff is inspired by the way the old BOSH v1 deployment output reported
53       changes from one version to another by only showing the parts of a YAML
54       file that change.
56       Each difference is referenced by its location in the YAML document by
57       using either the Spruce or go-patch path syntax.
58     '';
59     homepage = "https://github.com/homeport/dyff";
60     license = licenses.mit;
61     maintainers = with maintainers; [
62       edlimerkaj
63       jceb
64     ];
65   };