summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames Le Cuirot <chewi@gentoo.org>2019-02-26 23:38:04 +0000
committerJames Le Cuirot <chewi@gentoo.org>2019-02-26 23:38:04 +0000
commit22303f80085bab3b22af0b535097e237b302a033 (patch)
tree080ecb46eec0d587ed13fa49a25eeb618ed5c300
parentnet-analyzer/icinga2: 2.10.3 bump (diff)
downloadgentoo-22303f80085bab3b22af0b535097e237b302a033.tar.gz
gentoo-22303f80085bab3b22af0b535097e237b302a033.tar.bz2
gentoo-22303f80085bab3b22af0b535097e237b302a033.zip
app-emulation/gallium-nine-standalone: Version bump to 0.3
Package-Manager: Portage-2.3.62, Repoman-2.3.12 Signed-off-by: James Le Cuirot <chewi@gentoo.org>
-rw-r--r--app-emulation/gallium-nine-standalone/Manifest1
-rw-r--r--app-emulation/gallium-nine-standalone/files/0.3-nine-dll-path.patch13
-rw-r--r--app-emulation/gallium-nine-standalone/gallium-nine-standalone-0.3.ebuild112
-rw-r--r--app-emulation/gallium-nine-standalone/gallium-nine-standalone-9999.ebuild16
-rw-r--r--app-emulation/gallium-nine-standalone/metadata.xml2
5 files changed, 136 insertions, 8 deletions
diff --git a/app-emulation/gallium-nine-standalone/Manifest b/app-emulation/gallium-nine-standalone/Manifest
index 725f6ef859f8..963e790f0b2b 100644
--- a/app-emulation/gallium-nine-standalone/Manifest
+++ b/app-emulation/gallium-nine-standalone/Manifest
@@ -1 +1,2 @@
+DIST gallium-nine-standalone-0.3.tar.gz 63887 BLAKE2B bd198617a5d3d3830bd5127b63eed2c82bff037141ae72ff9237ad5062fdbe9b6797e233eaf86e06d92153487c53389eb094b0be3b0cbdbf3fe565292a15cbb0 SHA512 80fedca58523fbf318109d2d3d5420e97d26ebf5b89b9f1965165c7a33c9dab9c62a65f14b75569b5126c549f5df91beef372d54e94dc90c608932eeb6a59829
DIST gallium-nine-standalone-0_p20190113.tar.gz 58954 BLAKE2B 29be3f5501cc4463aa05216b7360e2a5a949c498dd1c3a0170d5a2f7f508c1fe3171f90f8e35bbe95530be5d6b98b70c5a99362e69d4a64615e40fbb9c8eb96a SHA512 2b2ab79b3d9f2c19967a16200cf69e7eba589d4d3d8918890b9504a5cb4895cd76000b6f3852baa738845e8508c6d67843f45d368225878d446ec6e907f75de4
diff --git a/app-emulation/gallium-nine-standalone/files/0.3-nine-dll-path.patch b/app-emulation/gallium-nine-standalone/files/0.3-nine-dll-path.patch
new file mode 100644
index 000000000000..830bdc4b32ed
--- /dev/null
+++ b/app-emulation/gallium-nine-standalone/files/0.3-nine-dll-path.patch
@@ -0,0 +1,13 @@
+diff --git a/ninewinecfg/main.c b/ninewinecfg/main.c
+index 3d58d67..e69668d 100644
+--- a/ninewinecfg/main.c
++++ b/ninewinecfg/main.c
+@@ -32,7 +32,7 @@
+
+ WINE_DEFAULT_DEBUG_CHANNEL(ninecfg);
+
+-static const char * const fn_nine_dll = "d3d9-nine.dll";
++static const char * const fn_nine_dll = G9DLL;
+ static const char * const fn_d3d9_dll = "d3d9.dll";
+ static const char * const fn_nine_exe = "ninewinecfg.exe";
+
diff --git a/app-emulation/gallium-nine-standalone/gallium-nine-standalone-0.3.ebuild b/app-emulation/gallium-nine-standalone/gallium-nine-standalone-0.3.ebuild
new file mode 100644
index 000000000000..852055dc803a
--- /dev/null
+++ b/app-emulation/gallium-nine-standalone/gallium-nine-standalone-0.3.ebuild
@@ -0,0 +1,112 @@
+# Copyright 1999-2019 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,${MULTILIB_USEDEP}]
+ x11-libs/libX11[${MULTILIB_USEDEP}]
+ x11-libs/libXext[${MULTILIB_USEDEP}]
+ x11-libs/libxcb[${MULTILIB_USEDEP}]
+"
+
+DEPEND="
+ ${RDEPEND}
+ virtual/pkgconfig[${MULTILIB_USEDEP}]
+ virtual/wine[${MULTILIB_USEDEP}]
+"
+
+PATCHES=(
+ "${FILESDIR}"/flags.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
+
+ # Yes, these ridiculous backslashes are needed!
+ g9dll=\\\\\\\\\\\"${g9dll//\\/\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\}\\\\\\\\\\\"
+
+ sed \
+ -e "s!@PKG_CONFIG@!$(tc-getPKG_CONFIG)!" \
+ -e "s!@CFLAGS@!$(_meson_env_array "${CFLAGS} -DG9DLL=${g9dll}")!" \
+ -e "s!@LDFLAGS@!$(_meson_env_array "${LDFLAGS}")!" \
+ ${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
+}
diff --git a/app-emulation/gallium-nine-standalone/gallium-nine-standalone-9999.ebuild b/app-emulation/gallium-nine-standalone/gallium-nine-standalone-9999.ebuild
index 0e73ee93be3c..852055dc803a 100644
--- a/app-emulation/gallium-nine-standalone/gallium-nine-standalone-9999.ebuild
+++ b/app-emulation/gallium-nine-standalone/gallium-nine-standalone-9999.ebuild
@@ -5,16 +5,16 @@ 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/dhewg/nine"
+HOMEPAGE="https://github.com/iXit/wine-nine-standalone"
if [[ $PV = 9999* ]]; then
inherit git-r3
- EGIT_REPO_URI="https://github.com/dhewg/nine.git"
+ EGIT_REPO_URI="https://github.com/iXit/${MY_PN}.git"
else
- COMMIT=""
- SRC_URI="https://github.com/dhewg/nine/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
- S="${WORKDIR}/nine-${COMMIT}"
+ 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
@@ -25,7 +25,7 @@ SLOT="0"
# Steam's Proton.
RDEPEND="
- media-libs/mesa[d3d9,egl,${MULTILIB_USEDEP}]
+ media-libs/mesa[d3d9,dri3,${MULTILIB_USEDEP}]
x11-libs/libX11[${MULTILIB_USEDEP}]
x11-libs/libXext[${MULTILIB_USEDEP}]
x11-libs/libxcb[${MULTILIB_USEDEP}]
@@ -39,7 +39,7 @@ DEPEND="
PATCHES=(
"${FILESDIR}"/flags.patch
- "${FILESDIR}"/nine-dll-path.patch
+ "${FILESDIR}"/0.3-nine-dll-path.patch
)
bits() {
@@ -82,6 +82,8 @@ multilib_src_configure() {
local emesonargs=(
--cross-file "${S}/tools/cross-wine$(bits)"
--bindir "$(get_libdir)"
+ -Ddistro-independent=false
+ -Ddri2=false
)
meson_src_configure
}
diff --git a/app-emulation/gallium-nine-standalone/metadata.xml b/app-emulation/gallium-nine-standalone/metadata.xml
index c661f33f58dd..99949f5b76d0 100644
--- a/app-emulation/gallium-nine-standalone/metadata.xml
+++ b/app-emulation/gallium-nine-standalone/metadata.xml
@@ -15,6 +15,6 @@ Gallium Nine Standalone, as the name implies, is a standalone version of the WIN
This decouples Gallium Nine from the WINE tree, so that it can be used with any WINE version. There is no need for any WINE patches. A stable, development, or staging WINE release is sufficient.
</longdescription>
<upstream>
- <remote-id type="github">dhewg/nine</remote-id>
+ <remote-id type="github">iXit/wine-nine-standalone</remote-id>
</upstream>
</pkgmetadata>