From 22c58a5a7008b9f22b38c143a9428193b5d6fe0b Mon Sep 17 00:00:00 2001 From: Daichi GOTO Date: Sat, 29 May 2010 13:29:36 +0000 Subject: Update to mozc r28 - performance improvements by async dictionaries - add dictionary gui tool (mozc_tool --mode=dictionary_tool) - add config gui tool (mozc_tool --mode=config_dialog) - add kana input mode - separate server process from uni-binary - etc etc FreeBSD specific change: - add some scripts to control mozc_server and mozc_tool mozc_server_start (start mozc_server w/o lockfile issue) mozc_server_stop (stop mozc_server w/olockfile issue) mozc_server_restart (restart mozc_server w/o lockfile issue) mozc_tool_config (as mozc_tool --mode=dictionary_tool) mozc_tool_dictionaly (as mozc_tool --mode=config_dialog) Notice - You should start mozc_server by mozc_server_start command before ibus-daemon starts bacause to prevent mozc_server lockfile issue. Read pkg-message file well. --- japanese/ibus-mozc/Makefile | 63 +++++++++++++++---- japanese/ibus-mozc/distinfo | 12 ++-- japanese/ibus-mozc/files/patch-src_base_iconv.cc | 4 +- japanese/ibus-mozc/files/patch-src_base_mutex.h | 4 +- japanese/ibus-mozc/files/patch-src_base_process.cc | 11 ++++ japanese/ibus-mozc/files/patch-src_base_util.cc | 11 ++++ japanese/ibus-mozc/files/patch-src_build_mozc.py | 72 +++++----------------- japanese/ibus-mozc/files/patch-src_gyp_common.gypi | 4 +- japanese/ibus-mozc/files/patch-src_ipc_unix_ipc.cc | 9 +-- .../ibus-mozc/files/patch-src_unix_ibus_mozc.xml | 30 +++------ .../files/patch-src_unix_ibus_path_util.cc | 19 ++++++ japanese/ibus-mozc/pkg-message | 3 + japanese/ibus-mozc/pkg-plist | 10 ++- 13 files changed, 144 insertions(+), 108 deletions(-) create mode 100644 japanese/ibus-mozc/files/patch-src_base_process.cc create mode 100644 japanese/ibus-mozc/files/patch-src_base_util.cc create mode 100644 japanese/ibus-mozc/files/patch-src_unix_ibus_path_util.cc (limited to 'japanese') diff --git a/japanese/ibus-mozc/Makefile b/japanese/ibus-mozc/Makefile index 607c7718489c..c16c89a185b7 100644 --- a/japanese/ibus-mozc/Makefile +++ b/japanese/ibus-mozc/Makefile @@ -6,37 +6,49 @@ # PORTNAME= ibus-mozc -PORTVERSION= r23 +PORTVERSION= r28 PORTREVISION= 0 CATEGORIES= japanese MASTER_SITES= http://people.freebsd.org/~daichi/distfiles/ #MASTER_SITES= ${MASTER_SITE_LOCAL} #MASTER_SITE_SUBDIR= daichi -DISTFILES= ${PORTNAME}-${PORTVERSION}${EXTRACT_SUFX} \ - mozc-temp-icons${EXTRACT_SUFX} +DISTNAME= ${PORTNAME}-${PORTVERSION}+gyp-r827 +DISTFILES= ${DISTNAME}${EXTRACT_SUFX} \ + ${PORTNAME}-freebsd-addition-${PORTVERSION}${EXTRACT_SUFX} MAINTAINER= daichi@freebsd.org COMMENT= Mozc engine for IBus -BUILD_DEPENDS= svn:${PORTSDIR}/devel/subversion \ - gsed:${PORTSDIR}/textproc/gsed +BUILD_DEPENDS= gsed:${PORTSDIR}/textproc/gsed LIB_DEPENDS= ibus.1:${PORTSDIR}/textproc/ibus \ - curl.6:${PORTSDIR}/ftp/curl \ - protobuf.6:${PORTSDIR}/devel/protobuf \ - gtest.0:${PORTSDIR}/devel/googletest + curl.6:${PORTSDIR}/ftp/curl \ + protobuf.6:${PORTSDIR}/devel/protobuf \ + gtest.0:${PORTSDIR}/devel/googletest +RUN_DEPENDS= xdg-open:${PORTSDIR}/devel/xdg-utils USE_GNOME= pygtk2 USE_GMAKE= yes USE_PYTHON= yes +USE_QT_VER= 4 PROJECTHOST= ibus -REPLACE_FILES= src/gyp/common.gypi src/unix/ibus/mozc.xml +ADDITIONNAME= ${PORTNAME}-freebsd-addition-${PORTVERSION} +REPLACE_FILES= \ + ${WRKSRC}/src/build_mozc.py \ + ${WRKSRC}/src/gyp/common.gypi \ + ${WRKSRC}/src/unix/ibus/mozc.xml \ + ${WRKSRC}/src/unix/ibus/path_util.cc \ + ${WRKSRC}/src/base/util.cc \ + ${WRKSRC}/src/base/process.cc \ + ${WRKSRC}/../${ADDITIONNAME}/bin/mozc_server_start \ + ${WRKSRC}/../${ADDITIONNAME}/bin/mozc_tool_config \ + ${WRKSRC}/../${ADDITIONNAME}/bin/mozc_tool_dictionary post-patch: @for FILE in ${REPLACE_FILES}; do \ ${SED} -i .bak -e "s/@@LOCALBASE@@/${LOCALBASE:S/\//\\\//g}/g" \ - ${WRKSRC}/$${FILE}; \ + $${FILE}; \ done; do-build: @@ -44,19 +56,44 @@ do-build: ${PYTHON_CMD} build_mozc.py gyp; \ ${SED} -i .bak -e "s/sed/gsed/g" Makefile; \ ${PYTHON_CMD} build_mozc.py build_tools -c Release; \ - ${PYTHON_CMD} build_mozc.py build -c Release unix/unix.gyp:ibus_mozc + ${PYTHON_CMD} build_mozc.py build -c Release \ + unix/ibus/ibus.gyp:ibus_mozc \ + server/server.gyp:mozc_server \ + gui/gui.gyp:mozc_tool do-install: + @${MKDIR} ${LOCALBASE}/share/ibus-mozc/server + @${INSTALL} -o 0 -g 0 -m 555 \ + ${WRKSRC}/src/out/Release/mozc_server \ + ${LOCALBASE}/share/ibus-mozc/server/mozc_server + @${INSTALL} -o 0 -g 0 -m 555 \ + ${WRKSRC}/src/out/Release/mozc_tool \ + ${LOCALBASE}/share/ibus-mozc/server/mozc_tool @${INSTALL} -o 0 -g 0 -m 555 \ ${WRKSRC}/src/out/Release/ibus_mozc \ ${LOCALBASE}/libexec/ibus-engine-mozc @${INSTALL} -o 0 -g 0 -m 444 \ ${WRKSRC}/src/unix/ibus/mozc.xml \ ${LOCALBASE}/share/ibus/component/mozc.xml + @${INSTALL} -o 0 -g 0 -m 555 \ + ${WRKSRC}/../${DISTNAME2}/bin/mozc_server_start \ + ${LOCALBASE}/bin/mozc_server_start + @${INSTALL} -o 0 -g 0 -m 555 \ + ${WRKSRC}/../${DISTNAME2}/bin/mozc_server_stop \ + ${LOCALBASE}/bin/mozc_server_stop + @${INSTALL} -o 0 -g 0 -m 555 \ + ${WRKSRC}/../${DISTNAME2}/bin/mozc_server_restart \ + ${LOCALBASE}/bin/mozc_server_restart + @${INSTALL} -o 0 -g 0 -m 555 \ + ${WRKSRC}/../${DISTNAME2}/bin/mozc_tool_config \ + ${LOCALBASE}/bin/mozc_tool_config + @${INSTALL} -o 0 -g 0 -m 555 \ + ${WRKSRC}/../${DISTNAME2}/bin/mozc_tool_dictionary \ + ${LOCALBASE}/bin/mozc_tool_dictionary @${MKDIR} ${LOCALBASE}/share/ibus-mozc/icons @${INSTALL} -o 0 -g 0 -m 444 \ - ${WRKSRC}/../mozc-temp-icons/mozc-temp-icon.png \ - ${LOCALBASE}/share/ibus-mozc/icons/mozc-temp-icon.png + ${WRKSRC}/../${DISTNAME2}/icons/mozc-temp-icon.png \ + ${LOCALBASE}/share/ibus-mozc/icons/product_icon.png post-install: @${CAT} ${PKGMESSAGE} diff --git a/japanese/ibus-mozc/distinfo b/japanese/ibus-mozc/distinfo index 5e433b2c8a6e..f8cc8dd52b58 100644 --- a/japanese/ibus-mozc/distinfo +++ b/japanese/ibus-mozc/distinfo @@ -1,6 +1,6 @@ -MD5 (ibus-mozc-r23.tar.gz) = 4abc7da6bed900d8ed790e02b1916828 -SHA256 (ibus-mozc-r23.tar.gz) = 1ab9ffb1e5370ae832f6394e4c2ef475ba7a95f836a4a76d708b8071f48d7e85 -SIZE (ibus-mozc-r23.tar.gz) = 46126617 -MD5 (mozc-temp-icons.tar.gz) = 90af4d1def5dc01f268d4ccfe46147aa -SHA256 (mozc-temp-icons.tar.gz) = 32301916983c2b265eb61f6755fd74ac8b12d03d720a693d3bf032bdf149aec1 -SIZE (mozc-temp-icons.tar.gz) = 658 +MD5 (ibus-mozc-r28+gyp-r827.tar.gz) = 2ee2fe0b8e5997e10d8a186261ca0999 +SHA256 (ibus-mozc-r28+gyp-r827.tar.gz) = 4822ac6398d1e4386ec9666eb151760678340af412b88008401ef29b58f5cd75 +SIZE (ibus-mozc-r28+gyp-r827.tar.gz) = 47912590 +MD5 (ibus-mozc-freebsd-addition-r28.tar.gz) = a00882bd2415ea943e4e6c032ff0bec2 +SHA256 (ibus-mozc-freebsd-addition-r28.tar.gz) = 41a93497daf8ab3c9f0151026bbe3a92e6654d169d32801316265daa048a71bc +SIZE (ibus-mozc-freebsd-addition-r28.tar.gz) = 2052 diff --git a/japanese/ibus-mozc/files/patch-src_base_iconv.cc b/japanese/ibus-mozc/files/patch-src_base_iconv.cc index 95cadbe20a53..65ae356ddb6c 100644 --- a/japanese/ibus-mozc/files/patch-src_base_iconv.cc +++ b/japanese/ibus-mozc/files/patch-src_base_iconv.cc @@ -1,5 +1,5 @@ ---- src/base/iconv.cc.org 2010-05-23 14:02:48.371949634 +0900 -+++ src/base/iconv.cc 2010-05-23 13:58:38.727786479 +0900 +--- src/base/iconv.cc.org 2010-05-29 11:06:10.667672161 +0900 ++++ src/base/iconv.cc 2010-05-29 11:22:12.794853968 +0900 @@ -52,7 +52,7 @@ size_t olen_org = olen; iconv(ic, 0, &ilen, 0, &olen); // reset iconv state diff --git a/japanese/ibus-mozc/files/patch-src_base_mutex.h b/japanese/ibus-mozc/files/patch-src_base_mutex.h index 7191ab668399..1a83b08e7d50 100644 --- a/japanese/ibus-mozc/files/patch-src_base_mutex.h +++ b/japanese/ibus-mozc/files/patch-src_base_mutex.h @@ -1,5 +1,5 @@ ---- src/base/mutex.h.org 2010-05-23 14:03:03.131499800 +0900 -+++ src/base/mutex.h 2010-05-23 13:58:38.728786327 +0900 +--- src/base/mutex.h.org 2010-05-29 11:06:10.678543934 +0900 ++++ src/base/mutex.h 2010-05-29 11:25:17.454000870 +0900 @@ -87,7 +87,7 @@ #endif diff --git a/japanese/ibus-mozc/files/patch-src_base_process.cc b/japanese/ibus-mozc/files/patch-src_base_process.cc new file mode 100644 index 000000000000..11057c3610d3 --- /dev/null +++ b/japanese/ibus-mozc/files/patch-src_base_process.cc @@ -0,0 +1,11 @@ +--- src/base/process.cc.org 2010-05-29 12:46:19.289472417 +0900 ++++ src/base/process.cc 2010-05-29 20:56:37.509543123 +0900 +@@ -195,7 +195,7 @@ + #endif + + #ifdef OS_LINUX +- static const char kBrowserCommand[] = "/usr/bin/xdg-open"; ++ static const char kBrowserCommand[] = "@@LOCALBASE@@/bin/xdg-open"; + // xdg-open which uses kfmclient or gnome-open internally works both on KDE + // and GNOME environments. + return SpawnProcess(kBrowserCommand, url); diff --git a/japanese/ibus-mozc/files/patch-src_base_util.cc b/japanese/ibus-mozc/files/patch-src_base_util.cc new file mode 100644 index 000000000000..d8c90d2cf2c7 --- /dev/null +++ b/japanese/ibus-mozc/files/patch-src_base_util.cc @@ -0,0 +1,11 @@ +--- src/base/util.cc.org 2010-05-29 12:46:19.265746218 +0900 ++++ src/base/util.cc 2010-05-29 20:52:31.971118268 +0900 +@@ -1489,7 +1489,7 @@ + #endif // OS_MACOSX + + #ifdef OS_LINUX +- return "/usr/lib/mozc"; ++ return "@@LOCALBASE@@/share/ibus-mozc/server"; + #endif // OS_LINUX + } + diff --git a/japanese/ibus-mozc/files/patch-src_build_mozc.py b/japanese/ibus-mozc/files/patch-src_build_mozc.py index 52114ebc9899..78c1f8fc6108 100644 --- a/japanese/ibus-mozc/files/patch-src_build_mozc.py +++ b/japanese/ibus-mozc/files/patch-src_build_mozc.py @@ -1,55 +1,24 @@ ---- src/build_mozc.py.org 2010-05-23 14:03:31.479966714 +0900 -+++ src/build_mozc.py 2010-05-23 13:58:56.143361084 +0900 -@@ -64,9 +64,9 @@ - return os.name == 'posix' and os.uname()[0] == 'Darwin' +--- src/build_mozc.py.org 2010-05-29 11:06:11.353375791 +0900 ++++ src/build_mozc.py 2010-05-29 11:49:27.698956304 +0900 +@@ -67,7 +67,7 @@ - --def IsLinux(): -- """Returns true if the platform is Linux.""" + def IsLinux(): + """Returns true if the platform is Linux.""" - return os.name == 'posix' and os.uname()[0] == 'Linux' -+def IsFreeBSD(): -+ """Returns true if the platform is FreeBSD.""" + return os.name == 'posix' and os.uname()[0] == 'FreeBSD' def GetGeneratorName(): -@@ -129,7 +129,7 @@ - gyp_file_names.extend(glob.glob('%s/win32/*/*.gyp' % SRC_DIR)) - gyp_file_names.extend(glob.glob('third_party/breakpad/*.gyp')) - gyp_file_names.append('third_party/mozc/sandbox/sandbox.gyp') -- elif IsLinux(): -+ elif IsFreeBSD(): - gyp_file_names.extend(glob.glob('%s/unix/*/*.gyp' % SRC_DIR)) - # Add ibus.gyp if ibus is isntalled. - # Ubuntu 8.04 (Hardy) does not contain ibus package. -@@ -192,7 +192,7 @@ - elif IsMac(): - directory_names.extend(glob.glob(os.path.join(gyp_directory_name, - '*.xcodeproj'))) -- elif IsLinux(): -+ elif IsFreeBSD(): - file_names.extend(glob.glob(os.path.join(gyp_directory_name, - '*.target.mk'))) - file_names.append('%s/mozc_version.txt' % SRC_DIR) -@@ -201,7 +201,7 @@ - directory_names.append('mozc_build_tools') - if IsMac(): - directory_names.append('xcodebuild') -- elif IsLinux(): -+ elif IsFreeBSD(): - file_names.append('Makefile') - directory_names.append('out') - elif IsWindows(): -@@ -374,14 +374,14 @@ - return (gyp_file_name, target_name) - - --def BuildOnLinux(options, targets): -- """Build the targets on Linux.""" -+def BuildOnFreeBSD(options, targets): -+ """Build the targets on FreeBSD.""" - target_names = [] - for target in targets: +@@ -356,7 +356,7 @@ + default='Win32', + help='specify the target plaform: [Win32|x64]') + # default Qt dir to support the current build procedure for Debian. +- default_qtdir = '/usr/local/Trolltech/Qt-4.5.2' ++ default_qtdir = '@@LOCALBASE@@/lib/qt4/' + if IsWindows(): + default_qtdir = None + parser.add_option('--qtdir', dest='qtdir', +@@ -387,7 +387,7 @@ (unused_gyp_file_name, target_name) = ParseTarget(target) target_names.append(target_name) @@ -58,14 +27,3 @@ # flags for building in Chrome OS chroot environment envvars = [ 'CFLAGS', -@@ -530,8 +530,8 @@ - - if IsMac(): - BuildOnMac(options, targets, original_directory_name) -- elif IsLinux(): -- BuildOnLinux(options, targets) -+ elif IsFreeBSD(): -+ BuildOnFreeBSD(options, targets) - elif IsWindows(): - BuildOnWindows(options, targets, original_directory_name) - else: diff --git a/japanese/ibus-mozc/files/patch-src_gyp_common.gypi b/japanese/ibus-mozc/files/patch-src_gyp_common.gypi index 123a2fe69202..f1461a302069 100644 --- a/japanese/ibus-mozc/files/patch-src_gyp_common.gypi +++ b/japanese/ibus-mozc/files/patch-src_gyp_common.gypi @@ -1,5 +1,5 @@ ---- src/gyp/common.gypi.org 2010-05-23 14:03:58.827531279 +0900 -+++ src/gyp/common.gypi 2010-05-23 13:58:38.441081884 +0900 +--- src/gyp/common.gypi.org 2010-05-29 11:05:15.815250973 +0900 ++++ src/gyp/common.gypi 2010-05-29 11:30:52.119608091 +0900 @@ -420,6 +420,8 @@ '-lssl', '-lz', diff --git a/japanese/ibus-mozc/files/patch-src_ipc_unix_ipc.cc b/japanese/ibus-mozc/files/patch-src_ipc_unix_ipc.cc index 173cb95d3051..50b641d1cb1a 100644 --- a/japanese/ibus-mozc/files/patch-src_ipc_unix_ipc.cc +++ b/japanese/ibus-mozc/files/patch-src_ipc_unix_ipc.cc @@ -1,5 +1,5 @@ ---- src/ipc/unix_ipc.cc.org 2010-05-23 14:04:22.558128045 +0900 -+++ src/ipc/unix_ipc.cc 2010-05-23 13:58:38.472786193 +0900 +--- src/ipc/unix_ipc.cc.org 2010-05-29 11:06:11.125610530 +0900 ++++ src/ipc/unix_ipc.cc 2010-05-29 11:33:18.938743764 +0900 @@ -41,7 +41,7 @@ #include #include @@ -26,11 +26,12 @@ #ifdef OS_LINUX // On ARM Linux, we do nothing and just return true since the platform (at // least the qemu emulator) doesn't support the getsockopt(sock, SOL_SOCKET, -@@ -172,6 +171,7 @@ +@@ -171,7 +172,7 @@ *pid = peer_cred.pid; #endif // __arm__ #endif +- +*/ - return true; } + diff --git a/japanese/ibus-mozc/files/patch-src_unix_ibus_mozc.xml b/japanese/ibus-mozc/files/patch-src_unix_ibus_mozc.xml index e8bab9401246..500c3f4c2eae 100644 --- a/japanese/ibus-mozc/files/patch-src_unix_ibus_mozc.xml +++ b/japanese/ibus-mozc/files/patch-src_unix_ibus_mozc.xml @@ -1,6 +1,6 @@ ---- src/unix/ibus/mozc.xml.org 2010-05-23 14:00:13.346604513 +0900 -+++ src/unix/ibus/mozc.xml 2010-05-23 13:38:30.173956314 +0900 -@@ -2,7 +2,7 @@ +--- src/unix/ibus/mozc.xml.org 2010-05-29 12:45:05.978914232 +0900 ++++ src/unix/ibus/mozc.xml 2010-05-29 20:08:12.040296893 +0900 +@@ -2,12 +2,12 @@ com.google.IBus.Mozc Mozc Component @@ -9,21 +9,9 @@ 0.0.0.0 Google Inc. -@@ -15,7 +15,7 @@ - ja - New BSD - Google Inc. -- /usr/share/ibus-mozc/product_icon.png -+ @@LOCALBASE@@/share/ibus-mozc/icons/mozc-temp-icon.png - us - Mozc (US keyboard layout) - Mozc Japanese input method -@@ -26,7 +26,7 @@ - ja - New BSD - Google Inc. -- /usr/share/ibus-mozc/product_icon.png -+ @@LOCALBASE@@/share/ibus-mozc/icons/mozc-temp-icon.png - jp - Mozc (Japanese keyboard layout) - Mozc Japanese input method + New BSD + http://code.google.com/p/mozc/ + ibus-mozc +- ++ + diff --git a/japanese/ibus-mozc/files/patch-src_unix_ibus_path_util.cc b/japanese/ibus-mozc/files/patch-src_unix_ibus_path_util.cc new file mode 100644 index 000000000000..8fb37976c244 --- /dev/null +++ b/japanese/ibus-mozc/files/patch-src_unix_ibus_path_util.cc @@ -0,0 +1,19 @@ +--- src/unix/ibus/path_util.cc.org 2010-05-29 12:45:05.983913471 +0900 ++++ src/unix/ibus/path_util.cc 2010-05-29 21:43:40.031728485 +0900 +@@ -30,14 +30,14 @@ + #include "unix/ibus/path_util.h" + + namespace { +-const char kInstalledDirectory[] = "/usr/share/ibus-mozc"; ++const char kInstalledDirectory[] = "@@LOCALBASE@@/share/ibus-mozc"; + } + + namespace mozc { + namespace ibus { + + string GetIconPath(const string &icon_file) { +- return kInstalledDirectory + string("/") + icon_file; ++ return kInstalledDirectory + string("/icons/") + icon_file; + } + + } // namespace ibus diff --git a/japanese/ibus-mozc/pkg-message b/japanese/ibus-mozc/pkg-message index 7b1d832a92e7..61d4a62b884c 100644 --- a/japanese/ibus-mozc/pkg-message +++ b/japanese/ibus-mozc/pkg-message @@ -3,6 +3,7 @@ ibus-mozc installation finished. To use ibus-mozc, please do the following: If you are using bash or zsh, please add following lines to your $HOME/.bashrc or $HOME/.zshrc: +mozc_server_start export XIM=ibus export GTK_IM_MODULE=ibus export QT_IM_MODULE=xim @@ -12,6 +13,7 @@ export XIM_ARGS="-r --daemonize --xim" If you are using tcsh, please add following lines to your $HOME/.cshrc: +mozc_server_start setenv XIM ibus setenv GTK_IM_MODULE ibus setenv QT_IM_MODULE xim @@ -23,6 +25,7 @@ If you are using KDE4, you may create a shell script in $HOME/.kde4/env, and add following lines: #!/bin/sh +mozc_server_start export XIM=ibus export GTK_IM_MODULE=ibus export QT_IM_MODULE=xim diff --git a/japanese/ibus-mozc/pkg-plist b/japanese/ibus-mozc/pkg-plist index c85580351dfc..1f111b267cee 100644 --- a/japanese/ibus-mozc/pkg-plist +++ b/japanese/ibus-mozc/pkg-plist @@ -1,5 +1,13 @@ +bin/mozc_server_restart +bin/mozc_server_start +bin/mozc_server_stop +bin/mozc_tool_config +bin/mozc_tool_dictionary libexec/ibus-engine-mozc share/ibus/component/mozc.xml -share/ibus-mozc/icons/mozc-temp-icon.png +share/ibus-mozc/icons/product_icon.png +share/ibus-mozc/server/mozc_tool +share/ibus-mozc/server/mozc_server @dirrm share/ibus-mozc/icons +@dirrm share/ibus-mozc/server @dirrm share/ibus-mozc -- cgit v1.2.3