depot/third_party/nixpkgs/pkgs/by-name/ha/habitat/package.nix

73 lines
1.6 KiB
Nix

{
lib,
rustPlatform,
fetchFromGitHub,
pkg-config,
protobuf,
libsodium,
openssl,
xz,
zeromq,
cacert,
}:
rustPlatform.buildRustPackage rec {
pname = "habitat";
version = "1.6.848";
src = fetchFromGitHub {
owner = "habitat-sh";
repo = "habitat";
rev = version;
hash = "sha256-oK9ZzENwpEq6W1qnhSgkr7Rhy7Fxt/BS4U5nxecyPu8=";
};
cargoLock = {
lockFile = ./Cargo.lock;
outputHashes = {
"clap-2.33.1" = "sha256-ixyNr91VNB2ce2cIr0CdPmvKYRlckhKLeaSbqxouIAY=";
"configopt-0.1.0" = "sha256-76MeSoRD796ZzBqX3CoDJnunekVo2XfctpxrpspxmAU=";
"rants-0.6.0" = "sha256-B8uDoiqddCki3j7aC8kilEcmJjvB4ICjZjjTun2UEkY=";
"retry-1.0.0" = "sha256-ZaHnzOCelV4V0+MTIbH3DXxdz8QZVgcMq2YeV0S6X6o=";
"structopt-0.3.15" = "sha256-0vIX7J7VktKytT3ZnOm45qPRMHDkdJg20eU6pZBIH+Q=";
"zmq-0.9.2" = "sha256-bsDCPYLb9hUr6htPQ7rSoasKAqoWBx5FiEY1gOOtdJQ=";
};
};
nativeBuildInputs = [
pkg-config
protobuf
];
buildInputs = [
libsodium
openssl
xz
zeromq
];
cargoBuildFlags = [
"-p"
"hab"
];
cargoTestFlags = cargoBuildFlags;
env = {
OPENSSL_NO_VENDOR = true;
SODIUM_USE_PKG_CONFIG = true;
SSL_CERT_FILE = "${cacert}/etc/ssl/certs/ca-bundle.crt";
};
meta = with lib; {
description = "Application automation framework";
homepage = "https://www.habitat.sh";
changelog = "https://github.com/habitat-sh/habitat/blob/${src.rev}/CHANGELOG.md";
license = licenses.asl20;
maintainers = with maintainers; [
rushmorem
qjoly
];
mainProgram = "hab";
platforms = [ "x86_64-linux" ];
};
}