nixpkgs/pkgs/tools/filesystems/garage/default.nix

50 lines
1.4 KiB
Nix

{ lib, stdenv, rustPlatform, fetchFromGitea, openssl, pkg-config, protobuf
, testers, Security, garage }:
rustPlatform.buildRustPackage rec {
pname = "garage";
version = "0.7.3";
src = fetchFromGitea {
domain = "git.deuxfleurs.fr";
owner = "Deuxfleurs";
repo = "garage";
rev = "v${version}";
sha256 = "sha256-WDhe2L+NalMoIy2rhfmv8KCNDMkcqBC9ezEKKocihJg=";
};
cargoSha256 = "sha256-5m4c8/upBYN8nuysDhGKEnNVJjEGC+yLrraicrAQOfI=";
nativeBuildInputs = [ protobuf pkg-config ];
buildInputs = [
openssl
] ++ lib.optional stdenv.isDarwin Security;
OPENSSL_NO_VENDOR = true;
# See https://git.deuxfleurs.fr/Deuxfleurs/garage/src/tag/v0.7.2/default.nix#L84-L98
# on version changes for checking if changes are required here
buildFeatures = [
"kubernetes-discovery"
];
# To make integration tests pass, we include the optional k2v feature here,
# but not in buildFeatures. See:
# https://garagehq.deuxfleurs.fr/documentation/reference-manual/k2v/
checkFeatures = [
"k2v"
"kubernetes-discovery"
];
passthru = {
tests.version = testers.testVersion { package = garage; };
};
meta = {
description = "S3-compatible object store for small self-hosted geo-distributed deployments";
homepage = "https://garagehq.deuxfleurs.fr";
license = lib.licenses.agpl3Only;
maintainers = with lib.maintainers; [ nickcao _0x4A6F ];
};
}