Skip to content

Commit

Permalink
minicom: 2.7 -> 2.7.1
Browse files Browse the repository at this point in the history
  • Loading branch information
peterhoeg committed Oct 24, 2017
1 parent b752a9e commit 707b6b1
Show file tree
Hide file tree
Showing 2 changed files with 112 additions and 19 deletions.
52 changes: 33 additions & 19 deletions pkgs/tools/misc/minicom/default.nix
@@ -1,32 +1,46 @@
{ stdenv, fetchurl, ncurses }:
{ stdenv, fetchurl, autoreconfHook, pkgconfig
, ncurses }:

stdenv.mkDerivation rec {
name = "minicom-2.7";
name = "minicom-2.7.1";

src = fetchurl {
url = "http://alioth.debian.org/frs/download.php/file/3977/${name}.tar.gz";
sha256 = "1x04m4k7c71j5cnhzpjrbz43dd96k4mpkd0l87v5skrgp1isdhws";
url = "https://alioth.debian.org/frs/download.php/latestfile/3/${name}.tar.gz";
sha256 = "1wa1l36fa4npd21xa9nz60yrqwkk5cq713fa3p5v0zk7g9mq6bsk";
};

buildInputs = [ncurses];
buildInputs = [ ncurses ];

configureFlags = [ "--sysconfdir=/etc" "--enable-lock-dir=/var/lock" ];
nativeBuildInputs = [ autoreconfHook pkgconfig ];

preConfigure =
# Have `configure' assume that the lock directory exists.
'' sed -i "configure" -e's/test -d \$UUCPLOCK/true/g'
'';
enableParallelBuilding = true;

meta = {
description = "Modem control and terminal emulation program";
homepage = http://alioth.debian.org/projects/minicom/;
configureFlags = [
"--sysconfdir=/etc"
"--enable-lock-dir=/var/lock"
];

patches = [ ./xminicom_terminal_paths.patch ];

longDescription =
'' Minicom is a menu driven communications program. It emulates ANSI
and VT102 terminals. It has a dialing directory and auto zmodem
download.
'';
preConfigure = ''
# Have `configure' assume that the lock directory exists.
substituteInPlace configure \
--replace 'test -d $UUCPLOCK' true
substituteInPlace src/rwconf.c \
--replace /usr/bin/ascii-xfr $out/bin/ascii-xfr
'';

platforms = stdenv.lib.platforms.gnu; # arbitrary choice
meta = with stdenv.lib; {
description = "Modem control and terminal emulation program";
homepage = https://alioth.debian.org/projects/minicom/;
license = licenses.gpl2;
longDescription = ''
Minicom is a menu driven communications program. It emulates ANSI
and VT102 terminals. It has a dialing directory and auto zmodem
download.
'';
maintainers = with maintainers; [ peterhoeg ];
platforms = platforms.linux;
};
}
79 changes: 79 additions & 0 deletions pkgs/tools/misc/minicom/xminicom_terminal_paths.patch
@@ -0,0 +1,79 @@
diff --git a/src/xminicom b/src/xminicom
index a59aa08..cef153b 100755
--- a/src/xminicom
+++ b/src/xminicom
@@ -7,57 +7,39 @@
#
# version $Id: xminicom,v 1.4 2008-06-09 20:48:35 al-guest Exp $

-findcmd()
-{
- IFS=:
- for i in $PATH
- do
- if [ -x $i\/$1 ]
- then
- result=$i\/$1
- IFS=
- return 0
- fi
- done
- result=
- IFS=
- return 1
+findcmd() {
+ result=$(command -v $1)
}

-if findcmd x-terminal-emulator
-then
+if findcmd x-terminal-emulator ; then
exec $result -T minicom -e "if ! minicom -m -c on $*; then echo Press ENTER to continue...; read; fi"
exit 1
fi

-if findcmd color_xterm
-then
+if findcmd konsole ; then
+ exec $result -T minicom -geometry 80x25 -e minicom -m -c on "$@"
+ exit 1
+fi
+
+if findcmd gnome-terminal ; then
+ exec $result -T minicom -geometry 80x25 -e "if ! minicom -m -c on $*; then echo Press ENTER to continue...; read; fi"
+ exit 1
+fi
+
+if findcmd color_xterm ; then
exec $result -T minicom -bg black -fg grey -n minicom -geometry 80x25 -e "if ! minicom -m -c on $*; then echo Press ENTER to continue...; read; fi"
exit 1
fi

-if findcmd rxvt
-then
+if findcmd rxvt ; then
exec $result -bg black -fg grey -n minicom -T minicom -sl 0 -geometry 80x25 -e "if ! minicom -m -c on $*; then echo Press ENTER to continue...; read; fi"
exit 1
fi

-if findcmd kterm
-then
+if findcmd xterm ; then
exec $result -T minicom -n minicom -geometry 80x25 -e "if ! minicom -m -c on $*; then echo Press ENTER to continue...; read; fi"
exit 1
fi

-if findcmd xterm
-then
- if [ -f /etc/debian_version ]
- then
- exec $result -T minicom -n minicom -bg black -fg grey -geometry 80x25 -e "if ! minicom -m -c on $*; then echo Press ENTER to continue...; read; fi"
- else
- exec $result -T minicom -n minicom -geometry 80x25 -e "if ! minicom -m -c on $*; then echo Press ENTER to continue...; read; fi"
- fi
- exit 1
-fi
-
-echo "xminicom: rxvt, color_xterm or xterm NOT found!" 1>&2
+echo "xminicom: konsole, gnome-terminal, rxvt, color_xterm or xterm NOT found!" 1>&2
exit 1

0 comments on commit 707b6b1

Please sign in to comment.