From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id A44F0138359 for ; Sat, 22 Aug 2020 20:03:30 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id CB25CE0839; Sat, 22 Aug 2020 20:03:29 +0000 (UTC) Received: from smtp.gentoo.org (mail.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id A76C5E0837 for ; Sat, 22 Aug 2020 20:03:29 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 04143340D96 for ; Sat, 22 Aug 2020 20:03:28 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 6FFAE31A for ; Sat, 22 Aug 2020 20:03:26 +0000 (UTC) From: "James Le Cuirot" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "James Le Cuirot" Message-ID: <1598126540.cd74f463fd47fb977e24435528091b79c7d35e8d.chewi@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: app-emulation/gallium-nine-standalone/ X-VCS-Repository: repo/gentoo X-VCS-Files: app-emulation/gallium-nine-standalone/Manifest app-emulation/gallium-nine-standalone/gallium-nine-standalone-0.7.ebuild X-VCS-Directories: app-emulation/gallium-nine-standalone/ X-VCS-Committer: chewi X-VCS-Committer-Name: James Le Cuirot X-VCS-Revision: cd74f463fd47fb977e24435528091b79c7d35e8d X-VCS-Branch: master Date: Sat, 22 Aug 2020 20:03:26 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: 183f090e-89f7-424f-ac66-91d715dc1a81 X-Archives-Hash: d31b153d6fcc0e32167ae96395757ca4 commit: cd74f463fd47fb977e24435528091b79c7d35e8d Author: James Le Cuirot gentoo org> AuthorDate: Sat Aug 22 20:02:20 2020 +0000 Commit: James Le Cuirot gentoo 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 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 +}