nixpkgs/pkgs/by-name/ze/zenoh/package.nix
2025-07-26 11:39:35 +02:00

56 lines
1.5 KiB
Nix

{
lib,
rustPlatform,
fetchFromGitHub,
nixosTests,
testers,
zenoh,
}:
rustPlatform.buildRustPackage rec {
pname = "zenoh";
version = "1.4.0"; # nixpkgs-update: no auto update
src = fetchFromGitHub {
owner = "eclipse-zenoh";
repo = "zenoh";
rev = version;
hash = "sha256-XibcNrT9R8gdOnf4BtOi5Jqu+4XjeWngA3i/MXnkfn8=";
};
cargoHash = "sha256-z0hSjcmVOefSiPgk6ige4wsR+LikNIjwi0On1/hyi78=";
cargoBuildFlags = [
"--workspace"
# exclude examples
"--exclude"
"examples"
"--exclude"
"zenoh-backend-example"
"--exclude"
"zenoh-plugin-example"
"--exclude"
"zenoh-ext-examples"
];
doCheck = false;
passthru.tests = {
version = testers.testVersion {
package = zenoh;
version = "v" + version;
};
zenohd = nixosTests.zenohd;
};
meta = {
description = "Communication protocol that combines pub/sub with key value storage and computation";
longDescription = "Zenoh unifies data in motion, data in-use, data at rest and computations. It carefully blends traditional pub/sub with geo-distributed storages, queries and computations, while retaining a level of time and space efficiency that is well beyond any of the mainstream stacks";
homepage = "https://zenoh.io";
changelog = "https://github.com/eclipse-zenoh/zenoh/releases/tag/${src.rev}";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ ck3d ];
mainProgram = "zenohd";
platforms = lib.platforms.linux;
};
}