btrbk: add mainProgram (#356350)
[NixPkgs.git] / pkgs / by-name / do / double-entry-generator / package.nix
blobf57f8b185b9d53ab1efccdcddb82b53acd629ec7
2   lib,
3   buildGoModule,
4   fetchFromGitHub,
5   nix-update-script,
6 }:
7 buildGoModule rec {
8   pname = "double-entry-generator";
9   version = "2.7.1";
10   src = fetchFromGitHub {
11     owner = "deb-sig";
12     repo = "double-entry-generator";
13     hash = "sha256-2Y8Spj1LAVZsUgChDYDCZ63pTH+nqs2ff9xcmC+gr0c=";
14     rev = "v${version}";
15   };
17   vendorHash = "sha256-Xedva9oGteOnv3rP4Wo3sOHIPyuy2TYwkZV2BAuxY4M=";
19   excludedPackages = [ "hack" ];
21   ldflags = [
22     "-s"
23     "-w"
24     "-X=github.com/deb-sig/double-entry-generator/pkg/version.VERSION=${version}"
25     "-X=github.com/deb-sig/double-entry-generator/pkg/version.REPOROOT=github.com/deb-sig/double-entry-generator"
26     "-X=github.com/deb-sig/double-entry-generator/pkg/version.COMMIT=${src.rev}"
27   ];
29   doInstallCheck = true;
30   installCheckPhase = ''
31     runHook preInstallCheck
33     touch build-local
34     ln -s $out/bin ./
35     make SHELL=bash GIT_COMMIT= VERSION= DOCKER_LABELS= -o test-go test
37     runHook postInstallCheck
38   '';
40   passthru.updateScript = nix-update-script { };
42   meta = with lib; {
43     description = "Rule-based double-entry bookkeeping importer (from Alipay/WeChat/Huobi etc. to Beancount/Ledger)";
44     homepage = "https://github.com/deb-sig/double-entry-generator";
45     license = licenses.asl20;
46     maintainers = with maintainers; [ rennsax ];
47     mainProgram = "double-entry-generator";
48   };