public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "NP Hardass" <np-hardass@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine/
Date: Thu, 11 Aug 2016 04:29:06 +0000 (UTC)	[thread overview]
Message-ID: <1470889738.c09ae91a0f5792947bd9dfa6b9e0a13eb41e7999.np-hardass@gentoo> (raw)

commit:     c09ae91a0f5792947bd9dfa6b9e0a13eb41e7999
Author:     NP-Hardass <NP-Hardass <AT> gentoo <DOT> org>
AuthorDate: Wed Aug 10 22:55:44 2016 +0000
Commit:     NP Hardass <np-hardass <AT> gentoo <DOT> org>
CommitDate: Thu Aug 11 04:28:58 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c09ae91a

app-emulation/wine: Fix staging gtk theming dependency and adjust syntax

Package-Manager: portage-2.3.0

 app-emulation/wine/metadata.xml                    |  7 ++--
 .../{wine-1.8-r2.ebuild => wine-1.8-r3.ebuild}     | 39 +++++++++----------
 .../{wine-1.8.1-r2.ebuild => wine-1.8.1-r3.ebuild} | 39 +++++++++----------
 .../{wine-1.8.2-r1.ebuild => wine-1.8.2-r2.ebuild} | 39 +++++++++----------
 .../{wine-1.8.2-r1.ebuild => wine-1.8.3-r1.ebuild} | 40 +++++++++-----------
 ...wine-1.9.10-r2.ebuild => wine-1.9.10-r3.ebuild} | 44 ++++++++++------------
 ...wine-1.9.11-r2.ebuild => wine-1.9.11-r3.ebuild} | 44 ++++++++++------------
 ...wine-1.9.12-r1.ebuild => wine-1.9.12-r2.ebuild} | 44 ++++++++++------------
 ...wine-1.9.14-r1.ebuild => wine-1.9.13-r2.ebuild} | 44 ++++++++++------------
 .../{wine-1.9.15.ebuild => wine-1.9.14-r2.ebuild}  | 44 ++++++++++------------
 ...wine-1.9.13-r1.ebuild => wine-1.9.15-r1.ebuild} | 44 ++++++++++------------
 .../{wine-1.9.4-r2.ebuild => wine-1.9.4-r3.ebuild} | 38 +++++++++----------
 .../{wine-1.9.5-r2.ebuild => wine-1.9.5-r3.ebuild} | 38 +++++++++----------
 .../{wine-1.9.6-r2.ebuild => wine-1.9.6-r3.ebuild} | 38 +++++++++----------
 .../{wine-1.9.7-r2.ebuild => wine-1.9.7-r3.ebuild} | 38 +++++++++----------
 .../{wine-1.9.8-r1.ebuild => wine-1.9.8-r2.ebuild} | 38 +++++++++----------
 .../{wine-1.9.9-r2.ebuild => wine-1.9.9-r3.ebuild} | 44 ++++++++++------------
 app-emulation/wine/wine-9999.ebuild                | 44 ++++++++++------------
 18 files changed, 325 insertions(+), 381 deletions(-)

diff --git a/app-emulation/wine/metadata.xml b/app-emulation/wine/metadata.xml
index aa61670..02c8686 100644
--- a/app-emulation/wine/metadata.xml
+++ b/app-emulation/wine/metadata.xml
@@ -22,8 +22,7 @@ Think of Wine as a compatibility layer for running Windows programs. Wine does n
 			This patch may break some applications.</flag>
 		<flag name="dos">Pull in <pkg>games-emulation/dosbox</pkg> to run DOS applications</flag>
 		<flag name="gecko">Add support for the Gecko engine when using iexplore</flag>
-		<flag name="gstreamer">Use <pkg>media-libs/gstreamer</pkg> to provide DirectShow functionality;
-			For versions before wine-1.9.2, uses experimental patch which may break some apps</flag>
+		<flag name="gstreamer">Use <pkg>media-libs/gstreamer</pkg> to provide DirectShow functionality;</flag>
 		<flag name="mono">Add support for .NET using Wine's Mono add-on</flag>
 		<flag name="netapi">Use libnetapi from <pkg>net-fs/samba</pkg> to support Windows networks in netapi32.dll</flag>
 		<flag name="opencl">Enable OpenCL support</flag>
@@ -39,8 +38,8 @@ Think of Wine as a compatibility layer for running Windows programs. Wine does n
 		<flag name="samba">Add support for NTLM auth. see
 		http://wiki.winehq.org/NtlmAuthSetupGuide and
 		http://wiki.winehq.org/NtlmSigningAndSealing</flag>
-		<flag name="staging">Apply Wine-Staging patches for advanced feature support that haven't made it into upstream Wine yet
-			For versions before wine-1.8, this patchset is unofficial.</flag>
+		<flag name="staging">Apply Wine-Staging patches for advanced feature support that haven't made it into upstream Wine yet</flag>
+		<flag name="themes">Support GTK+:3 window theming through Wine-Staging</flag>
 	</use>
 	<upstream>
 		<remote-id type="github">wine-compholio/wine-staging</remote-id>

diff --git a/app-emulation/wine/wine-1.8-r2.ebuild b/app-emulation/wine/wine-1.8-r3.ebuild
similarity index 95%
rename from app-emulation/wine/wine-1.8-r2.ebuild
rename to app-emulation/wine/wine-1.8-r3.ebuild
index 60871af..ad22c09 100644
--- a/app-emulation/wine/wine-1.8-r2.ebuild
+++ b/app-emulation/wine/wine-1.8-r3.ebuild
@@ -58,7 +58,7 @@ fi
 
 LICENSE="LGPL-2.1"
 SLOT="0"
-IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png prelink pulseaudio +realtime +run-exes s3tc samba scanner selinux +ssl staging test +threads +truetype +udisks v4l vaapi +X +xcomposite xinerama +xml"
+IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png prelink pulseaudio +realtime +run-exes s3tc samba scanner selinux +ssl staging test themes +threads +truetype +udisks v4l vaapi +X +xcomposite xinerama +xml"
 REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
 	X? ( truetype )
 	elibc_glibc? ( threads )
@@ -67,6 +67,7 @@ REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
 	pipelight? ( staging )
 	s3tc? ( staging )
 	test? ( abi_x86_32 )
+	themes? ( staging )
 	vaapi? ( staging )" # osmesa-opengl #286560 # X-truetype #551124
 
 # FIXME: the test suite is unsuitable for us; many tests require net access
@@ -112,6 +113,11 @@ COMMON_DEPEND="
 	scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
 	ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
 	staging? ( sys-apps/attr[${MULTILIB_USEDEP}] )
+	themes? (
+		dev-libs/glib:2[${MULTILIB_USEDEP}]
+		x11-libs/cairo[${MULTILIB_USEDEP}]
+		x11-libs/gtk+:3[${MULTILIB_USEDEP}]
+	)
 	truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
 	udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
 	v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
@@ -189,8 +195,7 @@ wine_compiler_check() {
 			$(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
 			# Run in subshell to prevent "Aborted" message
 			( "${T}"/pr66838 || false ) >/dev/null 2>&1
-			eend $?
-			if [[ $? -ne 0 ]] ; then
+			if ! eend $?; then
 				eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
 				eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
 				eerror "or use gcc-config to select a different compiler version."
@@ -203,9 +208,8 @@ wine_compiler_check() {
 		if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
 			ebegin "Checking for gcc-5-3 stack realignment compiler bug"
 			# Compile in subshell to prevent "Aborted" message
-			( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${FILESDIR}"/pr69140.c -o "${T}"/pr69140 || false ) >/dev/null 2>&1
-			eend $?
-			if [[ $? -ne 0 ]] ; then
+			( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${FILESDIR}"/pr69140.c -o "${T}"/pr69140 ) >/dev/null 2>&1
+			if ! eend $?; then
 				eerror "Wine cannot be built with this version of gcc-5.3"
 				eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
 				eerror "or use gcc-config to select a different compiler version."
@@ -221,8 +225,7 @@ wine_compiler_check() {
 		ebegin "Checking for 64-bit compiler with builtin_ms_va_list support"
 		# Compile in subshell to prevent "Aborted" message
 		( $(tc-getCC) -O2 "${FILESDIR}"/builtin_ms_va_list.c -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
-		eend $?
-		if [[ $? -ne 0 ]]; then
+		if ! eend $?; then
 			eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine"
 			eerror
 			eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
@@ -235,7 +238,7 @@ wine_compiler_check() {
 wine_build_environment_check() {
 	[[ ${MERGE_TYPE} = "binary" ]] && return 0
 
-	if use abi_x86_32 && use opencl && [[ x$(eselect opencl show 2> /dev/null) = "xintel" ]]; then
+	if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then
 		eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
 		eerror "See https://bugs.gentoo.org/487864 for more details."
 		eerror
@@ -249,8 +252,7 @@ pkg_pretend() {
 
 	# Verify OSS support
 	if use oss && ! use kernel_FreeBSD; then
-		local oss_vers=$(best_version media-sound/oss)
-		if [[ -z ${oss_vers} ]] || ! version_is_at_least "4" ${oss_vers}; then
+		if ! has_version ">=media-sound/oss-4"; then
 			eerror "You cannot build wine with USE=oss without having support from a"
 			eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)"
 			eerror
@@ -276,10 +278,8 @@ src_unpack() {
 		if use staging; then
 			local WINE_COMMIT=${EGIT_VERSION}
 
-			EGIT_REPO_URI=${STAGING_EGIT_REPO_URI}
-			unset ${PN}_LIVE_{REPO,BRANCH,COMMIT} EGIT_COMMIT;
-
-			EGIT_CHECKOUT_DIR=${STAGING_DIR} git-r3_src_unpack
+			git-r3_fetch "${STAGING_EGIT_REPO_URI}"
+			git-r3_checkout "${STAGING_EGIT_REPO_URI}" "${STAGING_DIR}"
 
 			local STAGING_COMMIT=$("${STAGING_DIR}/patches/patchinstall.sh" --upstream-commit) || die
 
@@ -289,13 +289,9 @@ src_unpack() {
 				einfo "Example: EGIT_COMMIT=${STAGING_COMMIT} emerge -1 wine"
 			fi
 		fi
-	else
-		unpack ${P}.tar.bz2
-		use staging && unpack "${STAGING_P}.tar.gz"
 	fi
 
-	unpack "${WINE_GENTOO}.tar.bz2"
-	unpack "${GST_P}.patch.bz2"
+	default
 
 	l10n_find_plocales_changes "${S}/po" "" ".po"
 }
@@ -325,7 +321,7 @@ src_prepare() {
 			cd "${STAGING_DIR}/patches"
 			source "${STAGING_DIR}/patches/patchinstall.sh"
 		)
-		eend $?
+		eend $? || die "Failed to apply Wine-Staging patches"
 	fi
 
 	default
@@ -398,6 +394,7 @@ multilib_src_configure() {
 
 	use staging && myconf+=(
 		--with-xattr
+		$(use_with themes gtk3)
 		$(use_with vaapi va)
 	)
 

diff --git a/app-emulation/wine/wine-1.8.1-r2.ebuild b/app-emulation/wine/wine-1.8.1-r3.ebuild
similarity index 95%
rename from app-emulation/wine/wine-1.8.1-r2.ebuild
rename to app-emulation/wine/wine-1.8.1-r3.ebuild
index 79bcfa0..56ea43c 100644
--- a/app-emulation/wine/wine-1.8.1-r2.ebuild
+++ b/app-emulation/wine/wine-1.8.1-r3.ebuild
@@ -59,7 +59,7 @@ fi
 
 LICENSE="LGPL-2.1"
 SLOT="0"
-IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png prelink pulseaudio +realtime +run-exes s3tc samba scanner selinux +ssl staging test +threads +truetype +udisks v4l vaapi +X +xcomposite xinerama +xml"
+IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png prelink pulseaudio +realtime +run-exes s3tc samba scanner selinux +ssl staging test themes +threads +truetype +udisks v4l vaapi +X +xcomposite xinerama +xml"
 REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
 	X? ( truetype )
 	elibc_glibc? ( threads )
@@ -68,6 +68,7 @@ REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
 	pipelight? ( staging )
 	s3tc? ( staging )
 	test? ( abi_x86_32 )
+	themes? ( staging )
 	vaapi? ( staging )" # osmesa-opengl #286560 # X-truetype #551124
 
 # FIXME: the test suite is unsuitable for us; many tests require net access
@@ -113,6 +114,11 @@ COMMON_DEPEND="
 	scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
 	ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
 	staging? ( sys-apps/attr[${MULTILIB_USEDEP}] )
+	themes? (
+		dev-libs/glib:2[${MULTILIB_USEDEP}]
+		x11-libs/cairo[${MULTILIB_USEDEP}]
+		x11-libs/gtk+:3[${MULTILIB_USEDEP}]
+	)
 	truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
 	udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
 	v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
@@ -190,8 +196,7 @@ wine_compiler_check() {
 			$(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
 			# Run in subshell to prevent "Aborted" message
 			( "${T}"/pr66838 || false ) >/dev/null 2>&1
-			eend $?
-			if [[ $? -ne 0 ]] ; then
+			if ! eend $?; then
 				eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
 				eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
 				eerror "or use gcc-config to select a different compiler version."
@@ -204,9 +209,8 @@ wine_compiler_check() {
 		if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
 			ebegin "Checking for gcc-5-3 stack realignment compiler bug"
 			# Compile in subshell to prevent "Aborted" message
-			( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${FILESDIR}"/pr69140.c -o "${T}"/pr69140 || false ) >/dev/null 2>&1
-			eend $?
-			if [[ $? -ne 0 ]] ; then
+			( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${FILESDIR}"/pr69140.c -o "${T}"/pr69140 ) >/dev/null 2>&1
+			if ! eend $?; then
 				eerror "Wine cannot be built with this version of gcc-5.3"
 				eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
 				eerror "or use gcc-config to select a different compiler version."
@@ -222,8 +226,7 @@ wine_compiler_check() {
 		ebegin "Checking for 64-bit compiler with builtin_ms_va_list support"
 		# Compile in subshell to prevent "Aborted" message
 		( $(tc-getCC) -O2 "${FILESDIR}"/builtin_ms_va_list.c -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
-		eend $?
-		if [[ $? -ne 0 ]]; then
+		if ! eend $?; then
 			eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine"
 			eerror
 			eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
@@ -236,7 +239,7 @@ wine_compiler_check() {
 wine_build_environment_check() {
 	[[ ${MERGE_TYPE} = "binary" ]] && return 0
 
-	if use abi_x86_32 && use opencl && [[ x$(eselect opencl show 2> /dev/null) = "xintel" ]]; then
+	if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then
 		eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
 		eerror "See https://bugs.gentoo.org/487864 for more details."
 		eerror
@@ -250,8 +253,7 @@ pkg_pretend() {
 
 	# Verify OSS support
 	if use oss && ! use kernel_FreeBSD; then
-		local oss_vers=$(best_version media-sound/oss)
-		if [[ -z ${oss_vers} ]] || ! version_is_at_least "4" ${oss_vers}; then
+		if ! has_version ">=media-sound/oss-4"; then
 			eerror "You cannot build wine with USE=oss without having support from a"
 			eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)"
 			eerror
@@ -277,10 +279,8 @@ src_unpack() {
 		if use staging; then
 			local WINE_COMMIT=${EGIT_VERSION}
 
-			EGIT_REPO_URI=${STAGING_EGIT_REPO_URI}
-			unset ${PN}_LIVE_{REPO,BRANCH,COMMIT} EGIT_COMMIT;
-
-			EGIT_CHECKOUT_DIR=${STAGING_DIR} git-r3_src_unpack
+			git-r3_fetch "${STAGING_EGIT_REPO_URI}"
+			git-r3_checkout "${STAGING_EGIT_REPO_URI}" "${STAGING_DIR}"
 
 			local STAGING_COMMIT=$("${STAGING_DIR}/patches/patchinstall.sh" --upstream-commit) || die
 
@@ -290,13 +290,9 @@ src_unpack() {
 				einfo "Example: EGIT_COMMIT=${STAGING_COMMIT} emerge -1 wine"
 			fi
 		fi
-	else
-		unpack ${P}.tar.bz2
-		use staging && unpack "${STAGING_P}.tar.gz"
 	fi
 
-	unpack "${WINE_GENTOO}.tar.bz2"
-	unpack "${GST_P}.patch.bz2"
+	default
 
 	l10n_find_plocales_changes "${S}/po" "" ".po"
 }
@@ -326,7 +322,7 @@ src_prepare() {
 			cd "${STAGING_DIR}/patches"
 			source "${STAGING_DIR}/patches/patchinstall.sh"
 		)
-		eend $?
+		eend $? || die "Failed to apply Wine-Staging patches"
 
 		# To differentiate unofficial staging releases
 		if [[ ! -z ${SUFFIX} ]]; then
@@ -404,6 +400,7 @@ multilib_src_configure() {
 
 	use staging && myconf+=(
 		--with-xattr
+		$(use_with themes gtk3)
 		$(use_with vaapi va)
 	)
 

diff --git a/app-emulation/wine/wine-1.8.2-r1.ebuild b/app-emulation/wine/wine-1.8.2-r2.ebuild
similarity index 95%
copy from app-emulation/wine/wine-1.8.2-r1.ebuild
copy to app-emulation/wine/wine-1.8.2-r2.ebuild
index 772d165..2276923 100644
--- a/app-emulation/wine/wine-1.8.2-r1.ebuild
+++ b/app-emulation/wine/wine-1.8.2-r2.ebuild
@@ -59,7 +59,7 @@ fi
 
 LICENSE="LGPL-2.1"
 SLOT="0"
-IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png prelink pulseaudio +realtime +run-exes s3tc samba scanner selinux +ssl staging test +threads +truetype +udisks v4l vaapi +X +xcomposite xinerama +xml"
+IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png prelink pulseaudio +realtime +run-exes s3tc samba scanner selinux +ssl staging test themes +threads +truetype +udisks v4l vaapi +X +xcomposite xinerama +xml"
 REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
 	X? ( truetype )
 	elibc_glibc? ( threads )
@@ -68,6 +68,7 @@ REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
 	pipelight? ( staging )
 	s3tc? ( staging )
 	test? ( abi_x86_32 )
+	themes? ( staging )
 	vaapi? ( staging )" # osmesa-opengl #286560 # X-truetype #551124
 
 # FIXME: the test suite is unsuitable for us; many tests require net access
@@ -113,6 +114,11 @@ COMMON_DEPEND="
 	scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
 	ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
 	staging? ( sys-apps/attr[${MULTILIB_USEDEP}] )
+	themes? (
+		dev-libs/glib:2[${MULTILIB_USEDEP}]
+		x11-libs/cairo[${MULTILIB_USEDEP}]
+		x11-libs/gtk+:3[${MULTILIB_USEDEP}]
+	)
 	truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
 	udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
 	v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
@@ -190,8 +196,7 @@ wine_compiler_check() {
 			$(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
 			# Run in subshell to prevent "Aborted" message
 			( "${T}"/pr66838 || false ) >/dev/null 2>&1
-			eend $?
-			if [[ $? -ne 0 ]] ; then
+			if ! eend $?; then
 				eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
 				eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
 				eerror "or use gcc-config to select a different compiler version."
@@ -204,9 +209,8 @@ wine_compiler_check() {
 		if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
 			ebegin "Checking for gcc-5-3 stack realignment compiler bug"
 			# Compile in subshell to prevent "Aborted" message
-			( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${FILESDIR}"/pr69140.c -o "${T}"/pr69140 || false ) >/dev/null 2>&1
-			eend $?
-			if [[ $? -ne 0 ]] ; then
+			( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${FILESDIR}"/pr69140.c -o "${T}"/pr69140 ) >/dev/null 2>&1
+			if ! eend $?; then
 				eerror "Wine cannot be built with this version of gcc-5.3"
 				eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
 				eerror "or use gcc-config to select a different compiler version."
@@ -222,8 +226,7 @@ wine_compiler_check() {
 		ebegin "Checking for 64-bit compiler with builtin_ms_va_list support"
 		# Compile in subshell to prevent "Aborted" message
 		( $(tc-getCC) -O2 "${FILESDIR}"/builtin_ms_va_list.c -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
-		eend $?
-		if [[ $? -ne 0 ]]; then
+		if ! eend $?; then
 			eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine"
 			eerror
 			eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
@@ -236,7 +239,7 @@ wine_compiler_check() {
 wine_build_environment_check() {
 	[[ ${MERGE_TYPE} = "binary" ]] && return 0
 
-	if use abi_x86_32 && use opencl && [[ x$(eselect opencl show 2> /dev/null) = "xintel" ]]; then
+	if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then
 		eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
 		eerror "See https://bugs.gentoo.org/487864 for more details."
 		eerror
@@ -250,8 +253,7 @@ pkg_pretend() {
 
 	# Verify OSS support
 	if use oss && ! use kernel_FreeBSD; then
-		local oss_vers=$(best_version media-sound/oss)
-		if [[ -z ${oss_vers} ]] || ! version_is_at_least "4" ${oss_vers}; then
+		if ! has_version ">=media-sound/oss-4"; then
 			eerror "You cannot build wine with USE=oss without having support from a"
 			eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)"
 			eerror
@@ -277,10 +279,8 @@ src_unpack() {
 		if use staging; then
 			local WINE_COMMIT=${EGIT_VERSION}
 
-			EGIT_REPO_URI=${STAGING_EGIT_REPO_URI}
-			unset ${PN}_LIVE_{REPO,BRANCH,COMMIT} EGIT_COMMIT;
-
-			EGIT_CHECKOUT_DIR=${STAGING_DIR} git-r3_src_unpack
+			git-r3_fetch "${STAGING_EGIT_REPO_URI}"
+			git-r3_checkout "${STAGING_EGIT_REPO_URI}" "${STAGING_DIR}"
 
 			local STAGING_COMMIT=$("${STAGING_DIR}/patches/patchinstall.sh" --upstream-commit) || die
 
@@ -290,13 +290,9 @@ src_unpack() {
 				einfo "Example: EGIT_COMMIT=${STAGING_COMMIT} emerge -1 wine"
 			fi
 		fi
-	else
-		unpack ${P}.tar.bz2
-		use staging && unpack "${STAGING_P}.tar.gz"
 	fi
 
-	unpack "${WINE_GENTOO}.tar.bz2"
-	unpack "${GST_P}.patch.bz2"
+	default
 
 	l10n_find_plocales_changes "${S}/po" "" ".po"
 }
@@ -326,7 +322,7 @@ src_prepare() {
 			cd "${STAGING_DIR}/patches"
 			source "${STAGING_DIR}/patches/patchinstall.sh"
 		)
-		eend $?
+		eend $? || die "Failed to apply Wine-Staging patches"
 
 		# To differentiate unofficial staging releases
 		if [[ ! -z ${SUFFIX} ]]; then
@@ -404,6 +400,7 @@ multilib_src_configure() {
 
 	use staging && myconf+=(
 		--with-xattr
+		$(use_with themes gtk3)
 		$(use_with vaapi va)
 	)
 

diff --git a/app-emulation/wine/wine-1.8.2-r1.ebuild b/app-emulation/wine/wine-1.8.3-r1.ebuild
similarity index 95%
rename from app-emulation/wine/wine-1.8.2-r1.ebuild
rename to app-emulation/wine/wine-1.8.3-r1.ebuild
index 772d165..8ef5cc9 100644
--- a/app-emulation/wine/wine-1.8.2-r1.ebuild
+++ b/app-emulation/wine/wine-1.8.3-r1.ebuild
@@ -59,7 +59,7 @@ fi
 
 LICENSE="LGPL-2.1"
 SLOT="0"
-IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png prelink pulseaudio +realtime +run-exes s3tc samba scanner selinux +ssl staging test +threads +truetype +udisks v4l vaapi +X +xcomposite xinerama +xml"
+IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png prelink pulseaudio +realtime +run-exes s3tc samba scanner selinux +ssl staging test themes +threads +truetype +udisks v4l vaapi +X +xcomposite xinerama +xml"
 REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
 	X? ( truetype )
 	elibc_glibc? ( threads )
@@ -68,6 +68,7 @@ REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
 	pipelight? ( staging )
 	s3tc? ( staging )
 	test? ( abi_x86_32 )
+	themes? ( staging )
 	vaapi? ( staging )" # osmesa-opengl #286560 # X-truetype #551124
 
 # FIXME: the test suite is unsuitable for us; many tests require net access
@@ -113,6 +114,11 @@ COMMON_DEPEND="
 	scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
 	ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
 	staging? ( sys-apps/attr[${MULTILIB_USEDEP}] )
+	themes? (
+		dev-libs/glib:2[${MULTILIB_USEDEP}]
+		x11-libs/cairo[${MULTILIB_USEDEP}]
+		x11-libs/gtk+:3[${MULTILIB_USEDEP}]
+	)
 	truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
 	udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
 	v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
@@ -190,8 +196,7 @@ wine_compiler_check() {
 			$(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
 			# Run in subshell to prevent "Aborted" message
 			( "${T}"/pr66838 || false ) >/dev/null 2>&1
-			eend $?
-			if [[ $? -ne 0 ]] ; then
+			if ! eend $?; then
 				eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
 				eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
 				eerror "or use gcc-config to select a different compiler version."
@@ -204,9 +209,8 @@ wine_compiler_check() {
 		if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
 			ebegin "Checking for gcc-5-3 stack realignment compiler bug"
 			# Compile in subshell to prevent "Aborted" message
-			( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${FILESDIR}"/pr69140.c -o "${T}"/pr69140 || false ) >/dev/null 2>&1
-			eend $?
-			if [[ $? -ne 0 ]] ; then
+			( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${FILESDIR}"/pr69140.c -o "${T}"/pr69140 ) >/dev/null 2>&1
+			if ! eend $?; then
 				eerror "Wine cannot be built with this version of gcc-5.3"
 				eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
 				eerror "or use gcc-config to select a different compiler version."
@@ -222,8 +226,7 @@ wine_compiler_check() {
 		ebegin "Checking for 64-bit compiler with builtin_ms_va_list support"
 		# Compile in subshell to prevent "Aborted" message
 		( $(tc-getCC) -O2 "${FILESDIR}"/builtin_ms_va_list.c -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
-		eend $?
-		if [[ $? -ne 0 ]]; then
+		if ! eend $?; then
 			eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine"
 			eerror
 			eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
@@ -236,7 +239,7 @@ wine_compiler_check() {
 wine_build_environment_check() {
 	[[ ${MERGE_TYPE} = "binary" ]] && return 0
 
-	if use abi_x86_32 && use opencl && [[ x$(eselect opencl show 2> /dev/null) = "xintel" ]]; then
+	if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then
 		eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
 		eerror "See https://bugs.gentoo.org/487864 for more details."
 		eerror
@@ -250,8 +253,7 @@ pkg_pretend() {
 
 	# Verify OSS support
 	if use oss && ! use kernel_FreeBSD; then
-		local oss_vers=$(best_version media-sound/oss)
-		if [[ -z ${oss_vers} ]] || ! version_is_at_least "4" ${oss_vers}; then
+		if ! has_version ">=media-sound/oss-4"; then
 			eerror "You cannot build wine with USE=oss without having support from a"
 			eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)"
 			eerror
@@ -277,10 +279,8 @@ src_unpack() {
 		if use staging; then
 			local WINE_COMMIT=${EGIT_VERSION}
 
-			EGIT_REPO_URI=${STAGING_EGIT_REPO_URI}
-			unset ${PN}_LIVE_{REPO,BRANCH,COMMIT} EGIT_COMMIT;
-
-			EGIT_CHECKOUT_DIR=${STAGING_DIR} git-r3_src_unpack
+			git-r3_fetch "${STAGING_EGIT_REPO_URI}"
+			git-r3_checkout "${STAGING_EGIT_REPO_URI}" "${STAGING_DIR}"
 
 			local STAGING_COMMIT=$("${STAGING_DIR}/patches/patchinstall.sh" --upstream-commit) || die
 
@@ -290,13 +290,9 @@ src_unpack() {
 				einfo "Example: EGIT_COMMIT=${STAGING_COMMIT} emerge -1 wine"
 			fi
 		fi
-	else
-		unpack ${P}.tar.bz2
-		use staging && unpack "${STAGING_P}.tar.gz"
 	fi
 
-	unpack "${WINE_GENTOO}.tar.bz2"
-	unpack "${GST_P}.patch.bz2"
+	default
 
 	l10n_find_plocales_changes "${S}/po" "" ".po"
 }
@@ -308,7 +304,6 @@ src_prepare() {
 		"${FILESDIR}"/${PN}-1.9.5-multilib-portage.patch #395615
 		"${FILESDIR}"/${PN}-1.7.12-osmesa-check.patch #429386
 		"${FILESDIR}"/${PN}-1.6-memset-O3.patch #480508
-		"${FILESDIR}"/${PN}-sysmacros.patch #580046
 		"${FILESDIR}"/${PN}-1.8-gnutls-3.5-compat.patch #587028
 		"${WORKDIR}/${GST_P}.patch"
 	)
@@ -326,7 +321,7 @@ src_prepare() {
 			cd "${STAGING_DIR}/patches"
 			source "${STAGING_DIR}/patches/patchinstall.sh"
 		)
-		eend $?
+		eend $? || die "Failed to apply Wine-Staging patches"
 
 		# To differentiate unofficial staging releases
 		if [[ ! -z ${SUFFIX} ]]; then
@@ -404,6 +399,7 @@ multilib_src_configure() {
 
 	use staging && myconf+=(
 		--with-xattr
+		$(use_with themes gtk3)
 		$(use_with vaapi va)
 	)
 

diff --git a/app-emulation/wine/wine-1.9.10-r2.ebuild b/app-emulation/wine/wine-1.9.10-r3.ebuild
similarity index 94%
rename from app-emulation/wine/wine-1.9.10-r2.ebuild
rename to app-emulation/wine/wine-1.9.10-r3.ebuild
index 23e0e41..0f8b69e 100644
--- a/app-emulation/wine/wine-1.9.10-r2.ebuild
+++ b/app-emulation/wine/wine-1.9.10-r3.ebuild
@@ -61,7 +61,7 @@ fi
 
 LICENSE="LGPL-2.1"
 SLOT="0"
-IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags d3d9 dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png prelink pulseaudio +realtime +run-exes s3tc samba scanner selinux +ssl staging test +threads +truetype +udisks v4l vaapi +X +xcomposite xinerama +xml"
+IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags d3d9 dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png prelink pulseaudio +realtime +run-exes s3tc samba scanner selinux +ssl staging test themes +threads +truetype +udisks v4l vaapi +X +xcomposite xinerama +xml"
 REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
 	X? ( truetype )
 	elibc_glibc? ( threads )
@@ -69,6 +69,7 @@ REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
 	pipelight? ( staging )
 	s3tc? ( staging )
 	test? ( abi_x86_32 )
+	themes? ( staging )
 	vaapi? ( staging )" # osmesa-opengl #286560 # X-truetype #551124
 
 # FIXME: the test suite is unsuitable for us; many tests require net access
@@ -120,6 +121,11 @@ COMMON_DEPEND="
 	scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
 	ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
 	staging? ( sys-apps/attr[${MULTILIB_USEDEP}] )
+	themes? (
+		dev-libs/glib:2[${MULTILIB_USEDEP}]
+		x11-libs/cairo[${MULTILIB_USEDEP}]
+		x11-libs/gtk+:3[${MULTILIB_USEDEP}]
+	)
 	truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
 	udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
 	v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
@@ -197,8 +203,7 @@ wine_compiler_check() {
 			$(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
 			# Run in subshell to prevent "Aborted" message
 			( "${T}"/pr66838 || false ) >/dev/null 2>&1
-			eend $?
-			if [[ $? -ne 0 ]] ; then
+			if ! eend $?; then
 				eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
 				eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
 				eerror "or use gcc-config to select a different compiler version."
@@ -211,9 +216,8 @@ wine_compiler_check() {
 		if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
 			ebegin "Checking for gcc-5-3 stack realignment compiler bug"
 			# Compile in subshell to prevent "Aborted" message
-			( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${FILESDIR}"/pr69140.c -o "${T}"/pr69140 || false ) >/dev/null 2>&1
-			eend $?
-			if [[ $? -ne 0 ]] ; then
+			( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${FILESDIR}"/pr69140.c -o "${T}"/pr69140 ) >/dev/null 2>&1
+			if ! eend $?; then
 				eerror "Wine cannot be built with this version of gcc-5.3"
 				eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
 				eerror "or use gcc-config to select a different compiler version."
@@ -229,8 +233,7 @@ wine_compiler_check() {
 		ebegin "Checking for 64-bit compiler with builtin_ms_va_list support"
 		# Compile in subshell to prevent "Aborted" message
 		( $(tc-getCC) -O2 "${FILESDIR}"/builtin_ms_va_list.c -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
-		eend $?
-		if [[ $? -ne 0 ]]; then
+		if ! eend $?; then
 			eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine"
 			eerror
 			eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
@@ -243,7 +246,7 @@ wine_compiler_check() {
 wine_build_environment_check() {
 	[[ ${MERGE_TYPE} = "binary" ]] && return 0
 
-	if use abi_x86_32 && use opencl && [[ x$(eselect opencl show 2> /dev/null) = "xintel" ]]; then
+	if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then
 		eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
 		eerror "See https://bugs.gentoo.org/487864 for more details."
 		eerror
@@ -257,8 +260,7 @@ pkg_pretend() {
 
 	# Verify OSS support
 	if use oss && ! use kernel_FreeBSD; then
-		local oss_vers=$(best_version media-sound/oss)
-		if [[ -z ${oss_vers} ]] || ! version_is_at_least "4" ${oss_vers}; then
+		if ! has_version ">=media-sound/oss-4"; then
 			eerror "You cannot build wine with USE=oss without having support from a"
 			eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)"
 			eerror
@@ -284,10 +286,8 @@ src_unpack() {
 		if use staging; then
 			local WINE_COMMIT=${EGIT_VERSION}
 
-			EGIT_REPO_URI=${STAGING_EGIT_REPO_URI}
-			unset ${PN}_LIVE_{REPO,BRANCH,COMMIT} EGIT_COMMIT;
-
-			EGIT_CHECKOUT_DIR=${STAGING_DIR} git-r3_src_unpack
+			git-r3_fetch "${STAGING_EGIT_REPO_URI}"
+			git-r3_checkout "${STAGING_EGIT_REPO_URI}" "${STAGING_DIR}"
 
 			local STAGING_COMMIT=$("${STAGING_DIR}/patches/patchinstall.sh" --upstream-commit) || die
 
@@ -298,17 +298,12 @@ src_unpack() {
 			fi
 		fi
 		if use d3d9; then
-			EGIT_REPO_URI="${D3D9_EGIT_REPO_URI}"
-			unset ${PN}_LIVE_{REPO,BRANCH,COMMIT} EGIT_COMMIT;
-			EGIT_CHECKOUT_DIR="${D3D9_DIR}" git-r3_src_unpack
+			git-r3_fetch "${D3D9_EGIT_REPO_URI}"
+			git-r3_checkout "${D3D9_EGIT_REPO_URI}" "${D3D9_DIR}"
 		fi
-	else
-		unpack ${P}.tar.bz2
-		use staging && unpack "${STAGING_P}.tar.gz"
-		use d3d9 && unpack "${D3D9_P}.tar.gz"
 	fi
 
-	unpack "${WINE_GENTOO}.tar.bz2"
+	default
 
 	l10n_find_plocales_changes "${S}/po" "" ".po"
 }
@@ -336,7 +331,7 @@ src_prepare() {
 			cd "${STAGING_DIR}/patches"
 			source "${STAGING_DIR}/patches/patchinstall.sh"
 		)
-		eend $?
+		eend $? || die "Failed to apply Wine-Staging patches"
 
 		# To differentiate unofficial staging releases
 		if [[ ! -z ${SUFFIX} ]]; then
@@ -422,6 +417,7 @@ multilib_src_configure() {
 
 	use staging && myconf+=(
 		--with-xattr
+		$(use_with themes gtk3)
 		$(use_with vaapi va)
 	)
 	use d3d9 && myconf+=( $(use_with d3d9 d3dadapter) )

diff --git a/app-emulation/wine/wine-1.9.11-r2.ebuild b/app-emulation/wine/wine-1.9.11-r3.ebuild
similarity index 94%
rename from app-emulation/wine/wine-1.9.11-r2.ebuild
rename to app-emulation/wine/wine-1.9.11-r3.ebuild
index 23e0e41..0f8b69e 100644
--- a/app-emulation/wine/wine-1.9.11-r2.ebuild
+++ b/app-emulation/wine/wine-1.9.11-r3.ebuild
@@ -61,7 +61,7 @@ fi
 
 LICENSE="LGPL-2.1"
 SLOT="0"
-IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags d3d9 dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png prelink pulseaudio +realtime +run-exes s3tc samba scanner selinux +ssl staging test +threads +truetype +udisks v4l vaapi +X +xcomposite xinerama +xml"
+IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags d3d9 dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png prelink pulseaudio +realtime +run-exes s3tc samba scanner selinux +ssl staging test themes +threads +truetype +udisks v4l vaapi +X +xcomposite xinerama +xml"
 REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
 	X? ( truetype )
 	elibc_glibc? ( threads )
@@ -69,6 +69,7 @@ REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
 	pipelight? ( staging )
 	s3tc? ( staging )
 	test? ( abi_x86_32 )
+	themes? ( staging )
 	vaapi? ( staging )" # osmesa-opengl #286560 # X-truetype #551124
 
 # FIXME: the test suite is unsuitable for us; many tests require net access
@@ -120,6 +121,11 @@ COMMON_DEPEND="
 	scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
 	ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
 	staging? ( sys-apps/attr[${MULTILIB_USEDEP}] )
+	themes? (
+		dev-libs/glib:2[${MULTILIB_USEDEP}]
+		x11-libs/cairo[${MULTILIB_USEDEP}]
+		x11-libs/gtk+:3[${MULTILIB_USEDEP}]
+	)
 	truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
 	udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
 	v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
@@ -197,8 +203,7 @@ wine_compiler_check() {
 			$(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
 			# Run in subshell to prevent "Aborted" message
 			( "${T}"/pr66838 || false ) >/dev/null 2>&1
-			eend $?
-			if [[ $? -ne 0 ]] ; then
+			if ! eend $?; then
 				eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
 				eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
 				eerror "or use gcc-config to select a different compiler version."
@@ -211,9 +216,8 @@ wine_compiler_check() {
 		if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
 			ebegin "Checking for gcc-5-3 stack realignment compiler bug"
 			# Compile in subshell to prevent "Aborted" message
-			( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${FILESDIR}"/pr69140.c -o "${T}"/pr69140 || false ) >/dev/null 2>&1
-			eend $?
-			if [[ $? -ne 0 ]] ; then
+			( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${FILESDIR}"/pr69140.c -o "${T}"/pr69140 ) >/dev/null 2>&1
+			if ! eend $?; then
 				eerror "Wine cannot be built with this version of gcc-5.3"
 				eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
 				eerror "or use gcc-config to select a different compiler version."
@@ -229,8 +233,7 @@ wine_compiler_check() {
 		ebegin "Checking for 64-bit compiler with builtin_ms_va_list support"
 		# Compile in subshell to prevent "Aborted" message
 		( $(tc-getCC) -O2 "${FILESDIR}"/builtin_ms_va_list.c -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
-		eend $?
-		if [[ $? -ne 0 ]]; then
+		if ! eend $?; then
 			eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine"
 			eerror
 			eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
@@ -243,7 +246,7 @@ wine_compiler_check() {
 wine_build_environment_check() {
 	[[ ${MERGE_TYPE} = "binary" ]] && return 0
 
-	if use abi_x86_32 && use opencl && [[ x$(eselect opencl show 2> /dev/null) = "xintel" ]]; then
+	if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then
 		eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
 		eerror "See https://bugs.gentoo.org/487864 for more details."
 		eerror
@@ -257,8 +260,7 @@ pkg_pretend() {
 
 	# Verify OSS support
 	if use oss && ! use kernel_FreeBSD; then
-		local oss_vers=$(best_version media-sound/oss)
-		if [[ -z ${oss_vers} ]] || ! version_is_at_least "4" ${oss_vers}; then
+		if ! has_version ">=media-sound/oss-4"; then
 			eerror "You cannot build wine with USE=oss without having support from a"
 			eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)"
 			eerror
@@ -284,10 +286,8 @@ src_unpack() {
 		if use staging; then
 			local WINE_COMMIT=${EGIT_VERSION}
 
-			EGIT_REPO_URI=${STAGING_EGIT_REPO_URI}
-			unset ${PN}_LIVE_{REPO,BRANCH,COMMIT} EGIT_COMMIT;
-
-			EGIT_CHECKOUT_DIR=${STAGING_DIR} git-r3_src_unpack
+			git-r3_fetch "${STAGING_EGIT_REPO_URI}"
+			git-r3_checkout "${STAGING_EGIT_REPO_URI}" "${STAGING_DIR}"
 
 			local STAGING_COMMIT=$("${STAGING_DIR}/patches/patchinstall.sh" --upstream-commit) || die
 
@@ -298,17 +298,12 @@ src_unpack() {
 			fi
 		fi
 		if use d3d9; then
-			EGIT_REPO_URI="${D3D9_EGIT_REPO_URI}"
-			unset ${PN}_LIVE_{REPO,BRANCH,COMMIT} EGIT_COMMIT;
-			EGIT_CHECKOUT_DIR="${D3D9_DIR}" git-r3_src_unpack
+			git-r3_fetch "${D3D9_EGIT_REPO_URI}"
+			git-r3_checkout "${D3D9_EGIT_REPO_URI}" "${D3D9_DIR}"
 		fi
-	else
-		unpack ${P}.tar.bz2
-		use staging && unpack "${STAGING_P}.tar.gz"
-		use d3d9 && unpack "${D3D9_P}.tar.gz"
 	fi
 
-	unpack "${WINE_GENTOO}.tar.bz2"
+	default
 
 	l10n_find_plocales_changes "${S}/po" "" ".po"
 }
@@ -336,7 +331,7 @@ src_prepare() {
 			cd "${STAGING_DIR}/patches"
 			source "${STAGING_DIR}/patches/patchinstall.sh"
 		)
-		eend $?
+		eend $? || die "Failed to apply Wine-Staging patches"
 
 		# To differentiate unofficial staging releases
 		if [[ ! -z ${SUFFIX} ]]; then
@@ -422,6 +417,7 @@ multilib_src_configure() {
 
 	use staging && myconf+=(
 		--with-xattr
+		$(use_with themes gtk3)
 		$(use_with vaapi va)
 	)
 	use d3d9 && myconf+=( $(use_with d3d9 d3dadapter) )

diff --git a/app-emulation/wine/wine-1.9.12-r1.ebuild b/app-emulation/wine/wine-1.9.12-r2.ebuild
similarity index 94%
rename from app-emulation/wine/wine-1.9.12-r1.ebuild
rename to app-emulation/wine/wine-1.9.12-r2.ebuild
index b0082ca..46a6f20 100644
--- a/app-emulation/wine/wine-1.9.12-r1.ebuild
+++ b/app-emulation/wine/wine-1.9.12-r2.ebuild
@@ -61,7 +61,7 @@ fi
 
 LICENSE="LGPL-2.1"
 SLOT="0"
-IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags d3d9 dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png prelink pulseaudio +realtime +run-exes s3tc samba scanner selinux +ssl staging test +threads +truetype +udisks v4l vaapi +X +xcomposite xinerama +xml"
+IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags d3d9 dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png prelink pulseaudio +realtime +run-exes s3tc samba scanner selinux +ssl staging test themes +threads +truetype +udisks v4l vaapi +X +xcomposite xinerama +xml"
 REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
 	X? ( truetype )
 	elibc_glibc? ( threads )
@@ -69,6 +69,7 @@ REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
 	pipelight? ( staging )
 	s3tc? ( staging )
 	test? ( abi_x86_32 )
+	themes? ( staging )
 	vaapi? ( staging )" # osmesa-opengl #286560 # X-truetype #551124
 
 # FIXME: the test suite is unsuitable for us; many tests require net access
@@ -120,6 +121,11 @@ COMMON_DEPEND="
 	scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
 	ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
 	staging? ( sys-apps/attr[${MULTILIB_USEDEP}] )
+	themes? (
+		dev-libs/glib:2[${MULTILIB_USEDEP}]
+		x11-libs/cairo[${MULTILIB_USEDEP}]
+		x11-libs/gtk+:3[${MULTILIB_USEDEP}]
+	)
 	truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
 	udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
 	v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
@@ -197,8 +203,7 @@ wine_compiler_check() {
 			$(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
 			# Run in subshell to prevent "Aborted" message
 			( "${T}"/pr66838 || false ) >/dev/null 2>&1
-			eend $?
-			if [[ $? -ne 0 ]] ; then
+			if ! eend $?; then
 				eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
 				eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
 				eerror "or use gcc-config to select a different compiler version."
@@ -211,9 +216,8 @@ wine_compiler_check() {
 		if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
 			ebegin "Checking for gcc-5-3 stack realignment compiler bug"
 			# Compile in subshell to prevent "Aborted" message
-			( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${FILESDIR}"/pr69140.c -o "${T}"/pr69140 || false ) >/dev/null 2>&1
-			eend $?
-			if [[ $? -ne 0 ]] ; then
+			( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${FILESDIR}"/pr69140.c -o "${T}"/pr69140 ) >/dev/null 2>&1
+			if ! eend $?; then
 				eerror "Wine cannot be built with this version of gcc-5.3"
 				eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
 				eerror "or use gcc-config to select a different compiler version."
@@ -229,8 +233,7 @@ wine_compiler_check() {
 		ebegin "Checking for 64-bit compiler with builtin_ms_va_list support"
 		# Compile in subshell to prevent "Aborted" message
 		( $(tc-getCC) -O2 "${FILESDIR}"/builtin_ms_va_list.c -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
-		eend $?
-		if [[ $? -ne 0 ]]; then
+		if ! eend $?; then
 			eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine"
 			eerror
 			eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
@@ -243,7 +246,7 @@ wine_compiler_check() {
 wine_build_environment_check() {
 	[[ ${MERGE_TYPE} = "binary" ]] && return 0
 
-	if use abi_x86_32 && use opencl && [[ x$(eselect opencl show 2> /dev/null) = "xintel" ]]; then
+	if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then
 		eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
 		eerror "See https://bugs.gentoo.org/487864 for more details."
 		eerror
@@ -257,8 +260,7 @@ pkg_pretend() {
 
 	# Verify OSS support
 	if use oss && ! use kernel_FreeBSD; then
-		local oss_vers=$(best_version media-sound/oss)
-		if [[ -z ${oss_vers} ]] || ! version_is_at_least "4" ${oss_vers}; then
+		if ! has_version ">=media-sound/oss-4"; then
 			eerror "You cannot build wine with USE=oss without having support from a"
 			eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)"
 			eerror
@@ -284,10 +286,8 @@ src_unpack() {
 		if use staging; then
 			local WINE_COMMIT=${EGIT_VERSION}
 
-			EGIT_REPO_URI=${STAGING_EGIT_REPO_URI}
-			unset ${PN}_LIVE_{REPO,BRANCH,COMMIT} EGIT_COMMIT;
-
-			EGIT_CHECKOUT_DIR=${STAGING_DIR} git-r3_src_unpack
+			git-r3_fetch "${STAGING_EGIT_REPO_URI}"
+			git-r3_checkout "${STAGING_EGIT_REPO_URI}" "${STAGING_DIR}"
 
 			local STAGING_COMMIT=$("${STAGING_DIR}/patches/patchinstall.sh" --upstream-commit) || die
 
@@ -298,17 +298,12 @@ src_unpack() {
 			fi
 		fi
 		if use d3d9; then
-			EGIT_REPO_URI="${D3D9_EGIT_REPO_URI}"
-			unset ${PN}_LIVE_{REPO,BRANCH,COMMIT} EGIT_COMMIT;
-			EGIT_CHECKOUT_DIR="${D3D9_DIR}" git-r3_src_unpack
+			git-r3_fetch "${D3D9_EGIT_REPO_URI}"
+			git-r3_checkout "${D3D9_EGIT_REPO_URI}" "${D3D9_DIR}"
 		fi
-	else
-		unpack ${P}.tar.bz2
-		use staging && unpack "${STAGING_P}.tar.gz"
-		use d3d9 && unpack "${D3D9_P}.tar.gz"
 	fi
 
-	unpack "${WINE_GENTOO}.tar.bz2"
+	default
 
 	l10n_find_plocales_changes "${S}/po" "" ".po"
 }
@@ -336,7 +331,7 @@ src_prepare() {
 			cd "${STAGING_DIR}/patches"
 			source "${STAGING_DIR}/patches/patchinstall.sh"
 		)
-		eend $?
+		eend $? || die "Failed to apply Wine-Staging patches"
 
 		# To differentiate unofficial staging releases
 		if [[ ! -z ${SUFFIX} ]]; then
@@ -422,6 +417,7 @@ multilib_src_configure() {
 
 	use staging && myconf+=(
 		--with-xattr
+		$(use_with themes gtk3)
 		$(use_with vaapi va)
 	)
 	use d3d9 && myconf+=( $(use_with d3d9 d3dadapter) )

diff --git a/app-emulation/wine/wine-1.9.14-r1.ebuild b/app-emulation/wine/wine-1.9.13-r2.ebuild
similarity index 94%
rename from app-emulation/wine/wine-1.9.14-r1.ebuild
rename to app-emulation/wine/wine-1.9.13-r2.ebuild
index f1c142d..8bedf34 100644
--- a/app-emulation/wine/wine-1.9.14-r1.ebuild
+++ b/app-emulation/wine/wine-1.9.13-r2.ebuild
@@ -61,7 +61,7 @@ fi
 
 LICENSE="LGPL-2.1"
 SLOT="0"
-IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags d3d9 dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png prelink pulseaudio +realtime +run-exes s3tc samba scanner selinux +ssl staging test +threads +truetype +udisks v4l vaapi +X +xcomposite xinerama +xml"
+IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags d3d9 dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png prelink pulseaudio +realtime +run-exes s3tc samba scanner selinux +ssl staging test themes +threads +truetype +udisks v4l vaapi +X +xcomposite xinerama +xml"
 REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
 	X? ( truetype )
 	elibc_glibc? ( threads )
@@ -69,6 +69,7 @@ REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
 	pipelight? ( staging )
 	s3tc? ( staging )
 	test? ( abi_x86_32 )
+	themes? ( staging )
 	vaapi? ( staging )" # osmesa-opengl #286560 # X-truetype #551124
 
 # FIXME: the test suite is unsuitable for us; many tests require net access
@@ -120,6 +121,11 @@ COMMON_DEPEND="
 	scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
 	ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
 	staging? ( sys-apps/attr[${MULTILIB_USEDEP}] )
+	themes? (
+		dev-libs/glib:2[${MULTILIB_USEDEP}]
+		x11-libs/cairo[${MULTILIB_USEDEP}]
+		x11-libs/gtk+:3[${MULTILIB_USEDEP}]
+	)
 	truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
 	udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
 	v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
@@ -197,8 +203,7 @@ wine_compiler_check() {
 			$(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
 			# Run in subshell to prevent "Aborted" message
 			( "${T}"/pr66838 || false ) >/dev/null 2>&1
-			eend $?
-			if [[ $? -ne 0 ]] ; then
+			if ! eend $?; then
 				eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
 				eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
 				eerror "or use gcc-config to select a different compiler version."
@@ -211,9 +216,8 @@ wine_compiler_check() {
 		if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
 			ebegin "Checking for gcc-5-3 stack realignment compiler bug"
 			# Compile in subshell to prevent "Aborted" message
-			( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${FILESDIR}"/pr69140.c -o "${T}"/pr69140 || false ) >/dev/null 2>&1
-			eend $?
-			if [[ $? -ne 0 ]] ; then
+			( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${FILESDIR}"/pr69140.c -o "${T}"/pr69140 ) >/dev/null 2>&1
+			if ! eend $?; then
 				eerror "Wine cannot be built with this version of gcc-5.3"
 				eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
 				eerror "or use gcc-config to select a different compiler version."
@@ -229,8 +233,7 @@ wine_compiler_check() {
 		ebegin "Checking for 64-bit compiler with builtin_ms_va_list support"
 		# Compile in subshell to prevent "Aborted" message
 		( $(tc-getCC) -O2 "${FILESDIR}"/builtin_ms_va_list.c -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
-		eend $?
-		if [[ $? -ne 0 ]]; then
+		if ! eend $?; then
 			eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine"
 			eerror
 			eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
@@ -243,7 +246,7 @@ wine_compiler_check() {
 wine_build_environment_check() {
 	[[ ${MERGE_TYPE} = "binary" ]] && return 0
 
-	if use abi_x86_32 && use opencl && [[ x$(eselect opencl show 2> /dev/null) = "xintel" ]]; then
+	if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then
 		eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
 		eerror "See https://bugs.gentoo.org/487864 for more details."
 		eerror
@@ -257,8 +260,7 @@ pkg_pretend() {
 
 	# Verify OSS support
 	if use oss && ! use kernel_FreeBSD; then
-		local oss_vers=$(best_version media-sound/oss)
-		if [[ -z ${oss_vers} ]] || ! version_is_at_least "4" ${oss_vers}; then
+		if ! has_version ">=media-sound/oss-4"; then
 			eerror "You cannot build wine with USE=oss without having support from a"
 			eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)"
 			eerror
@@ -284,10 +286,8 @@ src_unpack() {
 		if use staging; then
 			local WINE_COMMIT=${EGIT_VERSION}
 
-			EGIT_REPO_URI=${STAGING_EGIT_REPO_URI}
-			unset ${PN}_LIVE_{REPO,BRANCH,COMMIT} EGIT_COMMIT;
-
-			EGIT_CHECKOUT_DIR=${STAGING_DIR} git-r3_src_unpack
+			git-r3_fetch "${STAGING_EGIT_REPO_URI}"
+			git-r3_checkout "${STAGING_EGIT_REPO_URI}" "${STAGING_DIR}"
 
 			local STAGING_COMMIT=$("${STAGING_DIR}/patches/patchinstall.sh" --upstream-commit) || die
 
@@ -298,17 +298,12 @@ src_unpack() {
 			fi
 		fi
 		if use d3d9; then
-			EGIT_REPO_URI="${D3D9_EGIT_REPO_URI}"
-			unset ${PN}_LIVE_{REPO,BRANCH,COMMIT} EGIT_COMMIT;
-			EGIT_CHECKOUT_DIR="${D3D9_DIR}" git-r3_src_unpack
+			git-r3_fetch "${D3D9_EGIT_REPO_URI}"
+			git-r3_checkout "${D3D9_EGIT_REPO_URI}" "${D3D9_DIR}"
 		fi
-	else
-		unpack ${P}.tar.bz2
-		use staging && unpack "${STAGING_P}.tar.gz"
-		use d3d9 && unpack "${D3D9_P}.tar.gz"
 	fi
 
-	unpack "${WINE_GENTOO}.tar.bz2"
+	default
 
 	l10n_find_plocales_changes "${S}/po" "" ".po"
 }
@@ -335,7 +330,7 @@ src_prepare() {
 			cd "${STAGING_DIR}/patches"
 			source "${STAGING_DIR}/patches/patchinstall.sh"
 		)
-		eend $?
+		eend $? || die "Failed to apply Wine-Staging patches"
 
 		# To differentiate unofficial staging releases
 		if [[ ! -z ${SUFFIX} ]]; then
@@ -421,6 +416,7 @@ multilib_src_configure() {
 
 	use staging && myconf+=(
 		--with-xattr
+		$(use_with themes gtk3)
 		$(use_with vaapi va)
 	)
 	use d3d9 && myconf+=( $(use_with d3d9 d3dadapter) )

diff --git a/app-emulation/wine/wine-1.9.15.ebuild b/app-emulation/wine/wine-1.9.14-r2.ebuild
similarity index 94%
rename from app-emulation/wine/wine-1.9.15.ebuild
rename to app-emulation/wine/wine-1.9.14-r2.ebuild
index f1c142d..8bedf34 100644
--- a/app-emulation/wine/wine-1.9.15.ebuild
+++ b/app-emulation/wine/wine-1.9.14-r2.ebuild
@@ -61,7 +61,7 @@ fi
 
 LICENSE="LGPL-2.1"
 SLOT="0"
-IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags d3d9 dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png prelink pulseaudio +realtime +run-exes s3tc samba scanner selinux +ssl staging test +threads +truetype +udisks v4l vaapi +X +xcomposite xinerama +xml"
+IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags d3d9 dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png prelink pulseaudio +realtime +run-exes s3tc samba scanner selinux +ssl staging test themes +threads +truetype +udisks v4l vaapi +X +xcomposite xinerama +xml"
 REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
 	X? ( truetype )
 	elibc_glibc? ( threads )
@@ -69,6 +69,7 @@ REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
 	pipelight? ( staging )
 	s3tc? ( staging )
 	test? ( abi_x86_32 )
+	themes? ( staging )
 	vaapi? ( staging )" # osmesa-opengl #286560 # X-truetype #551124
 
 # FIXME: the test suite is unsuitable for us; many tests require net access
@@ -120,6 +121,11 @@ COMMON_DEPEND="
 	scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
 	ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
 	staging? ( sys-apps/attr[${MULTILIB_USEDEP}] )
+	themes? (
+		dev-libs/glib:2[${MULTILIB_USEDEP}]
+		x11-libs/cairo[${MULTILIB_USEDEP}]
+		x11-libs/gtk+:3[${MULTILIB_USEDEP}]
+	)
 	truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
 	udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
 	v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
@@ -197,8 +203,7 @@ wine_compiler_check() {
 			$(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
 			# Run in subshell to prevent "Aborted" message
 			( "${T}"/pr66838 || false ) >/dev/null 2>&1
-			eend $?
-			if [[ $? -ne 0 ]] ; then
+			if ! eend $?; then
 				eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
 				eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
 				eerror "or use gcc-config to select a different compiler version."
@@ -211,9 +216,8 @@ wine_compiler_check() {
 		if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
 			ebegin "Checking for gcc-5-3 stack realignment compiler bug"
 			# Compile in subshell to prevent "Aborted" message
-			( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${FILESDIR}"/pr69140.c -o "${T}"/pr69140 || false ) >/dev/null 2>&1
-			eend $?
-			if [[ $? -ne 0 ]] ; then
+			( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${FILESDIR}"/pr69140.c -o "${T}"/pr69140 ) >/dev/null 2>&1
+			if ! eend $?; then
 				eerror "Wine cannot be built with this version of gcc-5.3"
 				eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
 				eerror "or use gcc-config to select a different compiler version."
@@ -229,8 +233,7 @@ wine_compiler_check() {
 		ebegin "Checking for 64-bit compiler with builtin_ms_va_list support"
 		# Compile in subshell to prevent "Aborted" message
 		( $(tc-getCC) -O2 "${FILESDIR}"/builtin_ms_va_list.c -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
-		eend $?
-		if [[ $? -ne 0 ]]; then
+		if ! eend $?; then
 			eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine"
 			eerror
 			eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
@@ -243,7 +246,7 @@ wine_compiler_check() {
 wine_build_environment_check() {
 	[[ ${MERGE_TYPE} = "binary" ]] && return 0
 
-	if use abi_x86_32 && use opencl && [[ x$(eselect opencl show 2> /dev/null) = "xintel" ]]; then
+	if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then
 		eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
 		eerror "See https://bugs.gentoo.org/487864 for more details."
 		eerror
@@ -257,8 +260,7 @@ pkg_pretend() {
 
 	# Verify OSS support
 	if use oss && ! use kernel_FreeBSD; then
-		local oss_vers=$(best_version media-sound/oss)
-		if [[ -z ${oss_vers} ]] || ! version_is_at_least "4" ${oss_vers}; then
+		if ! has_version ">=media-sound/oss-4"; then
 			eerror "You cannot build wine with USE=oss without having support from a"
 			eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)"
 			eerror
@@ -284,10 +286,8 @@ src_unpack() {
 		if use staging; then
 			local WINE_COMMIT=${EGIT_VERSION}
 
-			EGIT_REPO_URI=${STAGING_EGIT_REPO_URI}
-			unset ${PN}_LIVE_{REPO,BRANCH,COMMIT} EGIT_COMMIT;
-
-			EGIT_CHECKOUT_DIR=${STAGING_DIR} git-r3_src_unpack
+			git-r3_fetch "${STAGING_EGIT_REPO_URI}"
+			git-r3_checkout "${STAGING_EGIT_REPO_URI}" "${STAGING_DIR}"
 
 			local STAGING_COMMIT=$("${STAGING_DIR}/patches/patchinstall.sh" --upstream-commit) || die
 
@@ -298,17 +298,12 @@ src_unpack() {
 			fi
 		fi
 		if use d3d9; then
-			EGIT_REPO_URI="${D3D9_EGIT_REPO_URI}"
-			unset ${PN}_LIVE_{REPO,BRANCH,COMMIT} EGIT_COMMIT;
-			EGIT_CHECKOUT_DIR="${D3D9_DIR}" git-r3_src_unpack
+			git-r3_fetch "${D3D9_EGIT_REPO_URI}"
+			git-r3_checkout "${D3D9_EGIT_REPO_URI}" "${D3D9_DIR}"
 		fi
-	else
-		unpack ${P}.tar.bz2
-		use staging && unpack "${STAGING_P}.tar.gz"
-		use d3d9 && unpack "${D3D9_P}.tar.gz"
 	fi
 
-	unpack "${WINE_GENTOO}.tar.bz2"
+	default
 
 	l10n_find_plocales_changes "${S}/po" "" ".po"
 }
@@ -335,7 +330,7 @@ src_prepare() {
 			cd "${STAGING_DIR}/patches"
 			source "${STAGING_DIR}/patches/patchinstall.sh"
 		)
-		eend $?
+		eend $? || die "Failed to apply Wine-Staging patches"
 
 		# To differentiate unofficial staging releases
 		if [[ ! -z ${SUFFIX} ]]; then
@@ -421,6 +416,7 @@ multilib_src_configure() {
 
 	use staging && myconf+=(
 		--with-xattr
+		$(use_with themes gtk3)
 		$(use_with vaapi va)
 	)
 	use d3d9 && myconf+=( $(use_with d3d9 d3dadapter) )

diff --git a/app-emulation/wine/wine-1.9.13-r1.ebuild b/app-emulation/wine/wine-1.9.15-r1.ebuild
similarity index 94%
rename from app-emulation/wine/wine-1.9.13-r1.ebuild
rename to app-emulation/wine/wine-1.9.15-r1.ebuild
index f1c142d..8bedf34 100644
--- a/app-emulation/wine/wine-1.9.13-r1.ebuild
+++ b/app-emulation/wine/wine-1.9.15-r1.ebuild
@@ -61,7 +61,7 @@ fi
 
 LICENSE="LGPL-2.1"
 SLOT="0"
-IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags d3d9 dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png prelink pulseaudio +realtime +run-exes s3tc samba scanner selinux +ssl staging test +threads +truetype +udisks v4l vaapi +X +xcomposite xinerama +xml"
+IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags d3d9 dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png prelink pulseaudio +realtime +run-exes s3tc samba scanner selinux +ssl staging test themes +threads +truetype +udisks v4l vaapi +X +xcomposite xinerama +xml"
 REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
 	X? ( truetype )
 	elibc_glibc? ( threads )
@@ -69,6 +69,7 @@ REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
 	pipelight? ( staging )
 	s3tc? ( staging )
 	test? ( abi_x86_32 )
+	themes? ( staging )
 	vaapi? ( staging )" # osmesa-opengl #286560 # X-truetype #551124
 
 # FIXME: the test suite is unsuitable for us; many tests require net access
@@ -120,6 +121,11 @@ COMMON_DEPEND="
 	scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
 	ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
 	staging? ( sys-apps/attr[${MULTILIB_USEDEP}] )
+	themes? (
+		dev-libs/glib:2[${MULTILIB_USEDEP}]
+		x11-libs/cairo[${MULTILIB_USEDEP}]
+		x11-libs/gtk+:3[${MULTILIB_USEDEP}]
+	)
 	truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
 	udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
 	v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
@@ -197,8 +203,7 @@ wine_compiler_check() {
 			$(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
 			# Run in subshell to prevent "Aborted" message
 			( "${T}"/pr66838 || false ) >/dev/null 2>&1
-			eend $?
-			if [[ $? -ne 0 ]] ; then
+			if ! eend $?; then
 				eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
 				eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
 				eerror "or use gcc-config to select a different compiler version."
@@ -211,9 +216,8 @@ wine_compiler_check() {
 		if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
 			ebegin "Checking for gcc-5-3 stack realignment compiler bug"
 			# Compile in subshell to prevent "Aborted" message
-			( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${FILESDIR}"/pr69140.c -o "${T}"/pr69140 || false ) >/dev/null 2>&1
-			eend $?
-			if [[ $? -ne 0 ]] ; then
+			( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${FILESDIR}"/pr69140.c -o "${T}"/pr69140 ) >/dev/null 2>&1
+			if ! eend $?; then
 				eerror "Wine cannot be built with this version of gcc-5.3"
 				eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
 				eerror "or use gcc-config to select a different compiler version."
@@ -229,8 +233,7 @@ wine_compiler_check() {
 		ebegin "Checking for 64-bit compiler with builtin_ms_va_list support"
 		# Compile in subshell to prevent "Aborted" message
 		( $(tc-getCC) -O2 "${FILESDIR}"/builtin_ms_va_list.c -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
-		eend $?
-		if [[ $? -ne 0 ]]; then
+		if ! eend $?; then
 			eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine"
 			eerror
 			eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
@@ -243,7 +246,7 @@ wine_compiler_check() {
 wine_build_environment_check() {
 	[[ ${MERGE_TYPE} = "binary" ]] && return 0
 
-	if use abi_x86_32 && use opencl && [[ x$(eselect opencl show 2> /dev/null) = "xintel" ]]; then
+	if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then
 		eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
 		eerror "See https://bugs.gentoo.org/487864 for more details."
 		eerror
@@ -257,8 +260,7 @@ pkg_pretend() {
 
 	# Verify OSS support
 	if use oss && ! use kernel_FreeBSD; then
-		local oss_vers=$(best_version media-sound/oss)
-		if [[ -z ${oss_vers} ]] || ! version_is_at_least "4" ${oss_vers}; then
+		if ! has_version ">=media-sound/oss-4"; then
 			eerror "You cannot build wine with USE=oss without having support from a"
 			eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)"
 			eerror
@@ -284,10 +286,8 @@ src_unpack() {
 		if use staging; then
 			local WINE_COMMIT=${EGIT_VERSION}
 
-			EGIT_REPO_URI=${STAGING_EGIT_REPO_URI}
-			unset ${PN}_LIVE_{REPO,BRANCH,COMMIT} EGIT_COMMIT;
-
-			EGIT_CHECKOUT_DIR=${STAGING_DIR} git-r3_src_unpack
+			git-r3_fetch "${STAGING_EGIT_REPO_URI}"
+			git-r3_checkout "${STAGING_EGIT_REPO_URI}" "${STAGING_DIR}"
 
 			local STAGING_COMMIT=$("${STAGING_DIR}/patches/patchinstall.sh" --upstream-commit) || die
 
@@ -298,17 +298,12 @@ src_unpack() {
 			fi
 		fi
 		if use d3d9; then
-			EGIT_REPO_URI="${D3D9_EGIT_REPO_URI}"
-			unset ${PN}_LIVE_{REPO,BRANCH,COMMIT} EGIT_COMMIT;
-			EGIT_CHECKOUT_DIR="${D3D9_DIR}" git-r3_src_unpack
+			git-r3_fetch "${D3D9_EGIT_REPO_URI}"
+			git-r3_checkout "${D3D9_EGIT_REPO_URI}" "${D3D9_DIR}"
 		fi
-	else
-		unpack ${P}.tar.bz2
-		use staging && unpack "${STAGING_P}.tar.gz"
-		use d3d9 && unpack "${D3D9_P}.tar.gz"
 	fi
 
-	unpack "${WINE_GENTOO}.tar.bz2"
+	default
 
 	l10n_find_plocales_changes "${S}/po" "" ".po"
 }
@@ -335,7 +330,7 @@ src_prepare() {
 			cd "${STAGING_DIR}/patches"
 			source "${STAGING_DIR}/patches/patchinstall.sh"
 		)
-		eend $?
+		eend $? || die "Failed to apply Wine-Staging patches"
 
 		# To differentiate unofficial staging releases
 		if [[ ! -z ${SUFFIX} ]]; then
@@ -421,6 +416,7 @@ multilib_src_configure() {
 
 	use staging && myconf+=(
 		--with-xattr
+		$(use_with themes gtk3)
 		$(use_with vaapi va)
 	)
 	use d3d9 && myconf+=( $(use_with d3d9 d3dadapter) )

diff --git a/app-emulation/wine/wine-1.9.4-r2.ebuild b/app-emulation/wine/wine-1.9.4-r3.ebuild
similarity index 95%
rename from app-emulation/wine/wine-1.9.4-r2.ebuild
rename to app-emulation/wine/wine-1.9.4-r3.ebuild
index 0f6ce35..6a4d343 100644
--- a/app-emulation/wine/wine-1.9.4-r2.ebuild
+++ b/app-emulation/wine/wine-1.9.4-r3.ebuild
@@ -57,7 +57,7 @@ fi
 
 LICENSE="LGPL-2.1"
 SLOT="0"
-IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png prelink pulseaudio +realtime +run-exes s3tc samba scanner selinux +ssl staging test +threads +truetype +udisks v4l vaapi +X +xcomposite xinerama +xml"
+IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png prelink pulseaudio +realtime +run-exes s3tc samba scanner selinux +ssl staging test themes +threads +truetype +udisks v4l vaapi +X +xcomposite xinerama +xml"
 REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
 	X? ( truetype )
 	elibc_glibc? ( threads )
@@ -66,6 +66,7 @@ REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
 	pipelight? ( staging )
 	s3tc? ( staging )
 	test? ( abi_x86_32 )
+	themes? ( staging )
 	vaapi? ( staging )" # osmesa-opengl #286560 # X-truetype #551124
 
 # FIXME: the test suite is unsuitable for us; many tests require net access
@@ -111,6 +112,11 @@ COMMON_DEPEND="
 	scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
 	ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
 	staging? ( sys-apps/attr[${MULTILIB_USEDEP}] )
+	themes? (
+		dev-libs/glib:2[${MULTILIB_USEDEP}]
+		x11-libs/cairo[${MULTILIB_USEDEP}]
+		x11-libs/gtk+:3[${MULTILIB_USEDEP}]
+	)
 	truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
 	udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
 	v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
@@ -188,8 +194,7 @@ wine_compiler_check() {
 			$(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
 			# Run in subshell to prevent "Aborted" message
 			( "${T}"/pr66838 || false ) >/dev/null 2>&1
-			eend $?
-			if [[ $? -ne 0 ]] ; then
+			if ! eend $?; then
 				eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
 				eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
 				eerror "or use gcc-config to select a different compiler version."
@@ -202,9 +207,8 @@ wine_compiler_check() {
 		if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
 			ebegin "Checking for gcc-5-3 stack realignment compiler bug"
 			# Compile in subshell to prevent "Aborted" message
-			( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${FILESDIR}"/pr69140.c -o "${T}"/pr69140 || false ) >/dev/null 2>&1
-			eend $?
-			if [[ $? -ne 0 ]] ; then
+			( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${FILESDIR}"/pr69140.c -o "${T}"/pr69140 ) >/dev/null 2>&1
+			if ! eend $?; then
 				eerror "Wine cannot be built with this version of gcc-5.3"
 				eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
 				eerror "or use gcc-config to select a different compiler version."
@@ -220,8 +224,7 @@ wine_compiler_check() {
 		ebegin "Checking for 64-bit compiler with builtin_ms_va_list support"
 		# Compile in subshell to prevent "Aborted" message
 		( $(tc-getCC) -O2 "${FILESDIR}"/builtin_ms_va_list.c -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
-		eend $?
-		if [[ $? -ne 0 ]]; then
+		if ! eend $?; then
 			eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine"
 			eerror
 			eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
@@ -234,7 +237,7 @@ wine_compiler_check() {
 wine_build_environment_check() {
 	[[ ${MERGE_TYPE} = "binary" ]] && return 0
 
-	if use abi_x86_32 && use opencl && [[ x$(eselect opencl show 2> /dev/null) = "xintel" ]]; then
+	if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then
 		eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
 		eerror "See https://bugs.gentoo.org/487864 for more details."
 		eerror
@@ -248,8 +251,7 @@ pkg_pretend() {
 
 	# Verify OSS support
 	if use oss && ! use kernel_FreeBSD; then
-		local oss_vers=$(best_version media-sound/oss)
-		if [[ -z ${oss_vers} ]] || ! version_is_at_least "4" ${oss_vers}; then
+		if ! has_version ">=media-sound/oss-4"; then
 			eerror "You cannot build wine with USE=oss without having support from a"
 			eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)"
 			eerror
@@ -275,10 +277,8 @@ src_unpack() {
 		if use staging; then
 			local WINE_COMMIT=${EGIT_VERSION}
 
-			EGIT_REPO_URI=${STAGING_EGIT_REPO_URI}
-			unset ${PN}_LIVE_{REPO,BRANCH,COMMIT} EGIT_COMMIT;
-
-			EGIT_CHECKOUT_DIR=${STAGING_DIR} git-r3_src_unpack
+			git-r3_fetch "${STAGING_EGIT_REPO_URI}"
+			git-r3_checkout "${STAGING_EGIT_REPO_URI}" "${STAGING_DIR}"
 
 			local STAGING_COMMIT=$("${STAGING_DIR}/patches/patchinstall.sh" --upstream-commit) || die
 
@@ -288,12 +288,9 @@ src_unpack() {
 				einfo "Example: EGIT_COMMIT=${STAGING_COMMIT} emerge -1 wine"
 			fi
 		fi
-	else
-		unpack ${P}.tar.bz2
-		use staging && unpack "${STAGING_P}.tar.gz"
 	fi
 
-	unpack "${WINE_GENTOO}.tar.bz2"
+	default
 
 	l10n_find_plocales_changes "${S}/po" "" ".po"
 }
@@ -322,7 +319,7 @@ src_prepare() {
 			cd "${STAGING_DIR}/patches"
 			source "${STAGING_DIR}/patches/patchinstall.sh"
 		)
-		eend $?
+		eend $? || die "Failed to apply Wine-Staging patches"
 
 		# To differentiate unofficial staging releases
 		if [[ ! -z ${SUFFIX} ]]; then
@@ -400,6 +397,7 @@ multilib_src_configure() {
 
 	use staging && myconf+=(
 		--with-xattr
+		$(use_with themes gtk3)
 		$(use_with vaapi va)
 	)
 

diff --git a/app-emulation/wine/wine-1.9.5-r2.ebuild b/app-emulation/wine/wine-1.9.5-r3.ebuild
similarity index 95%
rename from app-emulation/wine/wine-1.9.5-r2.ebuild
rename to app-emulation/wine/wine-1.9.5-r3.ebuild
index 717ef85..e186513 100644
--- a/app-emulation/wine/wine-1.9.5-r2.ebuild
+++ b/app-emulation/wine/wine-1.9.5-r3.ebuild
@@ -57,7 +57,7 @@ fi
 
 LICENSE="LGPL-2.1"
 SLOT="0"
-IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png prelink pulseaudio +realtime +run-exes s3tc samba scanner selinux +ssl staging test +threads +truetype +udisks v4l vaapi +X +xcomposite xinerama +xml"
+IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png prelink pulseaudio +realtime +run-exes s3tc samba scanner selinux +ssl staging test themes +threads +truetype +udisks v4l vaapi +X +xcomposite xinerama +xml"
 REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
 	X? ( truetype )
 	elibc_glibc? ( threads )
@@ -65,6 +65,7 @@ REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
 	pipelight? ( staging )
 	s3tc? ( staging )
 	test? ( abi_x86_32 )
+	themes? ( staging )
 	vaapi? ( staging )" # osmesa-opengl #286560 # X-truetype #551124
 
 # FIXME: the test suite is unsuitable for us; many tests require net access
@@ -110,6 +111,11 @@ COMMON_DEPEND="
 	scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
 	ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
 	staging? ( sys-apps/attr[${MULTILIB_USEDEP}] )
+	themes? (
+		dev-libs/glib:2[${MULTILIB_USEDEP}]
+		x11-libs/cairo[${MULTILIB_USEDEP}]
+		x11-libs/gtk+:3[${MULTILIB_USEDEP}]
+	)
 	truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
 	udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
 	v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
@@ -187,8 +193,7 @@ wine_compiler_check() {
 			$(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
 			# Run in subshell to prevent "Aborted" message
 			( "${T}"/pr66838 || false ) >/dev/null 2>&1
-			eend $?
-			if [[ $? -ne 0 ]] ; then
+			if ! eend $?; then
 				eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
 				eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
 				eerror "or use gcc-config to select a different compiler version."
@@ -201,9 +206,8 @@ wine_compiler_check() {
 		if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
 			ebegin "Checking for gcc-5-3 stack realignment compiler bug"
 			# Compile in subshell to prevent "Aborted" message
-			( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${FILESDIR}"/pr69140.c -o "${T}"/pr69140 || false ) >/dev/null 2>&1
-			eend $?
-			if [[ $? -ne 0 ]] ; then
+			( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${FILESDIR}"/pr69140.c -o "${T}"/pr69140 ) >/dev/null 2>&1
+			if ! eend $?; then
 				eerror "Wine cannot be built with this version of gcc-5.3"
 				eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
 				eerror "or use gcc-config to select a different compiler version."
@@ -219,8 +223,7 @@ wine_compiler_check() {
 		ebegin "Checking for 64-bit compiler with builtin_ms_va_list support"
 		# Compile in subshell to prevent "Aborted" message
 		( $(tc-getCC) -O2 "${FILESDIR}"/builtin_ms_va_list.c -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
-		eend $?
-		if [[ $? -ne 0 ]]; then
+		if ! eend $?; then
 			eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine"
 			eerror
 			eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
@@ -233,7 +236,7 @@ wine_compiler_check() {
 wine_build_environment_check() {
 	[[ ${MERGE_TYPE} = "binary" ]] && return 0
 
-	if use abi_x86_32 && use opencl && [[ x$(eselect opencl show 2> /dev/null) = "xintel" ]]; then
+	if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then
 		eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
 		eerror "See https://bugs.gentoo.org/487864 for more details."
 		eerror
@@ -247,8 +250,7 @@ pkg_pretend() {
 
 	# Verify OSS support
 	if use oss && ! use kernel_FreeBSD; then
-		local oss_vers=$(best_version media-sound/oss)
-		if [[ -z ${oss_vers} ]] || ! version_is_at_least "4" ${oss_vers}; then
+		if ! has_version ">=media-sound/oss-4"; then
 			eerror "You cannot build wine with USE=oss without having support from a"
 			eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)"
 			eerror
@@ -274,10 +276,8 @@ src_unpack() {
 		if use staging; then
 			local WINE_COMMIT=${EGIT_VERSION}
 
-			EGIT_REPO_URI=${STAGING_EGIT_REPO_URI}
-			unset ${PN}_LIVE_{REPO,BRANCH,COMMIT} EGIT_COMMIT;
-
-			EGIT_CHECKOUT_DIR=${STAGING_DIR} git-r3_src_unpack
+			git-r3_fetch "${STAGING_EGIT_REPO_URI}"
+			git-r3_checkout "${STAGING_EGIT_REPO_URI}" "${STAGING_DIR}"
 
 			local STAGING_COMMIT=$("${STAGING_DIR}/patches/patchinstall.sh" --upstream-commit) || die
 
@@ -287,12 +287,9 @@ src_unpack() {
 				einfo "Example: EGIT_COMMIT=${STAGING_COMMIT} emerge -1 wine"
 			fi
 		fi
-	else
-		unpack ${P}.tar.bz2
-		use staging && unpack "${STAGING_P}.tar.gz"
 	fi
 
-	unpack "${WINE_GENTOO}.tar.bz2"
+	default
 
 	l10n_find_plocales_changes "${S}/po" "" ".po"
 }
@@ -324,7 +321,7 @@ src_prepare() {
 			cd "${STAGING_DIR}/patches"
 			source "${STAGING_DIR}/patches/patchinstall.sh"
 		)
-		eend $?
+		eend $? || die "Failed to apply Wine-Staging patches"
 
 		# To differentiate unofficial staging releases
 		if [[ ! -z ${SUFFIX} ]]; then
@@ -402,6 +399,7 @@ multilib_src_configure() {
 
 	use staging && myconf+=(
 		--with-xattr
+		$(use_with themes gtk3)
 		$(use_with vaapi va)
 	)
 

diff --git a/app-emulation/wine/wine-1.9.6-r2.ebuild b/app-emulation/wine/wine-1.9.6-r3.ebuild
similarity index 95%
rename from app-emulation/wine/wine-1.9.6-r2.ebuild
rename to app-emulation/wine/wine-1.9.6-r3.ebuild
index c52e247..d91273b 100644
--- a/app-emulation/wine/wine-1.9.6-r2.ebuild
+++ b/app-emulation/wine/wine-1.9.6-r3.ebuild
@@ -57,7 +57,7 @@ fi
 
 LICENSE="LGPL-2.1"
 SLOT="0"
-IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png prelink pulseaudio +realtime +run-exes s3tc samba scanner selinux +ssl staging test +threads +truetype +udisks v4l vaapi +X +xcomposite xinerama +xml"
+IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png prelink pulseaudio +realtime +run-exes s3tc samba scanner selinux +ssl staging test themes +threads +truetype +udisks v4l vaapi +X +xcomposite xinerama +xml"
 REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
 	X? ( truetype )
 	elibc_glibc? ( threads )
@@ -65,6 +65,7 @@ REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
 	pipelight? ( staging )
 	s3tc? ( staging )
 	test? ( abi_x86_32 )
+	themes? ( staging )
 	vaapi? ( staging )" # osmesa-opengl #286560 # X-truetype #551124
 
 # FIXME: the test suite is unsuitable for us; many tests require net access
@@ -110,6 +111,11 @@ COMMON_DEPEND="
 	scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
 	ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
 	staging? ( sys-apps/attr[${MULTILIB_USEDEP}] )
+	themes? (
+		dev-libs/glib:2[${MULTILIB_USEDEP}]
+		x11-libs/cairo[${MULTILIB_USEDEP}]
+		x11-libs/gtk+:3[${MULTILIB_USEDEP}]
+	)
 	truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
 	udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
 	v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
@@ -187,8 +193,7 @@ wine_compiler_check() {
 			$(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
 			# Run in subshell to prevent "Aborted" message
 			( "${T}"/pr66838 || false ) >/dev/null 2>&1
-			eend $?
-			if [[ $? -ne 0 ]] ; then
+			if ! eend $?; then
 				eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
 				eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
 				eerror "or use gcc-config to select a different compiler version."
@@ -201,9 +206,8 @@ wine_compiler_check() {
 		if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
 			ebegin "Checking for gcc-5-3 stack realignment compiler bug"
 			# Compile in subshell to prevent "Aborted" message
-			( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${FILESDIR}"/pr69140.c -o "${T}"/pr69140 || false ) >/dev/null 2>&1
-			eend $?
-			if [[ $? -ne 0 ]] ; then
+			( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${FILESDIR}"/pr69140.c -o "${T}"/pr69140 ) >/dev/null 2>&1
+			if ! eend $?; then
 				eerror "Wine cannot be built with this version of gcc-5.3"
 				eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
 				eerror "or use gcc-config to select a different compiler version."
@@ -219,8 +223,7 @@ wine_compiler_check() {
 		ebegin "Checking for 64-bit compiler with builtin_ms_va_list support"
 		# Compile in subshell to prevent "Aborted" message
 		( $(tc-getCC) -O2 "${FILESDIR}"/builtin_ms_va_list.c -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
-		eend $?
-		if [[ $? -ne 0 ]]; then
+		if ! eend $?; then
 			eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine"
 			eerror
 			eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
@@ -233,7 +236,7 @@ wine_compiler_check() {
 wine_build_environment_check() {
 	[[ ${MERGE_TYPE} = "binary" ]] && return 0
 
-	if use abi_x86_32 && use opencl && [[ x$(eselect opencl show 2> /dev/null) = "xintel" ]]; then
+	if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then
 		eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
 		eerror "See https://bugs.gentoo.org/487864 for more details."
 		eerror
@@ -247,8 +250,7 @@ pkg_pretend() {
 
 	# Verify OSS support
 	if use oss && ! use kernel_FreeBSD; then
-		local oss_vers=$(best_version media-sound/oss)
-		if [[ -z ${oss_vers} ]] || ! version_is_at_least "4" ${oss_vers}; then
+		if ! has_version ">=media-sound/oss-4"; then
 			eerror "You cannot build wine with USE=oss without having support from a"
 			eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)"
 			eerror
@@ -274,10 +276,8 @@ src_unpack() {
 		if use staging; then
 			local WINE_COMMIT=${EGIT_VERSION}
 
-			EGIT_REPO_URI=${STAGING_EGIT_REPO_URI}
-			unset ${PN}_LIVE_{REPO,BRANCH,COMMIT} EGIT_COMMIT;
-
-			EGIT_CHECKOUT_DIR=${STAGING_DIR} git-r3_src_unpack
+			git-r3_fetch "${STAGING_EGIT_REPO_URI}"
+			git-r3_checkout "${STAGING_EGIT_REPO_URI}" "${STAGING_DIR}"
 
 			local STAGING_COMMIT=$("${STAGING_DIR}/patches/patchinstall.sh" --upstream-commit) || die
 
@@ -287,12 +287,9 @@ src_unpack() {
 				einfo "Example: EGIT_COMMIT=${STAGING_COMMIT} emerge -1 wine"
 			fi
 		fi
-	else
-		unpack ${P}.tar.bz2
-		use staging && unpack "${STAGING_P}.tar.gz"
 	fi
 
-	unpack "${WINE_GENTOO}.tar.bz2"
+	default
 
 	l10n_find_plocales_changes "${S}/po" "" ".po"
 }
@@ -321,7 +318,7 @@ src_prepare() {
 			cd "${STAGING_DIR}/patches"
 			source "${STAGING_DIR}/patches/patchinstall.sh"
 		)
-		eend $?
+		eend $? || die "Failed to apply Wine-Staging patches"
 
 		# To differentiate unofficial staging releases
 		if [[ ! -z ${SUFFIX} ]]; then
@@ -399,6 +396,7 @@ multilib_src_configure() {
 
 	use staging && myconf+=(
 		--with-xattr
+		$(use_with themes gtk3)
 		$(use_with vaapi va)
 	)
 

diff --git a/app-emulation/wine/wine-1.9.7-r2.ebuild b/app-emulation/wine/wine-1.9.7-r3.ebuild
similarity index 95%
rename from app-emulation/wine/wine-1.9.7-r2.ebuild
rename to app-emulation/wine/wine-1.9.7-r3.ebuild
index c52e247..d91273b 100644
--- a/app-emulation/wine/wine-1.9.7-r2.ebuild
+++ b/app-emulation/wine/wine-1.9.7-r3.ebuild
@@ -57,7 +57,7 @@ fi
 
 LICENSE="LGPL-2.1"
 SLOT="0"
-IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png prelink pulseaudio +realtime +run-exes s3tc samba scanner selinux +ssl staging test +threads +truetype +udisks v4l vaapi +X +xcomposite xinerama +xml"
+IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png prelink pulseaudio +realtime +run-exes s3tc samba scanner selinux +ssl staging test themes +threads +truetype +udisks v4l vaapi +X +xcomposite xinerama +xml"
 REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
 	X? ( truetype )
 	elibc_glibc? ( threads )
@@ -65,6 +65,7 @@ REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
 	pipelight? ( staging )
 	s3tc? ( staging )
 	test? ( abi_x86_32 )
+	themes? ( staging )
 	vaapi? ( staging )" # osmesa-opengl #286560 # X-truetype #551124
 
 # FIXME: the test suite is unsuitable for us; many tests require net access
@@ -110,6 +111,11 @@ COMMON_DEPEND="
 	scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
 	ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
 	staging? ( sys-apps/attr[${MULTILIB_USEDEP}] )
+	themes? (
+		dev-libs/glib:2[${MULTILIB_USEDEP}]
+		x11-libs/cairo[${MULTILIB_USEDEP}]
+		x11-libs/gtk+:3[${MULTILIB_USEDEP}]
+	)
 	truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
 	udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
 	v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
@@ -187,8 +193,7 @@ wine_compiler_check() {
 			$(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
 			# Run in subshell to prevent "Aborted" message
 			( "${T}"/pr66838 || false ) >/dev/null 2>&1
-			eend $?
-			if [[ $? -ne 0 ]] ; then
+			if ! eend $?; then
 				eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
 				eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
 				eerror "or use gcc-config to select a different compiler version."
@@ -201,9 +206,8 @@ wine_compiler_check() {
 		if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
 			ebegin "Checking for gcc-5-3 stack realignment compiler bug"
 			# Compile in subshell to prevent "Aborted" message
-			( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${FILESDIR}"/pr69140.c -o "${T}"/pr69140 || false ) >/dev/null 2>&1
-			eend $?
-			if [[ $? -ne 0 ]] ; then
+			( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${FILESDIR}"/pr69140.c -o "${T}"/pr69140 ) >/dev/null 2>&1
+			if ! eend $?; then
 				eerror "Wine cannot be built with this version of gcc-5.3"
 				eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
 				eerror "or use gcc-config to select a different compiler version."
@@ -219,8 +223,7 @@ wine_compiler_check() {
 		ebegin "Checking for 64-bit compiler with builtin_ms_va_list support"
 		# Compile in subshell to prevent "Aborted" message
 		( $(tc-getCC) -O2 "${FILESDIR}"/builtin_ms_va_list.c -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
-		eend $?
-		if [[ $? -ne 0 ]]; then
+		if ! eend $?; then
 			eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine"
 			eerror
 			eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
@@ -233,7 +236,7 @@ wine_compiler_check() {
 wine_build_environment_check() {
 	[[ ${MERGE_TYPE} = "binary" ]] && return 0
 
-	if use abi_x86_32 && use opencl && [[ x$(eselect opencl show 2> /dev/null) = "xintel" ]]; then
+	if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then
 		eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
 		eerror "See https://bugs.gentoo.org/487864 for more details."
 		eerror
@@ -247,8 +250,7 @@ pkg_pretend() {
 
 	# Verify OSS support
 	if use oss && ! use kernel_FreeBSD; then
-		local oss_vers=$(best_version media-sound/oss)
-		if [[ -z ${oss_vers} ]] || ! version_is_at_least "4" ${oss_vers}; then
+		if ! has_version ">=media-sound/oss-4"; then
 			eerror "You cannot build wine with USE=oss without having support from a"
 			eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)"
 			eerror
@@ -274,10 +276,8 @@ src_unpack() {
 		if use staging; then
 			local WINE_COMMIT=${EGIT_VERSION}
 
-			EGIT_REPO_URI=${STAGING_EGIT_REPO_URI}
-			unset ${PN}_LIVE_{REPO,BRANCH,COMMIT} EGIT_COMMIT;
-
-			EGIT_CHECKOUT_DIR=${STAGING_DIR} git-r3_src_unpack
+			git-r3_fetch "${STAGING_EGIT_REPO_URI}"
+			git-r3_checkout "${STAGING_EGIT_REPO_URI}" "${STAGING_DIR}"
 
 			local STAGING_COMMIT=$("${STAGING_DIR}/patches/patchinstall.sh" --upstream-commit) || die
 
@@ -287,12 +287,9 @@ src_unpack() {
 				einfo "Example: EGIT_COMMIT=${STAGING_COMMIT} emerge -1 wine"
 			fi
 		fi
-	else
-		unpack ${P}.tar.bz2
-		use staging && unpack "${STAGING_P}.tar.gz"
 	fi
 
-	unpack "${WINE_GENTOO}.tar.bz2"
+	default
 
 	l10n_find_plocales_changes "${S}/po" "" ".po"
 }
@@ -321,7 +318,7 @@ src_prepare() {
 			cd "${STAGING_DIR}/patches"
 			source "${STAGING_DIR}/patches/patchinstall.sh"
 		)
-		eend $?
+		eend $? || die "Failed to apply Wine-Staging patches"
 
 		# To differentiate unofficial staging releases
 		if [[ ! -z ${SUFFIX} ]]; then
@@ -399,6 +396,7 @@ multilib_src_configure() {
 
 	use staging && myconf+=(
 		--with-xattr
+		$(use_with themes gtk3)
 		$(use_with vaapi va)
 	)
 

diff --git a/app-emulation/wine/wine-1.9.8-r1.ebuild b/app-emulation/wine/wine-1.9.8-r2.ebuild
similarity index 95%
rename from app-emulation/wine/wine-1.9.8-r1.ebuild
rename to app-emulation/wine/wine-1.9.8-r2.ebuild
index 2db9e5b..cc1f86d 100644
--- a/app-emulation/wine/wine-1.9.8-r1.ebuild
+++ b/app-emulation/wine/wine-1.9.8-r2.ebuild
@@ -57,7 +57,7 @@ fi
 
 LICENSE="LGPL-2.1"
 SLOT="0"
-IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png prelink pulseaudio +realtime +run-exes s3tc samba scanner selinux +ssl staging test +threads +truetype +udisks v4l vaapi +X +xcomposite xinerama +xml"
+IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png prelink pulseaudio +realtime +run-exes s3tc samba scanner selinux +ssl staging test themes +threads +truetype +udisks v4l vaapi +X +xcomposite xinerama +xml"
 REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
 	X? ( truetype )
 	elibc_glibc? ( threads )
@@ -65,6 +65,7 @@ REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
 	pipelight? ( staging )
 	s3tc? ( staging )
 	test? ( abi_x86_32 )
+	themes? ( staging )
 	vaapi? ( staging )" # osmesa-opengl #286560 # X-truetype #551124
 
 # FIXME: the test suite is unsuitable for us; many tests require net access
@@ -110,6 +111,11 @@ COMMON_DEPEND="
 	scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
 	ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
 	staging? ( sys-apps/attr[${MULTILIB_USEDEP}] )
+	themes? (
+		dev-libs/glib:2[${MULTILIB_USEDEP}]
+		x11-libs/cairo[${MULTILIB_USEDEP}]
+		x11-libs/gtk+:3[${MULTILIB_USEDEP}]
+	)
 	truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
 	udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
 	v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
@@ -187,8 +193,7 @@ wine_compiler_check() {
 			$(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
 			# Run in subshell to prevent "Aborted" message
 			( "${T}"/pr66838 || false ) >/dev/null 2>&1
-			eend $?
-			if [[ $? -ne 0 ]] ; then
+			if ! eend $?; then
 				eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
 				eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
 				eerror "or use gcc-config to select a different compiler version."
@@ -201,9 +206,8 @@ wine_compiler_check() {
 		if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
 			ebegin "Checking for gcc-5-3 stack realignment compiler bug"
 			# Compile in subshell to prevent "Aborted" message
-			( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${FILESDIR}"/pr69140.c -o "${T}"/pr69140 || false ) >/dev/null 2>&1
-			eend $?
-			if [[ $? -ne 0 ]] ; then
+			( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${FILESDIR}"/pr69140.c -o "${T}"/pr69140 ) >/dev/null 2>&1
+			if ! eend $?; then
 				eerror "Wine cannot be built with this version of gcc-5.3"
 				eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
 				eerror "or use gcc-config to select a different compiler version."
@@ -219,8 +223,7 @@ wine_compiler_check() {
 		ebegin "Checking for 64-bit compiler with builtin_ms_va_list support"
 		# Compile in subshell to prevent "Aborted" message
 		( $(tc-getCC) -O2 "${FILESDIR}"/builtin_ms_va_list.c -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
-		eend $?
-		if [[ $? -ne 0 ]]; then
+		if ! eend $?; then
 			eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine"
 			eerror
 			eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
@@ -233,7 +236,7 @@ wine_compiler_check() {
 wine_build_environment_check() {
 	[[ ${MERGE_TYPE} = "binary" ]] && return 0
 
-	if use abi_x86_32 && use opencl && [[ x$(eselect opencl show 2> /dev/null) = "xintel" ]]; then
+	if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then
 		eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
 		eerror "See https://bugs.gentoo.org/487864 for more details."
 		eerror
@@ -247,8 +250,7 @@ pkg_pretend() {
 
 	# Verify OSS support
 	if use oss && ! use kernel_FreeBSD; then
-		local oss_vers=$(best_version media-sound/oss)
-		if [[ -z ${oss_vers} ]] || ! version_is_at_least "4" ${oss_vers}; then
+		if ! has_version ">=media-sound/oss-4"; then
 			eerror "You cannot build wine with USE=oss without having support from a"
 			eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)"
 			eerror
@@ -274,10 +276,8 @@ src_unpack() {
 		if use staging; then
 			local WINE_COMMIT=${EGIT_VERSION}
 
-			EGIT_REPO_URI=${STAGING_EGIT_REPO_URI}
-			unset ${PN}_LIVE_{REPO,BRANCH,COMMIT} EGIT_COMMIT;
-
-			EGIT_CHECKOUT_DIR=${STAGING_DIR} git-r3_src_unpack
+			git-r3_fetch "${STAGING_EGIT_REPO_URI}"
+			git-r3_checkout "${STAGING_EGIT_REPO_URI}" "${STAGING_DIR}"
 
 			local STAGING_COMMIT=$("${STAGING_DIR}/patches/patchinstall.sh" --upstream-commit) || die
 
@@ -287,12 +287,9 @@ src_unpack() {
 				einfo "Example: EGIT_COMMIT=${STAGING_COMMIT} emerge -1 wine"
 			fi
 		fi
-	else
-		unpack ${P}.tar.bz2
-		use staging && unpack "${STAGING_P}.tar.gz"
 	fi
 
-	unpack "${WINE_GENTOO}.tar.bz2"
+	default
 
 	l10n_find_plocales_changes "${S}/po" "" ".po"
 }
@@ -321,7 +318,7 @@ src_prepare() {
 			cd "${STAGING_DIR}/patches"
 			source "${STAGING_DIR}/patches/patchinstall.sh"
 		)
-		eend $?
+		eend $? || die "Failed to apply Wine-Staging patches"
 
 		# To differentiate unofficial staging releases
 		if [[ ! -z ${SUFFIX} ]]; then
@@ -399,6 +396,7 @@ multilib_src_configure() {
 
 	use staging && myconf+=(
 		--with-xattr
+		$(use_with themes gtk3)
 		$(use_with vaapi va)
 	)
 

diff --git a/app-emulation/wine/wine-1.9.9-r2.ebuild b/app-emulation/wine/wine-1.9.9-r3.ebuild
similarity index 94%
rename from app-emulation/wine/wine-1.9.9-r2.ebuild
rename to app-emulation/wine/wine-1.9.9-r3.ebuild
index 26889d3..24ef63d 100644
--- a/app-emulation/wine/wine-1.9.9-r2.ebuild
+++ b/app-emulation/wine/wine-1.9.9-r3.ebuild
@@ -61,7 +61,7 @@ fi
 
 LICENSE="LGPL-2.1"
 SLOT="0"
-IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags d3d9 dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png prelink pulseaudio +realtime +run-exes s3tc samba scanner selinux +ssl staging test +threads +truetype +udisks v4l vaapi +X +xcomposite xinerama +xml"
+IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags d3d9 dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png prelink pulseaudio +realtime +run-exes s3tc samba scanner selinux +ssl staging test themes +threads +truetype +udisks v4l vaapi +X +xcomposite xinerama +xml"
 REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
 	X? ( truetype )
 	elibc_glibc? ( threads )
@@ -69,6 +69,7 @@ REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
 	pipelight? ( staging )
 	s3tc? ( staging )
 	test? ( abi_x86_32 )
+	themes? ( staging )
 	vaapi? ( staging )" # osmesa-opengl #286560 # X-truetype #551124
 
 # FIXME: the test suite is unsuitable for us; many tests require net access
@@ -120,6 +121,11 @@ COMMON_DEPEND="
 	scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
 	ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
 	staging? ( sys-apps/attr[${MULTILIB_USEDEP}] )
+	themes? (
+		dev-libs/glib:2[${MULTILIB_USEDEP}]
+		x11-libs/cairo[${MULTILIB_USEDEP}]
+		x11-libs/gtk+:3[${MULTILIB_USEDEP}]
+	)
 	truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
 	udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
 	v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
@@ -197,8 +203,7 @@ wine_compiler_check() {
 			$(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
 			# Run in subshell to prevent "Aborted" message
 			( "${T}"/pr66838 || false ) >/dev/null 2>&1
-			eend $?
-			if [[ $? -ne 0 ]] ; then
+			if ! eend $?; then
 				eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
 				eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
 				eerror "or use gcc-config to select a different compiler version."
@@ -211,9 +216,8 @@ wine_compiler_check() {
 		if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
 			ebegin "Checking for gcc-5-3 stack realignment compiler bug"
 			# Compile in subshell to prevent "Aborted" message
-			( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${FILESDIR}"/pr69140.c -o "${T}"/pr69140 || false ) >/dev/null 2>&1
-			eend $?
-			if [[ $? -ne 0 ]] ; then
+			( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${FILESDIR}"/pr69140.c -o "${T}"/pr69140 ) >/dev/null 2>&1
+			if ! eend $?; then
 				eerror "Wine cannot be built with this version of gcc-5.3"
 				eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
 				eerror "or use gcc-config to select a different compiler version."
@@ -229,8 +233,7 @@ wine_compiler_check() {
 		ebegin "Checking for 64-bit compiler with builtin_ms_va_list support"
 		# Compile in subshell to prevent "Aborted" message
 		( $(tc-getCC) -O2 "${FILESDIR}"/builtin_ms_va_list.c -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
-		eend $?
-		if [[ $? -ne 0 ]]; then
+		if ! eend $?; then
 			eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine"
 			eerror
 			eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
@@ -243,7 +246,7 @@ wine_compiler_check() {
 wine_build_environment_check() {
 	[[ ${MERGE_TYPE} = "binary" ]] && return 0
 
-	if use abi_x86_32 && use opencl && [[ x$(eselect opencl show 2> /dev/null) = "xintel" ]]; then
+	if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then
 		eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
 		eerror "See https://bugs.gentoo.org/487864 for more details."
 		eerror
@@ -257,8 +260,7 @@ pkg_pretend() {
 
 	# Verify OSS support
 	if use oss && ! use kernel_FreeBSD; then
-		local oss_vers=$(best_version media-sound/oss)
-		if [[ -z ${oss_vers} ]] || ! version_is_at_least "4" ${oss_vers}; then
+		if ! has_version ">=media-sound/oss-4"; then
 			eerror "You cannot build wine with USE=oss without having support from a"
 			eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)"
 			eerror
@@ -284,10 +286,8 @@ src_unpack() {
 		if use staging; then
 			local WINE_COMMIT=${EGIT_VERSION}
 
-			EGIT_REPO_URI=${STAGING_EGIT_REPO_URI}
-			unset ${PN}_LIVE_{REPO,BRANCH,COMMIT} EGIT_COMMIT;
-
-			EGIT_CHECKOUT_DIR=${STAGING_DIR} git-r3_src_unpack
+			git-r3_fetch "${STAGING_EGIT_REPO_URI}"
+			git-r3_checkout "${STAGING_EGIT_REPO_URI}" "${STAGING_DIR}"
 
 			local STAGING_COMMIT=$("${STAGING_DIR}/patches/patchinstall.sh" --upstream-commit) || die
 
@@ -298,17 +298,12 @@ src_unpack() {
 			fi
 		fi
 		if use d3d9; then
-			EGIT_REPO_URI="${D3D9_EGIT_REPO_URI}"
-			unset ${PN}_LIVE_{REPO,BRANCH,COMMIT} EGIT_COMMIT;
-			EGIT_CHECKOUT_DIR="${D3D9_DIR}" git-r3_src_unpack
+			git-r3_fetch "${D3D9_EGIT_REPO_URI}"
+			git-r3_checkout "${D3D9_EGIT_REPO_URI}" "${D3D9_DIR}"
 		fi
-	else
-		unpack ${P}.tar.bz2
-		use staging && unpack "${STAGING_P}.tar.gz"
-		use d3d9 && unpack "${D3D9_P}.tar.gz"
 	fi
 
-	unpack "${WINE_GENTOO}.tar.bz2"
+	default
 
 	l10n_find_plocales_changes "${S}/po" "" ".po"
 }
@@ -336,7 +331,7 @@ src_prepare() {
 			cd "${STAGING_DIR}/patches"
 			source "${STAGING_DIR}/patches/patchinstall.sh"
 		)
-		eend $?
+		eend $? || die "Failed to apply Wine-Staging patches"
 
 		# To differentiate unofficial staging releases
 		if [[ ! -z ${SUFFIX} ]]; then
@@ -422,6 +417,7 @@ multilib_src_configure() {
 
 	use staging && myconf+=(
 		--with-xattr
+		$(use_with themes gtk3)
 		$(use_with vaapi va)
 	)
 	use d3d9 && myconf+=( $(use_with d3d9 d3dadapter) )

diff --git a/app-emulation/wine/wine-9999.ebuild b/app-emulation/wine/wine-9999.ebuild
index f1c142d..8bedf34 100644
--- a/app-emulation/wine/wine-9999.ebuild
+++ b/app-emulation/wine/wine-9999.ebuild
@@ -61,7 +61,7 @@ fi
 
 LICENSE="LGPL-2.1"
 SLOT="0"
-IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags d3d9 dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png prelink pulseaudio +realtime +run-exes s3tc samba scanner selinux +ssl staging test +threads +truetype +udisks v4l vaapi +X +xcomposite xinerama +xml"
+IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags d3d9 dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png prelink pulseaudio +realtime +run-exes s3tc samba scanner selinux +ssl staging test themes +threads +truetype +udisks v4l vaapi +X +xcomposite xinerama +xml"
 REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
 	X? ( truetype )
 	elibc_glibc? ( threads )
@@ -69,6 +69,7 @@ REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
 	pipelight? ( staging )
 	s3tc? ( staging )
 	test? ( abi_x86_32 )
+	themes? ( staging )
 	vaapi? ( staging )" # osmesa-opengl #286560 # X-truetype #551124
 
 # FIXME: the test suite is unsuitable for us; many tests require net access
@@ -120,6 +121,11 @@ COMMON_DEPEND="
 	scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
 	ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
 	staging? ( sys-apps/attr[${MULTILIB_USEDEP}] )
+	themes? (
+		dev-libs/glib:2[${MULTILIB_USEDEP}]
+		x11-libs/cairo[${MULTILIB_USEDEP}]
+		x11-libs/gtk+:3[${MULTILIB_USEDEP}]
+	)
 	truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
 	udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
 	v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
@@ -197,8 +203,7 @@ wine_compiler_check() {
 			$(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
 			# Run in subshell to prevent "Aborted" message
 			( "${T}"/pr66838 || false ) >/dev/null 2>&1
-			eend $?
-			if [[ $? -ne 0 ]] ; then
+			if ! eend $?; then
 				eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
 				eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
 				eerror "or use gcc-config to select a different compiler version."
@@ -211,9 +216,8 @@ wine_compiler_check() {
 		if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
 			ebegin "Checking for gcc-5-3 stack realignment compiler bug"
 			# Compile in subshell to prevent "Aborted" message
-			( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${FILESDIR}"/pr69140.c -o "${T}"/pr69140 || false ) >/dev/null 2>&1
-			eend $?
-			if [[ $? -ne 0 ]] ; then
+			( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${FILESDIR}"/pr69140.c -o "${T}"/pr69140 ) >/dev/null 2>&1
+			if ! eend $?; then
 				eerror "Wine cannot be built with this version of gcc-5.3"
 				eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
 				eerror "or use gcc-config to select a different compiler version."
@@ -229,8 +233,7 @@ wine_compiler_check() {
 		ebegin "Checking for 64-bit compiler with builtin_ms_va_list support"
 		# Compile in subshell to prevent "Aborted" message
 		( $(tc-getCC) -O2 "${FILESDIR}"/builtin_ms_va_list.c -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
-		eend $?
-		if [[ $? -ne 0 ]]; then
+		if ! eend $?; then
 			eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine"
 			eerror
 			eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
@@ -243,7 +246,7 @@ wine_compiler_check() {
 wine_build_environment_check() {
 	[[ ${MERGE_TYPE} = "binary" ]] && return 0
 
-	if use abi_x86_32 && use opencl && [[ x$(eselect opencl show 2> /dev/null) = "xintel" ]]; then
+	if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then
 		eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
 		eerror "See https://bugs.gentoo.org/487864 for more details."
 		eerror
@@ -257,8 +260,7 @@ pkg_pretend() {
 
 	# Verify OSS support
 	if use oss && ! use kernel_FreeBSD; then
-		local oss_vers=$(best_version media-sound/oss)
-		if [[ -z ${oss_vers} ]] || ! version_is_at_least "4" ${oss_vers}; then
+		if ! has_version ">=media-sound/oss-4"; then
 			eerror "You cannot build wine with USE=oss without having support from a"
 			eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)"
 			eerror
@@ -284,10 +286,8 @@ src_unpack() {
 		if use staging; then
 			local WINE_COMMIT=${EGIT_VERSION}
 
-			EGIT_REPO_URI=${STAGING_EGIT_REPO_URI}
-			unset ${PN}_LIVE_{REPO,BRANCH,COMMIT} EGIT_COMMIT;
-
-			EGIT_CHECKOUT_DIR=${STAGING_DIR} git-r3_src_unpack
+			git-r3_fetch "${STAGING_EGIT_REPO_URI}"
+			git-r3_checkout "${STAGING_EGIT_REPO_URI}" "${STAGING_DIR}"
 
 			local STAGING_COMMIT=$("${STAGING_DIR}/patches/patchinstall.sh" --upstream-commit) || die
 
@@ -298,17 +298,12 @@ src_unpack() {
 			fi
 		fi
 		if use d3d9; then
-			EGIT_REPO_URI="${D3D9_EGIT_REPO_URI}"
-			unset ${PN}_LIVE_{REPO,BRANCH,COMMIT} EGIT_COMMIT;
-			EGIT_CHECKOUT_DIR="${D3D9_DIR}" git-r3_src_unpack
+			git-r3_fetch "${D3D9_EGIT_REPO_URI}"
+			git-r3_checkout "${D3D9_EGIT_REPO_URI}" "${D3D9_DIR}"
 		fi
-	else
-		unpack ${P}.tar.bz2
-		use staging && unpack "${STAGING_P}.tar.gz"
-		use d3d9 && unpack "${D3D9_P}.tar.gz"
 	fi
 
-	unpack "${WINE_GENTOO}.tar.bz2"
+	default
 
 	l10n_find_plocales_changes "${S}/po" "" ".po"
 }
@@ -335,7 +330,7 @@ src_prepare() {
 			cd "${STAGING_DIR}/patches"
 			source "${STAGING_DIR}/patches/patchinstall.sh"
 		)
-		eend $?
+		eend $? || die "Failed to apply Wine-Staging patches"
 
 		# To differentiate unofficial staging releases
 		if [[ ! -z ${SUFFIX} ]]; then
@@ -421,6 +416,7 @@ multilib_src_configure() {
 
 	use staging && myconf+=(
 		--with-xattr
+		$(use_with themes gtk3)
 		$(use_with vaapi va)
 	)
 	use d3d9 && myconf+=( $(use_with d3d9 d3dadapter) )


             reply	other threads:[~2016-08-11  4:29 UTC|newest]

Thread overview: 86+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-08-11  4:29 NP Hardass [this message]
  -- strict thread matches above, loose matches on Subject: below --
2018-01-05 18:39 [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine/ Ulrich Müller
2017-08-23 17:10 Michał Górny
2017-04-29 20:52 NP Hardass
2017-03-23  9:24 NP Hardass
2017-03-23  9:24 NP Hardass
2017-03-23  9:24 NP Hardass
2017-03-23  9:24 NP Hardass
2017-03-13  4:52 NP Hardass
2017-03-13  4:52 NP Hardass
2017-03-13  0:47 NP Hardass
2017-03-12 21:26 NP Hardass
2017-01-25 23:02 NP Hardass
2017-01-19  0:09 NP Hardass
2017-01-09 18:52 NP Hardass
2017-01-09 18:50 NP Hardass
2017-01-09 18:09 NP Hardass
2017-01-02 17:36 Lars Wendler
2016-12-31  2:23 NP Hardass
2016-12-31  2:23 NP Hardass
2016-12-31  2:23 NP Hardass
2016-12-30 22:43 NP Hardass
2016-11-29 21:23 Austin English
2016-10-03 16:38 NP Hardass
2016-09-20 16:05 NP Hardass
2016-09-19 21:18 NP Hardass
2016-09-12  2:01 NP Hardass
2016-09-06 21:31 NP Hardass
2016-09-06 21:31 NP Hardass
2016-09-06 21:31 NP Hardass
2016-09-05  3:31 NP Hardass
2016-08-24 19:07 NP Hardass
2016-08-24 19:07 NP Hardass
2016-08-24 19:07 NP Hardass
2016-08-11  4:29 NP Hardass
2016-08-11  4:29 NP Hardass
2016-07-24 23:27 NP Hardass
2016-07-24 23:27 NP Hardass
2016-07-19  4:47 NP Hardass
2016-07-11 17:49 NP Hardass
2016-07-10 21:58 NP Hardass
2016-07-10 17:42 NP Hardass
2016-07-10 13:10 NP Hardass
2016-06-26  3:45 Austin English
2016-06-07 17:13 NP Hardass
2016-06-07  3:20 Austin English
2016-06-06 19:28 Pacho Ramos
2016-06-01  5:32 NP Hardass
2016-06-01  5:32 NP Hardass
2016-05-13  1:50 NP Hardass
2016-05-13  1:50 NP Hardass
2016-05-13  1:50 NP Hardass
2016-04-24 22:11 NP Hardass
2016-04-22  4:48 NP Hardass
2016-04-22  4:48 NP Hardass
2016-04-22  4:48 NP Hardass
2016-04-22  4:48 NP Hardass
2016-04-19 17:08 NP Hardass
2016-04-19 17:08 NP Hardass
2016-04-19 17:08 NP Hardass
2016-04-10 22:55 NP Hardass
2016-04-09 18:15 NP Hardass
2016-04-09 18:15 NP Hardass
2016-04-09  6:01 NP Hardass
2016-04-09  6:01 NP Hardass
2016-03-13  3:05 NP Hardass
2016-03-12 21:36 NP Hardass
2016-03-11 21:20 NP Hardass
2016-03-06  2:57 NP Hardass
2016-03-06  2:57 NP Hardass
2016-01-30  5:34 NP Hardass
2016-01-24  9:22 NP Hardass
2016-01-19  2:04 NP Hardass
2016-01-19  2:04 NP Hardass
2016-01-19  2:04 NP Hardass
2015-12-31 23:37 NP Hardass
2015-11-17 17:56 NP Hardass
2015-11-16  7:58 NP Hardass
2015-11-15 22:12 NP Hardass
2015-11-15 19:38 NP Hardass
2015-11-14  0:26 NP Hardass
2015-09-09  0:23 NP Hardass
2015-09-08 22:17 NP Hardass
2015-08-31  0:16 Alexandre Rostovtsev
2015-08-26  4:44 Alexandre Rostovtsev
2015-08-26  4:44 Alexandre Rostovtsev

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=1470889738.c09ae91a0f5792947bd9dfa6b9e0a13eb41e7999.np-hardass@gentoo \
    --to=np-hardass@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