{ lib , stdenv , fetchFromGitLab , cmake , glm , libGL , openxr-loader , python3 , vulkan-headers , vulkan-loader , xorg , unstableGitUpdater }: stdenv.mkDerivation { pname = "opencomposite"; version = "0-unstable-2024-06-12"; src = fetchFromGitLab { owner = "znixian"; repo = "OpenOVR"; rev = "de1658db7e2535fd36c2e37fa8dd3d756280c86f"; hash = "sha256-xyEiuEy3nt2AbF149Pjz5wi/rkTup2SgByR4DrNOJX0="; }; nativeBuildInputs = [ cmake ]; buildInputs = [ glm libGL openxr-loader python3 vulkan-headers vulkan-loader xorg.libX11 ]; cmakeFlags = [ (lib.cmakeBool "USE_SYSTEM_OPENXR" true) (lib.cmakeBool "USE_SYSTEM_GLM" true) # debug logging macros cause format-security warnings (lib.cmakeFeature "CMAKE_CXX_FLAGS" "-Wno-error=format-security") ]; installPhase = '' runHook preInstall mkdir -p $out/lib/opencomposite cp -r bin/ $out/lib/opencomposite runHook postInstall ''; passthru.updateScript = unstableGitUpdater { hardcodeZeroVersion = true; branch = "openxr"; }; meta = with lib; { description = "Reimplementation of OpenVR, translating calls to OpenXR"; homepage = "https://gitlab.com/znixian/OpenOVR"; license = with licenses; [ gpl3Only ]; maintainers = with maintainers; [ Scrumplex ]; }; }