summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--x11/xterm/Makefile1
-rw-r--r--x11/xterm/files/patch-main.c25
2 files changed, 26 insertions, 0 deletions
diff --git a/x11/xterm/Makefile b/x11/xterm/Makefile
index d029cff08487..890b9d4ccdfe 100644
--- a/x11/xterm/Makefile
+++ b/x11/xterm/Makefile
@@ -7,6 +7,7 @@
PORTNAME= xterm
PORTVERSION= 276
+PORTREVISION= 1
CATEGORIES= x11
MASTER_SITES= ftp://invisible-island.net/xterm/ \
CRITICAL
diff --git a/x11/xterm/files/patch-main.c b/x11/xterm/files/patch-main.c
new file mode 100644
index 000000000000..93646726cd25
--- /dev/null
+++ b/x11/xterm/files/patch-main.c
@@ -0,0 +1,25 @@
+--- ./main.c.orig 2011-10-09 16:14:51.000000000 +0200
++++ ./main.c 2011-11-18 09:29:46.000000000 +0100
+@@ -3312,19 +3312,18 @@
+ * necessary. ENXIO is what is normally returned if there is
+ * no controlling terminal, but some systems (e.g. SunOS 4.0)
+ * seem to return EIO. Solaris 2.3 is said to return EINVAL.
+- * Cygwin returns ENOENT.
++ * Cygwin returns ENOENT. FreeBSD can return ENOENT, especially
++ * if xterm is run within a jail.
+ */
+ #if USE_NO_DEV_TTY
+ no_dev_tty = False;
+ #endif
+ if (ttyfd < 0) {
+ if (tty_got_hung || errno == ENXIO || errno == EIO ||
++ errno == ENOENT ||
+ #ifdef ENODEV
+ errno == ENODEV ||
+ #endif
+-#ifdef __CYGWIN__
+- errno == ENOENT ||
+-#endif
+ errno == EINVAL || errno == ENOTTY || errno == EACCES) {
+ #if USE_NO_DEV_TTY
+ no_dev_tty = True;