summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-emulation')
-rw-r--r--app-emulation/wine/files/wine-2.0_rc3-flex263.patch43
-rw-r--r--app-emulation/wine/wine-1.9.23.ebuild5
-rw-r--r--app-emulation/wine/wine-9999.ebuild5
3 files changed, 51 insertions, 2 deletions
diff --git a/app-emulation/wine/files/wine-2.0_rc3-flex263.patch b/app-emulation/wine/files/wine-2.0_rc3-flex263.patch
new file mode 100644
index 000000000000..6218bc422397
--- /dev/null
+++ b/app-emulation/wine/files/wine-2.0_rc3-flex263.patch
@@ -0,0 +1,43 @@
+From 7573939745b6cf62caa04cbcfcfa6982ba036542 Mon Sep 17 00:00:00 2001
+From: nvinson234 <nvinson234@gmail.com>
+Date: Sun, 1 Jan 2017 20:24:49 +0100
+Subject: [PATCH] undefined reference yywrap in winhlp32/macro.lex.yy.c
+ (flex-2.6.3)
+
+flex-2.6.3 uses C preprocessor macros to change the prefix of its functions
+from the standard yy to a user-defined one. This is a change in Flex behavior
+and causes wine to fail with any version of Flex newer than 2.6.1.
+
+The failure is caused because programs/winhlp32/macros.lex.l only defines the
+yywrap macro if it is not already defined. The end result is C code that is
+looking for an undefined yywrap() function.
+
+I have attached a patch that fixes this issue by removing the yywrap macro check and definition from macros.lex.l and adding the noyywrap flex option.
+---
+ programs/winhlp32/macro.lex.l | 6 +-----
+ 1 file changed, 1 insertion(+), 5 deletions(-)
+
+diff --git a/programs/winhlp32/macro.lex.l b/programs/winhlp32/macro.lex.l
+index 8f6945ca98..ff8a4832d3 100644
+--- a/programs/winhlp32/macro.lex.l
++++ b/programs/winhlp32/macro.lex.l
+@@ -20,7 +20,7 @@
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+ %}
+-%option noinput nounput never-interactive 8bit
++%option noinput nounput noyywrap never-interactive 8bit
+ %x quote
+ %{
+ #include "config.h"
+@@ -367,7 +367,3 @@ WINHELP_WINDOW* MACRO_CurrentWindow(void)
+ {
+ return lex_data ? lex_data->window : Globals.active_win;
+ }
+-
+-#ifndef yywrap
+-int yywrap(void) { return 1; }
+-#endif
+--
+2.11.0
+
diff --git a/app-emulation/wine/wine-1.9.23.ebuild b/app-emulation/wine/wine-1.9.23.ebuild
index 5eba6e1a5b42..b6f6e7664a29 100644
--- a/app-emulation/wine/wine-1.9.23.ebuild
+++ b/app-emulation/wine/wine-1.9.23.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
@@ -338,6 +338,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
+
+ # https://bugs.winehq.org/show_bug.cgi?id=42132
+ "${FILESDIR}"/${PN}-2.0_rc3-flex263.patch
)
if use staging; then
ewarn "Applying the Wine-Staging patchset. Any bug reports to the"
diff --git a/app-emulation/wine/wine-9999.ebuild b/app-emulation/wine/wine-9999.ebuild
index 5eba6e1a5b42..b6f6e7664a29 100644
--- a/app-emulation/wine/wine-9999.ebuild
+++ b/app-emulation/wine/wine-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
@@ -338,6 +338,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
+
+ # https://bugs.winehq.org/show_bug.cgi?id=42132
+ "${FILESDIR}"/${PN}-2.0_rc3-flex263.patch
)
if use staging; then
ewarn "Applying the Wine-Staging patchset. Any bug reports to the"