mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-12-03 20:33:21 +00:00
e134422465
Another year, another exhausting undermoderated thread full of people arguing against being an inclusive community, tone policing and denying that discriminatory behaviour even exists. This clearly isn't getting any better and I'm embarrassed that I stayed around for this long. I can't continue to lend my name to such a project.
163 lines
3.4 KiB
Nix
163 lines
3.4 KiB
Nix
{ lib
|
|
, stdenv
|
|
, fetchFromGitLab
|
|
, writeText
|
|
, bluez
|
|
, cjson
|
|
, cmake
|
|
, config
|
|
, dbus
|
|
, doxygen
|
|
, eigen
|
|
, elfutils
|
|
, glslang
|
|
, gst-plugins-base
|
|
, gstreamer
|
|
, hidapi
|
|
, libbsd
|
|
, libdrm
|
|
, libffi
|
|
, libGL
|
|
, libjpeg
|
|
, librealsense
|
|
, libsurvive
|
|
, libunwind
|
|
, libusb1
|
|
, libuv
|
|
, libuvc
|
|
, libv4l
|
|
, libXau
|
|
, libxcb
|
|
, libXdmcp
|
|
, libXext
|
|
, libXrandr
|
|
, nix-update-script
|
|
, onnxruntime
|
|
, opencv4
|
|
, openhmd
|
|
, openvr
|
|
, orc
|
|
, pcre2
|
|
, pkg-config
|
|
, python3
|
|
, SDL2
|
|
, shaderc
|
|
, tracy
|
|
, udev
|
|
, vulkan-headers
|
|
, vulkan-loader
|
|
, wayland
|
|
, wayland-protocols
|
|
, wayland-scanner
|
|
, zlib
|
|
, zstd
|
|
, nixosTests
|
|
, cudaPackages
|
|
, enableCuda ? config.cudaSupport
|
|
# 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 (finalAttrs: {
|
|
pname = "monado";
|
|
version = "24.0.0";
|
|
|
|
src = fetchFromGitLab {
|
|
domain = "gitlab.freedesktop.org";
|
|
owner = "monado";
|
|
repo = "monado";
|
|
rev = "refs/tags/v${finalAttrs.version}";
|
|
hash = "sha256-lFy0VvaLD4Oyu2TZJnaIWjuaJUZjGGDJS0VsRfIUpcc=";
|
|
};
|
|
|
|
nativeBuildInputs = [
|
|
cmake
|
|
doxygen
|
|
glslang
|
|
pkg-config
|
|
python3
|
|
];
|
|
|
|
cmakeFlags = [
|
|
(lib.cmakeBool "XRT_FEATURE_SERVICE" serviceSupport)
|
|
(lib.cmakeBool "XRT_OPENXR_INSTALL_ABSOLUTE_RUNTIME_PATH" true)
|
|
(lib.cmakeBool "XRT_HAVE_TRACY" true)
|
|
(lib.cmakeBool "XRT_FEATURE_TRACING" true)
|
|
(lib.cmakeBool "XRT_HAVE_STEAM" true)
|
|
(lib.optionals enableCuda "-DCUDA_TOOLKIT_ROOT_DIR=${cudaPackages.cudatoolkit}")
|
|
];
|
|
|
|
buildInputs = [
|
|
bluez
|
|
cjson
|
|
dbus
|
|
eigen
|
|
elfutils
|
|
gst-plugins-base
|
|
gstreamer
|
|
hidapi
|
|
libbsd
|
|
libdrm
|
|
libffi
|
|
libGL
|
|
libjpeg
|
|
librealsense
|
|
libsurvive
|
|
libunwind
|
|
libusb1
|
|
libuv
|
|
libuvc
|
|
libv4l
|
|
libXau
|
|
libxcb
|
|
libXdmcp
|
|
libXext
|
|
libXrandr
|
|
onnxruntime
|
|
opencv4
|
|
openhmd
|
|
openvr
|
|
orc
|
|
pcre2
|
|
SDL2
|
|
shaderc
|
|
tracy
|
|
udev
|
|
vulkan-headers
|
|
vulkan-loader
|
|
wayland
|
|
wayland-protocols
|
|
wayland-scanner
|
|
zlib
|
|
zstd
|
|
];
|
|
|
|
# known disabled drivers/features:
|
|
# - DRIVER_DEPTHAI - Needs depthai-core https://github.com/luxonis/depthai-core (See https://github.com/NixOS/nixpkgs/issues/292618)
|
|
# - DRIVER_ILLIXR - needs ILLIXR headers https://github.com/ILLIXR/ILLIXR (See https://github.com/NixOS/nixpkgs/issues/292661)
|
|
# - DRIVER_ULV2 - Needs proprietary Leapmotion SDK https://api.leapmotion.com/documentation/v2/unity/devguide/Leap_SDK_Overview.html (See https://github.com/NixOS/nixpkgs/issues/292624)
|
|
# - DRIVER_ULV5 - Needs proprietary Leapmotion SDK https://api.leapmotion.com/documentation/v2/unity/devguide/Leap_SDK_Overview.html (See https://github.com/NixOS/nixpkgs/issues/292624)
|
|
|
|
# Help openxr-loader find this runtime
|
|
setupHook = writeText "setup-hook" ''
|
|
export XDG_CONFIG_DIRS=@out@/etc/xdg''${XDG_CONFIG_DIRS:+:''${XDG_CONFIG_DIRS}}
|
|
'';
|
|
|
|
passthru = {
|
|
updateScript = nix-update-script { };
|
|
tests.basic-service = nixosTests.monado;
|
|
};
|
|
|
|
meta = with lib; {
|
|
description = "Open source XR runtime";
|
|
homepage = "https://monado.freedesktop.org/";
|
|
license = licenses.boost;
|
|
maintainers = with maintainers; [ Scrumplex prusnak ];
|
|
platforms = platforms.linux;
|
|
mainProgram = "monado-cli";
|
|
};
|
|
})
|