nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 stdenv,
4 fetchFromGitHub,
5 bison,
6 buildPackages,
7 installShellFiles,
8}:
9
10stdenv.mkDerivation (finalAttrs: {
11 pname = "nawk";
12 version = "20251225";
13
14 src = fetchFromGitHub {
15 owner = "onetrueawk";
16 repo = "awk";
17 rev = finalAttrs.version;
18 hash = "sha256-8QocZx6Diy3xLakZQxqmWdOywvhVYRjSndY5EiV+dng=";
19 };
20
21 depsBuildBuild = [ buildPackages.stdenv.cc ];
22
23 nativeBuildInputs = [
24 bison
25 installShellFiles
26 ];
27
28 outputs = [
29 "out"
30 "man"
31 ];
32
33 makeFlags = [
34 "CC=${stdenv.cc.targetPrefix}cc"
35 "HOSTCC=${if stdenv.buildPlatform.isDarwin then "clang" else "cc"}"
36 ];
37
38 installPhase = ''
39 runHook preInstall
40 mv a.out nawk
41 installBin nawk
42 mv awk.1 nawk.1
43 installManPage nawk.1
44 runHook postInstall
45 '';
46
47 meta = {
48 homepage = "https://awk.dev";
49 description = "One, true implementation of AWK";
50 longDescription = ''
51 This is the version of awk described in "The AWK Programming Language",
52 Second Edition, by Al Aho, Brian Kernighan, and Peter Weinberger
53 (Addison-Wesley, 2023, ISBN 0-13-826972-6).
54 '';
55 changelog = "https://github.com/onetrueawk/awk/blob/${finalAttrs.src.rev}/ChangeLog";
56 license = lib.licenses.mit;
57 mainProgram = "nawk";
58 maintainers = with lib.maintainers; [
59 konimex
60 ];
61 platforms = lib.platforms.all;
62 };
63})