Please send your feedback to hrs@FreeBSD.org in English or Japanese.

==== mozc_port_20130505-3.diff ====
 - Add Japan Post zip code dictionary.
 - Add LICENSE.
 - Fix malformed BUILD_DEPENDS and remove unnecessary dependencies.
   Use USE_* in a consistent manner.
 - Fix inconsistency toolchain usage in build_tools and the others.
   Hardcoded g++ was always used only for the former even if both gcc
   and clang were available.
 - Enable -Werror.
 - Fix SSP issue on i386 platform.
 - Let cpp(1) to replace LOCALBASE instead of patching and sed(1).
 - Use GYP_DEFINES for build variables instead of patching.
 - Separate the stages of configuration and build from each other.
 - Add options for localbase and openssl-related configuration to gyp
   instead of patching. 
 - Fix makesum target.
 - Fix whitespaces to make portlint happy.
 - Disable serialization for linking.  It is not needed.
 - Remove hardcoded mozc.xml.
 - Respect DISABLE_MAKE_JOBS=yes.  Do not calculate the factor using the
   number of CPUs.
 - Remove a confusing message after pkg-message.
 - Rename a deprecated function (inactivate-current-input-method-function)
   in mozc.el in a compatible fashion with the older emacsen [*].
 - Add leim-list.el for registration of mozc-mode via LEIM API. 
   "(require 'mozc)" is no longer needed.

Submitted by:	Tadaaki Nagao [*]


Index: japanese/mozc-el/Makefile
===================================================================
--- japanese/mozc-el/Makefile	(revision 317144)
+++ japanese/mozc-el/Makefile	(working copy)
@@ -1,23 +1,13 @@
-# New ports collection makefile for:	mozc-el
-# Date created:				26 June 2010
-# Whom:					TAKANO, Yuji
-#
+# Created by: TAKANO, Yuji
 # $FreeBSD$
-#
 
 PKGNAMESUFFIX=	-el-${EMACS_PORT_NAME}
-COMMENT=	Mozc for GNU Emacs
 
+COMMENT=	Emacs input method for Mozc
+
 MASTERDIR=	${.CURDIR}/../../japanese/mozc-server
 PKGMESSAGE=	${.CURDIR}/pkg-message
 
 BUILD_MOZC_LIST=mozc_el
 
-USE_EMACS=	yes
-CATEGORIES=	editors elisp
-
-post-install:
-	@${CAT} ${PKGMESSAGE}
-	@${ECHO_CMD} To display this message again, type ${PKG_INFO} -D ${PKGNAME}
-
 .include "${MASTERDIR}/Makefile"
Index: japanese/mozc-el/pkg-message
===================================================================
--- japanese/mozc-el/pkg-message	(revision 317144)
+++ japanese/mozc-el/pkg-message	(working copy)
@@ -1,7 +1,7 @@
+
 To activate mozc, you will need to add the following lines to
 your ~/.emacs:
 
-(require 'mozc)
 (set-language-environment "Japanese")
 (setq default-input-method "japanese-mozc")
 (global-set-key (kbd "C-o") 'toggle-input-method)
Index: japanese/mozc-server/Makefile
===================================================================
--- japanese/mozc-server/Makefile	(revision 317183)
+++ japanese/mozc-server/Makefile	(working copy)
@@ -3,16 +3,20 @@
 
 PORTNAME=	mozc
 PORTVERSION=	1.10.1390.102
-PORTREVISION=	2
+PORTREVISION=	3
 CATEGORIES=	japanese
 MASTER_SITES=	${MASTER_SITE_GOOGLE_CODE}
-PKGNAMEPREFIX?=	ja-
-PKGNAMESUFFIX?=	-server
+DISTFILES=	${PORTNAME}-${PORTVERSION}${EXTRACT_SUFX}
+EXTRACT_ONLY=	${PORTNAME}-${PORTVERSION}${EXTRACT_SUFX}
 
 MAINTAINER=	daichi@FreeBSD.org
-COMMENT?=	Mozc server for IBus and others
+COMMENT?=	Mozc Japanese Input Method, Server
 
-LIB_DEPENDS=	protobuf:${PORTSDIR}/devel/protobuf
+LICENSE=	BSD
+LICENSE_FILE=	${WRKSRC}/third_party/gyp/LICENSE
+
+LIB_DEPENDS=	protobuf:${PORTSDIR}/devel/protobuf \
+		zinnia:${PORTSDIR}/japanese/zinnia
 RUN_DEPENDS=	xdg-open:${PORTSDIR}/devel/xdg-utils
 
 USES=		pkgconfig iconv
@@ -25,12 +29,25 @@
 
 BUILD_MOZC_LIST?=	mozc_server
 
-GYP_OPTIONS=	
-.if ${BUILD_MOZC_LIST:Mmozc_server} == "mozc_server" || \
-    ${BUILD_MOZC_LIST:Mibus_mozc}   == "ibus_mozc"   || \
-    ${BUILD_MOZC_LIST:Mfcitx_mozc}  == "fcitx_mozc"  || \
-    ${BUILD_MOZC_LIST:Mmozc_el}     == "mozc_el"
-GYP_OPTIONS=	--noqt
+.if   ${BUILD_MOZC_LIST:Mmozc_server} == "mozc_server"
+PKGNAMEPREFIX=	ja-
+PKGNAMESUFFIX=	-server
+
+LICENSE=		BSD NAISTL
+LICENSE_COMB=		multi
+LICENSE_FILE_BSD=	${WRKSRC}/third_party/gyp/LICENSE
+LICENSE_DISTFILES_BSD=	${PORTNAME}-${PORTVERSION}${EXTRACT_SUFX}
+LICENSE_NAME_NAISTL=	Nara Institute of Science and Technology License
+LICENSE_PERMS_NAISTL=	dist-mirror dist-sell pkg-mirror pkg-sell auto-accept
+LICENSE_FILE_NAISTL=	${WRKSRC}/data/dictionary_oss/README.txt
+LICENSE_DISTFILES_NAISTL=${PORTNAME}-${PORTVERSION}${EXTRACT_SUFX}
+.elif ${BUILD_MOZC_LIST:Mmozc_tool} == "mozc_tool"
+USE_GNOME=	glib20 gtk20
+USE_QT4=	corelib gui
+.elif ${BUILD_MOZC_LIST:Mibus_mozc} == "ibus_mozc"
+USE_GNOME=	glib20 gtk20
+.elif ${BUILD_MOZC_LIST:Mmozc_el} == "mozc_el"
+USE_EMACS=	yes
 .endif
 
 .include <bsd.port.pre.mk>
@@ -43,132 +60,154 @@
 BROKEN=		Does not compile: segfault
 .endif
 
-LOCALBASE_REPLACE_FILES=	\
-		gyp/common.gypi \
-		unix/ibus/gen_mozc_xml.py \
-		unix/ibus/mozc.xml \
-		unix/ibus/path_util.cc \
-		base/base.gyp \
-		base/util.cc \
-		base/process.cc \
-		gui/about_dialog/about_dialog.cc \
-		handwriting/zinnia_handwriting.cc \
-		third_party/gyp/pylib/gyp/generator/make.py
-SSL_REINPLACE_STR=
-.for V in OPENSSL_CFLAGS OPENSSLLIB OPENSSLINC OPENSSL_LDFLAGS
-SSL_REINPLACE_STR+=	-e "s,%%${V}%%,${${V}:S/\\/\\\\/g:S/"/\"/g:S/\$/\\$/g:S/,/\,/g},"
-.endfor
-LOCALBASE_PTN=	${LOCALBASE:S/\\/\\\\/g:S/"/\"/g:S/\$/\\$/g:S/,/\,/g}
-
-BUILD_MODE=	Release 
+GYP_DEFINES=	use_libprotobuf=1 \
+		channel_dev=0 \
+		enable_unittest=0
+BUILD_MODE=	Release
 BUILD_CMD=	${SETENV} ${MAKE_ENV} ${GMAKE}
 BUILD_MOZC_CMD=	cd ${BUILD_WRKSRC} && \
 		${SETENV} BUILD_COMMAND="${WRKSRC}/mozcmake" \
 		PYTHONPATH=${WRKSRC}/third_party/gyp/local/lib/python${PYTHON_VER}/site-packages \
+		${DEBUG} \
+		GYP_DEFINES="${GYP_DEFINES}" \
+		CC_host="${CC}" \
+		CXX_host="${CXX}" \
+		LD_host="${CXX}" \
+		AR_host="${AR}" \
 		${PYTHON_CMD} build_mozc.py
-BUILD_GYP_CMD=	cd ${WRKSRC}/third_party/gyp && ${SETENV} ${MAKE_ENV} ${PYTHON_CMD} ${PYSETUP}
+BUILD_MOZC_CMD_BUILD=	${BUILD_MOZC_CMD} build -c ${BUILD_MODE} ${_MAKE_JOBS}
+BUILD_GYP_CMD=	cd ${WRKSRC}/third_party/gyp && \
+			${SETENV} ${MAKE_ENV} ${PYTHON_CMD} ${PYSETUP}
 
 post-patch:
-	cd ${WRKSRC} && \
-		${REINPLACE_CMD} "s,@@LOCALBASE@@,${LOCALBASE_PTN},g" \
-		${LOCALBASE_REPLACE_FILES}
-	cd ${WRKSRC} && \
-		${REINPLACE_CMD} ${SSL_REINPLACE_STR} base/base.gyp
-	${MKDIR} -p ${WRKSRC}/mozc_build_tools/linux
-	${LN} -sf ${LOCALBASE}/bin/protoc ${WRKSRC}/mozc_build_tools/linux/ 
+	${MKDIR} ${WRKSRC}/mozc_build_tools/linux
+	${LN} -sf ${LOCALBASE}/bin/protoc ${WRKSRC}/mozc_build_tools/linux/
 .if ${BUILD_MOZC_LIST:Mfcitx_mozc} == "fcitx_mozc"
-	cd ${WRKSRC} && \
-		${REINPLACE_CMD} 's,/po/mo},%po}mo,g' \
-		unix/fcitx/gen_fcitx_mozc_i18n.sh
-	cd ${WRKSRC} && \
-		${REINPLACE_CMD} "s,/usr,${LOCALBASE_PTN}," \
-		unix/fcitx/mozc.conf
+	${REINPLACE_CMD} 's,/po/mo},%po}mo,g' \
+		${WRKSRC}/unix/fcitx/gen_fcitx_mozc_i18n.sh
+	${REINPLACE_CMD} "s,/usr,${LOCALBASE:Q}," \
+		${WRKSRC}/unix/fcitx/mozc.conf
 .endif
 
-pre-build:
-	${PRINTF} "%s\n%s\n" "#!/bin/sh" 'exec ${BUILD_CMD} $$@' > ${WRKSRC}/mozcmake
+${WRKSRC}/mozcmake:
+	${PRINTF} "%s\n%s\n" "#!/bin/sh" 'exec ${BUILD_CMD} $$@' \
+		> ${WRKSRC}/mozcmake
 	${CHMOD} +x ${WRKSRC}/mozcmake
-	${BUILD_GYP_CMD} ${PYDISTUTILS_CONFIGURE_TARGET} ${PYDISTUTILS_CONFIGUREARGS}
+
+post-configure: ${WRKSRC}/mozcmake
+	${BUILD_GYP_CMD} ${PYDISTUTILS_CONFIGURE_TARGET} \
+		${PYDISTUTILS_CONFIGUREARGS}
 	${BUILD_GYP_CMD} ${PYDISTUTILS_BUILD_TARGET} ${PYDISTUTILS_BUILDARGS}
-	${BUILD_GYP_CMD} ${PYDISTUTILS_INSTALL_TARGET} --prefix=${WRKSRC}/third_party/gyp/local
+	${BUILD_GYP_CMD} ${PYDISTUTILS_INSTALL_TARGET} \
+		--prefix=${WRKSRC}/third_party/gyp/local
 	${BUILD_MOZC_CMD} gyp \
-			--gypdir=${WRKSRC}/third_party/gyp/local/bin \
-			--server_dir="${PREFIX}/bin" --channel_dev=0 \
-			${GYP_OPTIONS}
-	${BUILD_MOZC_CMD} build_tools -c ${BUILD_MODE}
+		--gypdir=${WRKSRC}/third_party/gyp/local/bin \
+		--server_dir="${PREFIX}/bin" \
+		--localbase="${LOCALBASE}" \
+		--ldflags="${LDFLAGS} -fstack-protector -L${LOCALBASE}/lib" \
+		--include_dirs="${LOCALBASE}/include" \
+		--openssl_cflags="${OPENSSL_CFLAGS}" \
+		--openssl_ldflags="${OPENSSL_LDFLAGS}" \
+		--openssl_inc="-I${OPENSSLINC}" \
+		--openssl_lib="-lssl -lcrypto -L${OPENSSLLIB}" \
+		${GYP_OPTIONS}
 
+pre-build:
+	${BUILD_MOZC_CMD} build_tools -c ${BUILD_MODE} ${_MAKE_JOBS}
+
 # mozc_server
-.if ${BUILD_MOZC_LIST:Mmozc_server} == "mozc_server"
-BUILD_DEPENDS+=	glib:${PORTSDIR}/devel/glib20 \
-		gtk:${PORTSDIR}/x11-toolkits/gtk20
+.if ${BUILD_MOZC_LIST:Mmozc_server} == "mozc_server" || defined(makesum)
+GYP_OPTIONS+=	--noqt
+GYP_DEFINES+=	use_libibus=0 \
+		enable_gtk_renderer=0
+
+MASTER_SITES+=	LOCAL/kuriyama:zipcode
+DISTFILES+= \
+	ken_all-20130228.lzh:zipcode \
+	jigyosyo-20130228.lzh:zipcode
+
+EXTRACT_DEPENDS+=	lha:${PORTSDIR}/archivers/lha
+
 PLIST_FILES+=	bin/mozc_server
 
+post-extract-mozc_server:
+	@for F in jigyosyo-20130228.lzh ken_all-20130228.lzh; do \
+		${LHA_CMD} xfqw=${WRKSRC}/data/dictionary_oss ${DISTDIR}/$$F; \
+	done
+	@cd ${WRKSRC}/data/dictionary_oss && \
+		${PYTHON_CMD} ${WRKSRC}/dictionary/gen_zip_code_seed.py \
+		--zip_code=ken_all.csv --jigyosyo=jigyosyo.csv \
+		>> dictionary09.txt
+
+post-extract: post-extract-mozc_server
+
 do-build-mozc_server:
-	${BUILD_MOZC_CMD} build -c ${BUILD_MODE} -j ${MAKE_JOBS_NUMBER} \
-		server/server.gyp:mozc_server
+	${BUILD_MOZC_CMD_BUILD} server/server.gyp:mozc_server
 
 do-install-mozc_server:
-	@${INSTALL_PROGRAM} \
+	${INSTALL_PROGRAM} \
 		${WRKSRC}/out_linux/${BUILD_MODE}/mozc_server \
 		${PREFIX}/bin
 .endif
 
 # mozc_tool
 .if ${BUILD_MOZC_LIST:Mmozc_tool} == "mozc_tool"
-LIB_DEPENDS+=	zinnia.0:${PORTSDIR}/japanese/zinnia
-BUILD_DEPENDS+=	gtk:${PORTSDIR}/x11-toolkits/gtk20
-USE_QT4+=	corelib gui
+GYP_DEFINES+=	use_libibus=0 \
+		enable_gtk_renderer=1
+
 RUN_DEPENDS+=	${LOCALBASE}/share/tegaki/models/zinnia/handwriting-ja.model:${PORTSDIR}/japanese/tegaki-zinnia-japanese
 
 PLIST_FILES+=	bin/mozc_tool \
-		${DATADIR_REL}/icons/product_logo.png \
-		${DATADIR_REL}/icons/update_uptodate.png
-PLIST_DIRS+=	${DATADIR_REL}/icons ${DATADIR_REL}
+		%%DATADIR%%/icons/product_logo.png \
+		%%DATADIR%%/icons/update_uptodate.png
+PLIST_DIRS+=	%%DATADIR%%/icons ${DATADIR_REL}
 
 do-build-mozc_tool:
-	${BUILD_MOZC_CMD} build -c ${BUILD_MODE} -j ${MAKE_JOBS_NUMBER} \
-		gui/gui.gyp:mozc_tool
+	${BUILD_MOZC_CMD_BUILD} gui/gui.gyp:mozc_tool
 
 do-install-mozc_tool:
-	@${INSTALL_PROGRAM} \
+	${INSTALL_PROGRAM} \
 	       ${WRKSRC}/out_linux/${BUILD_MODE}/mozc_tool \
 	       ${PREFIX}/bin
 	@${MKDIR} ${DATADIR}/icons
-	@${INSTALL_DATA} \
+	${INSTALL_DATA} \
 		${WRKSRC}/data/images/unix/ime_product_icon_opensource-32.png \
 		${DATADIR}/icons/product_logo.png
-	@${INSTALL_DATA} \
+	${INSTALL_DATA} \
 		${WRKSRC}/data/images/unix/ime_product_icon_opensource-32.png \
 		${DATADIR}/icons/update_uptodate.png
 .endif
 
 # ibus_mozc
 .if ${BUILD_MOZC_LIST:Mibus_mozc} == "ibus_mozc"
-LIB_DEPENDS+=	ibus-1.0.401:${PORTSDIR}/textproc/ibus \
-		xcb-xfixes.0:${PORTSDIR}/x11/libxcb \
-		zinnia.0:${PORTSDIR}/japanese/zinnia
+GYP_OPTIONS+=	--noqt
+GYP_DEFINES+=	use_libibus=1 \
+		enable_gtk_renderer=1
+
+LIB_DEPENDS+=	ibus-1.0:${PORTSDIR}/textproc/ibus \
+		xcb-xfixes:${PORTSDIR}/x11/libxcb
 RUN_DEPENDS+=	mozc_server:${PORTSDIR}/japanese/mozc-server \
 		mozc_tool:${PORTSDIR}/japanese/mozc-tool \
 		mozc_server_start:${PORTSDIR}/japanese/mozc-additions \
-		${PYTHON_SITELIBDIR}/gtk-2.0/pynotify/_pynotify.so:${PORTSDIR}/devel/py-notify
+		${PYTHON_SITELIBDIR}/gtk-2.0/pynotify/__init__.py:${PORTSDIR}/devel/py-notify
 
 PLIST_FILES+=	bin/mozc_renderer \
 		libexec/ibus-engine-mozc \
-		${DATADIR_REL}/icons/alpha_full.png \
-		${DATADIR_REL}/icons/alpha_half.png \
-		${DATADIR_REL}/icons/dictionary.png \
-		${DATADIR_REL}/icons/direct.png \
-		${DATADIR_REL}/icons/hiragana.png \
-		${DATADIR_REL}/icons/katakana_full.png \
-		${DATADIR_REL}/icons/katakana_half.png \
-		${DATADIR_REL}/icons/product_logo.png \
-		${DATADIR_REL}/icons/properties.png \
-		${DATADIR_REL}/icons/tool.png \
-		share/ibus/component/mozc.xml 
-PLIST_DIRS+=	${DATADIR_REL}/icons ${DATADIR_REL}
+		%%DATADIR%%/icons/alpha_full.png \
+		%%DATADIR%%/icons/alpha_half.png \
+		%%DATADIR%%/icons/dictionary.png \
+		%%DATADIR%%/icons/direct.png \
+		%%DATADIR%%/icons/hiragana.png \
+		%%DATADIR%%/icons/katakana_full.png \
+		%%DATADIR%%/icons/katakana_half.png \
+		%%DATADIR%%/icons/product_icon.png \
+		%%DATADIR%%/icons/properties.png \
+		%%DATADIR%%/icons/tool.png \
+		share/ibus/component/mozc.xml
+PLIST_DIRS+=	%%DATADIR%%/icons ${DATADIR_REL}
 
 do-build-ibus_mozc:
-	${BUILD_MOZC_CMD} build -c ${BUILD_MODE} -j ${MAKE_JOBS_NUMBER} \
+	${BUILD_MOZC_CMD_BUILD} \
 		unix/ibus/ibus.gyp:ibus_mozc \
 		renderer/renderer.gyp:mozc_renderer
 
@@ -180,29 +219,33 @@
 		${WRKSRC}/out_linux/${BUILD_MODE}/ibus_mozc \
 		${PREFIX}/libexec/ibus-engine-mozc
 	${INSTALL_DATA} \
-		${WRKSRC}/unix/ibus/mozc.xml \
+		${WRKSRC}/out_linux/${BUILD_MODE}/obj/gen/unix/ibus/mozc.xml \
 		${PREFIX}/share/ibus/component/mozc.xml
-	${MKDIR} ${DATADIR}/icons
+	@${MKDIR} ${DATADIR}/icons
 .for F in ui-alpha_full ui-alpha_half ui-dictionary ui-direct \
 	ui-hiragana ui-katakana_full ui-katakana_half ui-properties ui-tool
 	${INSTALL_DATA} \
 		${WRKSRC}/data/images/unix/${F}.png \
 		${DATADIR}/icons/${F:S/^ui-//}.png
 .endfor
-	@${INSTALL_DATA} \
+	${INSTALL_DATA} \
 		${WRKSRC}/data/images/unix/ime_product_icon_opensource-32.png \
-		${DATADIR}/icons/product_logo.png
+		${DATADIR}/icons/product_icon.png
 .endif
 
 # fcitx_mozc
-.if ${BUILD_MOZC_LIST:Mfcitx_mozc} == "fcitx_mozc"
+.if ${BUILD_MOZC_LIST:Mfcitx_mozc} == "fcitx_mozc" || make(makesum)
 PATCH_SITES=	http://fcitx.googlecode.com/files/
 PATCHFILES=	fcitx-mozc-${PORTVERSION}.2.patch
+.endif
+.if ${BUILD_MOZC_LIST:Mfcitx_mozc} == "fcitx_mozc"
 PATCH_DIST_STRIP=-p2
 
-LIB_DEPENDS+=	fcitx-config.4:${PORTSDIR}/chinese/fcitx \
-		zinnia.0:${PORTSDIR}/japanese/zinnia
-BUILD_DEPENDS+=	glib:${PORTSDIR}/devel/glib20
+GYP_OPTIONS+=	--noqt
+GYP_DEFINES+=	use_libibus=0 \
+		enable_gtk_renderer=0
+
+LIB_DEPENDS+=	fcitx-core:${PORTSDIR}/chinese/fcitx
 RUN_DEPENDS+=	mozc_server:${PORTSDIR}/japanese/mozc-server \
 		mozc_tool:${PORTSDIR}/japanese/mozc-tool \
 		mozc_server_start:${PORTSDIR}/japanese/mozc-additions
@@ -210,27 +253,26 @@
 PLIST_FILES+=	lib/fcitx/fcitx-mozc.so \
 		share/fcitx/addon/fcitx-mozc.conf \
 		share/fcitx/inputmethod/mozc.conf \
-		${DATADIR_REL}/icon/mozc.png \
-		${DATADIR_REL}/icon/mozc-alpha_full.png \
-		${DATADIR_REL}/icon/mozc-alpha_half.png \
-		${DATADIR_REL}/icon/mozc-direct.png \
-		${DATADIR_REL}/icon/mozc-hiragana.png \
-		${DATADIR_REL}/icon/mozc-katakana_full.png \
-		${DATADIR_REL}/icon/mozc-katakana_half.png \
-		${DATADIR_REL}/icon/mozc-dictionary.png \
-		${DATADIR_REL}/icon/mozc-properties.png \
-		${DATADIR_REL}/icon/mozc-tool.png \
+		%%DATADIR%%/icon/mozc.png \
+		%%DATADIR%%/icon/mozc-alpha_full.png \
+		%%DATADIR%%/icon/mozc-alpha_half.png \
+		%%DATADIR%%/icon/mozc-direct.png \
+		%%DATADIR%%/icon/mozc-hiragana.png \
+		%%DATADIR%%/icon/mozc-katakana_full.png \
+		%%DATADIR%%/icon/mozc-katakana_half.png \
+		%%DATADIR%%/icon/mozc-dictionary.png \
+		%%DATADIR%%/icon/mozc-properties.png \
+		%%DATADIR%%/icon/mozc-tool.png \
 		share/locale/ja/LC_MESSAGES/fcitx-mozc.mo \
 		share/locale/zh_CN/LC_MESSAGES/fcitx-mozc.mo \
 		share/locale/zh_TW/LC_MESSAGES/fcitx-mozc.mo
-PLIST_DIRS+=	${DATADIR_REL}/icon ${DATADIR_REL}
+PLIST_DIRS+=	%%DATADIR%%/icon ${DATADIR_REL}
 
 do-build-fcitx_mozc:
-		${BUILD_MOZC_CMD} build -c ${BUILD_MODE} -j ${MAKE_JOBS_NUMBER} \
-			unix/fcitx/fcitx.gyp:fcitx-mozc
+	${BUILD_MOZC_CMD_BUILD} unix/fcitx/fcitx.gyp:fcitx-mozc
 
 do-install-fcitx_mozc:
-	${MKDIR} \
+	@${MKDIR} \
 		${PREFIX}/lib/fcitx \
 		${PREFIX}/share/fcitx/addon \
 		${PREFIX}/share/fcitx/inputmethod
@@ -243,18 +285,18 @@
 	${INSTALL_DATA} \
 		${WRKSRC}/unix/fcitx/mozc.conf \
 		${PREFIX}/share/fcitx/inputmethod/mozc.conf
-	${MKDIR} ${DATADIR}/icon
+	@${MKDIR} ${DATADIR}/icon
 .for F in ui-alpha_full ui-alpha_half ui-dictionary ui-direct \
 	ui-hiragana ui-katakana_full ui-katakana_half ui-properties ui-tool
-	@${INSTALL_DATA} \
+	${INSTALL_DATA} \
 		${WRKSRC}/data/images/unix/${F}.png \
-		${DATADIR}/icon/${F:S/^ui-/mozc-/}.png
+		${DATADIR}/icon/${F:S,^ui-,mozc-,}.png
 .endfor
-	@${INSTALL_DATA} \
+	${INSTALL_DATA} \
 		${WRKSRC}/data/images/product_icon_32bpp-128.png \
 		${DATADIR}/icon/mozc.png
 .for L in ja zh_CN zh_TW
-	@${INSTALL_DATA} \
+	${INSTALL_DATA} \
 		${WRKSRC}/out_linux/${BUILD_MODE}/obj/gen/unix/fcitx/po/${L}.mo \
 		${PREFIX}/share/locale/${L}/LC_MESSAGES/fcitx-mozc.mo
 .endfor
@@ -262,37 +304,48 @@
 
 # mozc_el
 .if ${BUILD_MOZC_LIST:Mmozc_el} == "mozc_el"
-LIB_DEPENDS+=	zinnia.0:${PORTSDIR}/japanese/zinnia
-BUILD_DEPENDS+=	emacs:${PORTSDIR}/editors/emacs \
-		glib:${PORTSDIR}/devel/glib20 \
-		gtk:${PORTSDIR}/x11-toolkits/gtk20
+GYP_OPTIONS+=	--noqt
+GYP_DEFINES+=	use_libibus=0 \
+		enable_gtk_renderer=0
+
+CATEGORIES+=	elisp
 RUN_DEPENDS+=	mozc_server:${PORTSDIR}/japanese/mozc-server \
 		mozc_server_start:${PORTSDIR}/japanese/mozc-additions
 
 PLIST_FILES+=	bin/mozc_emacs_helper \
-		${EMACS_VERSION_SITE_LISPDIR}/mozc.el \
-		${EMACS_VERSION_SITE_LISPDIR}/mozc.elc
+		${EMACS_VERSION_SITE_LISPDIR}/mozc/mozc.el \
+		${EMACS_VERSION_SITE_LISPDIR}/mozc/mozc.elc \
+		${EMACS_VERSION_SITE_LISPDIR}/mozc/leim-list.el
+PLIST_DIRS+=	${EMACS_VERSION_SITE_LISPDIR}/mozc
 
 do-build-mozc_el:
-	${BUILD_MOZC_CMD} build -c ${BUILD_MODE} -j ${MAKE_JOBS_NUMBER} \
-		unix/emacs/emacs.gyp:mozc_emacs_helper
-	@cd ${WRKSRC}/unix/emacs && \
+	${BUILD_MOZC_CMD_BUILD} unix/emacs/emacs.gyp:mozc_emacs_helper
+	cd ${WRKSRC}/unix/emacs && \
 		${EMACS_CMD} -batch -q -no-site-file -no-init-file \
 				-f batch-byte-compile mozc.el
 
 do-install-mozc_el:
-	@${INSTALL_PROGRAM} \
+	${INSTALL_PROGRAM} \
 		${WRKSRC}/out_linux/${BUILD_MODE}/mozc_emacs_helper \
 		${PREFIX}/bin/
-	@${INSTALL_DATA} \
+	@${MKDIR} ${PREFIX}/${EMACS_VERSION_SITE_LISPDIR}/mozc
+	${INSTALL_DATA} \
 		${WRKSRC}/unix/emacs/mozc.el \
-		${PREFIX}/${EMACS_VERSION_SITE_LISPDIR}/
-	@${INSTALL_DATA} \
+		${PREFIX}/${EMACS_VERSION_SITE_LISPDIR}/mozc/
+	${INSTALL_DATA} \
 		${WRKSRC}/unix/emacs/mozc.elc \
-		${PREFIX}/${EMACS_VERSION_SITE_LISPDIR}/
+		${PREFIX}/${EMACS_VERSION_SITE_LISPDIR}/mozc/
+	${INSTALL_DATA} \
+		${FILESDIR}/leim-list.el \
+		${PREFIX}/${EMACS_VERSION_SITE_LISPDIR}/mozc/
 .endif
 
 do-build: ${BUILD_MOZC_LIST:S/^/do-build-/}
 do-install: ${BUILD_MOZC_LIST:S/^/do-install-/}
 
+.if defined(PKGMESSAGE) && exists(${PKGMESSAGE})
+post-install:
+	@${CAT} ${PKGMESSAGE}
+.endif
+
 .include <bsd.port.post.mk>
Index: japanese/mozc-server/distinfo
===================================================================
--- japanese/mozc-server/distinfo	(revision 317183)
+++ japanese/mozc-server/distinfo	(working copy)
@@ -1,4 +1,8 @@
 SHA256 (mozc-1.10.1390.102.tar.bz2) = 72a8ed6657daa1c03b1efe50c262a69be2ab66d45747a47df6e54996b6d5ee39
-SIZE(mozc-1.10.1390.102.tar.bz2) = 57879881
+SIZE (mozc-1.10.1390.102.tar.bz2) = 57879881
+SHA256 (ken_all-20130228.lzh) = ea7d8c01634821faa6ed1beacb72959e70a357e4e61ee913caa23e502b164681
+SIZE (ken_all-20130228.lzh) = 1736171
+SHA256 (jigyosyo-20130228.lzh) = 04f809b7c61355140b810d6b6b1c68ec575ada8c5ef87d27d56d632d1a0e35dd
+SIZE (jigyosyo-20130228.lzh) = 832542
 SHA256 (fcitx-mozc-1.10.1390.102.2.patch) = 8702225049052ace5c4fa60998606cc7e08bc86966054f6f61b293277cffdcea
 SIZE (fcitx-mozc-1.10.1390.102.2.patch) = 130658
Index: japanese/mozc-server/files/leim-list.el
===================================================================
--- japanese/mozc-server/files/leim-list.el	(revision 0)
+++ japanese/mozc-server/files/leim-list.el	(working copy)
@@ -0,0 +1,30 @@
+;; leim-list.el --- Mozc setup for leim API
+;; $FreeBSD$$
+;;
+;; Copyright (c) 2013 Hiroki Sato <hrs@FreeBSD.org>.  All rights reserved.
+;;
+;; Redistribution and use in source and binary forms, with or without
+;; modification, are permitted provided that the following conditions
+;; are met:
+;; 1. Redistributions of source code must retain the above copyright
+;;    notice, this list of conditions and the following disclaimer.
+;; 2. Redistributions in binary form must reproduce the above copyright
+;;    notice, this list of conditions and the following disclaimer in the
+;;   documentation and/or other materials provided with the distribution.
+;;
+
+(autoload 'mozc-mode "mozc.el" "Activate Mozc." t)
+(autoload 'mozc-leim-activate "mozc.el" "Activate Mozc." t)
+
+(defcustom mozc-leim-title "[Mozc]"
+  "Mode line string shown when mozc-mode is enabled.
+This indicator is not shown when you don't use LEIM."
+  :type '(choice (const :tag "No indicator" nil)
+                 (string :tag "Show an indicator"))
+  :group 'mozc)
+
+(register-input-method
+  "japanese-mozc" "Japanese" 'mozc-leim-activate
+  mozc-leim-title
+  "Japanese input method with Mozc/Google Japanese Input."
+  'its-select-hiragana)

Property changes on: japanese/mozc-server/files/leim-list.el
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+FreeBSD=%H
\ No newline at end of property
Index: japanese/mozc-server/files/patch-base_base.gyp
===================================================================
--- japanese/mozc-server/files/patch-base_base.gyp	(revision 317183)
+++ japanese/mozc-server/files/patch-base_base.gyp	(working copy)
@@ -1,27 +1,27 @@
---- base/base.gyp.orig	2013-04-21 03:48:45.178270244 +0900
-+++ base/base.gyp	2013-04-21 04:16:38.943269499 +0900
+--- base/base.gyp.orig	2013-03-29 13:33:43.000000000 +0900
++++ base/base.gyp	2013-04-23 23:49:53.000000000 +0900
 @@ -265,20 +265,20 @@
          ['OS=="linux" and target_platform!="Android" and '
           'not (target_platform=="NaCl" and _toolset=="target")', {
            'cflags': [
 -            '<!@(<(pkg_config_command) --cflags-only-other openssl)',
-+            '%%OPENSSL_CFLAGS%%',
++            '<(openssl_cflags)',
            ],
            'defines': [
              'HAVE_OPENSSL=1',
            ],
            'include_dirs': [
 -            '<!@(<(pkg_config_command) --cflags-only-I openssl)',
-+            '-I%%OPENSSLINC%%/openssl',
++            '<(openssl_inc)',
            ],
            'link_settings': {
              'ldflags': [
 -              '<!@(<(pkg_config_command) --libs-only-L openssl)',
-+              '%%OPENSSL_LDFLAGS%% -L%%OPENSSLLIB%%',
++              '<(openssl_ldflags)',
              ],
              'libraries': [
 -              '<!@(<(pkg_config_command) --libs-only-l openssl)',
-+              '-lssl',
++              '<(openssl_lib)',
              ],
            },
          }],
Index: japanese/mozc-server/files/patch-base_iconv.cc
===================================================================
--- japanese/mozc-server/files/patch-base_iconv.cc	(revision 317183)
+++ japanese/mozc-server/files/patch-base_iconv.cc	(working copy)
@@ -1,10 +1,10 @@
---- base/iconv.cc.orig	2013-04-21 03:48:45.174270168 +0900
-+++ base/iconv.cc	2013-04-21 04:16:39.946269033 +0900
+--- base/iconv.cc.orig	2013-03-29 13:33:43.000000000 +0900
++++ base/iconv.cc	2013-04-27 15:36:30.000000000 +0900
 @@ -53,7 +53,11 @@
    size_t olen_org = olen;
    iconv(ic, 0, &ilen, 0, &olen);  // reset iconv state
    while (ilen != 0) {
-+#ifdef __FreeBSD__
++#ifdef OS_FREEBSD
 +    if (iconv(ic, (const char **)(&ibuf), &ilen, &obuf, &olen)
 +#else
      if (iconv(ic, reinterpret_cast<char **>(&ibuf), &ilen, &obuf, &olen)
Index: japanese/mozc-server/files/patch-base_logging.cc
===================================================================
--- japanese/mozc-server/files/patch-base_logging.cc	(revision 0)
+++ japanese/mozc-server/files/patch-base_logging.cc	(working copy)
@@ -0,0 +1,11 @@
+--- base/logging.cc.orig	2013-04-26 10:49:33.000000000 +0900
++++ base/logging.cc	2013-04-26 10:53:18.000000000 +0900
+@@ -111,7 +111,7 @@
+ #if defined(__native_client__)
+            "%p",
+ #elif defined(OS_LINUX)
+-           "%lu",
++           "%p",
+ #else  // = OS_WIN or OS_MACOSX
+            "%u",
+ #endif

Property changes on: japanese/mozc-server/files/patch-base_logging.cc
___________________________________________________________________
Added: fbsd:nokeywords
## -0,0 +1 ##
+yes
\ No newline at end of property
Index: japanese/mozc-server/files/patch-base_mutex.cc
===================================================================
--- japanese/mozc-server/files/patch-base_mutex.cc	(revision 317183)
+++ japanese/mozc-server/files/patch-base_mutex.cc	(working copy)
@@ -1,11 +1,11 @@
---- base/mutex.cc.orig	2013-04-21 03:48:45.170269862 +0900
-+++ base/mutex.cc	2013-04-21 04:16:39.083269637 +0900
+--- base/mutex.cc.orig	2013-03-29 13:33:43.000000000 +0900
++++ base/mutex.cc	2013-04-27 15:37:37.000000000 +0900
 @@ -296,7 +296,7 @@
    // PTHREAD_MUTEX_RECURSIVE_NP but Mac OS X 10.5 does not
    pthread_mutexattr_t attr;
    pthread_mutexattr_init(&attr);
 -#if defined(OS_MACOSX)
-+#if defined(OS_MACOSX) || defined(__FreeBSD__)
++#if defined(OS_MACOSX) || defined(OS_FREEBSD)
    pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE);
  #elif defined(OS_LINUX)
    pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE_NP);
Index: japanese/mozc-server/files/patch-base_process.cc
===================================================================
--- japanese/mozc-server/files/patch-base_process.cc	(revision 317183)
+++ japanese/mozc-server/files/patch-base_process.cc	(working copy)
@@ -1,22 +1,11 @@
---- base/process.cc.orig	2013-04-21 03:48:45.176269982 +0900
-+++ base/process.cc	2013-04-21 04:16:40.382269441 +0900
-@@ -121,13 +121,18 @@
-   return ShellExecuteInSystemDir(L"open", wurl.c_str(), NULL, SW_SHOW);
+--- base/process.cc.orig	2013-03-29 13:33:43.000000000 +0900
++++ base/process.cc	2013-04-24 00:17:03.000000000 +0900
+@@ -122,7 +122,7 @@
  #endif
  
--#ifdef OS_LINUX
-+#if defined(OS_LINUX) && !defined(__FreeBSD__)
-   static const char kBrowserCommand[] = "/usr/bin/xdg-open";
+ #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);
- #endif  // LINUX
- 
-+#ifdef __FreeBSD__
-+  static const char kBrowserCommand[] = "@@LOCALBASE@@/bin/xdg-open";
-+  return SpawnProcess(kBrowserCommand, url);
-+#endif
-+
- #ifdef OS_MACOSX
-   return MacProcess::OpenBrowserForMac(url);
- #endif  // OS_MACOSX
Index: japanese/mozc-server/files/patch-build_mozc.py
===================================================================
--- japanese/mozc-server/files/patch-build_mozc.py	(revision 0)
+++ japanese/mozc-server/files/patch-build_mozc.py	(working copy)
@@ -0,0 +1,49 @@
+--- build_mozc.py.orig	2013-03-29 13:33:25.000000000 +0900
++++ build_mozc.py	2013-05-02 00:54:37.000000000 +0900
+@@ -332,6 +332,14 @@
+                     help='use rsync to copy files instead of builtin function')
+   AddTargetPlatformOption(parser)
+ 
++  parser.add_option('--localbase', dest='localbase')
++  parser.add_option('--ldflags', dest='ldflags')
++  parser.add_option('--include_dirs', dest='include_dirs')
++  parser.add_option('--openssl_cflags', dest='openssl_cflags')
++  parser.add_option('--openssl_ldflags', dest='openssl_ldflags')
++  parser.add_option('--openssl_lib', dest='openssl_lib')
++  parser.add_option('--openssl_inc', dest='openssl_inc')
++
+   parser.add_option('--mac_dir', dest='mac_dir',
+                     help='A path to the root directory of third party '
+                     'libraries for Mac build which will be passed to gyp '
+@@ -506,7 +514,7 @@
+   parser = optparse.OptionParser(usage='Usage: %prog build [options]')
+   AddCommonOptions(parser)
+   if IsLinux():
+-    default_build_concurrency = GetNumberOfProcessors() * 2
++    default_build_concurrency = 1;
+     parser.add_option('--jobs', '-j', dest='jobs',
+                       default=('%d' % default_build_concurrency),
+                       metavar='N', help='run build jobs in parallel')
+@@ -709,7 +717,22 @@
+         command_line.extend(['-D', 'enable_unittest=0'])
+         break
+ 
++  localbase = options.localbase or '/usr'
++  command_line.extend(['-D', 'localbase=%s' % localbase])
+ 
++  ldflags = options.ldflags or ''
++  command_line.extend(['-D', 'ldflags=%s' % ldflags])
++  include_dirs = options.include_dirs or ''
++  command_line.extend(['-D', 'include_dirs=%s' % include_dirs])
++
++  openssl_cflags = options.openssl_cflags or ''
++  command_line.extend(['-D', 'openssl_cflags=%s' % openssl_cflags])
++  openssl_ldflags = options.openssl_cflags or ''
++  command_line.extend(['-D', 'openssl_ldflags=%s' % openssl_ldflags])
++  openssl_inc = options.openssl_inc or ''
++  command_line.extend(['-D', 'openssl_inc=%s' % openssl_inc])
++  openssl_lib = options.openssl_lib or ''
++  command_line.extend(['-D', 'openssl_lib=%s' % openssl_lib])
+ 
+   mac_dir = options.mac_dir or '../mac'
+   if not os.path.isabs(mac_dir):

Property changes on: japanese/mozc-server/files/patch-build_mozc.py
___________________________________________________________________
Added: fbsd:nokeywords
## -0,0 +1 ##
+yes
\ No newline at end of property
Index: japanese/mozc-server/files/patch-gui_about_dialog_about_dialog.cc
===================================================================
--- japanese/mozc-server/files/patch-gui_about_dialog_about_dialog.cc	(revision 317183)
+++ japanese/mozc-server/files/patch-gui_about_dialog_about_dialog.cc	(working copy)
@@ -1,11 +1,11 @@
---- gui/about_dialog/about_dialog.cc.orig	2013-04-21 03:48:45.446269666 +0900
-+++ gui/about_dialog/about_dialog.cc	2013-04-21 04:15:03.065269472 +0900
+--- gui/about_dialog/about_dialog.cc.orig	2013-03-29 13:33:58.000000000 +0900
++++ gui/about_dialog/about_dialog.cc	2013-04-27 15:16:49.000000000 +0900
 @@ -121,7 +121,11 @@
    SetLabelText(label_terms);
    SetLabelText(label_credits);
  
-+#ifdef __FreeBSD__
-+  product_image_.reset(new QImage("@@LOCALBASE@@/share/mozc-tool/icons/product_logo.png"));
++#ifdef OS_FREEBSD
++  product_image_.reset(new QImage(LOCALBASE "/share/mozc-tool/icons/product_logo.png"));
 +#else
    product_image_.reset(new QImage(":/product_logo.png"));
 +#endif
Index: japanese/mozc-server/files/patch-gyp_common.gypi
===================================================================
--- japanese/mozc-server/files/patch-gyp_common.gypi	(revision 317183)
+++ japanese/mozc-server/files/patch-gyp_common.gypi	(working copy)
@@ -1,32 +1,25 @@
---- gyp/common.gypi.orig	2013-04-21 03:48:45.395416165 +0900
-+++ gyp/common.gypi	2013-04-21 08:31:10.191270448 +0900
-@@ -58,7 +58,7 @@
-     # warning_cflags will be shared with Mac and Linux.
-     'warning_cflags': [
-       '-Wall',
--      '-Werror',
-+#      '-Werror',
-       '-Wno-char-subscripts',
-       '-Wno-sign-compare',
-       '-Wno-deprecated-declarations',
-@@ -194,7 +194,7 @@
-     # - http://code.google.com/p/protobuf/issues/detail?id=128
-     # - http://code.google.com/p/protobuf/issues/detail?id=370
-     # for the background information.
--    'use_libprotobuf%': 0,
-+    'use_libprotobuf%': 1,
- 
-     # use_libzinnia represents if zinnia library is used or not.
-     # This option is only for Linux.
-@@ -735,6 +735,12 @@
+--- gyp/common.gypi.orig	2013-03-29 13:33:42.000000000 +0900
++++ gyp/common.gypi	2013-04-28 17:38:16.000000000 +0900
+@@ -723,7 +723,9 @@
+       ['OS=="linux"', {
+         'defines': [
+           'OS_LINUX',
++          'OS_FREEBSD',
+           'MOZC_SERVER_DIRECTORY="<@(server_dir)"',
++          'LOCALBASE="<@(localbase)"',
+         ],
+         'cflags': [
+           '<@(warning_cflags)',
+@@ -735,6 +737,13 @@
            # <unordered_map> and <unordered_set>.
            '-Wno-deprecated',
          ],
 +        'include_dirs': [
-+          '@@LOCALBASE@@/include'
++          '<@(include_dirs)'
 +        ],
 +        'ldflags': [
-+          '-L@@LOCALBASE@@/lib'
++          '<@(ldflags)',
++	  '-fstack-protector',
 +        ],
          'conditions': [
            ['target_platform=="ChromeOS"', {
Index: japanese/mozc-server/files/patch-handwriting_zinnia_handwriting.cc
===================================================================
--- japanese/mozc-server/files/patch-handwriting_zinnia_handwriting.cc	(revision 317183)
+++ japanese/mozc-server/files/patch-handwriting_zinnia_handwriting.cc	(working copy)
@@ -1,19 +1,11 @@
---- handwriting/zinnia_handwriting.cc.orig	2013-04-21 03:48:52.166271231 +0900
-+++ handwriting/zinnia_handwriting.cc	2013-04-21 04:20:14.073270179 +0900
-@@ -49,10 +49,16 @@
-   const char kModelFile[] = "handwriting-light-ja.model";
-   return FileUtil::JoinPath(MacUtil::GetResourcesDirectory(), kModelFile);
+--- handwriting/zinnia_handwriting.cc.orig	2013-03-29 13:33:25.000000000 +0900
++++ handwriting/zinnia_handwriting.cc	2013-04-27 15:15:30.000000000 +0900
+@@ -51,7 +51,7 @@
  #elif defined(USE_LIBZINNIA)
-+#if defined(__FreeBSD__)
-+  const char kModelFile[] =
-+      "@@LOCALBASE@@/share/tegaki/models/zinnia/handwriting-ja.model";
-+  return kModelFile;
-+#else
    // On Linux, use the model for tegaki-zinnia.
    const char kModelFile[] =
-       "/usr/share/tegaki/models/zinnia/handwriting-ja.model";
+-      "/usr/share/tegaki/models/zinnia/handwriting-ja.model";
++      LOCALBASE "/share/tegaki/models/zinnia/handwriting-ja.model";
    return kModelFile;
-+#endif
  #else
    const char kModelFile[] = "handwriting-ja.model";
-   return FileUtil::JoinPath(SystemUtil::GetServerDirectory(), kModelFile);
Index: japanese/mozc-server/files/patch-ipc_ipc_path_manager.cc
===================================================================
--- japanese/mozc-server/files/patch-ipc_ipc_path_manager.cc	(revision 317183)
+++ japanese/mozc-server/files/patch-ipc_ipc_path_manager.cc	(working copy)
@@ -1,11 +1,11 @@
---- ipc/ipc_path_manager.cc.orig	2013-04-21 03:48:45.259273192 +0900
-+++ ipc/ipc_path_manager.cc	2013-04-21 04:20:12.800269260 +0900
+--- ipc/ipc_path_manager.cc.orig	2013-03-29 13:33:26.000000000 +0900
++++ ipc/ipc_path_manager.cc	2013-04-27 15:21:52.000000000 +0900
 @@ -276,7 +276,7 @@
    *ipc_name = kIPCPrefix;
  #endif  // OS_WIN
  
 -#ifdef OS_LINUX
-+#if defined(OS_LINUX) && !defined(__FreeBSD__)
++#if defined(OS_LINUX) && !defined(OS_FREEBSD)
    // On Linux, use abstract namespace which is independent of the file system.
    (*ipc_name)[0] = '\0';
  #endif
Index: japanese/mozc-server/files/patch-ipc_unix_ipc.cc
===================================================================
--- japanese/mozc-server/files/patch-ipc_unix_ipc.cc	(revision 317183)
+++ japanese/mozc-server/files/patch-ipc_unix_ipc.cc	(working copy)
@@ -1,10 +1,10 @@
---- ipc/unix_ipc.cc.orig	2013-04-21 03:48:45.257269513 +0900
-+++ ipc/unix_ipc.cc	2013-04-21 08:33:27.207272333 +0900
+--- ipc/unix_ipc.cc.orig	2013-03-29 13:33:26.000000000 +0900
++++ ipc/unix_ipc.cc	2013-04-27 15:23:08.000000000 +0900
 @@ -41,6 +41,9 @@
  #include <sys/time.h>
  #include <sys/types.h>
  #include <sys/un.h>
-+#if defined(OS_MACOSX) || defined(__FreeBSD__)
++#if defined(OS_MACOSX) || defined(OS_FREEBSD)
 +#include <sys/ucred.h>
 +#endif
  #include <sys/wait.h>
@@ -14,7 +14,7 @@
  bool IsPeerValid(int socket, pid_t *pid) {
    *pid = 0;
  
-+#if defined(OS_MACOSX) || defined(__FreeBSD__)
++#if defined(OS_MACOSX) || defined(OS_FREEBSD)
 +  // 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);
@@ -36,7 +36,7 @@
 +  *pid = 0;
 +#endif
 +
-+#if defined(OS_LINUX) && !defined(__FreeBSD__)
++#if defined(OS_LINUX) && !defined(OS_FREEBSD)
    // On ARM Linux, we do nothing and just return true since the platform
    // sometimes doesn't support the getsockopt(sock, SOL_SOCKET, SO_PEERCRED)
    // system call.
@@ -52,7 +52,7 @@
      address.sun_family = AF_UNIX;
      ::memcpy(address.sun_path, server_address.data(), server_address_length);
      address.sun_path[server_address_length] = '\0';
-+#if defined(OS_MACOSX) || defined(__FreeBSD__)
++#if defined(OS_MACOSX) || defined(OS_FREEBSD)
 +    address.sun_len = SUN_LEN(&address);
 +    const size_t sun_len = sizeof(address);
 +#else
@@ -65,7 +65,7 @@
                 SO_REUSEADDR,
                 reinterpret_cast<char *>(&on),
                 sizeof(on));
-+#if defined(OS_MACOSX) || defined(__FreeBSD__)
++#if defined(OS_MACOSX) || defined(OS_FREEBSD)
 +  addr.sun_len = SUN_LEN(&addr);
 +  const size_t sun_len = sizeof(addr);
 +#else
Index: japanese/mozc-server/files/patch-server_mozc_server.cc
===================================================================
--- japanese/mozc-server/files/patch-server_mozc_server.cc	(revision 317183)
+++ japanese/mozc-server/files/patch-server_mozc_server.cc	(working copy)
@@ -1,10 +1,10 @@
---- server/mozc_server.cc.orig	2013-04-21 03:48:44.841269792 +0900
-+++ server/mozc_server.cc	2013-04-21 04:14:37.821269328 +0900
+--- server/mozc_server.cc.orig	2013-03-29 13:33:26.000000000 +0900
++++ server/mozc_server.cc	2013-04-27 15:18:29.000000000 +0900
 @@ -32,6 +32,9 @@
  #ifdef OS_WIN
  #include <windows.h>
  #endif
-+#ifdef __FreeBSD__
++#ifdef OS_FREEBSD
 +#include <signal.h>
 +#endif
  
@@ -14,7 +14,7 @@
  mozc::SessionServer *g_session_server = NULL;
  }
  
-+#ifdef __FreeBSD__
++#ifdef OS_FREEBSD
 +static void sig_func(int num)
 +{
 +  VLOG(1) << "signal " << num << " recieved.";
@@ -38,7 +38,7 @@
        return -1;
      }
  
-+#ifdef __FreeBSD__
++#ifdef OS_FREEBSD
 +    ::signal(SIGINT, sig_func);
 +    ::signal(SIGHUP, sig_func);
 +    ::signal(SIGTERM, sig_func);
Index: japanese/mozc-server/files/patch-third_party_gyp_pylib_gyp_generator_make.py
===================================================================
--- japanese/mozc-server/files/patch-third_party_gyp_pylib_gyp_generator_make.py	(revision 317183)
+++ japanese/mozc-server/files/patch-third_party_gyp_pylib_gyp_generator_make.py	(working copy)
@@ -1,5 +1,14 @@
---- third_party/gyp/pylib/gyp/generator/make.py.orig	2013-04-21 03:48:44.552270209 +0900
-+++ third_party/gyp/pylib/gyp/generator/make.py	2013-04-21 04:16:32.828269137 +0900
+--- third_party/gyp/pylib/gyp/generator/make.py.orig	2013-02-26 11:59:54.000000000 +0900
++++ third_party/gyp/pylib/gyp/generator/make.py	2013-05-03 21:08:15.000000000 +0900
+@@ -259,7 +259,7 @@
+ #   export LINK=g++
+ #
+ # This will allow make to invoke N linker processes as specified in -jN.
+-LINK ?= %(flock)s $(builddir)/linker.lock $(CXX.target)
++LINK ?= $(CXX.target)
+ 
+ CC.target ?= %(CC.target)s
+ CFLAGS.target ?= $(CFLAGS)
 @@ -1956,6 +1956,9 @@
      srcdir_prefix = '$(srcdir)/'
  
@@ -10,3 +19,13 @@
    header_params = {
        'default_target': default_target,
        'builddir': builddir_name,
+@@ -2003,7 +2006,8 @@
+   build_file, _, _ = gyp.common.ParseQualifiedTarget(target_list[0])
+   make_global_settings_array = data[build_file].get('make_global_settings', [])
+   wrappers = {}
+-  wrappers['LINK'] = '%s $(builddir)/linker.lock' % flock_command
++  # Disable flock for linking.
++  # wrappers['LINK'] = '%s $(builddir)/linker.lock' % flock_command
+   for key, value in make_global_settings_array:
+     if key.endswith('_wrapper'):
+       wrappers[key[:-len('_wrapper')]] = '$(abspath %s)' % value
Index: japanese/mozc-server/files/patch-unix_emacs_mozc.el
===================================================================
--- japanese/mozc-server/files/patch-unix_emacs_mozc.el	(revision 0)
+++ japanese/mozc-server/files/patch-unix_emacs_mozc.el	(working copy)
@@ -0,0 +1,55 @@
+--- unix/emacs/mozc.el.orig	2013-03-29 13:33:43.000000000 +0900
++++ unix/emacs/mozc.el	2013-05-05 17:27:24.000000000 +0900
+@@ -1755,29 +1755,36 @@
+ 
+ (require 'mule)
+ 
+-(defun mozc-leim-activate (input-method)
++(defun mozc-leim-activate (&rest input-method)
+   "Activate mozc-mode via LEIM.
+ INPUT-METHOD is not used."
+-  (setq inactivate-current-input-method-function 'mozc-leim-inactivate)
++  (set
++    (if (boundp 'deactivate-current-input-method-function)
++        'deactivate-current-input-method-function
++      'inactivate-current-input-method-function)
++     'mozc-leim-deactivate)
+   (mozc-mode t))
+ 
+-(defun mozc-leim-inactivate ()
+-  "Inactivate mozc-mode via LEIM."
++(defun mozc-leim-deactivate ()
++  "Deactivate mozc-mode via LEIM."
+   (mozc-mode nil))
+ 
+-(defcustom mozc-leim-title "[Mozc]"
+-  "Mode line string shown when mozc-mode is enabled.
+-This indicator is not shown when you don't use LEIM."
+-  :type '(choice (const :tag "No indicator" nil)
+-                 (string :tag "Show an indicator"))
+-  :group 'mozc)
++;; Defined in leim-list.el
+ 
+-(register-input-method
+- "japanese-mozc"
+- "Japanese"
+- 'mozc-leim-activate
+- mozc-leim-title
+- "Japanese input method with Mozc/Google Japanese Input.")
++;; (defcustom mozc-leim-title "[Mozc]"
++;;  "Mode line string shown when mozc-mode is enabled.
++;; This indicator is not shown when you don't use LEIM."
++;;  :type '(choice (const :tag "No indicator" nil)
++;;                 (string :tag "Show an indicator"))
++;;  :group 'mozc)
++
++;;
++;; (register-input-method
++;;  "japanese-mozc"
++;;  "Japanese"
++;;  'mozc-leim-activate
++;;  mozc-leim-title
++;; "Japanese input method with Mozc/Google Japanese Input.")
+ 
+ 
+ 

Property changes on: japanese/mozc-server/files/patch-unix_emacs_mozc.el
___________________________________________________________________
Added: fbsd:nokeywords
## -0,0 +1 ##
+yes
\ No newline at end of property
Index: japanese/mozc-server/files/patch-unix_ibus_gen_mozc_xml.py
===================================================================
--- japanese/mozc-server/files/patch-unix_ibus_gen_mozc_xml.py	(revision 317183)
+++ japanese/mozc-server/files/patch-unix_ibus_gen_mozc_xml.py	(working copy)
@@ -1,43 +1,163 @@
---- unix/ibus/gen_mozc_xml.py.orig	2013-04-21 03:48:44.433270458 +0900
-+++ unix/ibus/gen_mozc_xml.py	2013-04-21 04:12:50.384269164 +0900
-@@ -41,6 +41,7 @@
- import os
- import subprocess
- import sys
-+import os
+--- unix/ibus/gen_mozc_xml.py.orig	2013-03-29 13:33:43.000000000 +0900
++++ unix/ibus/gen_mozc_xml.py	2013-04-28 20:40:28.000000000 +0900
+@@ -46,10 +46,10 @@
+ # a product name, 'Mozc' or 'Google Japanese Input'.
+ IBUS_COMPONENT_PROPS = {
+     'name': 'com.google.IBus.Mozc',
+-    'description': '%s Component',
++    'description': '%(product_name)s Component',
+     # TODO(yusukes): Support Linux distributions other than Gentoo/ChromeOS.
+     # For example, Ubuntu uses /usr/lib/ibus-mozc/.
+-    'exec': '/usr/libexec/ibus-engine-mozc --ibus',
++    'exec': '%(localbase)s/libexec/ibus-engine-mozc --ibus',
+     # TODO(mazda): Generate the version number.
+     'version': '0.0.0.0',
+     'author': 'Google Inc.',
+@@ -60,17 +60,17 @@
  
- # Information to generate <component> part of mozc.xml. %s will be replaced with
- # a product name, 'Mozc' or 'Google Japanese Input'.
-@@ -75,6 +76,32 @@
+ # Information to generate <engines> part of mozc.xml.
+ IBUS_ENGINE_COMMON_PROPS = {
+-    'description': '%s (Japanese Input Method)',
++    'description': '%(product_name)s (Japanese Input Method)',
+     'language': 'ja',
+-    'icon': '/usr/share/ibus-mozc/product_icon.png',
++    'icon': '%(localbase)s/share/ibus-mozc/icons/product_icon.png',
+     'rank': '80',
+ }
+ 
+ # Information to generate <engines> part of mozc.xml for IBus 1.5 or later.
+ IBUS_1_5_ENGINE_COMMON_PROPS = {
+-    'description': '%s (Japanese Input Method)',
++    'description': '%(product_name)s (Japanese Input Method)',
+     'language': 'ja',
+-    'icon': '/usr/share/ibus-mozc/product_icon.png',
++    'icon': '%(localbase)s/share/ibus-mozc/icons/product_icon.png',
+     'rank': '80',
      'symbol': '&#x3042;',
  }
+@@ -83,7 +83,7 @@
+         # DO NOT change the engine name 'mozc-jp'. The names is referenced by
+         # unix/ibus/mozc_engine.cc.
+         'name': ['mozc-jp'],
+-        'longname': ['%s'],
++        'longname': ['%(product_name)s'],
+         'layout': ['jp'],
+     },
+     # On Linux (IBus >= 1.5), we use special label 'default' for the keyboard
+@@ -92,7 +92,7 @@
+         # DO NOT change the engine name 'mozc-jp'. The names is referenced by
+         # unix/ibus/mozc_engine.cc.
+         'name': ['mozc-jp'],
+-        'longname': ['%s'],
++        'longname': ['%(product_name)s'],
+         'layout': ['default'],
+     },
+     # On Chrome/Chromium OS, we provide three engines.
+@@ -100,8 +100,8 @@
+         # DO NOT change the engine name 'mozc-jp'. The names is referenced by
+         # unix/ibus/mozc_engine.cc.
+         'name': ['mozc-jp', 'mozc', 'mozc-dv'],
+-        'longname': ['%s (Japanese keyboard layout)', '%s (US keyboard layout)',
+-                     '%s (US Dvorak keyboard layout)'],
++        'longname': ['%(product_name)s (Japanese keyboard layout)', '%(product_name)s (US keyboard layout)',
++                     '%(product_name)s (US Dvorak keyboard layout)'],
+         'layout': ['jp', 'us', 'us(dvorak)'],
+     },
+ }
+@@ -123,18 +123,11 @@
+ #endif  // %s"""
  
-+# Override for FreeBSD
-+if os.uname()[0] == 'FreeBSD':
-+  IBUS_COMPONENT_PROPS = {
-+    'name': 'com.google.IBus.Mozc',
-+    'description': '%s Component',
-+    'exec': '@@LOCALBASE@@/libexec/ibus-engine-mozc --ibus',
-+    'version': '0.0.0.0',
-+    'author': 'Google Inc.',
-+    'license': 'New BSD',
-+    'homepage': 'http://code.google.com/p/mozc/',
-+    'textdomain': 'ibus-mozc',
-+  }
-+  IBUS_ENGINE_COMMON_PROPS = {
-+    'description': '%s (Japanese Input Method)',
-+    'language': 'ja',
-+    'icon': '@@LOCALBASE@@/share/ibus-mozc/icons/product_logo.png',
-+    'rank': '0',
-+  }
-+  IBUS_1_5_ENGINE_COMMON_PROPS = {
-+    'description': '%s (Japanese Input Method)',
-+    'language': 'ja',
-+    'icon': '@@LOCALBASE@@/share/ibus-mozc/icons/product_logo.png',
-+    'rank': '80',
-+    'symbol': '&#x3042;',
-+  }
-+
- # A dictionary from --platform to engines that are used in the platform. The
- # information is used to generate <engines> part of mozc.xml.
- IBUS_ENGINES_PROPS = {
+ 
+-def EmbedProductName(product_name, format_string):
+-  if format_string.find('%s') != -1:
+-    return format_string % product_name
+-  return format_string
+-
+-
+-def OutputXmlElement(product_name, element_name, value):
+-  print '  <%s>%s</%s>' % (element_name, EmbedProductName(product_name, value),
+-                           element_name)
++def OutputXmlElement(element_name, value):
++  print '  <%s>%s</%s>' % (element_name, value, element_name)
+ 
+ 
+-def OutputXml(product_name, component, engine_common, engines, setup_arg):
++def OutputXml(product_name, component, engine_common, engines, setup_arg, localbase):
+   """Outputs a XML data for ibus-daemon.
+ 
+   Args:
+@@ -148,27 +141,25 @@
+   """
+   print '<component>'
+   for key in component:
+-    OutputXmlElement(product_name, key, component[key])
++    OutputXmlElement(key, component[key] % locals())
+   print '<engines>'
+   for i in range(len(engines['name'])):
+     print '<engine>'
+     for key in engine_common:
+-      OutputXmlElement(product_name, key, engine_common[key])
++      OutputXmlElement(key, engine_common[key] % locals())
+     if setup_arg:
+-      OutputXmlElement(product_name, 'setup', ' '.join(setup_arg))
++      OutputXmlElement('setup', ' '.join(setup_arg))
+     for key in engines:
+-      OutputXmlElement(product_name, key, engines[key][i])
++      OutputXmlElement(key, engines[key][i] % locals())
+     print '</engine>'
+   print '</engines>'
+   print '</component>'
+ 
+ 
+-def OutputCppVariable(product_name, prefix, variable_name, value):
+-  print 'const char k%s%s[] = "%s";' % (prefix, variable_name.capitalize(),
+-                                        EmbedProductName(product_name, value))
+-
++def OutputCppVariable(prefix, variable_name, value):
++  print 'const char k%s%s[] = "%s";' % (prefix, variable_name.capitalize(), value)
+ 
+-def OutputCpp(product_name, component, engine_common, engines):
++def OutputCpp(product_name, component, engine_common, engines, localbase):
+   """Outputs a C++ header file for mozc/unix/ibus/main.cc.
+ 
+   Args:
+@@ -180,13 +171,13 @@
+   guard_name = 'MOZC_UNIX_IBUS_MAIN_H_'
+   print CPP_HEADER % (guard_name, guard_name)
+   for key in component:
+-    OutputCppVariable(product_name, 'Component', key, component[key])
++    OutputCppVariable('Component', key, component[key] % locals())
+   for key in engine_common:
+-    OutputCppVariable(product_name, 'Engine', key, engine_common[key])
++    OutputCppVariable('Engine', key, engine_common[key] % locals())
+   for key in engines:
+     print 'const char* kEngine%sArray[] = {' % key.capitalize()
+     for i in range(len(engines[key])):
+-      print '"%s",' % EmbedProductName(product_name, engines[key][i])
++      print '"%s",' % engines[key][i] % locals()
+     print '};'
+   print 'const size_t kEngineArrayLen = %s;' % len(engines['name'])
+   print CPP_FOOTER % guard_name
+@@ -222,6 +213,7 @@
+   parser.add_option('--pkg_config_command', dest='pkg_config_command',
+                     default='pkg-config',
+                     help='The path to pkg-config command.')
++  parser.add_option('--localbase', dest='localbase')
+   (options, unused_args) = parser.parse_args()
+ 
+   setup_arg = []
+@@ -238,12 +230,12 @@
+   if options.output_cpp:
+     OutputCpp(PRODUCT_NAMES[options.branding], IBUS_COMPONENT_PROPS,
+               common_props,
+-              IBUS_ENGINES_PROPS[platform])
++              IBUS_ENGINES_PROPS[platform], options.localbase)
+   else:
+     OutputXml(PRODUCT_NAMES[options.branding], IBUS_COMPONENT_PROPS,
+               common_props,
+               IBUS_ENGINES_PROPS[platform],
+-              setup_arg)
++              setup_arg, options.localbase)
+   return 0
+ 
+ if __name__ == '__main__':
Index: japanese/mozc-server/files/patch-unix_ibus_ibus.gyp
===================================================================
--- japanese/mozc-server/files/patch-unix_ibus_ibus.gyp	(revision 0)
+++ japanese/mozc-server/files/patch-unix_ibus_ibus.gyp	(working copy)
@@ -0,0 +1,10 @@
+--- unix/ibus/ibus.gyp.orig	2013-04-27 19:26:29.000000000 +0900
++++ unix/ibus/ibus.gyp	2013-04-27 19:27:05.000000000 +0900
+@@ -134,6 +134,7 @@
+                 '--platform=Linux',
+                 '--branding=Mozc',
+                 '--server_dir=<(server_dir)',
++                '--localbase=<(localbase)',
+                 '--pkg_config_command=<(pkg_config_command)',
+               ],
+             }],

Property changes on: japanese/mozc-server/files/patch-unix_ibus_ibus.gyp
___________________________________________________________________
Added: fbsd:nokeywords
## -0,0 +1 ##
+yes
\ No newline at end of property
Index: japanese/mozc-server/files/patch-unix_ibus_mozc.xml
===================================================================
--- japanese/mozc-server/files/patch-unix_ibus_mozc.xml	(revision 317183)
+++ japanese/mozc-server/files/patch-unix_ibus_mozc.xml	(working copy)
@@ -1,24 +0,0 @@
---- unix/ibus/mozc.xml.orig	1970-01-01 09:00:00.000000000 +0900
-+++ unix/ibus/mozc.xml	2011-12-04 16:04:42.283606000 +0900
-@@ -0,0 +1,21 @@
-+<component>
-+  <name>com.google.IBus.Mozc</name>
-+  <description>Mozc Component</description>
-+  <exec>@@LOCALBASE@@/libexec/ibus-engine-mozc --ibus</exec>
-+  <version>0.0.0.0</version>
-+  <author>Google Inc.</author>
-+  <license>New BSD</license>
-+  <homepage>http://code.google.com/p/mozc/</homepage>
-+  <textdomain>ibus-mozc</textdomain>
-+  <engines>
-+    <engine>
-+      <rank>0</rank>
-+      <description>Mozc (Japanese Input Method)</description>
-+      <language>ja</language>
-+      <icon>@@LOCALBASE@@/share/ibus-mozc/icons/product_logo.png</icon>
-+      <layout>jp</layout>
-+      <name>mozc-jp</name>
-+      <longname>Mozc</longname>
-+    </engine>
-+  </engines>
-+</component>
Index: japanese/mozc-server/files/patch-unix_ibus_path_util.cc
===================================================================
--- japanese/mozc-server/files/patch-unix_ibus_path_util.cc	(revision 317183)
+++ japanese/mozc-server/files/patch-unix_ibus_path_util.cc	(working copy)
@@ -1,25 +1,11 @@
---- unix/ibus/path_util.cc.orig	2013-04-21 03:48:44.435272531 +0900
-+++ unix/ibus/path_util.cc	2013-04-21 04:12:51.235269303 +0900
-@@ -30,14 +30,22 @@
+--- unix/ibus/path_util.cc.orig	2013-03-29 13:33:43.000000000 +0900
++++ unix/ibus/path_util.cc	2013-04-27 15:42:28.000000000 +0900
+@@ -30,7 +30,7 @@
  #include "unix/ibus/path_util.h"
  
  namespace {
-+#ifdef __FreeBSD__
-+const char kInstalledDirectory[] = "@@LOCALBASE@@/share/ibus-mozc";
-+#else
- const char kInstalledDirectory[] = "/usr/share/ibus-mozc";
-+#endif
+-const char kInstalledDirectory[] = "/usr/share/ibus-mozc";
++const char kInstalledDirectory[] = LOCALBASE "/share/ibus-mozc/icons";
  }
  
  namespace mozc {
- namespace ibus {
- 
- string GetIconPath(const string &icon_file) {
-+#ifdef __FreeBSD__
-+  return string("@@LOCALBASE@@/share/ibus-mozc/icons/") + icon_file;
-+#else
-   return kInstalledDirectory + string("/") + icon_file;
-+#endif
- }
- 
- }  // namespace ibus
Index: japanese/mozc-tool/Makefile
===================================================================
--- japanese/mozc-tool/Makefile	(revision 317144)
+++ japanese/mozc-tool/Makefile	(working copy)
@@ -6,6 +6,7 @@
 #
 
 PKGNAMESUFFIX=	-tool
+
 COMMENT=	Mozc tool for IBus, SCIM, and others
 DATADIR=	${PREFIX}/share/${PORTNAME}${PKGNAMESUFFIX}
 
Index: japanese/fcitx-mozc/Makefile
===================================================================
--- japanese/fcitx-mozc/Makefile	(revision 317144)
+++ japanese/fcitx-mozc/Makefile	(working copy)
@@ -1,12 +1,8 @@
-# New ports collection makefile for:	fcitx-mozc
-# Date created:				22 May 2012
-# Whom:					Daichi GOTO <daichi@freebsd.org>
-#
+# Created by: Daichi GOTO <daichi@freebsd.org>
 # $FreeBSD$
-#
 
 PKGNAMEPREFIX=	ja-fcitx-
-PKGNAMESUFFIX=
+
 COMMENT=	Mozc engine for Fcitx
 DATADIR=	${PREFIX}/share/fcitx/${PORTNAME}
 
@@ -17,8 +13,4 @@
 
 BUILD_MOZC_LIST=	fcitx_mozc
 
-post-install:
-	@${CAT} ${PKGMESSAGE}
-	@${ECHO_CMD} To display this message again, type ${PKG_INFO} -D ${PKGNAME}
-
 .include "${MASTERDIR}/Makefile"
Index: japanese/ibus-mozc/Makefile
===================================================================
--- japanese/ibus-mozc/Makefile	(revision 317144)
+++ japanese/ibus-mozc/Makefile	(working copy)
@@ -1,12 +1,8 @@
-# New ports collection makefile for:	ibus-mozc
-# Date created:				22 May 2010
-# Whom:					Daichi GOTO <daichi@freebsd.org>
-#
+# Created by: Daichi GOTO <daichi@freebsd.org>
 # $FreeBSD$
-#
 
 PKGNAMEPREFIX=	ja-ibus-
-PKGNAMESUFFIX=
+
 COMMENT=	Mozc engine for IBus
 DATADIR=	${PREFIX}/share/ibus-${PORTNAME}
 
@@ -15,8 +11,4 @@
 
 BUILD_MOZC_LIST=	ibus_mozc
 
-post-install:
-	@${CAT} ${PKGMESSAGE}
-	@${ECHO_CMD} To display this message again, type ${PKG_INFO} -D ${PKGNAME}
-
 .include "${MASTERDIR}/Makefile"
