summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
author Willy Sudiarto Raharjo2017-07-24 15:44:55 +0200
committer Matteo Bernardini2019-08-24 08:42:57 +0200
commit39934636fc88ab9755b905d79bf3403003c9da9c (patch)
tree9f346e870a4c94691dab8642df540e91f3b99151
parent5afd639f0f73f1a079e885e0ef5df06643eba6a4 (diff)
downloadslackbuilds-grass.tar.gz
gis/grass: Patch for gcc >= 7.x.grass
Signed-off-by: Matteo Bernardini <ponce@slackbuilds.org>
-rw-r--r--gis/grass/gcc7.patch90
-rw-r--r--gis/grass/grass.SlackBuild2
2 files changed, 92 insertions, 0 deletions
diff --git a/gis/grass/gcc7.patch b/gis/grass/gcc7.patch
new file mode 100644
index 0000000000..afcea67c7c
--- /dev/null
+++ b/gis/grass/gcc7.patch
@@ -0,0 +1,90 @@
+Index: /grass/branches/releasebranch_7_2/lib/python/ctypes/ctypesgencore/parser/lextab.py
+===================================================================
+--- /grass/branches/releasebranch_7_2/lib/python/ctypes/ctypesgencore/parser/lextab.py (revision 71218)
++++ /grass/branches/releasebranch_7_2/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: /grass/branches/releasebranch_7_2/lib/python/ctypes/ctypesgencore/parser/pplexer.py
+===================================================================
+--- /grass/branches/releasebranch_7_2/lib/python/ctypes/ctypesgencore/parser/pplexer.py (revision 71218)
++++ /grass/branches/releasebranch_7_2/lib/python/ctypes/ctypesgencore/parser/pplexer.py (revision 71219)
+@@ -53,5 +53,5 @@
+ 'H': '[a-fA-F0-9]',
+ 'E': '[Ee][+-]?\s*{D}+',
+- 'FS': '[FflL]',
++ 'FS': '([FfLl]|d[dfl]|D[DFL]|[fFdD][0-9]+x?)',
+ 'IS': '[uUlL]*',
+ }
+@@ -227,8 +227,8 @@
+ 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
diff --git a/gis/grass/grass.SlackBuild b/gis/grass/grass.SlackBuild
index 8f1b6cc3ef..1b93e6deb8 100644
--- a/gis/grass/grass.SlackBuild
+++ b/gis/grass/grass.SlackBuild
@@ -119,6 +119,8 @@ done
# geos now always enabled: it's an indirect hard dep (via gdal), and makes grass nicer :-)
+patch -p4 < $CWD/gcc7.patch
+
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS -fpermissive" \
LDFLAGS="-ldl -lncurses" \