public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: dev-util/yacc/, dev-util/yacc/files/
@ 2016-06-01  7:42 Patrice Clement
  0 siblings, 0 replies; only message in thread
From: Patrice Clement @ 2016-06-01  7:42 UTC (permalink / raw
  To: gentoo-commits

commit:     3541cb30d8e99d81178a468f709f9f4f821e55d1
Author:     Patrice Clement <monsieurp <AT> gentoo <DOT> org>
AuthorDate: Wed Jun  1 07:13:51 2016 +0000
Commit:     Patrice Clement <monsieurp <AT> gentoo <DOT> org>
CommitDate: Wed Jun  1 07:14:05 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3541cb30

dev-util/yacc: Housekeeping + EAPI 6 bump.

Package-Manager: portage-2.2.28

 dev-util/yacc/files/yacc-1.9.1-mkstemp.patch | 15 +++++++
 dev-util/yacc/yacc-1.9.1-r6.ebuild           | 66 ++++++++++++++++++++++++++++
 2 files changed, 81 insertions(+)

diff --git a/dev-util/yacc/files/yacc-1.9.1-mkstemp.patch b/dev-util/yacc/files/yacc-1.9.1-mkstemp.patch
new file mode 100644
index 0000000..5c72a6e
--- /dev/null
+++ b/dev-util/yacc/files/yacc-1.9.1-mkstemp.patch
@@ -0,0 +1,15 @@
+--- a/main.c.orig	2002-12-17 14:28:54.000000000 -0500
++++ b/main.c	2002-12-17 14:29:31.000000000 -0500
+@@ -264,9 +264,9 @@
+     text_file_name[len + 5] = 't';
+     union_file_name[len + 5] = 'u';
+ 
+-    mktemp(action_file_name);
+-    mktemp(text_file_name);
+-    mktemp(union_file_name);
++    mkstemp(action_file_name);
++    mkstemp(text_file_name);
++    mkstemp(union_file_name);
+ 
+     len = strlen(file_prefix);
+ 

diff --git a/dev-util/yacc/yacc-1.9.1-r6.ebuild b/dev-util/yacc/yacc-1.9.1-r6.ebuild
new file mode 100644
index 0000000..a8e9e4d
--- /dev/null
+++ b/dev-util/yacc/yacc-1.9.1-r6.ebuild
@@ -0,0 +1,66 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+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="public-domain"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+IUSE=""
+
+DEPEND=""
+RDEPEND=""
+
+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, 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() {
+	dobin "${PN}"
+	doman "${PN}.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 -v "${ROOT}"/usr/bin/yacc || die
+	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 || die
+	fi
+}


^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2016-06-01  7:42 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-06-01  7:42 [gentoo-commits] repo/gentoo:master commit in: dev-util/yacc/, dev-util/yacc/files/ Patrice Clement

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox