diff options
author | tsutsui <tsutsui> | 2014-03-07 18:22:50 +0000 |
---|---|---|
committer | tsutsui <tsutsui> | 2014-03-07 18:22:50 +0000 |
commit | 8d8c62b2256880012bbdc511c6a5e1726d91219f (patch) | |
tree | 72ba3b564175a7e55a1a0e001adbca6bfd58ba1c /x11 | |
parent | 674f3cec196b25fe2ff7bbb45959a271b0d9ce92 (diff) | |
download | pkgsrc-8d8c62b2256880012bbdc511c6a5e1726d91219f.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')
-rw-r--r-- | x11/mlterm/Makefile | 3 | ||||
-rw-r--r-- | x11/mlterm/distinfo | 6 | ||||
-rw-r--r-- | x11/mlterm/patches/patch-inputmethod_uim_im__uim.c | 68 | ||||
-rw-r--r-- | x11/mlterm/patches/patch-xwindow_fb_x__display__x68kgrf.c | 42 | ||||
-rw-r--r-- | x11/mlterm/patches/patch-xwindow_x__main__config.c | 32 | ||||
-rw-r--r-- | x11/mlterm/patches/patch-xwindow_x__screen.c | 152 |
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)) ; |