nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 stdenv,
4 fetchurl,
5 readline,
6 autoreconfHook,
7}:
8
9let
10 version = "1.5c";
11in
12stdenv.mkDerivation rec {
13 pname = "zssh";
14 inherit version;
15
16 src = fetchurl {
17 url = "mirror://sourceforge/zssh/${pname}-${version}.tgz";
18 sha256 = "06z73iq59lz8ibjrgs7d3xl39vh9yld1988yx8khssch4pw41s52";
19 };
20
21 nativeBuildInputs = [ autoreconfHook ];
22 buildInputs = [ readline ];
23
24 patches = [
25 # Cargo-culted from Arch, returns “out of pty's” without it
26 (fetchurl {
27 name = "fix_use_ptmx_on_arch.patch";
28 url = "https://raw.githubusercontent.com/archlinux/svntogit-community/0a7c92543f9309856d02e31196f06d7c3eaa8b67/trunk/fix_use_ptmx_on_arch.patch";
29 sha256 = "12daw9wpy58ql882zww945wk9cg2adwp8qsr5rvazx0xq0qawgbr";
30 })
31 ];
32
33 patchFlags = [ "-p0" ];
34
35 postPatch = ''
36 sed -i 1i'#include <pty.h>' openpty.c
37 # readline has renamed the type name
38 substituteInPlace completion.c \
39 --replace-fail CPPFunction rl_completion_func_t
40 '';
41
42 # The makefile does not create the directories
43 postBuild = ''
44 install -dm755 "$out"/{bin,share/man/man1}
45 '';
46
47 meta = {
48 description = "SSH and Telnet client with ZMODEM file transfer capability";
49 homepage = "https://zssh.sourceforge.net/";
50 license = lib.licenses.gpl2Only;
51 maintainers = [ ]; # required by deepin-terminal
52 platforms = lib.platforms.linux;
53 };
54}