summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHarald van Dijk <truedfx@gentoo.org>2010-08-28 12:32:37 +0000
committerHarald van Dijk <truedfx@gentoo.org>2010-08-28 12:32:37 +0000
commit74c80858a1030980fb2c8b60a15a0b8eb23784c2 (patch)
treefa7cf2266652320b75599c599b32db7f98ad9398 /dev-util/yacc/yacc-1.9.1-r5.ebuild
parentRespect CC,CFLAGS,LDFLAGS wrt bug 334965. Thanks to Diego for the report. Fix... (diff)
downloadgentoo-2-74c80858a1030980fb2c8b60a15a0b8eb23784c2.tar.gz
gentoo-2-74c80858a1030980fb2c8b60a15a0b8eb23784c2.tar.bz2
gentoo-2-74c80858a1030980fb2c8b60a15a0b8eb23784c2.zip
Use LDFLAGS (#334983 by flameeyes), plus emake/RDEPEND cleanup
(Portage version: 2.2_rc69/cvs/Linux x86_64)
Diffstat (limited to 'dev-util/yacc/yacc-1.9.1-r5.ebuild')
-rw-r--r--dev-util/yacc/yacc-1.9.1-r5.ebuild63
1 files changed, 63 insertions, 0 deletions
diff --git a/dev-util/yacc/yacc-1.9.1-r5.ebuild b/dev-util/yacc/yacc-1.9.1-r5.ebuild
new file mode 100644
index 000000000000..7039a5a7b4f0
--- /dev/null
+++ b/dev-util/yacc/yacc-1.9.1-r5.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-util/yacc/yacc-1.9.1-r5.ebuild,v 1.1 2010/08/28 12:32:37 truedfx Exp $
+
+inherit eutils 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="as-is"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+IUSE=""
+
+DEPEND=""
+RDEPEND=""
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+
+ # Use our CFLAGS and LDFLAGS
+ sed -i -e 's: -O : $(CFLAGS) $(LDFLAGS) :' Makefile || die 'sed failed'
+
+ # mkstemp patch from byacc ebuild
+ epatch "${FILESDIR}"/mkstemp.patch
+
+ # The following patch fixes yacc to run correctly on ia64 (and
+ # other 64-bit arches). See bug 46233
+ epatch "${FILESDIR}"/${P}-ia64.patch
+
+ # avoid stack access error, bug 232005
+ epatch "${FILESDIR}"/${P}-CVE-2008-3196.patch
+}
+
+src_compile() {
+ emake clean || die
+ emake CC="$(tc-getCC)" CFLAGS="${CFLAGS}" || die
+}
+
+src_install() {
+ dobin yacc || die
+ doman yacc.1
+ dodoc 00README* ACKNOWLEDGEMENTS NEW_FEATURES NO_WARRANTY NOTES README*
+}
+
+pkg_preinst() {
+ # bison installs a /usr/bin/yacc symlink ...
+ # we need to remove it to avoid triggering
+ # collision-protect errors #90089
+ if [[ -L ${ROOT}/usr/bin/yacc ]] ; then
+ rm -f "${ROOT}"/usr/bin/yacc
+ fi
+}
+
+pkg_postrm() {
+ # and if we uninstall yacc but keep bison,
+ # lets restore the /usr/bin/yacc symlink
+ if [[ ! -e ${ROOT}/usr/bin/yacc ]] && [[ -e ${ROOT}/usr/bin/yacc.bison ]] ; then
+ ln -s yacc.bison "${ROOT}"/usr/bin/yacc
+ fi
+}