diff --git a/pkgs/tools/virtualization/xen-guest-agent/default.nix b/pkgs/tools/virtualization/xen-guest-agent/default.nix new file mode 100644 index 000000000000..52924b2b624f --- /dev/null +++ b/pkgs/tools/virtualization/xen-guest-agent/default.nix @@ -0,0 +1,40 @@ +{ + lib, + fetchFromGitLab, + rustPlatform, + llvmPackages, + xen-light, +}: +rustPlatform.buildRustPackage rec { + pname = "xen-guest-agent"; + version = "0.3.0"; + + src = fetchFromGitLab { + owner = "xen-project"; + repo = pname; + rev = version; + hash = "sha256-Csio24ofj+p0j/R0av/28P/KCNXhmcF+r8xGJEfoHjQ="; + }; + + cargoHash = "sha256-XWDDzSu88zCIwMuvkFjCb98DzXHvW2IP9u3EbpAMIgw="; + + env = { + LIBCLANG_PATH = "${llvmPackages.libclang.lib}/lib"; + BINDGEN_EXTRA_CLANG_ARGS = "-isystem ${xen-light}/include"; + RUSTFLAGS = "-L ${xen-light}/lib"; + }; + + nativeBuildInputs = [llvmPackages.clang xen-light]; + + postFixup = '' + patchelf $out/bin/xen-guest-agent --add-rpath ${xen-light}/lib + ''; + + meta = with lib; { + description = "Xen agent running in Linux/BSDs (POSIX) VMs"; + homepage = "https://gitlab.com/xen-project/xen-guest-agent"; + license = licenses.agpl3; + platforms = platforms.unix; + maintainers = with maintainers; [matdibu]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 31dbc744a8bf..d1156abc3640 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -15052,6 +15052,8 @@ with pkgs; xe-guest-utilities = callPackage ../tools/virtualization/xe-guest-utilities { }; + xen-guest-agent = callPackage ../tools/virtualization/xen-guest-agent { }; + xflux = callPackage ../tools/misc/xflux { }; xflux-gui = python3Packages.callPackage ../tools/misc/xflux/gui.nix { };