commit:     cc9f166fe9cd2176ad5bbd41300390e5d8f8a575
Author:     Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
AuthorDate: Mon Jan  2 11:36:22 2017 +0000
Commit:     Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
CommitDate: Mon Jan  2 11:36:37 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cc9f166f

app-emulation/wine: Fixed compilation with =sys-devel/flex-2.6.3

Package-Manager: Portage-2.3.3, Repoman-2.3.1

 .../wine/files/wine-2.0_rc3-flex263.patch          | 43 ++++++++++++++++++++++
 app-emulation/wine/wine-1.9.23.ebuild              |  5 ++-
 app-emulation/wine/wine-9999.ebuild                |  5 ++-
 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 00000000..6218bc4
--- /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 <[email protected]>
+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 5eba6e1..b6f6e76 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 5eba6e1..b6f6e76 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"

Reply via email to