From 44fa350fc5d44b21a1e7d7f95edd56fc34bcdcca Mon Sep 17 00:00:00 2001 From: Patsy Franklin Date: Tue, 14 Aug 2018 19:40:53 -0400 Subject: [PATCH] Resolves: # 1583179 - _IO_ftrylockfile is obsolete as part of the removal of libio.h - Build requires gcc-c++ to fix build failure. (#1603491) - Update to bison 3.0.5 (#1583179) --- .gitignore | 1 + bison-3.0.4-c++-test-failure.patch | 151 ----------------------------- bison-3.0.5-gnulib-fseterr.patch | 19 ++++ bison.spec | 16 +-- sources | 2 +- 5 files changed, 31 insertions(+), 158 deletions(-) delete mode 100644 bison-3.0.4-c++-test-failure.patch create mode 100644 bison-3.0.5-gnulib-fseterr.patch diff --git a/.gitignore b/.gitignore index 45f963b..e800ec3 100644 --- a/.gitignore +++ b/.gitignore @@ -9,3 +9,4 @@ bison-*/ /bison-2.7.tar.xz /bison-3.0.2.tar.xz /bison-3.0.4.tar.xz +/bison-3.0.5.tar.xz diff --git a/bison-3.0.4-c++-test-failure.patch b/bison-3.0.4-c++-test-failure.patch deleted file mode 100644 index 89fc5f6..0000000 --- a/bison-3.0.4-c++-test-failure.patch +++ /dev/null @@ -1,151 +0,0 @@ -commit 952416114729b95209dccfc4edacfc1ff13b4e82 -Author: Akim Demaille -Date: Mon Jan 26 18:23:12 2015 +0100 - - tests: c++: fix symbol lookup issue - - Sun C 5.13 SunOS_sparc 2014/10/20 reports errors on tests 430-432. - - Reported by Dennis Clarke. - - - * tests/c++.at (Variants): Be sure to emit operator<< before using it: - use "%code top" rather than "%code". - Prefer std::vector to std::list. - Do not define anything in std::, to avoid undefined behavior. - -diff --git a/tests/c++.at b/tests/c++.at -index 55d7d40..60292f4 100644 ---- a/tests/c++.at -+++ b/tests/c++.at -@@ -96,7 +96,7 @@ AT_SETUP([C++ Variant-based Symbols]) - AT_KEYWORDS([variant]) - - AT_BISON_OPTION_PUSHDEFS([%skeleton "lalr1.cc" %debug $1]) --# Store strings and integers in a list of strings. -+# Store strings and integers in a vector of strings. - AT_DATA_GRAMMAR([list.y], - [[%skeleton "lalr1.cc" - %define api.value.type variant -@@ -114,20 +114,20 @@ AT_DATA_GRAMMAR([list.y], - } - - %token INT "int" --%type < std::list > exp -+%type < std::vector > exp - - %printer { yyo << $$; } - %printer - { -- for (std::list::const_iterator i = $$.begin (); i != $$.end (); ++i) -+ for (std::vector::const_iterator i = $$.begin (); i != $$.end (); ++i) - { - if (i != $$.begin ()) - yyo << ", "; - yyo << *i; - } -- } < std::list > -+ } < std::vector > - --%code requires { #include } -+%code requires { #include } - %code { int yylex (yy::parser::semantic_type* yylval); } - - %% -@@ -185,7 +185,7 @@ m4_pushdef([AT_TEST], - [AT_SETUP([Variants $1]) - - AT_BISON_OPTION_PUSHDEFS([%debug $1]) --# Store strings and integers in a list of strings. -+# Store strings and integers in a vector of strings. - AT_DATA_GRAMMAR([list.y], - [[%debug - %define api.value.type variant -@@ -194,29 +194,25 @@ AT_DATA_GRAMMAR([list.y], - - %code requires // code for the .hh file - { --#include -+#include - #include --typedef std::list strings_type; -+typedef std::vector strings_type; - } - --%code // code for the .cc file -+%code top // code for the .cc file. - { - #include // abort, getenv - #include -+#include - #include -+#include - -- namespace yy -- { -- static]AT_TOKEN_CTOR_IF([[ -- parser::symbol_type yylex ()]], [[ -- parser::token_type yylex (parser::semantic_type* yylval]AT_LOCATION_IF([, -- parser::location_type* yylloc])[)]])[; -- } - -- // Printing a list of strings (for %printer). -- // Koening look up will look into std, since that's an std::list. -- namespace std -+ typedef std::vector strings_type; -+ -+ namespace yy - { -+ // Must be available early, as is used in %destructor. - std::ostream& - operator<<(std::ostream& o, const strings_type& s) - { -@@ -230,16 +226,27 @@ typedef std::list strings_type; - return o << ')'; - } - } -+} - -- // Conversion to string. -- template -- inline -- std::string -- to_string (const T& t) -+%code // code for the .cc file. -+{ -+ namespace yy - { -- std::ostringstream o; -- o << t; -- return o.str (); -+ static]AT_TOKEN_CTOR_IF([[ -+ parser::symbol_type yylex ()]], [[ -+ parser::token_type yylex (parser::semantic_type* yylval]AT_LOCATION_IF([, -+ parser::location_type* yylloc])[)]])[; -+ -+ // Conversion to string. -+ template -+ inline -+ std::string -+ to_string (const T& t) -+ { -+ std::ostringstream o; -+ o << t; -+ return o.str (); -+ } - } - } - -@@ -252,10 +259,10 @@ typedef std::list strings_type; - // Using the template type to exercize its parsing. - // Starting with :: to ensure we don't output "<::" which starts by the - // digraph for the left square bracket. --%type <::std::list> list; -+%type <::std::vector> list; - - %printer { yyo << $$; } -- <::std::string> <::std::list>; -+ <::std::string> <::std::vector>; - %destructor { std::cerr << "Destroy: " << $$ << '\n'; } <*>; - %destructor { std::cerr << "Destroy: \"" << $$ << "\"\n"; } <::std::string>; - %% diff --git a/bison-3.0.5-gnulib-fseterr.patch b/bison-3.0.5-gnulib-fseterr.patch new file mode 100644 index 0000000..cd2a482 --- /dev/null +++ b/bison-3.0.5-gnulib-fseterr.patch @@ -0,0 +1,19 @@ +commit 4af4a4a71827c0bc5e0ec67af23edef4f15cee8e +Author: Paul Eggert +Date: Mon Mar 5 10:56:29 2018 -0800 + + fflush: adjust to glibc 2.28 libio.h removal + (Only part of this commit was backported as needed.) + +diff -Nrup a/lib/fseterr.c b/lib/fseterr.c +--- a/lib/fseterr.c 2018-05-08 06:02:48.000000000 -0400 ++++ b/lib/fseterr.c 2018-08-14 16:06:19.636282264 -0400 +@@ -29,7 +29,7 @@ fseterr (FILE *fp) + /* Most systems provide FILE as a struct and the necessary bitmask in + , because they need it for implementing getc() and putc() as + fast macros. */ +-#if defined _IO_EOF_SEEN || defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 ++#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 + /* GNU libc, BeOS, Haiku, Linux libc5 */ + fp->_flags |= _IO_ERR_SEEN; + #elif defined __sferror || defined __DragonFly__ || defined __ANDROID__ diff --git a/bison.spec b/bison.spec index 1ac01a7..bc3df92 100644 --- a/bison.spec +++ b/bison.spec @@ -1,17 +1,16 @@ Summary: A GNU general-purpose parser generator Name: bison -Version: 3.0.4 -Release: 10%{?dist} +Version: 3.0.5 +Release: 1%{?dist} License: GPLv3+ Group: Development/Tools Source: ftp://ftp.gnu.org/pub/gnu/bison/bison-%{version}.tar.xz -# https://bugzilla.redhat.com/show_bug.cgi?id=948856 -# Submitted for upstream inclusion on 2013-05-17. -Patch0: bison-3.0.4-c++-test-failure.patch +# Fix errors caused by references to obsolete libio.h +Patch0: bison-3.0.5-gnulib-fseterr.patch # testsuite dependency -BuildRequires: gcc +BuildRequires: gcc-c++ BuildRequires: autoconf BuildRequires: flex @@ -136,6 +135,11 @@ fi %{_libdir}/liby.a %changelog +* Tue Aug 14 2018 Patsy Griffin Franklin - 3.0.5-1 +- _IO_ftrylockfile is obsolete as part of the removal of libio.h +- Build requires gcc-c++ to fix build failure. (#1603491) +- Update to bison 3.0.5 (#1583179) + * Thu Jul 12 2018 Fedora Release Engineering - 3.0.4-10 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild diff --git a/sources b/sources index b7e3f5c..e8b183f 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -c342201de104cc9ce0a21e0ad10d4021 bison-3.0.4.tar.xz +SHA512 (bison-3.0.5.tar.xz) = 00b448db8abe91b07e32ff5273c6617bc1350d806f92073a9472f4c2f0de5d22c152795674171b74f2eb9eff8d36f8173b82dacb215601bb071ae39404d4a8a2