commit:     87a0d11d0d85c8532e3d4028557142b47e4e9d01
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Fri Dec  2 04:34:29 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Dec  2 21:09:49 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=87a0d11d

sys-devel/bison: support app-alternatives/yacc

Signed-off-by: Sam James <sam <AT> gentoo.org>

 sys-devel/bison/bison-3.8.2-r1.ebuild | 93 +++++++++++++++++++++++++++++++++++
 1 file changed, 93 insertions(+)

diff --git a/sys-devel/bison/bison-3.8.2-r1.ebuild 
b/sys-devel/bison/bison-3.8.2-r1.ebuild
new file mode 100644
index 000000000000..8a3490b4631a
--- /dev/null
+++ b/sys-devel/bison/bison-3.8.2-r1.ebuild
@@ -0,0 +1,93 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/bison.asc
+inherit flag-o-matic verify-sig
+
+DESCRIPTION="A general-purpose (yacc-compatible) parser generator"
+HOMEPAGE="https://www.gnu.org/software/bison/";
+SRC_URI="mirror://gnu/${PN}/${P}.tar.xz"
+SRC_URI+=" verify-sig? ( mirror://gnu/${PN}/${P}.tar.xz.sig )"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 
~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos 
~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="examples nls static test"
+RESTRICT="!test? ( test )"
+
+# gettext _IS_ required in RDEPEND because >=bison-3.7 links against
+# libtextstyle.so!!! (see bug #740754)
+DEPEND="
+       >=sys-devel/m4-1.4.16
+       >=sys-devel/gettext-0.21
+"
+RDEPEND="${DEPEND}"
+BDEPEND="
+       sys-devel/flex
+       test? ( dev-lang/perl )
+       verify-sig? ( sec-keys/openpgp-keys-bison )
+"
+PDEPEND="app-alternatives/yacc"
+
+DOCS=( AUTHORS ChangeLog NEWS README THANKS TODO ) # ChangeLog-2012 
ChangeLog-1998 PACKAGING README-alpha README-release
+
+src_prepare() {
+       # Old logic when we needed to patch configure.ac
+       # Keeping in case it's useful for future
+
+       # 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
+
+       #eapply "${WORKDIR}"/patches
+       #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
+
+       default
+
+       # 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 nls)
+       )
+
+       econf "${myeconfargs[@]}"
+}
+
+src_install() {
+       default
+
+       # These are owned by app-alternatives/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
+
+       # Examples are about 200K, so let's make them optional still for now.
+       if ! use examples ; then
+               rm -r "${ED}"/usr/share/doc/${PF}/examples/ || die
+       fi
+}
+
+pkg_postinst() {
+       # ensure to preserve the symlinks before app-alternatives/yacc
+       # is installed
+       if [[ ! -h ${EROOT}/usr/bin/yacc ]]; then
+               ln -s yacc "${EROOT}/usr/bin/yacc.bison" || die
+       fi
+}

Reply via email to