1{ lib, stdenv, fetchFromGitHub, autoreconfHook, nix-update-script, fetchpatch }:
2
3stdenv.mkDerivation rec {
4 pname = "editline";
5 version = "1.17.1";
6 src = fetchFromGitHub {
7 owner = "troglobit";
8 repo = "editline";
9 rev = version;
10 sha256 = "sha256-0FeDUVCUahbweH24nfaZwa7j7lSfZh1TnQK7KYqO+3g=";
11 };
12
13 patches = [
14 (fetchpatch {
15 name = "fix-for-home-end-in-tmux.patch";
16 url = "https://github.com/troglobit/editline/commit/265c1fb6a0b99bedb157dc7c320f2c9629136518.patch";
17 sha256 = "sha256-9fhQH0hT8BcykGzOUoT18HBtWjjoXnePSGDJQp8GH30=";
18 })
19
20 # Pending autoconf-2.72 upstream support:
21 # https://github.com/troglobit/editline/pull/64
22 (fetchpatch {
23 name = "autoconf-2.72.patch";
24 url = "https://github.com/troglobit/editline/commit/f444a316f5178b8e20fe31e7b2d979e651da077e.patch";
25 hash = "sha256-m3jExTkPvE+ZBwHzf/A+ugzzfbLmeWYn726l7Po7f10=";
26 })
27 ];
28
29 configureFlags = [ (lib.enableFeature true "sigstop") ];
30
31 nativeBuildInputs = [ autoreconfHook ];
32
33 outputs = [ "out" "dev" "man" "doc" ];
34
35 passthru.updateScript = nix-update-script { };
36
37 meta = with lib; {
38 homepage = "https://troglobit.com/projects/editline/";
39 description = "Readline() replacement for UNIX without termcap (ncurses)";
40 license = licenses.bsdOriginal;
41 maintainers = with maintainers; [ oxalica ];
42 platforms = platforms.all;
43 };
44}