summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys-apps/nawk/Manifest1
-rw-r--r--sys-apps/nawk/files/nawk-20180827-parallel-build.patch35
-rw-r--r--sys-apps/nawk/nawk-20180827.ebuild57
3 files changed, 93 insertions, 0 deletions
diff --git a/sys-apps/nawk/Manifest b/sys-apps/nawk/Manifest
index ce34283faca6..935d6bbecdec 100644
--- a/sys-apps/nawk/Manifest
+++ b/sys-apps/nawk/Manifest
@@ -1 +1,2 @@
DIST nawk-20121220.tar.gz 88970 BLAKE2B e00b9e55bb3b9139c00b8cc0be3f6cea2acc1162ee4326103c054c7270ef4a29b97cdddc9a692cad0773a72a17c399d2da5453939681a5d2456f0b740b6bc2ee SHA512 1dd62e1aa4c8cfad7ce599b10d88e9b450ecae3217cf8327cc0f3ce77d0d0dcb731101b8f211066462d46dc4ef23e20ccd7f70d799d7d48940026abe8fa79d4f
+DIST nawk-20180827.tar.gz 1824076 BLAKE2B 4cfd000842d75d9a713fe73a85eefab33c17f9ecaca4f7f663d1157da411fd9fcf2badbf5180b4a90910445332095fe457e7acf0643621ac8a68da1a246b5e5f SHA512 cd6561149be71e6311aaa69c86b90ee4b29a057e5c2595470ccc8a41c40c653ec31b4bd46d7f58896d012f5fb5952103a76aa463a69e5128cba43d80eedf0b9b
diff --git a/sys-apps/nawk/files/nawk-20180827-parallel-build.patch b/sys-apps/nawk/files/nawk-20180827-parallel-build.patch
new file mode 100644
index 000000000000..c6e3838313a0
--- /dev/null
+++ b/sys-apps/nawk/files/nawk-20180827-parallel-build.patch
@@ -0,0 +1,35 @@
+From fa4a9fd729a57a314f0aa10897216ce3b60ec653 Mon Sep 17 00:00:00 2001
+From: Christoph Junghans <ottxor@gentoo.org>
+Date: Mon, 10 Feb 2014 22:38:22 -0700
+Subject: [PATCH] fixed parallel build
+
+---
+ makefile | 11 ++++++++---
+ 1 file changed, 8 insertions(+), 3 deletions(-)
+
+diff --git a/makefile b/makefile
+index ae80e4d..b3c8f9d 100644
+--- a/makefile
++++ b/makefile
+@@ -54,10 +54,15 @@ a.out: ytab.o $(OFILES)
+
+ $(OFILES): awk.h ytab.h proto.h
+
+-ytab.c: awk.h proto.h awkgram.y
++#Clear dependency for parallel build: (make -j)
++#YACC generated y.tab.c and y.tab.h at the same time
++#this needs to be a static pattern rules otherwise multiple target
++#are mapped onto multiple executions of yacc, which overwrite
++#each others outputs.
++y%.c y%.h: awk.h proto.h awkgram.y
+ $(YACC) $(YFLAGS) awkgram.y
+- mv y.tab.c ytab.c
+- mv y.tab.h ytab.h
++ mv y.$*.c y$*.c
++ mv y.$*.h y$*.h
+
+ ytab.h: ytab.c
+
+--
+2.19.2
+
diff --git a/sys-apps/nawk/nawk-20180827.ebuild b/sys-apps/nawk/nawk-20180827.ebuild
new file mode 100644
index 000000000000..0a5c7119b754
--- /dev/null
+++ b/sys-apps/nawk/nawk-20180827.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit toolchain-funcs
+
+DESCRIPTION="Brian Kernighan's pattern scanning and processing language"
+HOMEPAGE="https://www.cs.princeton.edu/~bwk/btl.mirror/"
+SRC_URI="https://github.com/onetrueawk/awk/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-macos"
+
+RDEPEND="
+ app-eselect/eselect-awk
+ !sys-freebsd/freebsd-ubin"
+
+DEPEND="
+ ${RDEPEND}
+ virtual/yacc"
+
+S="${WORKDIR}/awk-${PV}"
+
+PATCHES=( "${FILESDIR}/${P}"-parallel-build.patch )
+
+DOCS=( README FIXES )
+
+src_compile() {
+ emake \
+ CC="$(tc-getCC)" \
+ CFLAGS="${CFLAGS}" \
+ CPPFLAGS=-DHAS_ISBLANK \
+ ALLOC="${LDFLAGS}" \
+ YACC=$(type -p yacc) \
+ YFLAGS="-d"
+}
+
+src_install() {
+ newbin a.out "${PN}"
+ sed \
+ -e 's/awk/nawk/g' \
+ -e 's/AWK/NAWK/g' \
+ -e 's/Awk/Nawk/g' \
+ awk.1 > "${PN}".1 || die "manpage patch failed"
+ doman "${PN}.1"
+ einstalldocs
+}
+
+pkg_postinst() {
+ eselect awk update ifunset
+}
+
+pkg_postrm() {
+ eselect awk update ifunset
+}