linux_xanmod: 5.11.14 -> 5.11.15
[NixPkgs.git] / pkgs / tools / misc / minicom / default.nix
blobd237c3b7fdd5be3238741290a9bcb3cc5b71ecb6
1 { lib, stdenv, fetchgit, autoreconfHook, makeWrapper, pkg-config
2 , lrzsz, ncurses, libiconv }:
4 stdenv.mkDerivation {
5   pname = "minicom";
6   version = "2.7.1";
8   # The repository isn't tagged properly, so we need to use commit refs
9   src = fetchgit {
10     url    = "https://salsa.debian.org/minicom-team/minicom.git";
11     rev    = "6ea8033b6864aa35d14fb8b87e104e4f783635ce";
12     sha256 = "0j95727xni4r122dalp09963gvc1nqa18l1d4wzz8746kw5s2rrb";
13   };
15   buildInputs = [ ncurses ] ++ lib.optional stdenv.isDarwin libiconv;
17   nativeBuildInputs = [ autoreconfHook makeWrapper pkg-config ];
19   enableParallelBuilding = true;
21   configureFlags = [
22     "--sysconfdir=/etc"
23     "--enable-lock-dir=/var/lock"
24   ];
26   patches = [ ./xminicom_terminal_paths.patch ];
28   preConfigure = ''
29     # Have `configure' assume that the lock directory exists.
30     substituteInPlace configure \
31       --replace 'test -d $UUCPLOCK' true
32   '';
34   postInstall = ''
35     for f in $out/bin/*minicom ; do
36       wrapProgram $f \
37         --prefix PATH : ${lib.makeBinPath [ lrzsz ]}:$out/bin
38     done
39   '';
41   meta = with lib; {
42     description = "Modem control and terminal emulation program";
43     homepage = "https://salsa.debian.org/minicom-team/minicom";
44     license = licenses.gpl2;
45     longDescription = ''
46       Minicom is a menu driven communications program. It emulates ANSI
47       and VT102 terminals. It has a dialing directory and auto zmodem
48       download.
49     '';
50     maintainers = with maintainers; [ peterhoeg ];
51     platforms = platforms.linux ++ platforms.darwin;
52   };