summaryrefslogtreecommitdiff
path: root/development/xxdiff
diff options
context:
space:
mode:
Diffstat (limited to 'development/xxdiff')
-rw-r--r--development/xxdiff/xxdiff-e3cdca0088916446b019dcbf8ea7164cc5f788ac.diff115
-rw-r--r--development/xxdiff/xxdiff.SlackBuild4
2 files changed, 119 insertions, 0 deletions
diff --git a/development/xxdiff/xxdiff-e3cdca0088916446b019dcbf8ea7164cc5f788ac.diff b/development/xxdiff/xxdiff-e3cdca0088916446b019dcbf8ea7164cc5f788ac.diff
new file mode 100644
index 0000000000..fc39adbc7e
--- /dev/null
+++ b/development/xxdiff/xxdiff-e3cdca0088916446b019dcbf8ea7164cc5f788ac.diff
@@ -0,0 +1,115 @@
+# HG changeset patch
+# User Martin Blais <blais@furius.ca>
+# Date 1407690283 14400
+# Node ID e3cdca0088916446b019dcbf8ea7164cc5f788ac
+# Parent 5ebaec3d8cb9bb8eaf0600acee495a1ffc28b67c
+Applied patch from <john dot schmerge at gmail dot com> for bison 3.0.2
+
+diff --git a/src/resParser.cpp b/src/resParser.cpp
+--- a/src/resParser.cpp
++++ b/src/resParser.cpp
+@@ -73,7 +73,7 @@
+
+ //------------------------------------------------------------------------------
+ //
+-void resParsererror( const char* msg )
++void resParsererror( XxResources *, const char* msg )
+ {
+ // Send errors to stdout so we can filter out the debug info shmeglu while
+ // debugging parser.
+@@ -794,7 +794,7 @@
+ QString os;
+ QTextStream oss( &os );
+ oss << "Unknown " << errmsg << ": " << name << flush;
+- resParsererror( os.toLatin1().constData() );
++ resParsererror( NULL, os.toLatin1().constData() );
+ }
+ num = ERROR_TOKEN;
+ return ERROR_TOKEN;
+diff --git a/src/resParser.l b/src/resParser.l
+--- a/src/resParser.l
++++ b/src/resParser.l
+@@ -76,7 +76,7 @@
+ result = YY_NULL; \
+ } \
+ else { \
+- int ii = 0; \
++ unsigned ii = 0; \
+ for ( ; (ii < max_size) && (!input_stream_ptr->atEnd()); ++ii ) { \
+ (*input_stream_ptr) >> buf[ii]; \
+ } \
+diff --git a/src/resParser.y b/src/resParser.y
+--- a/src/resParser.y
++++ b/src/resParser.y
+@@ -20,11 +20,6 @@
+ *
+ ******************************************************************************/
+
+-%union
+-{
+- int num;
+- char* str;
+-}
+ %{
+
+ // xxdiff imports
+@@ -39,12 +34,22 @@
+
+ // The parser input is the resources object to fill in.
+ #define RESOURCES ( static_cast<XxResources*>(resources) )
+-#define YYPARSE_PARAM resources
++%}
+
++%define api.pure full
++%parse-param {XxResources * resources}
++
++%union
++{
++ int num;
++ char* str;
++}
++
++%{
+ // Declare lexer from other compilation unit.
+ int resParserlex( YYSTYPE* yylval );
+
+-void resParsererror( const char* msg );
++void resParsererror( XxResources *, const char* msg );
+
+ // Declare some parser functions and data defined in resParser.cpp
+ namespace XxResParserNS {
+@@ -144,7 +149,6 @@
+ %type <num> boolkwd
+
+ %start xxdiffrc
+-%pure_parser
+
+ %%
+ xxdiffrc : stmts
+@@ -188,7 +192,7 @@
+ RESOURCES->setPreferredGeometry( geometry );
+ }
+ else {
+- yyerror( "Bad geometry specification." );
++ yyerror( NULL, "Bad geometry specification." );
+ // Should never happen, the lexer regexp should be tough
+ // enough.
+ }
+@@ -212,7 +216,7 @@
+ QString err = QString( "Requested style key does not exist." );
+ err += QString( "\nValid styles are: " );
+ err += styles.join( ", " );
+- yyerror( err.toLatin1().constData() );
++ yyerror( NULL, err.toLatin1().constData() );
+ }
+ }
+ ;
+@@ -224,7 +228,7 @@
+ char buf[2048];
+ ::snprintf( buf, 2048,
+ "Unrecognized accelerator: %s\n", $5 );
+- yyerror( buf );
++ yyerror( NULL, buf );
+ }
+ }
+ ;
diff --git a/development/xxdiff/xxdiff.SlackBuild b/development/xxdiff/xxdiff.SlackBuild
index 479511df34..eaf1563b36 100644
--- a/development/xxdiff/xxdiff.SlackBuild
+++ b/development/xxdiff/xxdiff.SlackBuild
@@ -51,6 +51,10 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
+# Fix for bison-3
+# https://bitbucket.org/blais/xxdiff/commits/e3cdca0088916446b019dcbf8ea7164cc5f788ac/raw/
+patch -p1 < $CWD/xxdiff-e3cdca0088916446b019dcbf8ea7164cc5f788ac.diff
+
cd src
QMAKE=`which qmake` make -f Makefile.bootstrap Makefile
make