Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{ lib
2, stdenv
3, fetchFromGitHub
4, meson
5, ncurses
6, ninja
7, pkg-config
8}:
9
10stdenv.mkDerivation (finalAttrs: {
11 pname = "loksh";
12 version = "7.3";
13
14 src = fetchFromGitHub {
15 owner = "dimkr";
16 repo = finalAttrs.pname;
17 rev = finalAttrs.version;
18 fetchSubmodules = true;
19 sha256 = "sha256-djjJH+mknmOfleVJhSkCLqCIaELh2gjZZE/xdNZuPtY=";
20 };
21
22 nativeBuildInputs = [
23 meson
24 ninja
25 pkg-config
26 ];
27
28 buildInputs = [
29 ncurses
30 ];
31
32 strictDeps = true;
33
34 postInstall = ''
35 mv $out/bin/ksh $out/bin/loksh
36 mv $out/share/man/man1/ksh.1 $out/share/man/man1/loksh.1
37 mv $out/share/man/man1/sh.1 $out/share/man/man1/loksh-sh.1
38 '';
39
40 meta = with lib; {
41 homepage = "https://github.com/dimkr/loksh";
42 description = "Linux port of OpenBSD's ksh";
43 longDescription = ''
44 loksh is a Linux port of OpenBSD's ksh.
45
46 Unlike other ports of ksh, loksh targets only one platform, follows
47 upstream closely and keeps changes to a minimum. loksh does not add any
48 extra features; this reduces the risk of introducing security
49 vulnerabilities and makes loksh a good fit for resource-constrained
50 systems.
51 '';
52 license = licenses.publicDomain;
53 maintainers = with maintainers; [ cameronnemo ];
54 platforms = platforms.linux;
55 };
56
57 passthru = {
58 shellPath = "/bin/loksh";
59 };
60})