summaryrefslogtreecommitdiff
path: root/x11/mlterm
diff options
context:
space:
mode:
authorwiz <wiz@pkgsrc.org>2006-12-19 07:53:57 +0000
committerwiz <wiz@pkgsrc.org>2006-12-19 07:53:57 +0000
commit6a97ec9386d1a21f37c62d172cd41803dc0f90f9 (patch)
treef112cd9b89bb512b01819cd2319d579427870c93 /x11/mlterm
parent538999b38aa5ed0ed27dbf896304641a8dd48d5d (diff)
downloadpkgsrc-6a97ec9386d1a21f37c62d172cd41803dc0f90f9.tar.gz
Update to 2.9.3 with additional fixes from mlterm CVS, provided by
Christian Biere in PR 34798 with minor fixes by me. Changes: * Improvements for compatibility with xterm: - Log file handling [kzys] - Function keys [seiichi] (Thanks to Konosuke Watanabe) - Sequence for setting scroll region [seiichi] (Thanks to SHIOTA Shoichi and Takashi SHIRAI) - Behavior of saving/restoring cursor [minami] (Thanks to Thomas Dickey for suggestions) - Termcap and Terminfo [minami, seiichi] - Turn off mouse position reporting by a "reset" sequence [minami] (Debian Bug #55637) * Improvement build prosess for cross-compiling [minami] * Workaround for missing rgb.txt [minami] * Updated documents [kzys, minami, seiichi] * Bug fix for broken selection requester [minami] * Added support for SCIM-1.4.x [seiichi] * Removed support for SCIM-1.0.x [seiichi] * Removed support for uim-0.x.x [seiichi] * Hebrew mapping table for "kbd" input method [seiich] * Revided a scroll caching mechanism [seiichi] (SF Bug #1161050) * Suppressed a check for libxpg4 of FreeBSD [seiichi] (Thanks to SHIOTA Shoichi and MANTANI Nobutaka) * Fixed a bug of alignment of full width chars when variable column width is enabled [minami] (Thanks to Oibane) * Vietnamese translation for mlconfig [Pham Thanh Long] * Other Bug fixes: - SF Bug #1206515 [Takeshi Hakamata] - SF Bug #1161055 [seiichi] - Debian Bug #302231 [Andreas Jochens] - Debian Bug #313970 [Jens Seidel] - Debian Bug #350590 [seiichi] - SUSE Bug #105320 [mfabian]
Diffstat (limited to 'x11/mlterm')
-rw-r--r--x11/mlterm/Makefile6
-rw-r--r--x11/mlterm/PLIST3
-rw-r--r--x11/mlterm/distinfo18
-rw-r--r--x11/mlterm/patches/patch-ad21
-rw-r--r--x11/mlterm/patches/patch-ah39
-rw-r--r--x11/mlterm/patches/patch-ai57
-rw-r--r--x11/mlterm/patches/patch-aj17
-rw-r--r--x11/mlterm/patches/patch-ak40
-rw-r--r--x11/mlterm/patches/patch-al52
-rw-r--r--x11/mlterm/patches/patch-am56
-rw-r--r--x11/mlterm/patches/patch-an26
-rw-r--r--x11/mlterm/patches/patch-ao35
12 files changed, 355 insertions, 15 deletions
diff --git a/x11/mlterm/Makefile b/x11/mlterm/Makefile
index 3561b3f064e..026cda0ebd2 100644
--- a/x11/mlterm/Makefile
+++ b/x11/mlterm/Makefile
@@ -1,7 +1,6 @@
-# $NetBSD: Makefile,v 1.46 2006/11/12 15:13:56 hira Exp $
+# $NetBSD: Makefile,v 1.47 2006/12/19 07:53:57 wiz Exp $
-DISTNAME= mlterm-2.9.2
-PKGREVISION= 4
+DISTNAME= mlterm-2.9.3
CATEGORIES= x11
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=mlterm/}
@@ -27,7 +26,6 @@ CONF_FILES+= ${EGDIR}/${f} ${PKG_SYSCONFDIR}/${f}
.include "../../mk/bsd.prefs.mk"
CONFIGURE_ARGS+= --with-imagelib=gdk-pixbuf
-CONFIGURE_ARGS+= --with-type-engines=xft
CONFIGURE_ARGS+= --without-libiconv-prefix
CONFIGURE_ARGS+= --without-libintl-prefix
CONFIGURE_ARGS+= --sysconfdir=${PKG_SYSCONFBASE:Q}
diff --git a/x11/mlterm/PLIST b/x11/mlterm/PLIST
index 703a66226c0..ef99d9e6bc0 100644
--- a/x11/mlterm/PLIST
+++ b/x11/mlterm/PLIST
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST,v 1.17 2006/11/12 15:13:56 hira Exp $
+@comment $NetBSD: PLIST,v 1.18 2006/12/19 07:53:57 wiz Exp $
bin/mlcc
bin/mlclient
bin/mlterm
@@ -30,6 +30,7 @@ share/examples/mlterm/vfont
share/examples/mlterm/xim
share/locale/de/LC_MESSAGES/mlconfig.mo
share/locale/ja/LC_MESSAGES/mlconfig.mo
+share/locale/vi/LC_MESSAGES/mlconfig.mo
share/locale/zh_TW/LC_MESSAGES/mlconfig.mo
@dirrm share/examples/mlterm
@dirrm lib/mlterm
diff --git a/x11/mlterm/distinfo b/x11/mlterm/distinfo
index 70843067028..85a1eca2091 100644
--- a/x11/mlterm/distinfo
+++ b/x11/mlterm/distinfo
@@ -1,9 +1,17 @@
-$NetBSD: distinfo,v 1.16 2005/06/11 15:00:04 hira Exp $
+$NetBSD: distinfo,v 1.17 2006/12/19 07:53:57 wiz Exp $
-SHA1 (mlterm-2.9.2.tar.gz) = d71f07bb38553a7cae927f15b8d0a20a165eebe7
-RMD160 (mlterm-2.9.2.tar.gz) = c83693c353f266333dc85588d8c1366925cca79c
-Size (mlterm-2.9.2.tar.gz) = 1980109 bytes
-SHA1 (patch-ad) = eaaded295f050591e6a30286163f832aae93fa3a
+SHA1 (mlterm-2.9.3.tar.gz) = 65ba5a7bd83accf7f621f84b84debb35c8f215ef
+RMD160 (mlterm-2.9.3.tar.gz) = 27f4381a8b8b68b07e53bbeb422581beb7527b48
+Size (mlterm-2.9.3.tar.gz) = 1984977 bytes
+SHA1 (patch-ad) = 4f6ef642002baa13bc4b7578cda0e45888fed27f
SHA1 (patch-ae) = fde46b06d0dfb2c296c91a69e9e1f8ff11d68766
SHA1 (patch-af) = b9947c2a817093b71e3e91312bac173d5106c306
SHA1 (patch-ag) = 7f2ff30719dd9baecda31627b45f9516225ec602
+SHA1 (patch-ah) = 93b0ad1445faec91d29f3a01b69d9ac0f4ddfe90
+SHA1 (patch-ai) = c7dc11cdf4851e2e4018a5ec3111dd9f9ceffa63
+SHA1 (patch-aj) = ff103698ff544fa22fa660268dccb51b8b9e8bda
+SHA1 (patch-ak) = 3b06cfc41ed12be11ea81d097f0592bb6b977e29
+SHA1 (patch-al) = 6b87b81e403a3fac9794c666c1e0260a3d5b5bd4
+SHA1 (patch-am) = 83684bfa15e5596abddef92cf994bb92b9f21990
+SHA1 (patch-an) = 156b8ebf5c7fdf68c39df7076849a05a90eb7e5a
+SHA1 (patch-ao) = 680ac866197202e09c25d93b20a7e3b700f38370
diff --git a/x11/mlterm/patches/patch-ad b/x11/mlterm/patches/patch-ad
index 8e2e27edc1e..de6b3ef7229 100644
--- a/x11/mlterm/patches/patch-ad
+++ b/x11/mlterm/patches/patch-ad
@@ -1,7 +1,7 @@
-$NetBSD: patch-ad,v 1.1 2005/03/06 17:50:49 hira Exp $
+$NetBSD: patch-ad,v 1.2 2006/12/19 07:53:57 wiz Exp $
---- kiklib/src/kik_pty_streams.c.orig 2004-10-23 06:59:39.000000000 +0900
-+++ kiklib/src/kik_pty_streams.c 2005-03-05 23:07:02.000000000 +0900
+--- kiklib/src/kik_pty_streams.c.orig 2005-11-21 15:24:03.000000000 +0100
++++ kiklib/src/kik_pty_streams.c 2006-12-16 00:04:11.000000000 +0100
@@ -9,6 +9,7 @@
/* When _XOPEN_SOURCE is defined,
* u_int/u_long/... may not be defined without _BSD_SOURCE */
@@ -20,7 +20,15 @@ $NetBSD: patch-ad,v 1.1 2005/03/06 17:50:49 hira Exp $
#include "kik_str.h" /* strdup */
#include "kik_debug.h"
-@@ -99,13 +103,30 @@
+@@ -75,6 +79,7 @@
+ kik_msg_printf( "Unable to open a master pseudo-terminal device.\n") ;
+ return -1;
+ }
++ kik_file_set_cloexec( *master) ;
+ /*
+ * The behaviour of the grantpt() function is unspecified
+ * if the application has installed a signal handler to catch SIGCHLD signals.
+@@ -104,13 +109,30 @@
return -1;
}
@@ -53,7 +61,7 @@ $NetBSD: patch-ad,v 1.1 2005/03/06 17:50:49 hira Exp $
/*
* cygwin doesn't have isastream.
*/
-@@ -204,78 +225,13 @@
+@@ -209,79 +231,16 @@
}
}
@@ -136,5 +144,8 @@ $NetBSD: patch-ad,v 1.1 2005/03/06 17:50:49 hira Exp $
+ kik_warn_printf( KIK_DEBUG_TAG " tcsetattr() failed.\n") ;
+ #endif
}
++
++ kik_file_set_cloexec( *slave) ;
return pid ;
+ }
diff --git a/x11/mlterm/patches/patch-ah b/x11/mlterm/patches/patch-ah
new file mode 100644
index 00000000000..fc9cbbb92f2
--- /dev/null
+++ b/x11/mlterm/patches/patch-ah
@@ -0,0 +1,39 @@
+$NetBSD: patch-ah,v 1.1 2006/12/19 07:53:57 wiz Exp $
+
+safer DIGIT_STR_LEN().
+
+http://mlterm.cvs.sourceforge.net/mlterm/mlterm/kiklib/src/kik_util.h?r1=1.4&r2=1.5&view=patch
+
+--- kiklib/src/kik_util.h.orig 2002/02/02 09:20:27 1.4
++++ kiklib/src/kik_util.h 2006/10/13 16:13:42 1.5
+@@ -10,19 +10,20 @@
+
+ #define K_MIN(n1,n2) ((n1) > (n2) ? (n2) : (n1))
+
+-/*
+- * char : 0 - 256 (3)
+- * int16 : 0 - 65536 (5)
+- * int32 : 0 - 4294967296 (10)
+- * int64 : 0 - 18446744073709551616 (20)
++/* TYPE: MIN(signed) -- MAX(unsigned) (number of bytes needed)
++ * char : -128 -- 256 (4)
++ * int16 : -32768 -- 65536 (6)
++ * int32 : -2147483648 -- 4294967296 (11)
++ * int64 : -9223372036854775808 -- 18446744073709551616 (20)
+ *
+- * 40 is evenly selected in other cases just to be sure.
++ * Since log10(2^8) = 2.4..., (sizeof(n)*3) is large enough
++ * for all n >= 2.
+ */
+ #define DIGIT_STR_LEN(n) \
+- ((sizeof(n) == 1) ? 3 : \
+- (sizeof(n) == 2) ? 5 : \
+- (sizeof(n) == 4) ? 10 : \
+- (sizeof(n) == 8) ? 20 : 40)
++ ((sizeof(n) == 1) ? 4 : \
++ (sizeof(n) == 2) ? 6 : \
++ (sizeof(n) == 4) ? 11 : \
++ (sizeof(n) == 8) ? 20 : (sizeof(n)*3))
+
+
+ #endif
diff --git a/x11/mlterm/patches/patch-ai b/x11/mlterm/patches/patch-ai
new file mode 100644
index 00000000000..2a7da450536
--- /dev/null
+++ b/x11/mlterm/patches/patch-ai
@@ -0,0 +1,57 @@
+$NetBSD: patch-ai,v 1.1 2006/12/19 07:53:57 wiz Exp $
+
+plugged fd leaks.
+
+http://mlterm.cvs.sourceforge.net/mlterm/mlterm/kiklib/src/kik_file.c?r1=1.5&r2=1.6&view=patch
+
+--- kiklib/src/kik_file.c.orig 2003-01-12 12:34:31.000000000 +0000
++++ kiklib/src/kik_file.c
+@@ -3,4 +3,5 @@
+ */
+
++#include <fcntl.h> /* fcntl() */
+ #include "kik_file.h"
+
+@@ -201,2 +202,42 @@ kik_file_unlock(
+
+ #endif
++
++int
++kik_file_set_cloexec(
++ int fd
++ )
++{
++ int old_flags ;
++
++ old_flags = fcntl( fd, F_GETFD) ;
++ if( old_flags == -1)
++ {
++ return 0 ;
++ }
++
++ if( !(old_flags & FD_CLOEXEC)
++ && (fcntl( fd, F_SETFD, old_flags|FD_CLOEXEC) == -1) )
++ {
++ return 0 ;
++ }
++ return 1 ;
++}
++
++kik_file_unset_cloexec(
++ int fd
++ )
++{
++ int old_flags ;
++
++ old_flags = fcntl( fd, F_GETFD) ;
++ if( old_flags == -1)
++ {
++ return 0 ;
++ }
++ if( (old_flags & FD_CLOEXEC)
++ && (fcntl( fd, F_SETFD, old_flags & (~FD_CLOEXEC)) == -1) )
++ {
++ return 0 ;
++ }
++ return 1 ;
++}
diff --git a/x11/mlterm/patches/patch-aj b/x11/mlterm/patches/patch-aj
new file mode 100644
index 00000000000..e2cbf465311
--- /dev/null
+++ b/x11/mlterm/patches/patch-aj
@@ -0,0 +1,17 @@
+$NetBSD: patch-aj,v 1.1 2006/12/19 07:53:57 wiz Exp $
+
+plugged fd leaks.
+
+http://mlterm.cvs.sourceforge.net/mlterm/mlterm/kiklib/src/kik_file.h?r1=1.5&r2=1.6&view=patch
+
+--- kiklib/src/kik_file.h.orig 2003/01/12 12:34:31 1.5
++++ kiklib/src/kik_file.h 2006/10/19 14:41:51 1.6
+@@ -33,5 +33,8 @@
+
+ int kik_file_unlock( int fd) ;
+
++int kik_file_set_cloexec( int fd) ;
++
++int kik_file_unset_cloexec( int fd) ;
+
+ #endif
diff --git a/x11/mlterm/patches/patch-ak b/x11/mlterm/patches/patch-ak
new file mode 100644
index 00000000000..328465857c1
--- /dev/null
+++ b/x11/mlterm/patches/patch-ak
@@ -0,0 +1,40 @@
+$NetBSD: patch-ak,v 1.1 2006/12/19 07:53:57 wiz Exp $
+
+plugged fd leaks.
+
+http://mlterm.cvs.sourceforge.net/mlterm/mlterm/kiklib/src/kik_pty_bsd.c?r1=1.9&r2=1.10&view=patch
+
+--- kiklib/src/kik_pty_bsd.c.orig 2003/03/08 03:19:29 1.9
++++ kiklib/src/kik_pty_bsd.c 2006/10/19 14:41:51 1.10
+@@ -118,6 +118,7 @@
+ }
+ else
+ {
++ kik_file_set_cloexec( *master) ;
+ /*
+ * we succeeded to open pty master.
+ * opening pty slave in succession.
+@@ -136,6 +137,7 @@
+ }
+ else
+ {
++ kik_file_set_cloexec( *slave) ;
+ return 1 ;
+ }
+ }
+@@ -195,7 +197,6 @@
+ /*
+ * parent process
+ */
+-
+ /*
+ * delaying.
+ */
+@@ -301,5 +302,7 @@
+ #endif
+ }
+
++ kik_file_set_cloexec( *slave) ;
++
+ return pid ;
+ }
diff --git a/x11/mlterm/patches/patch-al b/x11/mlterm/patches/patch-al
new file mode 100644
index 00000000000..b583120a618
--- /dev/null
+++ b/x11/mlterm/patches/patch-al
@@ -0,0 +1,52 @@
+$NetBSD: patch-al,v 1.1 2006/12/19 07:53:57 wiz Exp $
+
+plugged fd leaks.
+
+http://mlterm.cvs.sourceforge.net/mlterm/mlterm/xwindow/x_xim.c?r1=1.9&r2=1.11&view=patch
+
+--- xwindow/x_xim.c.orig 2005/02/10 15:15:08 1.9
++++ xwindow/x_xim.c 2006/10/23 13:09:36 1.11
+@@ -5,6 +5,8 @@
+
+ #include "x_xim.h"
+
+ #include <stdio.h> /* sprintf */
+ #include <string.h> /* strcmp/memset */
++#include <unistd.h> /* dup/close */
++#include <kiklib/kik_file.h> /* kik_set_file_cloexec */
+ #include <kiklib/kik_debug.h>
+@@ -121,6 +123,7 @@
+ char * xmod ;
+ char * cur_locale ;
+ int result ;
++ int next_fd ; /* to deal with brain-dead XIM implemantations */
+
+ /* 4 is the length of "@im=" */
+ if( ( xmod = alloca( 4 + strlen( xim->name) + 1)) == NULL)
+@@ -154,6 +157,12 @@
+
+ result = 0 ;
+
++ next_fd = dup( 0) ;
++ if( next_fd != -1)
++ {
++ /* remember the lowest unused fd */
++ close( next_fd) ;
++ }
+ if( XSetLocaleModifiers(xmod) && ( xim->im = XOpenIM( display , NULL , NULL , NULL)))
+ {
+ if( ( xim->encoding = ml_get_char_encoding( kik_get_codeset())) == ML_UNKNOWN_ENCODING ||
+@@ -172,7 +181,12 @@
+ result = 1 ;
+ }
+ }
+-
++ if( next_fd > 0)
++ {
++ /* if XOpenIM() internally opens a fd,
++ * we should close it on exec() */
++ kik_file_set_cloexec( next_fd) ;
++ }
+ if( cur_locale)
+ {
+ /* restoring */
diff --git a/x11/mlterm/patches/patch-am b/x11/mlterm/patches/patch-am
new file mode 100644
index 00000000000..83cb23bff69
--- /dev/null
+++ b/x11/mlterm/patches/patch-am
@@ -0,0 +1,56 @@
+$NetBSD: patch-am,v 1.1 2006/12/19 07:53:57 wiz Exp $
+
+plugged fd leaks.
+
+http://mlterm.cvs.sourceforge.net/mlterm/mlterm/mlterm/ml_config_menu.c?r1=1.6&r2=1.7&view=patch
+
+--- mlterm/ml_config_menu.c.orig 2003/09/16 03:18:31 1.6
++++ mlterm/ml_config_menu.c 2006/10/19 14:41:51 1.7
+@@ -33,6 +33,7 @@
+ if( config_menu->pid == pid)
+ {
+ config_menu->pid = 0 ;
++ close( config_menu->fd) ;
+ config_menu->fd = -1 ;
+ }
+ }
+@@ -83,6 +84,12 @@
+ return 0 ;
+ }
+
++ if( !kik_file_unset_cloexec( pty_fd))
++ {
++ /* configulators require an inherited pty. */
++ return 0 ;
++ }
++
+ if( pipe( fds) == -1)
+ {
+ return 0 ;
+@@ -131,8 +138,14 @@
+
+ close( fds[1]) ;
+
+- if( dup2( fds[0] , STDIN_FILENO) == -1 || dup2( pty_fd , STDOUT_FILENO) == -1 ||
+- execv( cmd_path , args) == -1)
++ /* for configulators,
++ * STDIN => to read replys from mlterm
++ * STDOUT => to write the "master" side of pty
++ * STDERR => is retained to be the mlterm's STDERR
++ */
++ if( dup2( fds[0] , STDIN_FILENO) == -1
++ || dup2( pty_fd , STDOUT_FILENO) == -1
++ || execv( cmd_path , args) == -1)
+ {
+ /* failed */
+
+@@ -148,6 +161,9 @@
+
+ config_menu->fd = fds[1] ;
+ config_menu->pid = pid ;
++
++ kik_file_set_cloexec( pty_fd) ;
++ kik_file_set_cloexec( config_menu->fd) ;
+
+ return 1 ;
+ }
diff --git a/x11/mlterm/patches/patch-an b/x11/mlterm/patches/patch-an
new file mode 100644
index 00000000000..d74dc627b2f
--- /dev/null
+++ b/x11/mlterm/patches/patch-an
@@ -0,0 +1,26 @@
+$NetBSD: patch-an,v 1.1 2006/12/19 07:53:57 wiz Exp $
+
+plugged fd leaks.
+
+http://mlterm.cvs.sourceforge.net/mlterm/mlterm/xwindow/x_display.c?r1=1.4&r2=1.5&view=patch
+
+--- xwindow/x_display.c.orig 2003/12/09 11:56:13 1.4
++++ xwindow/x_display.c 2006/10/19 14:41:51 1.5
+@@ -7,6 +7,7 @@
+ #include <kiklib/kik_debug.h>
+ #include <kiklib/kik_mem.h>
+ #include <kiklib/kik_str.h> /* strdup */
++#include <kiklib/kik_file.h> /* kik_file_set_cloexec */
+
+ #include "x_xim.h"
+ #include "x_picture.h"
+@@ -39,6 +40,9 @@
+ goto error1 ;
+ }
+
++ /* set close-on-exec flag on the socket connected to X. */
++ kik_file_set_cloexec( XConnectionNumber( disp->display));
++
+ if( ( disp->name = strdup( name)) == NULL)
+ {
+ goto error2 ;
diff --git a/x11/mlterm/patches/patch-ao b/x11/mlterm/patches/patch-ao
new file mode 100644
index 00000000000..4cc77582bfd
--- /dev/null
+++ b/x11/mlterm/patches/patch-ao
@@ -0,0 +1,35 @@
+$NetBSD: patch-ao,v 1.1 2006/12/19 07:53:57 wiz Exp $
+
+plugged fd leaks.
+
+http://mlterm.cvs.sourceforge.net/mlterm/mlterm/xwindow/x_term_manager.c?r1=1.93&r2=1.95&view=patch
+
+--- xwindow/x_term_manager.c.orig 2006/09/30 16:09:44 1.93
++++ xwindow/x_term_manager.c 2006/11/20 11:22:34 1.95
+@@ -872,7 +872,8 @@
+ {
+ return -1 ;
+ }
+-
++ kik_file_set_cloexec( sock_fd);
++
+ while( bind( sock_fd , (struct sockaddr *) &servaddr , sizeof( servaddr)) < 0)
+ {
+ if( errno == EADDRINUSE)
+@@ -993,7 +994,7 @@
+ * If this flag off, this fd remained open until the child process forked in
+ * open_screen_intern()(ml_term_open_pty()) close it.
+ */
+- fcntl( fd , F_SETFD , 1) ;
++ kik_file_set_cloexec( fd) ;
+
+ if( ( fp = fdopen( fd , "r+")) == NULL)
+ {
+@@ -1855,6 +1856,7 @@
+ {
+ additional_fds[i].fd = fd ;
+ additional_fds[i].handler = handler ;
++ kik_file_set_cloexec( fd);
+
+ return 0 ;
+ }