Merge pull request #329823 from ExpidusOS/fix/pkgsllvm/elfutils
[NixPkgs.git] / pkgs / by-name / or / orchard / package.nix
blob9b16927a71f479ad2d4842ab0f702aabbba129d7
1 { lib, fetchFromGitHub, buildGoModule, installShellFiles }:
3 buildGoModule rec {
4   pname = "orchard";
5   version = "0.22.0";
7   src = fetchFromGitHub {
8     owner = "cirruslabs";
9     repo = pname;
10     rev = version;
11     hash = "sha256-SJZJN0IDR17hRd0NBER3CCys87vCTHOVz8+PNwFNt1M=";
12     # populate values that require us to use git. By doing this in postFetch we
13     # can delete .git afterwards and maintain better reproducibility of the src.
14     leaveDotGit = true;
15     postFetch = ''
16       cd "$out"
17       git rev-parse HEAD > $out/COMMIT
18       find "$out" -name .git -print0 | xargs -0 rm -rf
19     '';
20   };
22   vendorHash = "sha256-Irpqg+orQsDv9iof+tGC/Out6hIOmlf3sdHGY80zxdE=";
24   nativeBuildInputs = [ installShellFiles ];
26   ldflags = [
27     "-w"
28     "-s"
29     "-X github.com/cirruslabs/orchard/internal/version.Version=${version}"
30   ];
32   # ldflags based on metadata from git and source
33   preBuild = ''
34     ldflags+=" -X github.com/cirruslabs/orchard/internal/version.Commit=$(cat COMMIT)"
35   '';
37   subPackages = [ "cmd/orchard" ];
39   postInstall = ''
40     export HOME="$(mktemp -d)"
41     installShellCompletion --cmd orchard \
42       --bash <($out/bin/orchard completion bash) \
43       --zsh <($out/bin/orchard completion zsh) \
44       --fish <($out/bin/orchard completion fish)
45   '';
47   meta = with lib; {
48     mainProgram = "orchard";
49     description =
50       "Orchestrator for running Tart Virtual Machines on a cluster of Apple Silicon devices";
51     homepage = "https://github.com/cirruslabs/orchard";
52     license = licenses.fairsource09;
53     maintainers = with maintainers; [ techknowlogick ];
54   };