summary refs log tree commit diff
path: root/pkgs/tools
diff options
context:
space:
mode:
authorPeter Hoeg <peter@hoeg.com>2017-10-24 17:14:24 +0800
committerPeter Hoeg <peter@hoeg.com>2017-10-24 18:07:34 +0800
commit707b6b12cc0b0399d1fe1c83b9110a4bab16b861 (patch)
treea0c09e98e8b624ff3e11d58759a23d869d9c4307 /pkgs/tools
parentb752a9e43356d69666ec6e1a3a7b5d92248b906e (diff)
downloadnixpkgs-707b6b12cc0b0399d1fe1c83b9110a4bab16b861.tar
nixpkgs-707b6b12cc0b0399d1fe1c83b9110a4bab16b861.tar.gz
nixpkgs-707b6b12cc0b0399d1fe1c83b9110a4bab16b861.tar.bz2
nixpkgs-707b6b12cc0b0399d1fe1c83b9110a4bab16b861.tar.lz
nixpkgs-707b6b12cc0b0399d1fe1c83b9110a4bab16b861.tar.xz
nixpkgs-707b6b12cc0b0399d1fe1c83b9110a4bab16b861.tar.zst
nixpkgs-707b6b12cc0b0399d1fe1c83b9110a4bab16b861.zip
minicom: 2.7 -> 2.7.1
Diffstat (limited to 'pkgs/tools')
-rw-r--r--pkgs/tools/misc/minicom/default.nix52
-rw-r--r--pkgs/tools/misc/minicom/xminicom_terminal_paths.patch79
2 files changed, 112 insertions, 19 deletions
diff --git a/pkgs/tools/misc/minicom/default.nix b/pkgs/tools/misc/minicom/default.nix
index d731e856790..5796f6335c0 100644
--- a/pkgs/tools/misc/minicom/default.nix
+++ b/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;
   };
 }
diff --git a/pkgs/tools/misc/minicom/xminicom_terminal_paths.patch b/pkgs/tools/misc/minicom/xminicom_terminal_paths.patch
new file mode 100644
index 00000000000..18535253d9f
--- /dev/null
+++ b/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