1{ lib, stdenv, fetchFromGitHub, bison, buildPackages }:
2
3stdenv.mkDerivation rec {
4 pname = "nawk";
5 version = "20220122";
6
7 src = fetchFromGitHub {
8 owner = "onetrueawk";
9 repo = "awk";
10 rev = version;
11 hash = "sha256-W5WkGk4WY3g1qSFjJxFBa8KY1k13oK6WAMg5GH6kKU4=";
12 };
13
14 depsBuildBuild = [ buildPackages.stdenv.cc ];
15 nativeBuildInputs = [ bison ];
16 makeFlags = [
17 "CC=${stdenv.cc.targetPrefix}cc"
18 "HOSTCC=${if stdenv.buildPlatform.isDarwin then "clang" else "cc"}"
19 ];
20
21 installPhase = ''
22 runHook preInstall
23 install -Dm755 a.out "$out/bin/nawk"
24 install -Dm644 awk.1 "$out/share/man/man1/nawk.1"
25 runHook postInstall
26 '';
27
28 meta = {
29 description = "The one, true implementation of AWK";
30 longDescription = ''
31 This is the version of awk described in "The AWK Programming
32 Language", by Al Aho, Brian Kernighan, and Peter Weinberger
33 (Addison-Wesley, 1988, ISBN 0-201-07981-X).
34 '';
35 homepage = "https://www.cs.princeton.edu/~bwk/btl.mirror/";
36 license = lib.licenses.mit;
37 maintainers = [ lib.maintainers.konimex ];
38 platforms = lib.platforms.all;
39 };
40}