diff options
Diffstat (limited to 'media-libs/wivrn/wivrn-0.16.ebuild')
-rw-r--r-- | media-libs/wivrn/wivrn-0.16.ebuild | 110 |
1 files changed, 110 insertions, 0 deletions
diff --git a/media-libs/wivrn/wivrn-0.16.ebuild b/media-libs/wivrn/wivrn-0.16.ebuild new file mode 100644 index 000000000..21e51a57d --- /dev/null +++ b/media-libs/wivrn/wivrn-0.16.ebuild @@ -0,0 +1,110 @@ +# Copyright 2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit cmake + +DESCRIPTION="WiVRn OpenXR streaming" +HOMEPAGE="https://github.com/meumeu/WiVRn" + +LICENSE="GPL-3 Apache-2.0 MIT" +SLOT="0" +IUSE="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/Meumeu/WiVRn.git" + EGIT_BRANCH="dev" + + MONADO_V=598080453545c6bf313829e5780ffb7dde9b79dc + PFR_V=2.2.0 + SRC_URI=" + https://github.com/boostorg/pfr/archive/refs/tags/${PFR_V}.tar.gz -> boostpfr_${PFR_V}.tar.gz + https://gitlab.freedesktop.org/monado/monado/-/archive/${MONADO_V}/monado-${MONADO_V}.tar.gz" +else + SRC_URI=" + https://github.com/Meumeu/WiVRn/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz + https://github.com/Meumeu/WiVRn/releases/download/v${PV}/server-build-deps.tar.xz -> ${P}-server-build-deps.tar.xz" + KEYWORDS="~amd64" +fi + +RDEPEND=" + vaapi? ( + media-video/ffmpeg[libdrm,vaapi] + ) + x264? ( + media-libs/x264 + ) + dev-libs/libbsd + pipewire? ( + media-video/pipewire + ) + pulseaudio? ( + media-libs/libpulse + ) + media-libs/openxr-loader + net-dns/avahi + systemd? ( + sys-apps/systemd + ) + wireshark-plugins? ( + net-analyzer/wireshark + ) +" + +BDEPEND=" + ${RDEPEND} + dev-cpp/eigen + dev-cpp/nlohmann_json + dev-util/glslang +" + +if [[ ${PV} == 9999 ]]; then + src_unpack() { + git-r3_src_unpack + default_src_unpack + cd "${WORKDIR}" + mv "monado-${MONADO_V}" "monado-src" + mv "pfr-${PFR_V}" "boostpfr-src" + } +else + src_unpack() { + default_src_unpack + cd "${WORKDIR}" + mv "WiVRn-${PV}" "${P}" + } +fi + +src_configure() { + if [[ ${PV} == 9999 ]]; then + GIT_DESC=$(git describe) + else + GIT_DESC=${PV} + fi + local mycmakeargs=( + -DGIT_DESC=${GIT_DESC} + -DWIVRN_BUILD_CLIENT=OFF + -DWIVRN_BUILD_SERVER=ON + -DWIVRN_BUILD_DISSECTOR=$(usex wireshark-plugins) + -DWIVRN_USE_PIPEWIRE=$(usex pipewire) + -DWIVRN_USE_PULSEAUDIO=$(usex pulseaudio) + -DWIVRN_USE_NVENC=$(usex nvenc) + -DWIVRN_USE_VAAPI=$(usex vaapi) + -DWIVRN_USE_X264=$(usex x264) + -DWIVRN_USE_SYSTEMD=$(usex systemd) + -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON + -DFETCHCONTENT_FULLY_DISCONNECTED=ON + -DFETCHCONTENT_BASE_DIR="${WORKDIR}" + -DENABLE_COLOURED_OUTPUT=OFF + ) + + cmake_src_configure +} + +src_install() { + cmake_src_install + + dosym /usr/share/openxr/1/openxr_wivrn.json /etc/openxr/1/active_runtime.json +} |