depot/third_party/nixpkgs/pkgs/development/libraries/gfxstream/default.nix
Default email e7ec2969af Project import generated by Copybara.
GitOrigin-RevId: 9b19f5e77dd906cb52dade0b7bd280339d2a1f3d
2024-01-13 09:15:51 +01:00

34 lines
1.3 KiB
Nix

{ lib, stdenv, fetchFromGitiles, meson, ninja, pkg-config, python3
, aemu, libdrm, libglvnd, vulkan-headers, vulkan-loader, xorg
}:
stdenv.mkDerivation {
pname = "gfxstream";
version = "0.1.2";
src = fetchFromGitiles {
url = "https://android.googlesource.com/platform/hardware/google/gfxstream";
rev = "a29282666c0e2fdbb2c98cfe68a7c0677163ef91";
hash = "sha256-IYXkaHZPEYIE9KW731GN6x6yRS+FYtP1zyHcaSofhIM=";
};
nativeBuildInputs = [ meson ninja pkg-config python3 ];
buildInputs = [ aemu libglvnd vulkan-headers vulkan-loader xorg.libX11 ]
++ lib.optional (lib.meta.availableOn stdenv.hostPlatform libdrm) libdrm;
# dlopens libvulkan.
#
# XXX: Unsure if this is required on Darwin. If it is, it probably
# needs to be done using install_name_tool.
preConfigure = lib.optionalString (!stdenv.isDarwin) ''
mesonFlagsArray=(-Dcpp_link_args="-Wl,--push-state -Wl,--no-as-needed -lvulkan -Wl,--pop-state")
'';
meta = with lib; {
homepage = "https://android.googlesource.com/platform/hardware/google/gfxstream";
description = "Graphics Streaming Kit";
license = licenses.free; # https://android.googlesource.com/platform/hardware/google/gfxstream/+/refs/heads/main/LICENSE
maintainers = with maintainers; [ qyliss ];
platforms = platforms.darwin ++ platforms.linux;
};
}