* [gentoo-commits] repo/gentoo:master commit in: sys-devel/bison/, sys-devel/bison/files/
@ 2017-11-12 12:20 Fabian Groffen
0 siblings, 0 replies; 2+ messages in thread
From: Fabian Groffen @ 2017-11-12 12:20 UTC (permalink / raw
To: gentoo-commits
commit: 763c0d847edc3bb5b61ee77123cdfabbc3405b1d
Author: Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Sun Nov 12 12:20:31 2017 +0000
Commit: Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Sun Nov 12 12:20:31 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=763c0d84
sys-devel/bison: add patch to fix crash at runtime on Darwin 17, bug #632500
Package-Manager: Portage-2.3.8, Repoman-2.3.3
sys-devel/bison/bison-3.0.4-r1.ebuild | 1 +
.../files/bison-3.0.4-darwin17-printf-n.patch | 30 ++++++++++++++++++++++
2 files changed, 31 insertions(+)
diff --git a/sys-devel/bison/bison-3.0.4-r1.ebuild b/sys-devel/bison/bison-3.0.4-r1.ebuild
index c20e7436f01..ab8dcc62aa6 100644
--- a/sys-devel/bison/bison-3.0.4-r1.ebuild
+++ b/sys-devel/bison/bison-3.0.4-r1.ebuild
@@ -25,6 +25,7 @@ DOCS=( AUTHORS ChangeLog-2012 NEWS README THANKS TODO ) # ChangeLog-1998 PACKAGI
src_prepare() {
epatch "${FILESDIR}"/${P}-optional-perl.patch #538300
+ epatch "${FILESDIR}"/${P}-darwin17-printf-n.patch #632500
# The makefiles make the man page depend on the configure script
# which we patched above. Touch it to prevent regeneration.
touch doc/bison.1 #548778 #538300#9
diff --git a/sys-devel/bison/files/bison-3.0.4-darwin17-printf-n.patch b/sys-devel/bison/files/bison-3.0.4-darwin17-printf-n.patch
new file mode 100644
index 00000000000..1c77ed773c2
--- /dev/null
+++ b/sys-devel/bison/files/bison-3.0.4-darwin17-printf-n.patch
@@ -0,0 +1,30 @@
+http://lists.gnu.org/archive/html/bug-gnulib/2017-07/txtmumXtpD69v.txt
+
+extract of only the relevant hunk to avoid irrelevant conflicts
+
+From c41f233c4c38e84023a16339782ee306f03e7f59 Mon Sep 17 00:00:00 2001
+From: Paul Eggert <address@hidden>
+Date: Fri, 7 Jul 2017 14:10:20 -0700
+Subject: [PATCH] vasnprintf: port to macOS 10.13
+
+Problem reported by comex in:
+http://lists.gnu.org/archive/html/bug-gnulib/2017-07/msg00056.html
+* lib/vasnprintf.c (VASNPRINTF): Donât use %n on macOS.
+
+diff --git a/lib/vasnprintf.c b/lib/vasnprintf.c
+index 9c2af0e..fecaf27 100644
+--- a/lib/vasnprintf.c
++++ b/lib/vasnprintf.c
+@@ -4869,7 +4869,11 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
+ #endif
+ *fbp = dp->conversion;
+ #if USE_SNPRINTF
+-# if !(((__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 3)) && !defined __UCLIBC__) || ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__))
++# if ! (((__GLIBC__ > 2 \
++ || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 3)) \
++ && !defined __UCLIBC__) \
++ || (defined __APPLE__ && defined __MACH__) \
++ || ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__))
+ fbp[1] = '%';
+ fbp[2] = 'n';
+ fbp[3] = '\0';
^ permalink raw reply related [flat|nested] 2+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/bison/, sys-devel/bison/files/
@ 2017-11-21 18:40 Thomas Deutschmann
0 siblings, 0 replies; 2+ messages in thread
From: Thomas Deutschmann @ 2017-11-21 18:40 UTC (permalink / raw
To: gentoo-commits
commit: c284480b5e7e390aa76810e158eeae5b5c4beb54
Author: Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
AuthorDate: Tue Nov 21 18:40:00 2017 +0000
Commit: Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
CommitDate: Tue Nov 21 18:40:14 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c284480b
sys-devel/bison: Fix test suite when using GCC 7
Closes: https://bugs.gentoo.org/638308
Package-Manager: Portage-2.3.13, Repoman-2.3.4
sys-devel/bison/bison-3.0.4-r1.ebuild | 1 +
.../bison/files/bison-3.0.4-fix-tests-gcc-7.patch | 151 +++++++++++++++++++++
2 files changed, 152 insertions(+)
diff --git a/sys-devel/bison/bison-3.0.4-r1.ebuild b/sys-devel/bison/bison-3.0.4-r1.ebuild
index ab8dcc62aa6..3672e2275c1 100644
--- a/sys-devel/bison/bison-3.0.4-r1.ebuild
+++ b/sys-devel/bison/bison-3.0.4-r1.ebuild
@@ -26,6 +26,7 @@ DOCS=( AUTHORS ChangeLog-2012 NEWS README THANKS TODO ) # ChangeLog-1998 PACKAGI
src_prepare() {
epatch "${FILESDIR}"/${P}-optional-perl.patch #538300
epatch "${FILESDIR}"/${P}-darwin17-printf-n.patch #632500
+ epatch "${FILESDIR}"/${P}-fix-tests-gcc-7.patch #638308
# The makefiles make the man page depend on the configure script
# which we patched above. Touch it to prevent regeneration.
touch doc/bison.1 #548778 #538300#9
diff --git a/sys-devel/bison/files/bison-3.0.4-fix-tests-gcc-7.patch b/sys-devel/bison/files/bison-3.0.4-fix-tests-gcc-7.patch
new file mode 100644
index 00000000000..89fc5f6c39a
--- /dev/null
+++ b/sys-devel/bison/files/bison-3.0.4-fix-tests-gcc-7.patch
@@ -0,0 +1,151 @@
+commit 952416114729b95209dccfc4edacfc1ff13b4e82
+Author: Akim Demaille <akim@lrde.epita.fr>
+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.
+ <http://lists.gnu.org/archive/html/bug-bison/2015-01/msg00087.html>
+
+ * 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 "int"
+-%type < std::list<int> > exp
++%type < std::vector<int> > exp
+
+ %printer { yyo << $$; } <int>
+ %printer
+ {
+- for (std::list<int>::const_iterator i = $$.begin (); i != $$.end (); ++i)
++ for (std::vector<int>::const_iterator i = $$.begin (); i != $$.end (); ++i)
+ {
+ if (i != $$.begin ())
+ yyo << ", ";
+ yyo << *i;
+ }
+- } < std::list<int> >
++ } < std::vector<int> >
+
+-%code requires { #include <list> }
++%code requires { #include <vector> }
+ %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 <list>
++#include <vector>
+ #include <string>
+-typedef std::list<std::string> strings_type;
++typedef std::vector<std::string> strings_type;
+ }
+
+-%code // code for the .cc file
++%code top // code for the .cc file.
+ {
+ #include <cstdlib> // abort, getenv
+ #include <iostream>
++#include <vector>
+ #include <sstream>
++#include <string>
+
+- 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<std::string> 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<std::string> strings_type;
+ return o << ')';
+ }
+ }
++}
+
+- // Conversion to string.
+- template <typename T>
+- 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 <typename T>
++ inline
++ std::string
++ to_string (const T& t)
++ {
++ std::ostringstream o;
++ o << t;
++ return o.str ();
++ }
+ }
+ }
+
+@@ -252,10 +259,10 @@ typedef std::list<std::string> 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<std::string>> list;
++%type <::std::vector<std::string>> list;
+
+ %printer { yyo << $$; }
+- <int> <::std::string> <::std::list<std::string>>;
++ <int> <::std::string> <::std::vector<std::string>>;
+ %destructor { std::cerr << "Destroy: " << $$ << '\n'; } <*>;
+ %destructor { std::cerr << "Destroy: \"" << $$ << "\"\n"; } <::std::string>;
+ %%
^ permalink raw reply related [flat|nested] 2+ messages in thread
end of thread, other threads:[~2017-11-21 18:40 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-11-21 18:40 [gentoo-commits] repo/gentoo:master commit in: sys-devel/bison/, sys-devel/bison/files/ Thomas Deutschmann
-- strict thread matches above, loose matches on Subject: below --
2017-11-12 12:20 Fabian Groffen
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox