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 via email to