summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2022-12-02 04:40:00 +0000
committerSam James <sam@gentoo.org>2022-12-02 21:09:50 +0000
commit7aec318c57c9af54d5e454e9c7e93239415b5629 (patch)
treef8606e53767677ad460530e34649de56c65bedcd /dev-util
parentsys-devel/bison: support app-alternatives/yacc (diff)
downloadgentoo-7aec318c57c9af54d5e454e9c7e93239415b5629.tar.gz
gentoo-7aec318c57c9af54d5e454e9c7e93239415b5629.tar.bz2
gentoo-7aec318c57c9af54d5e454e9c7e93239415b5629.zip
dev-util/yacc: support app-alternatives/yacc
Closes: https://bugs.gentoo.org/90089 Signed-off-by: Sam James <sam@gentoo.org> Closes: https://github.com/gentoo/gentoo/pull/28502 Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'dev-util')
-rw-r--r--dev-util/yacc/yacc-1.9.1-r7.ebuild44
1 files changed, 44 insertions, 0 deletions
diff --git a/dev-util/yacc/yacc-1.9.1-r7.ebuild b/dev-util/yacc/yacc-1.9.1-r7.ebuild
new file mode 100644
index 000000000000..e3aabd4c456f
--- /dev/null
+++ b/dev-util/yacc/yacc-1.9.1-r7.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+DESCRIPTION="Yacc: Yet Another Compiler-Compiler"
+HOMEPAGE="http://dinosaur.compilertools.net/#yacc"
+SRC_URI="ftp://metalab.unc.edu/pub/Linux/devel/compiler-tools/${P}.tar.Z"
+
+LICENSE="public-domain"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86"
+
+PATCHES=(
+ # mkstemp patch from byacc ebuild.
+ "${FILESDIR}/${P}-mkstemp.patch"
+
+ # The following patch fixes yacc to run correctly on ia64 (and
+ # other 64-bit arches). See bug 46233.
+ "${FILESDIR}/${P}-ia64.patch"
+
+ # Avoid stack access error. See bug 232005.
+ "${FILESDIR}/${P}-CVE-2008-3196.patch"
+)
+
+src_prepare() {
+ default
+
+ # Use our CFLAGS and LDFLAGS.
+ sed -i -e 's: -O : $(CFLAGS) $(LDFLAGS) :' Makefile || die 'sed failed'
+}
+
+src_compile() {
+ emake clean
+ emake CC="$(tc-getCC)" CFLAGS="${CFLAGS}"
+}
+
+src_install() {
+ newbin yacc yacc-reference
+ newman yacc.1 yacc-reference.1
+ dodoc 00README* ACKNOWLEDGEMENTS NEW_FEATURES NO_WARRANTY NOTES README*
+}