DIST bison-3.5.1-patches-01.tar.xz 9388 BLAKE2B 656cdc4fef308df3bc97c8f452ae75440909ed7eae13a8bdfc6b3b380f9d392ac3c9d300cb1e7a6d5548271b6ac63f5dfef594cbf9ef5322f97024468ed8e757 SHA512 195725726575998ff3d274d723ce3f605f9e1478601904668f165c1d9f628ed94380dfa65e546f12e3fc80b41aae7899774208510f382864dffde8545710f211
DIST bison-3.5.4.tar.xz 2370252 BLAKE2B 38078224f2e8e99210b64948831942f91062c6c9a080bee627f1ab4542f01b15bf2d4ce33a9864ae37cd5fb9bcc21e7e3382f98086698be12e01916640dd11f9 SHA512 92f59122dc4d5cae1debdd5567253f269ef001c98582a5763a2051424fecb78e8710c80a09fc488f6784705e679a8bc82874bc11cc03e4eb83445cb9f418b331
DIST bison-3.6-patches-01.tar.xz 10140 BLAKE2B 7731f5ed15bd221f75a42961efa8a034383332344474c71db6d1c95bbeff6687f83e4a77f2330000f31787eb78d0826942a648c6f55b084632b2876e5810a5d4 SHA512 0325f4a5cf53ab4a51a4abe22bd53eb4023684d1b3bbe89de8a15769e0c76bc6746aebd36f1efa950f14228d194202b68de28b304260eeada4f85cecd1eb4675
+DIST bison-3.6.1.tar.xz 2463812 BLAKE2B f9906254a4226fa8321008bce2b241e18a1e5301cd688a10eaf284b6eb08699a40987c43dce60a73d0188a7213403cc1bc0d4c0ca9a648e42af6d720ac52d313 SHA512 64c81a63745d4ecf167d303cd6c254a5df57adf4cc52560d295a1f411be0d99abb7399ea82c3c80cb35a66bda831c4bbe56bf272a66b33939ce4b7631398bfe0
DIST bison-3.6.tar.xz 2463276 BLAKE2B 4a846a16f6da7d34880215dcc4fde4699b86ad524ade111acc1aaca653e672f7a287a4d39a1a82601103fabf5a2f703f0e18f780f71196f37410322fcb0ac675 SHA512 968bbcfd1dffd10fb46ea4b3d49486d31b605f79ca88b8e2aa45fbafdb2fca3e1b0ac38564a9101681c8831cf423ea6a366f55d9497d21c05ddb3c7d66acb042
--- /dev/null
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit flag-o-matic
+
+PATCHES="${PN}-3.6-patches-01.tar.xz"
+
+DESCRIPTION="A general-purpose (yacc-compatible) parser generator"
+HOMEPAGE="https://www.gnu.org/software/bison/"
+SRC_URI="mirror://gnu/${PN}/${P}.tar.xz
+ mirror://gentoo/${PATCHES}
+ https://dev.gentoo.org/~whissi/dist/bison/${PATCHES}
+ https://dev.gentoo.org/~polynomial-c/dist/bison/${PATCHES}"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="examples nls static test"
+RESTRICT="!test? ( test )"
+
+RDEPEND=">=sys-devel/m4-1.4.16"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ sys-devel/flex
+ examples? ( dev-lang/perl )
+ nls? ( sys-devel/gettext )
+ test? ( dev-lang/perl )
+"
+
+DOCS=( AUTHORS ChangeLog NEWS README THANKS TODO ) # ChangeLog-2012 ChangeLog-1998 PACKAGING README-alpha README-release
+
+PATCHES=(
+ "${WORKDIR}"/patches/${PN}-3.5-optional-perl.patch #538300
+ "${WORKDIR}"/patches/${PN}-3.6-avoid_autoreconf.patch
+)
+
+src_prepare() {
+ # Record date to avoid 'config.status --recheck' & regen of 'tests/package.m4'
+ touch -r configure.ac old.configure.ac || die
+ touch -r configure old.configure || die
+
+ default
+
+ # Restore date after patching
+ touch -r old.configure.ac configure.ac || die
+ touch -r old.configure configure || die
+
+ # The makefiles make the man page depend on the configure script
+ # which we patched above. Touch it to prevent regeneration.
+ touch doc/bison.1 || die #548778 #538300#9
+
+ # Avoid regenerating the info page when the timezone is diff. #574492
+ sed -i '2iexport TZ=UTC' build-aux/mdate-sh || die
+}
+
+src_configure() {
+ use static && append-ldflags -static
+
+ local myeconfargs=(
+ $(use_enable examples)
+ $(use_enable nls)
+ )
+ econf "${myeconfargs[@]}"
+}
+
+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
+}
+
+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
+}