development/xxdiff: Updated SlackBuild.

Patched for building with bison-3 on -current.

Signed-off-by: David Spencer <baildon.research@googlemail.com>
This commit is contained in:
David Spencer 2015-07-26 15:20:30 +01:00 committed by Willy Sudiarto Raharjo
parent f9cec14e52
commit 4c2565649a
2 changed files with 119 additions and 0 deletions

View file

@ -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 );
}
}
;

View file

@ -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