monado: backport reproducibility fix (#350271)

This commit is contained in:
Sefa Eyeoglu 2024-11-24 13:23:05 +01:00 committed by GitHub
commit 622dc438f9
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -1,64 +1,66 @@
{ 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
{
lib,
stdenv,
fetchFromGitLab,
writeText,
bluez,
cjson,
cmake,
config,
dbus,
doxygen,
eigen,
elfutils,
fetchpatch2,
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
serviceSupport ? true,
}:
stdenv.mkDerivation (finalAttrs: {
@ -81,14 +83,11 @@ stdenv.mkDerivation (finalAttrs: {
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}")
];
# 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)
buildInputs = [
bluez
@ -135,11 +134,24 @@ stdenv.mkDerivation (finalAttrs: {
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)
patches = [
# Remove this patch on the next update
# https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2338
(fetchpatch2 {
name = "improve-reproducibility.patch";
url = "https://gitlab.freedesktop.org/monado/monado/-/commit/9819fb6dd61d2af5b2d993ed37b976760002b055.patch";
hash = "sha256-qpTF1Q64jl8ZnJzMtflrpHLahCqfde2DXA9/Avlc18I=";
})
];
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}")
];
# Help openxr-loader find this runtime
setupHook = writeText "setup-hook" ''
@ -151,12 +163,15 @@ stdenv.mkDerivation (finalAttrs: {
tests.basic-service = nixosTests.monado;
};
meta = with lib; {
meta = {
description = "Open source XR runtime";
homepage = "https://monado.freedesktop.org/";
license = licenses.boost;
maintainers = with maintainers; [ Scrumplex prusnak ];
platforms = platforms.linux;
license = lib.licenses.boost;
maintainers = with lib.maintainers; [
Scrumplex
prusnak
];
platforms = lib.platforms.linux;
mainProgram = "monado-cli";
};
})