sys-apps/nawk: version bump
authorChristoph Junghans <junghans@gentoo.org>
Sun, 30 Dec 2018 16:07:27 +0000 (09:07 -0700)
committerChristoph Junghans <junghans@gentoo.org>
Sun, 30 Dec 2018 16:11:30 +0000 (09:11 -0700)
Closes: https://bugs.gentoo.org/674082
Package-Manager: Portage-2.3.51, Repoman-2.3.11
Signed-off-by: Christoph Junghans <junghans@gentoo.org>
sys-apps/nawk/Manifest
sys-apps/nawk/files/nawk-20180827-parallel-build.patch [new file with mode: 0644]
sys-apps/nawk/nawk-20180827.ebuild [new file with mode: 0644]

index ce34283faca67485da7a521fd965c318236b460d..935d6bbecdec8d0cedf3078ba2a1adfe1a8cf570 100644 (file)
@@ -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 (file)
index 0000000..c6e3838
--- /dev/null
@@ -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 (file)
index 0000000..0a5c711
--- /dev/null
@@ -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
+}