%global forgeurl https://gitlab.freedesktop.org/monado/monado %global commit d72b0195c9736fda5e033cb2b7c274dc577b3366 %global date 20240507 %forgemeta Name: monado Version: 21.0.0 Release: %autorelease Summary: The open source OpenXR runtime License: GPL-3.0-or-later URL: %{forgeurl} Source0: %{forgesource} # https://gitlab.freedesktop.org/monado/monado/-/issues/335 Patch0: https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2170.patch # https://gitlab.freedesktop.org/monado/monado/-/issues/337 Patch1: https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2168.patch BuildRequires: cmake BuildRequires: gcc-c++ BuildRequires: glslc BuildRequires: pkgconfig(bluez) BuildRequires: pkgconfig(dbus-1) BuildRequires: pkgconfig(eigen3) BuildRequires: pkgconfig(glslang) BuildRequires: pkgconfig(gstreamer-1.0) BuildRequires: pkgconfig(gstreamer-app-1.0) BuildRequires: pkgconfig(gstreamer-video-1.0) BuildRequires: pkgconfig(hidapi-libusb) BuildRequires: pkgconfig(libavcodec) BuildRequires: pkgconfig(libbsd) BuildRequires: pkgconfig(libcjson) BuildRequires: pkgconfig(libdrm) BuildRequires: pkgconfig(libjpeg) BuildRequires: pkgconfig(libonnxruntime) BuildRequires: pkgconfig(libudev) BuildRequires: pkgconfig(libusb-1.0) BuildRequires: pkgconfig(libuvc) BuildRequires: pkgconfig(opencv) BuildRequires: pkgconfig(openhmd) BuildRequires: pkgconfig(openvr) BuildRequires: pkgconfig(realsense2) BuildRequires: pkgconfig(sdl2) BuildRequires: pkgconfig(vulkan) BuildRequires: pkgconfig(wayland-client) BuildRequires: pkgconfig(wayland-eglstream) BuildRequires: pkgconfig(wayland-protocols) BuildRequires: pkgconfig(wayland-scanner) BuildRequires: pkgconfig(xrandr) BuildRequires: pkgconfig(zlib) # Missing: #BuildRequires: pkgconfig(basalt) # Failing to build: #BuildRequires: pkgconfig(survive) # Optional: # Northstar https://docs.projectnorthstar.org/project-north-star/ #BuildRequires: pkgconfig(depthai) # Profiling: #BuildRequires: pkgconfig(percetto) %description Monado is an open-source package for interacting with virtual and augmented reality (collectively known as XR) hardware and software. This package provides a runtime that aims to be a complete and conforming implementation of the OpenXR API from Khronos. When used with the "simulated" device driver, this package is conforming to OpenXR 1.0. %package devel Requires: %{name}%{?_isa} = %{version}-%{release} Summary: Development files for Monado %description devel Devel information for Monado. %prep %forgeautosetup -p1 %build # W: files-duplicate (docs and license) # W: no-soname /usr/lib64/libopenxr_monado.so # E: arch-dependent-file-in-usr-share /usr/share/steamvr-monado/bin/linux64/driver_monado.so # W: unstripped-binary-or-object /usr/share/steamvr-monado/bin/linux64/driver_monado.so %cmake \ -DCMAKE_BUILD_TYPE=RelWithDebInfo \ -DDRIVER_HANDTRACKING:BOOL=ON \ %cmake_build %install %cmake_install install -m 0755 -vd %{buildroot}%{_sysconfdir}/xdg/openxr/1/ ln -rs %{buildroot}%{_datarootdir}/openxr/1/openxr_monado.json \ %{buildroot}%{_sysconfdir}/xdg/openxr/1/active_runtime.json %files %license LICENSE %doc CONTRIBUTING.md README.md doc/*.md %caps(cap_sys_nice=eip) %{_bindir}/monado-service %{_bindir}/monado-cli %{_bindir}/monado-ctl %{_bindir}/monado-gui %{_libdir}/libmonado.so.21 %{_libdir}/libmonado.so.21.0.0 %{_libdir}/libopenxr_monado.so %{_sysconfdir}/xdg/openxr/1/active_runtime.json %{_userunitdir}/monado.service %{_userunitdir}/monado.socket %{_datarootdir}/openxr/1/openxr_monado.json %{_datarootdir}/steamvr-monado/* %files devel %{_libdir}/libmonado.so %{_includedir}/monado/monado.h %changelog %autochangelog