All the vhost-device programs are in a single repository and Cargo workspace, but they do separate release tags for each one. From this, I'm inferring that it makes the most sense to package them separately.
49 lines
1.1 KiB
Nix
49 lines
1.1 KiB
Nix
{
|
|
lib,
|
|
rustPlatform,
|
|
fetchFromGitHub,
|
|
pkg-config,
|
|
alsa-lib,
|
|
pipewire,
|
|
}:
|
|
|
|
rustPlatform.buildRustPackage (finalAttrs: {
|
|
pname = "vhost-device-sound";
|
|
version = "0.2.0";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "rust-vmm";
|
|
repo = "vhost-device";
|
|
tag = "vhost-device-sound-v${finalAttrs.version}";
|
|
hash = "sha256-MJRjnJewT1kyy37QzjJ0OToEwdZMZkKxtbyGees/vYU=";
|
|
};
|
|
|
|
cargoHash = "sha256-PXJZouhPeylpqX/FLY7pmX+eV+IanRqHSwaJriXFhw8=";
|
|
|
|
nativeBuildInputs = [
|
|
pkg-config
|
|
rustPlatform.bindgenHook
|
|
];
|
|
buildInputs = [
|
|
alsa-lib
|
|
pipewire
|
|
];
|
|
|
|
cargoBuildFlags = "-p vhost-device-sound";
|
|
cargoTestFlags = "-p vhost-device-sound";
|
|
|
|
# Runs dbus-daemon, which tries to load config from /etc.
|
|
doCheck = false;
|
|
|
|
meta = {
|
|
homepage = "https://github.com/rust-vmm/vhost-device/tree/main/vhost-device-sound";
|
|
description = "virtio-sound device using the vhost-user protocol";
|
|
license = [
|
|
lib.licenses.asl20
|
|
lib.licenses.bsd3
|
|
];
|
|
maintainers = [ lib.maintainers.qyliss ];
|
|
platforms = lib.platforms.unix;
|
|
};
|
|
})
|