From 0bbe43845091b2b98b208f6890878043545a27c1 Mon Sep 17 00:00:00 2001 From: Harald van Dijk Date: Wed, 17 Jan 2007 13:07:13 +0000 Subject: [PATCH] Create correct /usr/bin/yacc symlink after removing yacc Package-Manager: portage-2.1.2 --- dev-util/yacc/ChangeLog | 10 +++- dev-util/yacc/files/digest-yacc-1.9.1-r3 | 3 ++ dev-util/yacc/yacc-1.9.1-r3.ebuild | 59 ++++++++++++++++++++++++ 3 files changed, 70 insertions(+), 2 deletions(-) create mode 100644 dev-util/yacc/files/digest-yacc-1.9.1-r3 create mode 100644 dev-util/yacc/yacc-1.9.1-r3.ebuild diff --git a/dev-util/yacc/ChangeLog b/dev-util/yacc/ChangeLog index ed5579bd4e1b..4aa276941567 100644 --- a/dev-util/yacc/ChangeLog +++ b/dev-util/yacc/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for dev-util/yacc -# Copyright 2002-2005 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-util/yacc/ChangeLog,v 1.16 2005/08/18 22:55:37 matsuu Exp $ +# Copyright 2002-2007 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/dev-util/yacc/ChangeLog,v 1.17 2007/01/17 13:07:13 truedfx Exp $ + +*yacc-1.9.1-r3 (17 Jan 2007) + + 17 Jan 2007; Harald van Dijk -yacc-1.9.1-r2.ebuild, + +yacc-1.9.1-r3.ebuild: + Create correct /usr/bin/yacc symlink after removing yacc 18 Aug 2005; MATSUU Takuto yacc-1.9.1-r2.ebuild: Stable on sh. diff --git a/dev-util/yacc/files/digest-yacc-1.9.1-r3 b/dev-util/yacc/files/digest-yacc-1.9.1-r3 new file mode 100644 index 000000000000..384a5b5a999a --- /dev/null +++ b/dev-util/yacc/files/digest-yacc-1.9.1-r3 @@ -0,0 +1,3 @@ +MD5 3bcf50bece4ef1d0fbaf479e25790437 yacc-1.9.1.tar.Z 64805 +RMD160 f0efe89f6c6d7137f1191dd5aa2c91456ff20a3b yacc-1.9.1.tar.Z 64805 +SHA256 8a0f3faf78d0ada00eea5ffd1e141bb7a979d5d570a4c8a9a6ea57e5f3751477 yacc-1.9.1.tar.Z 64805 diff --git a/dev-util/yacc/yacc-1.9.1-r3.ebuild b/dev-util/yacc/yacc-1.9.1-r3.ebuild new file mode 100644 index 000000000000..e08581e46bbe --- /dev/null +++ b/dev-util/yacc/yacc-1.9.1-r3.ebuild @@ -0,0 +1,59 @@ +# Copyright 1999-2007 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-r3.ebuild,v 1.1 2007/01/17 13:07:13 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="" + +src_unpack() { + unpack ${A} + cd "${S}" + + # Use our CFLAGS + sed -i -e 's: -O : $(CFLAGS) :' 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}"/yacc-1.9.1-ia64.patch +} + +src_compile() { + make clean || die + emake -j1 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 +} -- 2.26.2