From 31a534effb42607e98802bbec82e91480fea5af4 Mon Sep 17 00:00:00 2001 From: techknowlogick Date: Fri, 15 Sep 2023 00:40:27 -0400 Subject: [PATCH] orchard: init at 0.12.0 --- pkgs/by-name/or/orchard/package.nix | 55 +++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 pkgs/by-name/or/orchard/package.nix diff --git a/pkgs/by-name/or/orchard/package.nix b/pkgs/by-name/or/orchard/package.nix new file mode 100644 index 000000000000..07e48c586701 --- /dev/null +++ b/pkgs/by-name/or/orchard/package.nix @@ -0,0 +1,55 @@ +{ lib, fetchFromGitHub, buildGoModule, installShellFiles }: + +buildGoModule rec { + pname = "orchard"; + version = "0.12.0"; + + src = fetchFromGitHub { + owner = "cirruslabs"; + repo = pname; + rev = version; + hash = "sha256-+QNYlZ3/GiDtCySZPOlrDy03lkdGGvbFCWidQhbZJYQ="; + # populate values that require us to use git. By doing this in postFetch we + # can delete .git afterwards and maintain better reproducibility of the src. + leaveDotGit = true; + postFetch = '' + cd "$out" + git rev-parse HEAD > $out/COMMIT + find "$out" -name .git -print0 | xargs -0 rm -rf + ''; + }; + + vendorHash = "sha256-BrzS+QtpGUHcYNNmSI6FlBtcYwNFri7R6nlVvFihdb4="; + + nativeBuildInputs = [ installShellFiles ]; + + ldflags = [ + "-w" + "-s" + "-X github.com/cirruslabs/orchard/internal/version.Version=${version}" + ]; + + # ldflags based on metadata from git and source + preBuild = '' + ldflags+=" -X github.com/cirruslabs/orchard/internal/version.Commit=$(cat COMMIT)" + ''; + + subPackages = [ "cmd/orchard" ]; + + postInstall = '' + export HOME="$(mktemp -d)" + installShellCompletion --cmd orchard \ + --bash <($out/bin/orchard completion bash) \ + --zsh <($out/bin/orchard completion zsh) \ + --fish <($out/bin/orchard completion fish) + ''; + + meta = with lib; { + mainProgram = "orchard"; + description = + "Orchestrator for running Tart Virtual Machines on a cluster of Apple Silicon devices"; + homepage = "https://github.com/cirruslabs/orchard"; + license = licenses.fairsource09; + maintainers = with maintainers; [ techknowlogick ]; + }; +}