commit:     6ca4bd78d32c439cb0bdae189d3d309787fbbdb1
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Wed Apr  4 20:42:47 2018 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Wed Apr  4 21:09:32 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6ca4bd78

sci-geosciences/grass: Fix build with GCC-7

Thanks-to: Martin von Gagern <Martin.vGagern <AT> gmx.net>
Closes: https://bugs.gentoo.org/642750
Package-Manager: Portage-2.3.28, Repoman-2.3.9

 sci-geosciences/grass/files/grass-7.2.0-gcc7.patch | 94 ++++++++++++++++++++++
 sci-geosciences/grass/grass-7.2.0-r1.ebuild        |  1 +
 2 files changed, 95 insertions(+)

diff --git a/sci-geosciences/grass/files/grass-7.2.0-gcc7.patch 
b/sci-geosciences/grass/files/grass-7.2.0-gcc7.patch
new file mode 100644
index 00000000000..97be4d7d860
--- /dev/null
+++ b/sci-geosciences/grass/files/grass-7.2.0-gcc7.patch
@@ -0,0 +1,94 @@
+Index: releasebranch_7_2/lib/python/ctypes/ctypesgencore/parser/lextab.py
+===================================================================
+--- a/lib/python/ctypes/ctypesgencore/parser/lextab.py (revision 71218)
++++ b/lib/python/ctypes/ctypesgencore/parser/lextab.py (revision 71219)
+@@ -1,59 +1,8 @@
+ # lextab.py. This file automatically created by PLY (version 2.2). Don't edit!
+-_lextokens = {
+-    'RIGHT_OP': None,
+-    'RIGHT_ASSIGN': None,
+-    'DEC_OP': None,
+-    'PP_MACRO_PARAM': None,
+-    'DIV_ASSIGN': None,
+-    'PP_DEFINE': None,
+-    'PP_END_DEFINE': None,
+-    'PP_DEFINE_MACRO_NAME': None,
+-    'HEADER_NAME': None,
+-    'NEWLINE': None,
+-    'CHARACTER_CONSTANT': None,
+-    'PP_STRINGIFY': None,
+-    'AND_ASSIGN': None,
+-    'PTR_OP': None,
+-    'ELLIPSIS': None,
+-    'IDENTIFIER': None,
+-    'ADD_ASSIGN': None,
+-    'PERIOD': None,
+-    'AND_OP': None,
+-    'OTHER': None,
+-    'LPAREN': None,
+-    'LEFT_OP': None,
+-    'LE_OP': None,
+-    'OR_OP': None,
+-    'SUB_ASSIGN': None,
+-    'MOD_ASSIGN': None,
+-    'STRING_LITERAL': None,
+-    'PP_IDENTIFIER_PASTE': None,
+-    'PP_NUMBER': None,
+-    'PP_DEFINE_NAME': None,
+-    'XOR_ASSIGN': None,
+-    'OR_ASSIGN': None,
+-    'GE_OP': None,
+-    'MUL_ASSIGN': None,
+-    'LEFT_ASSIGN': None,
+-    'INC_OP': None,
+-    'NE_OP': None,
+-    'EQ_OP': None}
+-_lexreflags = 0
+-_lexliterals = ''
++_lextokens    = {'RIGHT_OP': None, 'RIGHT_ASSIGN': None, 'DEC_OP': None, 
'PP_MACRO_PARAM': None, 'DIV_ASSIGN': None, 'PP_DEFINE': None, 'PP_END_DEFINE': 
None, 'PP_DEFINE_MACRO_NAME': None, 'HEADER_NAME': None, 'NEWLINE': None, 
'CHARACTER_CONSTANT': None, 'PP_STRINGIFY': None, 'AND_ASSIGN': None, 'PTR_OP': 
None, 'ELLIPSIS': None, 'IDENTIFIER': None, 'ADD_ASSIGN': None, 'PERIOD': None, 
'AND_OP': None, 'OTHER': None, 'LPAREN': None, 'LEFT_OP': None, 'LE_OP': None, 
'OR_OP': None, 'SUB_ASSIGN': None, 'MOD_ASSIGN': None, 'STRING_LITERAL': None, 
'PP_IDENTIFIER_PASTE': None, 'PP_NUMBER': None, 'PP_DEFINE_NAME': None, 
'XOR_ASSIGN': None, 'OR_ASSIGN': None, 'GE_OP': None, 'MUL_ASSIGN': None, 
'LEFT_ASSIGN': None, 'INC_OP': None, 'NE_OP': None, 'EQ_OP': None}
++_lexreflags   = 0
++_lexliterals  = ''
+ _lexstateinfo = {'INITIAL': 'inclusive', 'DEFINE': 'exclusive'}
+-_lexstatere = {
+-    'INITIAL': [
+-        ('(?P<t_ANY_directive>\\#\\s+(\\d+)\\s+"([^"]+)"[ 
\\d]*\\n)|(?P<t_ANY_punctuator>(\\.\\.\\.|\\|\\||\\+\\+|\\*=|\\^=|<<=|>>=|\\|=|\\+=|>=|>>|<<|<=|<:|%=|:>|<%|!=|\\)|\\+|\\*|\\.|\\?|==|&=|&&|\\[|\\^|--|/=|%>|-=|->|\\||!|%|&|-|,|/|;|:|=|>|]|<|{|}|~))',
 [
+-            None, ('t_ANY_directive', 'ANY_directive'), None, None, 
('t_ANY_punctuator', 'ANY_punctuator')]), 
('(?P<t_INITIAL_identifier>[a-zA-Z_]([a-zA-Z_]|[0-9])*)', [
+-                None, ('t_INITIAL_identifier', 'INITIAL_identifier')]), 
('(?P<t_ANY_float>(?P<p1>[0-9]+)?(?P<dp>[.]?)(?P<p2>(?(p1)[0-9]*|[0-9]+))(?P<exp>(?:[Ee][+-]?[0-9]+)?)(?P<suf>[FflL]?)(?!\\w))',
 [
+-                    None, ('t_ANY_float', 'ANY_float'), None, None, None, 
None, None]), 
('(?P<t_ANY_int>(?P<p1>(?:0x[a-fA-F0-9]+)|(?:[0-9]+))(?P<suf>[uUlL]*))', [
+-                        None, ('t_ANY_int', 'ANY_int'), None, None]), 
('(?P<t_ANY_character_constant>L?\'(\\\\.|[^\\\\\'])+\')|(?P<t_ANY_string_literal>L?"(\\\\.|[^\\\\"])*")|(?P<t_ANY_lparen>\\()|(?P<t_INITIAL_newline>\\n)|(?P<t_INITIAL_pp_define>\\#define)',
 [
+-                            None, ('t_ANY_character_constant', 
'ANY_character_constant'), None, ('t_ANY_string_literal', 
'ANY_string_literal'), None, ('t_ANY_lparen', 'ANY_lparen'), 
('t_INITIAL_newline', 'INITIAL_newline'), ('t_INITIAL_pp_define', 
'INITIAL_pp_define')])], 'DEFINE': [
+-                                
('(?P<t_ANY_directive>\\#\\s+(\\d+)\\s+"([^"]+)"[ 
\\d]*\\n)|(?P<t_ANY_punctuator>(\\.\\.\\.|\\|\\||\\+\\+|\\*=|\\^=|<<=|>>=|\\|=|\\+=|>=|>>|<<|<=|<:|%=|:>|<%|!=|\\)|\\+|\\*|\\.|\\?|==|&=|&&|\\[|\\^|--|/=|%>|-=|->|\\||!|%|&|-|,|/|;|:|=|>|]|<|{|}|~))',
 [
+-                                    None, ('t_ANY_directive', 
'ANY_directive'), None, None, ('t_ANY_punctuator', 'ANY_punctuator')]), 
('(?P<t_DEFINE_identifier>[a-zA-Z_]([a-zA-Z_]|[0-9])*)', [
+-                                        None, ('t_DEFINE_identifier', 
'DEFINE_identifier')]), 
('(?P<t_ANY_float>(?P<p1>[0-9]+)?(?P<dp>[.]?)(?P<p2>(?(p1)[0-9]*|[0-9]+))(?P<exp>(?:[Ee][+-]?[0-9]+)?)(?P<suf>[FflL]?)(?!\\w))',
 [
+-                                            None, ('t_ANY_float', 
'ANY_float'), None, None, None, None, None]), 
('(?P<t_ANY_int>(?P<p1>(?:0x[a-fA-F0-9]+)|(?:[0-9]+))(?P<suf>[uUlL]*))', [
+-                                                None, ('t_ANY_int', 
'ANY_int'), None, None]), 
('(?P<t_ANY_character_constant>L?\'(\\\\.|[^\\\\\'])+\')|(?P<t_ANY_string_literal>L?"(\\\\.|[^\\\\"])*")|(?P<t_ANY_lparen>\\()|(?P<t_DEFINE_newline>\\n)|(?P<t_DEFINE_pp_param_op>(\\#\\#)|(\\#))',
 [
+-                                                    None, 
('t_ANY_character_constant', 'ANY_character_constant'), None, 
('t_ANY_string_literal', 'ANY_string_literal'), None, ('t_ANY_lparen', 
'ANY_lparen'), ('t_DEFINE_newline', 'DEFINE_newline'), ('t_DEFINE_pp_param_op', 
'DEFINE_pp_param_op')])]}
++_lexstatere   = {'INITIAL': 
[('(?P<t_ANY_directive>\\#\\s+(\\d+)\\s+"([^"]+)"[ 
\\d]*\\n)|(?P<t_ANY_punctuator>(\\.\\.\\.|\\|\\||\\+\\+|>>=|\\|=|\\^=|<<=|\\*=|\\+=|>=|>>|%=|:>|%>|!=|\\*|\\.|==|\\^|--|-=|->|\\||<<|<=|<:|<%|\\)|\\+|\\?|&=|&&|\\[|/=|&|,|:|<|>|~|!|%|-|/|;|=|]|{|}))',
 [None, ('t_ANY_directive', 'ANY_directive'), None, None, ('t_ANY_punctuator', 
'ANY_punctuator')]), ('(?P<t_INITIAL_identifier>[a-zA-Z_]([a-zA-Z_]|[0-9])*)', 
[None, ('t_INITIAL_identifier', 'INITIAL_identifier')]), 
('(?P<t_ANY_float>(?P<p1>[0-9]+)?(?P<dp>[.]?)(?P<p2>(?(p1)[0-9]*|[0-9]+))(?P<exp>(?:[Ee][+-]?[0-9]+)?)(?P<suf>([FfLl]|d[dfl]|D[DFL]|[fFdD][0-9]+x?)?)(?!\\w))',
 [None, ('t_ANY_float', 'ANY_float'), None, None, None, None, None]), 
('(?P<t_ANY_int>(?P<p1>(?:0x[a-fA-F0-9]+)|(?:[0-9]+))(?P<suf>[uUlL]*))', [None, 
('t_ANY_int', 'ANY_int'), None, None]), 
('(?P<t_ANY_character_constant>L?\'(\\\\.|[^\\\\\'])+\')|(?P<t_ANY_string_literal>L?"(\\\\.|[^\\\\"])*")|(?P<t_ANY_lparen>\\()|(?P<t_INITIAL_newline>\\n)
 |(?P<t_INITIAL_pp_define>\\#define)', [None, ('t_ANY_character_constant', 
'ANY_character_constant'), None, ('t_ANY_string_literal', 
'ANY_string_literal'), None, ('t_ANY_lparen', 'ANY_lparen'), 
('t_INITIAL_newline', 'INITIAL_newline'), ('t_INITIAL_pp_define', 
'INITIAL_pp_define')])], 'DEFINE': 
[('(?P<t_ANY_directive>\\#\\s+(\\d+)\\s+"([^"]+)"[ 
\\d]*\\n)|(?P<t_ANY_punctuator>(\\.\\.\\.|\\|\\||\\+\\+|>>=|\\|=|\\^=|<<=|\\*=|\\+=|>=|>>|%=|:>|%>|!=|\\*|\\.|==|\\^|--|-=|->|\\||<<|<=|<:|<%|\\)|\\+|\\?|&=|&&|\\[|/=|&|,|:|<|>|~|!|%|-|/|;|=|]|{|}))',
 [None, ('t_ANY_directive', 'ANY_directive'), None, None, ('t_ANY_punctuator', 
'ANY_punctuator')]), ('(?P<t_DEFINE_identifier>[a-zA-Z_]([a-zA-Z_]|[0-9])*)', 
[None, ('t_DEFINE_identifier', 'DEFINE_identifier')]), 
('(?P<t_ANY_float>(?P<p1>[0-9]+)?(?P<dp>[.]?)(?P<p2>(?(p1)[0-9]*|[0-9]+))(?P<exp>(?:[Ee][+-]?[0-9]+)?)(?P<suf>([FfLl]|d[dfl]|D[DFL]|[fFdD][0-9]+x?)?)(?!\\w))',
 [None, ('t_ANY_float', 'ANY_float'), None, None, None, None, None]), 
('(?P<t_ANY
 _int>(?P<p1>(?:0x[a-fA-F0-9]+)|(?:[0-9]+))(?P<suf>[uUlL]*))', [None, 
('t_ANY_int', 'ANY_int'), None, None]), 
('(?P<t_ANY_character_constant>L?\'(\\\\.|[^\\\\\'])+\')|(?P<t_ANY_string_literal>L?"(\\\\.|[^\\\\"])*")|(?P<t_ANY_lparen>\\()|(?P<t_DEFINE_newline>\\n)|(?P<t_DEFINE_pp_param_op>(\\#\\#)|(\\#))',
 [None, ('t_ANY_character_constant', 'ANY_character_constant'), None, 
('t_ANY_string_literal', 'ANY_string_literal'), None, ('t_ANY_lparen', 
'ANY_lparen'), ('t_DEFINE_newline', 'DEFINE_newline'), ('t_DEFINE_pp_param_op', 
'DEFINE_pp_param_op')])]}
+ _lexstateignore = {'INITIAL': ' \t\x0b\x0c\r', 'DEFINE': ' \t\x0b\x0c\r'}
+ _lexstateerrorf = {'INITIAL': 't_INITIAL_error', 'DEFINE': 't_DEFINE_error'}
+Index: releasebranch_7_2/lib/python/ctypes/ctypesgencore/parser/pplexer.py
+===================================================================
+--- a/lib/python/ctypes/ctypesgencore/parser/pplexer.py        (revision 71218)
++++ b/lib/python/ctypes/ctypesgencore/parser/pplexer.py        (revision 71219)
+@@ -52,7 +52,7 @@
+     'L': '[a-zA-Z_]',
+     'H': '[a-fA-F0-9]',
+     'E': '[Ee][+-]?\s*{D}+',
+-    'FS': '[FflL]',
++    'FS': '([FfLl]|d[dfl]|D[DFL]|[fFdD][0-9]+x?)',
+     'IS': '[uUlL]*',
+ }
+ # Helper: substitute {foo} with subs[foo] in string (makes regexes more lexy)
+@@ -226,10 +226,10 @@
+     exp = m.group("exp")
+     suf = m.group("suf")
+ 
+-    if dp or exp or (suf and suf in ("Ff")):
++    if dp or exp or (suf and suf not in ("Ll")):
+         s = m.group(0)
+         if suf:
+-            s = s[:-1]
++            s = s[:-len(suf)]
+         # Attach a prefix so the parser can figure out if should become an
+         # integer, float, or long
+         t.value = "f" + s

diff --git a/sci-geosciences/grass/grass-7.2.0-r1.ebuild 
b/sci-geosciences/grass/grass-7.2.0-r1.ebuild
index be625fa853d..00657af184e 100644
--- a/sci-geosciences/grass/grass-7.2.0-r1.ebuild
+++ b/sci-geosciences/grass/grass-7.2.0-r1.ebuild
@@ -78,6 +78,7 @@ REQUIRED_USE="
 
 PATCHES=(
        "${FILESDIR}/${PN}"-7.0.1-declare-inespg.patch
+       "${FILESDIR}/${P}"-gcc7.patch
 )
 
 pkg_setup() {

Reply via email to