commit: 66347d789e312b21a7b353135db43fb35fe21fc0 Author: Patrick Nicolas <patricknicolas <AT> laposte <DOT> net> AuthorDate: Sun Feb 16 09:51:09 2025 +0000 Commit: Patrick Nicolas <patricknicolas <AT> laposte <DOT> net> CommitDate: Sun Feb 16 09:51:24 2025 +0000 URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=66347d78
media-libs/wivrn: add 0.23.2 Signed-off-by: Patrick Nicolas <patricknicolas <AT> laposte.net> media-libs/wivrn/Manifest | 2 + media-libs/wivrn/wivrn-0.23.2.ebuild | 154 +++++++++++++++++++++++++++++++++++ 2 files changed, 156 insertions(+) diff --git a/media-libs/wivrn/Manifest b/media-libs/wivrn/Manifest index 75d90c0ec..d0b958994 100644 --- a/media-libs/wivrn/Manifest +++ b/media-libs/wivrn/Manifest @@ -3,4 +3,6 @@ DIST wivrn-0.22.tar.gz 11159586 BLAKE2B e83b3d95ad92c752e39d5233c2636f5cf0951838 DIST wivrn-0.23-server-build-deps.tar.xz 21726340 BLAKE2B 74fe5f67c6e5e4e068799a891af78c259227cae67ac89676653c01bb8386fda3be0e305095977e8c452741881309b09b9b454991f123625efae6ef1de338afe7 SHA512 c6101e75f001fbafd62928be73238c17fd10f18f3c78893ec0c5a342dbb98979605818bfe6fc10c03ec657ceb4742e5763b07003a6d7d8bcd8736a34c07f84d7 DIST wivrn-0.23.1-server-build-deps.tar.xz 21997660 BLAKE2B 2d1d2d00e8a0d744d7aba4bccaf425ec8cbbcc4ce549133cb6f90dec73a98ef747acc53c250c44cbf829b0d0b4ed8a52fded60adc216195b0139f1ca5e6a451e SHA512 85fd974e2fb19643ac54c980c0a3521fea0f4422f6caa36643d08fe8466dceb6fe57e3acf191c72e611ee297cfa18ff821406de3765c9a7c28e836c393b97722 DIST wivrn-0.23.1.tar.gz 11182748 BLAKE2B bd13efc9d7a2a5ed78de9e2486d700c281eca8ef7d1c0d3ba6235b9b9dd055d5446124b618c43db23fd6e552012dd02f47135e1b615d15f424fceb508f3f441e SHA512 0492576c48ae645a601f85995a9f1c78eb3128c200e054bd1000b32a10744131b3209fd379d2fe0fa8882dacf2e056b910526fd3dc5dd1ca88cfaf7139422f8b +DIST wivrn-0.23.2-server-build-deps.tar.xz 21758304 BLAKE2B e95559305dc161823946df57b40c401a263524f23c4f638e0d7154b0c2f0450d8ba5db7e7296c6cc8a02ffec9d54afbc4e5946cdff11de4219c772ec5b5a47c6 SHA512 b9a25c94ed058e74e3339e08d29d8f0a728fb15ce64bfa1b27ab98a476bf16632f9cf22fe84bead2423a64d6d8a5a5942e3027fc16ac592087e4be0137d83871 +DIST wivrn-0.23.2.tar.gz 11184314 BLAKE2B c3890a115e502b70ed62f1f2694b4b9494d83a6670948198e475d82c26d447c9c88758cf69e6e90da903f7e0f838d3c4814204901d0266d526b1334df719fcb6 SHA512 9d69c1f4de09ea718b2ba038d030af3941a6d1ff14d6ca3d6476399b0b03e8e459ecd3340ed54c06f5e1be070a63586d3437c3332be832f67958af9cb7f99838 DIST wivrn-0.23.tar.gz 11176178 BLAKE2B 49515a1149ed2412caf2b83867873a47cf440e072f3f7fd8bde66f2fa358f9bdaa6f7e18e723e2d99fc3e26d696c7edfed8279e853b71ac7b66f16a362b267a5 SHA512 93110ce936a3e210ac3093cbee043c087b3241d921f900c62dd9003cbdeff9c5399f322d2f87b6144aacd34c7f1ad3ea9d67e2565a7cd08ad20b1e9a62cda61d diff --git a/media-libs/wivrn/wivrn-0.23.2.ebuild b/media-libs/wivrn/wivrn-0.23.2.ebuild new file mode 100644 index 000000000..a9355e1af --- /dev/null +++ b/media-libs/wivrn/wivrn-0.23.2.ebuild @@ -0,0 +1,154 @@ +# Copyright 2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake fcaps xdg + +DESCRIPTION="WiVRn OpenXR streaming" +HOMEPAGE="https://github.com/WiVRn/WiVRn" + +LICENSE="GPL-3 Apache-2.0 MIT" +SLOT="0" +IUSE="gui nvenc +pipewire pulseaudio systemd vaapi wireshark-plugins x264" +REQUIRED_USE="|| ( nvenc vaapi x264 )" + +if [[ ${PV} == 9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/WiVRn/WiVRn.git" + MONADO_REPO_URI="https://gitlab.freedesktop.org/monado/monado.git" +else + SRC_URI=" + https://github.com/WiVRn/WiVRn/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz + https://github.com/WiVRn/WiVRn/releases/download/v${PV}/server-build-deps.tar.xz -> ${P}-server-build-deps.tar.xz" + KEYWORDS="~amd64" +fi + +RDEPEND=" + dev-libs/glib + dev-libs/libbsd + dev-libs/openssl + media-libs/openxr-loader + net-dns/avahi + x11-libs/libnotify + || ( + sys-apps/systemd + sys-auth/elogind + ) + gui? ( + dev-libs/qcoro[qml] + kde-frameworks/kcoreaddons:6 + kde-frameworks/ki18n:6 + kde-frameworks/kiconthemes:6 + kde-frameworks/kirigami:6 + kde-frameworks/qqc2-desktop-style:6 + ) + pipewire? ( + media-video/pipewire + ) + pulseaudio? ( + media-libs/libpulse + ) + systemd? ( + sys-apps/systemd + ) + vaapi? ( + media-video/ffmpeg[libdrm,vaapi] + ) + wireshark-plugins? ( + net-analyzer/wireshark + ) + x264? ( + media-libs/x264 + ) +" +DEPEND=" + ${RDEPEND} + dev-cpp/cli11 + dev-cpp/eigen + dev-cpp/nlohmann_json + dev-libs/boost +" +BDEPEND=" + dev-util/glslang + dev-util/gdbus-codegen + gui? ( + gnome-base/librsvg + ) + dev-util/vulkan-headers +" + +if [[ ${PV} == 9999 ]]; then + src_unpack() { + git-r3_src_unpack + default_src_unpack + + local MONADO_COMMIT=$(grep "GIT_TAG" "${P}/CMakeLists.txt" | awk '{print $2}' | tail -1) + git-r3_fetch "${MONADO_REPO_URI}" "${MONADO_COMMIT}" + git-r3_checkout "${MONADO_REPO_URI}" "${WORKDIR}/monado-src" + } + + src_prepare() { + default_src_prepare + eapply --directory="${WORKDIR}/monado-src" "${WORKDIR}/${P}/patches/monado"/* + cmake_src_prepare + } +else + src_unpack() { + default_src_unpack + cd "${WORKDIR}" + mv "WiVRn-${PV}" "${P}" + } +fi + +src_configure() { + if [[ ${PV} == 9999 ]]; then + GIT_DESC=$(git describe --tags --always) + GIT_COMMIT=$(git rev-parse HEAD) + else + GIT_DESC=v${PV} + GIT_COMMIT=v${PV} + fi + local mycmakeargs=( + -DGIT_DESC=${GIT_DESC} + -DGIT_COMMIT=${GIT_COMMIT} + -DWIVRN_BUILD_CLIENT=OFF + -DWIVRN_BUILD_SERVER=ON + -DWIVRN_OPENXR_MANIFEST_TYPE=relative + -DWIVRN_BUILD_DASHBOARD=$(usex gui) + -DWIVRN_BUILD_DISSECTOR=$(usex wireshark-plugins) + -DWIVRN_BUILD_WIVRNCTL=ON + -DWIVRN_USE_PIPEWIRE=$(usex pipewire) + -DWIVRN_USE_PULSEAUDIO=$(usex pulseaudio) + -DWIVRN_USE_NVENC=$(usex nvenc) + -DWIVRN_USE_VAAPI=$(usex vaapi) + -DWIVRN_USE_VULKAN_ENCODE=ON + -DWIVRN_USE_X264=$(usex x264) + -DWIVRN_USE_SYSTEMD=$(usex systemd) + -DWIVRN_USE_SYSTEM_OPENXR=ON + -DWIVRN_USE_SYSTEM_BOOST=ON + -DFETCHCONTENT_FULLY_DISCONNECTED=ON + -DFETCHCONTENT_BASE_DIR="${WORKDIR}" + -DENABLE_COLOURED_OUTPUT=OFF + ) + + cmake_src_configure +} + +src_install() { + cmake_src_install + + dosym -r /usr/share/openxr/1/openxr_wivrn.json /etc/openxr/1/active_runtime.json +} + +pkg_postinst() +{ + fcaps cap_sys_nice bin/wivrn-server + xdg_pkg_postinst + elog "WiVRn requires a compatible client on VR headset to run." + if [[ ${PV} == 9999 ]]; then + elog "For most headsets it can be downloaded from CI artifacts on https://github.com/WiVRn/WiVRn/actions/workflows/Build.yml" + else + elog "For most headsets it can be downloaded on https://github.com/WiVRn/WiVRn/releases/tag/v${PV}" + fi +}
