From cf27301dc5f78cf80ba8d2f3ee37899576e31f16 Mon Sep 17 00:00:00 2001 From: Sefa Eyeoglu Date: Tue, 5 Nov 2024 21:19:11 +0100 Subject: [PATCH 1/2] monado: backport reproducibility fix Signed-off-by: Sefa Eyeoglu --- pkgs/by-name/mo/monado/package.nix | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/pkgs/by-name/mo/monado/package.nix b/pkgs/by-name/mo/monado/package.nix index f65a83c3d601..bb5ed08f9c8e 100644 --- a/pkgs/by-name/mo/monado/package.nix +++ b/pkgs/by-name/mo/monado/package.nix @@ -10,6 +10,7 @@ , doxygen , eigen , elfutils +, fetchpatch2 , glslang , gst-plugins-base , gstreamer @@ -141,6 +142,16 @@ stdenv.mkDerivation (finalAttrs: { # - 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="; + }) + ]; + # Help openxr-loader find this runtime setupHook = writeText "setup-hook" '' export XDG_CONFIG_DIRS=@out@/etc/xdg''${XDG_CONFIG_DIRS:+:''${XDG_CONFIG_DIRS}} From e6bd72b39cf32da50a6767cb2402a1030e0f83aa Mon Sep 17 00:00:00 2001 From: Sefa Eyeoglu Date: Tue, 5 Nov 2024 21:21:09 +0100 Subject: [PATCH 2/2] monado: nixfmt and refactor Signed-off-by: Sefa Eyeoglu --- pkgs/by-name/mo/monado/package.nix | 156 +++++++++++++++-------------- 1 file changed, 80 insertions(+), 76 deletions(-) diff --git a/pkgs/by-name/mo/monado/package.nix b/pkgs/by-name/mo/monado/package.nix index bb5ed08f9c8e..5a86d769e943 100644 --- a/pkgs/by-name/mo/monado/package.nix +++ b/pkgs/by-name/mo/monado/package.nix @@ -1,65 +1,66 @@ -{ 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 +{ + 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: { @@ -82,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 @@ -136,12 +134,6 @@ 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 @@ -152,6 +144,15 @@ stdenv.mkDerivation (finalAttrs: { }) ]; + 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" '' export XDG_CONFIG_DIRS=@out@/etc/xdg''${XDG_CONFIG_DIRS:+:''${XDG_CONFIG_DIRS}} @@ -162,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"; }; })