logo

overlay

My own overlay for experimentations, use with caution, no support is provided git clone https://hacktivis.me/git/overlay.git
commit: 37c526c1133f5c1115eee0f6a937373715379459
parent e5241bc5794ef7c524cfe4b117f9fc4e95feb6bc
Author: Haelwenn (lanodan) Monnier <contact@hacktivis.me>
Date:   Fri, 26 Jul 2024 05:22:48 +0200

app-alternatives/yacc: new package, add 2

Diffstat:

Aapp-alternatives/yacc/yacc-2.ebuild45+++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 45 insertions(+), 0 deletions(-)

diff --git a/app-alternatives/yacc/yacc-2.ebuild b/app-alternatives/yacc/yacc-2.ebuild @@ -0,0 +1,45 @@ +# Copyright 2022-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +ALTERNATIVES=( + "bison:>=sys-devel/bison-3.8.2-r1" + byacc:dev-util/byacc + oyacc:dev-util/oyacc + "reference:>=dev-util/yacc-1.9.1-r7" +) + +inherit app-alternatives + +DESCRIPTION="yacc symlinks" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" + +RDEPEND=" + !<dev-util/yacc-1.9.1-r7 + !<sys-devel/bison-3.8.2-r1 +" + +src_install() { + local alt=$(get_alternative) + + case ${alt} in + # bison installs its own small wrapper script 'yacc-bison' + # around bison(1). + bison) alt=yacc.bison;; + reference) alt=yacc-reference;; + esac + + dosym "${alt}" /usr/bin/yacc + newman - yacc.1 <<<".so ${alt}.1" + + # Leaving this for now to be safe, as it's closer to pre-alternatives + # status quo to leave it unset and let autoconf probe for Bison by itself + # as it prefers it anyway, and might be a CPP-like situation wrt + # calling bison or bison -y if YACC is set. + if [[ ${alt} != yacc.bison ]]; then + newenvd - 90yacc <<-EOF + YACC=${alt} + EOF + fi +}