summaryrefslogtreecommitdiff
path: root/x11/mlterm
diff options
context:
space:
mode:
authortsutsui <tsutsui@pkgsrc.org>2014-03-07 18:22:50 +0000
committertsutsui <tsutsui@pkgsrc.org>2014-03-07 18:22:50 +0000
commit575a05c5490c29ad72b1fcc353154e4173b04932 (patch)
tree72ba3b564175a7e55a1a0e001adbca6bfd58ba1c /x11/mlterm
parent9a9f95bc4a6985e9dd72a75d7a423c2a759fb1b5 (diff)
downloadpkgsrc-575a05c5490c29ad72b1fcc353154e4173b04932.tar.gz
Pull post-3.3.3 fixes from upstream.
http://sourceforge.net/projects/mlterm/files/01release/mlterm-3.3.3/mlterm-3.3.3-fixes.patch/download * Hack for uim-mozc is added * Fix the bug which disabled to start mlconfig https://bitbucket.org/arakiken/mlterm/commits/f32b4ef020ab4ce25ab46166efac5c02f5e692eb * NetBSD/x68k framebuffer fixes: - The default value "separate_wall_picture" option is changed to true - Allow non-privileged users to use mlterm-fb - The default resolution is changed to 768x512x4 Bump PKGREVISION.
Diffstat (limited to 'x11/mlterm')
-rw-r--r--x11/mlterm/Makefile3
-rw-r--r--x11/mlterm/distinfo6
-rw-r--r--x11/mlterm/patches/patch-inputmethod_uim_im__uim.c68
-rw-r--r--x11/mlterm/patches/patch-xwindow_fb_x__display__x68kgrf.c42
-rw-r--r--x11/mlterm/patches/patch-xwindow_x__main__config.c32
-rw-r--r--x11/mlterm/patches/patch-xwindow_x__screen.c152
6 files changed, 301 insertions, 2 deletions
diff --git a/x11/mlterm/Makefile b/x11/mlterm/Makefile
index 2bce7224dba..d0efed0c6e7 100644
--- a/x11/mlterm/Makefile
+++ b/x11/mlterm/Makefile
@@ -1,6 +1,7 @@
-# $NetBSD: Makefile,v 1.99 2014/02/28 16:02:12 tsutsui Exp $
+# $NetBSD: Makefile,v 1.100 2014/03/07 18:22:50 tsutsui Exp $
DISTNAME= mlterm-3.3.3
+PKGREVISION= 1
CATEGORIES= x11
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=mlterm/}
diff --git a/x11/mlterm/distinfo b/x11/mlterm/distinfo
index 615edc38f0e..0539db563e1 100644
--- a/x11/mlterm/distinfo
+++ b/x11/mlterm/distinfo
@@ -1,7 +1,11 @@
-$NetBSD: distinfo,v 1.40 2014/02/28 16:02:12 tsutsui Exp $
+$NetBSD: distinfo,v 1.41 2014/03/07 18:22:50 tsutsui Exp $
SHA1 (mlterm-3.3.3.tar.gz) = 9d5befee155e5e514874b45c46b1b7fe2fdf3dbd
RMD160 (mlterm-3.3.3.tar.gz) = 9c669c523aa2e8b7e48420a58ab74b851cea3dfe
Size (mlterm-3.3.3.tar.gz) = 3578266 bytes
SHA1 (patch-configure) = 950194a8be2ebd7f3ed22c9ebaba545def6c7351
SHA1 (patch-etc_font-fb) = 7ded1dbee083df4d78b6ebf42964f50262feb318
+SHA1 (patch-inputmethod_uim_im__uim.c) = c61931c6d6ca5295e16a68c2b4fa89641817ee58
+SHA1 (patch-xwindow_fb_x__display__x68kgrf.c) = b652023b7acbd9049672178569731ba583505a93
+SHA1 (patch-xwindow_x__main__config.c) = 501dbde1484e93066fdaa652853679468a6ce78a
+SHA1 (patch-xwindow_x__screen.c) = 3395037aa436a3136a6bd75f8eebc03c282ed997
diff --git a/x11/mlterm/patches/patch-inputmethod_uim_im__uim.c b/x11/mlterm/patches/patch-inputmethod_uim_im__uim.c
new file mode 100644
index 00000000000..91d46b5855f
--- /dev/null
+++ b/x11/mlterm/patches/patch-inputmethod_uim_im__uim.c
@@ -0,0 +1,68 @@
+$NetBSD: patch-inputmethod_uim_im__uim.c,v 1.1 2014/03/07 18:22:50 tsutsui Exp $
+
+Pull mlterm-3.3.3-fixes.patch from upstream:
+http://sourceforge.net/projects/mlterm/files/01release/mlterm-3.3.3/mlterm-3.3.3-fixes.patch/download
+ - Hack for uim-mozc is added
+
+--- inputmethod/uim/im_uim.c.orig 2014-02-21 16:51:46.000000000 +0000
++++ inputmethod/uim/im_uim.c
+@@ -78,6 +78,8 @@ typedef struct im_uim
+
+ u_int cand_limit ;
+
++ int is_mozc ;
++
+ } im_uim_t ;
+
+ KIK_LIST_TYPEDEF( im_uim_t) ;
+@@ -744,13 +746,13 @@ candidate_activate(
+
+ uim = (im_uim_t*) p ;
+
++ (*uim->im.listener->get_spot)( uim->im.listener->self ,
++ uim->im.preedit.chars ,
++ uim->im.preedit.segment_offset ,
++ &x , &y) ;
++
+ if( uim->im.cand_screen == NULL)
+ {
+- (*uim->im.listener->get_spot)( uim->im.listener->self ,
+- uim->im.preedit.chars ,
+- uim->im.preedit.segment_offset ,
+- &x , &y) ;
+-
+ if( ! ( uim->im.cand_screen = (*syms->x_im_candidate_screen_new)(
+ uim->im.disp , uim->im.font_man , uim->im.color_man ,
+ (*uim->im.listener->is_vertical)(uim->im.listener->self) ,
+@@ -847,6 +849,22 @@ candidate_select(
+
+ if( uim->im.cand_screen)
+ {
++ /*
++ * XXX Hack for uim-mozc (1.11.1522.102)
++ * If candidate_activate() is called with num == 20 and limit = 10,
++ * uim_get_candidate() on mozc doesn't returns 20 candidates but 10 ones.
++ * (e.g. uim_get_candidate(0) and uim_get_candidate(10) returns the same.)
++ */
++ if( uim->is_mozc &&
++ uim->im.cand_screen->index != index &&
++ uim->im.cand_screen->index / uim->cand_limit != index / uim->cand_limit &&
++ (index % uim->cand_limit) == 0)
++ {
++ candidate_activate( p ,
++ uim->im.cand_screen->num_of_candidates ,
++ uim->cand_limit) ;
++ }
++
+ (*uim->im.cand_screen->select)( uim->im.cand_screen , index) ;
+ }
+ }
+@@ -1616,6 +1634,8 @@ im_uim_new(
+ goto error ;
+ }
+
++ uim->is_mozc = (strcmp( engine , "mozc") == 0) ;
++
+ uim_set_preedit_cb( uim->context ,
+ preedit_clear ,
+ preedit_pushback ,
diff --git a/x11/mlterm/patches/patch-xwindow_fb_x__display__x68kgrf.c b/x11/mlterm/patches/patch-xwindow_fb_x__display__x68kgrf.c
new file mode 100644
index 00000000000..3f2b507e85b
--- /dev/null
+++ b/x11/mlterm/patches/patch-xwindow_fb_x__display__x68kgrf.c
@@ -0,0 +1,42 @@
+$NetBSD: patch-xwindow_fb_x__display__x68kgrf.c,v 1.3 2014/03/07 18:22:50 tsutsui Exp $
+
+Pull fixes for NetBSD/x68k framebuffer from upstream:
+https://bitbucket.org/arakiken/mlterm/commits/f32b4ef020ab4ce25ab46166efac5c02f5e692eb
+ - Allow non-privileged users to use mlterm-fb
+ - The default resolution is changed to 768x512x4
+
+--- xwindow/fb/x_display_x68kgrf.c.orig 2014-02-21 16:51:44.000000000 +0000
++++ xwindow/fb/x_display_x68kgrf.c
+@@ -72,10 +72,10 @@ typedef struct fb_reg_conf
+ /* --- static variables --- */
+
+ static int console_id = -1 ;
+-u_int fb_width = 640 ;
+-u_int fb_height = 480 ;
+-u_int fb_depth = 8 ;
+-int separate_wall_picture ;
++u_int fb_width = 768 ;
++u_int fb_height = 512 ;
++u_int fb_depth = 4 ;
++int separate_wall_picture = 1 ;
+ static fb_reg_conf_t orig_reg ;
+ static int grf0_fd = -1 ;
+ static size_t grf0_len ;
+@@ -185,8 +185,15 @@ open_display(
+ struct rgb_info rgb_info_15bpp = { 3 , 3 , 3 , 6 , 11 , 1 } ;
+ struct termios tm ;
+
+- if( ( _display.fb_fd = open( ( dev = getenv("FRAMEBUFFER")) ? dev : "/dev/grf1" ,
+- O_RDWR)) < 0)
++ kik_priv_restore_euid() ;
++ kik_priv_restore_egid() ;
++
++ _display.fb_fd = open( ( dev = getenv("FRAMEBUFFER")) ? dev : "/dev/grf1" , O_RDWR);
++
++ kik_priv_change_euid( kik_getuid()) ;
++ kik_priv_change_egid( kik_getgid()) ;
++
++ if( _display.fb_fd < 0)
+ {
+ kik_msg_printf( "Couldn't open %s.\n" , dev ? dev : "/dev/grf1") ;
+
diff --git a/x11/mlterm/patches/patch-xwindow_x__main__config.c b/x11/mlterm/patches/patch-xwindow_x__main__config.c
new file mode 100644
index 00000000000..fea28401bbc
--- /dev/null
+++ b/x11/mlterm/patches/patch-xwindow_x__main__config.c
@@ -0,0 +1,32 @@
+$NetBSD: patch-xwindow_x__main__config.c,v 1.1 2014/03/07 18:22:50 tsutsui Exp $
+
+Pull fixes for NetBSD/x68k framebuffer from upstream:
+https://bitbucket.org/arakiken/mlterm/commits/f32b4ef020ab4ce25ab46166efac5c02f5e692eb
+ - The default value "separate_wall_picture" option is changed to true
+
+--- xwindow/x_main_config.c.orig 2014-02-21 16:51:45.000000000 +0000
++++ xwindow/x_main_config.c
+@@ -282,7 +282,7 @@ x_prepare_for_main_config(
+ "embold glyphs by drawing doubly at 1 pixel leftward instead of rightward.") ;
+ #ifdef USE_GRF
+ kik_conf_add_opt( conf , '\0' , "multivram" , 1 , "separate_wall_picture" ,
+- "draw wall picture on another vram. (available on 4bpp) [false]") ;
++ "draw wall picture on another vram. (available on 4bpp) [true]") ;
+ #endif
+ #ifdef USE_FRAMEBUFFER
+ kik_conf_add_opt( conf , '\0' , "rotate" , 0 , "rotate_display" ,
+@@ -1368,12 +1368,9 @@ x_main_config_init(
+ #ifdef USE_GRF
+ if( ( value = kik_conf_get_value( conf , "separate_wall_picture")))
+ {
+- if( strcmp( value , "true") == 0)
+- {
+- extern int separate_wall_picture ;
++ extern int separate_wall_picture ;
+
+- separate_wall_picture = 1 ;
+- }
++ separate_wall_picture = (strcmp( value , "true") == 0 ? 1 : 0) ;
+ }
+ #endif
+
diff --git a/x11/mlterm/patches/patch-xwindow_x__screen.c b/x11/mlterm/patches/patch-xwindow_x__screen.c
new file mode 100644
index 00000000000..bfe0e2d2e09
--- /dev/null
+++ b/x11/mlterm/patches/patch-xwindow_x__screen.c
@@ -0,0 +1,152 @@
+$NetBSD: patch-xwindow_x__screen.c,v 1.5 2014/03/07 18:22:50 tsutsui Exp $
+
+Pull mlterm-3.3.3-fixes.patch from upstream:
+http://sourceforge.net/projects/mlterm/files/01release/mlterm-3.3.3/mlterm-3.3.3-fixes.patch/download
+ - Fix the bug which disabled to start mlconfig
+
+--- xwindow/x_screen.c.orig 2014-02-21 16:51:45.000000000 +0000
++++ xwindow/x_screen.c
+@@ -5268,11 +5268,13 @@ change_im(
+ * Callbacks of x_config_event_listener_t events.
+ */
+
+-static char *
++static void
+ get_config_intern(
+ x_screen_t * screen ,
+ char * dev , /* can be NULL */
+- char * key /* can be "error" */
++ char * key , /* can be "error" */
++ int to_menu , /* -1: don't output to pty and menu. */
++ int * flag /* 1(true), 0(false) or -1(other) is returned. */
+ )
+ {
+ ml_term_t * term ;
+@@ -5285,7 +5287,7 @@ get_config_intern(
+ if( ( term = (*screen->system_listener->get_pty)( screen->system_listener->self ,
+ dev)) == NULL)
+ {
+- return NULL ;
++ return ;
+ }
+ }
+ else
+@@ -5829,7 +5831,34 @@ get_config_intern(
+ }
+ }
+
+- return value ;
++ if( to_menu >= 0)
++ {
++ if( value == NULL)
++ {
++ ml_term_write( screen->term , "#error\n" , 7 , to_menu) ;
++
++ #ifdef __DEBUG
++ kik_debug_printf( KIK_DEBUG_TAG " #error\n") ;
++ #endif
++ }
++ else
++ {
++ ml_term_write( screen->term , "#" , 1 , to_menu) ;
++ ml_term_write( screen->term , key , strlen( key) , to_menu) ;
++ ml_term_write( screen->term , "=" , 1 , to_menu) ;
++ ml_term_write( screen->term , value , strlen( value) , to_menu) ;
++ ml_term_write( screen->term , "\n" , 1 , to_menu) ;
++
++ #ifdef __DEBUG
++ kik_debug_printf( KIK_DEBUG_TAG " #%s=%s\n" , key , value) ;
++ #endif
++ }
++ }
++
++ if( flag)
++ {
++ *flag = value ? true_or_false( value) : -1 ;
++ }
+ }
+
+ static void
+@@ -5840,31 +5869,7 @@ get_config(
+ int to_menu
+ )
+ {
+- x_screen_t * screen ;
+- char * value ;
+-
+- screen = p ;
+-
+- if( ( value = get_config_intern( screen , dev , key)) == NULL)
+- {
+- ml_term_write( screen->term , "#error\n" , 7 , to_menu) ;
+-
+- #ifdef __DEBUG
+- kik_debug_printf( KIK_DEBUG_TAG " #error\n") ;
+- #endif
+- }
+- else
+- {
+- ml_term_write( screen->term , "#" , 1 , to_menu) ;
+- ml_term_write( screen->term , key , strlen( key) , to_menu) ;
+- ml_term_write( screen->term , "=" , 1 , to_menu) ;
+- ml_term_write( screen->term , value , strlen( value) , to_menu) ;
+- ml_term_write( screen->term , "\n" , 1 , to_menu) ;
+-
+- #ifdef __DEBUG
+- kik_debug_printf( KIK_DEBUG_TAG " #%s=%s\n" , key , value) ;
+- #endif
+- }
++ get_config_intern( p , dev , key , to_menu , NULL) ;
+ }
+
+ static void
+@@ -8286,18 +8291,21 @@ x_screen_set_config(
+ }
+ else if( strcmp( value , "switch") == 0)
+ {
+- char * val ;
++ int flag ;
++
++ get_config_intern( screen , /* dev */ NULL , key , -1 , &flag) ;
+
+- if( ( val = get_config_intern( screen , /* dev */ NULL , key)))
++ if( flag == 1)
+ {
+- if( strcmp( val , "true") == 0)
+- {
+- value = "false" ;
+- }
+- else if( strcmp( val , "false") == 0)
+- {
+- value = "true" ;
+- }
++ value = "false" ;
++ }
++ else if( flag == 0)
++ {
++ value = "true" ;
++ }
++ else
++ {
++ return 1 ;
+ }
+ }
+
+@@ -8312,7 +8320,7 @@ x_screen_set_config(
+ if( ( term = (*screen->system_listener->get_pty)( screen->system_listener->self ,
+ dev)) == NULL)
+ {
+- return 0 ;
++ return 1 ;
+ }
+ }
+ else
+@@ -8838,7 +8846,7 @@ x_screen_set_config(
+ }
+ else
+ {
+- return 0 ;
++ return 1 ;
+ }
+
+ usascii_font_cs_changed( screen , ml_term_get_encoding( screen->term)) ;