commit:     433391a314b15c87fe14d973cb442db40d10602a
Author:     Patrick Nicolas <patricknicolas <AT> laposte <DOT> net>
AuthorDate: Wed Feb 11 22:00:33 2026 +0000
Commit:     Patrick Nicolas <patricknicolas <AT> laposte <DOT> net>
CommitDate: Wed Feb 11 22:00:39 2026 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=433391a3

media-libs/wivrn: add 26.2.1

Signed-off-by: Patrick Nicolas <patricknicolas <AT> laposte.net>

 media-libs/wivrn/Manifest            |   2 +
 media-libs/wivrn/wivrn-26.2.1.ebuild | 168 +++++++++++++++++++++++++++++++++++
 2 files changed, 170 insertions(+)

diff --git a/media-libs/wivrn/Manifest b/media-libs/wivrn/Manifest
index 6cf11525c2..e2100756ff 100644
--- a/media-libs/wivrn/Manifest
+++ b/media-libs/wivrn/Manifest
@@ -1,4 +1,6 @@
 DIST wivrn-25.12-server-build-deps.tar.xz 23463764 BLAKE2B 
8d4a453bad03d7a03c2dcf210f432b2f6705f8714ecd6d589a875da3b679c69409081a13aa95ac5483fe6f355c359282859e6a8e5ce4b41964ed7c41b47cdda2
 SHA512 
57ce200f4f8d95d6d5877d595326e57cfaf3482ad201229d316a2844809adcd5b16cec5eed30d98391d3a70a96bf1c20f19d0fef9c4adafa9bbe2992032c3baf
 DIST wivrn-25.12.tar.gz 3866446 BLAKE2B 
56f576efca1734d4ef492c939eea6baacfb6645a65bb9fdf4d9bab253aaf5f162b0a2da4349acef5b3c853bfba70dcf95778bf4cf82976c9c92bfb513a3f1b7a
 SHA512 
2fd4cc97fc639a72a929d3f91037563d3c3e83ae789b31bccb869a25d13f701dccf56915a32f78991159e5944e028f27ba1931b6b9a540c4bb4e55fceb2c327d
 DIST wivrn-26.2-server-build-deps.tar.xz 24221600 BLAKE2B 
cd893d0265abfb67caab230e3557ed52d1cf11e3bba4730fa53698cd52b07f1fcbc50cc15fb17b420075902aa22bb6a6145ea6b4af77b16776247d8a566b26eb
 SHA512 
35835251887b3d770561c672d202bcfdeca35c8990ff4943b3a0aede93cf260fef01ad2b724f4b1902d48eed635137f9a05eb0499c84560160ffa4ea038409c1
+DIST wivrn-26.2.1-server-build-deps.tar.xz 24363264 BLAKE2B 
c9d3bff625a985469160b25e7ff703b8f2414a700f75afe906a35897803a19852683518c1b412b068de53ca086c70b235d7892d61b1cc1f1e0812f0dc62b20df
 SHA512 
e84142070c9bfa6c2c78c7f4c9ad0b00b3dd869bd45a88160edc546ea8e10ed22ab1c514f04291b1a321be8320aca099c1bece49b93da13f52113429a88ee38d
+DIST wivrn-26.2.1.tar.gz 3894719 BLAKE2B 
aad73f258c597f3d4a91db8d043fb57ffc01bd7cdd8a8ab597be9245dee45bcd345afa3beae96e2c9a97aba74ee6c1c56da052a8c6bd4a1f4b4959b95b932659
 SHA512 
e10b5f6ea3da4b34eecf663c1926e33dd987c41ca8ee37753d7b1659c7c34639bfa9d7e70ea83000bacf67fa02cd157df6f31b75c38880d47da4c5d907ef1003
 DIST wivrn-26.2.tar.gz 3895373 BLAKE2B 
534c31996531fa894c8898091a4b1b5273ff03cf9c306a130ef954ddb783f8d14b489018576ba89a874bc6a236af1061dd2f3553e01cb10273fca6bdd19c7077
 SHA512 
54d8ef7e059ccec0a26c1e0bd4123d9fdf3ec2c5cff95b182cab509307820fcb19efb4d61fe4a79a21d0ec7efe6ecfab793c60ea3cc5f41d82ac9f2fd250c939

diff --git a/media-libs/wivrn/wivrn-26.2.1.ebuild 
b/media-libs/wivrn/wivrn-26.2.1.ebuild
new file mode 100644
index 0000000000..0111449b4d
--- /dev/null
+++ b/media-libs/wivrn/wivrn-26.2.1.ebuild
@@ -0,0 +1,168 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake-multilib fcaps flag-o-matic xdg
+
+DESCRIPTION="WiVRn OpenXR streaming"
+HOMEPAGE="https://github.com/WiVRn/WiVRn";
+
+LICENSE="GPL-3 Apache-2.0 MIT"
+SLOT="0"
+IUSE="debug 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";
+       EGIT_MIN_CLONE_TYPE="single+tags"
+       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="
+       app-arch/libarchive
+       dev-libs/glib
+       dev-libs/libbsd
+       dev-libs/openssl
+       gnome-base/librsvg
+       media-libs/libpng
+       media-libs/openxr-loader
+       net-dns/avahi
+       x11-libs/libnotify
+       || (
+               sys-apps/systemd
+               sys-auth/elogind
+       )
+       gui? (
+               dev-libs/kirigami-addons
+               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[drm(-),vaapi]
+       )
+       x264? (
+               media-libs/x264
+       )
+       wireshark-plugins? (
+               !=net-analyzer/wireshark-4.6.0
+               net-analyzer/wireshark
+       )
+"
+DEPEND="
+       ${RDEPEND}
+
+       dev-libs/boost
+       dev-cpp/cli11
+       dev-cpp/eigen
+       dev-cpp/nlohmann_json
+       dev-util/vulkan-headers
+"
+BDEPEND="
+       dev-util/glslang
+       dev-util/gdbus-codegen
+"
+
+if [[ ${PV} == 9999 ]]; then
+       src_unpack() {
+               git-r3_src_unpack
+               default_src_unpack
+
+               # export those before Monado is checked out
+               export GIT_DESC=$(git -C "${EGIT_DIR}" describe 
"${EGIT_VERSION}" --tags --always)
+               export GIT_COMMIT=${EGIT_VERSION}
+
+               # Only use those for the main repo
+               unset EGIT_BRANCH EGIT_COMMIT
+               local MONADO_COMMIT=$(cat "${P}/monado-rev")
+               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
+
+multilib_src_configure() {
+       use debug || append-cflags "-DNDEBUG"
+       use debug || append-cxxflags "-DNDEBUG"
+       if [[ ${PV} != 9999 ]]; then
+               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=$(multilib_is_native_abi && echo ON || 
echo OFF)
+               -DWIVRN_BUILD_SERVER_LIBRARY=ON
+               -DWIVRN_OPENXR_MANIFEST_TYPE=relative
+               -DWIVRN_OPENXR_MANIFEST_ABI=$(multilib_is_native_abi && echo 
OFF || echo ON)
+               -DWIVRN_BUILD_DASHBOARD=$(multilib_native_usex gui)
+               -DWIVRN_BUILD_DISSECTOR=$(multilib_native_usex 
wireshark-plugins)
+               -DWIVRN_BUILD_WIVRNCTL=$(multilib_is_native_abi && echo ON || 
echo OFF)
+               -DWIVRN_FEATURE_STEAMVR_LIGHTHOUSE=ON
+               -DWIVRN_USE_PIPEWIRE=$(multilib_native_usex pipewire)
+               -DWIVRN_USE_PULSEAUDIO=$(multilib_native_usex pulseaudio)
+               -DWIVRN_USE_NVENC=$(multilib_native_usex nvenc)
+               -DWIVRN_USE_VAAPI=$(multilib_native_usex vaapi)
+               -DWIVRN_USE_VULKAN_ENCODE=ON
+               -DWIVRN_USE_X264=$(multilib_native_usex x264)
+               -DWIVRN_USE_SYSTEMD=$(multilib_native_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
+}
+
+multilib_src_install() {
+       cmake_src_install
+
+       newenvd - "50${PN}" <<-_EOF_
+PRESSURE_VESSEL_IMPORT_OPENXR_1_RUNTIMES=1
+       _EOF_
+}
+
+pkg_postinst()
+{
+       fcaps cap_sys_nice usr/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
+}

Reply via email to