nixpkgs/pkgs/applications/graphics/monado/default.nix

123 lines
2.4 KiB
Nix
Raw Normal View History

{ lib
, stdenv
2021-01-05 17:10:48 +00:00
, fetchFromGitLab
, writeText
2021-01-05 17:10:48 +00:00
, cmake
, doxygen
, glslang
2021-01-05 17:10:48 +00:00
, pkg-config
, python3
, SDL2
, dbus
, eigen
, ffmpeg
, gst-plugins-base
, gstreamer
2021-01-05 17:10:48 +00:00
, hidapi
, libGL
, libXau
, libXdmcp
, libXrandr
, libffi
, libjpeg
2021-01-05 17:10:48 +00:00
# , librealsense
, libsurvive
, libusb1
, libuv
2021-01-05 17:10:48 +00:00
, libuvc
, libv4l
, libxcb
, opencv4
, openhmd
, udev
, vulkan-headers
, vulkan-loader
, wayland
, wayland-protocols
, zlib
# Set as 'false' to build monado without service support, i.e. allow VR
# applications linking against libopenxr_monado.so to use OpenXR standalone
# instead of via the monado-service program. For more information see:
# https://gitlab.freedesktop.org/monado/monado/-/blob/master/doc/targets.md#xrt_feature_service-disabled
, serviceSupport ? true
2021-01-05 17:10:48 +00:00
}:
stdenv.mkDerivation rec {
pname = "monado";
version = "21.0.0";
2021-01-05 17:10:48 +00:00
src = fetchFromGitLab {
domain = "gitlab.freedesktop.org";
owner = pname;
repo = pname;
rev = "v${version}";
sha256 = "07zxs96i3prjqww1f68496cl2xxqaidx32lpfyy0pn5am4c297zc";
2021-01-05 17:10:48 +00:00
};
nativeBuildInputs = [
cmake
doxygen
glslang
pkg-config
python3
];
cmakeFlags = [
"-DXRT_FEATURE_SERVICE=${if serviceSupport then "ON" else "OFF"}"
];
2021-01-05 17:10:48 +00:00
buildInputs = [
SDL2
dbus
eigen
ffmpeg
gst-plugins-base
gstreamer
2021-01-05 17:10:48 +00:00
hidapi
libGL
libXau
libXdmcp
libXrandr
libjpeg
2021-01-05 17:10:48 +00:00
libffi
# librealsense.dev - see below
libsurvive
libusb1
libuv
2021-01-05 17:10:48 +00:00
libuvc
libv4l
libxcb
opencv4
openhmd
udev
vulkan-headers
vulkan-loader
wayland
wayland-protocols
zlib
];
# realsense is disabled, the build ends with the following error:
#
# CMake Error in src/xrt/drivers/CMakeLists.txt:
# Imported target "realsense2::realsense2" includes non-existent path
# "/nix/store/2v95aps14hj3jy4ryp86vl7yymv10mh0-librealsense-2.41.0/include"
# in its INTERFACE_INCLUDE_DIRECTORIES.
#
# for some reason cmake is trying to use ${librealsense}/include
# instead of ${librealsense.dev}/include as an include directory
# Help openxr-loader find this runtime
setupHook = writeText "setup-hook" ''
export XDG_CONFIG_DIRS=@out@/etc/xdg''${XDG_CONFIG_DIRS:+:''${XDG_CONFIG_DIRS}}
'';
meta = with lib; {
2021-01-05 17:10:48 +00:00
description = "Open source XR runtime";
homepage = "https://monado.freedesktop.org/";
license = licenses.boost;
maintainers = with maintainers; [ expipiplus1 prusnak ];
2021-01-05 17:10:48 +00:00
platforms = platforms.linux;
};
}