Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{ lib
2, stdenv
3, fetchurl
4, gd
5, giflib
6, groff
7, libpng
8, tk
9}:
10
11stdenv.mkDerivation rec {
12 pname = "npiet";
13 version = "1.3f";
14
15 src = fetchurl {
16 url = "https://www.bertnase.de/npiet/npiet-${version}.tar.gz";
17 sha256 = "sha256-Le2FYGKr1zWZ6F4edozmvGC6LbItx9aptidj3KBLhVo=";
18 };
19
20 buildInputs = [ gd giflib libpng ];
21
22 nativeBuildInputs = [ groff ];
23
24 postPatch = ''
25 # malloc.h is not needed because stdlib.h is already included.
26 # On macOS, malloc.h does not even exist, resulting in an error.
27 substituteInPlace npiet-foogol.c \
28 --replace '#include <malloc.h>' ""
29
30 substituteInPlace npietedit \
31 --replace 'exec wish' 'exec ${tk}/bin/wish'
32 '';
33
34 meta = with lib; {
35 description = "An interpreter for piet programs. Also includes npietedit and npiet-foogol";
36 longDescription = ''
37 npiet is an interpreter for the piet programming language.
38 Instead of text, piet programs are pictures. Commands are determined based on changes in color.
39 '';
40 homepage = "https://www.bertnase.de/npiet/";
41 license = licenses.gpl2Only;
42 platforms = platforms.unix;
43 maintainers = with maintainers; [ Luflosi ];
44 };
45}