base16-schemes: unstable-2024-06-21 -> unstable-2024-11-12
[NixPkgs.git] / pkgs / by-name / em / empty / package.nix
blob40e53ca2395068c802ecd59124faa5c4e67bac1b
1 { fetchzip, lib, stdenv, which }:
3 stdenv.mkDerivation rec {
4   pname = "empty";
5   version = "0.6.21b";
7   src = fetchzip {
8     url = "mirror://sourceforge/empty/empty/empty-${version}.tgz";
9     sha256 = "1rkixh2byr70pdxrwr4lj1ckh191rjny1m5xbjsa7nqw1fw6c2xs";
10     stripRoot = false;
11   };
13   patches = [
14     ./0.6-Makefile.patch
15   ];
17   nativeBuildInputs = [ which ];
19   makeFlags = [ "PREFIX=$(out)" ];
21   postPatch = ''
22     rm empty
23   '';
25   meta = with lib; {
26     homepage = "https://empty.sourceforge.net";
27     description = "Simple tool to automate interactive terminal applications";
28     license = licenses.bsd3;
29     platforms = platforms.all;
30     longDescription = ''
31       The empty utility provides an interface to execute and/or interact with
32       processes under pseudo-terminal sessions (PTYs). This tool is definitely
33       useful in programming of shell scripts designed to communicate with
34       interactive programs like telnet, ssh, ftp, etc. In some cases empty can
35       be the simplest replacement for TCL/expect or other similar programming
36       tools because empty:
38       - can be easily invoked directly from shell prompt or script
39       - does not use TCL, Perl, PHP, Python or anything else as an underlying language
40       - is written entirely in C
41       - has small and simple source code
42       - can easily be ported to almost all UNIX-like systems
43     '';
44     maintainers = [ maintainers.djwf ];
45     mainProgram = "empty";
46   };