commit: 2b156da89fdf2447885882a7a90dd167394dfbd6
Author: Patrick Nicolas <patricknicolas <AT> laposte <DOT> net>
AuthorDate: Mon Jun 10 08:45:54 2024 +0000
Commit: Julien Roy <julien <AT> jroy <DOT> ca>
CommitDate: Mon Jun 10 08:46:51 2024 +0000
URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=2b156da8
media-libs/opencomposite: new package, add 9999
Signed-off-by: Patrick Nicolas <patricknicolas <AT> laposte.net>
.../files/0001-Add-install-target.patch | 19 ++++++++
media-libs/opencomposite/files/openvrpaths.vrpath | 4 ++
media-libs/opencomposite/metadata.xml | 11 +++++
media-libs/opencomposite/opencomposite-9999.ebuild | 57 ++++++++++++++++++++++
4 files changed, 91 insertions(+)
diff --git a/media-libs/opencomposite/files/0001-Add-install-target.patch
b/media-libs/opencomposite/files/0001-Add-install-target.patch
new file mode 100644
index 000000000..d4f5d7b00
--- /dev/null
+++ b/media-libs/opencomposite/files/0001-Add-install-target.patch
@@ -0,0 +1,19 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 5956a67..3f0fda1 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -528,3 +528,11 @@ set_target_properties(OCOVR PROPERTIES
+ get_target_property(output_dir OCOVR LIBRARY_OUTPUT_DIRECTORY)
+ add_custom_command(TARGET OCOVR
+ PRE_LINK COMMAND ${CMAKE_COMMAND} -E make_directory ${output_dir})
++
++# Installation
++include(GNUInstallDirs)
++install(TARGETS OCOVR
++ LIBRARY
++ DESTINATION "${PROJECT_NAME}/${VRCLIENT_DIR}"
++ COMPONENT Runtime
++)
+--
+2.45.2
+
diff --git a/media-libs/opencomposite/files/openvrpaths.vrpath
b/media-libs/opencomposite/files/openvrpaths.vrpath
new file mode 100644
index 000000000..89991d9bf
--- /dev/null
+++ b/media-libs/opencomposite/files/openvrpaths.vrpath
@@ -0,0 +1,4 @@
+{
+ "runtime" : ["/opt/OpenComposite"],
+ "version" : 1
+}
diff --git a/media-libs/opencomposite/metadata.xml
b/media-libs/opencomposite/metadata.xml
new file mode 100644
index 000000000..ecba23c2d
--- /dev/null
+++ b/media-libs/opencomposite/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>[email protected]</email>
+ <name>Patrick Nicolas</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="gitlab">znixian/OpenOVR</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/media-libs/opencomposite/opencomposite-9999.ebuild
b/media-libs/opencomposite/opencomposite-9999.ebuild
new file mode 100644
index 000000000..0140cc7f5
--- /dev/null
+++ b/media-libs/opencomposite/opencomposite-9999.ebuild
@@ -0,0 +1,57 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+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"
+ KEYWORDS=""
+else
+ KEYWORDS="~amd64"
+fi
+
+LICENSE="GPL-3 Apache-2 MIT"
+SLOT="0"
+
+DEPEND=""
+RDEPEND="${DEPEND}"
+BDEPEND=""
+
+PATCHES=(
+ "${FILESDIR}/0001-Add-install-target.patch"
+)
+
+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"
+ )
+ cmake_src_configure
+}
+
+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."
+}