summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2015-08-08 13:49:04 -0700
committerRobin H. Johnson <robbat2@gentoo.org>2015-08-08 17:38:18 -0700
commit56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch)
tree3f91093cdb475e565ae857f1c5a7fd339e2d781e /sys-devel/bison
downloadgentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip
proj/gentoo: Initial commit
This commit represents a new era for Gentoo: Storing the gentoo-x86 tree in Git, as converted from CVS. This commit is the start of the NEW history. Any historical data is intended to be grafted onto this point. Creation process: 1. Take final CVS checkout snapshot 2. Remove ALL ChangeLog* files 3. Transform all Manifests to thin 4. Remove empty Manifests 5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$ 5.1. Do not touch files with -kb/-ko keyword flags. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'sys-devel/bison')
-rw-r--r--sys-devel/bison/Manifest5
-rw-r--r--sys-devel/bison/bison-1.875d.ebuild65
-rw-r--r--sys-devel/bison/bison-2.4.3.ebuild49
-rw-r--r--sys-devel/bison/bison-2.7.1.ebuild59
-rw-r--r--sys-devel/bison/bison-3.0.3-r1.ebuild60
-rw-r--r--sys-devel/bison/bison-3.0.4-r1.ebuild69
-rw-r--r--sys-devel/bison/bison-3.0.4.ebuild60
-rw-r--r--sys-devel/bison/files/bison-1.32-extfix.patch28
-rw-r--r--sys-devel/bison/files/bison-2.4.3-no-gets.patch22
-rw-r--r--sys-devel/bison/files/bison-2.4.3-uclibc-sched_param-def.patch19
-rw-r--r--sys-devel/bison/files/bison-3.0.4-optional-perl.patch500
-rw-r--r--sys-devel/bison/metadata.xml5
12 files changed, 941 insertions, 0 deletions
diff --git a/sys-devel/bison/Manifest b/sys-devel/bison/Manifest
new file mode 100644
index 000000000000..b3c50b2c3b7b
--- /dev/null
+++ b/sys-devel/bison/Manifest
@@ -0,0 +1,5 @@
+DIST bison-1.875d.tar.bz2 882745 SHA256 37ff8d673e35838c195d614bc402573d1268c997796e79b831053f4a22e03808 SHA512 f84c6cf41a289ea7e0805cf9b0da6fe2d77f2e03a35c3db7d2e36e5186bba7c0853c3d518bd89f6cfa1030e346e046aa03b33974bb892dbd8f040e5ea2de1126 WHIRLPOOL 213e02b33b4cd65c4c8ad5a37b77cce75a366e1d5ad0837887763c75c5e30eb3d85b7ba8eb71ed86bb86fb3e23624a7c627558f492778ec29e6e79fd30e7c902
+DIST bison-2.4.3.tar.bz2 1652612 SHA256 935302ef194c7f0974fed913eaac8100be512094eab573cf0b67bdf7db1d3a05 SHA512 b789f55d9cb95c1b4fba004691ed9f79b76da55020c9b202e1704a02aab1ba43b9fc1015e29843ed552e6df6165cef9c6ebc8a29d15a21c6e194cad8a42ab055 WHIRLPOOL 0e0e61970a791e53afc6cc85f53cebf0050d885077dd9b2394d79549bac389ffa7e477e003525556858b6fa64c11ce93653bba1c861bd2acd67f85181e167558
+DIST bison-2.7.1.tar.xz 1781068 SHA256 b409adcbf245baadb68d2f66accf6fdca5e282cafec1b865f4b5e963ba8ea7fb SHA512 ac0c7ca57142bcb84af498f606acb86091984a00359294fbf721a4ca8112f9fcf26497f7dd2e65f527e04a6e1de94142ecb76602d407e548475970e5a566d370 WHIRLPOOL 171f6b18c3f205d746092bdd37bf113ab83944db468f81cbf5004573584c717b6fc1a10d112fe7178be222b51b746fed9da58a9065b7f2f7e65a15851500779e
+DIST bison-3.0.3.tar.xz 1971372 SHA256 5940efbdd6b5d80e55ec16a01d2322e2892da21863391049b9b692570649177c SHA512 6639ca0b2b5eb6862c97eb3d568267e417ebd24e78cd197e5770b217fb51fb26418703db25f38fd066a898085c30f1055e1a7d335a43f2d17c82bea64d09b54a WHIRLPOOL 59ac9cf65492e743e84443a245084501ee6c7a6c1616dfb71d9e5a382c492617980f991d1d174c078e6c56e9a947dcd4061a27d72c46b8fef27034961f0ef140
+DIST bison-3.0.4.tar.xz 1973796 SHA256 a72428c7917bdf9fa93cb8181c971b6e22834125848cf1d03ce10b1bb0716fe1 SHA512 bbdc23e7772e49da1c7c47e66d4e4efbfbfe9b21dbc59bf3ad9a6e573eecac6c9f52c7f11a64be9897e8deb99ef7ba015164aa8232aa391b901dd7db03632412 WHIRLPOOL 41da7b0aa18bf61f621d59d372dc2ca9e116f6fa0d5c8891b51a01dda6d9393005c76773dbefbadeb30884bb328379197d2026809d62d49d8e2022b9b49da244
diff --git a/sys-devel/bison/bison-1.875d.ebuild b/sys-devel/bison/bison-1.875d.ebuild
new file mode 100644
index 000000000000..77c9b968bc53
--- /dev/null
+++ b/sys-devel/bison/bison-1.875d.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+inherit toolchain-funcs flag-o-matic eutils
+
+DESCRIPTION="A yacc-compatible parser generator"
+HOMEPAGE="http://www.gnu.org/software/bison/bison.html"
+SRC_URI="ftp://alpha.gnu.org/pub/gnu/bison/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86"
+IUSE="nls static"
+
+DEPEND="sys-devel/m4
+ nls? ( sys-devel/gettext )"
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ epatch "${FILESDIR}"/${PN}-1.32-extfix.patch
+}
+
+src_compile() {
+ # Bug 39842 says that bison segfaults when built on amd64 with
+ # optimizations. This will probably be fixed in a future gcc
+ # version, but for the moment just disable optimizations for that
+ # arch (04 Feb 2004 agriffis)
+ [ "$ARCH" == "amd64" ] && append-flags -O0
+
+ # Bug 29017 says that bison has compile-time issues with
+ # -march=k6* prior to 3.4CVS. Use -march=i586 instead
+ # (04 Feb 2004 agriffis)
+ #
+ if (( $(gcc-major-version) == 3 && $(gcc-minor-version) < 4 )) ; then
+ replace-cpu-flags k6 k6-1 k6-2 i586
+ fi
+
+ econf $(use_enable nls) || die
+ use static && append-ldflags -static
+ emake || die
+}
+
+src_install() {
+ make DESTDIR="${D}" \
+ datadir=/usr/share \
+ mandir=/usr/share/man \
+ infodir=/usr/share/info \
+ install || die
+
+ # This one is installed by dev-util/yacc
+ mv "${D}"/usr/bin/yacc "${D}"/usr/bin/yacc.bison || die
+
+ # We do not need this.
+ rm -f "${D}"/usr/lib/liby.a
+
+ dodoc AUTHORS NEWS ChangeLog README REFERENCES OChangeLog doc/FAQ
+}
+
+pkg_postinst() {
+ if [[ ! -e ${ROOT}/usr/bin/yacc ]] ; then
+ ln -s yacc.bison "${ROOT}"/usr/bin/yacc
+ fi
+}
diff --git a/sys-devel/bison/bison-2.4.3.ebuild b/sys-devel/bison/bison-2.4.3.ebuild
new file mode 100644
index 000000000000..03028eb5378f
--- /dev/null
+++ b/sys-devel/bison/bison-2.4.3.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="2"
+
+inherit flag-o-matic eutils
+
+DESCRIPTION="A yacc-compatible parser generator"
+HOMEPAGE="http://www.gnu.org/software/bison/bison.html"
+SRC_URI="mirror://gnu/bison/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~sparc-fbsd ~x86-fbsd"
+IUSE="nls static"
+
+RDEPEND="sys-devel/m4"
+DEPEND="${RDEPEND}
+ nls? ( sys-devel/gettext )"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-uclibc-sched_param-def.patch
+ epatch "${FILESDIR}"/${P}-no-gets.patch
+}
+
+src_configure() {
+ use static && append-ldflags -static
+ econf $(use_enable nls)
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die
+
+ # This one is installed by dev-util/yacc
+ mv "${D}"/usr/bin/yacc{,.bison} || die
+ mv "${D}"/usr/share/man/man1/yacc{,.bison}.1 || die
+
+ # We do not need this.
+ rm -r "${D}"/usr/lib* || die
+
+ dodoc AUTHORS NEWS ChangeLog README OChangeLog THANKS TODO
+}
+
+pkg_postinst() {
+ if [[ ! -e ${ROOT}/usr/bin/yacc ]] ; then
+ ln -s yacc.bison "${ROOT}"/usr/bin/yacc
+ fi
+}
diff --git a/sys-devel/bison/bison-2.7.1.ebuild b/sys-devel/bison/bison-2.7.1.ebuild
new file mode 100644
index 000000000000..04f7b63c0849
--- /dev/null
+++ b/sys-devel/bison/bison-2.7.1.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit flag-o-matic
+
+DESCRIPTION="A general-purpose (yacc-compatible) parser generator"
+HOMEPAGE="http://www.gnu.org/software/bison/"
+SRC_URI="mirror://gnu/${PN}/${P}.tar.xz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="nls static"
+
+RDEPEND=">=sys-devel/m4-1.4.16"
+DEPEND="${RDEPEND}
+ sys-devel/flex
+ nls? ( sys-devel/gettext )"
+
+DOCS="AUTHORS ChangeLog-2012 NEWS README THANKS TODO" # ChangeLog-1998 PACKAGING README-alpha README-release
+
+src_configure() {
+ use static && append-ldflags -static
+
+ econf \
+ $(use_enable nls)
+}
+
+src_install() {
+ default
+
+ # This one is installed by dev-util/yacc
+ mv "${ED}"/usr/bin/yacc{,.bison} || die
+ mv "${ED}"/usr/share/man/man1/yacc{,.bison}.1 || die
+
+ # We do not need liby.a
+ rm -r "${ED}"/usr/lib* || die
+
+ # Move to documentation directory and leave compressing for EAPI>=4
+ mv "${ED}"/usr/share/${PN}/README "${ED}"/usr/share/doc/${PF}/README.data
+}
+
+pkg_postinst() {
+ local f="${EROOT}/usr/bin/yacc"
+ if [[ ! -e ${f} ]] ; then
+ ln -s yacc.bison "${f}"
+ fi
+}
+
+pkg_postrm() {
+ # clean up the dead symlink when we get unmerged #377469
+ local f="${EROOT}/usr/bin/yacc"
+ if [[ -L ${f} && ! -e ${f} ]] ; then
+ rm -f "${f}"
+ fi
+}
diff --git a/sys-devel/bison/bison-3.0.3-r1.ebuild b/sys-devel/bison/bison-3.0.3-r1.ebuild
new file mode 100644
index 000000000000..5e1bafdf46a7
--- /dev/null
+++ b/sys-devel/bison/bison-3.0.3-r1.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit flag-o-matic
+
+DESCRIPTION="A general-purpose (yacc-compatible) parser generator"
+HOMEPAGE="http://www.gnu.org/software/bison/"
+SRC_URI="mirror://gnu/${PN}/${P}.tar.xz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="nls static"
+
+RDEPEND=">=sys-devel/m4-1.4.16"
+DEPEND="${RDEPEND}
+ sys-devel/flex
+ nls? ( sys-devel/gettext )"
+
+DOCS=( AUTHORS ChangeLog-2012 NEWS README THANKS TODO ) # ChangeLog-1998 PACKAGING README-alpha README-release
+
+src_configure() {
+ use static && append-ldflags -static
+
+ econf \
+ --docdir="${EPREFIX}"/usr/share/doc/${PF} \
+ $(use_enable nls)
+}
+
+src_install() {
+ default
+
+ # This one is installed by dev-util/yacc
+ mv "${ED}"/usr/bin/yacc{,.bison} || die
+ mv "${ED}"/usr/share/man/man1/yacc{,.bison}.1 || die
+
+ # We do not need liby.a
+ rm -r "${ED}"/usr/lib* || die
+
+ # Move to documentation directory and leave compressing for EAPI>=4
+ mv "${ED}"/usr/share/${PN}/README "${ED}"/usr/share/doc/${PF}/README.data
+}
+
+pkg_postinst() {
+ local f="${EROOT}/usr/bin/yacc"
+ if [[ ! -e ${f} ]] ; then
+ ln -s yacc.bison "${f}"
+ fi
+}
+
+pkg_postrm() {
+ # clean up the dead symlink when we get unmerged #377469
+ local f="${EROOT}/usr/bin/yacc"
+ if [[ -L ${f} && ! -e ${f} ]] ; then
+ rm -f "${f}"
+ fi
+}
diff --git a/sys-devel/bison/bison-3.0.4-r1.ebuild b/sys-devel/bison/bison-3.0.4-r1.ebuild
new file mode 100644
index 000000000000..fbc1fc9087e6
--- /dev/null
+++ b/sys-devel/bison/bison-3.0.4-r1.ebuild
@@ -0,0 +1,69 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit flag-o-matic eutils
+
+DESCRIPTION="A general-purpose (yacc-compatible) parser generator"
+HOMEPAGE="http://www.gnu.org/software/bison/"
+SRC_URI="mirror://gnu/${PN}/${P}.tar.xz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="examples nls static test"
+
+RDEPEND=">=sys-devel/m4-1.4.16"
+DEPEND="${RDEPEND}
+ sys-devel/flex
+ examples? ( dev-lang/perl )
+ nls? ( sys-devel/gettext )
+ test? ( dev-lang/perl )"
+
+DOCS=( AUTHORS ChangeLog-2012 NEWS README THANKS TODO ) # ChangeLog-1998 PACKAGING README-alpha README-release
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-optional-perl.patch #538300
+ touch doc/bison.1 #548778
+}
+
+src_configure() {
+ use static && append-ldflags -static
+
+ac_cv_path_PERL=true \
+ econf \
+ --docdir='$(datarootdir)'/doc/${PF} \
+ $(use_enable examples) \
+ $(use_enable nls)
+}
+
+src_install() {
+ default
+
+ # This one is installed by dev-util/yacc
+ mv "${ED}"/usr/bin/yacc{,.bison} || die
+ mv "${ED}"/usr/share/man/man1/yacc{,.bison}.1 || die
+
+ # We do not need liby.a
+ rm -r "${ED}"/usr/lib* || die
+
+ # Move to documentation directory and leave compressing for EAPI>=4
+ mv "${ED}"/usr/share/${PN}/README "${ED}"/usr/share/doc/${PF}/README.data
+}
+
+pkg_postinst() {
+ local f="${EROOT}/usr/bin/yacc"
+ if [[ ! -e ${f} ]] ; then
+ ln -s yacc.bison "${f}"
+ fi
+}
+
+pkg_postrm() {
+ # clean up the dead symlink when we get unmerged #377469
+ local f="${EROOT}/usr/bin/yacc"
+ if [[ -L ${f} && ! -e ${f} ]] ; then
+ rm -f "${f}"
+ fi
+}
diff --git a/sys-devel/bison/bison-3.0.4.ebuild b/sys-devel/bison/bison-3.0.4.ebuild
new file mode 100644
index 000000000000..5e1bafdf46a7
--- /dev/null
+++ b/sys-devel/bison/bison-3.0.4.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit flag-o-matic
+
+DESCRIPTION="A general-purpose (yacc-compatible) parser generator"
+HOMEPAGE="http://www.gnu.org/software/bison/"
+SRC_URI="mirror://gnu/${PN}/${P}.tar.xz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="nls static"
+
+RDEPEND=">=sys-devel/m4-1.4.16"
+DEPEND="${RDEPEND}
+ sys-devel/flex
+ nls? ( sys-devel/gettext )"
+
+DOCS=( AUTHORS ChangeLog-2012 NEWS README THANKS TODO ) # ChangeLog-1998 PACKAGING README-alpha README-release
+
+src_configure() {
+ use static && append-ldflags -static
+
+ econf \
+ --docdir="${EPREFIX}"/usr/share/doc/${PF} \
+ $(use_enable nls)
+}
+
+src_install() {
+ default
+
+ # This one is installed by dev-util/yacc
+ mv "${ED}"/usr/bin/yacc{,.bison} || die
+ mv "${ED}"/usr/share/man/man1/yacc{,.bison}.1 || die
+
+ # We do not need liby.a
+ rm -r "${ED}"/usr/lib* || die
+
+ # Move to documentation directory and leave compressing for EAPI>=4
+ mv "${ED}"/usr/share/${PN}/README "${ED}"/usr/share/doc/${PF}/README.data
+}
+
+pkg_postinst() {
+ local f="${EROOT}/usr/bin/yacc"
+ if [[ ! -e ${f} ]] ; then
+ ln -s yacc.bison "${f}"
+ fi
+}
+
+pkg_postrm() {
+ # clean up the dead symlink when we get unmerged #377469
+ local f="${EROOT}/usr/bin/yacc"
+ if [[ -L ${f} && ! -e ${f} ]] ; then
+ rm -f "${f}"
+ fi
+}
diff --git a/sys-devel/bison/files/bison-1.32-extfix.patch b/sys-devel/bison/files/bison-1.32-extfix.patch
new file mode 100644
index 000000000000..363d038d8a52
--- /dev/null
+++ b/sys-devel/bison/files/bison-1.32-extfix.patch
@@ -0,0 +1,28 @@
+2002-02-15 Gwenole Beauchesne <gbeauchesne@mandrakesoft.com>
+
+ * src/files (compute_exts_from_gf, compute_exts_from_src): Handle
+ the case where header_extension is the same as src_extension, aka
+ handle -d -o <file> where <file> doesn't have a known EXT to
+ transform. e.g. if <file> is <something>.yxx, set the
+ header_extension to <something>.yxx.h, as would do bison 1.28.
+
+--- bison-1.32/src/files.c.extfix Mon Jan 21 16:41:46 2002
++++ bison-1.32/src/files.c Fri Feb 15 15:40:43 2002
+@@ -288,6 +288,8 @@ compute_exts_from_gf (const char *ext)
+ src_extension = tr (src_extension, 'Y', 'C');
+ header_extension = tr (ext, 'y', 'h');
+ header_extension = tr (header_extension, 'Y', 'H');
++ if (!strcmp (header_extension, src_extension))
++ header_extension = concat2 (src_extension, ".h");
+ }
+
+ /* Computes extensions from the given c source file extension. */
+@@ -300,6 +302,8 @@ compute_exts_from_src (const char *ext)
+ src_extension = xstrdup (ext);
+ header_extension = tr (ext, 'c', 'h');
+ header_extension = tr (header_extension, 'C', 'H');
++ if (!strcmp (header_extension, src_extension))
++ header_extension = concat2 (src_extension, ".h");
+ }
+
+
diff --git a/sys-devel/bison/files/bison-2.4.3-no-gets.patch b/sys-devel/bison/files/bison-2.4.3-no-gets.patch
new file mode 100644
index 000000000000..a49a816f4761
--- /dev/null
+++ b/sys-devel/bison/files/bison-2.4.3-no-gets.patch
@@ -0,0 +1,22 @@
+hack until bizon pulls a newer gnulib version
+
+From 66712c23388e93e5c518ebc8515140fa0c807348 Mon Sep 17 00:00:00 2001
+From: Eric Blake <eblake@redhat.com>
+Date: Thu, 29 Mar 2012 13:30:41 -0600
+Subject: [PATCH] stdio: don't assume gets any more
+
+Gnulib intentionally does not have a gets module, and now that C11
+and glibc have dropped it, we should be more proactive about warning
+any user on a platform that still has a declaration of this dangerous
+interface.
+
+--- a/lib/stdio.in.h
++++ b/lib/stdio.in.h
+@@ -125,7 +125,6 @@
+ so any use of gets warrants an unconditional warning. Assume it is
+ always declared, since it is required by C89. */
+ #undef gets
+-_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
+
+ #if @GNULIB_FOPEN@
+ # if @REPLACE_FOPEN@
diff --git a/sys-devel/bison/files/bison-2.4.3-uclibc-sched_param-def.patch b/sys-devel/bison/files/bison-2.4.3-uclibc-sched_param-def.patch
new file mode 100644
index 000000000000..50652d8babc2
--- /dev/null
+++ b/sys-devel/bison/files/bison-2.4.3-uclibc-sched_param-def.patch
@@ -0,0 +1,19 @@
+uclibc defines __GLIBC__ but it does not expose struct shed_param as much as glibc
+and is not needed too per standard. gnulib attempts to use it but we have to account
+for it because in this case uclibc does not behave like glibc.
+
+-Khem
+
+http://bugs.gentoo.org/336484
+
+--- m4-1.4.14/lib/spawn.in.h
++++ m4-1.4.14/lib/spawn.in.h
+@@ -31,7 +31,7 @@
+
+ /* Get definitions of 'struct sched_param' and 'sigset_t'.
+ But avoid namespace pollution on glibc systems. */
+-#ifndef __GLIBC__
++#if !defined __GLIBC__ || defined __UCLIBC__
+ # include <sched.h>
+ # include <signal.h>
+ #endif
diff --git a/sys-devel/bison/files/bison-3.0.4-optional-perl.patch b/sys-devel/bison/files/bison-3.0.4-optional-perl.patch
new file mode 100644
index 000000000000..ba0bf7b2d5b3
--- /dev/null
+++ b/sys-devel/bison/files/bison-3.0.4-optional-perl.patch
@@ -0,0 +1,500 @@
+https://bugs.gentoo.org/538300
+
+From 3da25ddd011c169b9857ed2f6a2e82988f059ba5 Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Fri, 3 Apr 2015 02:39:21 -0400
+Subject: [PATCH] make perl & examples optional
+
+The normal bison program does not require perl to build or run, so lets
+soften that requirement in the configure script. We now warn if its not
+found, and we make the examples logic depend on that.
+
+* configure.ac: Change AC_MSG_ERROR to AC_MSG_WARN for perl.
+Add an --enable-examples flag.
+* Makefile.am: Only include examples/local.mk when ENABLE_EXAMPLES.
+---
+ Makefile.am | 2 ++
+ configure.ac | 21 ++++++++++++++++++++-
+ 2 files changed, 22 insertions(+), 1 deletion(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index b6135cb..50ea0a0 100644
+#--- a/Makefile.am
+#+++ b/Makefile.am
+@@ -59,7 +59,9 @@ include data/local.mk
+ include djgpp/local.mk
+ include doc/local.mk
+ include etc/local.mk
++if ENABLE_EXAMPLES
+ include examples/local.mk
++endif
+ include lib/local.mk
+ include src/local.mk
+ include tests/local.mk
+diff --git a/configure.ac b/configure.ac
+index 6f20040..e67249b 100644
+#--- a/configure.ac
+#+++ b/configure.ac
+@@ -179,12 +179,31 @@ AC_DEFINE_UNQUOTED([M4_GNU_OPTION], ["$M4_GNU"], [Define to "-g" if GNU M4
+ supports -g, otherwise to "".])
+ AC_PATH_PROG([PERL], [perl])
+ if test -z "$PERL"; then
+- AC_MSG_ERROR([perl not found])
++ AC_MSG_WARN([perl required for the testsuites])
+ fi
+ AM_MISSING_PROG([HELP2MAN], [help2man])
+ AC_PATH_PROG([XSLTPROC], [xsltproc])
+ AC_SUBST([XSLTPROC])
+
++AC_ARG_ENABLE([examples],
++ [AC_HELP_STRING([--disable-examples],
++ [do not build and install examples])])
++# Enable the examles by default if perl is available.
++case $enable_examples in
++no) ;;
++yes)
++ if test -z "$PERL"; then
++ AC_MSG_ERROR([perl required for the examples])
++ fi
++ ;;
++*)
++ if test -n "$PERL"; then
++ enable_examples=yes
++ fi
++ ;;
++esac
++AM_CONDITIONAL([ENABLE_EXAMPLES], [test "xenable_examples" = xyes])
++
+ # Checks for header files.
+ AC_CHECK_HEADERS_ONCE([locale.h])
+
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -248,13 +248,29 @@
+ POST_UNINSTALL = :
+ build_triplet = @build@
+ host_triplet = @host@
+-check_PROGRAMS = $(am__EXEEXT_1) examples/mfcalc/mfcalc$(EXEEXT) \
+- examples/rpcalc/rpcalc$(EXEEXT)
++check_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2)
+ @CROSS_COMPILING_FALSE@am__append_1 = $(top_srcdir)/doc/bison.help
+-@FLEX_CXX_WORKS_TRUE@am__append_2 = examples/calc++/calc++
+-@FLEX_CXX_WORKS_TRUE@am__append_3 = examples/calc++/calc++.test
+-@FLEX_CXX_WORKS_FALSE@am__append_4 = examples/calc++/calc++.test
+-@LIBUNISTRING_COMPILE_UNIWIDTH_WIDTH_TRUE@am__append_5 = lib/uniwidth/width.c
++@ENABLE_EXAMPLES_TRUE@am__append_2 = $(extracted) \
++@ENABLE_EXAMPLES_TRUE@ examples/extracted.stamp \
++@ENABLE_EXAMPLES_TRUE@ $(calcxx_sources_generated) \
++@ENABLE_EXAMPLES_TRUE@ examples/calc++/calc++-parser.output \
++@ENABLE_EXAMPLES_TRUE@ examples/calc++/calc++-parser.stamp \
++@ENABLE_EXAMPLES_TRUE@ examples/calc++/calc++-scanner.cc \
++@ENABLE_EXAMPLES_TRUE@ examples/mfcalc/mfcalc.[ch] \
++@ENABLE_EXAMPLES_TRUE@ examples/mfcalc/mfcalc.output \
++@ENABLE_EXAMPLES_TRUE@ examples/rpcalc/rpcalc.[ch] \
++@ENABLE_EXAMPLES_TRUE@ examples/rpcalc/rpcalc.output
++@ENABLE_EXAMPLES_TRUE@am__append_3 = .yy .stamp
++@ENABLE_EXAMPLES_TRUE@@FLEX_CXX_WORKS_TRUE@am__append_4 = examples/calc++/calc++
++@ENABLE_EXAMPLES_TRUE@@FLEX_CXX_WORKS_TRUE@am__append_5 = examples/calc++/calc++.test
++@ENABLE_EXAMPLES_TRUE@@FLEX_CXX_WORKS_FALSE@am__append_6 = examples/calc++/calc++.test
++@ENABLE_EXAMPLES_TRUE@am__append_7 = $(mfcalc_sources) \
++@ENABLE_EXAMPLES_TRUE@ $(rpcalc_sources)
++@ENABLE_EXAMPLES_TRUE@am__append_8 = examples/mfcalc/mfcalc \
++@ENABLE_EXAMPLES_TRUE@ examples/rpcalc/rpcalc
++@ENABLE_EXAMPLES_TRUE@am__append_9 = examples/mfcalc/mfcalc.test \
++@ENABLE_EXAMPLES_TRUE@ examples/rpcalc/rpcalc.test
++@LIBUNISTRING_COMPILE_UNIWIDTH_WIDTH_TRUE@am__append_10 = lib/uniwidth/width.c
+ bin_PROGRAMS = src/bison$(EXEEXT)
+ subdir = .
+ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+@@ -356,7 +372,7 @@
+ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+ DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \
+- $(am__configure_deps) $(dist_noinst_SCRIPTS) \
++ $(am__configure_deps) $(am__dist_noinst_SCRIPTS_DIST) \
+ $(srcdir)/doc/version.texi $(srcdir)/doc/stamp-vti \
+ $(dist_doc_DATA) $(dist_m4sugar_DATA) $(dist_pkgdata_DATA) \
+ $(dist_xslt_DATA) $(am__DIST_COMMON)
+@@ -473,15 +489,18 @@
+ @ENABLE_YACC_TRUE@am_lib_liby_a_OBJECTS = lib/main.$(OBJEXT) \
+ @ENABLE_YACC_TRUE@ lib/yyerror.$(OBJEXT)
+ lib_liby_a_OBJECTS = $(am_lib_liby_a_OBJECTS)
+-@FLEX_CXX_WORKS_TRUE@am__EXEEXT_1 = examples/calc++/calc++$(EXEEXT)
++@ENABLE_EXAMPLES_TRUE@@FLEX_CXX_WORKS_TRUE@am__EXEEXT_1 = examples/calc++/calc++$(EXEEXT)
++@ENABLE_EXAMPLES_TRUE@am__EXEEXT_2 = examples/mfcalc/mfcalc$(EXEEXT) \
++@ENABLE_EXAMPLES_TRUE@ examples/rpcalc/rpcalc$(EXEEXT)
+ PROGRAMS = $(bin_PROGRAMS)
+-am__objects_2 = examples/calc++/examples_calc___calc__-calc++-driver.$(OBJEXT) \
+- examples/calc++/examples_calc___calc__-calc++-scanner.$(OBJEXT) \
+- examples/calc++/examples_calc___calc__-calc++.$(OBJEXT)
+-am__objects_3 = examples/calc++/examples_calc___calc__-calc++-parser.$(OBJEXT)
+-am__objects_4 = $(am__objects_2) $(am__objects_3)
+-@FLEX_CXX_WORKS_TRUE@nodist_examples_calc___calc___OBJECTS = \
+-@FLEX_CXX_WORKS_TRUE@ $(am__objects_4)
++@ENABLE_EXAMPLES_TRUE@am__objects_2 = examples/calc++/examples_calc___calc__-calc++-driver.$(OBJEXT) \
++@ENABLE_EXAMPLES_TRUE@ examples/calc++/examples_calc___calc__-calc++-scanner.$(OBJEXT) \
++@ENABLE_EXAMPLES_TRUE@ examples/calc++/examples_calc___calc__-calc++.$(OBJEXT)
++@ENABLE_EXAMPLES_TRUE@am__objects_3 = examples/calc++/examples_calc___calc__-calc++-parser.$(OBJEXT)
++@ENABLE_EXAMPLES_TRUE@am__objects_4 = $(am__objects_2) \
++@ENABLE_EXAMPLES_TRUE@ $(am__objects_3)
++@ENABLE_EXAMPLES_TRUE@@FLEX_CXX_WORKS_TRUE@nodist_examples_calc___calc___OBJECTS = \
++@ENABLE_EXAMPLES_TRUE@@FLEX_CXX_WORKS_TRUE@ $(am__objects_4)
+ examples_calc___calc___OBJECTS = \
+ $(nodist_examples_calc___calc___OBJECTS)
+ examples_calc___calc___LDADD = $(LDADD)
+@@ -490,17 +509,17 @@
+ examples_calc___calc___LINK = $(CXXLD) \
+ $(examples_calc___calc___CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+-am__objects_5 = \
+- examples/mfcalc/examples_mfcalc_mfcalc-mfcalc.$(OBJEXT)
+-am__objects_6 = $(am__objects_5)
+-nodist_examples_mfcalc_mfcalc_OBJECTS = $(am__objects_6)
++@ENABLE_EXAMPLES_TRUE@am__objects_5 = examples/mfcalc/examples_mfcalc_mfcalc-mfcalc.$(OBJEXT)
++@ENABLE_EXAMPLES_TRUE@am__objects_6 = $(am__objects_5)
++@ENABLE_EXAMPLES_TRUE@nodist_examples_mfcalc_mfcalc_OBJECTS = \
++@ENABLE_EXAMPLES_TRUE@ $(am__objects_6)
+ examples_mfcalc_mfcalc_OBJECTS = \
+ $(nodist_examples_mfcalc_mfcalc_OBJECTS)
+ examples_mfcalc_mfcalc_DEPENDENCIES =
+-am__objects_7 = \
+- examples/rpcalc/examples_rpcalc_rpcalc-rpcalc.$(OBJEXT)
+-am__objects_8 = $(am__objects_7)
+-nodist_examples_rpcalc_rpcalc_OBJECTS = $(am__objects_8)
++@ENABLE_EXAMPLES_TRUE@am__objects_7 = examples/rpcalc/examples_rpcalc_rpcalc-rpcalc.$(OBJEXT)
++@ENABLE_EXAMPLES_TRUE@am__objects_8 = $(am__objects_7)
++@ENABLE_EXAMPLES_TRUE@nodist_examples_rpcalc_rpcalc_OBJECTS = \
++@ENABLE_EXAMPLES_TRUE@ $(am__objects_8)
+ examples_rpcalc_rpcalc_OBJECTS = \
+ $(nodist_examples_rpcalc_rpcalc_OBJECTS)
+ examples_rpcalc_rpcalc_DEPENDENCIES =
+@@ -528,6 +547,7 @@
+ src_bison_DEPENDENCIES = lib/libbison.a $(am__DEPENDENCIES_1)
+ src_bison_LINK = $(CCLD) $(src_bison_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
++am__dist_noinst_SCRIPTS_DIST = examples/extexi examples/test
+ SCRIPTS = $(bin_SCRIPTS) $(dist_noinst_SCRIPTS) \
+ $(nodist_noinst_SCRIPTS)
+ AM_V_P = $(am__v_P_@AM_V@)
+@@ -2145,7 +2165,7 @@
+ djgpp/subpipe.h djgpp/testsuite.sed doc/refcard.tex \
+ $(top_srcdir)/doc/bison.help $(dist_man_MANS:.1=.x) $(FIGS_GV) \
+ $(FIGS_GV:.gv=.txt) $(FIGS_GV:.gv=.eps) $(FIGS_GV:.gv=.pdf) \
+- $(FIGS_GV:.gv=.png) doc/Doxyfile.in $(am__append_4) \
++ $(FIGS_GV:.gv=.png) doc/Doxyfile.in $(am__append_6) \
+ lib/alignof.h lib/alloca.in.h \
+ $(top_srcdir)/build-aux/announce-gen lib/argmatch.h \
+ lib/c-strcaseeq.h lib/calloc.c lib/cloexec.h lib/close.c \
+@@ -2249,27 +2269,20 @@
+ # a developer might naively reference .version in a test case while the bison
+ # executable still compiles with VERSION, and so the test case might fail or
+ # pass incorrectly.
+-BUILT_SOURCES = $(mfcalc_sources) $(rpcalc_sources) $(ALLOCA_H) \
+- lib/configmake.h $(ERRNO_H) lib/fcntl.h $(FLOAT_H) $(GETOPT_H) \
+- lib/inttypes.h lib/math.h $(SCHED_H) lib/signal.h \
+- lib/arg-nonnull.h lib/c++defs.h lib/warn-on-use.h lib/spawn.h \
+- $(STDBOOL_H) $(STDDEF_H) $(STDINT_H) lib/stdio.h lib/stdlib.h \
+- lib/string.h lib/sys/stat.h lib/sys/time.h lib/sys/types.h \
+- lib/sys/wait.h lib/time.h lib/unistd.h \
+- $(LIBUNISTRING_UNITYPES_H) $(LIBUNISTRING_UNIWIDTH_H) \
+- lib/wchar.h lib/wctype.h src/parse-gram.c src/parse-gram.h \
+- src/scan-code.c src/scan-gram.c src/scan-skel.c \
+- $(top_srcdir)/.version
++BUILT_SOURCES = $(am__append_7) $(ALLOCA_H) lib/configmake.h \
++ $(ERRNO_H) lib/fcntl.h $(FLOAT_H) $(GETOPT_H) lib/inttypes.h \
++ lib/math.h $(SCHED_H) lib/signal.h lib/arg-nonnull.h \
++ lib/c++defs.h lib/warn-on-use.h lib/spawn.h $(STDBOOL_H) \
++ $(STDDEF_H) $(STDINT_H) lib/stdio.h lib/stdlib.h lib/string.h \
++ lib/sys/stat.h lib/sys/time.h lib/sys/types.h lib/sys/wait.h \
++ lib/time.h lib/unistd.h $(LIBUNISTRING_UNITYPES_H) \
++ $(LIBUNISTRING_UNIWIDTH_H) lib/wchar.h lib/wctype.h \
++ src/parse-gram.c src/parse-gram.h src/scan-code.c \
++ src/scan-gram.c src/scan-skel.c $(top_srcdir)/.version
+ CLEANFILES = doc/refcard.pdf $(FIGS_GV:.gv=.eps) $(FIGS_GV:.gv=.pdf) \
+- $(FIGS_GV:.gv=.png) doc/Doxyfile $(extracted) \
+- examples/extracted.stamp $(calcxx_sources_generated) \
+- examples/calc++/calc++-parser.output \
+- examples/calc++/calc++-parser.stamp \
+- examples/calc++/calc++-scanner.cc examples/mfcalc/mfcalc.[ch] \
+- examples/mfcalc/mfcalc.output examples/rpcalc/rpcalc.[ch] \
+- examples/rpcalc/rpcalc.output lib/configmake.h \
+- lib/configmake.h-t lib/charset.alias lib/ref-add.sed \
+- lib/ref-del.sed
++ $(FIGS_GV:.gv=.png) doc/Doxyfile $(am__append_2) \
++ lib/configmake.h lib/configmake.h-t lib/charset.alias \
++ lib/ref-add.sed lib/ref-del.sed
+ DISTCLEANFILES = tests/atconfig $(check_SCRIPTS)
+ MOSTLYCLEANDIRS = lib/sys lib/sys
+ MOSTLYCLEANFILES = $(top_srcdir)/doc/*.t lib/core lib/*.stackdump \
+@@ -2289,10 +2302,9 @@
+ lib/unistd.h-t lib/unitypes.h lib/unitypes.h-t lib/uniwidth.h \
+ lib/uniwidth.h-t lib/wchar.h lib/wchar.h-t lib/wctype.h \
+ lib/wctype.h-t src/yacc
+-SUFFIXES = .gv .eps .pdf .png .yy .stamp
++SUFFIXES = .gv .eps .pdf .png $(am__append_3)
+ TESTS = $(dist_TESTS)
+-dist_TESTS = $(am__append_3) examples/mfcalc/mfcalc.test \
+- examples/rpcalc/rpcalc.test
++dist_TESTS = $(am__append_5) $(am__append_9)
+ noinst_LIBRARIES = lib/libbison.a
+ dist_pkgdata_DATA = \
+ data/README \
+@@ -2364,59 +2376,59 @@
+ -e 's,@top_srcdir\@,$(top_srcdir),g'
+
+ nodist_noinst_SCRIPTS = etc/bench.pl
+-dist_noinst_SCRIPTS = examples/extexi examples/test
+-TEST_LOG_COMPILER = $(top_srcdir)/examples/test
+-AM_CXXFLAGS = \
+- $(WARN_CXXFLAGS) $(WARN_CXXFLAGS_TEST) $(WERROR_CXXFLAGS)
+-
+-doc = $(top_srcdir)/doc/bison.texi
+-extexi = $(top_srcdir)/examples/extexi
+-@ENABLE_GCC_WARNINGS_TRUE@extexiFLAGS = --synclines
+-extract = VERSION="$(VERSION)" $(PERL) $(extexi) $(extexiFLAGS) $(doc) --
+-extracted = $(calcxx_extracted) $(mfcalc_extracted) \
+- $(rpcalc_extracted)
+-calcxx_sources_extracted = \
+- examples/calc++/calc++-driver.cc \
+- examples/calc++/calc++-driver.hh \
+- examples/calc++/calc++-scanner.ll \
+- examples/calc++/calc++.cc
+-
+-calcxx_extracted = \
+- $(calcxx_sources_extracted) \
+- examples/calc++/calc++-parser.yy
+-
+-calcxx_sources_generated = \
+- examples/calc++/calc++-parser.cc \
+- examples/calc++/calc++-parser.hh \
+- examples/calc++/location.hh \
+- examples/calc++/position.hh \
+- examples/calc++/stack.hh
+-
+-calcxx_sources = \
+- $(calcxx_sources_extracted) \
+- $(calcxx_sources_generated)
+-
+-@FLEX_CXX_WORKS_TRUE@nodist_examples_calc___calc___SOURCES = \
+-@FLEX_CXX_WORKS_TRUE@ $(calcxx_sources)
+-
+-@FLEX_CXX_WORKS_TRUE@examples_calc___calc___CPPFLAGS = -I$(top_builddir)/examples/calc++
+-@FLEX_CXX_WORKS_TRUE@examples_calc___calc___CXXFLAGS = $(AM_CXXFLAGS) $(FLEX_SCANNER_CXXFLAGS)
+-calcxxdir = $(docdir)/examples/calc++
+-calcxx_DATA = $(calcxx_extracted)
+-mfcalc_extracted = examples/mfcalc/calc.h examples/mfcalc/mfcalc.y
+-mfcalc_sources = $(mfcalc_extracted)
+-examples_mfcalc_mfcalc_LDADD = -lm
+-nodist_examples_mfcalc_mfcalc_SOURCES = $(mfcalc_sources)
+-examples_mfcalc_mfcalc_CPPFLAGS = -I$(top_builddir)/examples/mfcalc
+-mfcalcdir = $(docdir)/examples/mfcalc
+-mfcalc_DATA = $(mfcalc_extracted)
+-rpcalc_extracted = examples/rpcalc/rpcalc.y
+-rpcalc_sources = $(rpcalc_extracted)
+-examples_rpcalc_rpcalc_LDADD = -lm
+-nodist_examples_rpcalc_rpcalc_SOURCES = $(rpcalc_sources)
+-examples_rpcalc_rpcalc_CPPFLAGS = -I$(top_builddir)/examples/rpcalc
+-rpcalcdir = $(docdir)/examples/rpcalc
+-rpcalc_DATA = $(rpcalc_extracted)
++@ENABLE_EXAMPLES_TRUE@dist_noinst_SCRIPTS = examples/extexi examples/test
++@ENABLE_EXAMPLES_TRUE@TEST_LOG_COMPILER = $(top_srcdir)/examples/test
++@ENABLE_EXAMPLES_TRUE@AM_CXXFLAGS = \
++@ENABLE_EXAMPLES_TRUE@ $(WARN_CXXFLAGS) $(WARN_CXXFLAGS_TEST) $(WERROR_CXXFLAGS)
++
++@ENABLE_EXAMPLES_TRUE@doc = $(top_srcdir)/doc/bison.texi
++@ENABLE_EXAMPLES_TRUE@extexi = $(top_srcdir)/examples/extexi
++@ENABLE_EXAMPLES_TRUE@@ENABLE_GCC_WARNINGS_TRUE@extexiFLAGS = --synclines
++@ENABLE_EXAMPLES_TRUE@extract = VERSION="$(VERSION)" $(PERL) $(extexi) $(extexiFLAGS) $(doc) --
++@ENABLE_EXAMPLES_TRUE@extracted = $(calcxx_extracted) \
++@ENABLE_EXAMPLES_TRUE@ $(mfcalc_extracted) $(rpcalc_extracted)
++@ENABLE_EXAMPLES_TRUE@calcxx_sources_extracted = \
++@ENABLE_EXAMPLES_TRUE@ examples/calc++/calc++-driver.cc \
++@ENABLE_EXAMPLES_TRUE@ examples/calc++/calc++-driver.hh \
++@ENABLE_EXAMPLES_TRUE@ examples/calc++/calc++-scanner.ll \
++@ENABLE_EXAMPLES_TRUE@ examples/calc++/calc++.cc
++
++@ENABLE_EXAMPLES_TRUE@calcxx_extracted = \
++@ENABLE_EXAMPLES_TRUE@ $(calcxx_sources_extracted) \
++@ENABLE_EXAMPLES_TRUE@ examples/calc++/calc++-parser.yy
++
++@ENABLE_EXAMPLES_TRUE@calcxx_sources_generated = \
++@ENABLE_EXAMPLES_TRUE@ examples/calc++/calc++-parser.cc \
++@ENABLE_EXAMPLES_TRUE@ examples/calc++/calc++-parser.hh \
++@ENABLE_EXAMPLES_TRUE@ examples/calc++/location.hh \
++@ENABLE_EXAMPLES_TRUE@ examples/calc++/position.hh \
++@ENABLE_EXAMPLES_TRUE@ examples/calc++/stack.hh
++
++@ENABLE_EXAMPLES_TRUE@calcxx_sources = \
++@ENABLE_EXAMPLES_TRUE@ $(calcxx_sources_extracted) \
++@ENABLE_EXAMPLES_TRUE@ $(calcxx_sources_generated)
++
++@ENABLE_EXAMPLES_TRUE@@FLEX_CXX_WORKS_TRUE@nodist_examples_calc___calc___SOURCES = \
++@ENABLE_EXAMPLES_TRUE@@FLEX_CXX_WORKS_TRUE@ $(calcxx_sources)
++
++@ENABLE_EXAMPLES_TRUE@@FLEX_CXX_WORKS_TRUE@examples_calc___calc___CPPFLAGS = -I$(top_builddir)/examples/calc++
++@ENABLE_EXAMPLES_TRUE@@FLEX_CXX_WORKS_TRUE@examples_calc___calc___CXXFLAGS = $(AM_CXXFLAGS) $(FLEX_SCANNER_CXXFLAGS)
++@ENABLE_EXAMPLES_TRUE@calcxxdir = $(docdir)/examples/calc++
++@ENABLE_EXAMPLES_TRUE@calcxx_DATA = $(calcxx_extracted)
++@ENABLE_EXAMPLES_TRUE@mfcalc_extracted = examples/mfcalc/calc.h examples/mfcalc/mfcalc.y
++@ENABLE_EXAMPLES_TRUE@mfcalc_sources = $(mfcalc_extracted)
++@ENABLE_EXAMPLES_TRUE@examples_mfcalc_mfcalc_LDADD = -lm
++@ENABLE_EXAMPLES_TRUE@nodist_examples_mfcalc_mfcalc_SOURCES = $(mfcalc_sources)
++@ENABLE_EXAMPLES_TRUE@examples_mfcalc_mfcalc_CPPFLAGS = -I$(top_builddir)/examples/mfcalc
++@ENABLE_EXAMPLES_TRUE@mfcalcdir = $(docdir)/examples/mfcalc
++@ENABLE_EXAMPLES_TRUE@mfcalc_DATA = $(mfcalc_extracted)
++@ENABLE_EXAMPLES_TRUE@rpcalc_extracted = examples/rpcalc/rpcalc.y
++@ENABLE_EXAMPLES_TRUE@rpcalc_sources = $(rpcalc_extracted)
++@ENABLE_EXAMPLES_TRUE@examples_rpcalc_rpcalc_LDADD = -lm
++@ENABLE_EXAMPLES_TRUE@nodist_examples_rpcalc_rpcalc_SOURCES = $(rpcalc_sources)
++@ENABLE_EXAMPLES_TRUE@examples_rpcalc_rpcalc_CPPFLAGS = -I$(top_builddir)/examples/rpcalc
++@ENABLE_EXAMPLES_TRUE@rpcalcdir = $(docdir)/examples/rpcalc
++@ENABLE_EXAMPLES_TRUE@rpcalc_DATA = $(rpcalc_extracted)
+
+ # Implementation of bitsets.
+
+@@ -2441,7 +2453,7 @@
+ lib/progname.c lib/quotearg.c lib/sig-handler.c lib/size_max.h \
+ lib/spawn-pipe.h lib/spawn-pipe.c lib/w32spawn.h \
+ lib/glthread/threadlib.c lib/unistd.c lib/dup-safer.c \
+- lib/fd-safer.c lib/pipe-safer.c $(am__append_5) \
++ lib/fd-safer.c lib/pipe-safer.c $(am__append_10) \
+ lib/wait-process.h lib/wait-process.c lib/wctype-h.c \
+ lib/xmalloc.c lib/xalloc-die.c lib/xconcat-filename.c \
+ lib/xsize.h lib/xsize.c lib/xstrndup.h lib/xstrndup.c \
+@@ -5328,31 +5340,31 @@
+ # configure, because the former is way faster than the latter.
+ doc/Doxyfile: $(top_srcdir)/doc/Doxyfile.in
+ $(AM_V_GEN) $(edit) $(top_srcdir)/doc/Doxyfile.in >doc/Doxyfile
+-examples/extracted.stamp: $(doc) $(extexi)
+- $(AM_V_GEN)rm -f $@ $@.tmp
+- $(AM_V_at)touch $@.tmp
+- $(AM_V_at)$(extract) $(extracted)
+- $(AM_V_at)mv $@.tmp $@
+-
+-$(extracted): examples/extracted.stamp
+- @test -f $@ || rm -f examples/extracted.stamp
+- @test -f $@ || $(MAKE) $(AM_MAKEFLAGS) examples/extracted.stamp
++@ENABLE_EXAMPLES_TRUE@examples/extracted.stamp: $(doc) $(extexi)
++@ENABLE_EXAMPLES_TRUE@ $(AM_V_GEN)rm -f $@ $@.tmp
++@ENABLE_EXAMPLES_TRUE@ $(AM_V_at)touch $@.tmp
++@ENABLE_EXAMPLES_TRUE@ $(AM_V_at)$(extract) $(extracted)
++@ENABLE_EXAMPLES_TRUE@ $(AM_V_at)mv $@.tmp $@
++
++@ENABLE_EXAMPLES_TRUE@$(extracted): examples/extracted.stamp
++@ENABLE_EXAMPLES_TRUE@ @test -f $@ || rm -f examples/extracted.stamp
++@ENABLE_EXAMPLES_TRUE@ @test -f $@ || $(MAKE) $(AM_MAKEFLAGS) examples/extracted.stamp
+
+ # Don't depend on $(BISON) otherwise we would rebuild these files
+ # in srcdir, including during distcheck, which is forbidden.
+-examples/calc++/calc++-parser.stamp: $(BISON_IN)
+-.yy.stamp:
+- $(AM_V_YACC)rm -f $@
+- $(AM_V_at)touch $@.tmp
+- $(AM_V_at)$(YACCCOMPILE) -o $*.cc $<
+- $(AM_V_at)mv -f $@.tmp $@
+-
+-$(calcxx_sources_generated): examples/calc++/calc++-parser.stamp
+- @test -f $@ || rm -f examples/calc++/calc++-parser.stamp
+- @test -f $@ || $(MAKE) $(AM_MAKEFLAGS) examples/calc++/calc++-parser.stamp
++@ENABLE_EXAMPLES_TRUE@examples/calc++/calc++-parser.stamp: $(BISON_IN)
++@ENABLE_EXAMPLES_TRUE@.yy.stamp:
++@ENABLE_EXAMPLES_TRUE@ $(AM_V_YACC)rm -f $@
++@ENABLE_EXAMPLES_TRUE@ $(AM_V_at)touch $@.tmp
++@ENABLE_EXAMPLES_TRUE@ $(AM_V_at)$(YACCCOMPILE) -o $*.cc $<
++@ENABLE_EXAMPLES_TRUE@ $(AM_V_at)mv -f $@.tmp $@
++
++@ENABLE_EXAMPLES_TRUE@$(calcxx_sources_generated): examples/calc++/calc++-parser.stamp
++@ENABLE_EXAMPLES_TRUE@ @test -f $@ || rm -f examples/calc++/calc++-parser.stamp
++@ENABLE_EXAMPLES_TRUE@ @test -f $@ || $(MAKE) $(AM_MAKEFLAGS) examples/calc++/calc++-parser.stamp
+
+ # Avoid using BUILT_SOURCES which is too global.
+-$(examples_calc___calc___OBJECTS): $(calcxx_sources_generated)
++@ENABLE_EXAMPLES_TRUE@$(examples_calc___calc___OBJECTS): $(calcxx_sources_generated)
+
+ # We need the following in order to create <alloca.h> when the system
+ # doesn't have one that works with the given compiler.
+--- a/configure
++++ b/configure
+@@ -1693,6 +1693,8 @@
+ ALLOCA
+ GL_COND_LIBTOOL_FALSE
+ GL_COND_LIBTOOL_TRUE
++ENABLE_EXAMPLES_FALSE
++ENABLE_EXAMPLES_TRUE
+ XSLTPROC
+ HELP2MAN
+ PERL
+@@ -1837,6 +1839,7 @@
+ enable_threads
+ enable_gcc_warnings
+ enable_yacc
++enable_examples
+ enable_assert
+ with_gnu_ld
+ enable_rpath
+@@ -2493,6 +2496,7 @@
+ Also, issue synclines from the examples/ to
+ the corresponding source in the Texinfo doc.
+ --disable-yacc do not build a yacc command or an -ly library
++ --disable-examples do not build and install examples
+ --disable-assert turn off assertions
+ --disable-rpath do not hardcode runtime library paths
+ --disable-nls do not use Native Language Support
+@@ -8935,7 +8939,8 @@
+
+
+ if test -z "$PERL"; then
+- as_fn_error $? "perl not found" "$LINENO" 5
++ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: perl required for the testsuites" >&5
++$as_echo "$as_me: WARNING: perl required for the testsuites" >&2;}
+ fi
+
+ HELP2MAN=${HELP2MAN-"${am_missing_run}help2man"}
+@@ -8982,6 +8987,34 @@
+
+
+
++# Check whether --enable-examples was given.
++if test "${enable_examples+set}" = set; then :
++ enableval=$enable_examples;
++fi
++
++# Enable the examles by default if perl is available.
++case $enable_examples in
++no) ;;
++yes)
++ if test -z "$PERL"; then
++ as_fn_error $? "perl required for the examples" "$LINENO" 5
++ fi
++ ;;
++*)
++ if test -n "$PERL"; then
++ enable_examples=yes
++ fi
++ ;;
++esac
++ if test "xenable_examples" = xyes; then
++ ENABLE_EXAMPLES_TRUE=
++ ENABLE_EXAMPLES_FALSE='#'
++else
++ ENABLE_EXAMPLES_TRUE='#'
++ ENABLE_EXAMPLES_FALSE=
++fi
++
++
+ # Checks for header files.
+
+
+@@ -38129,6 +38162,10 @@
+ as_fn_error $? "conditional \"FLEX_CXX_WORKS\" was never defined.
+ Usually this means the macro was only invoked conditionally." "$LINENO" 5
+ fi
++if test -z "${ENABLE_EXAMPLES_TRUE}" && test -z "${ENABLE_EXAMPLES_FALSE}"; then
++ as_fn_error $? "conditional \"ENABLE_EXAMPLES\" was never defined.
++Usually this means the macro was only invoked conditionally." "$LINENO" 5
++fi
+ if test -z "${GL_COND_LIBTOOL_TRUE}" && test -z "${GL_COND_LIBTOOL_FALSE}"; then
+ as_fn_error $? "conditional \"GL_COND_LIBTOOL\" was never defined.
+ Usually this means the macro was only invoked conditionally." "$LINENO" 5
+--
+2.3.4
diff --git a/sys-devel/bison/metadata.xml b/sys-devel/bison/metadata.xml
new file mode 100644
index 000000000000..96a2d586367d
--- /dev/null
+++ b/sys-devel/bison/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>base-system</herd>
+</pkgmetadata>