[packages/mysql] - fix building with bison 3.0

baggins baggins at pld-linux.org
Sun Aug 18 21:40:33 CEST 2013


commit cf421da8a0110f4134610b98158e41d6e93487d1
Author: Jan Rękorajski <baggins at pld-linux.org>
Date:   Sun Aug 18 21:40:18 2013 +0200

    - fix building with bison 3.0

 bison3.patch | 40 ++++++++++++++++++++++++++++++++++++++++
 mysql.spec   |  4 +++-
 2 files changed, 43 insertions(+), 1 deletion(-)
---
diff --git a/mysql.spec b/mysql.spec
index bb42e4c..4dd93f1 100644
--- a/mysql.spec
+++ b/mysql.spec
@@ -73,8 +73,9 @@ Patch18:	%{name}-sphinx.patch
 Patch19:	%{name}-chain-certs.patch
 # from fedora
 Patch20:	%{name}-dubious-exports.patch
+Patch21:	bison3.patch
 URL:		http://www.mysql.com/products/community/
-BuildRequires:	bison
+BuildRequires:	bison >= 1.875
 BuildRequires:	cmake >= 2.6
 BuildRequires:	groff
 %if "%{pld_release}" == "ac"
@@ -502,6 +503,7 @@ mv sphinx-*/mysqlse storage/sphinx
 %patch14 -p0
 %patch19 -p1
 %patch20 -p1
+%patch21 -p1
 
 # to get these files rebuild
 [ -f sql/sql_yacc.cc ] && rm sql/sql_yacc.cc
diff --git a/bison3.patch b/bison3.patch
new file mode 100644
index 0000000..d8e0985
--- /dev/null
+++ b/bison3.patch
@@ -0,0 +1,40 @@
+--- Percona-Server-5.5.32-rel31.0/sql/sql_yacc.yy.orig	2013-07-01 05:16:34.000000000 +0200
++++ Percona-Server-5.5.32-rel31.0/sql/sql_yacc.yy	2013-08-18 21:33:19.181583895 +0200
+@@ -26,8 +26,6 @@
+ ** The type will be void*, so it must be  cast to (THD*) when used.
+ ** Use the YYTHD macro for this.
+ */
+-#define YYPARSE_PARAM yythd
+-#define YYLEX_PARAM yythd
+ #define YYTHD ((THD *)yythd)
+ #define YYLIP (& YYTHD->m_parser_state->m_lip)
+ #define YYPS (& YYTHD->m_parser_state->m_yacc)
+@@ -76,7 +74,7 @@
+     ulong val= *(F);                          \
+     if (my_yyoverflow((B), (D), &val))        \
+     {                                         \
+-      yyerror((char*) (A));                   \
++      yyerror(yythd, (char*) (A));            \
+       return 2;                               \
+     }                                         \
+     else                                      \
+@@ -174,7 +172,7 @@
+   to abort from the parser.
+ */
+ 
+-void MYSQLerror(const char *s)
++void MYSQLerror(void *yythd, const char *s)
+ {
+   THD *thd= current_thd;
+ 
+@@ -780,7 +778,9 @@
+ bool my_yyoverflow(short **a, YYSTYPE **b, ulong *yystacksize);
+ %}
+ 
+-%pure_parser                                    /* We have threads */
++%pure-parser                                    /* We have threads */
++%parse-param { void *yythd }
++%lex-param { void *yythd }
+ /*
+   Currently there are 168 shift/reduce conflicts.
+   We should not introduce new conflicts any more.
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/mysql.git/commitdiff/cf421da8a0110f4134610b98158e41d6e93487d1



More information about the pld-cvs-commit mailing list