From ac1b7e0eeda71029d1c9faba0a3bb56386ae9cc2 Mon Sep 17 00:00:00 2001
From: Ionen Wolkens <ionen@gentoo.org>
Date: Sun, 24 Apr 2022 18:14:13 -0400
Subject: games-util/libstrangle: new package, add 0.1.1_p20220222

Useful tool to limit frame rate, change vsync state,
and some other features.

Use snapshot to include the >=glibc-2.34 fix among others.

Signed-off-by: Ionen Wolkens <ionen@gentoo.org>
---
 games-util/libstrangle/Manifest                    |  1 +
 .../libstrangle/libstrangle-0.1.1_p20220222.ebuild | 71 ++++++++++++++++++++++
 games-util/libstrangle/metadata.xml                | 11 ++++
 3 files changed, 83 insertions(+)
 create mode 100644 games-util/libstrangle/Manifest
 create mode 100644 games-util/libstrangle/libstrangle-0.1.1_p20220222.ebuild
 create mode 100644 games-util/libstrangle/metadata.xml

(limited to 'games-util/libstrangle')

diff --git a/games-util/libstrangle/Manifest b/games-util/libstrangle/Manifest
new file mode 100644
index 000000000000..970a75cf0622
--- /dev/null
+++ b/games-util/libstrangle/Manifest
@@ -0,0 +1 @@
+DIST libstrangle-0.1.1_p20220222.tar.gz 947358 BLAKE2B 2222550e28d4af1dafc43691f3021fdac30445e3223673b74f69adfe681c9b1879925b3961dc9d086f2e5cadeeca7488e1a53bcdb6e302b2e4087a0f2a19a380 SHA512 5f6d7bc5acb95be4c0083a16134dfe7c6a95ab6a73cca69ec2d92cf75ebf5ecfaea08dda0d887e8e136fd410c988c0bd36289c2a17df3eb1698b453bb38c4011
diff --git a/games-util/libstrangle/libstrangle-0.1.1_p20220222.ebuild b/games-util/libstrangle/libstrangle-0.1.1_p20220222.ebuild
new file mode 100644
index 000000000000..1ecf01f317d3
--- /dev/null
+++ b/games-util/libstrangle/libstrangle-0.1.1_p20220222.ebuild
@@ -0,0 +1,71 @@
+# Copyright 2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit multilib multilib-minimal toolchain-funcs
+
+STRANGLE_COMMIT="0273e318e3b0cc759155db8729ad74266b74cb9b"
+
+DESCRIPTION="Frame rate limiter for OpenGL/Vulkan"
+HOMEPAGE="https://gitlab.com/torkel104/libstrangle/"
+SRC_URI="https://gitlab.com/torkel104/libstrangle/-/archive/${STRANGLE_COMMIT}/${P}.tar.gz"
+S="${WORKDIR}/${PN}-${STRANGLE_COMMIT}"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+# Note: requires a glibc version with DT_HASH fix or split libdl.so.
+# For the latter, <glibc-2.34 is acceptable but skip so portage
+# doesn't suggest downgrading to stable users.
+# https://gitlab.com/torkel104/libstrangle/-/issues/59
+# (cleanup these after fixed glibc is stable for some time)
+RDEPEND="
+	sys-apps/grep[pcre]
+	elibc_glibc? (
+		|| (
+			>=sys-libs/glibc-2.35-r4
+			(
+				>=sys-libs/glibc-2.34-r12
+				<sys-libs/glibc-2.35
+			)
+		)
+	)"
+DEPEND="
+	media-libs/libglvnd
+	dev-util/vulkan-headers"
+
+QA_SONAME="usr/lib.*/libstrangle.*" # intended for dlopen()
+
+src_prepare() {
+	default
+
+	sed -ri '/^C(XX)?FLAGS=/s|=|+=$(CPPFLAGS) |' makefile || die
+
+	multilib_copy_sources
+}
+
+multilib_src_compile() {
+	emake CC="$(tc-getCC)" CXX="$(tc-getCXX)" LD{,XX}FLAGS="${LDFLAGS}" native
+}
+
+multilib_src_install() {
+	local emakeargs=(
+		DESTDIR="${D}"
+		prefix="${EPREFIX}"/usr
+		libdir="${EPREFIX}"/usr/$(get_libdir)
+	)
+
+	emake "${emakeargs[@]}" install-native
+}
+
+multilib_src_install_all() {
+	emake DESTDIR="${D}" prefix="${EPREFIX}"/usr install-common
+	einstalldocs
+}
+
+pkg_postinst() {
+	has_multilib_profile && use amd64 && use !abi_x86_32 &&
+		ewarn "Note that USE=abi_x86_32 is needed for 32bit games (common with steam / wine)"
+}
diff --git a/games-util/libstrangle/metadata.xml b/games-util/libstrangle/metadata.xml
new file mode 100644
index 000000000000..1af7db338edf
--- /dev/null
+++ b/games-util/libstrangle/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>ionen@gentoo.org</email>
+		<name>Ionen Wolkens</name>
+	</maintainer>
+	<upstream>
+		<remote-id type="gitlab">torkel104/libstrangle</remote-id>
+	</upstream>
+</pkgmetadata>
-- 
cgit v1.2.3-65-gdbad