Fix FTBFS with bison-3.x (#1107365)
This commit is contained in:
parent
e5abad2ec1
commit
3d3fa90b2b
2 changed files with 111 additions and 1 deletions
103
xxdiff-3.2-bison3.patch
Normal file
103
xxdiff-3.2-bison3.patch
Normal file
|
|
@ -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<XxResources*>(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 <num> 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 );
|
||||
}
|
||||
}
|
||||
;
|
||||
|
|
@ -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 <yselkowi@redhat.com> - 3.2-22
|
||||
- Fix FTBFS with bison-3.x (#1107365)
|
||||
|
||||
* Sun Jun 08 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.2-21
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue