public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "James Le Cuirot" <chewi@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: app-emulation/gallium-nine-standalone/
Date: Sat, 22 Aug 2020 20:03:26 +0000 (UTC)	[thread overview]
Message-ID: <1598126540.cd74f463fd47fb977e24435528091b79c7d35e8d.chewi@gentoo> (raw)

commit:     cd74f463fd47fb977e24435528091b79c7d35e8d
Author:     James Le Cuirot <chewi <AT> gentoo <DOT> org>
AuthorDate: Sat Aug 22 20:02:20 2020 +0000
Commit:     James Le Cuirot <chewi <AT> gentoo <DOT> org>
CommitDate: Sat Aug 22 20:02:20 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cd74f463

app-emulation/gallium-nine-standalone: Bump to 0.7

Package-Manager: Portage-3.0.4, Repoman-3.0.1
Signed-off-by: James Le Cuirot <chewi <AT> gentoo.org>

 app-emulation/gallium-nine-standalone/Manifest     |   1 +
 .../gallium-nine-standalone-0.7.ebuild             | 110 +++++++++++++++++++++
 2 files changed, 111 insertions(+)

diff --git a/app-emulation/gallium-nine-standalone/Manifest b/app-emulation/gallium-nine-standalone/Manifest
index 83e47d1230a..bb32fe0d3fb 100644
--- a/app-emulation/gallium-nine-standalone/Manifest
+++ b/app-emulation/gallium-nine-standalone/Manifest
@@ -1 +1,2 @@
 DIST gallium-nine-standalone-0.5.tar.gz 69056 BLAKE2B 6acfd500a31e480e2e09e751097beaa2bc94c574edd2b313adb707dc65447be1868ed190bf13549cc38eae945d421242a5d3b2c068486ad35347903e27e0bf80 SHA512 6223a851536c67d32e3a834d7a3c7b93fb59c226b127e1ee1b5a72a7cc93172173f5004ca4944a842015650ef80e8427a684109ae5a4a9e9ef838961e0767c78
+DIST gallium-nine-standalone-0.7.tar.gz 67699 BLAKE2B 85520de46e0e821f63d89691e322c3001ae853a0058a5077b484da6a1596a7ed03d2e2b7dc2686661fd21d34b33e10f4549437ce5790f18e1e6cc77c894e9d1e SHA512 9007564347bb6677f3d4eff83f744d39487c09b543489f02dcf7606917ecd9b72decf8176d9daecb6039b8998e97f737d9f7a71a5052f4d5c73f2e99e92af43c

diff --git a/app-emulation/gallium-nine-standalone/gallium-nine-standalone-0.7.ebuild b/app-emulation/gallium-nine-standalone/gallium-nine-standalone-0.7.ebuild
new file mode 100644
index 00000000000..3e96326a2fc
--- /dev/null
+++ b/app-emulation/gallium-nine-standalone/gallium-nine-standalone-0.7.ebuild
@@ -0,0 +1,110 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit meson multilib-minimal toolchain-funcs
+
+MY_PN="wine-nine-standalone"
+DESCRIPTION="A standalone version of the WINE parts of Gallium Nine"
+HOMEPAGE="https://github.com/iXit/wine-nine-standalone"
+
+if [[ $PV = 9999* ]]; then
+	inherit git-r3
+	EGIT_REPO_URI="https://github.com/iXit/${MY_PN}.git"
+else
+	SRC_URI="https://github.com/iXit/${MY_PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+	S="${WORKDIR}/${MY_PN}-${PV}"
+	KEYWORDS="-* ~amd64 ~x86"
+fi
+
+LICENSE="LGPL-2.1+"
+SLOT="0"
+
+# We don't put Wine in RDEPEND because you can also use this with
+# Steam's Proton.
+
+RDEPEND="
+	media-libs/mesa[d3d9,dri3,X(+),${MULTILIB_USEDEP}]
+	x11-libs/libX11[${MULTILIB_USEDEP}]
+	x11-libs/libxcb[${MULTILIB_USEDEP}]
+"
+
+DEPEND="
+	${RDEPEND}
+	virtual/pkgconfig
+	virtual/wine[${MULTILIB_USEDEP}]
+	>=dev-util/meson-0.50.1
+"
+
+PATCHES=(
+	"${FILESDIR}"/0.7-cross-files.patch
+	"${FILESDIR}"/0.3-nine-dll-path.patch
+)
+
+bits() {
+	if [[ ${ABI} = amd64 ]]; then
+		echo 64
+	else
+		echo 32
+	fi
+}
+
+src_prepare() {
+	default
+
+	# Upstream includes a bootstrap.sh script with hardcoded CHOSTs to
+	# create the Meson cross files. We improve on that here but also
+	# inject CFLAGS and LDFLAGS, partly to simply respect these, and
+	# partly to allow d3d9-nine.dll to be loaded from a location outside
+	# WINEPREFIX. This avoids the need for the nine-install.sh script,
+	# which doesn't play well with our multi-Wine environment.
+	bootstrap_nine() {
+		local file=tools/cross-wine$(bits)
+		local g9dll=\"Z:${EPREFIX}/usr/$(get_libdir)/d3d9-nine.dll.so\"
+
+		sed \
+			-e "s!@PKG_CONFIG@!$(tc-getPKG_CONFIG)!" \
+			-e "s!@CFLAGS@!$(_meson_env_array "${CFLAGS} '-DG9DLL=${g9dll}'")!" \
+			-e "s!@LDFLAGS@!$(_meson_env_array "${LDFLAGS}")!" \
+			-e "s!@PKG_CONFIG_LIBDIR@!${PKG_CONFIG_LIBDIR:-${ESYSROOT}/usr/$(get_libdir)/pkgconfig}!" \
+			${file}.in > ${file} || die
+	}
+
+	multilib_foreach_abi bootstrap_nine
+}
+
+multilib_src_configure() {
+	# We override bindir because otherwise the 32-bit exe is overwritten
+	# by the 64-bit exe and we need both of them.
+	local emesonargs=(
+		--cross-file "${S}/tools/cross-wine$(bits)"
+		--bindir "$(get_libdir)"
+		-Ddistro-independent=false
+		-Ddri2=false
+	)
+	meson_src_configure
+}
+
+multilib_src_compile() {
+	meson_src_compile
+}
+
+multilib_src_install() {
+	meson_src_install
+}
+
+pkg_postinst() {
+	local bits=$(bits)
+
+	einfo "Don't remove the Z: drive from your WINEPREFIX as this relies on it."
+	einfo
+	einfo "To set up the ${bits}-bit library, launch your preferred Wine as follows:"
+	einfo "  wine${bits/32} ${EPREFIX}/usr/$(get_libdir)/ninewinecfg.exe.so"
+
+	if use abi_x86_64 && use abi_x86_32; then
+		einfo
+		einfo "To set up the 32-bit library, launch your preferred Wine as follows:"
+		einfo "  wine ${EPREFIX}/usr/$(ABI=x86 get_libdir)/ninewinecfg.exe.so"
+	fi
+}


             reply	other threads:[~2020-08-22 20:03 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-08-22 20:03 James Le Cuirot [this message]
  -- strict thread matches above, loose matches on Subject: below --
2024-12-28 22:52 [gentoo-commits] repo/gentoo:master commit in: app-emulation/gallium-nine-standalone/ James Le Cuirot
2024-12-28 22:52 James Le Cuirot
2024-02-13 22:23 James Le Cuirot
2023-10-29 23:00 James Le Cuirot
2021-07-21 22:33 Matt Turner
2019-05-01 20:08 James Le Cuirot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1598126540.cd74f463fd47fb977e24435528091b79c7d35e8d.chewi@gentoo \
    --to=chewi@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox