diff --git a/srcpkgs/opencomposite/files/version.txt b/srcpkgs/opencomposite/files/version.txt new file mode 100644 index 00000000000000..e69de29bb2d1d6 diff --git a/srcpkgs/opencomposite/template b/srcpkgs/opencomposite/template new file mode 100644 index 00000000000000..da711f06e556e2 --- /dev/null +++ b/srcpkgs/opencomposite/template @@ -0,0 +1,58 @@ +# Template file for 'opencomposite' +pkgname=opencomposite +version=1.0.1521 +revision=1 +archs="x86_64 i686" +_openxrsdk_version=1.0.12 +_glm_version=0.9.9.8 + +# this variable must be consistent with its copy in the wivrn package +# or users will have to manually input the path into wivrn +_opencomposite_path=/opt/opencomposite +build_style=cmake +configure_args="-DUSE_SYSTEM_OPENXR=OFF -DUSE_SYSTEM_GLM=OFF +-DOC_BACKTRACE=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo" + +hostmakedepends="git cmake make Vulkan-Headers python3" + +makedepends="glibc-devel libgcc-devel vulkan-loader-devel +libglvnd-devel libX11-devel" + +depends="glibc libgcc vulkan-loader libglvnd libX11" + +short_desc="Reimplementation of OpenVR, translating calls to OpenXR" +maintainer="rejahtavi " +license="GPL-3.0-or-later" +homepage="https://gitlab.com/znixian/OpenOVR/" +changelog="https://gitlab.com/znixian/OpenOVR/-/commits/openxr" + +distfiles="https://gitlab.com/znixian/OpenOVR/-/archive/${version}/OpenOVR-${version}.tar.gz>opencomposite.tar.gz +https://github.com/KhronosGroup/OpenXR-SDK/archive/refs/tags/release-${_openxrsdk_version}.tar.gz>openxrsdk.tar.gz +https://github.com/g-truc/glm/archive/refs/tags/${_glm_version}.tar.gz>glm.tar.gz" + +checksum="b5a0d9eb802773dad37aadbfca6c35bbe473ad0df9372ef6fd010fdeb33ce523 + 66ec1d325b820fff4dac62183c271c05de16835b97b1ad2416a01105f94407da + 7d508ab72cb5d43227a3711420f06ff99b0a0cb63ee2f93631b162bfe1fe9592" + +skip_extraction="openxrsdk.tar.gz glm.tar.gz" + +post_extract() { + vsrcextract -C libs/openxr-sdk openxrsdk.tar.gz + vsrcextract -C libs/glm glm.tar.gz +} + +# note: wivrn and openxr expect this specific per-architecture substructure for plugins +# it will not work with the standard /usr/lib and /usr/lib32 locations. +do_install() { + case "$XBPS_TARGET_MACHINE" in + x86_64*) + vmkdir ${_opencomposite_path}/bin/linux64 + vinstall build/bin/linux64/vrclient.so 755 ${_opencomposite_path}/bin/linux64 + ;; + i686*) + vmkdir ${_opencomposite_path}/bin + vinstall build/bin/vrclient.so 755 ${_opencomposite_path}/bin + ;; + esac + vinstall ${FILESDIR}/version.txt 644 ${_opencomposite_path} +} diff --git a/srcpkgs/wivrn/template b/srcpkgs/wivrn/template new file mode 100644 index 00000000000000..4c8db16477a4cb --- /dev/null +++ b/srcpkgs/wivrn/template @@ -0,0 +1,49 @@ +# Template file for 'wivrn' +pkgname=wivrn +version=26.2.3 +revision=1 +archs="x86_64" +build_style=cmake + +# these options must match the ones in their respective packages +# or users will have to manually input paths into wivrn +_xrizer_path=/opt/xrizer +_opencomposite_path=/opt/opencomposite + +configure_args="-DGIT_DESC=v${version} -DGIT_COMMIT=v${version} +-DWIVRN_BUILD_SERVER=ON -DWIVRN_BUILD_DASHBOARD=ON +-DWIVRN_BUILD_CLIENT=OFF -DWIVRN_BUILD_WIVRNCTL=OFF +-DWIVRN_USE_SYSTEMD=OFF -DWIVRN_USE_PIPEWIRE=ON +-DWIVRN_FEATURE_STEAMVR_LIGHTHOUSE=ON +-DOVR_COMPAT_SEARCH_PATH=${_opencomposite_path}:${_xrizer_path} +-DCMAKE_BUILD_TYPE=RelWithDebInfo -Wno-dev" + +hostmakedepends="boost cli11 cmake eigen extra-cmake-modules gcc +gettext git json-c++ ninja pkg-config" + +makedepends="Vulkan-Headers avahi-glib-libs-devel boost-devel +cairo-devel ffmpeg-devel gettext-devel glib-devel glslang-devel +hidapi-devel kf6-kcoreaddons-devel kf6-ki18n-devel +kf6-kiconthemes-devel kf6-kirigami-devel kf6-qqc2-desktop-style-devel +libarchive-devel libbsd-devel libdav1d-devel libdrm-devel +libnotify-devel libnotify-devel libsvt-av1-devel librsvg-devel +libxcb-devel libvpx-devel openssl-devel pipewire-devel pipewire-devel +qcoro-qt6-devel qt6-base-devel qt6-base-private-devel +qt6-declarative-devel qt6-declarative-private-devel vulkan-loader-devel +x264-devel" + +depends="avahi cairo ffmpeg glslang hidapi libarchive libbsd libdav1d +libgcc libnotify libsvt-av1-devel libpipewire librsvg libvpx openssl +vulkan-loader x264 xrizer opencomposite" + +short_desc="WiVRn VR Streaming Server" +maintainer="rejah " +license="MIT" +homepage="https://github.com/WiVRn/WiVRn" +changelog="https://github.com/WiVRn/WiVRn/releases/" +distfiles="https://github.com/WiVRn/WiVRn/archive/refs/tags/v${version}.tar.gz" +checksum=7d6eb388d7176263f4ceb6335541d62a2038bd9c4a991e70e6049fb3726fe104 + +post_install() { + vlicense LICENSE-OFL-1.1 +} diff --git a/srcpkgs/xrizer/files/version.txt b/srcpkgs/xrizer/files/version.txt new file mode 100644 index 00000000000000..e69de29bb2d1d6 diff --git a/srcpkgs/xrizer/template b/srcpkgs/xrizer/template new file mode 100644 index 00000000000000..bdc631c5dcd8ac --- /dev/null +++ b/srcpkgs/xrizer/template @@ -0,0 +1,36 @@ +# Template file for 'xrizer' +pkgname=xrizer +version=0.4 +revision=1 +archs="x86_64 i686" + +# this variable must be consistent with its copy in the wivrn package +# or users will have to manually input the path into wivrn +_xrizer_path=/opt/xrizer +build_style=cargo +hostmakedepends="cmake git cargo rust clang shaderc" +makedepends="libX11-devel libxcb-devel wayland-devel" +depends="libX11 libxcb wayland" +short_desc="XR-ize your OpenVR games" +maintainer="rejah " +license="GPL-3.0-or-later" +homepage="https://github.com/Supreeeme/xrizer" +changelog="https://github.com/Supreeeme/xrizer/releases" +distfiles="https://github.com/Supreeeme/xrizer/archive/refs/tags/v${version}.tar.gz" +checksum=de42ea85fd47cbbd6ee26bfe2093441cba199eafbea8d529e03807062bf50681 + +# note: wivrn and openxr expect this specific per-architecture substructure for plugins +# it will not work with the standard /usr/lib and /usr/lib32 locations +do_install() { + case "$XBPS_TARGET_MACHINE" in + x86_64*) + vmkdir ${_xrizer_path}/bin/linux64 + vinstall target/${RUST_TARGET}/release/libxrizer.so 755 ${_xrizer_path}/bin/linux64 vrclient.so + ;; + i686*) + vmkdir ${_xrizer_path}/bin + vinstall target/${RUST_TARGET}/release/libxrizer.so 755 ${_xrizer_path}/bin vrclient.so + ;; + esac + vinstall ${FILESDIR}/version.txt 644 ${_xrizer_path} +}