public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine/, app-emulation/wine/files/
@ 2015-10-03  5:43 Alexandre Rostovtsev
  0 siblings, 0 replies; 9+ messages in thread
From: Alexandre Rostovtsev @ 2015-10-03  5:43 UTC (permalink / raw
  To: gentoo-commits

commit:     28604e0c07a3062664926465c294038a9dcdb82f
Author:     Alexandre Rostovtsev <tetromino <AT> gentoo <DOT> org>
AuthorDate: Sat Oct  3 05:40:26 2015 +0000
Commit:     Alexandre Rostovtsev <tetromino <AT> gentoo <DOT> org>
CommitDate: Sat Oct  3 05:41:22 2015 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=28604e0c

app-emulation/wine: works with gcc-5.2.0 with latest patchset

Instead of a simple version check, run the upstream test case to check
whether the installed gcc ebuild has the ms_abi bug or not.

Gentoo-Bug: 549768
Package-Manager: portage-2.2.22

 app-emulation/wine/files/pr66838.c       | 36 ++++++++++++++++++++++++++++++++
 app-emulation/wine/wine-1.6.2-r1.ebuild  | 18 ++++++++++------
 app-emulation/wine/wine-1.6.2.ebuild     | 18 ++++++++++------
 app-emulation/wine/wine-1.7.10-r1.ebuild | 18 ++++++++++------
 app-emulation/wine/wine-1.7.11-r1.ebuild | 18 ++++++++++------
 app-emulation/wine/wine-1.7.12-r1.ebuild | 18 ++++++++++------
 app-emulation/wine/wine-1.7.13-r1.ebuild | 18 ++++++++++------
 app-emulation/wine/wine-1.7.14-r1.ebuild | 18 ++++++++++------
 app-emulation/wine/wine-1.7.15-r1.ebuild | 18 ++++++++++------
 app-emulation/wine/wine-1.7.16-r1.ebuild | 18 ++++++++++------
 app-emulation/wine/wine-1.7.17-r1.ebuild | 18 ++++++++++------
 app-emulation/wine/wine-1.7.18-r1.ebuild | 18 ++++++++++------
 app-emulation/wine/wine-1.7.19-r2.ebuild | 18 ++++++++++------
 app-emulation/wine/wine-1.7.20-r1.ebuild | 18 ++++++++++------
 app-emulation/wine/wine-1.7.21-r1.ebuild | 18 ++++++++++------
 app-emulation/wine/wine-1.7.22-r1.ebuild | 18 ++++++++++------
 app-emulation/wine/wine-1.7.28-r1.ebuild | 18 ++++++++++------
 app-emulation/wine/wine-1.7.29-r1.ebuild | 18 ++++++++++------
 app-emulation/wine/wine-1.7.3-r1.ebuild  | 18 ++++++++++------
 app-emulation/wine/wine-1.7.33-r1.ebuild | 18 ++++++++++------
 app-emulation/wine/wine-1.7.34.ebuild    | 18 ++++++++++------
 app-emulation/wine/wine-1.7.35.ebuild    | 18 ++++++++++------
 app-emulation/wine/wine-1.7.36.ebuild    | 18 ++++++++++------
 app-emulation/wine/wine-1.7.37.ebuild    | 18 ++++++++++------
 app-emulation/wine/wine-1.7.38-r1.ebuild | 18 ++++++++++------
 app-emulation/wine/wine-1.7.39-r1.ebuild | 18 ++++++++++------
 app-emulation/wine/wine-1.7.4-r1.ebuild  | 18 ++++++++++------
 app-emulation/wine/wine-1.7.40-r1.ebuild | 18 ++++++++++------
 app-emulation/wine/wine-1.7.41.ebuild    | 18 ++++++++++------
 app-emulation/wine/wine-1.7.42.ebuild    | 18 ++++++++++------
 app-emulation/wine/wine-1.7.43.ebuild    | 18 ++++++++++------
 app-emulation/wine/wine-1.7.44.ebuild    | 18 ++++++++++------
 app-emulation/wine/wine-1.7.45.ebuild    | 18 ++++++++++------
 app-emulation/wine/wine-1.7.46.ebuild    | 18 ++++++++++------
 app-emulation/wine/wine-1.7.47.ebuild    | 18 ++++++++++------
 app-emulation/wine/wine-1.7.50.ebuild    | 18 ++++++++++------
 app-emulation/wine/wine-1.7.51.ebuild    | 18 ++++++++++------
 app-emulation/wine/wine-1.7.8-r1.ebuild  | 18 ++++++++++------
 app-emulation/wine/wine-1.7.9-r1.ebuild  | 18 ++++++++++------
 app-emulation/wine/wine-9999.ebuild      | 18 ++++++++++------
 40 files changed, 504 insertions(+), 234 deletions(-)

diff --git a/app-emulation/wine/files/pr66838.c b/app-emulation/wine/files/pr66838.c
new file mode 100644
index 0000000..cd61685
--- /dev/null
+++ b/app-emulation/wine/files/pr66838.c
@@ -0,0 +1,36 @@
+/* From gcc svn, /branches/gcc-5-branch/gcc/testsuite/gcc.target/i386/pr66838.c */
+/* Copyrighted and distributed under the same terms as gcc */
+
+void abort (void);
+
+char global;
+
+__attribute__((sysv_abi, noinline, noclone))
+void sysv_abi_func(char const *desc, void *local)
+{
+  register int esi asm ("esi");
+  register int edi asm ("edi");
+  
+  if (local != &global)
+    abort ();
+
+  /* Clobber some of the extra SYSV ABI registers.  */
+  asm volatile ("movl\t%2, %0\n\tmovl\t%2, %1"
+		: "=r" (esi), "=r" (edi)
+		: "i" (0xdeadbeef));
+}
+
+__attribute__((ms_abi, noinline, noclone))
+void ms_abi_func ()
+{
+  sysv_abi_func ("1st call", &global);
+  sysv_abi_func ("2nd call", &global);
+  sysv_abi_func ("3rd call", &global);
+}
+
+int
+main(void)
+{
+  ms_abi_func();
+  return 0;
+}

diff --git a/app-emulation/wine/wine-1.6.2-r1.ebuild b/app-emulation/wine/wine-1.6.2-r1.ebuild
index cd806c0..7890da7 100644
--- a/app-emulation/wine/wine-1.6.2-r1.ebuild
+++ b/app-emulation/wine/wine-1.6.2-r1.ebuild
@@ -145,12 +145,18 @@ wine_build_environment_check() {
 	[[ ${MERGE_TYPE} = "binary" ]] && return 0
 
 	# bug #549768
-	if use abi_x86_64 && [[ $(gcc-major-version) = 5 ]]; then
-		eerror "64-bit wine cannot be built with gcc-5.1 or 5.2 due to compiler bugs;"
-		eerror "you may use gcc-config to select an older compiler version."
-		eerror "See https://bugs.gentoo.org/549768"
-		eerror
-		return 1
+	if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
+		einfo "Checking for gcc-5 ms_abi compiler bug ..."
+		$(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
+		# Run in subshell to prevent "Aborted" message
+		if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; 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."
+			eerror "See https://bugs.gentoo.org/549768"
+			eerror
+			return 1
+		fi
 	fi
 
 	if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then

diff --git a/app-emulation/wine/wine-1.6.2.ebuild b/app-emulation/wine/wine-1.6.2.ebuild
index 3b620b1..e990228 100644
--- a/app-emulation/wine/wine-1.6.2.ebuild
+++ b/app-emulation/wine/wine-1.6.2.ebuild
@@ -174,12 +174,18 @@ wine_build_environment_check() {
 	[[ ${MERGE_TYPE} = "binary" ]] && return 0
 
 	# bug #549768
-	if use abi_x86_64 && [[ $(gcc-major-version) = 5 ]]; then
-		eerror "64-bit wine cannot be built with gcc-5.1 or 5.2 due to compiler bugs;"
-		eerror "you may use gcc-config to select an older compiler version."
-		eerror "See https://bugs.gentoo.org/549768"
-		eerror
-		return 1
+	if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
+		einfo "Checking for gcc-5 ms_abi compiler bug ..."
+		$(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
+		# Run in subshell to prevent "Aborted" message
+		if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; 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."
+			eerror "See https://bugs.gentoo.org/549768"
+			eerror
+			return 1
+		fi
 	fi
 
 	if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then

diff --git a/app-emulation/wine/wine-1.7.10-r1.ebuild b/app-emulation/wine/wine-1.7.10-r1.ebuild
index 8dd4996..9cd19bd 100644
--- a/app-emulation/wine/wine-1.7.10-r1.ebuild
+++ b/app-emulation/wine/wine-1.7.10-r1.ebuild
@@ -146,12 +146,18 @@ wine_build_environment_check() {
 	[[ ${MERGE_TYPE} = "binary" ]] && return 0
 
 	# bug #549768
-	if use abi_x86_64 && [[ $(gcc-major-version) = 5 ]]; then
-		eerror "64-bit wine cannot be built with gcc-5.1 or 5.2 due to compiler bugs;"
-		eerror "you may use gcc-config to select an older compiler version."
-		eerror "See https://bugs.gentoo.org/549768"
-		eerror
-		return 1
+	if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
+		einfo "Checking for gcc-5 ms_abi compiler bug ..."
+		$(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
+		# Run in subshell to prevent "Aborted" message
+		if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; 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."
+			eerror "See https://bugs.gentoo.org/549768"
+			eerror
+			return 1
+		fi
 	fi
 
 	if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then

diff --git a/app-emulation/wine/wine-1.7.11-r1.ebuild b/app-emulation/wine/wine-1.7.11-r1.ebuild
index 8dd4996..9cd19bd 100644
--- a/app-emulation/wine/wine-1.7.11-r1.ebuild
+++ b/app-emulation/wine/wine-1.7.11-r1.ebuild
@@ -146,12 +146,18 @@ wine_build_environment_check() {
 	[[ ${MERGE_TYPE} = "binary" ]] && return 0
 
 	# bug #549768
-	if use abi_x86_64 && [[ $(gcc-major-version) = 5 ]]; then
-		eerror "64-bit wine cannot be built with gcc-5.1 or 5.2 due to compiler bugs;"
-		eerror "you may use gcc-config to select an older compiler version."
-		eerror "See https://bugs.gentoo.org/549768"
-		eerror
-		return 1
+	if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
+		einfo "Checking for gcc-5 ms_abi compiler bug ..."
+		$(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
+		# Run in subshell to prevent "Aborted" message
+		if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; 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."
+			eerror "See https://bugs.gentoo.org/549768"
+			eerror
+			return 1
+		fi
 	fi
 
 	if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then

diff --git a/app-emulation/wine/wine-1.7.12-r1.ebuild b/app-emulation/wine/wine-1.7.12-r1.ebuild
index a672bc8..16697c5 100644
--- a/app-emulation/wine/wine-1.7.12-r1.ebuild
+++ b/app-emulation/wine/wine-1.7.12-r1.ebuild
@@ -146,12 +146,18 @@ wine_build_environment_check() {
 	[[ ${MERGE_TYPE} = "binary" ]] && return 0
 
 	# bug #549768
-	if use abi_x86_64 && [[ $(gcc-major-version) = 5 ]]; then
-		eerror "64-bit wine cannot be built with gcc-5.1 or 5.2 due to compiler bugs;"
-		eerror "you may use gcc-config to select an older compiler version."
-		eerror "See https://bugs.gentoo.org/549768"
-		eerror
-		return 1
+	if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
+		einfo "Checking for gcc-5 ms_abi compiler bug ..."
+		$(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
+		# Run in subshell to prevent "Aborted" message
+		if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; 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."
+			eerror "See https://bugs.gentoo.org/549768"
+			eerror
+			return 1
+		fi
 	fi
 
 	if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then

diff --git a/app-emulation/wine/wine-1.7.13-r1.ebuild b/app-emulation/wine/wine-1.7.13-r1.ebuild
index a672bc8..16697c5 100644
--- a/app-emulation/wine/wine-1.7.13-r1.ebuild
+++ b/app-emulation/wine/wine-1.7.13-r1.ebuild
@@ -146,12 +146,18 @@ wine_build_environment_check() {
 	[[ ${MERGE_TYPE} = "binary" ]] && return 0
 
 	# bug #549768
-	if use abi_x86_64 && [[ $(gcc-major-version) = 5 ]]; then
-		eerror "64-bit wine cannot be built with gcc-5.1 or 5.2 due to compiler bugs;"
-		eerror "you may use gcc-config to select an older compiler version."
-		eerror "See https://bugs.gentoo.org/549768"
-		eerror
-		return 1
+	if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
+		einfo "Checking for gcc-5 ms_abi compiler bug ..."
+		$(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
+		# Run in subshell to prevent "Aborted" message
+		if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; 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."
+			eerror "See https://bugs.gentoo.org/549768"
+			eerror
+			return 1
+		fi
 	fi
 
 	if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then

diff --git a/app-emulation/wine/wine-1.7.14-r1.ebuild b/app-emulation/wine/wine-1.7.14-r1.ebuild
index a672bc8..16697c5 100644
--- a/app-emulation/wine/wine-1.7.14-r1.ebuild
+++ b/app-emulation/wine/wine-1.7.14-r1.ebuild
@@ -146,12 +146,18 @@ wine_build_environment_check() {
 	[[ ${MERGE_TYPE} = "binary" ]] && return 0
 
 	# bug #549768
-	if use abi_x86_64 && [[ $(gcc-major-version) = 5 ]]; then
-		eerror "64-bit wine cannot be built with gcc-5.1 or 5.2 due to compiler bugs;"
-		eerror "you may use gcc-config to select an older compiler version."
-		eerror "See https://bugs.gentoo.org/549768"
-		eerror
-		return 1
+	if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
+		einfo "Checking for gcc-5 ms_abi compiler bug ..."
+		$(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
+		# Run in subshell to prevent "Aborted" message
+		if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; 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."
+			eerror "See https://bugs.gentoo.org/549768"
+			eerror
+			return 1
+		fi
 	fi
 
 	if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then

diff --git a/app-emulation/wine/wine-1.7.15-r1.ebuild b/app-emulation/wine/wine-1.7.15-r1.ebuild
index a672bc8..16697c5 100644
--- a/app-emulation/wine/wine-1.7.15-r1.ebuild
+++ b/app-emulation/wine/wine-1.7.15-r1.ebuild
@@ -146,12 +146,18 @@ wine_build_environment_check() {
 	[[ ${MERGE_TYPE} = "binary" ]] && return 0
 
 	# bug #549768
-	if use abi_x86_64 && [[ $(gcc-major-version) = 5 ]]; then
-		eerror "64-bit wine cannot be built with gcc-5.1 or 5.2 due to compiler bugs;"
-		eerror "you may use gcc-config to select an older compiler version."
-		eerror "See https://bugs.gentoo.org/549768"
-		eerror
-		return 1
+	if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
+		einfo "Checking for gcc-5 ms_abi compiler bug ..."
+		$(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
+		# Run in subshell to prevent "Aborted" message
+		if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; 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."
+			eerror "See https://bugs.gentoo.org/549768"
+			eerror
+			return 1
+		fi
 	fi
 
 	if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then

diff --git a/app-emulation/wine/wine-1.7.16-r1.ebuild b/app-emulation/wine/wine-1.7.16-r1.ebuild
index a672bc8..16697c5 100644
--- a/app-emulation/wine/wine-1.7.16-r1.ebuild
+++ b/app-emulation/wine/wine-1.7.16-r1.ebuild
@@ -146,12 +146,18 @@ wine_build_environment_check() {
 	[[ ${MERGE_TYPE} = "binary" ]] && return 0
 
 	# bug #549768
-	if use abi_x86_64 && [[ $(gcc-major-version) = 5 ]]; then
-		eerror "64-bit wine cannot be built with gcc-5.1 or 5.2 due to compiler bugs;"
-		eerror "you may use gcc-config to select an older compiler version."
-		eerror "See https://bugs.gentoo.org/549768"
-		eerror
-		return 1
+	if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
+		einfo "Checking for gcc-5 ms_abi compiler bug ..."
+		$(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
+		# Run in subshell to prevent "Aborted" message
+		if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; 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."
+			eerror "See https://bugs.gentoo.org/549768"
+			eerror
+			return 1
+		fi
 	fi
 
 	if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then

diff --git a/app-emulation/wine/wine-1.7.17-r1.ebuild b/app-emulation/wine/wine-1.7.17-r1.ebuild
index a672bc8..16697c5 100644
--- a/app-emulation/wine/wine-1.7.17-r1.ebuild
+++ b/app-emulation/wine/wine-1.7.17-r1.ebuild
@@ -146,12 +146,18 @@ wine_build_environment_check() {
 	[[ ${MERGE_TYPE} = "binary" ]] && return 0
 
 	# bug #549768
-	if use abi_x86_64 && [[ $(gcc-major-version) = 5 ]]; then
-		eerror "64-bit wine cannot be built with gcc-5.1 or 5.2 due to compiler bugs;"
-		eerror "you may use gcc-config to select an older compiler version."
-		eerror "See https://bugs.gentoo.org/549768"
-		eerror
-		return 1
+	if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
+		einfo "Checking for gcc-5 ms_abi compiler bug ..."
+		$(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
+		# Run in subshell to prevent "Aborted" message
+		if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; 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."
+			eerror "See https://bugs.gentoo.org/549768"
+			eerror
+			return 1
+		fi
 	fi
 
 	if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then

diff --git a/app-emulation/wine/wine-1.7.18-r1.ebuild b/app-emulation/wine/wine-1.7.18-r1.ebuild
index a672bc8..16697c5 100644
--- a/app-emulation/wine/wine-1.7.18-r1.ebuild
+++ b/app-emulation/wine/wine-1.7.18-r1.ebuild
@@ -146,12 +146,18 @@ wine_build_environment_check() {
 	[[ ${MERGE_TYPE} = "binary" ]] && return 0
 
 	# bug #549768
-	if use abi_x86_64 && [[ $(gcc-major-version) = 5 ]]; then
-		eerror "64-bit wine cannot be built with gcc-5.1 or 5.2 due to compiler bugs;"
-		eerror "you may use gcc-config to select an older compiler version."
-		eerror "See https://bugs.gentoo.org/549768"
-		eerror
-		return 1
+	if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
+		einfo "Checking for gcc-5 ms_abi compiler bug ..."
+		$(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
+		# Run in subshell to prevent "Aborted" message
+		if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; 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."
+			eerror "See https://bugs.gentoo.org/549768"
+			eerror
+			return 1
+		fi
 	fi
 
 	if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then

diff --git a/app-emulation/wine/wine-1.7.19-r2.ebuild b/app-emulation/wine/wine-1.7.19-r2.ebuild
index 0569dd9..90fb710 100644
--- a/app-emulation/wine/wine-1.7.19-r2.ebuild
+++ b/app-emulation/wine/wine-1.7.19-r2.ebuild
@@ -159,12 +159,18 @@ wine_build_environment_check() {
 	[[ ${MERGE_TYPE} = "binary" ]] && return 0
 
 	# bug #549768
-	if use abi_x86_64 && [[ $(gcc-major-version) = 5 ]]; then
-		eerror "64-bit wine cannot be built with gcc-5.1 or 5.2 due to compiler bugs;"
-		eerror "you may use gcc-config to select an older compiler version."
-		eerror "See https://bugs.gentoo.org/549768"
-		eerror
-		return 1
+	if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
+		einfo "Checking for gcc-5 ms_abi compiler bug ..."
+		$(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
+		# Run in subshell to prevent "Aborted" message
+		if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; 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."
+			eerror "See https://bugs.gentoo.org/549768"
+			eerror
+			return 1
+		fi
 	fi
 
 	if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then

diff --git a/app-emulation/wine/wine-1.7.20-r1.ebuild b/app-emulation/wine/wine-1.7.20-r1.ebuild
index baa882c..39a57ab 100644
--- a/app-emulation/wine/wine-1.7.20-r1.ebuild
+++ b/app-emulation/wine/wine-1.7.20-r1.ebuild
@@ -161,12 +161,18 @@ wine_build_environment_check() {
 	[[ ${MERGE_TYPE} = "binary" ]] && return 0
 
 	# bug #549768
-	if use abi_x86_64 && [[ $(gcc-major-version) = 5 ]]; then
-		eerror "64-bit wine cannot be built with gcc-5.1 or 5.2 due to compiler bugs;"
-		eerror "you may use gcc-config to select an older compiler version."
-		eerror "See https://bugs.gentoo.org/549768"
-		eerror
-		return 1
+	if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
+		einfo "Checking for gcc-5 ms_abi compiler bug ..."
+		$(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
+		# Run in subshell to prevent "Aborted" message
+		if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; 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."
+			eerror "See https://bugs.gentoo.org/549768"
+			eerror
+			return 1
+		fi
 	fi
 
 	if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then

diff --git a/app-emulation/wine/wine-1.7.21-r1.ebuild b/app-emulation/wine/wine-1.7.21-r1.ebuild
index 7343640..3e88454 100644
--- a/app-emulation/wine/wine-1.7.21-r1.ebuild
+++ b/app-emulation/wine/wine-1.7.21-r1.ebuild
@@ -161,12 +161,18 @@ wine_build_environment_check() {
 	[[ ${MERGE_TYPE} = "binary" ]] && return 0
 
 	# bug #549768
-	if use abi_x86_64 && [[ $(gcc-major-version) = 5 ]]; then
-		eerror "64-bit wine cannot be built with gcc-5.1 or 5.2 due to compiler bugs;"
-		eerror "you may use gcc-config to select an older compiler version."
-		eerror "See https://bugs.gentoo.org/549768"
-		eerror
-		return 1
+	if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
+		einfo "Checking for gcc-5 ms_abi compiler bug ..."
+		$(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
+		# Run in subshell to prevent "Aborted" message
+		if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; 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."
+			eerror "See https://bugs.gentoo.org/549768"
+			eerror
+			return 1
+		fi
 	fi
 
 	if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then

diff --git a/app-emulation/wine/wine-1.7.22-r1.ebuild b/app-emulation/wine/wine-1.7.22-r1.ebuild
index 7343640..3e88454 100644
--- a/app-emulation/wine/wine-1.7.22-r1.ebuild
+++ b/app-emulation/wine/wine-1.7.22-r1.ebuild
@@ -161,12 +161,18 @@ wine_build_environment_check() {
 	[[ ${MERGE_TYPE} = "binary" ]] && return 0
 
 	# bug #549768
-	if use abi_x86_64 && [[ $(gcc-major-version) = 5 ]]; then
-		eerror "64-bit wine cannot be built with gcc-5.1 or 5.2 due to compiler bugs;"
-		eerror "you may use gcc-config to select an older compiler version."
-		eerror "See https://bugs.gentoo.org/549768"
-		eerror
-		return 1
+	if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
+		einfo "Checking for gcc-5 ms_abi compiler bug ..."
+		$(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
+		# Run in subshell to prevent "Aborted" message
+		if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; 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."
+			eerror "See https://bugs.gentoo.org/549768"
+			eerror
+			return 1
+		fi
 	fi
 
 	if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then

diff --git a/app-emulation/wine/wine-1.7.28-r1.ebuild b/app-emulation/wine/wine-1.7.28-r1.ebuild
index 54d6481..9963e5b 100644
--- a/app-emulation/wine/wine-1.7.28-r1.ebuild
+++ b/app-emulation/wine/wine-1.7.28-r1.ebuild
@@ -161,12 +161,18 @@ wine_build_environment_check() {
 	[[ ${MERGE_TYPE} = "binary" ]] && return 0
 
 	# bug #549768
-	if use abi_x86_64 && [[ $(gcc-major-version) = 5 ]]; then
-		eerror "64-bit wine cannot be built with gcc-5.1 or 5.2 due to compiler bugs;"
-		eerror "you may use gcc-config to select an older compiler version."
-		eerror "See https://bugs.gentoo.org/549768"
-		eerror
-		return 1
+	if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
+		einfo "Checking for gcc-5 ms_abi compiler bug ..."
+		$(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
+		# Run in subshell to prevent "Aborted" message
+		if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; 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."
+			eerror "See https://bugs.gentoo.org/549768"
+			eerror
+			return 1
+		fi
 	fi
 
 	if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then

diff --git a/app-emulation/wine/wine-1.7.29-r1.ebuild b/app-emulation/wine/wine-1.7.29-r1.ebuild
index 54d6481..9963e5b 100644
--- a/app-emulation/wine/wine-1.7.29-r1.ebuild
+++ b/app-emulation/wine/wine-1.7.29-r1.ebuild
@@ -161,12 +161,18 @@ wine_build_environment_check() {
 	[[ ${MERGE_TYPE} = "binary" ]] && return 0
 
 	# bug #549768
-	if use abi_x86_64 && [[ $(gcc-major-version) = 5 ]]; then
-		eerror "64-bit wine cannot be built with gcc-5.1 or 5.2 due to compiler bugs;"
-		eerror "you may use gcc-config to select an older compiler version."
-		eerror "See https://bugs.gentoo.org/549768"
-		eerror
-		return 1
+	if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
+		einfo "Checking for gcc-5 ms_abi compiler bug ..."
+		$(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
+		# Run in subshell to prevent "Aborted" message
+		if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; 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."
+			eerror "See https://bugs.gentoo.org/549768"
+			eerror
+			return 1
+		fi
 	fi
 
 	if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then

diff --git a/app-emulation/wine/wine-1.7.3-r1.ebuild b/app-emulation/wine/wine-1.7.3-r1.ebuild
index 8ac9a7d..aecbaf3 100644
--- a/app-emulation/wine/wine-1.7.3-r1.ebuild
+++ b/app-emulation/wine/wine-1.7.3-r1.ebuild
@@ -145,12 +145,18 @@ wine_build_environment_check() {
 	[[ ${MERGE_TYPE} = "binary" ]] && return 0
 
 	# bug #549768
-	if use abi_x86_64 && [[ $(gcc-major-version) = 5 ]]; then
-		eerror "64-bit wine cannot be built with gcc-5.1 or 5.2 due to compiler bugs;"
-		eerror "you may use gcc-config to select an older compiler version."
-		eerror "See https://bugs.gentoo.org/549768"
-		eerror
-		return 1
+	if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
+		einfo "Checking for gcc-5 ms_abi compiler bug ..."
+		$(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
+		# Run in subshell to prevent "Aborted" message
+		if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; 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."
+			eerror "See https://bugs.gentoo.org/549768"
+			eerror
+			return 1
+		fi
 	fi
 
 	if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then

diff --git a/app-emulation/wine/wine-1.7.33-r1.ebuild b/app-emulation/wine/wine-1.7.33-r1.ebuild
index f6af727..f38cb49 100644
--- a/app-emulation/wine/wine-1.7.33-r1.ebuild
+++ b/app-emulation/wine/wine-1.7.33-r1.ebuild
@@ -163,12 +163,18 @@ wine_build_environment_check() {
 	[[ ${MERGE_TYPE} = "binary" ]] && return 0
 
 	# bug #549768
-	if use abi_x86_64 && [[ $(gcc-major-version) = 5 ]]; then
-		eerror "64-bit wine cannot be built with gcc-5.1 or 5.2 due to compiler bugs;"
-		eerror "you may use gcc-config to select an older compiler version."
-		eerror "See https://bugs.gentoo.org/549768"
-		eerror
-		return 1
+	if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
+		einfo "Checking for gcc-5 ms_abi compiler bug ..."
+		$(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
+		# Run in subshell to prevent "Aborted" message
+		if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; 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."
+			eerror "See https://bugs.gentoo.org/549768"
+			eerror
+			return 1
+		fi
 	fi
 
 	if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then

diff --git a/app-emulation/wine/wine-1.7.34.ebuild b/app-emulation/wine/wine-1.7.34.ebuild
index 91fbdfa..0968495 100644
--- a/app-emulation/wine/wine-1.7.34.ebuild
+++ b/app-emulation/wine/wine-1.7.34.ebuild
@@ -163,12 +163,18 @@ wine_build_environment_check() {
 	[[ ${MERGE_TYPE} = "binary" ]] && return 0
 
 	# bug #549768
-	if use abi_x86_64 && [[ $(gcc-major-version) = 5 ]]; then
-		eerror "64-bit wine cannot be built with gcc-5.1 or 5.2 due to compiler bugs;"
-		eerror "you may use gcc-config to select an older compiler version."
-		eerror "See https://bugs.gentoo.org/549768"
-		eerror
-		return 1
+	if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
+		einfo "Checking for gcc-5 ms_abi compiler bug ..."
+		$(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
+		# Run in subshell to prevent "Aborted" message
+		if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; 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."
+			eerror "See https://bugs.gentoo.org/549768"
+			eerror
+			return 1
+		fi
 	fi
 
 	if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then

diff --git a/app-emulation/wine/wine-1.7.35.ebuild b/app-emulation/wine/wine-1.7.35.ebuild
index 137912e..8f493b0 100644
--- a/app-emulation/wine/wine-1.7.35.ebuild
+++ b/app-emulation/wine/wine-1.7.35.ebuild
@@ -163,12 +163,18 @@ wine_build_environment_check() {
 	[[ ${MERGE_TYPE} = "binary" ]] && return 0
 
 	# bug #549768
-	if use abi_x86_64 && [[ $(gcc-major-version) = 5 ]]; then
-		eerror "64-bit wine cannot be built with gcc-5.1 or 5.2 due to compiler bugs;"
-		eerror "you may use gcc-config to select an older compiler version."
-		eerror "See https://bugs.gentoo.org/549768"
-		eerror
-		return 1
+	if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
+		einfo "Checking for gcc-5 ms_abi compiler bug ..."
+		$(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
+		# Run in subshell to prevent "Aborted" message
+		if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; 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."
+			eerror "See https://bugs.gentoo.org/549768"
+			eerror
+			return 1
+		fi
 	fi
 
 	if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then

diff --git a/app-emulation/wine/wine-1.7.36.ebuild b/app-emulation/wine/wine-1.7.36.ebuild
index 9c7bba6..3d79ebd 100644
--- a/app-emulation/wine/wine-1.7.36.ebuild
+++ b/app-emulation/wine/wine-1.7.36.ebuild
@@ -162,12 +162,18 @@ wine_build_environment_check() {
 	[[ ${MERGE_TYPE} = "binary" ]] && return 0
 
 	# bug #549768
-	if use abi_x86_64 && [[ $(gcc-major-version) = 5 ]]; then
-		eerror "64-bit wine cannot be built with gcc-5.1 or 5.2 due to compiler bugs;"
-		eerror "you may use gcc-config to select an older compiler version."
-		eerror "See https://bugs.gentoo.org/549768"
-		eerror
-		return 1
+	if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
+		einfo "Checking for gcc-5 ms_abi compiler bug ..."
+		$(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
+		# Run in subshell to prevent "Aborted" message
+		if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; 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."
+			eerror "See https://bugs.gentoo.org/549768"
+			eerror
+			return 1
+		fi
 	fi
 
 	if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then

diff --git a/app-emulation/wine/wine-1.7.37.ebuild b/app-emulation/wine/wine-1.7.37.ebuild
index 2e2c0d0..a537166 100644
--- a/app-emulation/wine/wine-1.7.37.ebuild
+++ b/app-emulation/wine/wine-1.7.37.ebuild
@@ -165,12 +165,18 @@ wine_build_environment_check() {
 	[[ ${MERGE_TYPE} = "binary" ]] && return 0
 
 	# bug #549768
-	if use abi_x86_64 && [[ $(gcc-major-version) = 5 ]]; then
-		eerror "64-bit wine cannot be built with gcc-5.1 or 5.2 due to compiler bugs;"
-		eerror "you may use gcc-config to select an older compiler version."
-		eerror "See https://bugs.gentoo.org/549768"
-		eerror
-		return 1
+	if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
+		einfo "Checking for gcc-5 ms_abi compiler bug ..."
+		$(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
+		# Run in subshell to prevent "Aborted" message
+		if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; 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."
+			eerror "See https://bugs.gentoo.org/549768"
+			eerror
+			return 1
+		fi
 	fi
 
 	if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then

diff --git a/app-emulation/wine/wine-1.7.38-r1.ebuild b/app-emulation/wine/wine-1.7.38-r1.ebuild
index 1ba468d..e8bff65 100644
--- a/app-emulation/wine/wine-1.7.38-r1.ebuild
+++ b/app-emulation/wine/wine-1.7.38-r1.ebuild
@@ -165,12 +165,18 @@ wine_build_environment_check() {
 	[[ ${MERGE_TYPE} = "binary" ]] && return 0
 
 	# bug #549768
-	if use abi_x86_64 && [[ $(gcc-major-version) = 5 ]]; then
-		eerror "64-bit wine cannot be built with gcc-5.1 or 5.2 due to compiler bugs;"
-		eerror "you may use gcc-config to select an older compiler version."
-		eerror "See https://bugs.gentoo.org/549768"
-		eerror
-		return 1
+	if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
+		einfo "Checking for gcc-5 ms_abi compiler bug ..."
+		$(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
+		# Run in subshell to prevent "Aborted" message
+		if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; 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."
+			eerror "See https://bugs.gentoo.org/549768"
+			eerror
+			return 1
+		fi
 	fi
 
 	if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then

diff --git a/app-emulation/wine/wine-1.7.39-r1.ebuild b/app-emulation/wine/wine-1.7.39-r1.ebuild
index 6fd525b..cba7501 100644
--- a/app-emulation/wine/wine-1.7.39-r1.ebuild
+++ b/app-emulation/wine/wine-1.7.39-r1.ebuild
@@ -165,12 +165,18 @@ wine_build_environment_check() {
 	[[ ${MERGE_TYPE} = "binary" ]] && return 0
 
 	# bug #549768
-	if use abi_x86_64 && [[ $(gcc-major-version) = 5 ]]; then
-		eerror "64-bit wine cannot be built with gcc-5.1 or 5.2 due to compiler bugs;"
-		eerror "you may use gcc-config to select an older compiler version."
-		eerror "See https://bugs.gentoo.org/549768"
-		eerror
-		return 1
+	if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
+		einfo "Checking for gcc-5 ms_abi compiler bug ..."
+		$(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
+		# Run in subshell to prevent "Aborted" message
+		if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; 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."
+			eerror "See https://bugs.gentoo.org/549768"
+			eerror
+			return 1
+		fi
 	fi
 
 	if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then

diff --git a/app-emulation/wine/wine-1.7.4-r1.ebuild b/app-emulation/wine/wine-1.7.4-r1.ebuild
index 5ca4da7..e157195 100644
--- a/app-emulation/wine/wine-1.7.4-r1.ebuild
+++ b/app-emulation/wine/wine-1.7.4-r1.ebuild
@@ -145,12 +145,18 @@ wine_build_environment_check() {
 	[[ ${MERGE_TYPE} = "binary" ]] && return 0
 
 	# bug #549768
-	if use abi_x86_64 && [[ $(gcc-major-version) = 5 ]]; then
-		eerror "64-bit wine cannot be built with gcc-5.1 or 5.2 due to compiler bugs;"
-		eerror "you may use gcc-config to select an older compiler version."
-		eerror "See https://bugs.gentoo.org/549768"
-		eerror
-		return 1
+	if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
+		einfo "Checking for gcc-5 ms_abi compiler bug ..."
+		$(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
+		# Run in subshell to prevent "Aborted" message
+		if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; 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."
+			eerror "See https://bugs.gentoo.org/549768"
+			eerror
+			return 1
+		fi
 	fi
 
 	if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then

diff --git a/app-emulation/wine/wine-1.7.40-r1.ebuild b/app-emulation/wine/wine-1.7.40-r1.ebuild
index 6fd525b..cba7501 100644
--- a/app-emulation/wine/wine-1.7.40-r1.ebuild
+++ b/app-emulation/wine/wine-1.7.40-r1.ebuild
@@ -165,12 +165,18 @@ wine_build_environment_check() {
 	[[ ${MERGE_TYPE} = "binary" ]] && return 0
 
 	# bug #549768
-	if use abi_x86_64 && [[ $(gcc-major-version) = 5 ]]; then
-		eerror "64-bit wine cannot be built with gcc-5.1 or 5.2 due to compiler bugs;"
-		eerror "you may use gcc-config to select an older compiler version."
-		eerror "See https://bugs.gentoo.org/549768"
-		eerror
-		return 1
+	if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
+		einfo "Checking for gcc-5 ms_abi compiler bug ..."
+		$(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
+		# Run in subshell to prevent "Aborted" message
+		if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; 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."
+			eerror "See https://bugs.gentoo.org/549768"
+			eerror
+			return 1
+		fi
 	fi
 
 	if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then

diff --git a/app-emulation/wine/wine-1.7.41.ebuild b/app-emulation/wine/wine-1.7.41.ebuild
index 6fd525b..cba7501 100644
--- a/app-emulation/wine/wine-1.7.41.ebuild
+++ b/app-emulation/wine/wine-1.7.41.ebuild
@@ -165,12 +165,18 @@ wine_build_environment_check() {
 	[[ ${MERGE_TYPE} = "binary" ]] && return 0
 
 	# bug #549768
-	if use abi_x86_64 && [[ $(gcc-major-version) = 5 ]]; then
-		eerror "64-bit wine cannot be built with gcc-5.1 or 5.2 due to compiler bugs;"
-		eerror "you may use gcc-config to select an older compiler version."
-		eerror "See https://bugs.gentoo.org/549768"
-		eerror
-		return 1
+	if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
+		einfo "Checking for gcc-5 ms_abi compiler bug ..."
+		$(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
+		# Run in subshell to prevent "Aborted" message
+		if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; 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."
+			eerror "See https://bugs.gentoo.org/549768"
+			eerror
+			return 1
+		fi
 	fi
 
 	if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then

diff --git a/app-emulation/wine/wine-1.7.42.ebuild b/app-emulation/wine/wine-1.7.42.ebuild
index 6fd525b..cba7501 100644
--- a/app-emulation/wine/wine-1.7.42.ebuild
+++ b/app-emulation/wine/wine-1.7.42.ebuild
@@ -165,12 +165,18 @@ wine_build_environment_check() {
 	[[ ${MERGE_TYPE} = "binary" ]] && return 0
 
 	# bug #549768
-	if use abi_x86_64 && [[ $(gcc-major-version) = 5 ]]; then
-		eerror "64-bit wine cannot be built with gcc-5.1 or 5.2 due to compiler bugs;"
-		eerror "you may use gcc-config to select an older compiler version."
-		eerror "See https://bugs.gentoo.org/549768"
-		eerror
-		return 1
+	if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
+		einfo "Checking for gcc-5 ms_abi compiler bug ..."
+		$(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
+		# Run in subshell to prevent "Aborted" message
+		if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; 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."
+			eerror "See https://bugs.gentoo.org/549768"
+			eerror
+			return 1
+		fi
 	fi
 
 	if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then

diff --git a/app-emulation/wine/wine-1.7.43.ebuild b/app-emulation/wine/wine-1.7.43.ebuild
index 6fd525b..cba7501 100644
--- a/app-emulation/wine/wine-1.7.43.ebuild
+++ b/app-emulation/wine/wine-1.7.43.ebuild
@@ -165,12 +165,18 @@ wine_build_environment_check() {
 	[[ ${MERGE_TYPE} = "binary" ]] && return 0
 
 	# bug #549768
-	if use abi_x86_64 && [[ $(gcc-major-version) = 5 ]]; then
-		eerror "64-bit wine cannot be built with gcc-5.1 or 5.2 due to compiler bugs;"
-		eerror "you may use gcc-config to select an older compiler version."
-		eerror "See https://bugs.gentoo.org/549768"
-		eerror
-		return 1
+	if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
+		einfo "Checking for gcc-5 ms_abi compiler bug ..."
+		$(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
+		# Run in subshell to prevent "Aborted" message
+		if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; 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."
+			eerror "See https://bugs.gentoo.org/549768"
+			eerror
+			return 1
+		fi
 	fi
 
 	if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then

diff --git a/app-emulation/wine/wine-1.7.44.ebuild b/app-emulation/wine/wine-1.7.44.ebuild
index 6fd525b..cba7501 100644
--- a/app-emulation/wine/wine-1.7.44.ebuild
+++ b/app-emulation/wine/wine-1.7.44.ebuild
@@ -165,12 +165,18 @@ wine_build_environment_check() {
 	[[ ${MERGE_TYPE} = "binary" ]] && return 0
 
 	# bug #549768
-	if use abi_x86_64 && [[ $(gcc-major-version) = 5 ]]; then
-		eerror "64-bit wine cannot be built with gcc-5.1 or 5.2 due to compiler bugs;"
-		eerror "you may use gcc-config to select an older compiler version."
-		eerror "See https://bugs.gentoo.org/549768"
-		eerror
-		return 1
+	if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
+		einfo "Checking for gcc-5 ms_abi compiler bug ..."
+		$(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
+		# Run in subshell to prevent "Aborted" message
+		if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; 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."
+			eerror "See https://bugs.gentoo.org/549768"
+			eerror
+			return 1
+		fi
 	fi
 
 	if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then

diff --git a/app-emulation/wine/wine-1.7.45.ebuild b/app-emulation/wine/wine-1.7.45.ebuild
index 8930da9..555a7d1 100644
--- a/app-emulation/wine/wine-1.7.45.ebuild
+++ b/app-emulation/wine/wine-1.7.45.ebuild
@@ -165,12 +165,18 @@ wine_build_environment_check() {
 	[[ ${MERGE_TYPE} = "binary" ]] && return 0
 
 	# bug #549768
-	if use abi_x86_64 && [[ $(gcc-major-version) = 5 ]]; then
-		eerror "64-bit wine cannot be built with gcc-5.1 or 5.2 due to compiler bugs;"
-		eerror "you may use gcc-config to select an older compiler version."
-		eerror "See https://bugs.gentoo.org/549768"
-		eerror
-		return 1
+	if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
+		einfo "Checking for gcc-5 ms_abi compiler bug ..."
+		$(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
+		# Run in subshell to prevent "Aborted" message
+		if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; 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."
+			eerror "See https://bugs.gentoo.org/549768"
+			eerror
+			return 1
+		fi
 	fi
 
 	if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then

diff --git a/app-emulation/wine/wine-1.7.46.ebuild b/app-emulation/wine/wine-1.7.46.ebuild
index 6fd525b..cba7501 100644
--- a/app-emulation/wine/wine-1.7.46.ebuild
+++ b/app-emulation/wine/wine-1.7.46.ebuild
@@ -165,12 +165,18 @@ wine_build_environment_check() {
 	[[ ${MERGE_TYPE} = "binary" ]] && return 0
 
 	# bug #549768
-	if use abi_x86_64 && [[ $(gcc-major-version) = 5 ]]; then
-		eerror "64-bit wine cannot be built with gcc-5.1 or 5.2 due to compiler bugs;"
-		eerror "you may use gcc-config to select an older compiler version."
-		eerror "See https://bugs.gentoo.org/549768"
-		eerror
-		return 1
+	if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
+		einfo "Checking for gcc-5 ms_abi compiler bug ..."
+		$(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
+		# Run in subshell to prevent "Aborted" message
+		if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; 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."
+			eerror "See https://bugs.gentoo.org/549768"
+			eerror
+			return 1
+		fi
 	fi
 
 	if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then

diff --git a/app-emulation/wine/wine-1.7.47.ebuild b/app-emulation/wine/wine-1.7.47.ebuild
index 6b89273..4f5cc8e 100644
--- a/app-emulation/wine/wine-1.7.47.ebuild
+++ b/app-emulation/wine/wine-1.7.47.ebuild
@@ -165,12 +165,18 @@ wine_build_environment_check() {
 	[[ ${MERGE_TYPE} = "binary" ]] && return 0
 
 	# bug #549768
-	if use abi_x86_64 && [[ $(gcc-major-version) = 5 ]]; then
-		eerror "64-bit wine cannot be built with gcc-5.1 or 5.2 due to compiler bugs;"
-		eerror "you may use gcc-config to select an older compiler version."
-		eerror "See https://bugs.gentoo.org/549768"
-		eerror
-		return 1
+	if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
+		einfo "Checking for gcc-5 ms_abi compiler bug ..."
+		$(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
+		# Run in subshell to prevent "Aborted" message
+		if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; 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."
+			eerror "See https://bugs.gentoo.org/549768"
+			eerror
+			return 1
+		fi
 	fi
 
 	if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then

diff --git a/app-emulation/wine/wine-1.7.50.ebuild b/app-emulation/wine/wine-1.7.50.ebuild
index d78c249..8a8d5c1 100644
--- a/app-emulation/wine/wine-1.7.50.ebuild
+++ b/app-emulation/wine/wine-1.7.50.ebuild
@@ -166,12 +166,18 @@ wine_build_environment_check() {
 	[[ ${MERGE_TYPE} = "binary" ]] && return 0
 
 	# bug #549768
-	if use abi_x86_64 && [[ $(gcc-major-version) = 5 ]]; then
-		eerror "64-bit wine cannot be built with gcc-5.1 or 5.2 due to compiler bugs;"
-		eerror "you may use gcc-config to select an older compiler version."
-		eerror "See https://bugs.gentoo.org/549768"
-		eerror
-		return 1
+	if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
+		einfo "Checking for gcc-5 ms_abi compiler bug ..."
+		$(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
+		# Run in subshell to prevent "Aborted" message
+		if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; 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."
+			eerror "See https://bugs.gentoo.org/549768"
+			eerror
+			return 1
+		fi
 	fi
 
 	if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then

diff --git a/app-emulation/wine/wine-1.7.51.ebuild b/app-emulation/wine/wine-1.7.51.ebuild
index d78c249..8a8d5c1 100644
--- a/app-emulation/wine/wine-1.7.51.ebuild
+++ b/app-emulation/wine/wine-1.7.51.ebuild
@@ -166,12 +166,18 @@ wine_build_environment_check() {
 	[[ ${MERGE_TYPE} = "binary" ]] && return 0
 
 	# bug #549768
-	if use abi_x86_64 && [[ $(gcc-major-version) = 5 ]]; then
-		eerror "64-bit wine cannot be built with gcc-5.1 or 5.2 due to compiler bugs;"
-		eerror "you may use gcc-config to select an older compiler version."
-		eerror "See https://bugs.gentoo.org/549768"
-		eerror
-		return 1
+	if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
+		einfo "Checking for gcc-5 ms_abi compiler bug ..."
+		$(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
+		# Run in subshell to prevent "Aborted" message
+		if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; 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."
+			eerror "See https://bugs.gentoo.org/549768"
+			eerror
+			return 1
+		fi
 	fi
 
 	if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then

diff --git a/app-emulation/wine/wine-1.7.8-r1.ebuild b/app-emulation/wine/wine-1.7.8-r1.ebuild
index 5015137..090fb1c 100644
--- a/app-emulation/wine/wine-1.7.8-r1.ebuild
+++ b/app-emulation/wine/wine-1.7.8-r1.ebuild
@@ -146,12 +146,18 @@ wine_build_environment_check() {
 	[[ ${MERGE_TYPE} = "binary" ]] && return 0
 
 	# bug #549768
-	if use abi_x86_64 && [[ $(gcc-major-version) = 5 ]]; then
-		eerror "64-bit wine cannot be built with gcc-5.1 or 5.2 due to compiler bugs;"
-		eerror "you may use gcc-config to select an older compiler version."
-		eerror "See https://bugs.gentoo.org/549768"
-		eerror
-		return 1
+	if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
+		einfo "Checking for gcc-5 ms_abi compiler bug ..."
+		$(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
+		# Run in subshell to prevent "Aborted" message
+		if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; 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."
+			eerror "See https://bugs.gentoo.org/549768"
+			eerror
+			return 1
+		fi
 	fi
 
 	if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then

diff --git a/app-emulation/wine/wine-1.7.9-r1.ebuild b/app-emulation/wine/wine-1.7.9-r1.ebuild
index 5015137..090fb1c 100644
--- a/app-emulation/wine/wine-1.7.9-r1.ebuild
+++ b/app-emulation/wine/wine-1.7.9-r1.ebuild
@@ -146,12 +146,18 @@ wine_build_environment_check() {
 	[[ ${MERGE_TYPE} = "binary" ]] && return 0
 
 	# bug #549768
-	if use abi_x86_64 && [[ $(gcc-major-version) = 5 ]]; then
-		eerror "64-bit wine cannot be built with gcc-5.1 or 5.2 due to compiler bugs;"
-		eerror "you may use gcc-config to select an older compiler version."
-		eerror "See https://bugs.gentoo.org/549768"
-		eerror
-		return 1
+	if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
+		einfo "Checking for gcc-5 ms_abi compiler bug ..."
+		$(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
+		# Run in subshell to prevent "Aborted" message
+		if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; 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."
+			eerror "See https://bugs.gentoo.org/549768"
+			eerror
+			return 1
+		fi
 	fi
 
 	if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then

diff --git a/app-emulation/wine/wine-9999.ebuild b/app-emulation/wine/wine-9999.ebuild
index d78c249..8a8d5c1 100644
--- a/app-emulation/wine/wine-9999.ebuild
+++ b/app-emulation/wine/wine-9999.ebuild
@@ -166,12 +166,18 @@ wine_build_environment_check() {
 	[[ ${MERGE_TYPE} = "binary" ]] && return 0
 
 	# bug #549768
-	if use abi_x86_64 && [[ $(gcc-major-version) = 5 ]]; then
-		eerror "64-bit wine cannot be built with gcc-5.1 or 5.2 due to compiler bugs;"
-		eerror "you may use gcc-config to select an older compiler version."
-		eerror "See https://bugs.gentoo.org/549768"
-		eerror
-		return 1
+	if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
+		einfo "Checking for gcc-5 ms_abi compiler bug ..."
+		$(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
+		# Run in subshell to prevent "Aborted" message
+		if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; 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."
+			eerror "See https://bugs.gentoo.org/549768"
+			eerror
+			return 1
+		fi
 	fi
 
 	if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine/, app-emulation/wine/files/
@ 2016-03-06  2:57 NP Hardass
  0 siblings, 0 replies; 9+ messages in thread
From: NP Hardass @ 2016-03-06  2:57 UTC (permalink / raw
  To: gentoo-commits

commit:     ffba11ee1a2fe07e65c8ada2531e953ac3239fb5
Author:     NP-Hardass <NP-Hardass <AT> gentoo <DOT> org>
AuthorDate: Sun Mar  6 02:54:55 2016 +0000
Commit:     NP Hardass <np-hardass <AT> gentoo <DOT> org>
CommitDate: Sun Mar  6 02:56:58 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ffba11ee

app-emulation/wine: Update 9999, bump mono, fix bug #576360

Package-Manager: portage-2.2.26

 app-emulation/wine/Manifest                        |  1 +
 .../wine/files/wine-1.9.5-multilib-portage.patch   | 22 ++++++++++++++
 app-emulation/wine/wine-9999.ebuild                | 34 ++++------------------
 3 files changed, 28 insertions(+), 29 deletions(-)

diff --git a/app-emulation/wine/Manifest b/app-emulation/wine/Manifest
index 5ebb0d5..c8957fd 100644
--- a/app-emulation/wine/Manifest
+++ b/app-emulation/wine/Manifest
@@ -50,6 +50,7 @@ DIST wine-mono-0.0.8.msi 46967296 SHA256 3dfc23bbc29015e4e538dab8b83cb825d3248a0
 DIST wine-mono-4.5.2.msi 52502528 SHA256 d9124edb41ba4418af10eba519dafb25ab4338c567d25ce0eb4ce1e1b4d7eaad SHA512 73c907f63b73836d5afd0753197358aaea43a74a47800f929ef0627112298256f1fa46d1b9ff297b117468d953cdeab21fb5962db13c5debbcb71004462df609 WHIRLPOOL 18d3544c6753c5a01917bfc1b694f31ce45213108527f13317ec0bb8b2d2339ce41800534967e067cd15cd186ef9e186a5d3252275e443dfa1a6ae3641d4d17c
 DIST wine-mono-4.5.4.msi 53706752 SHA256 20bced7fee01f25279edf07670c5033d25c2c9834a839e7a20410ce1c611d6f2 SHA512 307fab2ac50c4eaa5c3fb8446ceb2df0d95c0a9d7c1e6289ef1ec5cc660fa8fcb26025c9723ce2bc01afcaf7e9c4dd9939d1beba877f4f95f6f80d92d8187221 WHIRLPOOL ccd1fed03158dd309d2a1f88558e5ad0e2e43de5ba61ab82702132bd0cdf75db75dcc1a61b5cb2775fdf0ad51464f34d2b3629538b1737cbedb410b859ef092a
 DIST wine-mono-4.5.6.msi 53705216 SHA256 ac681f737f83742d786706529eb85f4bc8d6bdddd8dcdfa9e2e336b71973bc25 SHA512 4d8df04c1d0da09d1abe423dd271e5dd14a193d607fb54e214d2e340827f7c33829342d1580b6907d7cf466e70993d743c6e1ca9a026d4b6225dd7c1fc8b1386 WHIRLPOOL 9a68e502da0be6768e92d88f2ccace607300f3a331e0f9e1b6d60e9c6c2d4eb635b902f03e13aad73461dd5f0c2691c7b41958356ebb7f445e8def4282c675d3
+DIST wine-mono-4.6.0.msi 45690368 SHA256 635c6bc88bad8d6bf8c6016a589627142ae56ac2e7368192102a16fdbaa29cc3 SHA512 d2ab7a7b98d18132cc28ffd52352fcc6cdb16b1750a658e9ec961044e808e4e8e1605732f1e87bbb6a275f57fdb94aebaab3760f679472358c7df608b0fa3262 WHIRLPOOL f8f6e83be5bd4eb7bde6e6c0d1f17bd4d4c887c52fa2018f20e51a30ca7ec0a9550884423298bc571587fe3c203f921057d91c3c78c12ebf9e911996bdd7e77d
 DIST wine-staging-1.7.18-1.tar.gz 874958 SHA256 127b1754928297883ab5423c0814c59afa8a60444603b5c3b74ae726e41442e6 SHA512 ac7e59914436cfd58fe1e5edc94956f8470bbf3f517f8e1017ca3d201b872aca6a277bb3074527b614db8123663cadf4d10faeeb048d011d7e81fdfe5c582819 WHIRLPOOL ac1913deddc127c55d90d9f7c5249f2866757fb86295bf61fed8641a39751dbfbf57d3c6234086f8cff9c5b1ec8c45effeef40f5973e9aa8550412134809938a
 DIST wine-staging-1.7.20.tar.gz 887293 SHA256 ac55daab4c6062e7c3f7eadd4ea632ddc01702c1abf859bc4928bb9691cc7d22 SHA512 2f5bd5b3bfe85c0dd0d611fc2512f5f4ecac11d639eb578a7319c01a426b8cf788031fd299ecb5b5ff2c0bb7fa72dcfb1541bb9c987913068843a5b712099fc1 WHIRLPOOL 9c19e8e371e121009bed38ffe0e8789e35a4b9629a39aace1b44b8f830bf1e30c0cbca1c3eae45960373bedde39a912b4e1178b7af942c92263c6e4f278148d0
 DIST wine-staging-1.7.21.tar.gz 883814 SHA256 d107eba41706adf039befe5a584e45225e7ebc502a11257227c378581ec22b96 SHA512 770ed2d46f5975de4a728314c3c38834c20f8c49bc5fa7eee36c870b9708404c157f6e1ac4b9ec9e5799ed3b14f825c0653d30a17d332f6b805c6255da0ddf28 WHIRLPOOL 898db4f1a3606e5645a7a1132e0b83264fa5d7c00f94a14fce067702ec3accb397db93fa0c0449df7962800c44e00825fa1cac55b76b5abe42670ad412d67e21

diff --git a/app-emulation/wine/files/wine-1.9.5-multilib-portage.patch b/app-emulation/wine/files/wine-1.9.5-multilib-portage.patch
new file mode 100644
index 0000000..2166865
--- /dev/null
+++ b/app-emulation/wine/files/wine-1.9.5-multilib-portage.patch
@@ -0,0 +1,22 @@
+--- configure.ac.orig	2016-03-05 20:53:50.574628728 -0500
++++ configure.ac	2016-03-05 20:57:54.945617833 -0500
+@@ -141,6 +141,9 @@
+     then
+       CC="$CC -m32"
+       CXX="$CXX -m32"
++      CFLAGS="$CFLAGS -m32"
++      LDFLAGS="$LDFLAGS -m32"
++      CXXFLAGS="$CXXFLAGS -m32"
+       AC_MSG_CHECKING([whether $CC works])
+       AC_LINK_IFELSE([AC_LANG_PROGRAM()],AC_MSG_RESULT([yes]),
+                      [AC_MSG_RESULT([no])
+@@ -160,6 +163,9 @@
+       fi
+       CC="$CC -m64"
+       CXX="$CXX -m64"
++      CFLAGS="$CFLAGS -m64"
++      LDFLAGS="$LDFLAGS -m64"
++      CXXFLAGS="$CXXFLAGS -m64"
+       host_cpu="x86_64"
+       notice_platform="64-bit "
+       AC_SUBST(TARGETFLAGS,"-m64")

diff --git a/app-emulation/wine/wine-9999.ebuild b/app-emulation/wine/wine-9999.ebuild
index b44030b..2c75d7b 100644
--- a/app-emulation/wine/wine-9999.ebuild
+++ b/app-emulation/wine/wine-9999.ebuild
@@ -22,12 +22,11 @@ else
 	KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
 fi
 
-GV="2.40"
-MV="4.5.6"
+GV="2.44"
+MV="4.6.0"
 STAGING_P="wine-staging-${PV}"
 STAGING_DIR="${WORKDIR}/${STAGING_P}"
 WINE_GENTOO="wine-gentoo-2015.03.07"
-GST_P="wine-1.7.55-gstreamer-v5"
 DESCRIPTION="Free implementation of Windows(tm) on Unix"
 HOMEPAGE="http://www.winehq.org/"
 SRC_URI="${SRC_URI}
@@ -36,7 +35,6 @@ SRC_URI="${SRC_URI}
 		abi_x86_64? ( https://dl.winehq.org/wine/wine-gecko/${GV}/wine_gecko-${GV}-x86_64.msi )
 	)
 	mono? ( https://dl.winehq.org/wine/wine-mono/${MV}/wine-mono-${MV}.msi )
-	gstreamer? ( https://dev.gentoo.org/~np-hardass/distfiles/${PN}/${GST_P}.patch.bz2 )
 	https://dev.gentoo.org/~tetromino/distfiles/${PN}/${WINE_GENTOO}.tar.bz2"
 
 if [[ ${PV} == "9999" ]] ; then
@@ -57,7 +55,6 @@ REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
 	s3tc? ( staging )
 	vaapi? ( staging )
 	osmesa? ( opengl )" #286560
-	#?? ( gstreamer staging ) #Should be fixed by pre/post patchset
 
 # FIXME: the test suite is unsuitable for us; many tests require net access
 # or fail due to Xvfb's opengl limitations.
@@ -72,8 +69,8 @@ COMMON_DEPEND="
 	gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
 	openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
 	gstreamer? (
-		media-libs/gstreamer:0.10[${MULTILIB_USEDEP}]
-		media-libs/gst-plugins-base:0.10[${MULTILIB_USEDEP}]
+		media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
+		media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
 	)
 	X? (
 		x11-libs/libXcursor[${MULTILIB_USEDEP}]
@@ -226,7 +223,6 @@ src_unpack() {
 	fi
 
 	unpack "${WINE_GENTOO}.tar.bz2"
-	use gstreamer && unpack "${GST_P}.patch.bz2"
 
 	l10n_find_plocales_changes "${S}/po" "" ".po"
 }
@@ -235,30 +231,10 @@ src_prepare() {
 	local md5="$(md5sum server/protocol.def)"
 	local PATCHES=(
 		"${FILESDIR}"/${PN}-1.5.26-winegcc.patch #260726
-		"${FILESDIR}"/${PN}-1.4_rc2-multilib-portage.patch #395615
+		"${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
 	)
-	if use gstreamer; then
-		# See http://bugs.winehq.org/show_bug.cgi?id=30557
-		ewarn "Applying experimental patch to fix GStreamer support. Note that"
-		ewarn "this patch has been reported to cause crashes in certain games."
-
-		# Wine-Staging 1.7.38 "ntdll: Fix race-condition when threads are killed
-		# during shutdown" patch and "Added patch to implement shared memory
-		# wineserver communication for various user32 functions" prevents the
-		# gstreamer patch from applying cleanly.
-		# So undo the staging patch, apply gstreamer, then re-apply rebased staging
-		# patch on top.
-		if use staging; then
-			PATCHES+=(
-				"${FILESDIR}/${PN}-1.7.55-gstreamer-v5-staging-pre.patch"
-				"${WORKDIR}/${GST_P}.patch"
-				"${FILESDIR}/${PN}-1.7.55-gstreamer-v5-staging-post.patch" )
-		else
-			PATCHES+=( "${WORKDIR}/${GST_P}.patch" )
-		fi
-	fi
 	if use staging; then
 		ewarn "Applying the Wine-Staging patchset. Any bug reports to the"
 		ewarn "Wine bugzilla should explicitly state that staging was used."


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine/, app-emulation/wine/files/
@ 2016-03-12 21:10 NP Hardass
  0 siblings, 0 replies; 9+ messages in thread
From: NP Hardass @ 2016-03-12 21:10 UTC (permalink / raw
  To: gentoo-commits

commit:     f7ab9735aad27334ff3cca67aa177f24e0fb45df
Author:     NP-Hardass <NP-Hardass <AT> gentoo <DOT> org>
AuthorDate: Sat Mar 12 21:09:22 2016 +0000
Commit:     NP Hardass <np-hardass <AT> gentoo <DOT> org>
CommitDate: Sat Mar 12 21:10:00 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f7ab9735

app-emulation/wine: Check and warn about GCC-5.3 compile bug.  #574044

Package-Manager: portage-2.2.26

 app-emulation/wine/files/pr69140.c   | 24 ++++++++++++++++++++++++
 app-emulation/wine/wine-1.9.4.ebuild | 14 ++++++++++++++
 app-emulation/wine/wine-1.9.5.ebuild | 14 ++++++++++++++
 app-emulation/wine/wine-9999.ebuild  | 14 ++++++++++++++
 4 files changed, 66 insertions(+)

diff --git a/app-emulation/wine/files/pr69140.c b/app-emulation/wine/files/pr69140.c
new file mode 100644
index 0000000..2c345dd
--- /dev/null
+++ b/app-emulation/wine/files/pr69140.c
@@ -0,0 +1,24 @@
+/* { dg-do compile { target lp64 } } */
+/* { dg-options "-O2 -mincoming-stack-boundary=3" } */
+
+typedef struct {
+  unsigned int buf[4];
+  unsigned char in[64];
+} MD4_CTX;
+
+static void
+MD4Transform (unsigned int buf[4], const unsigned int in[16])
+{
+  unsigned int a, b, c, d;
+  (b) += ((((c)) & ((d))) | ((~(c)) & ((a)))) + (in[7]);
+  (a) += ((((b)) & ((c))) | ((~(b)) & ((d)))) + (in[8]);
+  (d) += ((((a)) & ((b))) | ((~(a)) & ((c)))) + (in[9]);
+  buf[3] += d;
+}
+
+void __attribute__((ms_abi))
+MD4Update (MD4_CTX *ctx, const unsigned char *buf)
+{
+  MD4Transform( ctx->buf, (unsigned int *)ctx->in);
+  MD4Transform( ctx->buf, (unsigned int *)ctx->in);
+}

diff --git a/app-emulation/wine/wine-1.9.4.ebuild b/app-emulation/wine/wine-1.9.4.ebuild
index 6388a5b..e47fe62 100644
--- a/app-emulation/wine/wine-1.9.4.ebuild
+++ b/app-emulation/wine/wine-1.9.4.ebuild
@@ -174,6 +174,20 @@ wine_build_environment_check() {
 			return 1
 		fi
 	fi
+	# bug #574044
+	if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
+		einfo "Checking for gcc-5-3 stack realignment compiler bug ..."
+		$(tc-getCC) -O2 "${FILESDIR}"/pr69140.c -o "${T}"/pr69140 || die
+		# Run in subshell to prevent "Aborted" message
+		if ! ( "${T}"/69140 || false ) >/dev/null 2>&1; 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."
+			eerror "See https://bugs.gentoo.org/574044"
+			eerror
+			return 1
+		fi
+	fi
 
 	if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then
 		eerror "You need gcc-4.4+ to build 64-bit wine"

diff --git a/app-emulation/wine/wine-1.9.5.ebuild b/app-emulation/wine/wine-1.9.5.ebuild
index 2c75d7b..5abc380 100644
--- a/app-emulation/wine/wine-1.9.5.ebuild
+++ b/app-emulation/wine/wine-1.9.5.ebuild
@@ -174,6 +174,20 @@ wine_build_environment_check() {
 			return 1
 		fi
 	fi
+	# bug #574044
+	if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
+		einfo "Checking for gcc-5-3 stack realignment compiler bug ..."
+		$(tc-getCC) -O2 "${FILESDIR}"/pr69140.c -o "${T}"/pr69140 || die
+		# Run in subshell to prevent "Aborted" message
+		if ! ( "${T}"/69140 || false ) >/dev/null 2>&1; 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."
+			eerror "See https://bugs.gentoo.org/574044"
+			eerror
+			return 1
+		fi
+	fi
 
 	if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then
 		eerror "You need gcc-4.4+ to build 64-bit wine"

diff --git a/app-emulation/wine/wine-9999.ebuild b/app-emulation/wine/wine-9999.ebuild
index 2c75d7b..5abc380 100644
--- a/app-emulation/wine/wine-9999.ebuild
+++ b/app-emulation/wine/wine-9999.ebuild
@@ -174,6 +174,20 @@ wine_build_environment_check() {
 			return 1
 		fi
 	fi
+	# bug #574044
+	if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
+		einfo "Checking for gcc-5-3 stack realignment compiler bug ..."
+		$(tc-getCC) -O2 "${FILESDIR}"/pr69140.c -o "${T}"/pr69140 || die
+		# Run in subshell to prevent "Aborted" message
+		if ! ( "${T}"/69140 || false ) >/dev/null 2>&1; 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."
+			eerror "See https://bugs.gentoo.org/574044"
+			eerror
+			return 1
+		fi
+	fi
 
 	if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then
 		eerror "You need gcc-4.4+ to build 64-bit wine"


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine/, app-emulation/wine/files/
@ 2016-03-14  6:37 NP Hardass
  0 siblings, 0 replies; 9+ messages in thread
From: NP Hardass @ 2016-03-14  6:37 UTC (permalink / raw
  To: gentoo-commits

commit:     e08eca66f56c895a137a1a7e6cf554d50084c925
Author:     NP-Hardass <NP-Hardass <AT> gentoo <DOT> org>
AuthorDate: Mon Mar 14 06:35:39 2016 +0000
Commit:     NP Hardass <np-hardass <AT> gentoo <DOT> org>
CommitDate: Mon Mar 14 06:37:08 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e08eca66

app-emulation/wine: Update gcc 5.3 test case. #577306. Thanks to Bob Wya

Package-Manager: portage-2.2.26

 app-emulation/wine/files/pr69140.c   | 13 +++++++++++++
 app-emulation/wine/wine-1.9.5.ebuild |  5 ++---
 app-emulation/wine/wine-9999.ebuild  |  5 ++---
 3 files changed, 17 insertions(+), 6 deletions(-)

diff --git a/app-emulation/wine/files/pr69140.c b/app-emulation/wine/files/pr69140.c
index 2c345dd..7c9e001 100644
--- a/app-emulation/wine/files/pr69140.c
+++ b/app-emulation/wine/files/pr69140.c
@@ -22,3 +22,16 @@ MD4Update (MD4_CTX *ctx, const unsigned char *buf)
   MD4Transform( ctx->buf, (unsigned int *)ctx->in);
   MD4Transform( ctx->buf, (unsigned int *)ctx->in);
 }
+
+int
+main(void)
+{
+	MD4_CTX ctx_test = 
+    {
+        { 0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476 },
+        { 0, 0 }
+    };
+	unsigned char	buf[64];
+
+	MD4Update(&ctx_test, (const unsigned char *) &buf);
+}

diff --git a/app-emulation/wine/wine-1.9.5.ebuild b/app-emulation/wine/wine-1.9.5.ebuild
index e7a9349..509dbfe 100644
--- a/app-emulation/wine/wine-1.9.5.ebuild
+++ b/app-emulation/wine/wine-1.9.5.ebuild
@@ -176,9 +176,8 @@ wine_build_environment_check() {
 	# bug #574044
 	if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
 		einfo "Checking for gcc-5-3 stack realignment compiler bug ..."
-		$(tc-getCC) -O2 "${FILESDIR}"/pr69140.c -o "${T}"/pr69140 || die
-		# Run in subshell to prevent "Aborted" message
-		if ! ( "${T}"/69140 || false ) >/dev/null 2>&1; then
+		# Compile in subshell to prevent "Aborted" message
+		if ! ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${FILESDIR}"/pr69140.c -o "${T}"/pr69140 || false ) >/dev/null 2>&1; 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."

diff --git a/app-emulation/wine/wine-9999.ebuild b/app-emulation/wine/wine-9999.ebuild
index b29387c..96af59e 100644
--- a/app-emulation/wine/wine-9999.ebuild
+++ b/app-emulation/wine/wine-9999.ebuild
@@ -176,9 +176,8 @@ wine_build_environment_check() {
 	# bug #574044
 	if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
 		einfo "Checking for gcc-5-3 stack realignment compiler bug ..."
-		$(tc-getCC) -O2 "${FILESDIR}"/pr69140.c -o "${T}"/pr69140 || die
-		# Run in subshell to prevent "Aborted" message
-		if ! ( "${T}"/69140 || false ) >/dev/null 2>&1; then
+		# Compile in subshell to prevent "Aborted" message
+		if ! ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${FILESDIR}"/pr69140.c -o "${T}"/pr69140 || false ) >/dev/null 2>&1; 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."


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine/, app-emulation/wine/files/
@ 2016-04-19  7:20 Mike Frysinger
  0 siblings, 0 replies; 9+ messages in thread
From: Mike Frysinger @ 2016-04-19  7:20 UTC (permalink / raw
  To: gentoo-commits

commit:     b1b569622234f4889d3f1629ff84d0926bd3ad55
Author:     Mike Frysinger <vapier <AT> gentoo <DOT> org>
AuthorDate: Tue Apr 19 07:20:09 2016 +0000
Commit:     Mike Frysinger <vapier <AT> gentoo <DOT> org>
CommitDate: Tue Apr 19 07:20:09 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b1b56962

app-emulation/wine: fix build w/newer glibc #580046

 .../wine/files/wine-1.9.7-sysmacros.patch          | 177 +++++++++++++++++++++
 app-emulation/wine/wine-1.9.7.ebuild               |   1 +
 2 files changed, 178 insertions(+)

diff --git a/app-emulation/wine/files/wine-1.9.7-sysmacros.patch b/app-emulation/wine/files/wine-1.9.7-sysmacros.patch
new file mode 100644
index 0000000..4ea515d
--- /dev/null
+++ b/app-emulation/wine/files/wine-1.9.7-sysmacros.patch
@@ -0,0 +1,177 @@
+From ca8a08606d3f0900b3f4aa8f2e6547882a22dba8 Mon Sep 17 00:00:00 2001
+From: Seong-ho Cho <darkcircle.0426@gmail.com>
+Date: Mon, 18 Apr 2016 04:25:38 +0900
+Subject: [PATCH] configure: Add AC_HEADER_MAJOR to find where major() is
+ defined.
+
+Signed-off-by: Seong-ho Cho <darkcircle.0426@gmail.com>
+Signed-off-by: Alexandre Julliard <julliard@winehq.org>
+---
+ configure              | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++
+ configure.ac           |  1 +
+ dlls/ntdll/cdrom.c     |  5 +++++
+ dlls/ntdll/directory.c |  5 +++++
+ dlls/ntdll/file.c      |  5 +++++
+ include/config.h.in    |  8 ++++++++
+ server/fd.c            |  5 +++++
+ 7 files changed, 79 insertions(+)
+
+diff --git a/configure b/configure
+index 1cb0e59..ffb1825 100755
+--- a/configure
++++ b/configure
+@@ -6836,6 +6836,56 @@ fi
+ 
+ done
+ 
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether sys/types.h defines makedev" >&5
++$as_echo_n "checking whether sys/types.h defines makedev... " >&6; }
++if ${ac_cv_header_sys_types_h_makedev+:} false; then :
++  $as_echo_n "(cached) " >&6
++else
++  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <sys/types.h>
++int
++main ()
++{
++return makedev(0, 0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_c_try_link "$LINENO"; then :
++  ac_cv_header_sys_types_h_makedev=yes
++else
++  ac_cv_header_sys_types_h_makedev=no
++fi
++rm -f core conftest.err conftest.$ac_objext \
++    conftest$ac_exeext conftest.$ac_ext
++
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_sys_types_h_makedev" >&5
++$as_echo "$ac_cv_header_sys_types_h_makedev" >&6; }
++
++if test $ac_cv_header_sys_types_h_makedev = no; then
++ac_fn_c_check_header_mongrel "$LINENO" "sys/mkdev.h" "ac_cv_header_sys_mkdev_h" "$ac_includes_default"
++if test "x$ac_cv_header_sys_mkdev_h" = xyes; then :
++
++$as_echo "#define MAJOR_IN_MKDEV 1" >>confdefs.h
++
++fi
++
++
++
++  if test $ac_cv_header_sys_mkdev_h = no; then
++    ac_fn_c_check_header_mongrel "$LINENO" "sys/sysmacros.h" "ac_cv_header_sys_sysmacros_h" "$ac_includes_default"
++if test "x$ac_cv_header_sys_sysmacros_h" = xyes; then :
++
++$as_echo "#define MAJOR_IN_SYSMACROS 1" >>confdefs.h
++
++fi
++
++
++  fi
++fi
++
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stat file-mode macros are broken" >&5
+ $as_echo_n "checking whether stat file-mode macros are broken... " >&6; }
+ if ${ac_cv_header_stat_broken+:} false; then :
+diff --git a/configure.ac b/configure.ac
+index 6189aa9..201bc77 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -512,6 +512,7 @@ AC_CHECK_HEADERS(\
+ 	valgrind/valgrind.h \
+ 	zlib.h
+ )
++AC_HEADER_MAJOR()
+ AC_HEADER_STAT()
+ 
+ dnl **** Checks for headers that depend on other ones ****
+diff --git a/dlls/ntdll/cdrom.c b/dlls/ntdll/cdrom.c
+index ee36045..2c64106 100644
+--- a/dlls/ntdll/cdrom.c
++++ b/dlls/ntdll/cdrom.c
+@@ -38,6 +38,11 @@
+ #ifdef HAVE_SYS_STAT_H
+ # include <sys/stat.h>
+ #endif
++#ifdef MAJOR_IN_MKDEV
++# include <sys/mkdev.h>
++#elif defined(MAJOR_IN_SYSMACROS)
++# include <sys/sysmacros.h>
++#endif
+ #include <sys/types.h>
+ 
+ #ifdef HAVE_SYS_IOCTL_H
+diff --git a/dlls/ntdll/directory.c b/dlls/ntdll/directory.c
+index 93fe594..4d431c0 100644
+--- a/dlls/ntdll/directory.c
++++ b/dlls/ntdll/directory.c
+@@ -47,6 +47,11 @@
+ #ifdef HAVE_SYS_ATTR_H
+ #include <sys/attr.h>
+ #endif
++#ifdef MAJOR_IN_MKDEV
++# include <sys/mkdev.h>
++#elif defined(MAJOR_IN_SYSMACROS)
++# include <sys/sysmacros.h>
++#endif
+ #ifdef HAVE_SYS_VNODE_H
+ /* Work around a conflict with Solaris' system list defined in sys/list.h. */
+ #define list SYSLIST
+diff --git a/dlls/ntdll/file.c b/dlls/ntdll/file.c
+index 7e5da59..b3bd9d6 100644
+--- a/dlls/ntdll/file.c
++++ b/dlls/ntdll/file.c
+@@ -57,6 +57,11 @@
+ #ifdef HAVE_SYS_SOCKET_H
+ #include <sys/socket.h>
+ #endif
++#ifdef MAJOR_IN_MKDEV
++# include <sys/mkdev.h>
++#elif defined(MAJOR_IN_SYSMACROS)
++# include <sys/sysmacros.h>
++#endif
+ #ifdef HAVE_UTIME_H
+ # include <utime.h>
+ #endif
+diff --git a/include/config.h.in b/include/config.h.in
+index 0650f31..06b192f 100644
+--- a/include/config.h.in
++++ b/include/config.h.in
+@@ -1335,6 +1335,14 @@
+ /* Define to 1 if you have the `__res_get_state' function. */
+ #undef HAVE___RES_GET_STATE
+ 
++/* Define to 1 if `major', `minor', and `makedev' are declared in <mkdev.h>.
++   */
++#undef MAJOR_IN_MKDEV
++
++/* Define to 1 if `major', `minor', and `makedev' are declared in
++   <sysmacros.h>. */
++#undef MAJOR_IN_SYSMACROS
++
+ /* Define to the address where bug reports for this package should be sent. */
+ #undef PACKAGE_BUGREPORT
+ 
+diff --git a/server/fd.c b/server/fd.c
+index 1fd1ce7..17b1b66 100644
+--- a/server/fd.c
++++ b/server/fd.c
+@@ -83,6 +83,11 @@
+ #endif
+ #include <sys/stat.h>
+ #include <sys/time.h>
++#ifdef MAJOR_IN_MKDEV
++#include <sys/mkdev.h>
++#elif defined(MAJOR_IN_SYSMACROS)
++#include <sys/sysmacros.h>
++#endif
+ #include <sys/types.h>
+ #include <unistd.h>
+ #ifdef HAVE_SYS_SYSCALL_H
+-- 
+2.7.4
+

diff --git a/app-emulation/wine/wine-1.9.7.ebuild b/app-emulation/wine/wine-1.9.7.ebuild
index e735b28..a5e6dac 100644
--- a/app-emulation/wine/wine-1.9.7.ebuild
+++ b/app-emulation/wine/wine-1.9.7.ebuild
@@ -247,6 +247,7 @@ 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}"/${P}-sysmacros.patch #580046
 	)
 	if use staging; then
 		ewarn "Applying the Wine-Staging patchset. Any bug reports to the"


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine/, app-emulation/wine/files/
@ 2016-04-22  4:48 NP Hardass
  0 siblings, 0 replies; 9+ messages in thread
From: NP Hardass @ 2016-04-22  4:48 UTC (permalink / raw
  To: gentoo-commits

commit:     cf6a04d2d7e917b4706d609df527361897c88bcf
Author:     NP-Hardass <NP-Hardass <AT> gentoo <DOT> org>
AuthorDate: Fri Apr 22 03:06:48 2016 +0000
Commit:     NP Hardass <np-hardass <AT> gentoo <DOT> org>
CommitDate: Fri Apr 22 04:48:07 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cf6a04d2

app-emulation/wine: Rename sysmacros patch for 1.9.7

Package-Manager: portage-2.2.26

 .../wine/files/wine-1.9.7-sysmacros.patch          | 177 ---------------------
 app-emulation/wine/wine-1.9.7.ebuild               |   2 +-
 2 files changed, 1 insertion(+), 178 deletions(-)

diff --git a/app-emulation/wine/files/wine-1.9.7-sysmacros.patch b/app-emulation/wine/files/wine-1.9.7-sysmacros.patch
deleted file mode 100644
index 4ea515d..0000000
--- a/app-emulation/wine/files/wine-1.9.7-sysmacros.patch
+++ /dev/null
@@ -1,177 +0,0 @@
-From ca8a08606d3f0900b3f4aa8f2e6547882a22dba8 Mon Sep 17 00:00:00 2001
-From: Seong-ho Cho <darkcircle.0426@gmail.com>
-Date: Mon, 18 Apr 2016 04:25:38 +0900
-Subject: [PATCH] configure: Add AC_HEADER_MAJOR to find where major() is
- defined.
-
-Signed-off-by: Seong-ho Cho <darkcircle.0426@gmail.com>
-Signed-off-by: Alexandre Julliard <julliard@winehq.org>
----
- configure              | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++
- configure.ac           |  1 +
- dlls/ntdll/cdrom.c     |  5 +++++
- dlls/ntdll/directory.c |  5 +++++
- dlls/ntdll/file.c      |  5 +++++
- include/config.h.in    |  8 ++++++++
- server/fd.c            |  5 +++++
- 7 files changed, 79 insertions(+)
-
-diff --git a/configure b/configure
-index 1cb0e59..ffb1825 100755
---- a/configure
-+++ b/configure
-@@ -6836,6 +6836,56 @@ fi
- 
- done
- 
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether sys/types.h defines makedev" >&5
-+$as_echo_n "checking whether sys/types.h defines makedev... " >&6; }
-+if ${ac_cv_header_sys_types_h_makedev+:} false; then :
-+  $as_echo_n "(cached) " >&6
-+else
-+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-+/* end confdefs.h.  */
-+#include <sys/types.h>
-+int
-+main ()
-+{
-+return makedev(0, 0);
-+  ;
-+  return 0;
-+}
-+_ACEOF
-+if ac_fn_c_try_link "$LINENO"; then :
-+  ac_cv_header_sys_types_h_makedev=yes
-+else
-+  ac_cv_header_sys_types_h_makedev=no
-+fi
-+rm -f core conftest.err conftest.$ac_objext \
-+    conftest$ac_exeext conftest.$ac_ext
-+
-+fi
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_sys_types_h_makedev" >&5
-+$as_echo "$ac_cv_header_sys_types_h_makedev" >&6; }
-+
-+if test $ac_cv_header_sys_types_h_makedev = no; then
-+ac_fn_c_check_header_mongrel "$LINENO" "sys/mkdev.h" "ac_cv_header_sys_mkdev_h" "$ac_includes_default"
-+if test "x$ac_cv_header_sys_mkdev_h" = xyes; then :
-+
-+$as_echo "#define MAJOR_IN_MKDEV 1" >>confdefs.h
-+
-+fi
-+
-+
-+
-+  if test $ac_cv_header_sys_mkdev_h = no; then
-+    ac_fn_c_check_header_mongrel "$LINENO" "sys/sysmacros.h" "ac_cv_header_sys_sysmacros_h" "$ac_includes_default"
-+if test "x$ac_cv_header_sys_sysmacros_h" = xyes; then :
-+
-+$as_echo "#define MAJOR_IN_SYSMACROS 1" >>confdefs.h
-+
-+fi
-+
-+
-+  fi
-+fi
-+
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stat file-mode macros are broken" >&5
- $as_echo_n "checking whether stat file-mode macros are broken... " >&6; }
- if ${ac_cv_header_stat_broken+:} false; then :
-diff --git a/configure.ac b/configure.ac
-index 6189aa9..201bc77 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -512,6 +512,7 @@ AC_CHECK_HEADERS(\
- 	valgrind/valgrind.h \
- 	zlib.h
- )
-+AC_HEADER_MAJOR()
- AC_HEADER_STAT()
- 
- dnl **** Checks for headers that depend on other ones ****
-diff --git a/dlls/ntdll/cdrom.c b/dlls/ntdll/cdrom.c
-index ee36045..2c64106 100644
---- a/dlls/ntdll/cdrom.c
-+++ b/dlls/ntdll/cdrom.c
-@@ -38,6 +38,11 @@
- #ifdef HAVE_SYS_STAT_H
- # include <sys/stat.h>
- #endif
-+#ifdef MAJOR_IN_MKDEV
-+# include <sys/mkdev.h>
-+#elif defined(MAJOR_IN_SYSMACROS)
-+# include <sys/sysmacros.h>
-+#endif
- #include <sys/types.h>
- 
- #ifdef HAVE_SYS_IOCTL_H
-diff --git a/dlls/ntdll/directory.c b/dlls/ntdll/directory.c
-index 93fe594..4d431c0 100644
---- a/dlls/ntdll/directory.c
-+++ b/dlls/ntdll/directory.c
-@@ -47,6 +47,11 @@
- #ifdef HAVE_SYS_ATTR_H
- #include <sys/attr.h>
- #endif
-+#ifdef MAJOR_IN_MKDEV
-+# include <sys/mkdev.h>
-+#elif defined(MAJOR_IN_SYSMACROS)
-+# include <sys/sysmacros.h>
-+#endif
- #ifdef HAVE_SYS_VNODE_H
- /* Work around a conflict with Solaris' system list defined in sys/list.h. */
- #define list SYSLIST
-diff --git a/dlls/ntdll/file.c b/dlls/ntdll/file.c
-index 7e5da59..b3bd9d6 100644
---- a/dlls/ntdll/file.c
-+++ b/dlls/ntdll/file.c
-@@ -57,6 +57,11 @@
- #ifdef HAVE_SYS_SOCKET_H
- #include <sys/socket.h>
- #endif
-+#ifdef MAJOR_IN_MKDEV
-+# include <sys/mkdev.h>
-+#elif defined(MAJOR_IN_SYSMACROS)
-+# include <sys/sysmacros.h>
-+#endif
- #ifdef HAVE_UTIME_H
- # include <utime.h>
- #endif
-diff --git a/include/config.h.in b/include/config.h.in
-index 0650f31..06b192f 100644
---- a/include/config.h.in
-+++ b/include/config.h.in
-@@ -1335,6 +1335,14 @@
- /* Define to 1 if you have the `__res_get_state' function. */
- #undef HAVE___RES_GET_STATE
- 
-+/* Define to 1 if `major', `minor', and `makedev' are declared in <mkdev.h>.
-+   */
-+#undef MAJOR_IN_MKDEV
-+
-+/* Define to 1 if `major', `minor', and `makedev' are declared in
-+   <sysmacros.h>. */
-+#undef MAJOR_IN_SYSMACROS
-+
- /* Define to the address where bug reports for this package should be sent. */
- #undef PACKAGE_BUGREPORT
- 
-diff --git a/server/fd.c b/server/fd.c
-index 1fd1ce7..17b1b66 100644
---- a/server/fd.c
-+++ b/server/fd.c
-@@ -83,6 +83,11 @@
- #endif
- #include <sys/stat.h>
- #include <sys/time.h>
-+#ifdef MAJOR_IN_MKDEV
-+#include <sys/mkdev.h>
-+#elif defined(MAJOR_IN_SYSMACROS)
-+#include <sys/sysmacros.h>
-+#endif
- #include <sys/types.h>
- #include <unistd.h>
- #ifdef HAVE_SYS_SYSCALL_H
--- 
-2.7.4
-

diff --git a/app-emulation/wine/wine-1.9.7.ebuild b/app-emulation/wine/wine-1.9.7.ebuild
index 00d7d2f..4ee12ee 100644
--- a/app-emulation/wine/wine-1.9.7.ebuild
+++ b/app-emulation/wine/wine-1.9.7.ebuild
@@ -247,7 +247,7 @@ 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}"/${P}-sysmacros.patch #580046
+		"${FILESDIR}"/${PN}-sysmacros.patch #580046
 	)
 	if use staging; then
 		ewarn "Applying the Wine-Staging patchset. Any bug reports to the"


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine/, app-emulation/wine/files/
@ 2016-06-06  2:07 Austin English
  0 siblings, 0 replies; 9+ messages in thread
From: Austin English @ 2016-06-06  2:07 UTC (permalink / raw
  To: gentoo-commits

commit:     0a6710c283b10eb3bb1c359e763f4003d4f81b8e
Author:     Austin English <wizardedit <AT> gentoo <DOT> org>
AuthorDate: Mon Jun  6 01:24:41 2016 +0000
Commit:     Austin English <wizardedit <AT> gentoo <DOT> org>
CommitDate: Mon Jun  6 02:06:48 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0a6710c2

app-emulation/wine: check if CC supports builtin_ms_va_list when attempting 64-bit support

 app-emulation/wine/files/builtin_ms_va_list.c |  9 +++++++++
 app-emulation/wine/wine-1.8-r1.ebuild         |  9 +++++++--
 app-emulation/wine/wine-1.8.1-r1.ebuild       |  9 +++++++--
 app-emulation/wine/wine-1.8.2.ebuild          |  9 +++++++--
 app-emulation/wine/wine-1.9.10.ebuild         |  9 +++++++--
 app-emulation/wine/wine-1.9.11.ebuild         |  9 +++++++--
 app-emulation/wine/wine-1.9.4-r1.ebuild       |  9 +++++++--
 app-emulation/wine/wine-1.9.5-r1.ebuild       | 11 ++++++++---
 app-emulation/wine/wine-1.9.6-r1.ebuild       |  9 +++++++--
 app-emulation/wine/wine-1.9.7-r1.ebuild       |  9 +++++++--
 app-emulation/wine/wine-1.9.8.ebuild          |  9 +++++++--
 app-emulation/wine/wine-1.9.9.ebuild          |  9 +++++++--
 app-emulation/wine/wine-9999.ebuild           |  9 +++++++--
 13 files changed, 94 insertions(+), 25 deletions(-)

diff --git a/app-emulation/wine/files/builtin_ms_va_list.c b/app-emulation/wine/files/builtin_ms_va_list.c
new file mode 100644
index 0000000..f36fc26
--- /dev/null
+++ b/app-emulation/wine/files/builtin_ms_va_list.c
@@ -0,0 +1,9 @@
+/* Taken from Wine's configure script. LGPL 2.1+ */
+
+#include <stdarg.h>
+
+int main(void)
+{
+    void func(__builtin_ms_va_list *args);
+    return 0;
+}

diff --git a/app-emulation/wine/wine-1.8-r1.ebuild b/app-emulation/wine/wine-1.8-r1.ebuild
index e074f92..bdb29eb 100644
--- a/app-emulation/wine/wine-1.8-r1.ebuild
+++ b/app-emulation/wine/wine-1.8-r1.ebuild
@@ -189,8 +189,13 @@ wine_build_environment_check() {
 		fi
 	fi
 
-	if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then
-		eerror "You need gcc-4.4+ to build 64-bit wine"
+	if use abi_x86_64 && einfo "Checking for builtin_ms_va_list ..." && \
+	( $(tc-getCC) -O2 "${FILESDIR}"/builtin_ms_va_list.c -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) ; then
+		einfo "$(tc-getCC) supports builtin_ms_va_list, enabling 64-bit wine"
+	else
+		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"
 		eerror
 		return 1
 	fi

diff --git a/app-emulation/wine/wine-1.8.1-r1.ebuild b/app-emulation/wine/wine-1.8.1-r1.ebuild
index 0b38bc8..f4681ee 100644
--- a/app-emulation/wine/wine-1.8.1-r1.ebuild
+++ b/app-emulation/wine/wine-1.8.1-r1.ebuild
@@ -190,8 +190,13 @@ wine_build_environment_check() {
 		fi
 	fi
 
-	if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then
-		eerror "You need gcc-4.4+ to build 64-bit wine"
+	if use abi_x86_64 && einfo "Checking for builtin_ms_va_list ..." && \
+	( $(tc-getCC) -O2 "${FILESDIR}"/builtin_ms_va_list.c -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) ; then
+		einfo "$(tc-getCC) supports builtin_ms_va_list, enabling 64-bit wine"
+	else
+		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"
 		eerror
 		return 1
 	fi

diff --git a/app-emulation/wine/wine-1.8.2.ebuild b/app-emulation/wine/wine-1.8.2.ebuild
index 951e2bc..6aa4664 100644
--- a/app-emulation/wine/wine-1.8.2.ebuild
+++ b/app-emulation/wine/wine-1.8.2.ebuild
@@ -190,8 +190,13 @@ wine_build_environment_check() {
 		fi
 	fi
 
-	if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then
-		eerror "You need gcc-4.4+ to build 64-bit wine"
+	if use abi_x86_64 && einfo "Checking for builtin_ms_va_list ..." && \
+	( $(tc-getCC) -O2 "${FILESDIR}"/builtin_ms_va_list.c -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) ; then
+		einfo "$(tc-getCC) supports builtin_ms_va_list, enabling 64-bit wine"
+	else
+		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"
 		eerror
 		return 1
 	fi

diff --git a/app-emulation/wine/wine-1.9.10.ebuild b/app-emulation/wine/wine-1.9.10.ebuild
index 971a77c..35f0ebf 100644
--- a/app-emulation/wine/wine-1.9.10.ebuild
+++ b/app-emulation/wine/wine-1.9.10.ebuild
@@ -192,8 +192,13 @@ wine_build_environment_check() {
 		fi
 	fi
 
-	if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then
-		eerror "You need gcc-4.4+ to build 64-bit wine"
+	if use abi_x86_64 && einfo "Checking for builtin_ms_va_list ..." && \
+	( $(tc-getCC) -O2 "${FILESDIR}"/builtin_ms_va_list.c -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) ; then
+		einfo "$(tc-getCC) supports builtin_ms_va_list, enabling 64-bit wine"
+	else
+		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"
 		eerror
 		return 1
 	fi

diff --git a/app-emulation/wine/wine-1.9.11.ebuild b/app-emulation/wine/wine-1.9.11.ebuild
index 971a77c..35f0ebf 100644
--- a/app-emulation/wine/wine-1.9.11.ebuild
+++ b/app-emulation/wine/wine-1.9.11.ebuild
@@ -192,8 +192,13 @@ wine_build_environment_check() {
 		fi
 	fi
 
-	if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then
-		eerror "You need gcc-4.4+ to build 64-bit wine"
+	if use abi_x86_64 && einfo "Checking for builtin_ms_va_list ..." && \
+	( $(tc-getCC) -O2 "${FILESDIR}"/builtin_ms_va_list.c -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) ; then
+		einfo "$(tc-getCC) supports builtin_ms_va_list, enabling 64-bit wine"
+	else
+		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"
 		eerror
 		return 1
 	fi

diff --git a/app-emulation/wine/wine-1.9.4-r1.ebuild b/app-emulation/wine/wine-1.9.4-r1.ebuild
index 0e6073c..7c3d35a 100644
--- a/app-emulation/wine/wine-1.9.4-r1.ebuild
+++ b/app-emulation/wine/wine-1.9.4-r1.ebuild
@@ -188,8 +188,13 @@ wine_build_environment_check() {
 		fi
 	fi
 
-	if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then
-		eerror "You need gcc-4.4+ to build 64-bit wine"
+	if use abi_x86_64 && einfo "Checking for builtin_ms_va_list ..." && \
+	( $(tc-getCC) -O2 "${FILESDIR}"/builtin_ms_va_list.c -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) ; then
+		einfo "$(tc-getCC) supports builtin_ms_va_list, enabling 64-bit wine"
+	else
+		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"
 		eerror
 		return 1
 	fi

diff --git a/app-emulation/wine/wine-1.9.5-r1.ebuild b/app-emulation/wine/wine-1.9.5-r1.ebuild
index 25d8daf..ec15380 100644
--- a/app-emulation/wine/wine-1.9.5-r1.ebuild
+++ b/app-emulation/wine/wine-1.9.5-r1.ebuild
@@ -186,9 +186,14 @@ wine_build_environment_check() {
 			return 1
 		fi
 	fi
-
-	if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then
-		eerror "You need gcc-4.4+ to build 64-bit wine"
+    
+	if use abi_x86_64 && einfo "Checking for builtin_ms_va_list ..." && \
+	( $(tc-getCC) -O2 "${FILESDIR}"/builtin_ms_va_list.c -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) ; then
+		einfo "$(tc-getCC) supports builtin_ms_va_list, enabling 64-bit wine"
+	else
+		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"
 		eerror
 		return 1
 	fi

diff --git a/app-emulation/wine/wine-1.9.6-r1.ebuild b/app-emulation/wine/wine-1.9.6-r1.ebuild
index 885d311..618f4dd 100644
--- a/app-emulation/wine/wine-1.9.6-r1.ebuild
+++ b/app-emulation/wine/wine-1.9.6-r1.ebuild
@@ -187,8 +187,13 @@ wine_build_environment_check() {
 		fi
 	fi
 
-	if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then
-		eerror "You need gcc-4.4+ to build 64-bit wine"
+	if use abi_x86_64 && einfo "Checking for builtin_ms_va_list ..." && \
+	( $(tc-getCC) -O2 "${FILESDIR}"/builtin_ms_va_list.c -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) ; then
+		einfo "$(tc-getCC) supports builtin_ms_va_list, enabling 64-bit wine"
+	else
+		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"
 		eerror
 		return 1
 	fi

diff --git a/app-emulation/wine/wine-1.9.7-r1.ebuild b/app-emulation/wine/wine-1.9.7-r1.ebuild
index 885d311..618f4dd 100644
--- a/app-emulation/wine/wine-1.9.7-r1.ebuild
+++ b/app-emulation/wine/wine-1.9.7-r1.ebuild
@@ -187,8 +187,13 @@ wine_build_environment_check() {
 		fi
 	fi
 
-	if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then
-		eerror "You need gcc-4.4+ to build 64-bit wine"
+	if use abi_x86_64 && einfo "Checking for builtin_ms_va_list ..." && \
+	( $(tc-getCC) -O2 "${FILESDIR}"/builtin_ms_va_list.c -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) ; then
+		einfo "$(tc-getCC) supports builtin_ms_va_list, enabling 64-bit wine"
+	else
+		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"
 		eerror
 		return 1
 	fi

diff --git a/app-emulation/wine/wine-1.9.8.ebuild b/app-emulation/wine/wine-1.9.8.ebuild
index 4ee43c7..8711bad 100644
--- a/app-emulation/wine/wine-1.9.8.ebuild
+++ b/app-emulation/wine/wine-1.9.8.ebuild
@@ -187,8 +187,13 @@ wine_build_environment_check() {
 		fi
 	fi
 
-	if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then
-		eerror "You need gcc-4.4+ to build 64-bit wine"
+	if use abi_x86_64 && einfo "Checking for builtin_ms_va_list ..." && \
+	( $(tc-getCC) -O2 "${FILESDIR}"/builtin_ms_va_list.c -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) ; then
+		einfo "$(tc-getCC) supports builtin_ms_va_list, enabling 64-bit wine"
+	else
+		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"
 		eerror
 		return 1
 	fi

diff --git a/app-emulation/wine/wine-1.9.9.ebuild b/app-emulation/wine/wine-1.9.9.ebuild
index 971a77c..35f0ebf 100644
--- a/app-emulation/wine/wine-1.9.9.ebuild
+++ b/app-emulation/wine/wine-1.9.9.ebuild
@@ -192,8 +192,13 @@ wine_build_environment_check() {
 		fi
 	fi
 
-	if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then
-		eerror "You need gcc-4.4+ to build 64-bit wine"
+	if use abi_x86_64 && einfo "Checking for builtin_ms_va_list ..." && \
+	( $(tc-getCC) -O2 "${FILESDIR}"/builtin_ms_va_list.c -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) ; then
+		einfo "$(tc-getCC) supports builtin_ms_va_list, enabling 64-bit wine"
+	else
+		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"
 		eerror
 		return 1
 	fi

diff --git a/app-emulation/wine/wine-9999.ebuild b/app-emulation/wine/wine-9999.ebuild
index 971a77c..35f0ebf 100644
--- a/app-emulation/wine/wine-9999.ebuild
+++ b/app-emulation/wine/wine-9999.ebuild
@@ -192,8 +192,13 @@ wine_build_environment_check() {
 		fi
 	fi
 
-	if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then
-		eerror "You need gcc-4.4+ to build 64-bit wine"
+	if use abi_x86_64 && einfo "Checking for builtin_ms_va_list ..." && \
+	( $(tc-getCC) -O2 "${FILESDIR}"/builtin_ms_va_list.c -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) ; then
+		einfo "$(tc-getCC) supports builtin_ms_va_list, enabling 64-bit wine"
+	else
+		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"
 		eerror
 		return 1
 	fi


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine/, app-emulation/wine/files/
@ 2016-07-10  5:29 NP Hardass
  0 siblings, 0 replies; 9+ messages in thread
From: NP Hardass @ 2016-07-10  5:29 UTC (permalink / raw
  To: gentoo-commits

commit:     b64196973d3c0b1094647c7b331ddc12af364539
Author:     NP-Hardass <NP-Hardass <AT> gentoo <DOT> org>
AuthorDate: Tue Jul  5 20:11:18 2016 +0000
Commit:     NP Hardass <np-hardass <AT> gentoo <DOT> org>
CommitDate: Sun Jul 10 05:29:09 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b6419697

app-emulation/wine: Mega update, fixes and closes 6 bugs and 1 PR

Rearrange deps (Thanks to Andreas Sturmlechner)
Closes: #1625

Handle when staging has different mono/gecko
Gentoo-Bug: 586114

Switch from capi4k to libcapi
Gentoo-Bug: 583828

Fix compilation with gnutls-3.5
Gentoo-Bug: 587028

X requires typetype; remove wineconsole w/o X or ncurses
Gentoo-Bug: 551124

Split build checks so compilations happen once
Fix gcc version checks for clang support
Gentoo-Bug: 449378

Clean up compiler checks and use ebegin and eend

Make USE=oss warning verbose for linux users
Gentoo-Bug: 577154

Require dosbox that contains compatibility patches

 app-emulation/wine/Manifest                        |   4 +
 .../wine/files/wine-1.8-gnutls-3.5-compat.patch    |  39 ++++
 .../{wine-1.8-r1.ebuild => wine-1.8-r2.ebuild}     | 197 ++++++++++++--------
 .../{wine-1.8.1-r1.ebuild => wine-1.8.1-r2.ebuild} | 197 ++++++++++++--------
 .../{wine-1.8.2.ebuild => wine-1.8.2-r1.ebuild}    | 199 +++++++++++++--------
 app-emulation/wine/wine-1.8.2.ebuild               | 131 ++++++++------
 .../{wine-1.9.11.ebuild => wine-1.9.10-r1.ebuild}  | 197 ++++++++++++--------
 .../{wine-1.9.9.ebuild => wine-1.9.11-r1.ebuild}   | 197 ++++++++++++--------
 .../{wine-1.9.4-r1.ebuild => wine-1.9.4-r2.ebuild} | 195 ++++++++++++--------
 .../{wine-1.9.5-r1.ebuild => wine-1.9.5-r2.ebuild} | 195 ++++++++++++--------
 .../{wine-1.9.7-r1.ebuild => wine-1.9.6-r2.ebuild} | 195 ++++++++++++--------
 .../{wine-1.9.6-r1.ebuild => wine-1.9.7-r2.ebuild} | 195 ++++++++++++--------
 .../{wine-1.9.8.ebuild => wine-1.9.8-r1.ebuild}    | 195 ++++++++++++--------
 .../{wine-1.9.10.ebuild => wine-1.9.9-r1.ebuild}   | 197 ++++++++++++--------
 app-emulation/wine/wine-9999.ebuild                | 198 ++++++++++++--------
 15 files changed, 1613 insertions(+), 918 deletions(-)

diff --git a/app-emulation/wine/Manifest b/app-emulation/wine/Manifest
index ed9d140..34a73e4 100644
--- a/app-emulation/wine/Manifest
+++ b/app-emulation/wine/Manifest
@@ -32,3 +32,7 @@ DIST wine_gecko-2.40-x86.msi 31741440 SHA256 1a29d17435a52b7663cea6f30a0771f7409
 DIST wine_gecko-2.40-x86_64.msi 33056768 SHA256 c3e28988e7d92221596fc4c569d10eb4dd2ca64b9f4970bf77e791f5dd8c9230 SHA512 af171193f221f2cd51f6dc3382a9b1c658ef2553213be32f201c05f7122eb6883838be97c3ec66177b1e3922df64c409745c3223acb01910680a5476c3f01478 WHIRLPOOL d11234b593f4190ae8fa99bec8363c0047f6de08b186752b9f49764519ee9f4aafd017a16c0496581a0f4791e1109273846cec0314d9e320423d51723cd2083a
 DIST wine_gecko-2.44-x86.msi 34832896 SHA256 77a64ad17571b3a00386a88b9b1b1ea4b7e759061675568bee0ec238fb456d39 SHA512 6c3b6ccbab0081d8ab188a9a031050ca8fd7ef8f1de0efa3a57569d6166397f91bf13037402e3437cc8cfc4fc25e7c2f8be32f66500306d567055e89aae0797d WHIRLPOOL 59c269a6d6e3ba829bd24cf81eba991f91bb0c1995a1841b7e548593f544088959093ba29eb83b53f38f77e71780d8288f0b12a212862af1374f954d61f24999
 DIST wine_gecko-2.44-x86_64.msi 36273152 SHA256 628e5a0d3b7406cbd2f031139be06e2ef695081fc77ee18dc06748e649ff6661 SHA512 71dcbd28ff048fc587ed796f2f09815f624774742abc192d9aa1104485f5d8cd93b2308fb72506f82d0ea5032dd6c7ed2af4ac95121e7b2367e7a6dd77cb042f WHIRLPOOL a327f2b5a8f47498967b80e06336918006b71b4e1b90a96943faa6f05e481273203259ab6f8a3b45ba85249344c76c100880ad88dd346a94ee45327fffb2f3a1
+DIST wine_gecko-2.47-beta1-x86.msi 49209856 SHA256 2b570f0d011a7b3711a00f6de1e60d2c04bacf2a4587ba158296ff18f6861891 SHA512 7e2a0502ad2e04bcbf604dc266a4b55f8ce592e2a555ee4d5fe6797fd965f18c08371b2ae65c0fc2bdd452cc14ced1b89f839589cc99832c43bff9f71de680b0 WHIRLPOOL 2bae533925cb9d225af7d1f663d6be7b771f09be5e34fd836c933366e80d529f9b7805b4f062f61994df725a59d5cc6c7f5bcf01245f9981310f11256dac4032
+DIST wine_gecko-2.47-beta1-x86_64.msi 50761216 SHA256 af843bb7e49d00906fc9a612ca4829cf18609f94e32b7729696d776fc0447d10 SHA512 9f8b8e8615e2142c682877134583a3fd18f3c33a9bfb41254b0a141f7139bfab21a4f6ac0e207c88db3a322907cf404dafdb08803e37a938a4e0e6ea6d3ebe3c WHIRLPOOL fe5e7c8eaf841fb099ec2912329cd6a2c5217aff5a7e6b268e39d64c9e837bddf61e9f4d2b4276a260f51e409cd6c47882182c9349a7f6081cf7b5566daeb227
+DIST wine_gecko-2.47-x86.msi 49266176 SHA256 3b8a361f5d63952d21caafd74e849a774994822fb96c5922b01d554f1677643a SHA512 e0d06102dcb8ec2d24e8c8c3f5c2ee5cb47c18e203dfb43d85de008d682ff874fb664fef1df909a5a7857de39c7e8ce5175e734a11964ec4cd35f8fbacaea3a4 WHIRLPOOL 2b4e3e88d530106d942200e5cdc67e51fc529c51864dee687ff1d6ae4cc94557481f74797a5ca7c1de8ca5ad00f7d9cb71e484ab24d73867d1032ccd88c0c376
+DIST wine_gecko-2.47-x86_64.msi 50806272 SHA256 c565ea25e50ea953937d4ab01299e4306da4a556946327d253ea9b28357e4a7d SHA512 7c2496b15a06bc6906bc60afb3ac082e3f9931207fa624e60297020211d66aa9b420a61e95730a0dbdcefbe4b26c811d0c896ecd9c363b5107d08c3fa22fef41 WHIRLPOOL c7619954da22a47dae86ef4c6c0cfbece41943edcceb2c21babe610e0a0b2197b244ebbddd2f3986ee4d5251b062e5f3b8e079426ec77c311b928d18c8451677

diff --git a/app-emulation/wine/files/wine-1.8-gnutls-3.5-compat.patch b/app-emulation/wine/files/wine-1.8-gnutls-3.5-compat.patch
new file mode 100644
index 0000000..291c4a5
--- /dev/null
+++ b/app-emulation/wine/files/wine-1.8-gnutls-3.5-compat.patch
@@ -0,0 +1,39 @@
+From bf5ac531a030bce9e798ab66bc53e84a65ca8fdb Mon Sep 17 00:00:00 2001
+From: Michael Cronenworth <mike@cchtml.com>
+Date: Thu, 16 Jun 2016 00:21:13 -0500
+Subject: [PATCH] secur32: Provide a static declaration for
+ gnutls_cipher_get_block_size.
+
+Instead of providing an extern provide a static declaration. The
+function return type changed from signed to unsigned in GnuTLS 3.5.
+
+Signed-off-by: Michael Cronenworth <mike@cchtml.com>
+Signed-off-by: Alexandre Julliard <julliard@winehq.org>
+---
+ dlls/secur32/schannel_gnutls.c | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+diff --git a/dlls/secur32/schannel_gnutls.c b/dlls/secur32/schannel_gnutls.c
+index b10b629..bcadd47 100644
+--- a/dlls/secur32/schannel_gnutls.c
++++ b/dlls/secur32/schannel_gnutls.c
+@@ -42,7 +42,7 @@ WINE_DEFAULT_DEBUG_CHANNEL(secur32);
+ WINE_DECLARE_DEBUG_CHANNEL(winediag);
+ 
+ /* Not present in gnutls version < 2.9.10. */
+-extern int gnutls_cipher_get_block_size(gnutls_cipher_algorithm_t algorithm);
++static int (*pgnutls_cipher_get_block_size)(gnutls_cipher_algorithm_t algorithm);
+ 
+ static void *libgnutls_handle;
+ #define MAKE_FUNCPTR(f) static typeof(f) * p##f
+@@ -52,7 +52,6 @@ MAKE_FUNCPTR(gnutls_certificate_allocate_credentials);
+ MAKE_FUNCPTR(gnutls_certificate_free_credentials);
+ MAKE_FUNCPTR(gnutls_certificate_get_peers);
+ MAKE_FUNCPTR(gnutls_cipher_get);
+-MAKE_FUNCPTR(gnutls_cipher_get_block_size);
+ MAKE_FUNCPTR(gnutls_cipher_get_key_size);
+ MAKE_FUNCPTR(gnutls_credentials_set);
+ MAKE_FUNCPTR(gnutls_deinit);
+-- 
+2.1.4
+

diff --git a/app-emulation/wine/wine-1.8-r1.ebuild b/app-emulation/wine/wine-1.8-r2.ebuild
similarity index 76%
rename from app-emulation/wine/wine-1.8-r1.ebuild
rename to app-emulation/wine/wine-1.8-r2.ebuild
index 9819193..8b73b5b 100644
--- a/app-emulation/wine/wine-1.8-r1.ebuild
+++ b/app-emulation/wine/wine-1.8-r2.ebuild
@@ -23,6 +23,8 @@ fi
 
 GV="2.40"
 MV="4.5.6"
+STAGING_GV="2.40"
+STAGING_MV="4.5.6"
 STAGING_P="wine-staging-${PV}"
 STAGING_DIR="${WORKDIR}/${STAGING_P}"
 WINE_GENTOO="wine-gentoo-2015.03.07"
@@ -30,11 +32,20 @@ GST_P="wine-1.8-gstreamer-1.0"
 DESCRIPTION="Free implementation of Windows(tm) on Unix"
 HOMEPAGE="http://www.winehq.org/"
 SRC_URI="${SRC_URI}
-	gecko? (
-		abi_x86_32? ( https://dl.winehq.org/wine/wine-gecko/${GV}/wine_gecko-${GV}-x86.msi )
-		abi_x86_64? ( https://dl.winehq.org/wine/wine-gecko/${GV}/wine_gecko-${GV}-x86_64.msi )
+	!staging? (
+		gecko? (
+			abi_x86_32? ( https://dl.winehq.org/wine/wine-gecko/${GV}/wine_gecko-${GV}-x86.msi )
+			abi_x86_64? ( https://dl.winehq.org/wine/wine-gecko/${GV}/wine_gecko-${GV}-x86_64.msi )
+		)
+		mono? ( https://dl.winehq.org/wine/wine-mono/${MV}/wine-mono-${MV}.msi )
+	)
+	staging? (
+		gecko? (
+			abi_x86_32? ( https://dl.winehq.org/wine/wine-gecko/${STAGING_GV}/wine_gecko-${STAGING_GV}-x86.msi )
+			abi_x86_64? ( https://dl.winehq.org/wine/wine-gecko/${STAGING_GV}/wine_gecko-${STAGING_GV}-x86_64.msi )
+		)
+		mono? ( https://dl.winehq.org/wine/wine-mono/${STAGING_MV}/wine-mono-${STAGING_MV}.msi )
 	)
-	mono? ( https://dl.winehq.org/wine/wine-mono/${MV}/wine-mono-${MV}.msi )
 	https://dev.gentoo.org/~np-hardass/distfiles/${PN}/${GST_P}.patch.bz2
 	https://dev.gentoo.org/~tetromino/distfiles/${PN}/${WINE_GENTOO}.tar.bz2"
 
@@ -47,32 +58,22 @@ 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 +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 +threads +truetype +udisks v4l vaapi +X +xcomposite xinerama +xml"
 REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
-	test? ( abi_x86_32 )
+	X? ( truetype )
 	elibc_glibc? ( threads )
 	mono? ( abi_x86_32 )
+	osmesa? ( opengl )
 	pipelight? ( staging )
 	s3tc? ( staging )
-	vaapi? ( staging )
-	osmesa? ( opengl )" #286560
+	test? ( abi_x86_32 )
+	vaapi? ( staging )" # osmesa-opengl #286560 # X-truetype #551124
 
 # FIXME: the test suite is unsuitable for us; many tests require net access
 # or fail due to Xvfb's opengl limitations.
 RESTRICT="test"
 
 COMMON_DEPEND="
-	truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
-	capi? ( net-dialup/capi4k-utils )
-	ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
-	udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
-	fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
-	gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
-	openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
-	gstreamer? (
-		media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
-		media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
-	)
 	X? (
 		x11-libs/libXcursor[${MULTILIB_USEDEP}]
 		x11-libs/libXext[${MULTILIB_USEDEP}]
@@ -80,36 +81,47 @@ COMMON_DEPEND="
 		x11-libs/libXi[${MULTILIB_USEDEP}]
 		x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
 	)
-	xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
 	alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
+	capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
 	cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
-	opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
-	opengl? (
-		virtual/glu[${MULTILIB_USEDEP}]
-		virtual/opengl[${MULTILIB_USEDEP}]
-	)
+	fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
+	gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
 	gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
+	gstreamer? (
+		media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
+		media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
+	)
 	jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
-	ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
 	lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
+	ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
 	mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
+	ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
 	netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
 	nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
 	odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
+	openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
+	opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
+	opengl? (
+		virtual/glu[${MULTILIB_USEDEP}]
+		virtual/opengl[${MULTILIB_USEDEP}]
+	)
 	osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
 	pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
+	png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
 	pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
-	staging? ( sys-apps/attr[${MULTILIB_USEDEP}] )
-	xml? (
-		dev-libs/libxml2[${MULTILIB_USEDEP}]
-		dev-libs/libxslt[${MULTILIB_USEDEP}]
-	)
 	scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
 	ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
-	png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
+	staging? ( sys-apps/attr[${MULTILIB_USEDEP}] )
+	truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
+	udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
 	v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
 	vaapi? ( x11-libs/libva[X,${MULTILIB_USEDEP}] )
 	xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
+	xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
+	xml? (
+		dev-libs/libxml2[${MULTILIB_USEDEP}]
+		dev-libs/libxslt[${MULTILIB_USEDEP}]
+	)
 	abi_x86_32? (
 		!app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
 		!<app-emulation/emul-linux-x86-baselibs-20140508-r14
@@ -128,28 +140,36 @@ COMMON_DEPEND="
 	)"
 
 RDEPEND="${COMMON_DEPEND}
-	dos? ( games-emulation/dosbox )
-	perl? ( dev-lang/perl dev-perl/XML-Simple )
+	dos? ( >=games-emulation/dosbox-0.74_p20160629 )
+	perl? (
+		dev-lang/perl
+		dev-perl/XML-Simple
+	)
+	pulseaudio? (
+		realtime? ( sys-auth/rtkit )
+	)
 	s3tc? ( >=media-libs/libtxc_dxtn-1.0.1-r1[${MULTILIB_USEDEP}] )
 	samba? ( >=net-fs/samba-3.0.25[winbind] )
 	selinux? ( sec-policy/selinux-wine )
-	udisks? ( sys-fs/udisks:2 )
-	pulseaudio? ( realtime? ( sys-auth/rtkit ) )"
+	udisks? ( sys-fs/udisks:2 )"
 
 # tools/make_requests requires perl
 DEPEND="${COMMON_DEPEND}
-	staging? ( dev-lang/perl dev-perl/XML-Simple )
+	sys-devel/flex
+	>=sys-kernel/linux-headers-2.6
+	virtual/pkgconfig
+	virtual/yacc
 	X? (
 		x11-proto/inputproto
 		x11-proto/xextproto
 		x11-proto/xf86vidmodeproto
 	)
-	xinerama? ( x11-proto/xineramaproto )
 	prelink? ( sys-devel/prelink )
-	>=sys-kernel/linux-headers-2.6
-	virtual/pkgconfig
-	virtual/yacc
-	sys-devel/flex"
+	staging? (
+		dev-lang/perl
+		dev-perl/XML-Simple
+	)
+	xinerama? ( x11-proto/xineramaproto )"
 
 # These use a non-standard "Wine" category, which is provided by
 # /etc/xdg/applications-merged/wine.menu
@@ -158,42 +178,51 @@ usr/share/applications/wine-notepad.desktop
 usr/share/applications/wine-uninstaller.desktop
 usr/share/applications/wine-winecfg.desktop"
 
-wine_build_environment_check() {
+wine_compiler_check() {
 	[[ ${MERGE_TYPE} = "binary" ]] && return 0
 
-	# bug #549768
-	if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
-		einfo "Checking for gcc-5 ms_abi compiler bug ..."
-		$(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
-		# Run in subshell to prevent "Aborted" message
-		if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; 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."
-			eerror "See https://bugs.gentoo.org/549768"
-			eerror
-			return 1
+	# GCC-specific bugs
+	if tc-is-gcc; then
+		# bug #549768
+		if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
+			ebegin "Checking for gcc-5 ms_abi compiler bug"
+			$(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
+				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."
+				eerror "See https://bugs.gentoo.org/549768"
+				eerror
+				return 1
+			fi
 		fi
-	fi
-	# bug #574044
-	if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
-		einfo "Checking for gcc-5-3 stack realignment compiler bug ..."
-		# Compile in subshell to prevent "Aborted" message
-		if ! ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${FILESDIR}"/pr69140.c -o "${T}"/pr69140 || false ) >/dev/null 2>&1; 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."
-			eerror "See https://bugs.gentoo.org/574044"
-			eerror
-			return 1
+		# bug #574044
+		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
+				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."
+				eerror "See https://bugs.gentoo.org/574044"
+				eerror
+				return 1
+			fi
 		fi
 	fi
 
+	# Ensure compiler support
 	if use abi_x86_64; then
-		einfo "Checking for builtin_ms_va_list ..."
-		if ( $(tc-getCC) -O2 "${FILESDIR}"/builtin_ms_va_list.c -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) ; then
-			einfo "$(tc-getCC) supports builtin_ms_va_list, enabling 64-bit wine"
-		else
+		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
 			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"
@@ -201,6 +230,10 @@ wine_build_environment_check() {
 			return 1
 		fi
 	fi
+}
+
+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
 		eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
@@ -211,7 +244,19 @@ wine_build_environment_check() {
 }
 
 pkg_pretend() {
+	wine_compiler_check || die
 	wine_build_environment_check || die
+
+	# 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
+			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
+			die
+		fi
+	fi
 }
 
 pkg_setup() {
@@ -255,8 +300,9 @@ src_prepare() {
 		"${FILESDIR}"/${PN}-1.4_rc2-multilib-portage.patch #395615
 		"${FILESDIR}"/${PN}-1.7.12-osmesa-check.patch #429386
 		"${FILESDIR}"/${PN}-1.6-memset-O3.patch #480508
-		"${WORKDIR}/${GST_P}.patch"
 		"${FILESDIR}"/${PN}-sysmacros.patch #580046
+		"${FILESDIR}"/${PN}-1.8-gnutls-3.5-compat.patch #587028
+		"${WORKDIR}/${GST_P}.patch"
 	)
 	if use staging; then
 		ewarn "Applying the Wine-Staging patchset. Any bug reports to the"
@@ -409,6 +455,13 @@ multilib_src_install_all() {
 		rm "${D}"usr/bin/{wine{dump,maker},function_grep.pl} "${D}"usr/share/man/man1/wine{dump,maker}.1 || die
 	fi
 
+	# Remove wineconsole if neither backend is installed #551124
+	if ! use X && ! use ncurses; then
+		rm	"${D}"/usr/{bin/,man/man1/}wineconsole* || die
+		use abi_x86_32 && rm "${D}"/usr/lib32/wine/{,fakedlls/}wineconsole.exe* || die
+		use abi_x86_64 && rm "${D}"/usr/lib64/wine/{,fakedlls/}wineconsole.exe* || die
+	fi
+
 	use abi_x86_32 && pax-mark psmr "${D}"usr/bin/wine{,-preloader} #255055
 	use abi_x86_64 && pax-mark psmr "${D}"usr/bin/wine64{,-preloader}
 

diff --git a/app-emulation/wine/wine-1.8.1-r1.ebuild b/app-emulation/wine/wine-1.8.1-r2.ebuild
similarity index 77%
rename from app-emulation/wine/wine-1.8.1-r1.ebuild
rename to app-emulation/wine/wine-1.8.1-r2.ebuild
index 693adfb..be42443 100644
--- a/app-emulation/wine/wine-1.8.1-r1.ebuild
+++ b/app-emulation/wine/wine-1.8.1-r2.ebuild
@@ -23,6 +23,8 @@ fi
 
 GV="2.40"
 MV="4.5.6"
+STAGING_GV="2.40"
+STAGING_MV="4.5.6"
 [[ ${MAJOR_V} == "1.8" ]] && SUFFIX="-unofficial"
 STAGING_P="wine-staging-${PV}"
 STAGING_DIR="${WORKDIR}/${STAGING_P}${SUFFIX}"
@@ -31,11 +33,20 @@ GST_P="wine-1.8-gstreamer-1.0"
 DESCRIPTION="Free implementation of Windows(tm) on Unix"
 HOMEPAGE="http://www.winehq.org/"
 SRC_URI="${SRC_URI}
-	gecko? (
-		abi_x86_32? ( https://dl.winehq.org/wine/wine-gecko/${GV}/wine_gecko-${GV}-x86.msi )
-		abi_x86_64? ( https://dl.winehq.org/wine/wine-gecko/${GV}/wine_gecko-${GV}-x86_64.msi )
+	!staging? (
+		gecko? (
+			abi_x86_32? ( https://dl.winehq.org/wine/wine-gecko/${GV}/wine_gecko-${GV}-x86.msi )
+			abi_x86_64? ( https://dl.winehq.org/wine/wine-gecko/${GV}/wine_gecko-${GV}-x86_64.msi )
+		)
+		mono? ( https://dl.winehq.org/wine/wine-mono/${MV}/wine-mono-${MV}.msi )
+	)
+	staging? (
+		gecko? (
+			abi_x86_32? ( https://dl.winehq.org/wine/wine-gecko/${STAGING_GV}/wine_gecko-${STAGING_GV}-x86.msi )
+			abi_x86_64? ( https://dl.winehq.org/wine/wine-gecko/${STAGING_GV}/wine_gecko-${STAGING_GV}-x86_64.msi )
+		)
+		mono? ( https://dl.winehq.org/wine/wine-mono/${STAGING_MV}/wine-mono-${STAGING_MV}.msi )
 	)
-	mono? ( https://dl.winehq.org/wine/wine-mono/${MV}/wine-mono-${MV}.msi )
 	https://dev.gentoo.org/~np-hardass/distfiles/${PN}/${GST_P}.patch.bz2
 	https://dev.gentoo.org/~tetromino/distfiles/${PN}/${WINE_GENTOO}.tar.bz2"
 
@@ -48,32 +59,22 @@ 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 +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 +threads +truetype +udisks v4l vaapi +X +xcomposite xinerama +xml"
 REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
-	test? ( abi_x86_32 )
+	X? ( truetype )
 	elibc_glibc? ( threads )
 	mono? ( abi_x86_32 )
+	osmesa? ( opengl )
 	pipelight? ( staging )
 	s3tc? ( staging )
-	vaapi? ( staging )
-	osmesa? ( opengl )" #286560
+	test? ( abi_x86_32 )
+	vaapi? ( staging )" # osmesa-opengl #286560 # X-truetype #551124
 
 # FIXME: the test suite is unsuitable for us; many tests require net access
 # or fail due to Xvfb's opengl limitations.
 RESTRICT="test"
 
 COMMON_DEPEND="
-	truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
-	capi? ( net-dialup/capi4k-utils )
-	ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
-	udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
-	fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
-	gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
-	openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
-	gstreamer? (
-		media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
-		media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
-	)
 	X? (
 		x11-libs/libXcursor[${MULTILIB_USEDEP}]
 		x11-libs/libXext[${MULTILIB_USEDEP}]
@@ -81,36 +82,47 @@ COMMON_DEPEND="
 		x11-libs/libXi[${MULTILIB_USEDEP}]
 		x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
 	)
-	xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
 	alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
+	capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
 	cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
-	opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
-	opengl? (
-		virtual/glu[${MULTILIB_USEDEP}]
-		virtual/opengl[${MULTILIB_USEDEP}]
-	)
+	fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
+	gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
 	gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
+	gstreamer? (
+		media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
+		media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
+	)
 	jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
-	ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
 	lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
+	ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
 	mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
+	ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
 	netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
 	nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
 	odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
+	openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
+	opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
+	opengl? (
+		virtual/glu[${MULTILIB_USEDEP}]
+		virtual/opengl[${MULTILIB_USEDEP}]
+	)
 	osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
 	pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
+	png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
 	pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
-	staging? ( sys-apps/attr[${MULTILIB_USEDEP}] )
-	xml? (
-		dev-libs/libxml2[${MULTILIB_USEDEP}]
-		dev-libs/libxslt[${MULTILIB_USEDEP}]
-	)
 	scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
 	ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
-	png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
+	staging? ( sys-apps/attr[${MULTILIB_USEDEP}] )
+	truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
+	udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
 	v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
 	vaapi? ( x11-libs/libva[X,${MULTILIB_USEDEP}] )
 	xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
+	xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
+	xml? (
+		dev-libs/libxml2[${MULTILIB_USEDEP}]
+		dev-libs/libxslt[${MULTILIB_USEDEP}]
+	)
 	abi_x86_32? (
 		!app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
 		!<app-emulation/emul-linux-x86-baselibs-20140508-r14
@@ -129,28 +141,36 @@ COMMON_DEPEND="
 	)"
 
 RDEPEND="${COMMON_DEPEND}
-	dos? ( games-emulation/dosbox )
-	perl? ( dev-lang/perl dev-perl/XML-Simple )
+	dos? ( >=games-emulation/dosbox-0.74_p20160629 )
+	perl? (
+		dev-lang/perl
+		dev-perl/XML-Simple
+	)
+	pulseaudio? (
+		realtime? ( sys-auth/rtkit )
+	)
 	s3tc? ( >=media-libs/libtxc_dxtn-1.0.1-r1[${MULTILIB_USEDEP}] )
 	samba? ( >=net-fs/samba-3.0.25[winbind] )
 	selinux? ( sec-policy/selinux-wine )
-	udisks? ( sys-fs/udisks:2 )
-	pulseaudio? ( realtime? ( sys-auth/rtkit ) )"
+	udisks? ( sys-fs/udisks:2 )"
 
 # tools/make_requests requires perl
 DEPEND="${COMMON_DEPEND}
-	staging? ( dev-lang/perl dev-perl/XML-Simple )
+	sys-devel/flex
+	>=sys-kernel/linux-headers-2.6
+	virtual/pkgconfig
+	virtual/yacc
 	X? (
 		x11-proto/inputproto
 		x11-proto/xextproto
 		x11-proto/xf86vidmodeproto
 	)
-	xinerama? ( x11-proto/xineramaproto )
 	prelink? ( sys-devel/prelink )
-	>=sys-kernel/linux-headers-2.6
-	virtual/pkgconfig
-	virtual/yacc
-	sys-devel/flex"
+	staging? (
+		dev-lang/perl
+		dev-perl/XML-Simple
+	)
+	xinerama? ( x11-proto/xineramaproto )"
 
 # These use a non-standard "Wine" category, which is provided by
 # /etc/xdg/applications-merged/wine.menu
@@ -159,42 +179,51 @@ usr/share/applications/wine-notepad.desktop
 usr/share/applications/wine-uninstaller.desktop
 usr/share/applications/wine-winecfg.desktop"
 
-wine_build_environment_check() {
+wine_compiler_check() {
 	[[ ${MERGE_TYPE} = "binary" ]] && return 0
 
-	# bug #549768
-	if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
-		einfo "Checking for gcc-5 ms_abi compiler bug ..."
-		$(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
-		# Run in subshell to prevent "Aborted" message
-		if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; 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."
-			eerror "See https://bugs.gentoo.org/549768"
-			eerror
-			return 1
+	# GCC-specific bugs
+	if tc-is-gcc; then
+		# bug #549768
+		if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
+			ebegin "Checking for gcc-5 ms_abi compiler bug"
+			$(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
+				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."
+				eerror "See https://bugs.gentoo.org/549768"
+				eerror
+				return 1
+			fi
 		fi
-	fi
-	# bug #574044
-	if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
-		einfo "Checking for gcc-5-3 stack realignment compiler bug ..."
-		# Compile in subshell to prevent "Aborted" message
-		if ! ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${FILESDIR}"/pr69140.c -o "${T}"/pr69140 || false ) >/dev/null 2>&1; 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."
-			eerror "See https://bugs.gentoo.org/574044"
-			eerror
-			return 1
+		# bug #574044
+		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
+				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."
+				eerror "See https://bugs.gentoo.org/574044"
+				eerror
+				return 1
+			fi
 		fi
 	fi
 
+	# Ensure compiler support
 	if use abi_x86_64; then
-		einfo "Checking for builtin_ms_va_list ..."
-		if ( $(tc-getCC) -O2 "${FILESDIR}"/builtin_ms_va_list.c -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) ; then
-			einfo "$(tc-getCC) supports builtin_ms_va_list, enabling 64-bit wine"
-		else
+		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
 			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"
@@ -202,6 +231,10 @@ wine_build_environment_check() {
 			return 1
 		fi
 	fi
+}
+
+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
 		eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
@@ -212,7 +245,19 @@ wine_build_environment_check() {
 }
 
 pkg_pretend() {
+	wine_compiler_check || die
 	wine_build_environment_check || die
+
+	# 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
+			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
+			die
+		fi
+	fi
 }
 
 pkg_setup() {
@@ -256,8 +301,9 @@ src_prepare() {
 		"${FILESDIR}"/${PN}-1.4_rc2-multilib-portage.patch #395615
 		"${FILESDIR}"/${PN}-1.7.12-osmesa-check.patch #429386
 		"${FILESDIR}"/${PN}-1.6-memset-O3.patch #480508
-		"${WORKDIR}/${GST_P}.patch"
 		"${FILESDIR}"/${PN}-sysmacros.patch #580046
+		"${FILESDIR}"/${PN}-1.8-gnutls-3.5-compat.patch #587028
+		"${WORKDIR}/${GST_P}.patch"
 	)
 	if use staging; then
 		ewarn "Applying the Wine-Staging patchset. Any bug reports to the"
@@ -415,6 +461,13 @@ multilib_src_install_all() {
 		rm "${D}"usr/bin/{wine{dump,maker},function_grep.pl} "${D}"usr/share/man/man1/wine{dump,maker}.1 || die
 	fi
 
+	# Remove wineconsole if neither backend is installed #551124
+	if ! use X && ! use ncurses; then
+		rm	"${D}"/usr/{bin/,man/man1/}wineconsole* || die
+		use abi_x86_32 && rm "${D}"/usr/lib32/wine/{,fakedlls/}wineconsole.exe* || die
+		use abi_x86_64 && rm "${D}"/usr/lib64/wine/{,fakedlls/}wineconsole.exe* || die
+	fi
+
 	use abi_x86_32 && pax-mark psmr "${D}"usr/bin/wine{,-preloader} #255055
 	use abi_x86_64 && pax-mark psmr "${D}"usr/bin/wine64{,-preloader}
 

diff --git a/app-emulation/wine/wine-1.8.2.ebuild b/app-emulation/wine/wine-1.8.2-r1.ebuild
similarity index 77%
copy from app-emulation/wine/wine-1.8.2.ebuild
copy to app-emulation/wine/wine-1.8.2-r1.ebuild
index 64a4bc5..b01ffd8 100644
--- a/app-emulation/wine/wine-1.8.2.ebuild
+++ b/app-emulation/wine/wine-1.8.2-r1.ebuild
@@ -18,11 +18,13 @@ if [[ ${PV} == "9999" ]] ; then
 else
 	MAJOR_V=$(get_version_component_range 1-2)
 	SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}/${P}.tar.bz2"
-	KEYWORDS="-* amd64 x86 ~x86-fbsd"
+	KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
 fi
 
 GV="2.40"
 MV="4.5.6"
+STAGING_GV="2.40"
+STAGING_MV="4.5.6"
 [[ ${MAJOR_V} == "1.8" ]] && SUFFIX="-unofficial"
 STAGING_P="wine-staging-${PV}"
 STAGING_DIR="${WORKDIR}/${STAGING_P}${SUFFIX}"
@@ -31,11 +33,20 @@ GST_P="wine-1.8-gstreamer-1.0"
 DESCRIPTION="Free implementation of Windows(tm) on Unix"
 HOMEPAGE="http://www.winehq.org/"
 SRC_URI="${SRC_URI}
-	gecko? (
-		abi_x86_32? ( https://dl.winehq.org/wine/wine-gecko/${GV}/wine_gecko-${GV}-x86.msi )
-		abi_x86_64? ( https://dl.winehq.org/wine/wine-gecko/${GV}/wine_gecko-${GV}-x86_64.msi )
+	!staging? (
+		gecko? (
+			abi_x86_32? ( https://dl.winehq.org/wine/wine-gecko/${GV}/wine_gecko-${GV}-x86.msi )
+			abi_x86_64? ( https://dl.winehq.org/wine/wine-gecko/${GV}/wine_gecko-${GV}-x86_64.msi )
+		)
+		mono? ( https://dl.winehq.org/wine/wine-mono/${MV}/wine-mono-${MV}.msi )
+	)
+	staging? (
+		gecko? (
+			abi_x86_32? ( https://dl.winehq.org/wine/wine-gecko/${STAGING_GV}/wine_gecko-${STAGING_GV}-x86.msi )
+			abi_x86_64? ( https://dl.winehq.org/wine/wine-gecko/${STAGING_GV}/wine_gecko-${STAGING_GV}-x86_64.msi )
+		)
+		mono? ( https://dl.winehq.org/wine/wine-mono/${STAGING_MV}/wine-mono-${STAGING_MV}.msi )
 	)
-	mono? ( https://dl.winehq.org/wine/wine-mono/${MV}/wine-mono-${MV}.msi )
 	https://dev.gentoo.org/~np-hardass/distfiles/${PN}/${GST_P}.patch.bz2
 	https://dev.gentoo.org/~tetromino/distfiles/${PN}/${WINE_GENTOO}.tar.bz2"
 
@@ -48,32 +59,22 @@ 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 +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 +threads +truetype +udisks v4l vaapi +X +xcomposite xinerama +xml"
 REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
-	test? ( abi_x86_32 )
+	X? ( truetype )
 	elibc_glibc? ( threads )
 	mono? ( abi_x86_32 )
+	osmesa? ( opengl )
 	pipelight? ( staging )
 	s3tc? ( staging )
-	vaapi? ( staging )
-	osmesa? ( opengl )" #286560
+	test? ( abi_x86_32 )
+	vaapi? ( staging )" # osmesa-opengl #286560 # X-truetype #551124
 
 # FIXME: the test suite is unsuitable for us; many tests require net access
 # or fail due to Xvfb's opengl limitations.
 RESTRICT="test"
 
 COMMON_DEPEND="
-	truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
-	capi? ( net-dialup/capi4k-utils )
-	ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
-	udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
-	fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
-	gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
-	openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
-	gstreamer? (
-		media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
-		media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
-	)
 	X? (
 		x11-libs/libXcursor[${MULTILIB_USEDEP}]
 		x11-libs/libXext[${MULTILIB_USEDEP}]
@@ -81,36 +82,47 @@ COMMON_DEPEND="
 		x11-libs/libXi[${MULTILIB_USEDEP}]
 		x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
 	)
-	xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
 	alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
+	capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
 	cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
-	opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
-	opengl? (
-		virtual/glu[${MULTILIB_USEDEP}]
-		virtual/opengl[${MULTILIB_USEDEP}]
-	)
+	fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
+	gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
 	gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
+	gstreamer? (
+		media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
+		media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
+	)
 	jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
-	ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
 	lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
+	ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
 	mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
+	ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
 	netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
 	nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
 	odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
+	openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
+	opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
+	opengl? (
+		virtual/glu[${MULTILIB_USEDEP}]
+		virtual/opengl[${MULTILIB_USEDEP}]
+	)
 	osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
 	pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
+	png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
 	pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
-	staging? ( sys-apps/attr[${MULTILIB_USEDEP}] )
-	xml? (
-		dev-libs/libxml2[${MULTILIB_USEDEP}]
-		dev-libs/libxslt[${MULTILIB_USEDEP}]
-	)
 	scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
 	ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
-	png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
+	staging? ( sys-apps/attr[${MULTILIB_USEDEP}] )
+	truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
+	udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
 	v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
 	vaapi? ( x11-libs/libva[X,${MULTILIB_USEDEP}] )
 	xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
+	xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
+	xml? (
+		dev-libs/libxml2[${MULTILIB_USEDEP}]
+		dev-libs/libxslt[${MULTILIB_USEDEP}]
+	)
 	abi_x86_32? (
 		!app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
 		!<app-emulation/emul-linux-x86-baselibs-20140508-r14
@@ -129,28 +141,36 @@ COMMON_DEPEND="
 	)"
 
 RDEPEND="${COMMON_DEPEND}
-	dos? ( games-emulation/dosbox )
-	perl? ( dev-lang/perl dev-perl/XML-Simple )
+	dos? ( >=games-emulation/dosbox-0.74_p20160629 )
+	perl? (
+		dev-lang/perl
+		dev-perl/XML-Simple
+	)
+	pulseaudio? (
+		realtime? ( sys-auth/rtkit )
+	)
 	s3tc? ( >=media-libs/libtxc_dxtn-1.0.1-r1[${MULTILIB_USEDEP}] )
 	samba? ( >=net-fs/samba-3.0.25[winbind] )
 	selinux? ( sec-policy/selinux-wine )
-	udisks? ( sys-fs/udisks:2 )
-	pulseaudio? ( realtime? ( sys-auth/rtkit ) )"
+	udisks? ( sys-fs/udisks:2 )"
 
 # tools/make_requests requires perl
 DEPEND="${COMMON_DEPEND}
-	staging? ( dev-lang/perl dev-perl/XML-Simple )
+	sys-devel/flex
+	>=sys-kernel/linux-headers-2.6
+	virtual/pkgconfig
+	virtual/yacc
 	X? (
 		x11-proto/inputproto
 		x11-proto/xextproto
 		x11-proto/xf86vidmodeproto
 	)
-	xinerama? ( x11-proto/xineramaproto )
 	prelink? ( sys-devel/prelink )
-	>=sys-kernel/linux-headers-2.6
-	virtual/pkgconfig
-	virtual/yacc
-	sys-devel/flex"
+	staging? (
+		dev-lang/perl
+		dev-perl/XML-Simple
+	)
+	xinerama? ( x11-proto/xineramaproto )"
 
 # These use a non-standard "Wine" category, which is provided by
 # /etc/xdg/applications-merged/wine.menu
@@ -159,42 +179,51 @@ usr/share/applications/wine-notepad.desktop
 usr/share/applications/wine-uninstaller.desktop
 usr/share/applications/wine-winecfg.desktop"
 
-wine_build_environment_check() {
+wine_compiler_check() {
 	[[ ${MERGE_TYPE} = "binary" ]] && return 0
 
-	# bug #549768
-	if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
-		einfo "Checking for gcc-5 ms_abi compiler bug ..."
-		$(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
-		# Run in subshell to prevent "Aborted" message
-		if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; 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."
-			eerror "See https://bugs.gentoo.org/549768"
-			eerror
-			return 1
+	# GCC-specific bugs
+	if tc-is-gcc; then
+		# bug #549768
+		if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
+			ebegin "Checking for gcc-5 ms_abi compiler bug"
+			$(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
+				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."
+				eerror "See https://bugs.gentoo.org/549768"
+				eerror
+				return 1
+			fi
 		fi
-	fi
-	# bug #574044
-	if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
-		einfo "Checking for gcc-5-3 stack realignment compiler bug ..."
-		# Compile in subshell to prevent "Aborted" message
-		if ! ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${FILESDIR}"/pr69140.c -o "${T}"/pr69140 || false ) >/dev/null 2>&1; 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."
-			eerror "See https://bugs.gentoo.org/574044"
-			eerror
-			return 1
+		# bug #574044
+		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
+				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."
+				eerror "See https://bugs.gentoo.org/574044"
+				eerror
+				return 1
+			fi
 		fi
 	fi
 
+	# Ensure compiler support
 	if use abi_x86_64; then
-		einfo "Checking for builtin_ms_va_list ..."
-		if ( $(tc-getCC) -O2 "${FILESDIR}"/builtin_ms_va_list.c -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) ; then
-			einfo "$(tc-getCC) supports builtin_ms_va_list, enabling 64-bit wine"
-		else
+		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
 			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"
@@ -202,6 +231,10 @@ wine_build_environment_check() {
 			return 1
 		fi
 	fi
+}
+
+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
 		eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
@@ -212,7 +245,19 @@ wine_build_environment_check() {
 }
 
 pkg_pretend() {
+	wine_compiler_check || die
 	wine_build_environment_check || die
+
+	# 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
+			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
+			die
+		fi
+	fi
 }
 
 pkg_setup() {
@@ -256,8 +301,9 @@ 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
-		"${WORKDIR}/${GST_P}.patch"
 		"${FILESDIR}"/${PN}-sysmacros.patch #580046
+		"${FILESDIR}"/${PN}-1.8-gnutls-3.5-compat.patch #587028
+		"${WORKDIR}/${GST_P}.patch"
 	)
 	if use staging; then
 		ewarn "Applying the Wine-Staging patchset. Any bug reports to the"
@@ -415,6 +461,13 @@ multilib_src_install_all() {
 		rm "${D}"usr/bin/{wine{dump,maker},function_grep.pl} "${D}"usr/share/man/man1/wine{dump,maker}.1 || die
 	fi
 
+	# Remove wineconsole if neither backend is installed #551124
+	if ! use X && ! use ncurses; then
+		rm	"${D}"/usr/{bin/,man/man1/}wineconsole* || die
+		use abi_x86_32 && rm "${D}"/usr/lib32/wine/{,fakedlls/}wineconsole.exe* || die
+		use abi_x86_64 && rm "${D}"/usr/lib64/wine/{,fakedlls/}wineconsole.exe* || die
+	fi
+
 	use abi_x86_32 && pax-mark psmr "${D}"usr/bin/wine{,-preloader} #255055
 	use abi_x86_64 && pax-mark psmr "${D}"usr/bin/wine64{,-preloader}
 

diff --git a/app-emulation/wine/wine-1.8.2.ebuild b/app-emulation/wine/wine-1.8.2.ebuild
index 64a4bc5..0da62bb 100644
--- a/app-emulation/wine/wine-1.8.2.ebuild
+++ b/app-emulation/wine/wine-1.8.2.ebuild
@@ -50,11 +50,11 @@ 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 +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"
 REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
-	test? ( abi_x86_32 )
 	elibc_glibc? ( threads )
 	mono? ( abi_x86_32 )
 	pipelight? ( staging )
 	s3tc? ( staging )
+	test? ( abi_x86_32 )
 	vaapi? ( staging )
 	osmesa? ( opengl )" #286560
 
@@ -63,17 +63,6 @@ REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
 RESTRICT="test"
 
 COMMON_DEPEND="
-	truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
-	capi? ( net-dialup/capi4k-utils )
-	ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
-	udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
-	fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
-	gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
-	openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
-	gstreamer? (
-		media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
-		media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
-	)
 	X? (
 		x11-libs/libXcursor[${MULTILIB_USEDEP}]
 		x11-libs/libXext[${MULTILIB_USEDEP}]
@@ -83,34 +72,45 @@ COMMON_DEPEND="
 	)
 	xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
 	alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
+	capi? ( net-dialup/capi4k-utils )
 	cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
-	opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
-	opengl? (
-		virtual/glu[${MULTILIB_USEDEP}]
-		virtual/opengl[${MULTILIB_USEDEP}]
-	)
+	fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
+	gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
 	gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
+	gstreamer? (
+		media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
+		media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
+	)
 	jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
 	ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
 	lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
 	mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
+	ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
 	netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
 	nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
 	odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
+	openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
+	opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
+	opengl? (
+		virtual/glu[${MULTILIB_USEDEP}]
+		virtual/opengl[${MULTILIB_USEDEP}]
+	)
 	osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
 	pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
+	png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
 	pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
 	staging? ( sys-apps/attr[${MULTILIB_USEDEP}] )
-	xml? (
-		dev-libs/libxml2[${MULTILIB_USEDEP}]
-		dev-libs/libxslt[${MULTILIB_USEDEP}]
-	)
 	scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
 	ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
-	png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
+	truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
+	udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
 	v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
 	vaapi? ( x11-libs/libva[X,${MULTILIB_USEDEP}] )
 	xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
+	xml? (
+		dev-libs/libxml2[${MULTILIB_USEDEP}]
+		dev-libs/libxslt[${MULTILIB_USEDEP}]
+	)
 	abi_x86_32? (
 		!app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
 		!<app-emulation/emul-linux-x86-baselibs-20140508-r14
@@ -130,27 +130,35 @@ COMMON_DEPEND="
 
 RDEPEND="${COMMON_DEPEND}
 	dos? ( games-emulation/dosbox )
-	perl? ( dev-lang/perl dev-perl/XML-Simple )
+	perl? (
+		dev-lang/perl
+		dev-perl/XML-Simple
+	)
+	pulseaudio? (
+		realtime? ( sys-auth/rtkit )
+	)
 	s3tc? ( >=media-libs/libtxc_dxtn-1.0.1-r1[${MULTILIB_USEDEP}] )
 	samba? ( >=net-fs/samba-3.0.25[winbind] )
 	selinux? ( sec-policy/selinux-wine )
-	udisks? ( sys-fs/udisks:2 )
-	pulseaudio? ( realtime? ( sys-auth/rtkit ) )"
+	udisks? ( sys-fs/udisks:2 )"
 
 # tools/make_requests requires perl
 DEPEND="${COMMON_DEPEND}
-	staging? ( dev-lang/perl dev-perl/XML-Simple )
+	sys-devel/flex
+	>=sys-kernel/linux-headers-2.6
+	virtual/pkgconfig
+	virtual/yacc
+	prelink? ( sys-devel/prelink )
+	staging? (
+		dev-lang/perl
+		dev-perl/XML-Simple
+	)
 	X? (
 		x11-proto/inputproto
 		x11-proto/xextproto
 		x11-proto/xf86vidmodeproto
 	)
-	xinerama? ( x11-proto/xineramaproto )
-	prelink? ( sys-devel/prelink )
-	>=sys-kernel/linux-headers-2.6
-	virtual/pkgconfig
-	virtual/yacc
-	sys-devel/flex"
+	xinerama? ( x11-proto/xineramaproto )"
 
 # These use a non-standard "Wine" category, which is provided by
 # /etc/xdg/applications-merged/wine.menu
@@ -159,37 +167,41 @@ usr/share/applications/wine-notepad.desktop
 usr/share/applications/wine-uninstaller.desktop
 usr/share/applications/wine-winecfg.desktop"
 
-wine_build_environment_check() {
+wine_compiler_check() {
 	[[ ${MERGE_TYPE} = "binary" ]] && return 0
 
-	# bug #549768
-	if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
-		einfo "Checking for gcc-5 ms_abi compiler bug ..."
-		$(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
-		# Run in subshell to prevent "Aborted" message
-		if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; 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."
-			eerror "See https://bugs.gentoo.org/549768"
-			eerror
-			return 1
+	# GCC-specific bugs
+	if tc-is-gcc; then
+		# bug #549768
+		if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
+			einfo "Checking for gcc-5 ms_abi compiler bug ..."
+			$(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
+			# Run in subshell to prevent "Aborted" message
+			if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; 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."
+				eerror "See https://bugs.gentoo.org/549768"
+				eerror
+				return 1
+			fi
 		fi
-	fi
-	# bug #574044
-	if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
-		einfo "Checking for gcc-5-3 stack realignment compiler bug ..."
-		# Compile in subshell to prevent "Aborted" message
-		if ! ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${FILESDIR}"/pr69140.c -o "${T}"/pr69140 || false ) >/dev/null 2>&1; 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."
-			eerror "See https://bugs.gentoo.org/574044"
-			eerror
-			return 1
+		# bug #574044
+		if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
+			einfo "Checking for gcc-5-3 stack realignment compiler bug ..."
+			# Compile in subshell to prevent "Aborted" message
+			if ! ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${FILESDIR}"/pr69140.c -o "${T}"/pr69140 || false ) >/dev/null 2>&1; 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."
+				eerror "See https://bugs.gentoo.org/574044"
+				eerror
+				return 1
+			fi
 		fi
 	fi
 
+	# Ensure compiler support
 	if use abi_x86_64; then
 		einfo "Checking for builtin_ms_va_list ..."
 		if ( $(tc-getCC) -O2 "${FILESDIR}"/builtin_ms_va_list.c -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) ; then
@@ -202,6 +214,10 @@ wine_build_environment_check() {
 			return 1
 		fi
 	fi
+}
+
+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
 		eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
@@ -212,6 +228,7 @@ wine_build_environment_check() {
 }
 
 pkg_pretend() {
+	wine_compiler_check || die
 	wine_build_environment_check || die
 }
 

diff --git a/app-emulation/wine/wine-1.9.11.ebuild b/app-emulation/wine/wine-1.9.10-r1.ebuild
similarity index 77%
rename from app-emulation/wine/wine-1.9.11.ebuild
rename to app-emulation/wine/wine-1.9.10-r1.ebuild
index 529dfbe..fb182df 100644
--- a/app-emulation/wine/wine-1.9.11.ebuild
+++ b/app-emulation/wine/wine-1.9.10-r1.ebuild
@@ -23,6 +23,8 @@ fi
 
 GV="2.44"
 MV="4.6.2"
+STAGING_GV="2.47-beta1"
+STAGING_MV="4.6.2"
 [[ ${MAJOR_V} == "1.8" ]] && SUFFIX="-unofficial"
 STAGING_P="wine-staging-${PV}"
 STAGING_DIR="${WORKDIR}/${STAGING_P}${SUFFIX}"
@@ -32,11 +34,20 @@ WINE_GENTOO="wine-gentoo-2015.03.07"
 DESCRIPTION="Free implementation of Windows(tm) on Unix"
 HOMEPAGE="http://www.winehq.org/"
 SRC_URI="${SRC_URI}
-	gecko? (
-		abi_x86_32? ( https://dl.winehq.org/wine/wine-gecko/${GV}/wine_gecko-${GV}-x86.msi )
-		abi_x86_64? ( https://dl.winehq.org/wine/wine-gecko/${GV}/wine_gecko-${GV}-x86_64.msi )
+	!staging? (
+		gecko? (
+			abi_x86_32? ( https://dl.winehq.org/wine/wine-gecko/${GV}/wine_gecko-${GV}-x86.msi )
+			abi_x86_64? ( https://dl.winehq.org/wine/wine-gecko/${GV}/wine_gecko-${GV}-x86_64.msi )
+		)
+		mono? ( https://dl.winehq.org/wine/wine-mono/${MV}/wine-mono-${MV}.msi )
+	)
+	staging? (
+		gecko? (
+			abi_x86_32? ( https://dl.winehq.org/wine/wine-gecko/${STAGING_GV}/wine_gecko-${STAGING_GV}-x86.msi )
+			abi_x86_64? ( https://dl.winehq.org/wine/wine-gecko/${STAGING_GV}/wine_gecko-${STAGING_GV}-x86_64.msi )
+		)
+		mono? ( https://dl.winehq.org/wine/wine-mono/${STAGING_MV}/wine-mono-${STAGING_MV}.msi )
 	)
-	mono? ( https://dl.winehq.org/wine/wine-mono/${MV}/wine-mono-${MV}.msi )
 	https://dev.gentoo.org/~tetromino/distfiles/${PN}/${WINE_GENTOO}.tar.bz2"
 
 if [[ ${PV} == "9999" ]] ; then
@@ -50,32 +61,21 @@ 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 +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 +threads +truetype +udisks v4l vaapi +X +xcomposite xinerama +xml"
 REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
-	test? ( abi_x86_32 )
+	X? ( truetype )
 	elibc_glibc? ( threads )
+	osmesa? ( opengl )
 	pipelight? ( staging )
 	s3tc? ( staging )
-	vaapi? ( staging )
-	osmesa? ( opengl )" #286560
+	test? ( abi_x86_32 )
+	vaapi? ( staging )" # osmesa-opengl #286560 # X-truetype #551124
 
 # FIXME: the test suite is unsuitable for us; many tests require net access
 # or fail due to Xvfb's opengl limitations.
 RESTRICT="test"
 
 COMMON_DEPEND="
-	truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
-	capi? ( net-dialup/capi4k-utils )
-	d3d9? ( media-libs/mesa[d3d9,${MULTILIB_USEDEP}] )
-	ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
-	udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
-	fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
-	gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
-	openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
-	gstreamer? (
-		media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
-		media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
-	)
 	X? (
 		x11-libs/libXcursor[${MULTILIB_USEDEP}]
 		x11-libs/libXext[${MULTILIB_USEDEP}]
@@ -83,36 +83,48 @@ COMMON_DEPEND="
 		x11-libs/libXi[${MULTILIB_USEDEP}]
 		x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
 	)
-	xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
 	alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
+	capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
 	cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
-	opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
-	opengl? (
-		virtual/glu[${MULTILIB_USEDEP}]
-		virtual/opengl[${MULTILIB_USEDEP}]
-	)
+	d3d9? ( media-libs/mesa[d3d9,${MULTILIB_USEDEP}] )
+	fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
+	gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
 	gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
+	gstreamer? (
+		media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
+		media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
+	)
 	jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
-	ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
 	lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
+	ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
 	mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
+	ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
 	netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
 	nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
 	odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
+	openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
+	opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
+	opengl? (
+		virtual/glu[${MULTILIB_USEDEP}]
+		virtual/opengl[${MULTILIB_USEDEP}]
+	)
 	osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
 	pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
+	png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
 	pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
-	staging? ( sys-apps/attr[${MULTILIB_USEDEP}] )
-	xml? (
-		dev-libs/libxml2[${MULTILIB_USEDEP}]
-		dev-libs/libxslt[${MULTILIB_USEDEP}]
-	)
 	scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
 	ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
-	png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
+	staging? ( sys-apps/attr[${MULTILIB_USEDEP}] )
+	truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
+	udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
 	v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
 	vaapi? ( x11-libs/libva[X,${MULTILIB_USEDEP}] )
 	xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
+	xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
+	xml? (
+		dev-libs/libxml2[${MULTILIB_USEDEP}]
+		dev-libs/libxslt[${MULTILIB_USEDEP}]
+	)
 	abi_x86_32? (
 		!app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
 		!<app-emulation/emul-linux-x86-baselibs-20140508-r14
@@ -131,28 +143,36 @@ COMMON_DEPEND="
 	)"
 
 RDEPEND="${COMMON_DEPEND}
-	dos? ( games-emulation/dosbox )
-	perl? ( dev-lang/perl dev-perl/XML-Simple )
+	dos? ( >=games-emulation/dosbox-0.74_p20160629 )
+	perl? (
+		dev-lang/perl
+		dev-perl/XML-Simple
+	)
+	pulseaudio? (
+		realtime? ( sys-auth/rtkit )
+	)
 	s3tc? ( >=media-libs/libtxc_dxtn-1.0.1-r1[${MULTILIB_USEDEP}] )
 	samba? ( >=net-fs/samba-3.0.25[winbind] )
 	selinux? ( sec-policy/selinux-wine )
-	udisks? ( sys-fs/udisks:2 )
-	pulseaudio? ( realtime? ( sys-auth/rtkit ) )"
+	udisks? ( sys-fs/udisks:2 )"
 
 # tools/make_requests requires perl
 DEPEND="${COMMON_DEPEND}
-	staging? ( dev-lang/perl dev-perl/XML-Simple )
+	sys-devel/flex
+	>=sys-kernel/linux-headers-2.6
+	virtual/pkgconfig
+	virtual/yacc
 	X? (
 		x11-proto/inputproto
 		x11-proto/xextproto
 		x11-proto/xf86vidmodeproto
 	)
-	xinerama? ( x11-proto/xineramaproto )
 	prelink? ( sys-devel/prelink )
-	>=sys-kernel/linux-headers-2.6
-	virtual/pkgconfig
-	virtual/yacc
-	sys-devel/flex"
+	staging? (
+		dev-lang/perl
+		dev-perl/XML-Simple
+	)
+	xinerama? ( x11-proto/xineramaproto )"
 
 # These use a non-standard "Wine" category, which is provided by
 # /etc/xdg/applications-merged/wine.menu
@@ -161,42 +181,51 @@ usr/share/applications/wine-notepad.desktop
 usr/share/applications/wine-uninstaller.desktop
 usr/share/applications/wine-winecfg.desktop"
 
-wine_build_environment_check() {
+wine_compiler_check() {
 	[[ ${MERGE_TYPE} = "binary" ]] && return 0
 
-	# bug #549768
-	if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
-		einfo "Checking for gcc-5 ms_abi compiler bug ..."
-		$(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
-		# Run in subshell to prevent "Aborted" message
-		if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; 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."
-			eerror "See https://bugs.gentoo.org/549768"
-			eerror
-			return 1
+	# GCC-specific bugs
+	if tc-is-gcc; then
+		# bug #549768
+		if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
+			ebegin "Checking for gcc-5 ms_abi compiler bug"
+			$(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
+				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."
+				eerror "See https://bugs.gentoo.org/549768"
+				eerror
+				return 1
+			fi
 		fi
-	fi
-	# bug #574044
-	if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
-		einfo "Checking for gcc-5-3 stack realignment compiler bug ..."
-		# Compile in subshell to prevent "Aborted" message
-		if ! ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${FILESDIR}"/pr69140.c -o "${T}"/pr69140 || false ) >/dev/null 2>&1; 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."
-			eerror "See https://bugs.gentoo.org/574044"
-			eerror
-			return 1
+		# bug #574044
+		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
+				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."
+				eerror "See https://bugs.gentoo.org/574044"
+				eerror
+				return 1
+			fi
 		fi
 	fi
 
+	# Ensure compiler support
 	if use abi_x86_64; then
-		einfo "Checking for builtin_ms_va_list ..."
-		if ( $(tc-getCC) -O2 "${FILESDIR}"/builtin_ms_va_list.c -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) ; then
-			einfo "$(tc-getCC) supports builtin_ms_va_list, enabling 64-bit wine"
-		else
+		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
 			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"
@@ -204,6 +233,10 @@ wine_build_environment_check() {
 			return 1
 		fi
 	fi
+}
+
+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
 		eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
@@ -214,7 +247,19 @@ wine_build_environment_check() {
 }
 
 pkg_pretend() {
+	wine_compiler_check || die
 	wine_build_environment_check || die
+
+	# 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
+			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
+			die
+		fi
+	fi
 }
 
 pkg_setup() {
@@ -263,6 +308,7 @@ 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}-1.8-gnutls-3.5-compat.patch #587028
 	)
 	if use staging; then
 		ewarn "Applying the Wine-Staging patchset. Any bug reports to the"
@@ -429,6 +475,13 @@ multilib_src_install_all() {
 		rm "${D}"usr/bin/{wine{dump,maker},function_grep.pl} "${D}"usr/share/man/man1/wine{dump,maker}.1 || die
 	fi
 
+	# Remove wineconsole if neither backend is installed #551124
+	if ! use X && ! use ncurses; then
+		rm	"${D}"/usr/{bin/,man/man1/}wineconsole* || die
+		use abi_x86_32 && rm "${D}"/usr/lib32/wine/{,fakedlls/}wineconsole.exe* || die
+		use abi_x86_64 && rm "${D}"/usr/lib64/wine/{,fakedlls/}wineconsole.exe* || die
+	fi
+
 	use abi_x86_32 && pax-mark psmr "${D}"usr/bin/wine{,-preloader} #255055
 	use abi_x86_64 && pax-mark psmr "${D}"usr/bin/wine64{,-preloader}
 

diff --git a/app-emulation/wine/wine-1.9.9.ebuild b/app-emulation/wine/wine-1.9.11-r1.ebuild
similarity index 77%
rename from app-emulation/wine/wine-1.9.9.ebuild
rename to app-emulation/wine/wine-1.9.11-r1.ebuild
index 529dfbe..fb182df 100644
--- a/app-emulation/wine/wine-1.9.9.ebuild
+++ b/app-emulation/wine/wine-1.9.11-r1.ebuild
@@ -23,6 +23,8 @@ fi
 
 GV="2.44"
 MV="4.6.2"
+STAGING_GV="2.47-beta1"
+STAGING_MV="4.6.2"
 [[ ${MAJOR_V} == "1.8" ]] && SUFFIX="-unofficial"
 STAGING_P="wine-staging-${PV}"
 STAGING_DIR="${WORKDIR}/${STAGING_P}${SUFFIX}"
@@ -32,11 +34,20 @@ WINE_GENTOO="wine-gentoo-2015.03.07"
 DESCRIPTION="Free implementation of Windows(tm) on Unix"
 HOMEPAGE="http://www.winehq.org/"
 SRC_URI="${SRC_URI}
-	gecko? (
-		abi_x86_32? ( https://dl.winehq.org/wine/wine-gecko/${GV}/wine_gecko-${GV}-x86.msi )
-		abi_x86_64? ( https://dl.winehq.org/wine/wine-gecko/${GV}/wine_gecko-${GV}-x86_64.msi )
+	!staging? (
+		gecko? (
+			abi_x86_32? ( https://dl.winehq.org/wine/wine-gecko/${GV}/wine_gecko-${GV}-x86.msi )
+			abi_x86_64? ( https://dl.winehq.org/wine/wine-gecko/${GV}/wine_gecko-${GV}-x86_64.msi )
+		)
+		mono? ( https://dl.winehq.org/wine/wine-mono/${MV}/wine-mono-${MV}.msi )
+	)
+	staging? (
+		gecko? (
+			abi_x86_32? ( https://dl.winehq.org/wine/wine-gecko/${STAGING_GV}/wine_gecko-${STAGING_GV}-x86.msi )
+			abi_x86_64? ( https://dl.winehq.org/wine/wine-gecko/${STAGING_GV}/wine_gecko-${STAGING_GV}-x86_64.msi )
+		)
+		mono? ( https://dl.winehq.org/wine/wine-mono/${STAGING_MV}/wine-mono-${STAGING_MV}.msi )
 	)
-	mono? ( https://dl.winehq.org/wine/wine-mono/${MV}/wine-mono-${MV}.msi )
 	https://dev.gentoo.org/~tetromino/distfiles/${PN}/${WINE_GENTOO}.tar.bz2"
 
 if [[ ${PV} == "9999" ]] ; then
@@ -50,32 +61,21 @@ 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 +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 +threads +truetype +udisks v4l vaapi +X +xcomposite xinerama +xml"
 REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
-	test? ( abi_x86_32 )
+	X? ( truetype )
 	elibc_glibc? ( threads )
+	osmesa? ( opengl )
 	pipelight? ( staging )
 	s3tc? ( staging )
-	vaapi? ( staging )
-	osmesa? ( opengl )" #286560
+	test? ( abi_x86_32 )
+	vaapi? ( staging )" # osmesa-opengl #286560 # X-truetype #551124
 
 # FIXME: the test suite is unsuitable for us; many tests require net access
 # or fail due to Xvfb's opengl limitations.
 RESTRICT="test"
 
 COMMON_DEPEND="
-	truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
-	capi? ( net-dialup/capi4k-utils )
-	d3d9? ( media-libs/mesa[d3d9,${MULTILIB_USEDEP}] )
-	ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
-	udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
-	fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
-	gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
-	openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
-	gstreamer? (
-		media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
-		media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
-	)
 	X? (
 		x11-libs/libXcursor[${MULTILIB_USEDEP}]
 		x11-libs/libXext[${MULTILIB_USEDEP}]
@@ -83,36 +83,48 @@ COMMON_DEPEND="
 		x11-libs/libXi[${MULTILIB_USEDEP}]
 		x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
 	)
-	xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
 	alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
+	capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
 	cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
-	opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
-	opengl? (
-		virtual/glu[${MULTILIB_USEDEP}]
-		virtual/opengl[${MULTILIB_USEDEP}]
-	)
+	d3d9? ( media-libs/mesa[d3d9,${MULTILIB_USEDEP}] )
+	fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
+	gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
 	gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
+	gstreamer? (
+		media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
+		media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
+	)
 	jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
-	ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
 	lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
+	ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
 	mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
+	ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
 	netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
 	nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
 	odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
+	openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
+	opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
+	opengl? (
+		virtual/glu[${MULTILIB_USEDEP}]
+		virtual/opengl[${MULTILIB_USEDEP}]
+	)
 	osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
 	pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
+	png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
 	pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
-	staging? ( sys-apps/attr[${MULTILIB_USEDEP}] )
-	xml? (
-		dev-libs/libxml2[${MULTILIB_USEDEP}]
-		dev-libs/libxslt[${MULTILIB_USEDEP}]
-	)
 	scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
 	ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
-	png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
+	staging? ( sys-apps/attr[${MULTILIB_USEDEP}] )
+	truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
+	udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
 	v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
 	vaapi? ( x11-libs/libva[X,${MULTILIB_USEDEP}] )
 	xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
+	xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
+	xml? (
+		dev-libs/libxml2[${MULTILIB_USEDEP}]
+		dev-libs/libxslt[${MULTILIB_USEDEP}]
+	)
 	abi_x86_32? (
 		!app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
 		!<app-emulation/emul-linux-x86-baselibs-20140508-r14
@@ -131,28 +143,36 @@ COMMON_DEPEND="
 	)"
 
 RDEPEND="${COMMON_DEPEND}
-	dos? ( games-emulation/dosbox )
-	perl? ( dev-lang/perl dev-perl/XML-Simple )
+	dos? ( >=games-emulation/dosbox-0.74_p20160629 )
+	perl? (
+		dev-lang/perl
+		dev-perl/XML-Simple
+	)
+	pulseaudio? (
+		realtime? ( sys-auth/rtkit )
+	)
 	s3tc? ( >=media-libs/libtxc_dxtn-1.0.1-r1[${MULTILIB_USEDEP}] )
 	samba? ( >=net-fs/samba-3.0.25[winbind] )
 	selinux? ( sec-policy/selinux-wine )
-	udisks? ( sys-fs/udisks:2 )
-	pulseaudio? ( realtime? ( sys-auth/rtkit ) )"
+	udisks? ( sys-fs/udisks:2 )"
 
 # tools/make_requests requires perl
 DEPEND="${COMMON_DEPEND}
-	staging? ( dev-lang/perl dev-perl/XML-Simple )
+	sys-devel/flex
+	>=sys-kernel/linux-headers-2.6
+	virtual/pkgconfig
+	virtual/yacc
 	X? (
 		x11-proto/inputproto
 		x11-proto/xextproto
 		x11-proto/xf86vidmodeproto
 	)
-	xinerama? ( x11-proto/xineramaproto )
 	prelink? ( sys-devel/prelink )
-	>=sys-kernel/linux-headers-2.6
-	virtual/pkgconfig
-	virtual/yacc
-	sys-devel/flex"
+	staging? (
+		dev-lang/perl
+		dev-perl/XML-Simple
+	)
+	xinerama? ( x11-proto/xineramaproto )"
 
 # These use a non-standard "Wine" category, which is provided by
 # /etc/xdg/applications-merged/wine.menu
@@ -161,42 +181,51 @@ usr/share/applications/wine-notepad.desktop
 usr/share/applications/wine-uninstaller.desktop
 usr/share/applications/wine-winecfg.desktop"
 
-wine_build_environment_check() {
+wine_compiler_check() {
 	[[ ${MERGE_TYPE} = "binary" ]] && return 0
 
-	# bug #549768
-	if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
-		einfo "Checking for gcc-5 ms_abi compiler bug ..."
-		$(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
-		# Run in subshell to prevent "Aborted" message
-		if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; 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."
-			eerror "See https://bugs.gentoo.org/549768"
-			eerror
-			return 1
+	# GCC-specific bugs
+	if tc-is-gcc; then
+		# bug #549768
+		if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
+			ebegin "Checking for gcc-5 ms_abi compiler bug"
+			$(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
+				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."
+				eerror "See https://bugs.gentoo.org/549768"
+				eerror
+				return 1
+			fi
 		fi
-	fi
-	# bug #574044
-	if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
-		einfo "Checking for gcc-5-3 stack realignment compiler bug ..."
-		# Compile in subshell to prevent "Aborted" message
-		if ! ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${FILESDIR}"/pr69140.c -o "${T}"/pr69140 || false ) >/dev/null 2>&1; 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."
-			eerror "See https://bugs.gentoo.org/574044"
-			eerror
-			return 1
+		# bug #574044
+		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
+				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."
+				eerror "See https://bugs.gentoo.org/574044"
+				eerror
+				return 1
+			fi
 		fi
 	fi
 
+	# Ensure compiler support
 	if use abi_x86_64; then
-		einfo "Checking for builtin_ms_va_list ..."
-		if ( $(tc-getCC) -O2 "${FILESDIR}"/builtin_ms_va_list.c -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) ; then
-			einfo "$(tc-getCC) supports builtin_ms_va_list, enabling 64-bit wine"
-		else
+		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
 			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"
@@ -204,6 +233,10 @@ wine_build_environment_check() {
 			return 1
 		fi
 	fi
+}
+
+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
 		eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
@@ -214,7 +247,19 @@ wine_build_environment_check() {
 }
 
 pkg_pretend() {
+	wine_compiler_check || die
 	wine_build_environment_check || die
+
+	# 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
+			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
+			die
+		fi
+	fi
 }
 
 pkg_setup() {
@@ -263,6 +308,7 @@ 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}-1.8-gnutls-3.5-compat.patch #587028
 	)
 	if use staging; then
 		ewarn "Applying the Wine-Staging patchset. Any bug reports to the"
@@ -429,6 +475,13 @@ multilib_src_install_all() {
 		rm "${D}"usr/bin/{wine{dump,maker},function_grep.pl} "${D}"usr/share/man/man1/wine{dump,maker}.1 || die
 	fi
 
+	# Remove wineconsole if neither backend is installed #551124
+	if ! use X && ! use ncurses; then
+		rm	"${D}"/usr/{bin/,man/man1/}wineconsole* || die
+		use abi_x86_32 && rm "${D}"/usr/lib32/wine/{,fakedlls/}wineconsole.exe* || die
+		use abi_x86_64 && rm "${D}"/usr/lib64/wine/{,fakedlls/}wineconsole.exe* || die
+	fi
+
 	use abi_x86_32 && pax-mark psmr "${D}"usr/bin/wine{,-preloader} #255055
 	use abi_x86_64 && pax-mark psmr "${D}"usr/bin/wine64{,-preloader}
 

diff --git a/app-emulation/wine/wine-1.9.4-r1.ebuild b/app-emulation/wine/wine-1.9.4-r2.ebuild
similarity index 76%
rename from app-emulation/wine/wine-1.9.4-r1.ebuild
rename to app-emulation/wine/wine-1.9.4-r2.ebuild
index 44b40e1..e63c554 100644
--- a/app-emulation/wine/wine-1.9.4-r1.ebuild
+++ b/app-emulation/wine/wine-1.9.4-r2.ebuild
@@ -23,6 +23,8 @@ fi
 
 GV="2.44"
 MV="4.5.6"
+STAGING_GV="2.44"
+STAGING_MV="4.5.6"
 [[ ${MAJOR_V} == "1.8" ]] && SUFFIX="-unofficial"
 STAGING_P="wine-staging-${PV}"
 STAGING_DIR="${WORKDIR}/${STAGING_P}${SUFFIX}"
@@ -30,11 +32,20 @@ WINE_GENTOO="wine-gentoo-2015.03.07"
 DESCRIPTION="Free implementation of Windows(tm) on Unix"
 HOMEPAGE="http://www.winehq.org/"
 SRC_URI="${SRC_URI}
-	gecko? (
-		abi_x86_32? ( https://dl.winehq.org/wine/wine-gecko/${GV}/wine_gecko-${GV}-x86.msi )
-		abi_x86_64? ( https://dl.winehq.org/wine/wine-gecko/${GV}/wine_gecko-${GV}-x86_64.msi )
+	!staging? (
+		gecko? (
+			abi_x86_32? ( https://dl.winehq.org/wine/wine-gecko/${GV}/wine_gecko-${GV}-x86.msi )
+			abi_x86_64? ( https://dl.winehq.org/wine/wine-gecko/${GV}/wine_gecko-${GV}-x86_64.msi )
+		)
+		mono? ( https://dl.winehq.org/wine/wine-mono/${MV}/wine-mono-${MV}.msi )
+	)
+	staging? (
+		gecko? (
+			abi_x86_32? ( https://dl.winehq.org/wine/wine-gecko/${STAGING_GV}/wine_gecko-${STAGING_GV}-x86.msi )
+			abi_x86_64? ( https://dl.winehq.org/wine/wine-gecko/${STAGING_GV}/wine_gecko-${STAGING_GV}-x86_64.msi )
+		)
+		mono? ( https://dl.winehq.org/wine/wine-mono/${STAGING_MV}/wine-mono-${STAGING_MV}.msi )
 	)
-	mono? ( https://dl.winehq.org/wine/wine-mono/${MV}/wine-mono-${MV}.msi )
 	https://dev.gentoo.org/~tetromino/distfiles/${PN}/${WINE_GENTOO}.tar.bz2"
 
 if [[ ${PV} == "9999" ]] ; then
@@ -46,32 +57,22 @@ 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 +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 +threads +truetype +udisks v4l vaapi +X +xcomposite xinerama +xml"
 REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
-	test? ( abi_x86_32 )
+	X? ( truetype )
 	elibc_glibc? ( threads )
 	mono? ( abi_x86_32 )
+	osmesa? ( opengl )
 	pipelight? ( staging )
 	s3tc? ( staging )
-	vaapi? ( staging )
-	osmesa? ( opengl )" #286560
+	test? ( abi_x86_32 )
+	vaapi? ( staging )" # osmesa-opengl #286560 # X-truetype #551124
 
 # FIXME: the test suite is unsuitable for us; many tests require net access
 # or fail due to Xvfb's opengl limitations.
 RESTRICT="test"
 
 COMMON_DEPEND="
-	truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
-	capi? ( net-dialup/capi4k-utils )
-	ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
-	udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
-	fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
-	gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
-	openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
-	gstreamer? (
-		media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
-		media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
-	)
 	X? (
 		x11-libs/libXcursor[${MULTILIB_USEDEP}]
 		x11-libs/libXext[${MULTILIB_USEDEP}]
@@ -79,36 +80,47 @@ COMMON_DEPEND="
 		x11-libs/libXi[${MULTILIB_USEDEP}]
 		x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
 	)
-	xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
 	alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
+	capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
 	cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
-	opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
-	opengl? (
-		virtual/glu[${MULTILIB_USEDEP}]
-		virtual/opengl[${MULTILIB_USEDEP}]
-	)
+	fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
+	gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
 	gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
+	gstreamer? (
+		media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
+		media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
+	)
 	jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
-	ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
 	lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
+	ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
 	mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
+	ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
 	netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
 	nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
 	odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
+	openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
+	opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
+	opengl? (
+		virtual/glu[${MULTILIB_USEDEP}]
+		virtual/opengl[${MULTILIB_USEDEP}]
+	)
 	osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
 	pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
+	png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
 	pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
-	staging? ( sys-apps/attr[${MULTILIB_USEDEP}] )
-	xml? (
-		dev-libs/libxml2[${MULTILIB_USEDEP}]
-		dev-libs/libxslt[${MULTILIB_USEDEP}]
-	)
 	scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
 	ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
-	png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
+	staging? ( sys-apps/attr[${MULTILIB_USEDEP}] )
+	truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
+	udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
 	v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
 	vaapi? ( x11-libs/libva[X,${MULTILIB_USEDEP}] )
 	xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
+	xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
+	xml? (
+		dev-libs/libxml2[${MULTILIB_USEDEP}]
+		dev-libs/libxslt[${MULTILIB_USEDEP}]
+	)
 	abi_x86_32? (
 		!app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
 		!<app-emulation/emul-linux-x86-baselibs-20140508-r14
@@ -127,28 +139,36 @@ COMMON_DEPEND="
 	)"
 
 RDEPEND="${COMMON_DEPEND}
-	dos? ( games-emulation/dosbox )
-	perl? ( dev-lang/perl dev-perl/XML-Simple )
+	dos? ( >=games-emulation/dosbox-0.74_p20160629 )
+	perl? (
+		dev-lang/perl
+		dev-perl/XML-Simple
+	)
+	pulseaudio? (
+		realtime? ( sys-auth/rtkit )
+	)
 	s3tc? ( >=media-libs/libtxc_dxtn-1.0.1-r1[${MULTILIB_USEDEP}] )
 	samba? ( >=net-fs/samba-3.0.25[winbind] )
 	selinux? ( sec-policy/selinux-wine )
-	udisks? ( sys-fs/udisks:2 )
-	pulseaudio? ( realtime? ( sys-auth/rtkit ) )"
+	udisks? ( sys-fs/udisks:2 )"
 
 # tools/make_requests requires perl
 DEPEND="${COMMON_DEPEND}
-	staging? ( dev-lang/perl dev-perl/XML-Simple )
+	sys-devel/flex
+	>=sys-kernel/linux-headers-2.6
+	virtual/pkgconfig
+	virtual/yacc
 	X? (
 		x11-proto/inputproto
 		x11-proto/xextproto
 		x11-proto/xf86vidmodeproto
 	)
-	xinerama? ( x11-proto/xineramaproto )
 	prelink? ( sys-devel/prelink )
-	>=sys-kernel/linux-headers-2.6
-	virtual/pkgconfig
-	virtual/yacc
-	sys-devel/flex"
+	staging? (
+		dev-lang/perl
+		dev-perl/XML-Simple
+	)
+	xinerama? ( x11-proto/xineramaproto )"
 
 # These use a non-standard "Wine" category, which is provided by
 # /etc/xdg/applications-merged/wine.menu
@@ -157,42 +177,51 @@ usr/share/applications/wine-notepad.desktop
 usr/share/applications/wine-uninstaller.desktop
 usr/share/applications/wine-winecfg.desktop"
 
-wine_build_environment_check() {
+wine_compiler_check() {
 	[[ ${MERGE_TYPE} = "binary" ]] && return 0
 
-	# bug #549768
-	if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
-		einfo "Checking for gcc-5 ms_abi compiler bug ..."
-		$(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
-		# Run in subshell to prevent "Aborted" message
-		if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; 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."
-			eerror "See https://bugs.gentoo.org/549768"
-			eerror
-			return 1
+	# GCC-specific bugs
+	if tc-is-gcc; then
+		# bug #549768
+		if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
+			ebegin "Checking for gcc-5 ms_abi compiler bug"
+			$(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
+				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."
+				eerror "See https://bugs.gentoo.org/549768"
+				eerror
+				return 1
+			fi
 		fi
-	fi
-	# bug #574044
-	if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
-		einfo "Checking for gcc-5-3 stack realignment compiler bug ..."
-		# Compile in subshell to prevent "Aborted" message
-		if ! ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${FILESDIR}"/pr69140.c -o "${T}"/pr69140 || false ) >/dev/null 2>&1; 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."
-			eerror "See https://bugs.gentoo.org/574044"
-			eerror
-			return 1
+		# bug #574044
+		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
+				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."
+				eerror "See https://bugs.gentoo.org/574044"
+				eerror
+				return 1
+			fi
 		fi
 	fi
 
+	# Ensure compiler support
 	if use abi_x86_64; then
-		einfo "Checking for builtin_ms_va_list ..."
-		if ( $(tc-getCC) -O2 "${FILESDIR}"/builtin_ms_va_list.c -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) ; then
-			einfo "$(tc-getCC) supports builtin_ms_va_list, enabling 64-bit wine"
-		else
+		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
 			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"
@@ -200,6 +229,10 @@ wine_build_environment_check() {
 			return 1
 		fi
 	fi
+}
+
+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
 		eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
@@ -210,7 +243,19 @@ wine_build_environment_check() {
 }
 
 pkg_pretend() {
+	wine_compiler_check || die
 	wine_build_environment_check || die
+
+	# 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
+			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
+			die
+		fi
+	fi
 }
 
 pkg_setup() {
@@ -254,6 +299,7 @@ src_prepare() {
 		"${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
 	)
 	if use staging; then
 		ewarn "Applying the Wine-Staging patchset. Any bug reports to the"
@@ -411,6 +457,13 @@ multilib_src_install_all() {
 		rm "${D}"usr/bin/{wine{dump,maker},function_grep.pl} "${D}"usr/share/man/man1/wine{dump,maker}.1 || die
 	fi
 
+	# Remove wineconsole if neither backend is installed #551124
+	if ! use X && ! use ncurses; then
+		rm	"${D}"/usr/{bin/,man/man1/}wineconsole* || die
+		use abi_x86_32 && rm "${D}"/usr/lib32/wine/{,fakedlls/}wineconsole.exe* || die
+		use abi_x86_64 && rm "${D}"/usr/lib64/wine/{,fakedlls/}wineconsole.exe* || die
+	fi
+
 	use abi_x86_32 && pax-mark psmr "${D}"usr/bin/wine{,-preloader} #255055
 	use abi_x86_64 && pax-mark psmr "${D}"usr/bin/wine64{,-preloader}
 

diff --git a/app-emulation/wine/wine-1.9.5-r1.ebuild b/app-emulation/wine/wine-1.9.5-r2.ebuild
similarity index 76%
rename from app-emulation/wine/wine-1.9.5-r1.ebuild
rename to app-emulation/wine/wine-1.9.5-r2.ebuild
index c42e24d..48e5cdc 100644
--- a/app-emulation/wine/wine-1.9.5-r1.ebuild
+++ b/app-emulation/wine/wine-1.9.5-r2.ebuild
@@ -23,6 +23,8 @@ fi
 
 GV="2.44"
 MV="4.6.0"
+STAGING_GV="2.44"
+STAGING_MV="4.6.0"
 [[ ${MAJOR_V} == "1.8" ]] && SUFFIX="-unofficial"
 STAGING_P="wine-staging-${PV}"
 STAGING_DIR="${WORKDIR}/${STAGING_P}${SUFFIX}"
@@ -30,11 +32,20 @@ WINE_GENTOO="wine-gentoo-2015.03.07"
 DESCRIPTION="Free implementation of Windows(tm) on Unix"
 HOMEPAGE="http://www.winehq.org/"
 SRC_URI="${SRC_URI}
-	gecko? (
-		abi_x86_32? ( https://dl.winehq.org/wine/wine-gecko/${GV}/wine_gecko-${GV}-x86.msi )
-		abi_x86_64? ( https://dl.winehq.org/wine/wine-gecko/${GV}/wine_gecko-${GV}-x86_64.msi )
+	!staging? (
+		gecko? (
+			abi_x86_32? ( https://dl.winehq.org/wine/wine-gecko/${GV}/wine_gecko-${GV}-x86.msi )
+			abi_x86_64? ( https://dl.winehq.org/wine/wine-gecko/${GV}/wine_gecko-${GV}-x86_64.msi )
+		)
+		mono? ( https://dl.winehq.org/wine/wine-mono/${MV}/wine-mono-${MV}.msi )
+	)
+	staging? (
+		gecko? (
+			abi_x86_32? ( https://dl.winehq.org/wine/wine-gecko/${STAGING_GV}/wine_gecko-${STAGING_GV}-x86.msi )
+			abi_x86_64? ( https://dl.winehq.org/wine/wine-gecko/${STAGING_GV}/wine_gecko-${STAGING_GV}-x86_64.msi )
+		)
+		mono? ( https://dl.winehq.org/wine/wine-mono/${STAGING_MV}/wine-mono-${STAGING_MV}.msi )
 	)
-	mono? ( https://dl.winehq.org/wine/wine-mono/${MV}/wine-mono-${MV}.msi )
 	https://dev.gentoo.org/~tetromino/distfiles/${PN}/${WINE_GENTOO}.tar.bz2"
 
 if [[ ${PV} == "9999" ]] ; then
@@ -46,31 +57,21 @@ 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 +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 +threads +truetype +udisks v4l vaapi +X +xcomposite xinerama +xml"
 REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
-	test? ( abi_x86_32 )
+	X? ( truetype )
 	elibc_glibc? ( threads )
+	osmesa? ( opengl )
 	pipelight? ( staging )
 	s3tc? ( staging )
-	vaapi? ( staging )
-	osmesa? ( opengl )" #286560
+	test? ( abi_x86_32 )
+	vaapi? ( staging )" # osmesa-opengl #286560 # X-truetype #551124
 
 # FIXME: the test suite is unsuitable for us; many tests require net access
 # or fail due to Xvfb's opengl limitations.
 RESTRICT="test"
 
 COMMON_DEPEND="
-	truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
-	capi? ( net-dialup/capi4k-utils )
-	ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
-	udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
-	fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
-	gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
-	openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
-	gstreamer? (
-		media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
-		media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
-	)
 	X? (
 		x11-libs/libXcursor[${MULTILIB_USEDEP}]
 		x11-libs/libXext[${MULTILIB_USEDEP}]
@@ -78,36 +79,47 @@ COMMON_DEPEND="
 		x11-libs/libXi[${MULTILIB_USEDEP}]
 		x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
 	)
-	xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
 	alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
+	capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
 	cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
-	opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
-	opengl? (
-		virtual/glu[${MULTILIB_USEDEP}]
-		virtual/opengl[${MULTILIB_USEDEP}]
-	)
+	fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
+	gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
 	gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
+	gstreamer? (
+		media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
+		media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
+	)
 	jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
-	ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
 	lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
+	ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
 	mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
+	ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
 	netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
 	nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
 	odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
+	openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
+	opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
+	opengl? (
+		virtual/glu[${MULTILIB_USEDEP}]
+		virtual/opengl[${MULTILIB_USEDEP}]
+	)
 	osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
 	pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
+	png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
 	pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
-	staging? ( sys-apps/attr[${MULTILIB_USEDEP}] )
-	xml? (
-		dev-libs/libxml2[${MULTILIB_USEDEP}]
-		dev-libs/libxslt[${MULTILIB_USEDEP}]
-	)
 	scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
 	ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
-	png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
+	staging? ( sys-apps/attr[${MULTILIB_USEDEP}] )
+	truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
+	udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
 	v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
 	vaapi? ( x11-libs/libva[X,${MULTILIB_USEDEP}] )
 	xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
+	xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
+	xml? (
+		dev-libs/libxml2[${MULTILIB_USEDEP}]
+		dev-libs/libxslt[${MULTILIB_USEDEP}]
+	)
 	abi_x86_32? (
 		!app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
 		!<app-emulation/emul-linux-x86-baselibs-20140508-r14
@@ -126,28 +138,36 @@ COMMON_DEPEND="
 	)"
 
 RDEPEND="${COMMON_DEPEND}
-	dos? ( games-emulation/dosbox )
-	perl? ( dev-lang/perl dev-perl/XML-Simple )
+	dos? ( >=games-emulation/dosbox-0.74_p20160629 )
+	perl? (
+		dev-lang/perl
+		dev-perl/XML-Simple
+	)
+	pulseaudio? (
+		realtime? ( sys-auth/rtkit )
+	)
 	s3tc? ( >=media-libs/libtxc_dxtn-1.0.1-r1[${MULTILIB_USEDEP}] )
 	samba? ( >=net-fs/samba-3.0.25[winbind] )
 	selinux? ( sec-policy/selinux-wine )
-	udisks? ( sys-fs/udisks:2 )
-	pulseaudio? ( realtime? ( sys-auth/rtkit ) )"
+	udisks? ( sys-fs/udisks:2 )"
 
 # tools/make_requests requires perl
 DEPEND="${COMMON_DEPEND}
-	staging? ( dev-lang/perl dev-perl/XML-Simple )
+	sys-devel/flex
+	>=sys-kernel/linux-headers-2.6
+	virtual/pkgconfig
+	virtual/yacc
 	X? (
 		x11-proto/inputproto
 		x11-proto/xextproto
 		x11-proto/xf86vidmodeproto
 	)
-	xinerama? ( x11-proto/xineramaproto )
 	prelink? ( sys-devel/prelink )
-	>=sys-kernel/linux-headers-2.6
-	virtual/pkgconfig
-	virtual/yacc
-	sys-devel/flex"
+	staging? (
+		dev-lang/perl
+		dev-perl/XML-Simple
+	)
+	xinerama? ( x11-proto/xineramaproto )"
 
 # These use a non-standard "Wine" category, which is provided by
 # /etc/xdg/applications-merged/wine.menu
@@ -156,42 +176,51 @@ usr/share/applications/wine-notepad.desktop
 usr/share/applications/wine-uninstaller.desktop
 usr/share/applications/wine-winecfg.desktop"
 
-wine_build_environment_check() {
+wine_compiler_check() {
 	[[ ${MERGE_TYPE} = "binary" ]] && return 0
 
-	# bug #549768
-	if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
-		einfo "Checking for gcc-5 ms_abi compiler bug ..."
-		$(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
-		# Run in subshell to prevent "Aborted" message
-		if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; 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."
-			eerror "See https://bugs.gentoo.org/549768"
-			eerror
-			return 1
+	# GCC-specific bugs
+	if tc-is-gcc; then
+		# bug #549768
+		if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
+			ebegin "Checking for gcc-5 ms_abi compiler bug"
+			$(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
+				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."
+				eerror "See https://bugs.gentoo.org/549768"
+				eerror
+				return 1
+			fi
 		fi
-	fi
-	# bug #574044
-	if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
-		einfo "Checking for gcc-5-3 stack realignment compiler bug ..."
-		# Compile in subshell to prevent "Aborted" message
-		if ! ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${FILESDIR}"/pr69140.c -o "${T}"/pr69140 || false ) >/dev/null 2>&1; 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."
-			eerror "See https://bugs.gentoo.org/574044"
-			eerror
-			return 1
+		# bug #574044
+		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
+				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."
+				eerror "See https://bugs.gentoo.org/574044"
+				eerror
+				return 1
+			fi
 		fi
 	fi
 
+	# Ensure compiler support
 	if use abi_x86_64; then
-		einfo "Checking for builtin_ms_va_list ..."
-		if ( $(tc-getCC) -O2 "${FILESDIR}"/builtin_ms_va_list.c -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) ; then
-			einfo "$(tc-getCC) supports builtin_ms_va_list, enabling 64-bit wine"
-		else
+		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
 			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"
@@ -199,6 +228,10 @@ wine_build_environment_check() {
 			return 1
 		fi
 	fi
+}
+
+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
 		eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
@@ -209,7 +242,19 @@ wine_build_environment_check() {
 }
 
 pkg_pretend() {
+	wine_compiler_check || die
 	wine_build_environment_check || die
+
+	# 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
+			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
+			die
+		fi
+	fi
 }
 
 pkg_setup() {
@@ -253,6 +298,7 @@ src_prepare() {
 		"${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
 	)
 	if use staging; then
 		ewarn "Applying the Wine-Staging patchset. Any bug reports to the"
@@ -413,6 +459,13 @@ multilib_src_install_all() {
 		rm "${D}"usr/bin/{wine{dump,maker},function_grep.pl} "${D}"usr/share/man/man1/wine{dump,maker}.1 || die
 	fi
 
+	# Remove wineconsole if neither backend is installed #551124
+	if ! use X && ! use ncurses; then
+		rm	"${D}"/usr/{bin/,man/man1/}wineconsole* || die
+		use abi_x86_32 && rm "${D}"/usr/lib32/wine/{,fakedlls/}wineconsole.exe* || die
+		use abi_x86_64 && rm "${D}"/usr/lib64/wine/{,fakedlls/}wineconsole.exe* || die
+	fi
+
 	use abi_x86_32 && pax-mark psmr "${D}"usr/bin/wine{,-preloader} #255055
 	use abi_x86_64 && pax-mark psmr "${D}"usr/bin/wine64{,-preloader}
 

diff --git a/app-emulation/wine/wine-1.9.7-r1.ebuild b/app-emulation/wine/wine-1.9.6-r2.ebuild
similarity index 76%
rename from app-emulation/wine/wine-1.9.7-r1.ebuild
rename to app-emulation/wine/wine-1.9.6-r2.ebuild
index cab49fb..f9bb12c 100644
--- a/app-emulation/wine/wine-1.9.7-r1.ebuild
+++ b/app-emulation/wine/wine-1.9.6-r2.ebuild
@@ -23,6 +23,8 @@ fi
 
 GV="2.44"
 MV="4.6.0"
+STAGING_GV="2.44"
+STAGING_MV="4.6.0"
 [[ ${MAJOR_V} == "1.8" ]] && SUFFIX="-unofficial"
 STAGING_P="wine-staging-${PV}"
 STAGING_DIR="${WORKDIR}/${STAGING_P}${SUFFIX}"
@@ -30,11 +32,20 @@ WINE_GENTOO="wine-gentoo-2015.03.07"
 DESCRIPTION="Free implementation of Windows(tm) on Unix"
 HOMEPAGE="http://www.winehq.org/"
 SRC_URI="${SRC_URI}
-	gecko? (
-		abi_x86_32? ( https://dl.winehq.org/wine/wine-gecko/${GV}/wine_gecko-${GV}-x86.msi )
-		abi_x86_64? ( https://dl.winehq.org/wine/wine-gecko/${GV}/wine_gecko-${GV}-x86_64.msi )
+	!staging? (
+		gecko? (
+			abi_x86_32? ( https://dl.winehq.org/wine/wine-gecko/${GV}/wine_gecko-${GV}-x86.msi )
+			abi_x86_64? ( https://dl.winehq.org/wine/wine-gecko/${GV}/wine_gecko-${GV}-x86_64.msi )
+		)
+		mono? ( https://dl.winehq.org/wine/wine-mono/${MV}/wine-mono-${MV}.msi )
+	)
+	staging? (
+		gecko? (
+			abi_x86_32? ( https://dl.winehq.org/wine/wine-gecko/${STAGING_GV}/wine_gecko-${STAGING_GV}-x86.msi )
+			abi_x86_64? ( https://dl.winehq.org/wine/wine-gecko/${STAGING_GV}/wine_gecko-${STAGING_GV}-x86_64.msi )
+		)
+		mono? ( https://dl.winehq.org/wine/wine-mono/${STAGING_MV}/wine-mono-${STAGING_MV}.msi )
 	)
-	mono? ( https://dl.winehq.org/wine/wine-mono/${MV}/wine-mono-${MV}.msi )
 	https://dev.gentoo.org/~tetromino/distfiles/${PN}/${WINE_GENTOO}.tar.bz2"
 
 if [[ ${PV} == "9999" ]] ; then
@@ -46,31 +57,21 @@ 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 +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 +threads +truetype +udisks v4l vaapi +X +xcomposite xinerama +xml"
 REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
-	test? ( abi_x86_32 )
+	X? ( truetype )
 	elibc_glibc? ( threads )
+	osmesa? ( opengl )
 	pipelight? ( staging )
 	s3tc? ( staging )
-	vaapi? ( staging )
-	osmesa? ( opengl )" #286560
+	test? ( abi_x86_32 )
+	vaapi? ( staging )" # osmesa-opengl #286560 # X-truetype #551124
 
 # FIXME: the test suite is unsuitable for us; many tests require net access
 # or fail due to Xvfb's opengl limitations.
 RESTRICT="test"
 
 COMMON_DEPEND="
-	truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
-	capi? ( net-dialup/capi4k-utils )
-	ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
-	udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
-	fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
-	gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
-	openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
-	gstreamer? (
-		media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
-		media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
-	)
 	X? (
 		x11-libs/libXcursor[${MULTILIB_USEDEP}]
 		x11-libs/libXext[${MULTILIB_USEDEP}]
@@ -78,36 +79,47 @@ COMMON_DEPEND="
 		x11-libs/libXi[${MULTILIB_USEDEP}]
 		x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
 	)
-	xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
 	alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
+	capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
 	cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
-	opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
-	opengl? (
-		virtual/glu[${MULTILIB_USEDEP}]
-		virtual/opengl[${MULTILIB_USEDEP}]
-	)
+	fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
+	gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
 	gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
+	gstreamer? (
+		media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
+		media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
+	)
 	jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
-	ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
 	lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
+	ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
 	mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
+	ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
 	netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
 	nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
 	odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
+	openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
+	opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
+	opengl? (
+		virtual/glu[${MULTILIB_USEDEP}]
+		virtual/opengl[${MULTILIB_USEDEP}]
+	)
 	osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
 	pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
+	png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
 	pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
-	staging? ( sys-apps/attr[${MULTILIB_USEDEP}] )
-	xml? (
-		dev-libs/libxml2[${MULTILIB_USEDEP}]
-		dev-libs/libxslt[${MULTILIB_USEDEP}]
-	)
 	scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
 	ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
-	png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
+	staging? ( sys-apps/attr[${MULTILIB_USEDEP}] )
+	truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
+	udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
 	v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
 	vaapi? ( x11-libs/libva[X,${MULTILIB_USEDEP}] )
 	xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
+	xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
+	xml? (
+		dev-libs/libxml2[${MULTILIB_USEDEP}]
+		dev-libs/libxslt[${MULTILIB_USEDEP}]
+	)
 	abi_x86_32? (
 		!app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
 		!<app-emulation/emul-linux-x86-baselibs-20140508-r14
@@ -126,28 +138,36 @@ COMMON_DEPEND="
 	)"
 
 RDEPEND="${COMMON_DEPEND}
-	dos? ( games-emulation/dosbox )
-	perl? ( dev-lang/perl dev-perl/XML-Simple )
+	dos? ( >=games-emulation/dosbox-0.74_p20160629 )
+	perl? (
+		dev-lang/perl
+		dev-perl/XML-Simple
+	)
+	pulseaudio? (
+		realtime? ( sys-auth/rtkit )
+	)
 	s3tc? ( >=media-libs/libtxc_dxtn-1.0.1-r1[${MULTILIB_USEDEP}] )
 	samba? ( >=net-fs/samba-3.0.25[winbind] )
 	selinux? ( sec-policy/selinux-wine )
-	udisks? ( sys-fs/udisks:2 )
-	pulseaudio? ( realtime? ( sys-auth/rtkit ) )"
+	udisks? ( sys-fs/udisks:2 )"
 
 # tools/make_requests requires perl
 DEPEND="${COMMON_DEPEND}
-	staging? ( dev-lang/perl dev-perl/XML-Simple )
+	sys-devel/flex
+	>=sys-kernel/linux-headers-2.6
+	virtual/pkgconfig
+	virtual/yacc
 	X? (
 		x11-proto/inputproto
 		x11-proto/xextproto
 		x11-proto/xf86vidmodeproto
 	)
-	xinerama? ( x11-proto/xineramaproto )
 	prelink? ( sys-devel/prelink )
-	>=sys-kernel/linux-headers-2.6
-	virtual/pkgconfig
-	virtual/yacc
-	sys-devel/flex"
+	staging? (
+		dev-lang/perl
+		dev-perl/XML-Simple
+	)
+	xinerama? ( x11-proto/xineramaproto )"
 
 # These use a non-standard "Wine" category, which is provided by
 # /etc/xdg/applications-merged/wine.menu
@@ -156,42 +176,51 @@ usr/share/applications/wine-notepad.desktop
 usr/share/applications/wine-uninstaller.desktop
 usr/share/applications/wine-winecfg.desktop"
 
-wine_build_environment_check() {
+wine_compiler_check() {
 	[[ ${MERGE_TYPE} = "binary" ]] && return 0
 
-	# bug #549768
-	if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
-		einfo "Checking for gcc-5 ms_abi compiler bug ..."
-		$(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
-		# Run in subshell to prevent "Aborted" message
-		if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; 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."
-			eerror "See https://bugs.gentoo.org/549768"
-			eerror
-			return 1
+	# GCC-specific bugs
+	if tc-is-gcc; then
+		# bug #549768
+		if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
+			ebegin "Checking for gcc-5 ms_abi compiler bug"
+			$(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
+				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."
+				eerror "See https://bugs.gentoo.org/549768"
+				eerror
+				return 1
+			fi
 		fi
-	fi
-	# bug #574044
-	if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
-		einfo "Checking for gcc-5-3 stack realignment compiler bug ..."
-		# Compile in subshell to prevent "Aborted" message
-		if ! ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${FILESDIR}"/pr69140.c -o "${T}"/pr69140 || false ) >/dev/null 2>&1; 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."
-			eerror "See https://bugs.gentoo.org/574044"
-			eerror
-			return 1
+		# bug #574044
+		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
+				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."
+				eerror "See https://bugs.gentoo.org/574044"
+				eerror
+				return 1
+			fi
 		fi
 	fi
 
+	# Ensure compiler support
 	if use abi_x86_64; then
-		einfo "Checking for builtin_ms_va_list ..."
-		if ( $(tc-getCC) -O2 "${FILESDIR}"/builtin_ms_va_list.c -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) ; then
-			einfo "$(tc-getCC) supports builtin_ms_va_list, enabling 64-bit wine"
-		else
+		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
 			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"
@@ -199,6 +228,10 @@ wine_build_environment_check() {
 			return 1
 		fi
 	fi
+}
+
+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
 		eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
@@ -209,7 +242,19 @@ wine_build_environment_check() {
 }
 
 pkg_pretend() {
+	wine_compiler_check || die
 	wine_build_environment_check || die
+
+	# 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
+			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
+			die
+		fi
+	fi
 }
 
 pkg_setup() {
@@ -253,6 +298,7 @@ src_prepare() {
 		"${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
 	)
 	if use staging; then
 		ewarn "Applying the Wine-Staging patchset. Any bug reports to the"
@@ -410,6 +456,13 @@ multilib_src_install_all() {
 		rm "${D}"usr/bin/{wine{dump,maker},function_grep.pl} "${D}"usr/share/man/man1/wine{dump,maker}.1 || die
 	fi
 
+	# Remove wineconsole if neither backend is installed #551124
+	if ! use X && ! use ncurses; then
+		rm	"${D}"/usr/{bin/,man/man1/}wineconsole* || die
+		use abi_x86_32 && rm "${D}"/usr/lib32/wine/{,fakedlls/}wineconsole.exe* || die
+		use abi_x86_64 && rm "${D}"/usr/lib64/wine/{,fakedlls/}wineconsole.exe* || die
+	fi
+
 	use abi_x86_32 && pax-mark psmr "${D}"usr/bin/wine{,-preloader} #255055
 	use abi_x86_64 && pax-mark psmr "${D}"usr/bin/wine64{,-preloader}
 

diff --git a/app-emulation/wine/wine-1.9.6-r1.ebuild b/app-emulation/wine/wine-1.9.7-r2.ebuild
similarity index 76%
rename from app-emulation/wine/wine-1.9.6-r1.ebuild
rename to app-emulation/wine/wine-1.9.7-r2.ebuild
index cab49fb..f9bb12c 100644
--- a/app-emulation/wine/wine-1.9.6-r1.ebuild
+++ b/app-emulation/wine/wine-1.9.7-r2.ebuild
@@ -23,6 +23,8 @@ fi
 
 GV="2.44"
 MV="4.6.0"
+STAGING_GV="2.44"
+STAGING_MV="4.6.0"
 [[ ${MAJOR_V} == "1.8" ]] && SUFFIX="-unofficial"
 STAGING_P="wine-staging-${PV}"
 STAGING_DIR="${WORKDIR}/${STAGING_P}${SUFFIX}"
@@ -30,11 +32,20 @@ WINE_GENTOO="wine-gentoo-2015.03.07"
 DESCRIPTION="Free implementation of Windows(tm) on Unix"
 HOMEPAGE="http://www.winehq.org/"
 SRC_URI="${SRC_URI}
-	gecko? (
-		abi_x86_32? ( https://dl.winehq.org/wine/wine-gecko/${GV}/wine_gecko-${GV}-x86.msi )
-		abi_x86_64? ( https://dl.winehq.org/wine/wine-gecko/${GV}/wine_gecko-${GV}-x86_64.msi )
+	!staging? (
+		gecko? (
+			abi_x86_32? ( https://dl.winehq.org/wine/wine-gecko/${GV}/wine_gecko-${GV}-x86.msi )
+			abi_x86_64? ( https://dl.winehq.org/wine/wine-gecko/${GV}/wine_gecko-${GV}-x86_64.msi )
+		)
+		mono? ( https://dl.winehq.org/wine/wine-mono/${MV}/wine-mono-${MV}.msi )
+	)
+	staging? (
+		gecko? (
+			abi_x86_32? ( https://dl.winehq.org/wine/wine-gecko/${STAGING_GV}/wine_gecko-${STAGING_GV}-x86.msi )
+			abi_x86_64? ( https://dl.winehq.org/wine/wine-gecko/${STAGING_GV}/wine_gecko-${STAGING_GV}-x86_64.msi )
+		)
+		mono? ( https://dl.winehq.org/wine/wine-mono/${STAGING_MV}/wine-mono-${STAGING_MV}.msi )
 	)
-	mono? ( https://dl.winehq.org/wine/wine-mono/${MV}/wine-mono-${MV}.msi )
 	https://dev.gentoo.org/~tetromino/distfiles/${PN}/${WINE_GENTOO}.tar.bz2"
 
 if [[ ${PV} == "9999" ]] ; then
@@ -46,31 +57,21 @@ 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 +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 +threads +truetype +udisks v4l vaapi +X +xcomposite xinerama +xml"
 REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
-	test? ( abi_x86_32 )
+	X? ( truetype )
 	elibc_glibc? ( threads )
+	osmesa? ( opengl )
 	pipelight? ( staging )
 	s3tc? ( staging )
-	vaapi? ( staging )
-	osmesa? ( opengl )" #286560
+	test? ( abi_x86_32 )
+	vaapi? ( staging )" # osmesa-opengl #286560 # X-truetype #551124
 
 # FIXME: the test suite is unsuitable for us; many tests require net access
 # or fail due to Xvfb's opengl limitations.
 RESTRICT="test"
 
 COMMON_DEPEND="
-	truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
-	capi? ( net-dialup/capi4k-utils )
-	ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
-	udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
-	fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
-	gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
-	openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
-	gstreamer? (
-		media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
-		media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
-	)
 	X? (
 		x11-libs/libXcursor[${MULTILIB_USEDEP}]
 		x11-libs/libXext[${MULTILIB_USEDEP}]
@@ -78,36 +79,47 @@ COMMON_DEPEND="
 		x11-libs/libXi[${MULTILIB_USEDEP}]
 		x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
 	)
-	xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
 	alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
+	capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
 	cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
-	opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
-	opengl? (
-		virtual/glu[${MULTILIB_USEDEP}]
-		virtual/opengl[${MULTILIB_USEDEP}]
-	)
+	fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
+	gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
 	gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
+	gstreamer? (
+		media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
+		media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
+	)
 	jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
-	ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
 	lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
+	ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
 	mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
+	ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
 	netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
 	nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
 	odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
+	openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
+	opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
+	opengl? (
+		virtual/glu[${MULTILIB_USEDEP}]
+		virtual/opengl[${MULTILIB_USEDEP}]
+	)
 	osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
 	pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
+	png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
 	pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
-	staging? ( sys-apps/attr[${MULTILIB_USEDEP}] )
-	xml? (
-		dev-libs/libxml2[${MULTILIB_USEDEP}]
-		dev-libs/libxslt[${MULTILIB_USEDEP}]
-	)
 	scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
 	ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
-	png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
+	staging? ( sys-apps/attr[${MULTILIB_USEDEP}] )
+	truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
+	udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
 	v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
 	vaapi? ( x11-libs/libva[X,${MULTILIB_USEDEP}] )
 	xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
+	xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
+	xml? (
+		dev-libs/libxml2[${MULTILIB_USEDEP}]
+		dev-libs/libxslt[${MULTILIB_USEDEP}]
+	)
 	abi_x86_32? (
 		!app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
 		!<app-emulation/emul-linux-x86-baselibs-20140508-r14
@@ -126,28 +138,36 @@ COMMON_DEPEND="
 	)"
 
 RDEPEND="${COMMON_DEPEND}
-	dos? ( games-emulation/dosbox )
-	perl? ( dev-lang/perl dev-perl/XML-Simple )
+	dos? ( >=games-emulation/dosbox-0.74_p20160629 )
+	perl? (
+		dev-lang/perl
+		dev-perl/XML-Simple
+	)
+	pulseaudio? (
+		realtime? ( sys-auth/rtkit )
+	)
 	s3tc? ( >=media-libs/libtxc_dxtn-1.0.1-r1[${MULTILIB_USEDEP}] )
 	samba? ( >=net-fs/samba-3.0.25[winbind] )
 	selinux? ( sec-policy/selinux-wine )
-	udisks? ( sys-fs/udisks:2 )
-	pulseaudio? ( realtime? ( sys-auth/rtkit ) )"
+	udisks? ( sys-fs/udisks:2 )"
 
 # tools/make_requests requires perl
 DEPEND="${COMMON_DEPEND}
-	staging? ( dev-lang/perl dev-perl/XML-Simple )
+	sys-devel/flex
+	>=sys-kernel/linux-headers-2.6
+	virtual/pkgconfig
+	virtual/yacc
 	X? (
 		x11-proto/inputproto
 		x11-proto/xextproto
 		x11-proto/xf86vidmodeproto
 	)
-	xinerama? ( x11-proto/xineramaproto )
 	prelink? ( sys-devel/prelink )
-	>=sys-kernel/linux-headers-2.6
-	virtual/pkgconfig
-	virtual/yacc
-	sys-devel/flex"
+	staging? (
+		dev-lang/perl
+		dev-perl/XML-Simple
+	)
+	xinerama? ( x11-proto/xineramaproto )"
 
 # These use a non-standard "Wine" category, which is provided by
 # /etc/xdg/applications-merged/wine.menu
@@ -156,42 +176,51 @@ usr/share/applications/wine-notepad.desktop
 usr/share/applications/wine-uninstaller.desktop
 usr/share/applications/wine-winecfg.desktop"
 
-wine_build_environment_check() {
+wine_compiler_check() {
 	[[ ${MERGE_TYPE} = "binary" ]] && return 0
 
-	# bug #549768
-	if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
-		einfo "Checking for gcc-5 ms_abi compiler bug ..."
-		$(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
-		# Run in subshell to prevent "Aborted" message
-		if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; 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."
-			eerror "See https://bugs.gentoo.org/549768"
-			eerror
-			return 1
+	# GCC-specific bugs
+	if tc-is-gcc; then
+		# bug #549768
+		if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
+			ebegin "Checking for gcc-5 ms_abi compiler bug"
+			$(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
+				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."
+				eerror "See https://bugs.gentoo.org/549768"
+				eerror
+				return 1
+			fi
 		fi
-	fi
-	# bug #574044
-	if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
-		einfo "Checking for gcc-5-3 stack realignment compiler bug ..."
-		# Compile in subshell to prevent "Aborted" message
-		if ! ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${FILESDIR}"/pr69140.c -o "${T}"/pr69140 || false ) >/dev/null 2>&1; 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."
-			eerror "See https://bugs.gentoo.org/574044"
-			eerror
-			return 1
+		# bug #574044
+		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
+				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."
+				eerror "See https://bugs.gentoo.org/574044"
+				eerror
+				return 1
+			fi
 		fi
 	fi
 
+	# Ensure compiler support
 	if use abi_x86_64; then
-		einfo "Checking for builtin_ms_va_list ..."
-		if ( $(tc-getCC) -O2 "${FILESDIR}"/builtin_ms_va_list.c -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) ; then
-			einfo "$(tc-getCC) supports builtin_ms_va_list, enabling 64-bit wine"
-		else
+		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
 			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"
@@ -199,6 +228,10 @@ wine_build_environment_check() {
 			return 1
 		fi
 	fi
+}
+
+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
 		eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
@@ -209,7 +242,19 @@ wine_build_environment_check() {
 }
 
 pkg_pretend() {
+	wine_compiler_check || die
 	wine_build_environment_check || die
+
+	# 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
+			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
+			die
+		fi
+	fi
 }
 
 pkg_setup() {
@@ -253,6 +298,7 @@ src_prepare() {
 		"${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
 	)
 	if use staging; then
 		ewarn "Applying the Wine-Staging patchset. Any bug reports to the"
@@ -410,6 +456,13 @@ multilib_src_install_all() {
 		rm "${D}"usr/bin/{wine{dump,maker},function_grep.pl} "${D}"usr/share/man/man1/wine{dump,maker}.1 || die
 	fi
 
+	# Remove wineconsole if neither backend is installed #551124
+	if ! use X && ! use ncurses; then
+		rm	"${D}"/usr/{bin/,man/man1/}wineconsole* || die
+		use abi_x86_32 && rm "${D}"/usr/lib32/wine/{,fakedlls/}wineconsole.exe* || die
+		use abi_x86_64 && rm "${D}"/usr/lib64/wine/{,fakedlls/}wineconsole.exe* || die
+	fi
+
 	use abi_x86_32 && pax-mark psmr "${D}"usr/bin/wine{,-preloader} #255055
 	use abi_x86_64 && pax-mark psmr "${D}"usr/bin/wine64{,-preloader}
 

diff --git a/app-emulation/wine/wine-1.9.8.ebuild b/app-emulation/wine/wine-1.9.8-r1.ebuild
similarity index 76%
rename from app-emulation/wine/wine-1.9.8.ebuild
rename to app-emulation/wine/wine-1.9.8-r1.ebuild
index 7edb229..bd899ef 100644
--- a/app-emulation/wine/wine-1.9.8.ebuild
+++ b/app-emulation/wine/wine-1.9.8-r1.ebuild
@@ -23,6 +23,8 @@ fi
 
 GV="2.44"
 MV="4.6.2"
+STAGING_GV="2.44"
+STAGING_MV="4.6.2"
 [[ ${MAJOR_V} == "1.8" ]] && SUFFIX="-unofficial"
 STAGING_P="wine-staging-${PV}"
 STAGING_DIR="${WORKDIR}/${STAGING_P}${SUFFIX}"
@@ -30,11 +32,20 @@ WINE_GENTOO="wine-gentoo-2015.03.07"
 DESCRIPTION="Free implementation of Windows(tm) on Unix"
 HOMEPAGE="http://www.winehq.org/"
 SRC_URI="${SRC_URI}
-	gecko? (
-		abi_x86_32? ( https://dl.winehq.org/wine/wine-gecko/${GV}/wine_gecko-${GV}-x86.msi )
-		abi_x86_64? ( https://dl.winehq.org/wine/wine-gecko/${GV}/wine_gecko-${GV}-x86_64.msi )
+	!staging? (
+		gecko? (
+			abi_x86_32? ( https://dl.winehq.org/wine/wine-gecko/${GV}/wine_gecko-${GV}-x86.msi )
+			abi_x86_64? ( https://dl.winehq.org/wine/wine-gecko/${GV}/wine_gecko-${GV}-x86_64.msi )
+		)
+		mono? ( https://dl.winehq.org/wine/wine-mono/${MV}/wine-mono-${MV}.msi )
+	)
+	staging? (
+		gecko? (
+			abi_x86_32? ( https://dl.winehq.org/wine/wine-gecko/${STAGING_GV}/wine_gecko-${STAGING_GV}-x86.msi )
+			abi_x86_64? ( https://dl.winehq.org/wine/wine-gecko/${STAGING_GV}/wine_gecko-${STAGING_GV}-x86_64.msi )
+		)
+		mono? ( https://dl.winehq.org/wine/wine-mono/${STAGING_MV}/wine-mono-${STAGING_MV}.msi )
 	)
-	mono? ( https://dl.winehq.org/wine/wine-mono/${MV}/wine-mono-${MV}.msi )
 	https://dev.gentoo.org/~tetromino/distfiles/${PN}/${WINE_GENTOO}.tar.bz2"
 
 if [[ ${PV} == "9999" ]] ; then
@@ -46,31 +57,21 @@ 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 +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 +threads +truetype +udisks v4l vaapi +X +xcomposite xinerama +xml"
 REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
-	test? ( abi_x86_32 )
+	X? ( truetype )
 	elibc_glibc? ( threads )
+	osmesa? ( opengl )
 	pipelight? ( staging )
 	s3tc? ( staging )
-	vaapi? ( staging )
-	osmesa? ( opengl )" #286560
+	test? ( abi_x86_32 )
+	vaapi? ( staging )" # osmesa-opengl #286560 # X-truetype #551124
 
 # FIXME: the test suite is unsuitable for us; many tests require net access
 # or fail due to Xvfb's opengl limitations.
 RESTRICT="test"
 
 COMMON_DEPEND="
-	truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
-	capi? ( net-dialup/capi4k-utils )
-	ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
-	udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
-	fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
-	gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
-	openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
-	gstreamer? (
-		media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
-		media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
-	)
 	X? (
 		x11-libs/libXcursor[${MULTILIB_USEDEP}]
 		x11-libs/libXext[${MULTILIB_USEDEP}]
@@ -78,36 +79,47 @@ COMMON_DEPEND="
 		x11-libs/libXi[${MULTILIB_USEDEP}]
 		x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
 	)
-	xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
 	alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
+	capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
 	cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
-	opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
-	opengl? (
-		virtual/glu[${MULTILIB_USEDEP}]
-		virtual/opengl[${MULTILIB_USEDEP}]
-	)
+	fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
+	gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
 	gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
+	gstreamer? (
+		media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
+		media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
+	)
 	jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
-	ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
 	lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
+	ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
 	mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
+	ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
 	netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
 	nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
 	odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
+	openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
+	opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
+	opengl? (
+		virtual/glu[${MULTILIB_USEDEP}]
+		virtual/opengl[${MULTILIB_USEDEP}]
+	)
 	osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
 	pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
+	png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
 	pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
-	staging? ( sys-apps/attr[${MULTILIB_USEDEP}] )
-	xml? (
-		dev-libs/libxml2[${MULTILIB_USEDEP}]
-		dev-libs/libxslt[${MULTILIB_USEDEP}]
-	)
 	scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
 	ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
-	png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
+	staging? ( sys-apps/attr[${MULTILIB_USEDEP}] )
+	truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
+	udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
 	v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
 	vaapi? ( x11-libs/libva[X,${MULTILIB_USEDEP}] )
 	xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
+	xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
+	xml? (
+		dev-libs/libxml2[${MULTILIB_USEDEP}]
+		dev-libs/libxslt[${MULTILIB_USEDEP}]
+	)
 	abi_x86_32? (
 		!app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
 		!<app-emulation/emul-linux-x86-baselibs-20140508-r14
@@ -126,28 +138,36 @@ COMMON_DEPEND="
 	)"
 
 RDEPEND="${COMMON_DEPEND}
-	dos? ( games-emulation/dosbox )
-	perl? ( dev-lang/perl dev-perl/XML-Simple )
+	dos? ( >=games-emulation/dosbox-0.74_p20160629 )
+	perl? (
+		dev-lang/perl
+		dev-perl/XML-Simple
+	)
+	pulseaudio? (
+		realtime? ( sys-auth/rtkit )
+	)
 	s3tc? ( >=media-libs/libtxc_dxtn-1.0.1-r1[${MULTILIB_USEDEP}] )
 	samba? ( >=net-fs/samba-3.0.25[winbind] )
 	selinux? ( sec-policy/selinux-wine )
-	udisks? ( sys-fs/udisks:2 )
-	pulseaudio? ( realtime? ( sys-auth/rtkit ) )"
+	udisks? ( sys-fs/udisks:2 )"
 
 # tools/make_requests requires perl
 DEPEND="${COMMON_DEPEND}
-	staging? ( dev-lang/perl dev-perl/XML-Simple )
+	sys-devel/flex
+	>=sys-kernel/linux-headers-2.6
+	virtual/pkgconfig
+	virtual/yacc
 	X? (
 		x11-proto/inputproto
 		x11-proto/xextproto
 		x11-proto/xf86vidmodeproto
 	)
-	xinerama? ( x11-proto/xineramaproto )
 	prelink? ( sys-devel/prelink )
-	>=sys-kernel/linux-headers-2.6
-	virtual/pkgconfig
-	virtual/yacc
-	sys-devel/flex"
+	staging? (
+		dev-lang/perl
+		dev-perl/XML-Simple
+	)
+	xinerama? ( x11-proto/xineramaproto )"
 
 # These use a non-standard "Wine" category, which is provided by
 # /etc/xdg/applications-merged/wine.menu
@@ -156,42 +176,51 @@ usr/share/applications/wine-notepad.desktop
 usr/share/applications/wine-uninstaller.desktop
 usr/share/applications/wine-winecfg.desktop"
 
-wine_build_environment_check() {
+wine_compiler_check() {
 	[[ ${MERGE_TYPE} = "binary" ]] && return 0
 
-	# bug #549768
-	if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
-		einfo "Checking for gcc-5 ms_abi compiler bug ..."
-		$(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
-		# Run in subshell to prevent "Aborted" message
-		if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; 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."
-			eerror "See https://bugs.gentoo.org/549768"
-			eerror
-			return 1
+	# GCC-specific bugs
+	if tc-is-gcc; then
+		# bug #549768
+		if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
+			ebegin "Checking for gcc-5 ms_abi compiler bug"
+			$(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
+				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."
+				eerror "See https://bugs.gentoo.org/549768"
+				eerror
+				return 1
+			fi
 		fi
-	fi
-	# bug #574044
-	if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
-		einfo "Checking for gcc-5-3 stack realignment compiler bug ..."
-		# Compile in subshell to prevent "Aborted" message
-		if ! ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${FILESDIR}"/pr69140.c -o "${T}"/pr69140 || false ) >/dev/null 2>&1; 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."
-			eerror "See https://bugs.gentoo.org/574044"
-			eerror
-			return 1
+		# bug #574044
+		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
+				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."
+				eerror "See https://bugs.gentoo.org/574044"
+				eerror
+				return 1
+			fi
 		fi
 	fi
 
+	# Ensure compiler support
 	if use abi_x86_64; then
-		einfo "Checking for builtin_ms_va_list ..."
-		if ( $(tc-getCC) -O2 "${FILESDIR}"/builtin_ms_va_list.c -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) ; then
-			einfo "$(tc-getCC) supports builtin_ms_va_list, enabling 64-bit wine"
-		else
+		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
 			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"
@@ -199,6 +228,10 @@ wine_build_environment_check() {
 			return 1
 		fi
 	fi
+}
+
+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
 		eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
@@ -209,7 +242,19 @@ wine_build_environment_check() {
 }
 
 pkg_pretend() {
+	wine_compiler_check || die
 	wine_build_environment_check || die
+
+	# 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
+			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
+			die
+		fi
+	fi
 }
 
 pkg_setup() {
@@ -253,6 +298,7 @@ src_prepare() {
 		"${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
 	)
 	if use staging; then
 		ewarn "Applying the Wine-Staging patchset. Any bug reports to the"
@@ -410,6 +456,13 @@ multilib_src_install_all() {
 		rm "${D}"usr/bin/{wine{dump,maker},function_grep.pl} "${D}"usr/share/man/man1/wine{dump,maker}.1 || die
 	fi
 
+	# Remove wineconsole if neither backend is installed #551124
+	if ! use X && ! use ncurses; then
+		rm	"${D}"/usr/{bin/,man/man1/}wineconsole* || die
+		use abi_x86_32 && rm "${D}"/usr/lib32/wine/{,fakedlls/}wineconsole.exe* || die
+		use abi_x86_64 && rm "${D}"/usr/lib64/wine/{,fakedlls/}wineconsole.exe* || die
+	fi
+
 	use abi_x86_32 && pax-mark psmr "${D}"usr/bin/wine{,-preloader} #255055
 	use abi_x86_64 && pax-mark psmr "${D}"usr/bin/wine64{,-preloader}
 

diff --git a/app-emulation/wine/wine-1.9.10.ebuild b/app-emulation/wine/wine-1.9.9-r1.ebuild
similarity index 77%
rename from app-emulation/wine/wine-1.9.10.ebuild
rename to app-emulation/wine/wine-1.9.9-r1.ebuild
index 529dfbe..243e832 100644
--- a/app-emulation/wine/wine-1.9.10.ebuild
+++ b/app-emulation/wine/wine-1.9.9-r1.ebuild
@@ -23,6 +23,8 @@ fi
 
 GV="2.44"
 MV="4.6.2"
+STAGING_GV="2.44"
+STAGING_MV="4.6.2"
 [[ ${MAJOR_V} == "1.8" ]] && SUFFIX="-unofficial"
 STAGING_P="wine-staging-${PV}"
 STAGING_DIR="${WORKDIR}/${STAGING_P}${SUFFIX}"
@@ -32,11 +34,20 @@ WINE_GENTOO="wine-gentoo-2015.03.07"
 DESCRIPTION="Free implementation of Windows(tm) on Unix"
 HOMEPAGE="http://www.winehq.org/"
 SRC_URI="${SRC_URI}
-	gecko? (
-		abi_x86_32? ( https://dl.winehq.org/wine/wine-gecko/${GV}/wine_gecko-${GV}-x86.msi )
-		abi_x86_64? ( https://dl.winehq.org/wine/wine-gecko/${GV}/wine_gecko-${GV}-x86_64.msi )
+	!staging? (
+		gecko? (
+			abi_x86_32? ( https://dl.winehq.org/wine/wine-gecko/${GV}/wine_gecko-${GV}-x86.msi )
+			abi_x86_64? ( https://dl.winehq.org/wine/wine-gecko/${GV}/wine_gecko-${GV}-x86_64.msi )
+		)
+		mono? ( https://dl.winehq.org/wine/wine-mono/${MV}/wine-mono-${MV}.msi )
+	)
+	staging? (
+		gecko? (
+			abi_x86_32? ( https://dl.winehq.org/wine/wine-gecko/${STAGING_GV}/wine_gecko-${STAGING_GV}-x86.msi )
+			abi_x86_64? ( https://dl.winehq.org/wine/wine-gecko/${STAGING_GV}/wine_gecko-${STAGING_GV}-x86_64.msi )
+		)
+		mono? ( https://dl.winehq.org/wine/wine-mono/${STAGING_MV}/wine-mono-${STAGING_MV}.msi )
 	)
-	mono? ( https://dl.winehq.org/wine/wine-mono/${MV}/wine-mono-${MV}.msi )
 	https://dev.gentoo.org/~tetromino/distfiles/${PN}/${WINE_GENTOO}.tar.bz2"
 
 if [[ ${PV} == "9999" ]] ; then
@@ -50,32 +61,21 @@ 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 +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 +threads +truetype +udisks v4l vaapi +X +xcomposite xinerama +xml"
 REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
-	test? ( abi_x86_32 )
+	X? ( truetype )
 	elibc_glibc? ( threads )
+	osmesa? ( opengl )
 	pipelight? ( staging )
 	s3tc? ( staging )
-	vaapi? ( staging )
-	osmesa? ( opengl )" #286560
+	test? ( abi_x86_32 )
+	vaapi? ( staging )" # osmesa-opengl #286560 # X-truetype #551124
 
 # FIXME: the test suite is unsuitable for us; many tests require net access
 # or fail due to Xvfb's opengl limitations.
 RESTRICT="test"
 
 COMMON_DEPEND="
-	truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
-	capi? ( net-dialup/capi4k-utils )
-	d3d9? ( media-libs/mesa[d3d9,${MULTILIB_USEDEP}] )
-	ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
-	udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
-	fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
-	gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
-	openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
-	gstreamer? (
-		media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
-		media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
-	)
 	X? (
 		x11-libs/libXcursor[${MULTILIB_USEDEP}]
 		x11-libs/libXext[${MULTILIB_USEDEP}]
@@ -83,36 +83,48 @@ COMMON_DEPEND="
 		x11-libs/libXi[${MULTILIB_USEDEP}]
 		x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
 	)
-	xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
 	alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
+	capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
 	cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
-	opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
-	opengl? (
-		virtual/glu[${MULTILIB_USEDEP}]
-		virtual/opengl[${MULTILIB_USEDEP}]
-	)
+	d3d9? ( media-libs/mesa[d3d9,${MULTILIB_USEDEP}] )
+	fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
+	gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
 	gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
+	gstreamer? (
+		media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
+		media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
+	)
 	jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
-	ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
 	lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
+	ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
 	mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
+	ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
 	netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
 	nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
 	odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
+	openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
+	opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
+	opengl? (
+		virtual/glu[${MULTILIB_USEDEP}]
+		virtual/opengl[${MULTILIB_USEDEP}]
+	)
 	osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
 	pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
+	png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
 	pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
-	staging? ( sys-apps/attr[${MULTILIB_USEDEP}] )
-	xml? (
-		dev-libs/libxml2[${MULTILIB_USEDEP}]
-		dev-libs/libxslt[${MULTILIB_USEDEP}]
-	)
 	scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
 	ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
-	png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
+	staging? ( sys-apps/attr[${MULTILIB_USEDEP}] )
+	truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
+	udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
 	v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
 	vaapi? ( x11-libs/libva[X,${MULTILIB_USEDEP}] )
 	xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
+	xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
+	xml? (
+		dev-libs/libxml2[${MULTILIB_USEDEP}]
+		dev-libs/libxslt[${MULTILIB_USEDEP}]
+	)
 	abi_x86_32? (
 		!app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
 		!<app-emulation/emul-linux-x86-baselibs-20140508-r14
@@ -131,28 +143,36 @@ COMMON_DEPEND="
 	)"
 
 RDEPEND="${COMMON_DEPEND}
-	dos? ( games-emulation/dosbox )
-	perl? ( dev-lang/perl dev-perl/XML-Simple )
+	dos? ( >=games-emulation/dosbox-0.74_p20160629 )
+	perl? (
+		dev-lang/perl
+		dev-perl/XML-Simple
+	)
+	pulseaudio? (
+		realtime? ( sys-auth/rtkit )
+	)
 	s3tc? ( >=media-libs/libtxc_dxtn-1.0.1-r1[${MULTILIB_USEDEP}] )
 	samba? ( >=net-fs/samba-3.0.25[winbind] )
 	selinux? ( sec-policy/selinux-wine )
-	udisks? ( sys-fs/udisks:2 )
-	pulseaudio? ( realtime? ( sys-auth/rtkit ) )"
+	udisks? ( sys-fs/udisks:2 )"
 
 # tools/make_requests requires perl
 DEPEND="${COMMON_DEPEND}
-	staging? ( dev-lang/perl dev-perl/XML-Simple )
+	sys-devel/flex
+	>=sys-kernel/linux-headers-2.6
+	virtual/pkgconfig
+	virtual/yacc
 	X? (
 		x11-proto/inputproto
 		x11-proto/xextproto
 		x11-proto/xf86vidmodeproto
 	)
-	xinerama? ( x11-proto/xineramaproto )
 	prelink? ( sys-devel/prelink )
-	>=sys-kernel/linux-headers-2.6
-	virtual/pkgconfig
-	virtual/yacc
-	sys-devel/flex"
+	staging? (
+		dev-lang/perl
+		dev-perl/XML-Simple
+	)
+	xinerama? ( x11-proto/xineramaproto )"
 
 # These use a non-standard "Wine" category, which is provided by
 # /etc/xdg/applications-merged/wine.menu
@@ -161,42 +181,51 @@ usr/share/applications/wine-notepad.desktop
 usr/share/applications/wine-uninstaller.desktop
 usr/share/applications/wine-winecfg.desktop"
 
-wine_build_environment_check() {
+wine_compiler_check() {
 	[[ ${MERGE_TYPE} = "binary" ]] && return 0
 
-	# bug #549768
-	if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
-		einfo "Checking for gcc-5 ms_abi compiler bug ..."
-		$(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
-		# Run in subshell to prevent "Aborted" message
-		if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; 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."
-			eerror "See https://bugs.gentoo.org/549768"
-			eerror
-			return 1
+	# GCC-specific bugs
+	if tc-is-gcc; then
+		# bug #549768
+		if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
+			ebegin "Checking for gcc-5 ms_abi compiler bug"
+			$(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
+				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."
+				eerror "See https://bugs.gentoo.org/549768"
+				eerror
+				return 1
+			fi
 		fi
-	fi
-	# bug #574044
-	if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
-		einfo "Checking for gcc-5-3 stack realignment compiler bug ..."
-		# Compile in subshell to prevent "Aborted" message
-		if ! ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${FILESDIR}"/pr69140.c -o "${T}"/pr69140 || false ) >/dev/null 2>&1; 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."
-			eerror "See https://bugs.gentoo.org/574044"
-			eerror
-			return 1
+		# bug #574044
+		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
+				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."
+				eerror "See https://bugs.gentoo.org/574044"
+				eerror
+				return 1
+			fi
 		fi
 	fi
 
+	# Ensure compiler support
 	if use abi_x86_64; then
-		einfo "Checking for builtin_ms_va_list ..."
-		if ( $(tc-getCC) -O2 "${FILESDIR}"/builtin_ms_va_list.c -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) ; then
-			einfo "$(tc-getCC) supports builtin_ms_va_list, enabling 64-bit wine"
-		else
+		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
 			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"
@@ -204,6 +233,10 @@ wine_build_environment_check() {
 			return 1
 		fi
 	fi
+}
+
+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
 		eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
@@ -214,7 +247,19 @@ wine_build_environment_check() {
 }
 
 pkg_pretend() {
+	wine_compiler_check || die
 	wine_build_environment_check || die
+
+	# 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
+			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
+			die
+		fi
+	fi
 }
 
 pkg_setup() {
@@ -263,6 +308,7 @@ 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}-1.8-gnutls-3.5-compat.patch #587028
 	)
 	if use staging; then
 		ewarn "Applying the Wine-Staging patchset. Any bug reports to the"
@@ -429,6 +475,13 @@ multilib_src_install_all() {
 		rm "${D}"usr/bin/{wine{dump,maker},function_grep.pl} "${D}"usr/share/man/man1/wine{dump,maker}.1 || die
 	fi
 
+	# Remove wineconsole if neither backend is installed #551124
+	if ! use X && ! use ncurses; then
+		rm	"${D}"/usr/{bin/,man/man1/}wineconsole* || die
+		use abi_x86_32 && rm "${D}"/usr/lib32/wine/{,fakedlls/}wineconsole.exe* || die
+		use abi_x86_64 && rm "${D}"/usr/lib64/wine/{,fakedlls/}wineconsole.exe* || die
+	fi
+
 	use abi_x86_32 && pax-mark psmr "${D}"usr/bin/wine{,-preloader} #255055
 	use abi_x86_64 && pax-mark psmr "${D}"usr/bin/wine64{,-preloader}
 

diff --git a/app-emulation/wine/wine-9999.ebuild b/app-emulation/wine/wine-9999.ebuild
index 529dfbe..e7bbd72 100644
--- a/app-emulation/wine/wine-9999.ebuild
+++ b/app-emulation/wine/wine-9999.ebuild
@@ -21,8 +21,10 @@ else
 	KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
 fi
 
-GV="2.44"
+GV="2.47"
 MV="4.6.2"
+STAGING_GV="2.47"
+STAGING_MV="4.6.2"
 [[ ${MAJOR_V} == "1.8" ]] && SUFFIX="-unofficial"
 STAGING_P="wine-staging-${PV}"
 STAGING_DIR="${WORKDIR}/${STAGING_P}${SUFFIX}"
@@ -32,11 +34,20 @@ WINE_GENTOO="wine-gentoo-2015.03.07"
 DESCRIPTION="Free implementation of Windows(tm) on Unix"
 HOMEPAGE="http://www.winehq.org/"
 SRC_URI="${SRC_URI}
-	gecko? (
-		abi_x86_32? ( https://dl.winehq.org/wine/wine-gecko/${GV}/wine_gecko-${GV}-x86.msi )
-		abi_x86_64? ( https://dl.winehq.org/wine/wine-gecko/${GV}/wine_gecko-${GV}-x86_64.msi )
+	!staging? (
+		gecko? (
+			abi_x86_32? ( https://dl.winehq.org/wine/wine-gecko/${GV}/wine_gecko-${GV}-x86.msi )
+			abi_x86_64? ( https://dl.winehq.org/wine/wine-gecko/${GV}/wine_gecko-${GV}-x86_64.msi )
+		)
+		mono? ( https://dl.winehq.org/wine/wine-mono/${MV}/wine-mono-${MV}.msi )
+	)
+	staging? (
+		gecko? (
+			abi_x86_32? ( https://dl.winehq.org/wine/wine-gecko/${STAGING_GV}/wine_gecko-${STAGING_GV}-x86.msi )
+			abi_x86_64? ( https://dl.winehq.org/wine/wine-gecko/${STAGING_GV}/wine_gecko-${STAGING_GV}-x86_64.msi )
+		)
+		mono? ( https://dl.winehq.org/wine/wine-mono/${STAGING_MV}/wine-mono-${STAGING_MV}.msi )
 	)
-	mono? ( https://dl.winehq.org/wine/wine-mono/${MV}/wine-mono-${MV}.msi )
 	https://dev.gentoo.org/~tetromino/distfiles/${PN}/${WINE_GENTOO}.tar.bz2"
 
 if [[ ${PV} == "9999" ]] ; then
@@ -50,32 +61,21 @@ 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 +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 +threads +truetype +udisks v4l vaapi +X +xcomposite xinerama +xml"
 REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
-	test? ( abi_x86_32 )
+	X? ( truetype )
 	elibc_glibc? ( threads )
+	osmesa? ( opengl )
 	pipelight? ( staging )
 	s3tc? ( staging )
-	vaapi? ( staging )
-	osmesa? ( opengl )" #286560
+	test? ( abi_x86_32 )
+	vaapi? ( staging )" # osmesa-opengl #286560 # X-truetype #551124
 
 # FIXME: the test suite is unsuitable for us; many tests require net access
 # or fail due to Xvfb's opengl limitations.
 RESTRICT="test"
 
 COMMON_DEPEND="
-	truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
-	capi? ( net-dialup/capi4k-utils )
-	d3d9? ( media-libs/mesa[d3d9,${MULTILIB_USEDEP}] )
-	ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
-	udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
-	fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
-	gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
-	openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
-	gstreamer? (
-		media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
-		media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
-	)
 	X? (
 		x11-libs/libXcursor[${MULTILIB_USEDEP}]
 		x11-libs/libXext[${MULTILIB_USEDEP}]
@@ -83,36 +83,48 @@ COMMON_DEPEND="
 		x11-libs/libXi[${MULTILIB_USEDEP}]
 		x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
 	)
-	xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
 	alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
+	capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
 	cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
-	opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
-	opengl? (
-		virtual/glu[${MULTILIB_USEDEP}]
-		virtual/opengl[${MULTILIB_USEDEP}]
-	)
+	d3d9? ( media-libs/mesa[d3d9,${MULTILIB_USEDEP}] )
+	fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
+	gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
 	gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
+	gstreamer? (
+		media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
+		media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
+	)
 	jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
-	ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
 	lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
+	ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
 	mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
+	ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
 	netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
 	nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
 	odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
+	openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
+	opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
+	opengl? (
+		virtual/glu[${MULTILIB_USEDEP}]
+		virtual/opengl[${MULTILIB_USEDEP}]
+	)
 	osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
 	pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
+	png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
 	pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
-	staging? ( sys-apps/attr[${MULTILIB_USEDEP}] )
-	xml? (
-		dev-libs/libxml2[${MULTILIB_USEDEP}]
-		dev-libs/libxslt[${MULTILIB_USEDEP}]
-	)
 	scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
 	ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
-	png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
+	staging? ( sys-apps/attr[${MULTILIB_USEDEP}] )
+	truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
+	udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
 	v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
 	vaapi? ( x11-libs/libva[X,${MULTILIB_USEDEP}] )
 	xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
+	xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
+	xml? (
+		dev-libs/libxml2[${MULTILIB_USEDEP}]
+		dev-libs/libxslt[${MULTILIB_USEDEP}]
+	)
 	abi_x86_32? (
 		!app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
 		!<app-emulation/emul-linux-x86-baselibs-20140508-r14
@@ -131,28 +143,36 @@ COMMON_DEPEND="
 	)"
 
 RDEPEND="${COMMON_DEPEND}
-	dos? ( games-emulation/dosbox )
-	perl? ( dev-lang/perl dev-perl/XML-Simple )
+	dos? ( >=games-emulation/dosbox-0.74_p20160629 )
+	perl? (
+		dev-lang/perl
+		dev-perl/XML-Simple
+	)
+	pulseaudio? (
+		realtime? ( sys-auth/rtkit )
+	)
 	s3tc? ( >=media-libs/libtxc_dxtn-1.0.1-r1[${MULTILIB_USEDEP}] )
 	samba? ( >=net-fs/samba-3.0.25[winbind] )
 	selinux? ( sec-policy/selinux-wine )
-	udisks? ( sys-fs/udisks:2 )
-	pulseaudio? ( realtime? ( sys-auth/rtkit ) )"
+	udisks? ( sys-fs/udisks:2 )"
 
 # tools/make_requests requires perl
 DEPEND="${COMMON_DEPEND}
-	staging? ( dev-lang/perl dev-perl/XML-Simple )
+	sys-devel/flex
+	>=sys-kernel/linux-headers-2.6
+	virtual/pkgconfig
+	virtual/yacc
 	X? (
 		x11-proto/inputproto
 		x11-proto/xextproto
 		x11-proto/xf86vidmodeproto
 	)
-	xinerama? ( x11-proto/xineramaproto )
 	prelink? ( sys-devel/prelink )
-	>=sys-kernel/linux-headers-2.6
-	virtual/pkgconfig
-	virtual/yacc
-	sys-devel/flex"
+	staging? (
+		dev-lang/perl
+		dev-perl/XML-Simple
+	)
+	xinerama? ( x11-proto/xineramaproto )"
 
 # These use a non-standard "Wine" category, which is provided by
 # /etc/xdg/applications-merged/wine.menu
@@ -161,42 +181,51 @@ usr/share/applications/wine-notepad.desktop
 usr/share/applications/wine-uninstaller.desktop
 usr/share/applications/wine-winecfg.desktop"
 
-wine_build_environment_check() {
+wine_compiler_check() {
 	[[ ${MERGE_TYPE} = "binary" ]] && return 0
 
-	# bug #549768
-	if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
-		einfo "Checking for gcc-5 ms_abi compiler bug ..."
-		$(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
-		# Run in subshell to prevent "Aborted" message
-		if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; 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."
-			eerror "See https://bugs.gentoo.org/549768"
-			eerror
-			return 1
+	# GCC-specific bugs
+	if tc-is-gcc; then
+		# bug #549768
+		if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
+			ebegin "Checking for gcc-5 ms_abi compiler bug"
+			$(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
+				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."
+				eerror "See https://bugs.gentoo.org/549768"
+				eerror
+				return 1
+			fi
 		fi
-	fi
-	# bug #574044
-	if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
-		einfo "Checking for gcc-5-3 stack realignment compiler bug ..."
-		# Compile in subshell to prevent "Aborted" message
-		if ! ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${FILESDIR}"/pr69140.c -o "${T}"/pr69140 || false ) >/dev/null 2>&1; 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."
-			eerror "See https://bugs.gentoo.org/574044"
-			eerror
-			return 1
+		# bug #574044
+		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
+				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."
+				eerror "See https://bugs.gentoo.org/574044"
+				eerror
+				return 1
+			fi
 		fi
 	fi
 
+	# Ensure compiler support
 	if use abi_x86_64; then
-		einfo "Checking for builtin_ms_va_list ..."
-		if ( $(tc-getCC) -O2 "${FILESDIR}"/builtin_ms_va_list.c -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) ; then
-			einfo "$(tc-getCC) supports builtin_ms_va_list, enabling 64-bit wine"
-		else
+		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
 			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"
@@ -204,6 +233,10 @@ wine_build_environment_check() {
 			return 1
 		fi
 	fi
+}
+
+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
 		eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
@@ -214,7 +247,19 @@ wine_build_environment_check() {
 }
 
 pkg_pretend() {
+	wine_compiler_check || die
 	wine_build_environment_check || die
+
+	# 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
+			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
+			die
+		fi
+	fi
 }
 
 pkg_setup() {
@@ -429,6 +474,13 @@ multilib_src_install_all() {
 		rm "${D}"usr/bin/{wine{dump,maker},function_grep.pl} "${D}"usr/share/man/man1/wine{dump,maker}.1 || die
 	fi
 
+	# Remove wineconsole if neither backend is installed #551124
+	if ! use X && ! use ncurses; then
+		rm	"${D}"/usr/{bin/,man/man1/}wineconsole* || die
+		use abi_x86_32 && rm "${D}"/usr/lib32/wine/{,fakedlls/}wineconsole.exe* || die
+		use abi_x86_64 && rm "${D}"/usr/lib64/wine/{,fakedlls/}wineconsole.exe* || die
+	fi
+
 	use abi_x86_32 && pax-mark psmr "${D}"usr/bin/wine{,-preloader} #255055
 	use abi_x86_64 && pax-mark psmr "${D}"usr/bin/wine64{,-preloader}
 


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine/, app-emulation/wine/files/
@ 2018-01-06 10:45 Mikle Kolyada
  0 siblings, 0 replies; 9+ messages in thread
From: Mikle Kolyada @ 2018-01-06 10:45 UTC (permalink / raw
  To: gentoo-commits

commit:     c467bbb5c5fd80a669c3d52e649f98030b57bddf
Author:     Mikle Kolyada <zlogene <AT> gentoo <DOT> org>
AuthorDate: Sat Jan  6 10:45:00 2018 +0000
Commit:     Mikle Kolyada <zlogene <AT> gentoo <DOT> org>
CommitDate: Sat Jan  6 10:45:00 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c467bbb5

app-emulation/wine: remove last rited package

 app-emulation/wine/Manifest                        |  14 -
 app-emulation/wine/files/builtin_ms_va_list.c      |   9 -
 app-emulation/wine/files/pr66838.c                 |  36 --
 app-emulation/wine/files/pr69140.c                 |  37 --
 app-emulation/wine/files/wine-1.5.26-winegcc.patch |  59 ---
 app-emulation/wine/files/wine-1.6-memset-O3.patch  |  21 -
 .../wine/files/wine-1.7.12-osmesa-check.patch      |  38 --
 .../wine/files/wine-1.9.5-multilib-portage.patch   |  31 --
 app-emulation/wine/metadata.xml                    |  49 --
 app-emulation/wine/wine-2.0.ebuild                 | 453 ----------------
 app-emulation/wine/wine-2.1.ebuild                 | 582 ---------------------
 app-emulation/wine/wine-2.2.ebuild                 | 582 ---------------------
 app-emulation/wine/wine-2.3.ebuild                 | 582 ---------------------
 app-emulation/wine/wine-9999.ebuild                | 581 --------------------
 14 files changed, 3074 deletions(-)

diff --git a/app-emulation/wine/Manifest b/app-emulation/wine/Manifest
deleted file mode 100644
index b5d9c36e93a..00000000000
--- a/app-emulation/wine/Manifest
+++ /dev/null
@@ -1,14 +0,0 @@
-DIST wine-2.0.tar.bz2 23662707 BLAKE2B 1d485c1359ce8a0395a9f6378c1f8be33ea2836b80390d1eb1095057a0acedd21708daab16e1851a315391b9f9b0a360879b9d98c73bcc8371c5023e9a8037f5 SHA512 b0a57ba8202d9fc396e5bfb7a7718d6bababbed8f3351e7fdc36afa37f35a871e04903757618f73427aeb71a52b2d323977d79e48f8b38d636f23fd404441186
-DIST wine-2.1.tar.xz 18887032 BLAKE2B 12d1298899064a46183c84ed13880275321670aa590c1aeb60fbba95baff736ad81342dfe3b31bf94fb7a6493262cb1b9ab20709025e19dad19cb438bff6c5a8 SHA512 03d678ee6e89c2804813f2827255fcf59e96ca9a45b7d8ac441cfc84f835e5e5689c70a79a41a04c631e1add7807fa4a5758acef3bd7aadfb2e92e68958c6ef6
-DIST wine-2.2.tar.xz 18916364 BLAKE2B 69cc104edffa8f017dba1756a15865956983941fb91973eed233f871010c051ac281902f215b88c7ee2969ffea894f68e466ac9ec608f543452c6e965e4acc7d SHA512 0700868244d397c1442948716321e5ff030c667edce464570f76aa4340199489a422872aa3975bc0a57b8285c9d59fc04e223a4bde094169fc6db460acb626c4
-DIST wine-2.3.tar.xz 18931732 BLAKE2B c4207e755b30e78caa1a870f9867922515e2338a0e8adccbf8250106dcad4b5e7e04e7621f5a02adc3cf51a8fc38050cc0534d353e4a2e11f78812974c8102b3 SHA512 bea78e8468555ff9e08dedf3918da5ea82721549c43984869989bbdafeea00e454820ff9558aa29925c97a165a9b01e5cd1fd397f133833c58824984a6686171
-DIST wine-d3d9-2.1.tar.gz 48385 BLAKE2B f9541edca520251500b63793468f802395e605baa19051355dbeaa90e0837f2c764cfacf6c651fe3e291d07bed825b72e75b8c47785d9d3eaa5312f28bd82048 SHA512 9234d8227412d940a6befcf79433f1d5ab0634d5e829f3771ffeea235af05be29ffc40438818b1976c77d1e2e79da8a67c4dab2b7d2e822b502fb6e4a1a7f8b7
-DIST wine-d3d9-2.2.tar.gz 48387 BLAKE2B 64e62ff5add2ec7d119697d7909b6d9b7be979b3d9c2d86102b103eb43ff6f22b0488ef847b6c6553ec41c396cb6f402ffcf9e2bcfc925ba4566b5183a78900a SHA512 6e9e031b51afc8ec200bbd252ff0d768c29af23907f782409834de593f896afb128f86fe012c95dc18e5f3c7267f170eb343d2a2c53d639933a337f0c1e04fab
-DIST wine-d3d9-2.3.tar.gz 48510 BLAKE2B 1d7e4549e10d3b59cabb4db373e72ef6d9933c0b054dc053986657973da92eb13c02a30564104957952c70db36525d80278bc6a7389035d44bf95b5f8c1bc0f8 SHA512 58449f6b7ed7fd8182e2cce92e1d1195bf64a567c1cc92fd3f46af195e7e4039c3b2a128be9d3572d9067be6c1bb020f417c6d558bb551c60096c107067177b8
-DIST wine-gentoo-2015.03.07.tar.bz2 85419 BLAKE2B 5587ac5e24a81165c23e0e29ee34cdf787799aa1092811cc48bbea074d0fcca5246db4a6b7ffaa4cc0bc27a29abc234c7b3eb4701fb22939bc49e03deafa27ba SHA512 bae1d2d5575d340d01f44008104f0e5ec0c4a4982995dec37d501594cd21d07a2b4ad4465c4273646d5bf6521996b4b82471097864be75342abe3e7d478a56bd
-DIST wine-mono-4.6.4.msi 45592064 BLAKE2B 30099b7f02276e47e350a96af07bf64b43c857b3b3323d0cab85864b753e9810c0d7b5d496e2f53f5b2c3a434eb440a19f9928707c4127303aa0335928e39097 SHA512 1d50df5d4d000998c74fbee79b8ffc691d88ee3b34db9fd7124e0df68d6f84768ece489ac8c3f5f3141c2073c8666b93ae23ca6cd652a6542a821df3d1b66b6d
-DIST wine-staging-2.1.tar.gz 10101781 BLAKE2B 6cbbc4bf2eec6416e7a9a128994dc53fbde6dd62fabdd94df6f675a395c9c7c5d22b2971d254bfb900b3f4cf727c9057c0cd912f1c256bc3b74a295386d420d5 SHA512 c64c48b265f0779c621a643ddbd2d12aaa548e4bff3b2b728280cdb9613214989911ee8ba5e46c7770f5f6430014a5da1c98e95d5008c1174bd14bf9ce5250db
-DIST wine-staging-2.2.tar.gz 10078327 BLAKE2B e8391a1005d8c21be24381f1593b0cf37375bc58d0d5028799433d67e5d82bf73c098196c243e3ea978a3f84c0e3fe826273c9f0c9e5cc68a1b576a89b1c548e SHA512 8ad3f8ba4c6439a9ec4884a55018a67c9e2c2384830074646aac7b70cb9f4f5a20f760247ab42dc3d2f697cdac7ea5322be8ed12c435cb0bc185ac08fdd4dd91
-DIST wine-staging-2.3.tar.gz 10071742 BLAKE2B ec3930023943df9e39b758e96fc1fd25829eff08855d297dc8dacc0a6630c560f127cf90a9f8faea9abb2f07f02cb7d5676bc5dc4d02c0ed7f4970bb5b458a84 SHA512 8e8af1e36cc69c63ec3542f0ec4db18b6d8c16b5c9077eb211297f3a886519da71bcf72934bf8d6d72e44c7c9f765e1d00203d0d75cab8544f69f9b0c10a7133
-DIST wine_gecko-2.47-x86.msi 49266176 BLAKE2B 6b1d4ebf53fac422c2da9ae7f5b6ab9064d2b6cc20d57fe13707395e71305ac1607a440624d3a545fe1e0391bc92bf5b594173549e519eda967bb833b69b2f52 SHA512 e0d06102dcb8ec2d24e8c8c3f5c2ee5cb47c18e203dfb43d85de008d682ff874fb664fef1df909a5a7857de39c7e8ce5175e734a11964ec4cd35f8fbacaea3a4
-DIST wine_gecko-2.47-x86_64.msi 50806272 BLAKE2B 6f91d4661a322eca41042cb7a246d5bff76ab72b4bda67183fc36735c923bd6d76624f21fd3e59f63fd872704edcf0116a6e7ab4fa6f074f5098c8fb5307534c SHA512 7c2496b15a06bc6906bc60afb3ac082e3f9931207fa624e60297020211d66aa9b420a61e95730a0dbdcefbe4b26c811d0c896ecd9c363b5107d08c3fa22fef41

diff --git a/app-emulation/wine/files/builtin_ms_va_list.c b/app-emulation/wine/files/builtin_ms_va_list.c
deleted file mode 100644
index f36fc2609a0..00000000000
--- a/app-emulation/wine/files/builtin_ms_va_list.c
+++ /dev/null
@@ -1,9 +0,0 @@
-/* Taken from Wine's configure script. LGPL 2.1+ */
-
-#include <stdarg.h>
-
-int main(void)
-{
-    void func(__builtin_ms_va_list *args);
-    return 0;
-}

diff --git a/app-emulation/wine/files/pr66838.c b/app-emulation/wine/files/pr66838.c
deleted file mode 100644
index cd616859427..00000000000
--- a/app-emulation/wine/files/pr66838.c
+++ /dev/null
@@ -1,36 +0,0 @@
-/* From gcc svn, /branches/gcc-5-branch/gcc/testsuite/gcc.target/i386/pr66838.c */
-/* Copyrighted and distributed under the same terms as gcc */
-
-void abort (void);
-
-char global;
-
-__attribute__((sysv_abi, noinline, noclone))
-void sysv_abi_func(char const *desc, void *local)
-{
-  register int esi asm ("esi");
-  register int edi asm ("edi");
-  
-  if (local != &global)
-    abort ();
-
-  /* Clobber some of the extra SYSV ABI registers.  */
-  asm volatile ("movl\t%2, %0\n\tmovl\t%2, %1"
-		: "=r" (esi), "=r" (edi)
-		: "i" (0xdeadbeef));
-}
-
-__attribute__((ms_abi, noinline, noclone))
-void ms_abi_func ()
-{
-  sysv_abi_func ("1st call", &global);
-  sysv_abi_func ("2nd call", &global);
-  sysv_abi_func ("3rd call", &global);
-}
-
-int
-main(void)
-{
-  ms_abi_func();
-  return 0;
-}

diff --git a/app-emulation/wine/files/pr69140.c b/app-emulation/wine/files/pr69140.c
deleted file mode 100644
index 7c9e001f301..00000000000
--- a/app-emulation/wine/files/pr69140.c
+++ /dev/null
@@ -1,37 +0,0 @@
-/* { dg-do compile { target lp64 } } */
-/* { dg-options "-O2 -mincoming-stack-boundary=3" } */
-
-typedef struct {
-  unsigned int buf[4];
-  unsigned char in[64];
-} MD4_CTX;
-
-static void
-MD4Transform (unsigned int buf[4], const unsigned int in[16])
-{
-  unsigned int a, b, c, d;
-  (b) += ((((c)) & ((d))) | ((~(c)) & ((a)))) + (in[7]);
-  (a) += ((((b)) & ((c))) | ((~(b)) & ((d)))) + (in[8]);
-  (d) += ((((a)) & ((b))) | ((~(a)) & ((c)))) + (in[9]);
-  buf[3] += d;
-}
-
-void __attribute__((ms_abi))
-MD4Update (MD4_CTX *ctx, const unsigned char *buf)
-{
-  MD4Transform( ctx->buf, (unsigned int *)ctx->in);
-  MD4Transform( ctx->buf, (unsigned int *)ctx->in);
-}
-
-int
-main(void)
-{
-	MD4_CTX ctx_test = 
-    {
-        { 0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476 },
-        { 0, 0 }
-    };
-	unsigned char	buf[64];
-
-	MD4Update(&ctx_test, (const unsigned char *) &buf);
-}

diff --git a/app-emulation/wine/files/wine-1.5.26-winegcc.patch b/app-emulation/wine/files/wine-1.5.26-winegcc.patch
deleted file mode 100644
index 2045e343401..00000000000
--- a/app-emulation/wine/files/wine-1.5.26-winegcc.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-http://bugs.gentoo.org/260726
-
-diff --git a/tools/winebuild/main.c b/tools/winebuild/main.c
-index 16b4165..5c77267 100644
---- a/tools/winebuild/main.c
-+++ b/tools/winebuild/main.c
-@@ -48,10 +48,13 @@ int link_ext_symbols = 0;
- int force_pointer_size = 0;
- int unwind_tables = 0;
- 
-+#undef FORCE_POINTER_SIZE
- #ifdef __i386__
- enum target_cpu target_cpu = CPU_x86;
-+#define FORCE_POINTER_SIZE
- #elif defined(__x86_64__)
- enum target_cpu target_cpu = CPU_x86_64;
-+#define FORCE_POINTER_SIZE
- #elif defined(__powerpc__)
- enum target_cpu target_cpu = CPU_POWERPC;
- #elif defined(__arm__)
-@@ -611,6 +614,10 @@ int main(int argc, char **argv)
-     signal( SIGTERM, exit_on_signal );
-     signal( SIGINT, exit_on_signal );
- 
-+#ifdef FORCE_POINTER_SIZE
-+    force_pointer_size = sizeof(size_t);
-+#endif
-+
-     output_file = stdout;
-     argv = parse_options( argc, argv, spec );
- 
-diff --git a/tools/winegcc/winegcc.c b/tools/winegcc/winegcc.c
-index 06aa200..c44d2e3 100644
---- a/tools/winegcc/winegcc.c
-+++ b/tools/winegcc/winegcc.c
-@@ -213,10 +213,13 @@ struct options
-     strarray* files;
- };
- 
-+#undef FORCE_POINTER_SIZE
- #ifdef __i386__
- static const enum target_cpu build_cpu = CPU_x86;
-+#define FORCE_POINTER_SIZE
- #elif defined(__x86_64__)
- static const enum target_cpu build_cpu = CPU_x86_64;
-+#define FORCE_POINTER_SIZE
- #elif defined(__powerpc__)
- static const enum target_cpu build_cpu = CPU_POWERPC;
- #elif defined(__arm__)
-@@ -1258,6 +1261,9 @@ int main(int argc, char **argv)
-     opts.linker_args = strarray_alloc();
-     opts.compiler_args = strarray_alloc();
-     opts.winebuild_args = strarray_alloc();
-+#ifdef FORCE_POINTER_SIZE
-+    opts.force_pointer_size = sizeof(size_t);
-+#endif
- 
-     /* determine the processor type */
-     if (strendswith(argv[0], "winecpp")) opts.processor = proc_cpp;

diff --git a/app-emulation/wine/files/wine-1.6-memset-O3.patch b/app-emulation/wine/files/wine-1.6-memset-O3.patch
deleted file mode 100644
index 75372f86914..00000000000
--- a/app-emulation/wine/files/wine-1.6-memset-O3.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-Avoid "undefined reference to `memset'" error when building with
-USE=custom-cflags and -O3 in CFLAGS with gcc-4.8.
-
-See:
-
-http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56888
-http://bugs.winehq.org/show_bug.cgi?id=33521
-https://bugs.gentoo.org/show_bug.cgi?id=480508
-
-diff --git a/configure.ac b/configure.ac
-index d8033cf..fe7cc7d 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -1767,6 +1767,7 @@ then
- 
-   dnl Check for some compiler flags
-   WINE_TRY_CFLAGS([-fno-builtin],[AC_SUBST(BUILTINFLAG,"-fno-builtin")])
-+  WINE_TRY_CFLAGS([-fno-tree-loop-distribute-patterns])
-   WINE_TRY_CFLAGS([-fno-strict-aliasing])
-   dnl clang needs to be told to fail on unknown options
-   saved_CFLAGS=$CFLAGS

diff --git a/app-emulation/wine/files/wine-1.7.12-osmesa-check.patch b/app-emulation/wine/files/wine-1.7.12-osmesa-check.patch
deleted file mode 100644
index 7cafcd4e6dc..00000000000
--- a/app-emulation/wine/files/wine-1.7.12-osmesa-check.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From 6932b9a17c4f64c13f7060895d46334bc7022430 Mon Sep 17 00:00:00 2001
-From: Alexandre Rostovtsev <tetromino@gentoo.org>
-Date: Tue, 7 Aug 2012 01:29:01 -0400
-Subject: [PATCH] Do not check for libGL symbols when checking libOSMesa
-
-If mesa had been built with shared glapi, glAccum is not available in
-libOSMesa without explicitly linking to libGL. In addition, in
-mesa-8.0.x and earlier, libOSMesa needs to be explicitly linked to
-libglapi if mesa was built with shared glapi, see
-https://bugs.gentoo.org/show_bug.cgi?id=399813
-And in mesa-8.1.x, libOSMesa in addition needs libdl, libpthread, and
-libstdc++, see https://bugs.gentoo.org/show_bug.cgi?id=431832
----
- configure.ac | 8 +++++++-
- 1 file changed, 7 insertions(+), 1 deletion(-)
-
-diff --git a/configure.ac b/configure.ac
-index de807d2..a2e8684 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -1233,7 +1233,13 @@ This probably prevents linking to OpenGL. Try deleting the file and restarting c
- 
-         if test "x$with_osmesa" != "xno"
-         then
--            WINE_CHECK_SONAME(OSMesa,glAccum,,,[$X_LIBS -lm $X_EXTRA_LIBS])
-+            WINE_CHECK_SONAME(OSMesa,OSMesaCreateContext,,,[$X_LIBS -lm $X_EXTRA_LIBS])
-+            if test "x$ac_cv_lib_soname_OSMesa" = "x"; then
-+                osmesa_save_CC=$CC
-+                CC=$CXX
-+                WINE_CHECK_SONAME(OSMesa,OSMesaCreateContext,,,[-lglapi -lpthread -ldl $X_LIBS -lm $X_EXTRA_LIBS])
-+                CC=$osmesa_save_CC
-+            fi
-             WINE_NOTICE_WITH(osmesa,[test "x$ac_cv_lib_soname_OSMesa" = "x"],
-                              [libOSMesa ${notice_platform}development files not found (or too old), OpenGL rendering in bitmaps won't be supported.])
-         fi
--- 
-1.8.5.3
-

diff --git a/app-emulation/wine/files/wine-1.9.5-multilib-portage.patch b/app-emulation/wine/files/wine-1.9.5-multilib-portage.patch
deleted file mode 100644
index c19d0d8a0b0..00000000000
--- a/app-emulation/wine/files/wine-1.9.5-multilib-portage.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-https://bugs.gentoo.org/show_bug.cgi?id=395615
-
-Explicitly add the required -m32/m64 to *FLAGS; this overrides any 
-arch-specific -m* flags that may have been appended by multilib-portage.
-
-Even though -m32/m64 is now added to *FLAGS, -m32/m64 still has to be
-explicitly added to CC and CXX due to wine's build system. For example,
-winegcc saves the build-time value of CC and uses it at runtime.
-
---- a/configure.ac	2016-03-05 20:53:50.574628728 -0500
-+++ b/configure.ac	2016-03-05 20:57:54.945617833 -0500
-@@ -141,6 +141,9 @@
-     then
-       CC="$CC -m32"
-       CXX="$CXX -m32"
-+      CFLAGS="$CFLAGS -m32"
-+      LDFLAGS="$LDFLAGS -m32"
-+      CXXFLAGS="$CXXFLAGS -m32"
-       AC_MSG_CHECKING([whether $CC works])
-       AC_LINK_IFELSE([AC_LANG_PROGRAM()],AC_MSG_RESULT([yes]),
-                      [AC_MSG_RESULT([no])
-@@ -160,6 +163,9 @@
-       fi
-       CC="$CC -m64"
-       CXX="$CXX -m64"
-+      CFLAGS="$CFLAGS -m64"
-+      LDFLAGS="$LDFLAGS -m64"
-+      CXXFLAGS="$CXXFLAGS -m64"
-       host_cpu="x86_64"
-       notice_platform="64-bit "
-       AC_SUBST(TARGETFLAGS,"-m64")

diff --git a/app-emulation/wine/metadata.xml b/app-emulation/wine/metadata.xml
deleted file mode 100644
index 309f99b2684..00000000000
--- a/app-emulation/wine/metadata.xml
+++ /dev/null
@@ -1,49 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-	<maintainer type="project">
-		<email>wine@gentoo.org</email>
-		<name>Wine</name>
-	</maintainer>
-	<maintainer type="person">
-		<email>commendsarnex@gmail.com</email>
-		<name>Nick Sarnie</name>
-		<description>Only CC on bugs that involve USE="d3d9"</description>
-	</maintainer>
-	<longdescription>
-Wine is an Open Source implementation of the Windows API on top of X and Unix.
-
-Think of Wine as a compatibility layer for running Windows programs. Wine does not require Microsoft Windows, as it is a completely free alternative implementation of the Windows API consisting of 100% non-Microsoft code, however Wine can optionally use native Windows DLLs if they are available. Wine provides both a development toolkit for porting Windows source code to Unix as well as a program loader, allowing many unmodified Windows programs to run on x86-based Unixes, including Linux, FreeBSD, and Solaris.
-	</longdescription>
-	<use>
-		<flag name="capi">Enable ISDN support via CAPI</flag>
-		<flag name="custom-cflags">Bypass strip-flags; use at your own peril</flag>
-		<flag name="d3d9">Apply highly experimental patches for Gallium Nine support.
-			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;</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>
-		<flag name="osmesa">Add support for OpenGL in bitmaps using libOSMesa</flag>
-		<flag name="pcap">Support packet capture software (e.g. wireshark)</flag>
-		<flag name="perl">Install helpers written in perl (winedump/winemaker)</flag>
-		<flag name="pipelight">Apply Wine-Staging patches for Pipelight/Silverlight support</flag>
-		<flag name="prelink">Run prelink on DLLs during build;
-			For versions before wine-1.7.55 or hardened, do not disable if you do not know what this means as it can break things at runtime</flag>
-		<flag name="realtime">Pull in <pkg>sys-auth/rtkit</pkg> for low-latency pulseaudio support</flag>
-		<flag name="run-exes">Use Wine to open and run .EXE and .MSI files</flag>
-		<flag name="s3tc">Pull in <pkg>media-libs/libtxc_dxtn</pkg> for DXTn texture compression, needed for many games</flag>
-		<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</flag>
-		<flag name="themes">Support GTK+:3 window theming through Wine-Staging</flag>
-		<flag name="udev">Use <pkg>virtual/libudev</pkg> to provide plug and play support</flag>
-	</use>
-	<upstream>
-		<remote-id type="github">wine-compholio/wine-staging</remote-id>
-		<remote-id type="sourceforge">wine</remote-id>
-	</upstream>
-</pkgmetadata>

diff --git a/app-emulation/wine/wine-2.0.ebuild b/app-emulation/wine/wine-2.0.ebuild
deleted file mode 100644
index 73721746d2d..00000000000
--- a/app-emulation/wine/wine-2.0.ebuild
+++ /dev/null
@@ -1,453 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PLOCALES="ar bg ca cs da de el en en_US eo es fa fi fr he hi hr hu it ja ko lt ml nb_NO nl or pa pl pt_BR pt_PT rm ro ru sk sl sr_RS@cyrillic sr_RS@latin sv te th tr uk wa zh_CN zh_TW"
-PLOCALE_BACKUP="en"
-
-inherit autotools eutils fdo-mime flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator
-
-if [[ ${PV} == "9999" ]] ; then
-	EGIT_REPO_URI="git://source.winehq.org/git/wine.git http://source.winehq.org/git/wine.git"
-	EGIT_BRANCH="master"
-	inherit git-r3
-	SRC_URI=""
-	#KEYWORDS=""
-else
-	MAJOR_V=$(get_version_component_range 1-2)
-	SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}/${P}.tar.bz2"
-	KEYWORDS="-* amd64 x86 ~x86-fbsd"
-fi
-
-VANILLA_GV="2.47"
-VANILLA_MV="4.6.4"
-WINE_GENTOO="wine-gentoo-2015.03.07"
-DESCRIPTION="Free implementation of Windows(tm) on Unix"
-HOMEPAGE="https://www.winehq.org/"
-SRC_URI="${SRC_URI}
-	gecko? (
-		abi_x86_32? ( https://dl.winehq.org/wine/wine-gecko/${VANILLA_GV}/wine_gecko-${VANILLA_GV}-x86.msi )
-		abi_x86_64? ( https://dl.winehq.org/wine/wine-gecko/${VANILLA_GV}/wine_gecko-${VANILLA_GV}-x86_64.msi )
-	)
-	mono? ( https://dl.winehq.org/wine/wine-mono/${VANILLA_MV}/wine-mono-${VANILLA_MV}.msi )
-	https://dev.gentoo.org/~tetromino/distfiles/${PN}/${WINE_GENTOO}.tar.bz2"
-
-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 +png prelink pulseaudio +realtime +run-exes samba scanner selinux +ssl test +threads +truetype udev +udisks v4l +X +xcomposite xinerama +xml"
-REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
-	X? ( truetype )
-	elibc_glibc? ( threads )
-	osmesa? ( opengl )
-	test? ( abi_x86_32 )" # osmesa-opengl #286560 # X-truetype #551124
-
-# FIXME: the test suite is unsuitable for us; many tests require net access
-# or fail due to Xvfb's opengl limitations.
-RESTRICT="test"
-
-COMMON_DEPEND="
-	X? (
-		x11-libs/libXcursor[${MULTILIB_USEDEP}]
-		x11-libs/libXext[${MULTILIB_USEDEP}]
-		x11-libs/libXrandr[${MULTILIB_USEDEP}]
-		x11-libs/libXi[${MULTILIB_USEDEP}]
-		x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
-	)
-	alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
-	capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
-	cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
-	fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
-	gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
-	gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
-	gstreamer? (
-		media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
-		media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
-	)
-	jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
-	lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
-	ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
-	mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
-	ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
-	netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
-	nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
-	odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
-	openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
-	opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
-	opengl? (
-		virtual/glu[${MULTILIB_USEDEP}]
-		virtual/opengl[${MULTILIB_USEDEP}]
-	)
-	osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
-	pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
-	png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
-	pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
-	scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
-	ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
-	truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
-	udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
-	udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
-	v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
-	xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
-	xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
-	xml? (
-		dev-libs/libxml2[${MULTILIB_USEDEP}]
-		dev-libs/libxslt[${MULTILIB_USEDEP}]
-	)
-	abi_x86_32? (
-		!app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
-		!<app-emulation/emul-linux-x86-baselibs-20140508-r14
-		!app-emulation/emul-linux-x86-db[-abi_x86_32(-)]
-		!<app-emulation/emul-linux-x86-db-20140508-r3
-		!app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]
-		!<app-emulation/emul-linux-x86-medialibs-20140508-r6
-		!app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)]
-		!<app-emulation/emul-linux-x86-opengl-20140508-r1
-		!app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)]
-		!<app-emulation/emul-linux-x86-sdl-20140508-r1
-		!app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)]
-		!<app-emulation/emul-linux-x86-soundlibs-20140508
-		!app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)]
-		!<app-emulation/emul-linux-x86-xlibs-20140508
-	)"
-
-RDEPEND="${COMMON_DEPEND}
-	dos? ( >=games-emulation/dosbox-0.74_p20160629 )
-	perl? (
-		dev-lang/perl
-		dev-perl/XML-Simple
-	)
-	pulseaudio? (
-		realtime? ( sys-auth/rtkit )
-	)
-	samba? ( >=net-fs/samba-3.0.25[winbind] )
-	selinux? ( sec-policy/selinux-wine )
-	udisks? ( sys-fs/udisks:2 )"
-
-# tools/make_requests requires perl
-DEPEND="${COMMON_DEPEND}
-	sys-devel/flex
-	>=sys-kernel/linux-headers-2.6
-	virtual/pkgconfig
-	virtual/yacc
-	X? (
-		x11-proto/inputproto
-		x11-proto/xextproto
-		x11-proto/xf86vidmodeproto
-	)
-	prelink? ( sys-devel/prelink )
-	xinerama? ( x11-proto/xineramaproto )"
-
-# These use a non-standard "Wine" category, which is provided by
-# /etc/xdg/applications-merged/wine.menu
-QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop
-usr/share/applications/wine-notepad.desktop
-usr/share/applications/wine-uninstaller.desktop
-usr/share/applications/wine-winecfg.desktop"
-
-wine_compiler_check() {
-	[[ ${MERGE_TYPE} = "binary" ]] && return 0
-
-	# GCC-specific bugs
-	if tc-is-gcc; then
-		# bug #549768
-		if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
-			ebegin "Checking for gcc-5 ms_abi compiler bug"
-			$(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
-			# Run in subshell to prevent "Aborted" message
-			( "${T}"/pr66838 || false ) >/dev/null 2>&1
-			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."
-				eerror "See https://bugs.gentoo.org/549768"
-				eerror
-				return 1
-			fi
-		fi
-		# bug #574044
-		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 ) >/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."
-				eerror "See https://bugs.gentoo.org/574044"
-				eerror
-				return 1
-			fi
-		fi
-	fi
-
-	# Ensure compiler support
-	if use abi_x86_64; then
-		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)
-		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"
-			eerror
-			return 1
-		fi
-	fi
-}
-
-wine_build_environment_check() {
-	[[ ${MERGE_TYPE} = "binary" ]] && return 0
-
-	if use abi_x86_64; then
-		if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then
-			eerror "You need gcc-4.4+ to compile 64-bit wine"
-			die
-		elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then
-			eerror "You need clang-3.8+ to compile 64-bit wine"
-			die
-		fi
-	fi
-	if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then
-		ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by"
-		ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in"
-		ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4"
-	fi
-	if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then
-		if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then
-			ewarn "Compilation can hang with CFLAGS=\"-march=i686\".  You can temporarily work"
-			ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine."
-			ewarn "See package.env in man 5 portage for more information on how to do this."
-			ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details"
-		fi
-	fi
-
-	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
-		return 1
-	fi
-}
-
-pkg_pretend() {
-	wine_build_environment_check || die
-
-	# Verify OSS support
-	if use oss && ! use kernel_FreeBSD; 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
-			die
-		fi
-	fi
-}
-
-pkg_setup() {
-	wine_build_environment_check || die
-	GV=${VANILLA_GV}
-	MV=${VANILLA_MV}
-}
-
-src_unpack() {
-	if [[ ${PV} == "9999" ]] ; then
-		EGIT_COMMIT="${WINE_COMMIT}" git-r3_src_unpack
-	fi
-
-	default
-
-	l10n_find_plocales_changes "${S}/po" "" ".po"
-}
-
-src_prepare() {
-	local md5="$(md5sum server/protocol.def)"
-	local PATCHES=(
-		"${FILESDIR}"/${PN}-1.5.26-winegcc.patch #260726
-		"${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
-	)
-
-	default
-	eautoreconf
-
-	# Modification of the server protocol requires regenerating the server requests
-	if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then
-		einfo "server/protocol.def was patched; running tools/make_requests"
-		tools/make_requests || die #432348
-	fi
-	sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die
-	if ! use run-exes; then
-		sed -i '/^MimeType/d' loader/wine.desktop || die #117785
-	fi
-
-	# hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652
-	cp "${WORKDIR}"/${WINE_GENTOO}/icons/oic_winlogo.ico dlls/user32/resources/ || die
-
-	l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS
-}
-
-src_configure() {
-	wine_compiler_check || die
-
-	export LDCONFIG=/bin/true
-	use custom-cflags || strip-flags
-
-	multilib-minimal_src_configure
-}
-
-multilib_src_configure() {
-	local myconf=(
-		--sysconfdir=/etc/wine
-		$(use_with alsa)
-		$(use_with capi)
-		$(use_with lcms cms)
-		$(use_with cups)
-		$(use_with ncurses curses)
-		$(use_with udisks dbus)
-		$(use_with fontconfig)
-		$(use_with ssl gnutls)
-		$(use_enable gecko mshtml)
-		$(use_with gphoto2 gphoto)
-		$(use_with gsm)
-		$(use_with gstreamer)
-		--without-hal
-		$(use_with jpeg)
-		$(use_with ldap)
-		$(use_enable mono mscoree)
-		$(use_with mp3 mpg123)
-		$(use_with netapi)
-		$(use_with nls gettext)
-		$(use_with openal)
-		$(use_with opencl)
-		$(use_with opengl)
-		$(use_with osmesa)
-		$(use_with oss)
-		$(use_with pcap)
-		$(use_with png)
-		$(use_with pulseaudio pulse)
-		$(use_with threads pthread)
-		$(use_with scanner sane)
-		$(use_enable test tests)
-		$(use_with truetype freetype)
-		$(use_with udev)
-		$(use_with v4l)
-		$(use_with X x)
-		$(use_with xcomposite)
-		$(use_with xinerama)
-		$(use_with xml)
-		$(use_with xml xslt)
-	)
-
-	local PKG_CONFIG AR RANLIB
-	# Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038
-	# set AR and RANLIB to make QA scripts happy; #483342
-	tc-export PKG_CONFIG AR RANLIB
-
-	if use amd64; then
-		if [[ ${ABI} == amd64 ]]; then
-			myconf+=( --enable-win64 )
-		else
-			myconf+=( --disable-win64 )
-		fi
-
-		# Note: using --with-wine64 results in problems with multilib.eclass
-		# CC/LD hackery. We're using separate tools instead.
-	fi
-
-	ECONF_SOURCE=${S} \
-	econf "${myconf[@]}"
-	emake depend
-}
-
-multilib_src_test() {
-	# FIXME: win32-only; wine64 tests fail with "could not find the Wine loader"
-	if [[ ${ABI} == x86 ]]; then
-		if [[ $(id -u) == 0 ]]; then
-			ewarn "Skipping tests since they cannot be run under the root user."
-			ewarn "To run the test ${PN} suite, add userpriv to FEATURES in make.conf"
-			return
-		fi
-
-		WINEPREFIX="${T}/.wine-${ABI}" \
-		Xemake test
-	fi
-}
-
-multilib_src_install_all() {
-	local DOCS=( ANNOUNCE AUTHORS README )
-	local l
-	add_locale_docs() {
-		local locale_doc="documentation/README.$1"
-		[[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} )
-	}
-	l10n_for_each_locale_do add_locale_docs
-
-	einstalldocs
-	prune_libtool_files --all
-
-	emake -C "../${WINE_GENTOO}" install DESTDIR="${D}" EPREFIX="${EPREFIX}"
-	if use gecko ; then
-		insinto /usr/share/wine/gecko
-		use abi_x86_32 && doins "${DISTDIR}"/wine_gecko-${GV}-x86.msi
-		use abi_x86_64 && doins "${DISTDIR}"/wine_gecko-${GV}-x86_64.msi
-	fi
-	if use mono ; then
-		insinto /usr/share/wine/mono
-		doins "${DISTDIR}"/wine-mono-${MV}.msi
-	fi
-	if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script
-		rm "${D}"usr/bin/{wine{dump,maker},function_grep.pl} "${D}"usr/share/man/man1/wine{dump,maker}.1 || die
-	fi
-
-	# Remove wineconsole if neither backend is installed #551124
-	if ! use X && ! use ncurses; then
-		rm "${D}"/usr/bin/wineconsole* || die
-		rm "${D}"/usr/share/man/man1/wineconsole* || die
-		rm_wineconsole() {
-			rm "${D}usr/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die
-		}
-		multilib_foreach_abi rm_wineconsole
-	fi
-
-	use abi_x86_32 && pax-mark psmr "${D}"usr/bin/wine{,-preloader} #255055
-	use abi_x86_64 && pax-mark psmr "${D}"usr/bin/wine64{,-preloader}
-
-	if use abi_x86_64 && ! use abi_x86_32; then
-		dosym wine64 /usr/bin/wine # 404331
-		dosym wine64-preloader /usr/bin/wine-preloader
-	fi
-
-	# respect LINGUAS when installing man pages, #469418
-	for l in de fr pl; do
-		has ${l} ${LINGUAS-${l}} || rm -r "${D}"usr/share/man/${l}*
-	done
-}
-
-pkg_preinst() {
-	gnome2_icon_savelist
-}
-
-pkg_postinst() {
-	gnome2_icon_cache_update
-	fdo-mime_desktop_database_update
-
-	if ! use gecko; then
-		ewarn "Without Wine Gecko, wine prefixes will not have a default"
-		ewarn "implementation of iexplore.  Many older windows applications"
-		ewarn "rely upon the existence of an iexplore implementation, so"
-		ewarn "you will likely need to install an external one, like via winetricks"
-	fi
-	if ! use mono; then
-		ewarn "Without Wine Mono, wine prefixes will not have a default"
-		ewarn "implementation of .NET.  Many windows applications rely upon"
-		ewarn "the existence of a .NET implementation, so you will likely need"
-		ewarn "to install an external one, like via winetricks"
-	fi
-}
-
-pkg_postrm() {
-	gnome2_icon_cache_update
-	fdo-mime_desktop_database_update
-}

diff --git a/app-emulation/wine/wine-2.1.ebuild b/app-emulation/wine/wine-2.1.ebuild
deleted file mode 100644
index d1c5a92109e..00000000000
--- a/app-emulation/wine/wine-2.1.ebuild
+++ /dev/null
@@ -1,582 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PLOCALES="ar bg ca cs da de el en en_US eo es fa fi fr he hi hr hu it ja ko lt ml nb_NO nl or pa pl pt_BR pt_PT rm ro ru sk sl sr_RS@cyrillic sr_RS@latin sv te th tr uk wa zh_CN zh_TW"
-PLOCALE_BACKUP="en"
-
-inherit autotools eutils fdo-mime flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator
-
-if [[ ${PV} == "9999" ]] ; then
-	EGIT_REPO_URI="git://source.winehq.org/git/wine.git http://source.winehq.org/git/wine.git"
-	EGIT_BRANCH="master"
-	inherit git-r3
-	SRC_URI=""
-	#KEYWORDS=""
-else
-	MAJOR_V=$(get_version_component_range 1)
-	SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${P}.tar.xz"
-	KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
-fi
-
-VANILLA_GV="2.47"
-VANILLA_MV="4.6.4"
-STAGING_GV="2.47"
-STAGING_MV="4.6.4"
-[[ ${MAJOR_V} == "1.8" ]] && SUFFIX="-unofficial"
-STAGING_P="wine-staging-${PV}"
-STAGING_DIR="${WORKDIR}/${STAGING_P}${SUFFIX}"
-D3D9_P="wine-d3d9-${PV}"
-D3D9_DIR="${WORKDIR}/wine-d3d9-patches-${D3D9_P}"
-WINE_GENTOO="wine-gentoo-2015.03.07"
-DESCRIPTION="Free implementation of Windows(tm) on Unix"
-HOMEPAGE="https://www.winehq.org/"
-SRC_URI="${SRC_URI}
-	!staging? (
-		gecko? (
-			abi_x86_32? ( https://dl.winehq.org/wine/wine-gecko/${VANILLA_GV}/wine_gecko-${VANILLA_GV}-x86.msi )
-			abi_x86_64? ( https://dl.winehq.org/wine/wine-gecko/${VANILLA_GV}/wine_gecko-${VANILLA_GV}-x86_64.msi )
-		)
-		mono? ( https://dl.winehq.org/wine/wine-mono/${VANILLA_MV}/wine-mono-${VANILLA_MV}.msi )
-	)
-	staging? (
-		gecko? (
-			abi_x86_32? ( https://dl.winehq.org/wine/wine-gecko/${STAGING_GV}/wine_gecko-${STAGING_GV}-x86.msi )
-			abi_x86_64? ( https://dl.winehq.org/wine/wine-gecko/${STAGING_GV}/wine_gecko-${STAGING_GV}-x86_64.msi )
-		)
-		mono? ( https://dl.winehq.org/wine/wine-mono/${STAGING_MV}/wine-mono-${STAGING_MV}.msi )
-	)
-	https://dev.gentoo.org/~tetromino/distfiles/${PN}/${WINE_GENTOO}.tar.bz2"
-
-if [[ ${PV} == "9999" ]] ; then
-	STAGING_EGIT_REPO_URI="https://github.com/wine-compholio/wine-staging.git"
-	D3D9_EGIT_REPO_URI="https://github.com/sarnex/wine-d3d9-patches.git"
-else
-	SRC_URI="${SRC_URI}
-	staging? ( https://github.com/wine-compholio/wine-staging/archive/v${PV}${SUFFIX}.tar.gz -> ${STAGING_P}.tar.gz )
-	d3d9? ( https://github.com/sarnex/wine-d3d9-patches/archive/${D3D9_P}.tar.gz )"
-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 themes +threads +truetype udev +udisks v4l vaapi +X +xcomposite xinerama +xml"
-REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
-	X? ( truetype )
-	elibc_glibc? ( threads )
-	osmesa? ( opengl )
-	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
-# or fail due to Xvfb's opengl limitations.
-RESTRICT="test"
-
-COMMON_DEPEND="
-	X? (
-		x11-libs/libXcursor[${MULTILIB_USEDEP}]
-		x11-libs/libXext[${MULTILIB_USEDEP}]
-		x11-libs/libXrandr[${MULTILIB_USEDEP}]
-		x11-libs/libXi[${MULTILIB_USEDEP}]
-		x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
-	)
-	alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
-	capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
-	cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
-	d3d9? (
-		media-libs/mesa[d3d9,egl,${MULTILIB_USEDEP}]
-		x11-libs/libX11[${MULTILIB_USEDEP}]
-		x11-libs/libXext[${MULTILIB_USEDEP}]
-		x11-libs/libxcb[${MULTILIB_USEDEP}]
-	)
-	fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
-	gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
-	gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
-	gstreamer? (
-		media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
-		media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
-	)
-	jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
-	lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
-	ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
-	mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
-	ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
-	netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
-	nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
-	odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
-	openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
-	opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
-	opengl? (
-		virtual/glu[${MULTILIB_USEDEP}]
-		virtual/opengl[${MULTILIB_USEDEP}]
-	)
-	osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
-	pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
-	png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
-	pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
-	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}] )
-	udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
-	udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
-	v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
-	vaapi? ( x11-libs/libva[X,${MULTILIB_USEDEP}] )
-	xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
-	xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
-	xml? (
-		dev-libs/libxml2[${MULTILIB_USEDEP}]
-		dev-libs/libxslt[${MULTILIB_USEDEP}]
-	)
-	abi_x86_32? (
-		!app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
-		!<app-emulation/emul-linux-x86-baselibs-20140508-r14
-		!app-emulation/emul-linux-x86-db[-abi_x86_32(-)]
-		!<app-emulation/emul-linux-x86-db-20140508-r3
-		!app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]
-		!<app-emulation/emul-linux-x86-medialibs-20140508-r6
-		!app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)]
-		!<app-emulation/emul-linux-x86-opengl-20140508-r1
-		!app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)]
-		!<app-emulation/emul-linux-x86-sdl-20140508-r1
-		!app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)]
-		!<app-emulation/emul-linux-x86-soundlibs-20140508
-		!app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)]
-		!<app-emulation/emul-linux-x86-xlibs-20140508
-	)"
-
-RDEPEND="${COMMON_DEPEND}
-	dos? ( >=games-emulation/dosbox-0.74_p20160629 )
-	perl? (
-		dev-lang/perl
-		dev-perl/XML-Simple
-	)
-	pulseaudio? (
-		realtime? ( sys-auth/rtkit )
-	)
-	s3tc? ( >=media-libs/libtxc_dxtn-1.0.1-r1[${MULTILIB_USEDEP}] )
-	samba? ( >=net-fs/samba-3.0.25[winbind] )
-	selinux? ( sec-policy/selinux-wine )
-	udisks? ( sys-fs/udisks:2 )"
-
-# tools/make_requests requires perl
-DEPEND="${COMMON_DEPEND}
-	sys-devel/flex
-	>=sys-kernel/linux-headers-2.6
-	virtual/pkgconfig
-	virtual/yacc
-	X? (
-		x11-proto/inputproto
-		x11-proto/xextproto
-		x11-proto/xf86vidmodeproto
-	)
-	prelink? ( sys-devel/prelink )
-	staging? (
-		dev-lang/perl
-		dev-perl/XML-Simple
-	)
-	xinerama? ( x11-proto/xineramaproto )"
-
-# These use a non-standard "Wine" category, which is provided by
-# /etc/xdg/applications-merged/wine.menu
-QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop
-usr/share/applications/wine-notepad.desktop
-usr/share/applications/wine-uninstaller.desktop
-usr/share/applications/wine-winecfg.desktop"
-
-wine_compiler_check() {
-	[[ ${MERGE_TYPE} = "binary" ]] && return 0
-
-	# GCC-specific bugs
-	if tc-is-gcc; then
-		# bug #549768
-		if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
-			ebegin "Checking for gcc-5 ms_abi compiler bug"
-			$(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
-			# Run in subshell to prevent "Aborted" message
-			( "${T}"/pr66838 || false ) >/dev/null 2>&1
-			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."
-				eerror "See https://bugs.gentoo.org/549768"
-				eerror
-				return 1
-			fi
-		fi
-		# bug #574044
-		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 ) >/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."
-				eerror "See https://bugs.gentoo.org/574044"
-				eerror
-				return 1
-			fi
-		fi
-	fi
-
-	# Ensure compiler support
-	if use abi_x86_64; then
-		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)
-		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"
-			eerror
-			return 1
-		fi
-	fi
-}
-
-wine_build_environment_check() {
-	[[ ${MERGE_TYPE} = "binary" ]] && return 0
-
-	if use abi_x86_64; then
-		if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then
-			eerror "You need gcc-4.4+ to compile 64-bit wine"
-			die
-		elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then
-			eerror "You need clang-3.8+ to compile 64-bit wine"
-			die
-		fi
-	fi
-	if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then
-		ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by"
-		ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in"
-		ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4"
-	fi
-	if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then
-		if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then
-			ewarn "Compilation can hang with CFLAGS=\"-march=i686\".  You can temporarily work"
-			ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine."
-			ewarn "See package.env in man 5 portage for more information on how to do this."
-			ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details"
-		fi
-	fi
-
-	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
-		return 1
-	fi
-}
-
-wine_env_vcs_vars() {
-	local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT"
-	local pn_live_val="${pn_live_var}"
-	eval pn_live_val='$'${pn_live_val}
-	if [[ ! -z ${pn_live_val} ]]; then
-		if use staging || use d3d9; then
-			eerror "Because of the multi-repo nature of ${PN}, ${pn_live_var}"
-			eerror "cannot be used to set the commit. Instead, you may use the"
-			eerror "environmental variables WINE_COMMIT, STAGING_COMMIT, and D3D9_COMMIT."
-			eerror
-			return 1
-		fi
-	fi
-	if [[ ! -z ${EGIT_COMMIT} ]]; then
-		eerror "Commits must now be specified using the environmental variables"
-		eerror "WINE_COMMIT, STAGING_COMMIT, and D3D9_COMMIT"
-		eerror
-		return 1
-	fi
-}
-
-pkg_pretend() {
-	wine_build_environment_check || die
-
-	# Verify OSS support
-	if use oss && ! use kernel_FreeBSD; 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
-			die
-		fi
-	fi
-}
-
-pkg_setup() {
-	wine_build_environment_check || die
-	wine_env_vcs_vars || die
-	if ! use staging; then
-		GV=${VANILLA_GV}
-		MV=${VANILLA_MV}
-	else
-		GV=${STAGING_GV}
-		MV=${STAGING_MV}
-	fi
-}
-
-src_unpack() {
-	if [[ ${PV} == "9999" ]] ; then
-		EGIT_COMMIT="${WINE_COMMIT}" git-r3_src_unpack
-		if use staging; then
-			local CURRENT_WINE_COMMIT=${EGIT_VERSION}
-
-			git-r3_fetch "${STAGING_EGIT_REPO_URI}" "${STAGING_COMMIT}"
-			git-r3_checkout "${STAGING_EGIT_REPO_URI}" "${STAGING_DIR}"
-
-			local COMPAT_WINE_COMMIT=$("${STAGING_DIR}/patches/patchinstall.sh" --upstream-commit) || die
-
-			if [[ "${CURRENT_WINE_COMMIT}" != "${COMPAT_WINE_COMMIT}" ]]; then
-				einfo "The current Staging patchset is not guaranteed to apply on this WINE commit."
-				einfo "If src_prepare fails, try emerging with the env var WINE_COMMIT."
-				einfo "Example: WINE_COMMIT=${COMPAT_WINE_COMMIT} emerge -1 wine"
-			fi
-		fi
-		if use d3d9; then
-			git-r3_fetch "${D3D9_EGIT_REPO_URI}" "${D3D9_COMMIT}"
-			git-r3_checkout "${D3D9_EGIT_REPO_URI}" "${D3D9_DIR}"
-		fi
-	fi
-
-	default
-
-	l10n_find_plocales_changes "${S}/po" "" ".po"
-}
-
-src_prepare() {
-	local md5="$(md5sum server/protocol.def)"
-	local PATCHES=(
-		"${FILESDIR}"/${PN}-1.5.26-winegcc.patch #260726
-		"${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
-	)
-	if use staging; then
-		ewarn "Applying the Wine-Staging patchset. Any bug reports to the"
-		ewarn "Wine bugzilla should explicitly state that staging was used."
-
-		local STAGING_EXCLUDE=""
-		STAGING_EXCLUDE="${STAGING_EXCLUDE} -W winhlp32-Flex_Workaround" # Avoid double patching https://bugs.winehq.org/show_bug.cgi?id=42132
-		use pipelight || STAGING_EXCLUDE="${STAGING_EXCLUDE} -W Pipelight"
-
-		# Launch wine-staging patcher in a subshell, using eapply as a backend, and gitapply.sh as a backend for binary patches
-		ebegin "Running Wine-Staging patch installer"
-		(
-			set -- DESTDIR="${S}" --backend=eapply --no-autoconf --all ${STAGING_EXCLUDE}
-			cd "${STAGING_DIR}/patches"
-			source "${STAGING_DIR}/patches/patchinstall.sh"
-		)
-		eend $? || die "Failed to apply Wine-Staging patches"
-
-		# To differentiate unofficial staging releases
-		if [[ ! -z ${SUFFIX} ]]; then
-			sed -i "s/(Staging)/(Staging [Unofficial])/" libs/wine/Makefile.in || die
-		fi
-	fi
-	if use d3d9; then
-		if use staging; then
-			PATCHES+=( "${D3D9_DIR}/staging-helper.patch" )
-		else
-			PATCHES+=( "${D3D9_DIR}/d3d9-helper.patch" )
-		fi
-		PATCHES+=( "${D3D9_DIR}/wine-d3d9.patch" )
-	fi
-
-	default
-	eautoreconf
-
-	# Modification of the server protocol requires regenerating the server requests
-	if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then
-		einfo "server/protocol.def was patched; running tools/make_requests"
-		tools/make_requests || die #432348
-	fi
-	sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die
-	if ! use run-exes; then
-		sed -i '/^MimeType/d' loader/wine.desktop || die #117785
-	fi
-
-	# hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652
-	cp "${WORKDIR}"/${WINE_GENTOO}/icons/oic_winlogo.ico dlls/user32/resources/ || die
-
-	l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS
-}
-
-src_configure() {
-	wine_compiler_check || die
-
-	export LDCONFIG=/bin/true
-	use custom-cflags || strip-flags
-
-	multilib-minimal_src_configure
-}
-
-multilib_src_configure() {
-	local myconf=(
-		--sysconfdir=/etc/wine
-		$(use_with alsa)
-		$(use_with capi)
-		$(use_with lcms cms)
-		$(use_with cups)
-		$(use_with ncurses curses)
-		$(use_with udisks dbus)
-		$(use_with fontconfig)
-		$(use_with ssl gnutls)
-		$(use_enable gecko mshtml)
-		$(use_with gphoto2 gphoto)
-		$(use_with gsm)
-		$(use_with gstreamer)
-		--without-hal
-		$(use_with jpeg)
-		$(use_with ldap)
-		$(use_enable mono mscoree)
-		$(use_with mp3 mpg123)
-		$(use_with netapi)
-		$(use_with nls gettext)
-		$(use_with openal)
-		$(use_with opencl)
-		$(use_with opengl)
-		$(use_with osmesa)
-		$(use_with oss)
-		$(use_with pcap)
-		$(use_with png)
-		$(use_with pulseaudio pulse)
-		$(use_with threads pthread)
-		$(use_with scanner sane)
-		$(use_enable test tests)
-		$(use_with truetype freetype)
-		$(use_with udev)
-		$(use_with v4l)
-		$(use_with X x)
-		$(use_with xcomposite)
-		$(use_with xinerama)
-		$(use_with xml)
-		$(use_with xml xslt)
-	)
-
-	use staging && myconf+=(
-		--with-xattr
-		$(use_with themes gtk3)
-		$(use_with vaapi va)
-	)
-	use d3d9 && myconf+=( $(use_with d3d9 d3d9-nine) )
-
-	local PKG_CONFIG AR RANLIB
-	# Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038
-	# set AR and RANLIB to make QA scripts happy; #483342
-	tc-export PKG_CONFIG AR RANLIB
-
-	if use amd64; then
-		if [[ ${ABI} == amd64 ]]; then
-			myconf+=( --enable-win64 )
-		else
-			myconf+=( --disable-win64 )
-		fi
-
-		# Note: using --with-wine64 results in problems with multilib.eclass
-		# CC/LD hackery. We're using separate tools instead.
-	fi
-
-	ECONF_SOURCE=${S} \
-	econf "${myconf[@]}"
-	emake depend
-}
-
-multilib_src_test() {
-	# FIXME: win32-only; wine64 tests fail with "could not find the Wine loader"
-	if [[ ${ABI} == x86 ]]; then
-		if [[ $(id -u) == 0 ]]; then
-			ewarn "Skipping tests since they cannot be run under the root user."
-			ewarn "To run the test ${PN} suite, add userpriv to FEATURES in make.conf"
-			return
-		fi
-
-		WINEPREFIX="${T}/.wine-${ABI}" \
-		Xemake test
-	fi
-}
-
-multilib_src_install_all() {
-	local DOCS=( ANNOUNCE AUTHORS README )
-	local l
-	add_locale_docs() {
-		local locale_doc="documentation/README.$1"
-		[[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} )
-	}
-	l10n_for_each_locale_do add_locale_docs
-
-	einstalldocs
-	prune_libtool_files --all
-
-	emake -C "../${WINE_GENTOO}" install DESTDIR="${D}" EPREFIX="${EPREFIX}"
-	if use gecko ; then
-		insinto /usr/share/wine/gecko
-		use abi_x86_32 && doins "${DISTDIR}"/wine_gecko-${GV}-x86.msi
-		use abi_x86_64 && doins "${DISTDIR}"/wine_gecko-${GV}-x86_64.msi
-	fi
-	if use mono ; then
-		insinto /usr/share/wine/mono
-		doins "${DISTDIR}"/wine-mono-${MV}.msi
-	fi
-	if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script
-		rm "${D}"usr/bin/{wine{dump,maker},function_grep.pl} "${D}"usr/share/man/man1/wine{dump,maker}.1 || die
-	fi
-
-	# Remove wineconsole if neither backend is installed #551124
-	if ! use X && ! use ncurses; then
-		rm "${D}"/usr/bin/wineconsole* || die
-		rm "${D}"/usr/share/man/man1/wineconsole* || die
-		rm_wineconsole() {
-			rm "${D}usr/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die
-		}
-		multilib_foreach_abi rm_wineconsole
-	fi
-
-	use abi_x86_32 && pax-mark psmr "${D}"usr/bin/wine{,-preloader} #255055
-	use abi_x86_64 && pax-mark psmr "${D}"usr/bin/wine64{,-preloader}
-
-	if use abi_x86_64 && ! use abi_x86_32; then
-		dosym wine64 /usr/bin/wine # 404331
-		dosym wine64-preloader /usr/bin/wine-preloader
-	fi
-
-	# respect LINGUAS when installing man pages, #469418
-	for l in de fr pl; do
-		has ${l} ${LINGUAS-${l}} || rm -r "${D}"usr/share/man/${l}*
-	done
-}
-
-pkg_preinst() {
-	gnome2_icon_savelist
-}
-
-pkg_postinst() {
-	gnome2_icon_cache_update
-	fdo-mime_desktop_database_update
-
-	if ! use gecko; then
-		ewarn "Without Wine Gecko, wine prefixes will not have a default"
-		ewarn "implementation of iexplore.  Many older windows applications"
-		ewarn "rely upon the existence of an iexplore implementation, so"
-		ewarn "you will likely need to install an external one, like via winetricks"
-	fi
-	if ! use mono; then
-		ewarn "Without Wine Mono, wine prefixes will not have a default"
-		ewarn "implementation of .NET.  Many windows applications rely upon"
-		ewarn "the existence of a .NET implementation, so you will likely need"
-		ewarn "to install an external one, like via winetricks"
-	fi
-}
-
-pkg_postrm() {
-	gnome2_icon_cache_update
-	fdo-mime_desktop_database_update
-}

diff --git a/app-emulation/wine/wine-2.2.ebuild b/app-emulation/wine/wine-2.2.ebuild
deleted file mode 100644
index d1c5a92109e..00000000000
--- a/app-emulation/wine/wine-2.2.ebuild
+++ /dev/null
@@ -1,582 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PLOCALES="ar bg ca cs da de el en en_US eo es fa fi fr he hi hr hu it ja ko lt ml nb_NO nl or pa pl pt_BR pt_PT rm ro ru sk sl sr_RS@cyrillic sr_RS@latin sv te th tr uk wa zh_CN zh_TW"
-PLOCALE_BACKUP="en"
-
-inherit autotools eutils fdo-mime flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator
-
-if [[ ${PV} == "9999" ]] ; then
-	EGIT_REPO_URI="git://source.winehq.org/git/wine.git http://source.winehq.org/git/wine.git"
-	EGIT_BRANCH="master"
-	inherit git-r3
-	SRC_URI=""
-	#KEYWORDS=""
-else
-	MAJOR_V=$(get_version_component_range 1)
-	SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${P}.tar.xz"
-	KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
-fi
-
-VANILLA_GV="2.47"
-VANILLA_MV="4.6.4"
-STAGING_GV="2.47"
-STAGING_MV="4.6.4"
-[[ ${MAJOR_V} == "1.8" ]] && SUFFIX="-unofficial"
-STAGING_P="wine-staging-${PV}"
-STAGING_DIR="${WORKDIR}/${STAGING_P}${SUFFIX}"
-D3D9_P="wine-d3d9-${PV}"
-D3D9_DIR="${WORKDIR}/wine-d3d9-patches-${D3D9_P}"
-WINE_GENTOO="wine-gentoo-2015.03.07"
-DESCRIPTION="Free implementation of Windows(tm) on Unix"
-HOMEPAGE="https://www.winehq.org/"
-SRC_URI="${SRC_URI}
-	!staging? (
-		gecko? (
-			abi_x86_32? ( https://dl.winehq.org/wine/wine-gecko/${VANILLA_GV}/wine_gecko-${VANILLA_GV}-x86.msi )
-			abi_x86_64? ( https://dl.winehq.org/wine/wine-gecko/${VANILLA_GV}/wine_gecko-${VANILLA_GV}-x86_64.msi )
-		)
-		mono? ( https://dl.winehq.org/wine/wine-mono/${VANILLA_MV}/wine-mono-${VANILLA_MV}.msi )
-	)
-	staging? (
-		gecko? (
-			abi_x86_32? ( https://dl.winehq.org/wine/wine-gecko/${STAGING_GV}/wine_gecko-${STAGING_GV}-x86.msi )
-			abi_x86_64? ( https://dl.winehq.org/wine/wine-gecko/${STAGING_GV}/wine_gecko-${STAGING_GV}-x86_64.msi )
-		)
-		mono? ( https://dl.winehq.org/wine/wine-mono/${STAGING_MV}/wine-mono-${STAGING_MV}.msi )
-	)
-	https://dev.gentoo.org/~tetromino/distfiles/${PN}/${WINE_GENTOO}.tar.bz2"
-
-if [[ ${PV} == "9999" ]] ; then
-	STAGING_EGIT_REPO_URI="https://github.com/wine-compholio/wine-staging.git"
-	D3D9_EGIT_REPO_URI="https://github.com/sarnex/wine-d3d9-patches.git"
-else
-	SRC_URI="${SRC_URI}
-	staging? ( https://github.com/wine-compholio/wine-staging/archive/v${PV}${SUFFIX}.tar.gz -> ${STAGING_P}.tar.gz )
-	d3d9? ( https://github.com/sarnex/wine-d3d9-patches/archive/${D3D9_P}.tar.gz )"
-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 themes +threads +truetype udev +udisks v4l vaapi +X +xcomposite xinerama +xml"
-REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
-	X? ( truetype )
-	elibc_glibc? ( threads )
-	osmesa? ( opengl )
-	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
-# or fail due to Xvfb's opengl limitations.
-RESTRICT="test"
-
-COMMON_DEPEND="
-	X? (
-		x11-libs/libXcursor[${MULTILIB_USEDEP}]
-		x11-libs/libXext[${MULTILIB_USEDEP}]
-		x11-libs/libXrandr[${MULTILIB_USEDEP}]
-		x11-libs/libXi[${MULTILIB_USEDEP}]
-		x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
-	)
-	alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
-	capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
-	cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
-	d3d9? (
-		media-libs/mesa[d3d9,egl,${MULTILIB_USEDEP}]
-		x11-libs/libX11[${MULTILIB_USEDEP}]
-		x11-libs/libXext[${MULTILIB_USEDEP}]
-		x11-libs/libxcb[${MULTILIB_USEDEP}]
-	)
-	fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
-	gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
-	gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
-	gstreamer? (
-		media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
-		media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
-	)
-	jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
-	lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
-	ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
-	mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
-	ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
-	netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
-	nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
-	odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
-	openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
-	opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
-	opengl? (
-		virtual/glu[${MULTILIB_USEDEP}]
-		virtual/opengl[${MULTILIB_USEDEP}]
-	)
-	osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
-	pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
-	png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
-	pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
-	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}] )
-	udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
-	udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
-	v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
-	vaapi? ( x11-libs/libva[X,${MULTILIB_USEDEP}] )
-	xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
-	xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
-	xml? (
-		dev-libs/libxml2[${MULTILIB_USEDEP}]
-		dev-libs/libxslt[${MULTILIB_USEDEP}]
-	)
-	abi_x86_32? (
-		!app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
-		!<app-emulation/emul-linux-x86-baselibs-20140508-r14
-		!app-emulation/emul-linux-x86-db[-abi_x86_32(-)]
-		!<app-emulation/emul-linux-x86-db-20140508-r3
-		!app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]
-		!<app-emulation/emul-linux-x86-medialibs-20140508-r6
-		!app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)]
-		!<app-emulation/emul-linux-x86-opengl-20140508-r1
-		!app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)]
-		!<app-emulation/emul-linux-x86-sdl-20140508-r1
-		!app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)]
-		!<app-emulation/emul-linux-x86-soundlibs-20140508
-		!app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)]
-		!<app-emulation/emul-linux-x86-xlibs-20140508
-	)"
-
-RDEPEND="${COMMON_DEPEND}
-	dos? ( >=games-emulation/dosbox-0.74_p20160629 )
-	perl? (
-		dev-lang/perl
-		dev-perl/XML-Simple
-	)
-	pulseaudio? (
-		realtime? ( sys-auth/rtkit )
-	)
-	s3tc? ( >=media-libs/libtxc_dxtn-1.0.1-r1[${MULTILIB_USEDEP}] )
-	samba? ( >=net-fs/samba-3.0.25[winbind] )
-	selinux? ( sec-policy/selinux-wine )
-	udisks? ( sys-fs/udisks:2 )"
-
-# tools/make_requests requires perl
-DEPEND="${COMMON_DEPEND}
-	sys-devel/flex
-	>=sys-kernel/linux-headers-2.6
-	virtual/pkgconfig
-	virtual/yacc
-	X? (
-		x11-proto/inputproto
-		x11-proto/xextproto
-		x11-proto/xf86vidmodeproto
-	)
-	prelink? ( sys-devel/prelink )
-	staging? (
-		dev-lang/perl
-		dev-perl/XML-Simple
-	)
-	xinerama? ( x11-proto/xineramaproto )"
-
-# These use a non-standard "Wine" category, which is provided by
-# /etc/xdg/applications-merged/wine.menu
-QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop
-usr/share/applications/wine-notepad.desktop
-usr/share/applications/wine-uninstaller.desktop
-usr/share/applications/wine-winecfg.desktop"
-
-wine_compiler_check() {
-	[[ ${MERGE_TYPE} = "binary" ]] && return 0
-
-	# GCC-specific bugs
-	if tc-is-gcc; then
-		# bug #549768
-		if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
-			ebegin "Checking for gcc-5 ms_abi compiler bug"
-			$(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
-			# Run in subshell to prevent "Aborted" message
-			( "${T}"/pr66838 || false ) >/dev/null 2>&1
-			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."
-				eerror "See https://bugs.gentoo.org/549768"
-				eerror
-				return 1
-			fi
-		fi
-		# bug #574044
-		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 ) >/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."
-				eerror "See https://bugs.gentoo.org/574044"
-				eerror
-				return 1
-			fi
-		fi
-	fi
-
-	# Ensure compiler support
-	if use abi_x86_64; then
-		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)
-		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"
-			eerror
-			return 1
-		fi
-	fi
-}
-
-wine_build_environment_check() {
-	[[ ${MERGE_TYPE} = "binary" ]] && return 0
-
-	if use abi_x86_64; then
-		if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then
-			eerror "You need gcc-4.4+ to compile 64-bit wine"
-			die
-		elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then
-			eerror "You need clang-3.8+ to compile 64-bit wine"
-			die
-		fi
-	fi
-	if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then
-		ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by"
-		ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in"
-		ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4"
-	fi
-	if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then
-		if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then
-			ewarn "Compilation can hang with CFLAGS=\"-march=i686\".  You can temporarily work"
-			ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine."
-			ewarn "See package.env in man 5 portage for more information on how to do this."
-			ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details"
-		fi
-	fi
-
-	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
-		return 1
-	fi
-}
-
-wine_env_vcs_vars() {
-	local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT"
-	local pn_live_val="${pn_live_var}"
-	eval pn_live_val='$'${pn_live_val}
-	if [[ ! -z ${pn_live_val} ]]; then
-		if use staging || use d3d9; then
-			eerror "Because of the multi-repo nature of ${PN}, ${pn_live_var}"
-			eerror "cannot be used to set the commit. Instead, you may use the"
-			eerror "environmental variables WINE_COMMIT, STAGING_COMMIT, and D3D9_COMMIT."
-			eerror
-			return 1
-		fi
-	fi
-	if [[ ! -z ${EGIT_COMMIT} ]]; then
-		eerror "Commits must now be specified using the environmental variables"
-		eerror "WINE_COMMIT, STAGING_COMMIT, and D3D9_COMMIT"
-		eerror
-		return 1
-	fi
-}
-
-pkg_pretend() {
-	wine_build_environment_check || die
-
-	# Verify OSS support
-	if use oss && ! use kernel_FreeBSD; 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
-			die
-		fi
-	fi
-}
-
-pkg_setup() {
-	wine_build_environment_check || die
-	wine_env_vcs_vars || die
-	if ! use staging; then
-		GV=${VANILLA_GV}
-		MV=${VANILLA_MV}
-	else
-		GV=${STAGING_GV}
-		MV=${STAGING_MV}
-	fi
-}
-
-src_unpack() {
-	if [[ ${PV} == "9999" ]] ; then
-		EGIT_COMMIT="${WINE_COMMIT}" git-r3_src_unpack
-		if use staging; then
-			local CURRENT_WINE_COMMIT=${EGIT_VERSION}
-
-			git-r3_fetch "${STAGING_EGIT_REPO_URI}" "${STAGING_COMMIT}"
-			git-r3_checkout "${STAGING_EGIT_REPO_URI}" "${STAGING_DIR}"
-
-			local COMPAT_WINE_COMMIT=$("${STAGING_DIR}/patches/patchinstall.sh" --upstream-commit) || die
-
-			if [[ "${CURRENT_WINE_COMMIT}" != "${COMPAT_WINE_COMMIT}" ]]; then
-				einfo "The current Staging patchset is not guaranteed to apply on this WINE commit."
-				einfo "If src_prepare fails, try emerging with the env var WINE_COMMIT."
-				einfo "Example: WINE_COMMIT=${COMPAT_WINE_COMMIT} emerge -1 wine"
-			fi
-		fi
-		if use d3d9; then
-			git-r3_fetch "${D3D9_EGIT_REPO_URI}" "${D3D9_COMMIT}"
-			git-r3_checkout "${D3D9_EGIT_REPO_URI}" "${D3D9_DIR}"
-		fi
-	fi
-
-	default
-
-	l10n_find_plocales_changes "${S}/po" "" ".po"
-}
-
-src_prepare() {
-	local md5="$(md5sum server/protocol.def)"
-	local PATCHES=(
-		"${FILESDIR}"/${PN}-1.5.26-winegcc.patch #260726
-		"${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
-	)
-	if use staging; then
-		ewarn "Applying the Wine-Staging patchset. Any bug reports to the"
-		ewarn "Wine bugzilla should explicitly state that staging was used."
-
-		local STAGING_EXCLUDE=""
-		STAGING_EXCLUDE="${STAGING_EXCLUDE} -W winhlp32-Flex_Workaround" # Avoid double patching https://bugs.winehq.org/show_bug.cgi?id=42132
-		use pipelight || STAGING_EXCLUDE="${STAGING_EXCLUDE} -W Pipelight"
-
-		# Launch wine-staging patcher in a subshell, using eapply as a backend, and gitapply.sh as a backend for binary patches
-		ebegin "Running Wine-Staging patch installer"
-		(
-			set -- DESTDIR="${S}" --backend=eapply --no-autoconf --all ${STAGING_EXCLUDE}
-			cd "${STAGING_DIR}/patches"
-			source "${STAGING_DIR}/patches/patchinstall.sh"
-		)
-		eend $? || die "Failed to apply Wine-Staging patches"
-
-		# To differentiate unofficial staging releases
-		if [[ ! -z ${SUFFIX} ]]; then
-			sed -i "s/(Staging)/(Staging [Unofficial])/" libs/wine/Makefile.in || die
-		fi
-	fi
-	if use d3d9; then
-		if use staging; then
-			PATCHES+=( "${D3D9_DIR}/staging-helper.patch" )
-		else
-			PATCHES+=( "${D3D9_DIR}/d3d9-helper.patch" )
-		fi
-		PATCHES+=( "${D3D9_DIR}/wine-d3d9.patch" )
-	fi
-
-	default
-	eautoreconf
-
-	# Modification of the server protocol requires regenerating the server requests
-	if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then
-		einfo "server/protocol.def was patched; running tools/make_requests"
-		tools/make_requests || die #432348
-	fi
-	sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die
-	if ! use run-exes; then
-		sed -i '/^MimeType/d' loader/wine.desktop || die #117785
-	fi
-
-	# hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652
-	cp "${WORKDIR}"/${WINE_GENTOO}/icons/oic_winlogo.ico dlls/user32/resources/ || die
-
-	l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS
-}
-
-src_configure() {
-	wine_compiler_check || die
-
-	export LDCONFIG=/bin/true
-	use custom-cflags || strip-flags
-
-	multilib-minimal_src_configure
-}
-
-multilib_src_configure() {
-	local myconf=(
-		--sysconfdir=/etc/wine
-		$(use_with alsa)
-		$(use_with capi)
-		$(use_with lcms cms)
-		$(use_with cups)
-		$(use_with ncurses curses)
-		$(use_with udisks dbus)
-		$(use_with fontconfig)
-		$(use_with ssl gnutls)
-		$(use_enable gecko mshtml)
-		$(use_with gphoto2 gphoto)
-		$(use_with gsm)
-		$(use_with gstreamer)
-		--without-hal
-		$(use_with jpeg)
-		$(use_with ldap)
-		$(use_enable mono mscoree)
-		$(use_with mp3 mpg123)
-		$(use_with netapi)
-		$(use_with nls gettext)
-		$(use_with openal)
-		$(use_with opencl)
-		$(use_with opengl)
-		$(use_with osmesa)
-		$(use_with oss)
-		$(use_with pcap)
-		$(use_with png)
-		$(use_with pulseaudio pulse)
-		$(use_with threads pthread)
-		$(use_with scanner sane)
-		$(use_enable test tests)
-		$(use_with truetype freetype)
-		$(use_with udev)
-		$(use_with v4l)
-		$(use_with X x)
-		$(use_with xcomposite)
-		$(use_with xinerama)
-		$(use_with xml)
-		$(use_with xml xslt)
-	)
-
-	use staging && myconf+=(
-		--with-xattr
-		$(use_with themes gtk3)
-		$(use_with vaapi va)
-	)
-	use d3d9 && myconf+=( $(use_with d3d9 d3d9-nine) )
-
-	local PKG_CONFIG AR RANLIB
-	# Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038
-	# set AR and RANLIB to make QA scripts happy; #483342
-	tc-export PKG_CONFIG AR RANLIB
-
-	if use amd64; then
-		if [[ ${ABI} == amd64 ]]; then
-			myconf+=( --enable-win64 )
-		else
-			myconf+=( --disable-win64 )
-		fi
-
-		# Note: using --with-wine64 results in problems with multilib.eclass
-		# CC/LD hackery. We're using separate tools instead.
-	fi
-
-	ECONF_SOURCE=${S} \
-	econf "${myconf[@]}"
-	emake depend
-}
-
-multilib_src_test() {
-	# FIXME: win32-only; wine64 tests fail with "could not find the Wine loader"
-	if [[ ${ABI} == x86 ]]; then
-		if [[ $(id -u) == 0 ]]; then
-			ewarn "Skipping tests since they cannot be run under the root user."
-			ewarn "To run the test ${PN} suite, add userpriv to FEATURES in make.conf"
-			return
-		fi
-
-		WINEPREFIX="${T}/.wine-${ABI}" \
-		Xemake test
-	fi
-}
-
-multilib_src_install_all() {
-	local DOCS=( ANNOUNCE AUTHORS README )
-	local l
-	add_locale_docs() {
-		local locale_doc="documentation/README.$1"
-		[[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} )
-	}
-	l10n_for_each_locale_do add_locale_docs
-
-	einstalldocs
-	prune_libtool_files --all
-
-	emake -C "../${WINE_GENTOO}" install DESTDIR="${D}" EPREFIX="${EPREFIX}"
-	if use gecko ; then
-		insinto /usr/share/wine/gecko
-		use abi_x86_32 && doins "${DISTDIR}"/wine_gecko-${GV}-x86.msi
-		use abi_x86_64 && doins "${DISTDIR}"/wine_gecko-${GV}-x86_64.msi
-	fi
-	if use mono ; then
-		insinto /usr/share/wine/mono
-		doins "${DISTDIR}"/wine-mono-${MV}.msi
-	fi
-	if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script
-		rm "${D}"usr/bin/{wine{dump,maker},function_grep.pl} "${D}"usr/share/man/man1/wine{dump,maker}.1 || die
-	fi
-
-	# Remove wineconsole if neither backend is installed #551124
-	if ! use X && ! use ncurses; then
-		rm "${D}"/usr/bin/wineconsole* || die
-		rm "${D}"/usr/share/man/man1/wineconsole* || die
-		rm_wineconsole() {
-			rm "${D}usr/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die
-		}
-		multilib_foreach_abi rm_wineconsole
-	fi
-
-	use abi_x86_32 && pax-mark psmr "${D}"usr/bin/wine{,-preloader} #255055
-	use abi_x86_64 && pax-mark psmr "${D}"usr/bin/wine64{,-preloader}
-
-	if use abi_x86_64 && ! use abi_x86_32; then
-		dosym wine64 /usr/bin/wine # 404331
-		dosym wine64-preloader /usr/bin/wine-preloader
-	fi
-
-	# respect LINGUAS when installing man pages, #469418
-	for l in de fr pl; do
-		has ${l} ${LINGUAS-${l}} || rm -r "${D}"usr/share/man/${l}*
-	done
-}
-
-pkg_preinst() {
-	gnome2_icon_savelist
-}
-
-pkg_postinst() {
-	gnome2_icon_cache_update
-	fdo-mime_desktop_database_update
-
-	if ! use gecko; then
-		ewarn "Without Wine Gecko, wine prefixes will not have a default"
-		ewarn "implementation of iexplore.  Many older windows applications"
-		ewarn "rely upon the existence of an iexplore implementation, so"
-		ewarn "you will likely need to install an external one, like via winetricks"
-	fi
-	if ! use mono; then
-		ewarn "Without Wine Mono, wine prefixes will not have a default"
-		ewarn "implementation of .NET.  Many windows applications rely upon"
-		ewarn "the existence of a .NET implementation, so you will likely need"
-		ewarn "to install an external one, like via winetricks"
-	fi
-}
-
-pkg_postrm() {
-	gnome2_icon_cache_update
-	fdo-mime_desktop_database_update
-}

diff --git a/app-emulation/wine/wine-2.3.ebuild b/app-emulation/wine/wine-2.3.ebuild
deleted file mode 100644
index d1c5a92109e..00000000000
--- a/app-emulation/wine/wine-2.3.ebuild
+++ /dev/null
@@ -1,582 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PLOCALES="ar bg ca cs da de el en en_US eo es fa fi fr he hi hr hu it ja ko lt ml nb_NO nl or pa pl pt_BR pt_PT rm ro ru sk sl sr_RS@cyrillic sr_RS@latin sv te th tr uk wa zh_CN zh_TW"
-PLOCALE_BACKUP="en"
-
-inherit autotools eutils fdo-mime flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator
-
-if [[ ${PV} == "9999" ]] ; then
-	EGIT_REPO_URI="git://source.winehq.org/git/wine.git http://source.winehq.org/git/wine.git"
-	EGIT_BRANCH="master"
-	inherit git-r3
-	SRC_URI=""
-	#KEYWORDS=""
-else
-	MAJOR_V=$(get_version_component_range 1)
-	SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${P}.tar.xz"
-	KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
-fi
-
-VANILLA_GV="2.47"
-VANILLA_MV="4.6.4"
-STAGING_GV="2.47"
-STAGING_MV="4.6.4"
-[[ ${MAJOR_V} == "1.8" ]] && SUFFIX="-unofficial"
-STAGING_P="wine-staging-${PV}"
-STAGING_DIR="${WORKDIR}/${STAGING_P}${SUFFIX}"
-D3D9_P="wine-d3d9-${PV}"
-D3D9_DIR="${WORKDIR}/wine-d3d9-patches-${D3D9_P}"
-WINE_GENTOO="wine-gentoo-2015.03.07"
-DESCRIPTION="Free implementation of Windows(tm) on Unix"
-HOMEPAGE="https://www.winehq.org/"
-SRC_URI="${SRC_URI}
-	!staging? (
-		gecko? (
-			abi_x86_32? ( https://dl.winehq.org/wine/wine-gecko/${VANILLA_GV}/wine_gecko-${VANILLA_GV}-x86.msi )
-			abi_x86_64? ( https://dl.winehq.org/wine/wine-gecko/${VANILLA_GV}/wine_gecko-${VANILLA_GV}-x86_64.msi )
-		)
-		mono? ( https://dl.winehq.org/wine/wine-mono/${VANILLA_MV}/wine-mono-${VANILLA_MV}.msi )
-	)
-	staging? (
-		gecko? (
-			abi_x86_32? ( https://dl.winehq.org/wine/wine-gecko/${STAGING_GV}/wine_gecko-${STAGING_GV}-x86.msi )
-			abi_x86_64? ( https://dl.winehq.org/wine/wine-gecko/${STAGING_GV}/wine_gecko-${STAGING_GV}-x86_64.msi )
-		)
-		mono? ( https://dl.winehq.org/wine/wine-mono/${STAGING_MV}/wine-mono-${STAGING_MV}.msi )
-	)
-	https://dev.gentoo.org/~tetromino/distfiles/${PN}/${WINE_GENTOO}.tar.bz2"
-
-if [[ ${PV} == "9999" ]] ; then
-	STAGING_EGIT_REPO_URI="https://github.com/wine-compholio/wine-staging.git"
-	D3D9_EGIT_REPO_URI="https://github.com/sarnex/wine-d3d9-patches.git"
-else
-	SRC_URI="${SRC_URI}
-	staging? ( https://github.com/wine-compholio/wine-staging/archive/v${PV}${SUFFIX}.tar.gz -> ${STAGING_P}.tar.gz )
-	d3d9? ( https://github.com/sarnex/wine-d3d9-patches/archive/${D3D9_P}.tar.gz )"
-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 themes +threads +truetype udev +udisks v4l vaapi +X +xcomposite xinerama +xml"
-REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
-	X? ( truetype )
-	elibc_glibc? ( threads )
-	osmesa? ( opengl )
-	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
-# or fail due to Xvfb's opengl limitations.
-RESTRICT="test"
-
-COMMON_DEPEND="
-	X? (
-		x11-libs/libXcursor[${MULTILIB_USEDEP}]
-		x11-libs/libXext[${MULTILIB_USEDEP}]
-		x11-libs/libXrandr[${MULTILIB_USEDEP}]
-		x11-libs/libXi[${MULTILIB_USEDEP}]
-		x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
-	)
-	alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
-	capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
-	cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
-	d3d9? (
-		media-libs/mesa[d3d9,egl,${MULTILIB_USEDEP}]
-		x11-libs/libX11[${MULTILIB_USEDEP}]
-		x11-libs/libXext[${MULTILIB_USEDEP}]
-		x11-libs/libxcb[${MULTILIB_USEDEP}]
-	)
-	fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
-	gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
-	gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
-	gstreamer? (
-		media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
-		media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
-	)
-	jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
-	lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
-	ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
-	mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
-	ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
-	netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
-	nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
-	odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
-	openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
-	opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
-	opengl? (
-		virtual/glu[${MULTILIB_USEDEP}]
-		virtual/opengl[${MULTILIB_USEDEP}]
-	)
-	osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
-	pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
-	png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
-	pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
-	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}] )
-	udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
-	udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
-	v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
-	vaapi? ( x11-libs/libva[X,${MULTILIB_USEDEP}] )
-	xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
-	xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
-	xml? (
-		dev-libs/libxml2[${MULTILIB_USEDEP}]
-		dev-libs/libxslt[${MULTILIB_USEDEP}]
-	)
-	abi_x86_32? (
-		!app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
-		!<app-emulation/emul-linux-x86-baselibs-20140508-r14
-		!app-emulation/emul-linux-x86-db[-abi_x86_32(-)]
-		!<app-emulation/emul-linux-x86-db-20140508-r3
-		!app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]
-		!<app-emulation/emul-linux-x86-medialibs-20140508-r6
-		!app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)]
-		!<app-emulation/emul-linux-x86-opengl-20140508-r1
-		!app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)]
-		!<app-emulation/emul-linux-x86-sdl-20140508-r1
-		!app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)]
-		!<app-emulation/emul-linux-x86-soundlibs-20140508
-		!app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)]
-		!<app-emulation/emul-linux-x86-xlibs-20140508
-	)"
-
-RDEPEND="${COMMON_DEPEND}
-	dos? ( >=games-emulation/dosbox-0.74_p20160629 )
-	perl? (
-		dev-lang/perl
-		dev-perl/XML-Simple
-	)
-	pulseaudio? (
-		realtime? ( sys-auth/rtkit )
-	)
-	s3tc? ( >=media-libs/libtxc_dxtn-1.0.1-r1[${MULTILIB_USEDEP}] )
-	samba? ( >=net-fs/samba-3.0.25[winbind] )
-	selinux? ( sec-policy/selinux-wine )
-	udisks? ( sys-fs/udisks:2 )"
-
-# tools/make_requests requires perl
-DEPEND="${COMMON_DEPEND}
-	sys-devel/flex
-	>=sys-kernel/linux-headers-2.6
-	virtual/pkgconfig
-	virtual/yacc
-	X? (
-		x11-proto/inputproto
-		x11-proto/xextproto
-		x11-proto/xf86vidmodeproto
-	)
-	prelink? ( sys-devel/prelink )
-	staging? (
-		dev-lang/perl
-		dev-perl/XML-Simple
-	)
-	xinerama? ( x11-proto/xineramaproto )"
-
-# These use a non-standard "Wine" category, which is provided by
-# /etc/xdg/applications-merged/wine.menu
-QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop
-usr/share/applications/wine-notepad.desktop
-usr/share/applications/wine-uninstaller.desktop
-usr/share/applications/wine-winecfg.desktop"
-
-wine_compiler_check() {
-	[[ ${MERGE_TYPE} = "binary" ]] && return 0
-
-	# GCC-specific bugs
-	if tc-is-gcc; then
-		# bug #549768
-		if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
-			ebegin "Checking for gcc-5 ms_abi compiler bug"
-			$(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
-			# Run in subshell to prevent "Aborted" message
-			( "${T}"/pr66838 || false ) >/dev/null 2>&1
-			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."
-				eerror "See https://bugs.gentoo.org/549768"
-				eerror
-				return 1
-			fi
-		fi
-		# bug #574044
-		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 ) >/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."
-				eerror "See https://bugs.gentoo.org/574044"
-				eerror
-				return 1
-			fi
-		fi
-	fi
-
-	# Ensure compiler support
-	if use abi_x86_64; then
-		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)
-		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"
-			eerror
-			return 1
-		fi
-	fi
-}
-
-wine_build_environment_check() {
-	[[ ${MERGE_TYPE} = "binary" ]] && return 0
-
-	if use abi_x86_64; then
-		if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then
-			eerror "You need gcc-4.4+ to compile 64-bit wine"
-			die
-		elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then
-			eerror "You need clang-3.8+ to compile 64-bit wine"
-			die
-		fi
-	fi
-	if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then
-		ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by"
-		ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in"
-		ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4"
-	fi
-	if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then
-		if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then
-			ewarn "Compilation can hang with CFLAGS=\"-march=i686\".  You can temporarily work"
-			ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine."
-			ewarn "See package.env in man 5 portage for more information on how to do this."
-			ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details"
-		fi
-	fi
-
-	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
-		return 1
-	fi
-}
-
-wine_env_vcs_vars() {
-	local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT"
-	local pn_live_val="${pn_live_var}"
-	eval pn_live_val='$'${pn_live_val}
-	if [[ ! -z ${pn_live_val} ]]; then
-		if use staging || use d3d9; then
-			eerror "Because of the multi-repo nature of ${PN}, ${pn_live_var}"
-			eerror "cannot be used to set the commit. Instead, you may use the"
-			eerror "environmental variables WINE_COMMIT, STAGING_COMMIT, and D3D9_COMMIT."
-			eerror
-			return 1
-		fi
-	fi
-	if [[ ! -z ${EGIT_COMMIT} ]]; then
-		eerror "Commits must now be specified using the environmental variables"
-		eerror "WINE_COMMIT, STAGING_COMMIT, and D3D9_COMMIT"
-		eerror
-		return 1
-	fi
-}
-
-pkg_pretend() {
-	wine_build_environment_check || die
-
-	# Verify OSS support
-	if use oss && ! use kernel_FreeBSD; 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
-			die
-		fi
-	fi
-}
-
-pkg_setup() {
-	wine_build_environment_check || die
-	wine_env_vcs_vars || die
-	if ! use staging; then
-		GV=${VANILLA_GV}
-		MV=${VANILLA_MV}
-	else
-		GV=${STAGING_GV}
-		MV=${STAGING_MV}
-	fi
-}
-
-src_unpack() {
-	if [[ ${PV} == "9999" ]] ; then
-		EGIT_COMMIT="${WINE_COMMIT}" git-r3_src_unpack
-		if use staging; then
-			local CURRENT_WINE_COMMIT=${EGIT_VERSION}
-
-			git-r3_fetch "${STAGING_EGIT_REPO_URI}" "${STAGING_COMMIT}"
-			git-r3_checkout "${STAGING_EGIT_REPO_URI}" "${STAGING_DIR}"
-
-			local COMPAT_WINE_COMMIT=$("${STAGING_DIR}/patches/patchinstall.sh" --upstream-commit) || die
-
-			if [[ "${CURRENT_WINE_COMMIT}" != "${COMPAT_WINE_COMMIT}" ]]; then
-				einfo "The current Staging patchset is not guaranteed to apply on this WINE commit."
-				einfo "If src_prepare fails, try emerging with the env var WINE_COMMIT."
-				einfo "Example: WINE_COMMIT=${COMPAT_WINE_COMMIT} emerge -1 wine"
-			fi
-		fi
-		if use d3d9; then
-			git-r3_fetch "${D3D9_EGIT_REPO_URI}" "${D3D9_COMMIT}"
-			git-r3_checkout "${D3D9_EGIT_REPO_URI}" "${D3D9_DIR}"
-		fi
-	fi
-
-	default
-
-	l10n_find_plocales_changes "${S}/po" "" ".po"
-}
-
-src_prepare() {
-	local md5="$(md5sum server/protocol.def)"
-	local PATCHES=(
-		"${FILESDIR}"/${PN}-1.5.26-winegcc.patch #260726
-		"${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
-	)
-	if use staging; then
-		ewarn "Applying the Wine-Staging patchset. Any bug reports to the"
-		ewarn "Wine bugzilla should explicitly state that staging was used."
-
-		local STAGING_EXCLUDE=""
-		STAGING_EXCLUDE="${STAGING_EXCLUDE} -W winhlp32-Flex_Workaround" # Avoid double patching https://bugs.winehq.org/show_bug.cgi?id=42132
-		use pipelight || STAGING_EXCLUDE="${STAGING_EXCLUDE} -W Pipelight"
-
-		# Launch wine-staging patcher in a subshell, using eapply as a backend, and gitapply.sh as a backend for binary patches
-		ebegin "Running Wine-Staging patch installer"
-		(
-			set -- DESTDIR="${S}" --backend=eapply --no-autoconf --all ${STAGING_EXCLUDE}
-			cd "${STAGING_DIR}/patches"
-			source "${STAGING_DIR}/patches/patchinstall.sh"
-		)
-		eend $? || die "Failed to apply Wine-Staging patches"
-
-		# To differentiate unofficial staging releases
-		if [[ ! -z ${SUFFIX} ]]; then
-			sed -i "s/(Staging)/(Staging [Unofficial])/" libs/wine/Makefile.in || die
-		fi
-	fi
-	if use d3d9; then
-		if use staging; then
-			PATCHES+=( "${D3D9_DIR}/staging-helper.patch" )
-		else
-			PATCHES+=( "${D3D9_DIR}/d3d9-helper.patch" )
-		fi
-		PATCHES+=( "${D3D9_DIR}/wine-d3d9.patch" )
-	fi
-
-	default
-	eautoreconf
-
-	# Modification of the server protocol requires regenerating the server requests
-	if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then
-		einfo "server/protocol.def was patched; running tools/make_requests"
-		tools/make_requests || die #432348
-	fi
-	sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die
-	if ! use run-exes; then
-		sed -i '/^MimeType/d' loader/wine.desktop || die #117785
-	fi
-
-	# hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652
-	cp "${WORKDIR}"/${WINE_GENTOO}/icons/oic_winlogo.ico dlls/user32/resources/ || die
-
-	l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS
-}
-
-src_configure() {
-	wine_compiler_check || die
-
-	export LDCONFIG=/bin/true
-	use custom-cflags || strip-flags
-
-	multilib-minimal_src_configure
-}
-
-multilib_src_configure() {
-	local myconf=(
-		--sysconfdir=/etc/wine
-		$(use_with alsa)
-		$(use_with capi)
-		$(use_with lcms cms)
-		$(use_with cups)
-		$(use_with ncurses curses)
-		$(use_with udisks dbus)
-		$(use_with fontconfig)
-		$(use_with ssl gnutls)
-		$(use_enable gecko mshtml)
-		$(use_with gphoto2 gphoto)
-		$(use_with gsm)
-		$(use_with gstreamer)
-		--without-hal
-		$(use_with jpeg)
-		$(use_with ldap)
-		$(use_enable mono mscoree)
-		$(use_with mp3 mpg123)
-		$(use_with netapi)
-		$(use_with nls gettext)
-		$(use_with openal)
-		$(use_with opencl)
-		$(use_with opengl)
-		$(use_with osmesa)
-		$(use_with oss)
-		$(use_with pcap)
-		$(use_with png)
-		$(use_with pulseaudio pulse)
-		$(use_with threads pthread)
-		$(use_with scanner sane)
-		$(use_enable test tests)
-		$(use_with truetype freetype)
-		$(use_with udev)
-		$(use_with v4l)
-		$(use_with X x)
-		$(use_with xcomposite)
-		$(use_with xinerama)
-		$(use_with xml)
-		$(use_with xml xslt)
-	)
-
-	use staging && myconf+=(
-		--with-xattr
-		$(use_with themes gtk3)
-		$(use_with vaapi va)
-	)
-	use d3d9 && myconf+=( $(use_with d3d9 d3d9-nine) )
-
-	local PKG_CONFIG AR RANLIB
-	# Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038
-	# set AR and RANLIB to make QA scripts happy; #483342
-	tc-export PKG_CONFIG AR RANLIB
-
-	if use amd64; then
-		if [[ ${ABI} == amd64 ]]; then
-			myconf+=( --enable-win64 )
-		else
-			myconf+=( --disable-win64 )
-		fi
-
-		# Note: using --with-wine64 results in problems with multilib.eclass
-		# CC/LD hackery. We're using separate tools instead.
-	fi
-
-	ECONF_SOURCE=${S} \
-	econf "${myconf[@]}"
-	emake depend
-}
-
-multilib_src_test() {
-	# FIXME: win32-only; wine64 tests fail with "could not find the Wine loader"
-	if [[ ${ABI} == x86 ]]; then
-		if [[ $(id -u) == 0 ]]; then
-			ewarn "Skipping tests since they cannot be run under the root user."
-			ewarn "To run the test ${PN} suite, add userpriv to FEATURES in make.conf"
-			return
-		fi
-
-		WINEPREFIX="${T}/.wine-${ABI}" \
-		Xemake test
-	fi
-}
-
-multilib_src_install_all() {
-	local DOCS=( ANNOUNCE AUTHORS README )
-	local l
-	add_locale_docs() {
-		local locale_doc="documentation/README.$1"
-		[[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} )
-	}
-	l10n_for_each_locale_do add_locale_docs
-
-	einstalldocs
-	prune_libtool_files --all
-
-	emake -C "../${WINE_GENTOO}" install DESTDIR="${D}" EPREFIX="${EPREFIX}"
-	if use gecko ; then
-		insinto /usr/share/wine/gecko
-		use abi_x86_32 && doins "${DISTDIR}"/wine_gecko-${GV}-x86.msi
-		use abi_x86_64 && doins "${DISTDIR}"/wine_gecko-${GV}-x86_64.msi
-	fi
-	if use mono ; then
-		insinto /usr/share/wine/mono
-		doins "${DISTDIR}"/wine-mono-${MV}.msi
-	fi
-	if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script
-		rm "${D}"usr/bin/{wine{dump,maker},function_grep.pl} "${D}"usr/share/man/man1/wine{dump,maker}.1 || die
-	fi
-
-	# Remove wineconsole if neither backend is installed #551124
-	if ! use X && ! use ncurses; then
-		rm "${D}"/usr/bin/wineconsole* || die
-		rm "${D}"/usr/share/man/man1/wineconsole* || die
-		rm_wineconsole() {
-			rm "${D}usr/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die
-		}
-		multilib_foreach_abi rm_wineconsole
-	fi
-
-	use abi_x86_32 && pax-mark psmr "${D}"usr/bin/wine{,-preloader} #255055
-	use abi_x86_64 && pax-mark psmr "${D}"usr/bin/wine64{,-preloader}
-
-	if use abi_x86_64 && ! use abi_x86_32; then
-		dosym wine64 /usr/bin/wine # 404331
-		dosym wine64-preloader /usr/bin/wine-preloader
-	fi
-
-	# respect LINGUAS when installing man pages, #469418
-	for l in de fr pl; do
-		has ${l} ${LINGUAS-${l}} || rm -r "${D}"usr/share/man/${l}*
-	done
-}
-
-pkg_preinst() {
-	gnome2_icon_savelist
-}
-
-pkg_postinst() {
-	gnome2_icon_cache_update
-	fdo-mime_desktop_database_update
-
-	if ! use gecko; then
-		ewarn "Without Wine Gecko, wine prefixes will not have a default"
-		ewarn "implementation of iexplore.  Many older windows applications"
-		ewarn "rely upon the existence of an iexplore implementation, so"
-		ewarn "you will likely need to install an external one, like via winetricks"
-	fi
-	if ! use mono; then
-		ewarn "Without Wine Mono, wine prefixes will not have a default"
-		ewarn "implementation of .NET.  Many windows applications rely upon"
-		ewarn "the existence of a .NET implementation, so you will likely need"
-		ewarn "to install an external one, like via winetricks"
-	fi
-}
-
-pkg_postrm() {
-	gnome2_icon_cache_update
-	fdo-mime_desktop_database_update
-}

diff --git a/app-emulation/wine/wine-9999.ebuild b/app-emulation/wine/wine-9999.ebuild
deleted file mode 100644
index 42e616b03a9..00000000000
--- a/app-emulation/wine/wine-9999.ebuild
+++ /dev/null
@@ -1,581 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PLOCALES="ar bg ca cs da de el en en_US eo es fa fi fr he hi hr hu it ja ko lt ml nb_NO nl or pa pl pt_BR pt_PT rm ro ru sk sl sr_RS@cyrillic sr_RS@latin sv te th tr uk wa zh_CN zh_TW"
-PLOCALE_BACKUP="en"
-
-inherit autotools eutils fdo-mime flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator
-
-if [[ ${PV} == "9999" ]] ; then
-	EGIT_REPO_URI="git://source.winehq.org/git/wine.git http://source.winehq.org/git/wine.git"
-	EGIT_BRANCH="master"
-	inherit git-r3
-	SRC_URI=""
-	#KEYWORDS=""
-else
-	MAJOR_V=$(get_version_component_range 1)
-	SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${P}.tar.xz"
-	KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
-fi
-
-VANILLA_GV="2.47"
-VANILLA_MV="4.6.4"
-STAGING_GV="2.47"
-STAGING_MV="4.6.4"
-[[ ${MAJOR_V} == "1.8" ]] && SUFFIX="-unofficial"
-STAGING_P="wine-staging-${PV}"
-STAGING_DIR="${WORKDIR}/${STAGING_P}${SUFFIX}"
-D3D9_P="wine-d3d9-${PV}"
-D3D9_DIR="${WORKDIR}/wine-d3d9-patches-${D3D9_P}"
-WINE_GENTOO="wine-gentoo-2015.03.07"
-DESCRIPTION="Free implementation of Windows(tm) on Unix"
-HOMEPAGE="https://www.winehq.org/"
-SRC_URI="${SRC_URI}
-	!staging? (
-		gecko? (
-			abi_x86_32? ( https://dl.winehq.org/wine/wine-gecko/${VANILLA_GV}/wine_gecko-${VANILLA_GV}-x86.msi )
-			abi_x86_64? ( https://dl.winehq.org/wine/wine-gecko/${VANILLA_GV}/wine_gecko-${VANILLA_GV}-x86_64.msi )
-		)
-		mono? ( https://dl.winehq.org/wine/wine-mono/${VANILLA_MV}/wine-mono-${VANILLA_MV}.msi )
-	)
-	staging? (
-		gecko? (
-			abi_x86_32? ( https://dl.winehq.org/wine/wine-gecko/${STAGING_GV}/wine_gecko-${STAGING_GV}-x86.msi )
-			abi_x86_64? ( https://dl.winehq.org/wine/wine-gecko/${STAGING_GV}/wine_gecko-${STAGING_GV}-x86_64.msi )
-		)
-		mono? ( https://dl.winehq.org/wine/wine-mono/${STAGING_MV}/wine-mono-${STAGING_MV}.msi )
-	)
-	https://dev.gentoo.org/~tetromino/distfiles/${PN}/${WINE_GENTOO}.tar.bz2"
-
-if [[ ${PV} == "9999" ]] ; then
-	STAGING_EGIT_REPO_URI="https://github.com/wine-compholio/wine-staging.git"
-	D3D9_EGIT_REPO_URI="https://github.com/sarnex/wine-d3d9-patches.git"
-else
-	SRC_URI="${SRC_URI}
-	staging? ( https://github.com/wine-compholio/wine-staging/archive/v${PV}${SUFFIX}.tar.gz -> ${STAGING_P}.tar.gz )
-	d3d9? ( https://github.com/sarnex/wine-d3d9-patches/archive/${D3D9_P}.tar.gz )"
-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 themes +threads +truetype udev +udisks v4l vaapi +X +xcomposite xinerama +xml"
-REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
-	X? ( truetype )
-	elibc_glibc? ( threads )
-	osmesa? ( opengl )
-	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
-# or fail due to Xvfb's opengl limitations.
-RESTRICT="test"
-
-COMMON_DEPEND="
-	X? (
-		x11-libs/libXcursor[${MULTILIB_USEDEP}]
-		x11-libs/libXext[${MULTILIB_USEDEP}]
-		x11-libs/libXrandr[${MULTILIB_USEDEP}]
-		x11-libs/libXi[${MULTILIB_USEDEP}]
-		x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
-	)
-	alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
-	capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
-	cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
-	d3d9? (
-		media-libs/mesa[d3d9,egl,${MULTILIB_USEDEP}]
-		x11-libs/libX11[${MULTILIB_USEDEP}]
-		x11-libs/libXext[${MULTILIB_USEDEP}]
-		x11-libs/libxcb[${MULTILIB_USEDEP}]
-	)
-	fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
-	gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
-	gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
-	gstreamer? (
-		media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
-		media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
-	)
-	jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
-	lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
-	ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
-	mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
-	ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
-	netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
-	nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
-	odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
-	openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
-	opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
-	opengl? (
-		virtual/glu[${MULTILIB_USEDEP}]
-		virtual/opengl[${MULTILIB_USEDEP}]
-	)
-	osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
-	pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
-	png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
-	pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
-	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}] )
-	udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
-	udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
-	v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
-	vaapi? ( x11-libs/libva[X,${MULTILIB_USEDEP}] )
-	xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
-	xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
-	xml? (
-		dev-libs/libxml2[${MULTILIB_USEDEP}]
-		dev-libs/libxslt[${MULTILIB_USEDEP}]
-	)
-	abi_x86_32? (
-		!app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
-		!<app-emulation/emul-linux-x86-baselibs-20140508-r14
-		!app-emulation/emul-linux-x86-db[-abi_x86_32(-)]
-		!<app-emulation/emul-linux-x86-db-20140508-r3
-		!app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]
-		!<app-emulation/emul-linux-x86-medialibs-20140508-r6
-		!app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)]
-		!<app-emulation/emul-linux-x86-opengl-20140508-r1
-		!app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)]
-		!<app-emulation/emul-linux-x86-sdl-20140508-r1
-		!app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)]
-		!<app-emulation/emul-linux-x86-soundlibs-20140508
-		!app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)]
-		!<app-emulation/emul-linux-x86-xlibs-20140508
-	)"
-
-RDEPEND="${COMMON_DEPEND}
-	dos? ( >=games-emulation/dosbox-0.74_p20160629 )
-	perl? (
-		dev-lang/perl
-		dev-perl/XML-Simple
-	)
-	pulseaudio? (
-		realtime? ( sys-auth/rtkit )
-	)
-	s3tc? ( >=media-libs/libtxc_dxtn-1.0.1-r1[${MULTILIB_USEDEP}] )
-	samba? ( >=net-fs/samba-3.0.25[winbind] )
-	selinux? ( sec-policy/selinux-wine )
-	udisks? ( sys-fs/udisks:2 )"
-
-# tools/make_requests requires perl
-DEPEND="${COMMON_DEPEND}
-	sys-devel/flex
-	>=sys-kernel/linux-headers-2.6
-	virtual/pkgconfig
-	virtual/yacc
-	X? (
-		x11-proto/inputproto
-		x11-proto/xextproto
-		x11-proto/xf86vidmodeproto
-	)
-	prelink? ( sys-devel/prelink )
-	staging? (
-		dev-lang/perl
-		dev-perl/XML-Simple
-	)
-	xinerama? ( x11-proto/xineramaproto )"
-
-# These use a non-standard "Wine" category, which is provided by
-# /etc/xdg/applications-merged/wine.menu
-QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop
-usr/share/applications/wine-notepad.desktop
-usr/share/applications/wine-uninstaller.desktop
-usr/share/applications/wine-winecfg.desktop"
-
-wine_compiler_check() {
-	[[ ${MERGE_TYPE} = "binary" ]] && return 0
-
-	# GCC-specific bugs
-	if tc-is-gcc; then
-		# bug #549768
-		if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
-			ebegin "Checking for gcc-5 ms_abi compiler bug"
-			$(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
-			# Run in subshell to prevent "Aborted" message
-			( "${T}"/pr66838 || false ) >/dev/null 2>&1
-			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."
-				eerror "See https://bugs.gentoo.org/549768"
-				eerror
-				return 1
-			fi
-		fi
-		# bug #574044
-		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 ) >/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."
-				eerror "See https://bugs.gentoo.org/574044"
-				eerror
-				return 1
-			fi
-		fi
-	fi
-
-	# Ensure compiler support
-	if use abi_x86_64; then
-		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)
-		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"
-			eerror
-			return 1
-		fi
-	fi
-}
-
-wine_build_environment_check() {
-	[[ ${MERGE_TYPE} = "binary" ]] && return 0
-
-	if use abi_x86_64; then
-		if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then
-			eerror "You need gcc-4.4+ to compile 64-bit wine"
-			die
-		elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then
-			eerror "You need clang-3.8+ to compile 64-bit wine"
-			die
-		fi
-	fi
-	if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then
-		ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by"
-		ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in"
-		ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4"
-	fi
-	if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then
-		if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then
-			ewarn "Compilation can hang with CFLAGS=\"-march=i686\".  You can temporarily work"
-			ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine."
-			ewarn "See package.env in man 5 portage for more information on how to do this."
-			ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details"
-		fi
-	fi
-
-	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
-		return 1
-	fi
-}
-
-wine_env_vcs_vars() {
-	local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT"
-	local pn_live_val="${pn_live_var}"
-	eval pn_live_val='$'${pn_live_val}
-	if [[ ! -z ${pn_live_val} ]]; then
-		if use staging || use d3d9; then
-			eerror "Because of the multi-repo nature of ${PN}, ${pn_live_var}"
-			eerror "cannot be used to set the commit. Instead, you may use the"
-			eerror "environmental variables WINE_COMMIT, STAGING_COMMIT, and D3D9_COMMIT."
-			eerror
-			return 1
-		fi
-	fi
-	if [[ ! -z ${EGIT_COMMIT} ]]; then
-		eerror "Commits must now be specified using the environmental variables"
-		eerror "WINE_COMMIT, STAGING_COMMIT, and D3D9_COMMIT"
-		eerror
-		return 1
-	fi
-}
-
-pkg_pretend() {
-	wine_build_environment_check || die
-
-	# Verify OSS support
-	if use oss && ! use kernel_FreeBSD; 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
-			die
-		fi
-	fi
-}
-
-pkg_setup() {
-	wine_build_environment_check || die
-	wine_env_vcs_vars || die
-	if ! use staging; then
-		GV=${VANILLA_GV}
-		MV=${VANILLA_MV}
-	else
-		GV=${STAGING_GV}
-		MV=${STAGING_MV}
-	fi
-}
-
-src_unpack() {
-	if [[ ${PV} == "9999" ]] ; then
-		EGIT_COMMIT="${WINE_COMMIT}" git-r3_src_unpack
-		if use staging; then
-			local CURRENT_WINE_COMMIT=${EGIT_VERSION}
-
-			git-r3_fetch "${STAGING_EGIT_REPO_URI}" "${STAGING_COMMIT}"
-			git-r3_checkout "${STAGING_EGIT_REPO_URI}" "${STAGING_DIR}"
-
-			local COMPAT_WINE_COMMIT=$("${STAGING_DIR}/patches/patchinstall.sh" --upstream-commit) || die
-
-			if [[ "${CURRENT_WINE_COMMIT}" != "${COMPAT_WINE_COMMIT}" ]]; then
-				einfo "The current Staging patchset is not guaranteed to apply on this WINE commit."
-				einfo "If src_prepare fails, try emerging with the env var WINE_COMMIT."
-				einfo "Example: WINE_COMMIT=${COMPAT_WINE_COMMIT} emerge -1 wine"
-			fi
-		fi
-		if use d3d9; then
-			git-r3_fetch "${D3D9_EGIT_REPO_URI}" "${D3D9_COMMIT}"
-			git-r3_checkout "${D3D9_EGIT_REPO_URI}" "${D3D9_DIR}"
-		fi
-	fi
-
-	default
-
-	l10n_find_plocales_changes "${S}/po" "" ".po"
-}
-
-src_prepare() {
-	local md5="$(md5sum server/protocol.def)"
-	local PATCHES=(
-		"${FILESDIR}"/${PN}-1.5.26-winegcc.patch #260726
-		"${FILESDIR}"/${PN}-1.9.5-multilib-portage.patch #395615
-		"${FILESDIR}"/${PN}-1.6-memset-O3.patch #480508
-	)
-	if use staging; then
-		ewarn "Applying the Wine-Staging patchset. Any bug reports to the"
-		ewarn "Wine bugzilla should explicitly state that staging was used."
-
-		local STAGING_EXCLUDE=""
-		STAGING_EXCLUDE="${STAGING_EXCLUDE} -W winhlp32-Flex_Workaround" # Avoid double patching https://bugs.winehq.org/show_bug.cgi?id=42132
-		use pipelight || STAGING_EXCLUDE="${STAGING_EXCLUDE} -W Pipelight"
-
-		# Launch wine-staging patcher in a subshell, using eapply as a backend, and gitapply.sh as a backend for binary patches
-		ebegin "Running Wine-Staging patch installer"
-		(
-			set -- DESTDIR="${S}" --backend=eapply --no-autoconf --all ${STAGING_EXCLUDE}
-			cd "${STAGING_DIR}/patches"
-			source "${STAGING_DIR}/patches/patchinstall.sh"
-		)
-		eend $? || die "Failed to apply Wine-Staging patches"
-
-		# To differentiate unofficial staging releases
-		if [[ ! -z ${SUFFIX} ]]; then
-			sed -i "s/(Staging)/(Staging [Unofficial])/" libs/wine/Makefile.in || die
-		fi
-	fi
-	if use d3d9; then
-		if use staging; then
-			PATCHES+=( "${D3D9_DIR}/staging-helper.patch" )
-		else
-			PATCHES+=( "${D3D9_DIR}/d3d9-helper.patch" )
-		fi
-		PATCHES+=( "${D3D9_DIR}/wine-d3d9.patch" )
-	fi
-
-	default
-	eautoreconf
-
-	# Modification of the server protocol requires regenerating the server requests
-	if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then
-		einfo "server/protocol.def was patched; running tools/make_requests"
-		tools/make_requests || die #432348
-	fi
-	sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die
-	if ! use run-exes; then
-		sed -i '/^MimeType/d' loader/wine.desktop || die #117785
-	fi
-
-	# hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652
-	cp "${WORKDIR}"/${WINE_GENTOO}/icons/oic_winlogo.ico dlls/user32/resources/ || die
-
-	l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS
-}
-
-src_configure() {
-	wine_compiler_check || die
-
-	export LDCONFIG=/bin/true
-	use custom-cflags || strip-flags
-
-	multilib-minimal_src_configure
-}
-
-multilib_src_configure() {
-	local myconf=(
-		--sysconfdir=/etc/wine
-		$(use_with alsa)
-		$(use_with capi)
-		$(use_with lcms cms)
-		$(use_with cups)
-		$(use_with ncurses curses)
-		$(use_with udisks dbus)
-		$(use_with fontconfig)
-		$(use_with ssl gnutls)
-		$(use_enable gecko mshtml)
-		$(use_with gphoto2 gphoto)
-		$(use_with gsm)
-		$(use_with gstreamer)
-		--without-hal
-		$(use_with jpeg)
-		$(use_with ldap)
-		$(use_enable mono mscoree)
-		$(use_with mp3 mpg123)
-		$(use_with netapi)
-		$(use_with nls gettext)
-		$(use_with openal)
-		$(use_with opencl)
-		$(use_with opengl)
-		$(use_with osmesa)
-		$(use_with oss)
-		$(use_with pcap)
-		$(use_with png)
-		$(use_with pulseaudio pulse)
-		$(use_with threads pthread)
-		$(use_with scanner sane)
-		$(use_enable test tests)
-		$(use_with truetype freetype)
-		$(use_with udev)
-		$(use_with v4l)
-		$(use_with X x)
-		$(use_with xcomposite)
-		$(use_with xinerama)
-		$(use_with xml)
-		$(use_with xml xslt)
-	)
-
-	use staging && myconf+=(
-		--with-xattr
-		$(use_with themes gtk3)
-		$(use_with vaapi va)
-	)
-	use d3d9 && myconf+=( $(use_with d3d9 d3d9-nine) )
-
-	local PKG_CONFIG AR RANLIB
-	# Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038
-	# set AR and RANLIB to make QA scripts happy; #483342
-	tc-export PKG_CONFIG AR RANLIB
-
-	if use amd64; then
-		if [[ ${ABI} == amd64 ]]; then
-			myconf+=( --enable-win64 )
-		else
-			myconf+=( --disable-win64 )
-		fi
-
-		# Note: using --with-wine64 results in problems with multilib.eclass
-		# CC/LD hackery. We're using separate tools instead.
-	fi
-
-	ECONF_SOURCE=${S} \
-	econf "${myconf[@]}"
-	emake depend
-}
-
-multilib_src_test() {
-	# FIXME: win32-only; wine64 tests fail with "could not find the Wine loader"
-	if [[ ${ABI} == x86 ]]; then
-		if [[ $(id -u) == 0 ]]; then
-			ewarn "Skipping tests since they cannot be run under the root user."
-			ewarn "To run the test ${PN} suite, add userpriv to FEATURES in make.conf"
-			return
-		fi
-
-		WINEPREFIX="${T}/.wine-${ABI}" \
-		Xemake test
-	fi
-}
-
-multilib_src_install_all() {
-	local DOCS=( ANNOUNCE AUTHORS README )
-	local l
-	add_locale_docs() {
-		local locale_doc="documentation/README.$1"
-		[[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} )
-	}
-	l10n_for_each_locale_do add_locale_docs
-
-	einstalldocs
-	prune_libtool_files --all
-
-	emake -C "../${WINE_GENTOO}" install DESTDIR="${D}" EPREFIX="${EPREFIX}"
-	if use gecko ; then
-		insinto /usr/share/wine/gecko
-		use abi_x86_32 && doins "${DISTDIR}"/wine_gecko-${GV}-x86.msi
-		use abi_x86_64 && doins "${DISTDIR}"/wine_gecko-${GV}-x86_64.msi
-	fi
-	if use mono ; then
-		insinto /usr/share/wine/mono
-		doins "${DISTDIR}"/wine-mono-${MV}.msi
-	fi
-	if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script
-		rm "${D}"usr/bin/{wine{dump,maker},function_grep.pl} "${D}"usr/share/man/man1/wine{dump,maker}.1 || die
-	fi
-
-	# Remove wineconsole if neither backend is installed #551124
-	if ! use X && ! use ncurses; then
-		rm "${D}"/usr/bin/wineconsole* || die
-		rm "${D}"/usr/share/man/man1/wineconsole* || die
-		rm_wineconsole() {
-			rm "${D}usr/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die
-		}
-		multilib_foreach_abi rm_wineconsole
-	fi
-
-	use abi_x86_32 && pax-mark psmr "${D}"usr/bin/wine{,-preloader} #255055
-	use abi_x86_64 && pax-mark psmr "${D}"usr/bin/wine64{,-preloader}
-
-	if use abi_x86_64 && ! use abi_x86_32; then
-		dosym wine64 /usr/bin/wine # 404331
-		dosym wine64-preloader /usr/bin/wine-preloader
-	fi
-
-	# respect LINGUAS when installing man pages, #469418
-	for l in de fr pl; do
-		has ${l} ${LINGUAS-${l}} || rm -r "${D}"usr/share/man/${l}*
-	done
-}
-
-pkg_preinst() {
-	gnome2_icon_savelist
-}
-
-pkg_postinst() {
-	gnome2_icon_cache_update
-	fdo-mime_desktop_database_update
-
-	if ! use gecko; then
-		ewarn "Without Wine Gecko, wine prefixes will not have a default"
-		ewarn "implementation of iexplore.  Many older windows applications"
-		ewarn "rely upon the existence of an iexplore implementation, so"
-		ewarn "you will likely need to install an external one, like via winetricks"
-	fi
-	if ! use mono; then
-		ewarn "Without Wine Mono, wine prefixes will not have a default"
-		ewarn "implementation of .NET.  Many windows applications rely upon"
-		ewarn "the existence of a .NET implementation, so you will likely need"
-		ewarn "to install an external one, like via winetricks"
-	fi
-}
-
-pkg_postrm() {
-	gnome2_icon_cache_update
-	fdo-mime_desktop_database_update
-}


^ permalink raw reply related	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2018-01-06 10:45 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-04-19  7:20 [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine/, app-emulation/wine/files/ Mike Frysinger
  -- strict thread matches above, loose matches on Subject: below --
2018-01-06 10:45 Mikle Kolyada
2016-07-10  5:29 NP Hardass
2016-06-06  2:07 Austin English
2016-04-22  4:48 NP Hardass
2016-03-14  6:37 NP Hardass
2016-03-12 21:10 NP Hardass
2016-03-06  2:57 NP Hardass
2015-10-03  5:43 Alexandre Rostovtsev

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox