librepcb: 1.1.0 -> 1.2.0
[NixPkgs.git] / pkgs / tools / misc / minicom / default.nix
blob89653c26d6a03ca9d310dba73234ac5a5c839441
1 { lib
2 , stdenv
3 , fetchFromGitLab
4 , autoreconfHook
5 , makeWrapper
6 , pkg-config
7 , lrzsz
8 , ncurses
9 , libiconv
10 , IOKit
13 stdenv.mkDerivation rec {
14   pname = "minicom";
15   version = "2.9";
17   src = fetchFromGitLab {
18     domain = "salsa.debian.org";
19     owner = "minicom-team";
20     repo = pname;
21     rev = version;
22     sha256 = "sha256-+fKvHrApDXm94LItXv+xSDIE5zD7rTY5IeNSuzQglpg=";
23   };
25   buildInputs = [ ncurses ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ libiconv IOKit ];
27   nativeBuildInputs = [ autoreconfHook makeWrapper pkg-config ];
29   enableParallelBuilding = true;
31   configureFlags = [
32     "--sysconfdir=/etc"
33     "--enable-lock-dir=/var/lock"
34   ];
36   patches = [ ./xminicom_terminal_paths.patch ];
38   preConfigure = ''
39     # Have `configure' assume that the lock directory exists.
40     substituteInPlace configure \
41       --replace 'test -d $UUCPLOCK' true
42   '';
44   postInstall = ''
45     for f in $out/bin/*minicom ; do
46       wrapProgram $f \
47         --prefix PATH : ${lib.makeBinPath [ lrzsz ]}:$out/bin
48     done
49   '';
51   meta = with lib; {
52     description = "Modem control and terminal emulation program";
53     homepage = "https://salsa.debian.org/minicom-team/minicom";
54     license = licenses.gpl2Plus;
55     longDescription = ''
56       Minicom is a menu driven communications program. It emulates ANSI
57       and VT102 terminals. It has a dialing directory and auto zmodem
58       download.
59     '';
60     maintainers = with maintainers; [ peterhoeg ];
61     platforms = platforms.unix;
62   };