aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--japanese/Makefile1
-rw-r--r--japanese/mozc-tool/Makefile62
-rw-r--r--japanese/mozc-tool/distinfo3
-rw-r--r--japanese/mozc-tool/files/patch-src_base_iconv.cc11
-rw-r--r--japanese/mozc-tool/files/patch-src_base_mutex.h11
-rw-r--r--japanese/mozc-tool/files/patch-src_base_process.cc11
-rw-r--r--japanese/mozc-tool/files/patch-src_base_util.cc11
-rw-r--r--japanese/mozc-tool/files/patch-src_build_mozc.py20
-rw-r--r--japanese/mozc-tool/files/patch-src_gyp_common.gypi15
-rw-r--r--japanese/mozc-tool/files/patch-src_ipc_unix_ipc.cc29
-rw-r--r--japanese/mozc-tool/pkg-descr5
-rw-r--r--japanese/mozc-tool/pkg-plist1
12 files changed, 180 insertions, 0 deletions
diff --git a/japanese/Makefile b/japanese/Makefile
index 6b6f7eb407d0..eebb1dd22b73 100644
--- a/japanese/Makefile
+++ b/japanese/Makefile
@@ -196,6 +196,7 @@
SUBDIR += monafonts-ttf
SUBDIR += mozc-additions
SUBDIR += mozc-server
+ SUBDIR += mozc-tool
SUBDIR += mozilla-jlp
SUBDIR += mtools
SUBDIR += multiskkserv
diff --git a/japanese/mozc-tool/Makefile b/japanese/mozc-tool/Makefile
new file mode 100644
index 000000000000..80f5c6ffeb1c
--- /dev/null
+++ b/japanese/mozc-tool/Makefile
@@ -0,0 +1,62 @@
+# New ports collection makefile for: mozc-tool
+# Date created: 26 June 2010
+# Whom: Daichi GOTO <daichi@freebsd.org>
+#
+# $FreeBSD$
+#
+
+PORTNAME= mozc-tool
+PORTVERSION= 0.11.383.102
+CATEGORIES= japanese
+MASTER_SITES= http://people.freebsd.org/~daichi/distfiles/
+DISTNAME= mozc-${PORTVERSION}
+DISTFILES= ${DISTNAME}.tar.bz2
+
+MAINTAINER= daichi@freebsd.org
+COMMENT= Mozc tool for IBus, SCIM and others
+
+BUILD_DEPENDS= gsed:${PORTSDIR}/textproc/gsed \
+ gyp:${PORTSDIR}/devel/py-gyp-devel
+LIB_DEPENDS= curl.6:${PORTSDIR}/ftp/curl \
+ gtest.0:${PORTSDIR}/devel/googletest \
+ protobuf.6:${PORTSDIR}/devel/protobuf
+RUN_DEPENDS= xdg-open:${PORTSDIR}/devel/xdg-utils
+
+USE_GMAKE= yes
+USE_ICONV= yes
+USE_PYTHON= yes
+USE_QT_VER= 4
+QT_COMPONENTS= gui dbus qmake_build moc_build uic_build rcc_build
+
+.include <bsd.port.pre.mk>
+
+.if ${OSVERSION} < 800107
+BROKEN= Does not compile on FreeBSD 7.X
+.endif
+
+REPLACE_FILES= ${WRKSRC}/build_mozc.py \
+ ${WRKSRC}/gyp/common.gypi \
+ ${WRKSRC}/base/util.cc \
+ ${WRKSRC}/base/process.cc \
+
+post-patch:
+ @for FILE in ${REPLACE_FILES}; \
+ do \
+ ${SED} -i .bak -e "s/@@LOCALBASE@@/${LOCALBASE:S/\//\\\//g}/g" \
+ $${FILE}; \
+ done;
+
+do-build:
+ @cd ${WRKSRC}/; \
+ ${PYTHON_CMD} build_mozc.py gyp --gypdir=${LOCALBASE}/bin; \
+ ${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 \
+ gui/gui.gyp:mozc_tool
+
+do-install:
+ @${INSTALL} -o 0 -g 0 -m 555 \
+ ${WRKSRC}/out/Release/mozc_tool \
+ ${LOCALBASE}/bin/mozc_tool
+
+.include <bsd.port.post.mk>
diff --git a/japanese/mozc-tool/distinfo b/japanese/mozc-tool/distinfo
new file mode 100644
index 000000000000..3f51e9eb66e5
--- /dev/null
+++ b/japanese/mozc-tool/distinfo
@@ -0,0 +1,3 @@
+MD5 (mozc-0.11.383.102.tar.bz2) = 42e7b57f617b470528dc00be28ccaf28
+SHA256 (mozc-0.11.383.102.tar.bz2) = 69e8a4daf2165d9e2918af1e7a1a26262099ab453578d8c7456301aa8df047a2
+SIZE (mozc-0.11.383.102.tar.bz2) = 34539981
diff --git a/japanese/mozc-tool/files/patch-src_base_iconv.cc b/japanese/mozc-tool/files/patch-src_base_iconv.cc
new file mode 100644
index 000000000000..5a928e254b27
--- /dev/null
+++ b/japanese/mozc-tool/files/patch-src_base_iconv.cc
@@ -0,0 +1,11 @@
+--- base/iconv.cc.org 2010-06-17 15:59:08.032915669 +0900
++++ base/iconv.cc 2010-06-26 14:52:20.086054034 +0900
+@@ -52,7 +52,7 @@
+ size_t olen_org = olen;
+ iconv(ic, 0, &ilen, 0, &olen); // reset iconv state
+ while (ilen != 0) {
+- if (iconv(ic, reinterpret_cast<char **>(&ibuf), &ilen, &obuf, &olen)
++ if (iconv(ic, (const char **)(&ibuf), &ilen, &obuf, &olen)
+ == static_cast<size_t>(-1)) {
+ return;
+ }
diff --git a/japanese/mozc-tool/files/patch-src_base_mutex.h b/japanese/mozc-tool/files/patch-src_base_mutex.h
new file mode 100644
index 000000000000..4249feff64fc
--- /dev/null
+++ b/japanese/mozc-tool/files/patch-src_base_mutex.h
@@ -0,0 +1,11 @@
+--- base/mutex.h.org 2010-06-17 15:59:08.032915669 +0900
++++ base/mutex.h 2010-06-26 14:42:34.171132724 +0900
+@@ -87,7 +87,7 @@
+ #endif
+
+ #ifdef OS_LINUX
+-#define PTHREAD_MUTEX_RECURSIVE_VALUE PTHREAD_MUTEX_RECURSIVE_NP
++#define PTHREAD_MUTEX_RECURSIVE_VALUE PTHREAD_MUTEX_RECURSIVE
+ #endif
+
+ pthread_mutexattr_t attr;
diff --git a/japanese/mozc-tool/files/patch-src_base_process.cc b/japanese/mozc-tool/files/patch-src_base_process.cc
new file mode 100644
index 000000000000..9832c2f21642
--- /dev/null
+++ b/japanese/mozc-tool/files/patch-src_base_process.cc
@@ -0,0 +1,11 @@
+--- base/process.cc.org 2010-06-17 15:59:08.038677016 +0900
++++ base/process.cc 2010-06-26 15:14:15.207482874 +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/mozc-tool/files/patch-src_base_util.cc b/japanese/mozc-tool/files/patch-src_base_util.cc
new file mode 100644
index 000000000000..b338a19eb60e
--- /dev/null
+++ b/japanese/mozc-tool/files/patch-src_base_util.cc
@@ -0,0 +1,11 @@
+--- base/util.cc.org 2010-06-17 15:59:08.035797879 +0900
++++ base/util.cc 2010-06-26 15:18:24.444371641 +0900
+@@ -1493,7 +1493,7 @@
+ #endif // OS_MACOSX
+
+ #ifdef OS_LINUX
+- return "/usr/lib/mozc";
++ return "@@LOCALBASE@@/bin";
+ #endif // OS_LINUX
+ }
+
diff --git a/japanese/mozc-tool/files/patch-src_build_mozc.py b/japanese/mozc-tool/files/patch-src_build_mozc.py
new file mode 100644
index 000000000000..ba044b1cad4a
--- /dev/null
+++ b/japanese/mozc-tool/files/patch-src_build_mozc.py
@@ -0,0 +1,20 @@
+--- build_mozc.py.org 2010-06-17 15:59:08.104932923 +0900
++++ build_mozc.py 2010-06-26 14:43:42.504687128 +0900
+@@ -68,7 +68,7 @@
+
+ def IsLinux():
+ """Returns true if the platform is Linux."""
+- return os.name == 'posix' and os.uname()[0] == 'Linux'
++ return os.name == 'posix' and os.uname()[0] == 'FreeBSD'
+
+
+ def GetGeneratorName():
+@@ -403,7 +403,7 @@
+ (unused_gyp_file_name, target_name) = ParseTarget(target)
+ target_names.append(target_name)
+
+- make_command = os.getenv('BUILD_COMMAND', 'make')
++ make_command = os.getenv('BUILD_COMMAND', 'gmake')
+ # flags for building in Chrome OS chroot environment
+ envvars = [
+ 'CFLAGS',
diff --git a/japanese/mozc-tool/files/patch-src_gyp_common.gypi b/japanese/mozc-tool/files/patch-src_gyp_common.gypi
new file mode 100644
index 000000000000..6bd13450d867
--- /dev/null
+++ b/japanese/mozc-tool/files/patch-src_gyp_common.gypi
@@ -0,0 +1,15 @@
+--- gyp/common.gypi.org 2010-06-17 15:59:08.053080522 +0900
++++ gyp/common.gypi 2010-06-26 14:48:00.645671527 +0900
+@@ -371,6 +371,12 @@
+ '-lz',
+ '<@(extra_linux_libs)',
+ ],
++ 'include_dirs': [
++ '@@LOCALBASE@@/include'
++ ],
++ 'ldflags': [
++ '-L@@LOCALBASE@@/lib'
++ ],
+ 'conditions': [
+ ['chromeos==1', {
+ 'defines': [
diff --git a/japanese/mozc-tool/files/patch-src_ipc_unix_ipc.cc b/japanese/mozc-tool/files/patch-src_ipc_unix_ipc.cc
new file mode 100644
index 000000000000..f0e5dfc02654
--- /dev/null
+++ b/japanese/mozc-tool/files/patch-src_ipc_unix_ipc.cc
@@ -0,0 +1,29 @@
+--- ipc/unix_ipc.cc.org 2010-06-17 15:59:08.061722403 +0900
++++ ipc/unix_ipc.cc 2010-06-26 14:57:03.788901462 +0900
+@@ -41,7 +41,7 @@
+ #include <sys/time.h>
+ #include <sys/types.h>
+ #include <sys/un.h>
+-#ifdef OS_MACOSX
++#if defined(__FreeBSD__) || defined(OS_MACOSX)
+ #include <sys/ucred.h>
+ #endif
+ #include <sys/wait.h>
+@@ -124,7 +124,7 @@
+ bool IsPeerValid(int socket, pid_t *pid) {
+ *pid = 0;
+
+-#ifdef OS_MACOSX
++#if defined(__FreeBSD__) || defined(OS_MACOSX)
+ // If the OS is MAC, we should validate the peer by using LOCAL_PEERCRED.
+ struct xucred peer_cred;
+ socklen_t peer_cred_len = sizeof(struct xucred);
+@@ -146,7 +146,7 @@
+ *pid = 0;
+ #endif
+
+-#ifdef OS_LINUX
++#if !defined(__FreeBSD__) && defined(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,
+ // SO_PEERCRED) system call.
diff --git a/japanese/mozc-tool/pkg-descr b/japanese/mozc-tool/pkg-descr
new file mode 100644
index 000000000000..c6cbd42464bf
--- /dev/null
+++ b/japanese/mozc-tool/pkg-descr
@@ -0,0 +1,5 @@
+Mozc is a Japanese Input Method Editor (IME) designed for multi-platform
+such as Chromium OS, Windows, Mac and Linux. This open-source project
+originates from Google Japanese Input.
+
+WWW: http://code.google.com/p/mozc/
diff --git a/japanese/mozc-tool/pkg-plist b/japanese/mozc-tool/pkg-plist
new file mode 100644
index 000000000000..b4ed1a4c5612
--- /dev/null
+++ b/japanese/mozc-tool/pkg-plist
@@ -0,0 +1 @@
+bin/mozc_tool