commit:     639b2e2b7df98733299d73e516a341b603e78136
Author:     Michael Mair-Keimberger <mmk <AT> levelnine <DOT> at>
AuthorDate: Wed May 29 19:10:22 2024 +0000
Commit:     Arthur Zamarin <arthurzam <AT> gentoo <DOT> org>
CommitDate: Thu May 30 05:55:30 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=639b2e2b

x11-misc/primus: EAPI8 bump

Signed-off-by: Michael Mair-Keimberger <mmk <AT> levelnine.at>
Signed-off-by: Arthur Zamarin <arthurzam <AT> gentoo.org>

 x11-misc/primus/primus-0.2-r4.ebuild | 62 ++++++++++++++++++++++++++++++++++++
 1 file changed, 62 insertions(+)

diff --git a/x11-misc/primus/primus-0.2-r4.ebuild 
b/x11-misc/primus/primus-0.2-r4.ebuild
new file mode 100644
index 000000000000..acd44b6182fd
--- /dev/null
+++ b/x11-misc/primus/primus-0.2-r4.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit multilib-build
+
+DESCRIPTION="Faster OpenGL offloading for Bumblebee"
+HOMEPAGE="https://github.com/amonakov/primus";
+SRC_URI="https://github.com/amonakov/${PN}/archive/v${PV}.tar.gz -> 
${P}.tar.gz"
+EGIT_REPO_URI="https://github.com/amonakov/${PN}.git";
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="+libglvnd"
+
+RDEPEND="
+       x11-misc/bumblebee
+       x11-drivers/nvidia-drivers[libglvnd(+)=]
+"
+DEPEND="virtual/opengl"
+
+PATCHES=(
+       "${FILESDIR}/primus-0.2-libglvnd-workaround.patch"
+       "${FILESDIR}/primus-0.2-respect-ldflags.patch"
+)
+
+src_prepare() {
+       default
+       # Exported values don't always seem to be used.  Until source fixed,
+       # patch primusrun script
+       if use libglvnd; then
+               sed -i "/libGLa/a export 
PRIMUS_libGLa='\/usr\/\$LIB\/libGLX_nvidia.so.0'" primusrun || die
+               sed -i "/libGLd/a export 
PRIMUS_libGLd='\/usr\/\$LIB\/libGLX.so.0'" primusrun || die
+       else
+               sed -i "/libGLa/a export 
PRIMUS_libGLa='\/usr\/$$LIB\/opengl\/nvidia\/lib/libGL.so.1'" primusrun || die
+       fi
+}
+
+src_compile() {
+       if use libglvnd; then
+               export PRIMUS_libGLa='/usr/$$LIB/libGLX_nvidia.so.0'
+               export PRIMUS_libGLd='/usr/$$LIB/libGLX.so.0'
+       else
+               export PRIMUS_libGLa='/usr/$$LIB/opengl/nvidia/lib/libGL.so.1'
+       fi
+       mymake() {
+               emake LIBDIR=$(get_libdir)
+       }
+       multilib_parallel_foreach_abi mymake
+}
+
+src_install() {
+       sed -i -e "s#^PRIMUS_libGL=.*#PRIMUS_libGL='/usr/\$LIB/primus'#" 
primusrun || die
+       dobin primusrun
+       myinst() {
+               insinto /usr/$(get_libdir)/primus
+               doins "${S}"/$(get_libdir)/libGL.so.1
+       }
+       multilib_foreach_abi myinst
+}

Reply via email to