9b2a771b8f
It used a weird mangled relative path that didn't work before and we have the luxury that absolute paths always work exactly as we want them with Nix.
130 lines
2.6 KiB
Nix
130 lines
2.6 KiB
Nix
{ lib
|
|
, stdenv
|
|
, fetchFromGitLab
|
|
, writeText
|
|
, cmake
|
|
, doxygen
|
|
, glslang
|
|
, pkg-config
|
|
, python3
|
|
, SDL2
|
|
, dbus
|
|
, eigen
|
|
, ffmpeg
|
|
, gst-plugins-base
|
|
, gstreamer
|
|
, hidapi
|
|
, libGL
|
|
, libXau
|
|
, libXdmcp
|
|
, libXrandr
|
|
, libbsd
|
|
, libffi
|
|
, libjpeg
|
|
# , librealsense
|
|
, libsurvive
|
|
, libusb1
|
|
, libuv
|
|
, libuvc
|
|
, libv4l
|
|
, libxcb
|
|
, opencv4
|
|
, openhmd
|
|
, udev
|
|
, vulkan-headers
|
|
, vulkan-loader
|
|
, wayland
|
|
, wayland-protocols
|
|
, wayland-scanner
|
|
, libdrm
|
|
, 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
|
|
}:
|
|
|
|
stdenv.mkDerivation rec {
|
|
pname = "monado";
|
|
version = "unstable-2022-05-28";
|
|
|
|
src = fetchFromGitLab {
|
|
domain = "gitlab.freedesktop.org";
|
|
owner = "monado";
|
|
repo = "monado";
|
|
rev = "011bcbdcff227e25507e5f2d81a83a2bbe478856";
|
|
sha256 = "sha256-8velNKSCZJtKO8ATwXDl1nU8RbxZ8TeyGiUQFOXifuI=";
|
|
};
|
|
|
|
nativeBuildInputs = [
|
|
cmake
|
|
doxygen
|
|
glslang
|
|
pkg-config
|
|
python3
|
|
];
|
|
|
|
cmakeFlags = [
|
|
"-DXRT_FEATURE_SERVICE=${if serviceSupport then "ON" else "OFF"}"
|
|
"-DXRT_OPENXR_INSTALL_ABSOLUTE_RUNTIME_PATH=ON"
|
|
];
|
|
|
|
buildInputs = [
|
|
SDL2
|
|
dbus
|
|
eigen
|
|
ffmpeg
|
|
gst-plugins-base
|
|
gstreamer
|
|
hidapi
|
|
libGL
|
|
libXau
|
|
libXdmcp
|
|
libXrandr
|
|
libbsd
|
|
libjpeg
|
|
libffi
|
|
# librealsense.dev - see below
|
|
libsurvive
|
|
libusb1
|
|
libuv
|
|
libuvc
|
|
libv4l
|
|
libxcb
|
|
opencv4
|
|
openhmd
|
|
udev
|
|
vulkan-headers
|
|
vulkan-loader
|
|
wayland
|
|
wayland-scanner
|
|
wayland-protocols
|
|
libdrm
|
|
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; {
|
|
description = "Open source XR runtime";
|
|
homepage = "https://monado.freedesktop.org/";
|
|
license = licenses.boost;
|
|
maintainers = with maintainers; [ expipiplus1 prusnak ];
|
|
platforms = platforms.linux;
|
|
mainProgram = "monado-cli";
|
|
};
|
|
}
|