diff --git a/media-libs/opencomposite/Manifest b/media-libs/opencomposite/Manifest new file mode 100644 index 0000000000..dc9ff30678 --- /dev/null +++ b/media-libs/opencomposite/Manifest @@ -0,0 +1,2 @@ +DIST OpenXR-SDK-91a8a8d9d70f4b469bca0726122c3b5a6096010e.tar.gz 740669 BLAKE2B 0a3ae5164707de4e663b19613716dcfff4fcb242803ed50f54fa54e852dc12f753e0f7a69844f2f17516b8e976b362ff821fb9dbbd3882732ba8610836874d21 SHA512 64d8e7a3071b890836b90e87967541428a6cf50b9767584d8177cbee5e95bf97008645704cf206f15de4113b72d3ead050f6e1799235af2039fcfc1c55d16944 +DIST opencomposite-0_pre20250819.tar.bz2 1182056 BLAKE2B c728cc88175301922ba7558f141a24d8f6a6ae9c858da36bbc91d9c8f698fedd5f37771b1e88efe904ceeb34145390b20ed741e233e59f97a71ef6fc36eeeb20 SHA512 978e3a55380f9ea13c1e3a5b5501f68d54d20f233ab40f6b06866fc21d186a013fb0779f3d24d45432fa3a7cda2656b5e2fa5d8dfc8112485af5893911c32bac diff --git a/media-libs/opencomposite/opencomposite-0_pre20250819.ebuild b/media-libs/opencomposite/opencomposite-0_pre20250819.ebuild new file mode 100644 index 0000000000..e1a0afe9cc --- /dev/null +++ b/media-libs/opencomposite/opencomposite-0_pre20250819.ebuild @@ -0,0 +1,76 @@ +# Copyright 2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake-multilib + +DESCRIPTION="OpenVR over OpenXR compatibility layer" +HOMEPAGE="https://gitlab.com/znixian/OpenOVR" + +if [[ ${PV} == 9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://gitlab.com/znixian/OpenOVR.git" + EGIT_BRANCH="openxr" +else + KEYWORDS="~amd64" + COMMIT=cff07db75c4823afe93ed7027b03d5f7bc86f164 + OPENXR_COMMIT=91a8a8d9d70f4b469bca0726122c3b5a6096010e + SRC_URI=" + https://gitlab.com/znixian/OpenOVR/-/archive/${COMMIT}/OpenOVR-${COMMIT}.tar.bz2 -> ${P}.tar.bz2 + https://github.com/KhronosGroup/OpenXR-SDK/archive/${OPENXR_COMMIT}.tar.gz -> OpenXR-SDK-${OPENXR_COMMIT}.tar.gz + " + S="${WORKDIR}/OpenOVR-${COMMIT}" +fi + +LICENSE="GPL-3 Apache-2.0 MIT" +SLOT="0" + +DEPEND=" + dev-lang/python + dev-util/vulkan-headers + media-libs/glm + media-libs/libglvnd[${MULTILIB_USEDEP},X] + media-libs/openxr-loader[${MULTILIB_USEDEP}] + virtual/glu[${MULTILIB_USEDEP}] +" +RDEPEND="${DEPEND}" + +if [[ ${PV} != 9999 ]] ; then +src_unpack() +{ + default_src_unpack + mv --no-target-directory "${WORKDIR}/OpenXR-SDK-${OPENXR_COMMIT}" "${S}/libs/openxr-sdk" +} +fi + +multilib_src_configure() +{ + # Installing to /usr would not work with Steam bacause pressure vessel + # sandbox mounts /usr as /run/host/usr and openvr path would point to a + # non-existing location. + # + # Pressure vessel would need to be fixed and patch the location + # as it does for vulkan and other similar configuration files. + local mycmakeargs=( + "-DCMAKE_INSTALL_PREFIX=/opt" + # Required for Proton: https://gitlab.com/znixian/OpenOVR/-/issues/416 + "-DUSE_SYSTEM_OPENXR=OFF" + "-DUSE_SYSTEM_GLM=ON" + ) + cmake_src_configure +} + +multilib_src_install() +{ + cmake_src_install + + insinto /opt/OpenComposite + doins "${FILESDIR}/openvrpaths.vrpath" +} + +pkg_postinst() +{ + elog "For applications to use OpenComposite, symlink" + elog "~/.config/openvr/openvrpaths.vrpath to /opt/OpenComposite/openvrpaths.vrpath." +} diff --git a/media-libs/opencomposite/opencomposite-9999.ebuild b/media-libs/opencomposite/opencomposite-9999.ebuild index 503616143a..e1a0afe9cc 100644 --- a/media-libs/opencomposite/opencomposite-9999.ebuild +++ b/media-libs/opencomposite/opencomposite-9999.ebuild @@ -14,6 +14,13 @@ if [[ ${PV} == 9999 ]]; then EGIT_BRANCH="openxr" else KEYWORDS="~amd64" + COMMIT=cff07db75c4823afe93ed7027b03d5f7bc86f164 + OPENXR_COMMIT=91a8a8d9d70f4b469bca0726122c3b5a6096010e + SRC_URI=" + https://gitlab.com/znixian/OpenOVR/-/archive/${COMMIT}/OpenOVR-${COMMIT}.tar.bz2 -> ${P}.tar.bz2 + https://github.com/KhronosGroup/OpenXR-SDK/archive/${OPENXR_COMMIT}.tar.gz -> OpenXR-SDK-${OPENXR_COMMIT}.tar.gz + " + S="${WORKDIR}/OpenOVR-${COMMIT}" fi LICENSE="GPL-3 Apache-2.0 MIT" @@ -29,6 +36,14 @@ DEPEND=" " RDEPEND="${DEPEND}" +if [[ ${PV} != 9999 ]] ; then +src_unpack() +{ + default_src_unpack + mv --no-target-directory "${WORKDIR}/OpenXR-SDK-${OPENXR_COMMIT}" "${S}/libs/openxr-sdk" +} +fi + multilib_src_configure() { # Installing to /usr would not work with Steam bacause pressure vessel