From 3d3fa90b2bad80f07a57819950cc4dc41920ee8c Mon Sep 17 00:00:00 2001 From: Yaakov Selkowitz Date: Fri, 13 Jun 2014 13:09:15 -0500 Subject: [PATCH] Fix FTBFS with bison-3.x (#1107365) --- xxdiff-3.2-bison3.patch | 103 ++++++++++++++++++++++++++++++++++++++++ xxdiff.spec | 9 +++- 2 files changed, 111 insertions(+), 1 deletion(-) create mode 100644 xxdiff-3.2-bison3.patch diff --git a/xxdiff-3.2-bison3.patch b/xxdiff-3.2-bison3.patch new file mode 100644 index 0000000..e5b95af --- /dev/null +++ b/xxdiff-3.2-bison3.patch @@ -0,0 +1,103 @@ +Backport of proposed patch in upstream bugtracker: + +https://sourceforge.net/p/xxdiff/bugs/229/ + +diff --git a/src/resParser.cpp b/src/resParser.cpp +index e0b6023..63faad9 100644 +--- a/src/resParser.cpp ++++ b/src/resParser.cpp +@@ -73,7 +73,7 @@ extern int resParserparse( void* ); + + //------------------------------------------------------------------------------ + // +-void resParsererror( const char* msg ) ++void resParsererror( void* resources __attribute__((__unused__)), const char* msg ) + { + // Send errors to stdout so we can filter out the debug info shmeglu while + // debugging parser. +@@ -786,7 +786,7 @@ int parseFromKeywordList( + QString os; + QTextOStream oss( &os ); + oss << "Unknown " << errmsg << ": " << name << flush; +- resParsererror( os.latin1() ); ++ resParsererror( NULL, os.latin1() ); + } + num = ERROR_TOKEN; + return ERROR_TOKEN; +diff --git a/src/resParser.l b/src/resParser.l +index 51c7f30..961ad3f 100644 +--- a/src/resParser.l ++++ b/src/resParser.l +@@ -298,7 +298,7 @@ iddot [a-zA-Z][a-zA-Z0-9\.]* + QString os; + QTextOStream oss( &os ); + oss << "ignoring char: " << yytext << flush; +- yyerror( os.latin1() ); ++ yyerror( resources, os.latin1() ); + */ + } + } +diff --git a/src/resParser.y b/src/resParser.y +index 716ed40..bae21cf 100644 +--- a/src/resParser.y ++++ b/src/resParser.y +@@ -39,12 +39,11 @@ + + // The parser input is the resources object to fill in. + #define RESOURCES ( static_cast(resources) ) +-#define YYPARSE_PARAM resources + + // Declare lexer from other compilation unit. + int resParserlex( YYSTYPE* yylval ); + +-void resParsererror( const char* msg ); ++void resParsererror( void *resources, const char* msg ); + + // Declare some parser functions and data defined in resParser.cpp + namespace XxResParserNS { +@@ -58,6 +57,9 @@ using namespace XxResParserNS; // Make sure we can use the above. + + %} + ++/* The parser input is the resources object to fill in. */ ++%parse-param { void *resources } ++ + /* generate header file */ + %defines + +@@ -144,7 +146,7 @@ using namespace XxResParserNS; // Make sure we can use the above. + %type boolkwd + + %start xxdiffrc +-%pure_parser ++%pure-parser + + %% + xxdiffrc : stmts +@@ -188,7 +190,7 @@ prefgeometry : PREFGEOMETRY COLON GEOMSPEC + RESOURCES->setPreferredGeometry( geometry ); + } + else { +- yyerror( "Bad geometry specification." ); ++ yyerror( resources, "Bad geometry specification." ); + // Should never happen, the lexer regexp should be tough + // enough. + } +@@ -216,7 +218,7 @@ style : STYLE COLON STRING + err += QString( "\nValid styles are: " ); + err += styles.join( ", " ); + #endif +- yyerror( err.latin1() ); ++ yyerror( resources, err.latin1() ); + #if (QT_VERSION >= 0x030000) + } + #endif +@@ -230,7 +232,7 @@ accel : ACCEL DOT ACCELNAME COLON STRING + char buf[2048]; + ::snprintf( buf, 2048, + "Unrecognized accelerator: %s\n", $5 ); +- yyerror( buf ); ++ yyerror( resources, buf ); + } + } + ; diff --git a/xxdiff.spec b/xxdiff.spec index 180124c..d7d69ef 100644 --- a/xxdiff.spec +++ b/xxdiff.spec @@ -1,7 +1,7 @@ Summary: Graphical file and directories comparator and merge tool Name: xxdiff Version: 3.2 -Release: 21%{?dist} +Release: 22%{?dist} License: GPLv2+ Group: Development/Tools URL: http://furius.ca/xxdiff/ @@ -14,6 +14,7 @@ BuildRequires: qt3-devel < 1:4.0, bison, flex Patch0: %{name}-fix-cstdlib_h.patch Patch1: xxdiff-3.2-c-linkage.patch Patch2: xxdiff-3.2-string-constants.patch +Patch3: xxdiff-3.2-bison3.patch %{!?python_sitelib: %define python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")} @@ -41,6 +42,9 @@ Tools for xxdiff # Fix the multitude of warnings about string constants converted to 'char*' %patch2 -p1 +# Fix FTBFS with bison-3.x, https://sf.net/p/xxdiff/bugs/229/ +%patch3 -p1 + %build if [ -z "$QTDIR" ]; then . /etc/profile.d/qt.sh @@ -94,6 +98,9 @@ find ./build -name \*.py -print -exec %{__sed} -i "1{/^#\!/d}" {} \; %{_bindir}/xx-svn-resolve %changelog +* Fri Jun 13 2014 Yaakov Selkowitz - 3.2-22 +- Fix FTBFS with bison-3.x (#1107365) + * Sun Jun 08 2014 Fedora Release Engineering - 3.2-21 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild