Sat Feb 10 02:20:19 2024 UTC (106d)
inputmethod/uim-mozc: Update to 2.29.5268.102

* Sync with mozc 2.29.5268.102.


(ryoon)
diff -r1.72 -r1.73 pkgsrc/inputmethod/uim-mozc/Makefile
diff -r0 -r1.1 pkgsrc/inputmethod/uim-mozc/Makefile.common
diff -r0 -r1.3 pkgsrc/inputmethod/uim-mozc/distinfo
diff -r0 -r1.1 pkgsrc/inputmethod/uim-mozc/patches/patch-WORKSPACE.bazel
diff -r0 -r1.1 pkgsrc/inputmethod/uim-mozc/patches/patch-base_cpu__stats.cc
diff -r0 -r1.1 pkgsrc/inputmethod/uim-mozc/patches/patch-base_file_recursive.cc
diff -r0 -r1.1 pkgsrc/inputmethod/uim-mozc/patches/patch-base_logging.cc
diff -r0 -r1.1 pkgsrc/inputmethod/uim-mozc/patches/patch-base_password__manager.cc
diff -r0 -r1.1 pkgsrc/inputmethod/uim-mozc/patches/patch-base_port.h
diff -r0 -r1.1 pkgsrc/inputmethod/uim-mozc/patches/patch-base_process.cc
diff -r0 -r1.1 pkgsrc/inputmethod/uim-mozc/patches/patch-base_system__util.cc
diff -r0 -r1.1 pkgsrc/inputmethod/uim-mozc/patches/patch-base_system__util__test.cc
diff -r0 -r1.1 pkgsrc/inputmethod/uim-mozc/patches/patch-bazel_pkg__config__repository.bzl
diff -r0 -r1.1 pkgsrc/inputmethod/uim-mozc/patches/patch-client_client.cc
diff -r0 -r1.1 pkgsrc/inputmethod/uim-mozc/patches/patch-config.bzl
diff -r0 -r1.1 pkgsrc/inputmethod/uim-mozc/patches/patch-config_stats__config__util__test.cc
diff -r0 -r1.1 pkgsrc/inputmethod/uim-mozc/patches/patch-gui_config__dialog_config__dialog.cc
diff -r0 -r1.1 pkgsrc/inputmethod/uim-mozc/patches/patch-gui_config__dialog_keybinding__editor.cc
diff -r0 -r1.1 pkgsrc/inputmethod/uim-mozc/patches/patch-gui_config__dialog_keymap__editor.cc
diff -r0 -r1.1 pkgsrc/inputmethod/uim-mozc/patches/patch-gui_dictionary__tool_dictionary__tool.cc
diff -r0 -r1.1 pkgsrc/inputmethod/uim-mozc/patches/patch-gui_word__register__dialog_word__register__dialog.cc
diff -r0 -r1.1 pkgsrc/inputmethod/uim-mozc/patches/patch-ipc_ipc__path__manager.cc
diff -r0 -r1.1 pkgsrc/inputmethod/uim-mozc/patches/patch-ipc_unix__ipc.cc
diff -r0 -r1.1 pkgsrc/inputmethod/uim-mozc/patches/patch-session_session.cc
diff -r0 -r1.1 pkgsrc/inputmethod/uim-mozc/patches/patch-session_session__handler__scenario__test.cc
diff -r0 -r1.1 pkgsrc/inputmethod/uim-mozc/patches/patch-session_session__test.cc
diff -r0 -r1.1 pkgsrc/inputmethod/uim-mozc/patches/patch-third__party_abseil-cpp_absl_base_internal_raw__logging.cc
diff -r0 -r1.1 pkgsrc/inputmethod/uim-mozc/patches/patch-third__party_protobuf_toolchain_cc__toolchain__config.bzl

cvs diff -r1.72 -r1.73 pkgsrc/inputmethod/uim-mozc/Makefile (expand / switch to unified diff)

--- pkgsrc/inputmethod/uim-mozc/Makefile 2024/01/01 16:05:23 1.72
+++ pkgsrc/inputmethod/uim-mozc/Makefile 2024/02/10 02:20:18 1.73
@@ -1,52 +1,49 @@ @@ -1,52 +1,49 @@
1# $NetBSD: Makefile,v 1.72 2024/01/01 16:05:23 ryoon Exp $ 1# $NetBSD: Makefile,v 1.73 2024/02/10 02:20:18 ryoon Exp $
2 2
3PKGNAME= uim-${DISTNAME} 3PKGNAME= ${DISTNAME:S/mozc-/uim-mozc-/}
4PKGREVISION= 24 
5 4
6CONFLICTS+= ibus-mozc<=1.13.1651.102 5TOOL_DEPENDS+= bazel-[0-9]*:../../devel/bazel
7 6
8INSTALLATION_DIRS+= lib/uim/plugin share/uim/pixmaps 7INSTALLATION_DIRS+= lib/uim/plugin share/uim/pixmaps
9 8
10DEPENDS+= xdg-utils-[0-9]*:../../misc/xdg-utils 
11DEPENDS+= mozc-renderer-[0-9]*:../../inputmethod/mozc-renderer 
12DEPENDS+= mozc-server-[0-9]*:../../inputmethod/mozc-server 
13DEPENDS+= mozc-tool-[0-9]*:../../inputmethod/mozc-tool 
14 
15SUBST_CLASSES+= mozc_tool 
16SUBST_STAGE.mozc_tool= pre-configure 
17SUBST_MESSAGE.mozc_tool= Fixing mozc_tool path 
18SUBST_FILES.mozc_tool= scm/mozc-custom.scm 
19SUBST_SED.mozc_tool= -e 's,/usr/lib/mozc/mozc_tool,${PREFIX}/libexec/mozc_tool,g' 
20 
21post-patch: 
22 mv ${WRKSRC}/unix/uim/scm ${WRKSRC}/scm 
23 
24do-build: 9do-build:
25 cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} \ 10 cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} \
26 ${PYTHONBIN} build_mozc.py build -c ${MOZC_BUILD_MODE} \ 11 ${PREFIX}/bin/bazel \
27 unix/uim/uim.gyp:uim-mozc 12 --output_user_root=${WRKDIR}/bazel \
 13 --client_debug \
 14 build \
 15 unix/uim:uim-mozc \
 16 --host_action_env=CWRAPPERS_CONFIG_DIR=${CWRAPPERS_CONFIG_DIR} \
 17 --action_env=CWRAPPERS_CONFIG_DIR=${CWRAPPERS_CONFIG_DIR} \
 18 --host_action_env=PATH=${PATH} \
 19 --action_env=PATH=${PATH} \
 20 --sandbox_debug \
 21 --verbose_failures \
 22 --subcommands \
 23 --config oss_linux --compilation_mode opt \
 24 --experimental_cc_shared_library
28 25
29do-install: 26do-install:
30 ${INSTALL_PROGRAM} ${WRKSRC}/out_${OSDEST}/${MOZC_BUILD_MODE}/libuim-mozc.so \ 27 ${INSTALL_PROGRAM} ${WRKSRC}/bazel-out/${OSDEST}/bin/unix/uim/libuim-mozc.so \
31 ${DESTDIR}${PREFIX}/lib/uim/plugin 28 ${DESTDIR}${PREFIX}/lib/uim/plugin/libuim-mozc.so
32 ${INSTALL_DATA} ${WRKSRC}/data/images/unix/ime_product_icon_opensource-32.png \ 29 ${INSTALL_DATA} ${WRKSRC}/data/images/unix/ime_product_icon_opensource-32.png \
33 ${DESTDIR}${PREFIX}/share/uim/pixmaps/mozc.png 30 ${DESTDIR}${PREFIX}/share/uim/pixmaps/mozc.png
34 ${INSTALL_DATA} ${WRKSRC}/data/images/unix/ui-tool.png \ 31 ${INSTALL_DATA} ${WRKSRC}/data/images/unix/ui-tool.png \
35 ${DESTDIR}${PREFIX}/share/uim/pixmaps/mozc_tool_selector.png 32 ${DESTDIR}${PREFIX}/share/uim/pixmaps/mozc_tool_selector.png
36 ${INSTALL_DATA} ${WRKSRC}/data/images/unix/ui-properties.png \ 33 ${INSTALL_DATA} ${WRKSRC}/data/images/unix/ui-properties.png \
37 ${DESTDIR}${PREFIX}/share/uim/pixmaps/mozc_tool_config_dialog.png 34 ${DESTDIR}${PREFIX}/share/uim/pixmaps/mozc_tool_config_dialog.png
38 ${INSTALL_DATA} ${WRKSRC}/data/images/unix/ui-dictionary.png \ 35 ${INSTALL_DATA} ${WRKSRC}/data/images/unix/ui-dictionary.png \
39 ${DESTDIR}${PREFIX}/share/uim/pixmaps/mozc_tool_dictionary_tool.png 36 ${DESTDIR}${PREFIX}/share/uim/pixmaps/mozc_tool_dictionary_tool.png
40 ${INSTALL_DATA} ${WRKSRC}/scm/mozc-custom.scm \ 37 ${INSTALL_DATA} ${WRKSRC}/uim/Mozc/scm/mozc-custom.scm \
41 ${DESTDIR}${PREFIX}/share/uim 38 ${DESTDIR}${PREFIX}/share/uim
42 ${INSTALL_DATA} ${WRKSRC}/scm/mozc-key-custom.scm \ 39 ${INSTALL_DATA} ${WRKSRC}/uim/Mozc/scm/mozc-key-custom.scm \
43 ${DESTDIR}${PREFIX}/share/uim 40 ${DESTDIR}${PREFIX}/share/uim
44 ${INSTALL_DATA} ${WRKSRC}/scm/mozc.scm \ 41 ${INSTALL_DATA} ${WRKSRC}/uim/Mozc/scm/mozc.scm \
45 ${DESTDIR}${PREFIX}/share/uim 42 ${DESTDIR}${PREFIX}/share/uim
46 43
47UIM_MODULES= mozc 44UIM_MODULES= mozc
48.include "../../inputmethod/uim/modules.mk" 45.include "../../inputmethod/uim/modules.mk"
49 46
50.include "../../inputmethod/uim/buildlink3.mk" 47.include "../../inputmethod/uim/buildlink3.mk"
51.include "../../inputmethod/mozc-server/Makefile.common" 48.include "../../inputmethod/uim-mozc/Makefile.common"
52.include "../../mk/bsd.pkg.mk" 49.include "../../mk/bsd.pkg.mk"

File Added: pkgsrc/inputmethod/uim-mozc/Makefile.common
# $NetBSD: Makefile.common,v 1.1 2024/02/10 02:20:18 ryoon Exp $

# used by inputmethod/uim-mozc/Makefile

DISTNAME=	mozc-2.29.5268.102
CATEGORIES=	inputmethod
MASTER_SITES=	${MASTER_SITE_GITHUB:=google/}
GITHUB_PROJECT=	mozc
GITHUB_TAG=	${PKGVERSION_NOREV}

MAINTAINER=	ryoon@NetBSD.org
HOMEPAGE=	https://github.com/google/mozc/
COMMENT=	Japanese inputmethod Mozc engine
LICENSE=	modified-bsd

GITHUB_SUBMODULES+=	google breakpad 216cea7bca53fa441a3ee0d0f5fd339a3a894224 third_party/breakpad
GITHUB_SUBMODULES+=	google googletest 58d77fa8070e8cec2dc1ed015d66b454c8d78850 third_party/gtest
GITHUB_SUBMODULES+=	chromium gyp 9ecf45e37677743503342ee4c6a76eaee80e4a7f third_party/gyp
GITHUB_SUBMODULES+=	hiroyuki-komatsu japanese-usage-dictionary e5b3425575734c323e1d947009dd74709437b684 third_party/japanese_usage_dictionary
GITHUB_SUBMODULES+=	protocolbuffers protobuf 54a2e5caa9d1a0a714fb2aa99753a1444414292a third_party/protobuf
GITHUB_SUBMODULES+=	abseil abseil-cpp c2435f8342c2d0ed8101cb43adfd605fdc52dca2 third_party/abseil-cpp
GITHUB_SUBMODULES+=	microsoft wil fc5dbf55989fe20351c71d038a8d12de4b397a6d third_party/wil
GITHUB_SUBMODULES+=	e-kato macuim 7beac7ba000e0459a4dc933f3873b521664d2665 uim

DISTFILES+=	${DEFAULT_DISTFILES}

EXTRACT_ONLY=	${DEFAULT_DISTFILES} ${_GITHUB_DEFAULT_DISTFILES}

MOZC_DISTS+=		uim-mozc_BUILD.bazel-2.29.5268.102
SITES.uim-mozc_BUILD.bazel-2.29.5268.102+=	-https://aur.archlinux.org/cgit/aur.git/plain/BUILD.bazel?h=uim-mozc&id=4e4d6df2a67f754d8ba68c21d32bc303f76db20a

MOZC_DISTS+=	uim-mozc_mozc.patch-2.29.5268.102
SITES.uim-mozc_mozc.patch-2.29.5268.102+=	-https://aur.archlinux.org/cgit/aur.git/plain/mozc.patch?h=uim-mozc&id=4e4d6df2a67f754d8ba68c21d32bc303f76db20a

MOZC_DISTS+=	uim-mozc_bazel.patch-2.29.5268.102
SITES.uim-mozc_bazel.patch-2.29.5268.102+=	-https://aur.archlinux.org/cgit/aur.git/plain/bazel.patch?h=uim-mozc&id=4e4d6df2a67f754d8ba68c21d32bc303f76db20a

.for d in ${MOZC_DISTS}
DISTFILES+=	${d}
.endfor

WRKSRC=		${WRKDIR}/${DISTNAME}/src

PYTHON_VERSIONS_INCOMPATIBLE+=	27

USE_LANGUAGES=	c c++
USE_TOOLS+=	pkg-config

USE_CXX_FEATURES+=	c++14

TOOL_DEPENDS+=		bazel-[0-9]*:../../devel/bazel

SUBST_CLASSES+=		prefix
SUBST_STAGE.prefix=	pre-configure
SUBST_MESSAGE.prefix=	Setting PREFIX
SUBST_FILES.prefix+=	base/process.cc
SUBST_FILES.prefix+=	base/system_util.cc
SUBST_FILES.prefix+=	third_party/protobuf/toolchain/cc_toolchain_config.bzl
SUBST_FILES.prefix+=	config.bzl
SUBST_VARS.prefix+=	PREFIX
SUBST_VARS.prefix+=	X11BASE

.include "../../mk/bsd.prefs.mk"

OPSYSVARS+=	OSDEST
OSDEST.Linux=	linux-opt
OSDEST.NetBSD=	netbsd-opt

CHECK_PIE_SUPPORTED=	no
post-patch:
	${CP} -rf ${WRKSRC}/uim/Mozc/uim ${WRKSRC}/unix/uim

pre-configure:
	${MKDIR} ${WRKSRC}/dist
.for d in ${MOZC_DISTS}
	${LN} -sf ${DISTDIR}/${d} ${WRKSRC}/dist/${d}
.endfor
	${RM} -rf ${WRKDIR}/.cwrapper
.for f in ${MOZC_DISTS}
	cd ${WRKSRC} && \
	${LN} -sf ${DISTDIR}/${f} ${f}
.endfor
	${LN} -sf ${DISTDIR}/uim-mozc_BUILD.bazel-2.29.5268.102 \
		${WRKSRC}/unix/uim/BUILD.bazel
	cd ${WRKSRC}/.. && \
		${PATCH} < ${WRKSRC}/uim-mozc_mozc.patch-2.29.5268.102 && \
		${PATCH} -p1 < ${WRKSRC}/uim-mozc_bazel.patch-2.29.5268.102


.if empty(PKGPATH:Minputmethod/mozc-server)
.include "../../graphics/MesaLib/buildlink3.mk"
.include "../../x11/qt6-qtbase/buildlink3.mk"
.endif

# devel/bazel can use clang only for C/C++ projects.
BUILDLINK_DEPMETHOD.clang=	build
.include "../../lang/clang/buildlink3.mk"

.include "../../lang/python/tool.mk"
.include "../../mk/atomic64.mk"

File Added: pkgsrc/inputmethod/uim-mozc/distinfo
$NetBSD: distinfo,v 1.3 2024/02/10 02:20:18 ryoon Exp $

BLAKE2s (abseil-abseil-cpp-c2435f8342c2d0ed8101cb43adfd605fdc52dca2.tar.gz) = 00ebf72f25bc06218db107c4bcf3d471c4e015394285658a8a840e5c5643674d
SHA512 (abseil-abseil-cpp-c2435f8342c2d0ed8101cb43adfd605fdc52dca2.tar.gz) = e84f7d84b39fe2c68626da0bf0f1a50d1edcfda321739be0cba8d27758caf0962ff918afdd15ea109ae81e5a167ac0bea769f8780ff9b7517ff5807ca3a0880d
Size (abseil-abseil-cpp-c2435f8342c2d0ed8101cb43adfd605fdc52dca2.tar.gz) = 2120347 bytes
BLAKE2s (chromium-gyp-9ecf45e37677743503342ee4c6a76eaee80e4a7f.tar.gz) = ed98efdbceffd7f4d178db312bb90024228f449bb2445193a50d259af4922233
SHA512 (chromium-gyp-9ecf45e37677743503342ee4c6a76eaee80e4a7f.tar.gz) = 961259c270471524ac371310460ca0fc34cec1cc57f6604915a6771be5f577420a7f1ddccb0d865fb94f5fb1516e0cdbb7f74d05252c5c3782d2b8fe7bf6f7df
Size (chromium-gyp-9ecf45e37677743503342ee4c6a76eaee80e4a7f.tar.gz) = 630462 bytes
BLAKE2s (e-kato-macuim-7beac7ba000e0459a4dc933f3873b521664d2665.tar.gz) = 7849f8445397f6f9bcbec9a97a4bc6a6fed35b9b9fff5b4b78806a2f80b69e1a
SHA512 (e-kato-macuim-7beac7ba000e0459a4dc933f3873b521664d2665.tar.gz) = b7a1ee3fe465d890258e7cf6404e52ab8d93636d3d55c15ff25bc7d937f59515c4bf34dc848c49bd23be6145d411bf9366ee7effeb001504b03bbe8011b1904d
Size (e-kato-macuim-7beac7ba000e0459a4dc933f3873b521664d2665.tar.gz) = 324855 bytes
BLAKE2s (google-breakpad-216cea7bca53fa441a3ee0d0f5fd339a3a894224.tar.gz) = 9ad9f07697109ee2bf795c327bef55c0d7de9ecdf25a04c999ac3a542904607e
SHA512 (google-breakpad-216cea7bca53fa441a3ee0d0f5fd339a3a894224.tar.gz) = 6c7c667349c1b8e5509ba3a4a78873b87d1f1decefbd01e916e4b34497518c53c418ff5eaf88c9c9ef1815c8ee75112f876eebca4222ebb372fe6e5c2f5ab948
Size (google-breakpad-216cea7bca53fa441a3ee0d0f5fd339a3a894224.tar.gz) = 5276094 bytes
BLAKE2s (google-googletest-58d77fa8070e8cec2dc1ed015d66b454c8d78850.tar.gz) = 975854728adcbc9b8f8642b2d484529024b2f9459a81769bba39b0cc74565f5a
SHA512 (google-googletest-58d77fa8070e8cec2dc1ed015d66b454c8d78850.tar.gz) = d8153c426e4f9c89a74721cc4a24dfcaf319810f4f10aa25fc972f99da2d96d66bc840cf2f51b756fef6b1ca47e8d2c8633f5862cc24e34d57309ad48802124a
Size (google-googletest-58d77fa8070e8cec2dc1ed015d66b454c8d78850.tar.gz) = 855887 bytes
BLAKE2s (hiroyuki-komatsu-japanese-usage-dictionary-e5b3425575734c323e1d947009dd74709437b684.tar.gz) = 41a7c5d9cc2ffcce85239a416580d4595c129e7aca00316462e387b205183d07
SHA512 (hiroyuki-komatsu-japanese-usage-dictionary-e5b3425575734c323e1d947009dd74709437b684.tar.gz) = b7e997a979b6d50e49b9af5dc830ea4df0532f6ab1321b9ef14983f65bb54f1b2967375c82e07957ae7693ebbf43c9b56ecea6bfea8dd1fdaee444bd549d83a7
Size (hiroyuki-komatsu-japanese-usage-dictionary-e5b3425575734c323e1d947009dd74709437b684.tar.gz) = 71051 bytes
BLAKE2s (microsoft-wil-fc5dbf55989fe20351c71d038a8d12de4b397a6d.tar.gz) = bd4eed4a97519b07fc1ac749e92058425232bff17796425b7469a065d3e2e7ce
SHA512 (microsoft-wil-fc5dbf55989fe20351c71d038a8d12de4b397a6d.tar.gz) = 59548723d25e6f3c4a0f750d9874b06a487c15afb9cc9fa3a7a5290cbf79ea42cf36b9906c73dc56c566736141819d7a020b7a3d793724df83a9de5bc61ef674
Size (microsoft-wil-fc5dbf55989fe20351c71d038a8d12de4b397a6d.tar.gz) = 520155 bytes
BLAKE2s (mozc-2.29.5268.102.tar.gz) = d01da00f8d8c4bb0e14188fab66d05cd3dd3097ee5803fea7c7dfff4927e2caf
SHA512 (mozc-2.29.5268.102.tar.gz) = 1b3586659044fabad5eec151e885c6781d00af8c345e2e8768aceaacfdcdce01651d08d854cbcd079e6f1f75743e305316b2f410c3d8049c23880a7e0f620d0c
Size (mozc-2.29.5268.102.tar.gz) = 38277685 bytes
BLAKE2s (protocolbuffers-protobuf-54a2e5caa9d1a0a714fb2aa99753a1444414292a.tar.gz) = 4c142ebd4c669862e2a68ec2c90db0b9d1b17a74d9dbc379f994b01b5a84aaa1
SHA512 (protocolbuffers-protobuf-54a2e5caa9d1a0a714fb2aa99753a1444414292a.tar.gz) = 05d4c987e790dc1180b1e3555de52fa7b52866b2dea2dff5fca1398edd4a39c32611e7bc074df9749a06bcf2e9ee338379329900b01bc7f3c8caff55412e06ed
Size (protocolbuffers-protobuf-54a2e5caa9d1a0a714fb2aa99753a1444414292a.tar.gz) = 5185168 bytes
BLAKE2s (uim-mozc_BUILD.bazel-2.29.5268.102) = 567bfa06adf3dcf63b870763af53b7c99ecaabe3b7bea8f533ef321517b8b1dc
SHA512 (uim-mozc_BUILD.bazel-2.29.5268.102) = 268ea6416e3faf0880cca256d243c7fb4d3182aa2b922990a431548cbe7a2a290f8c3048d4f51a48851c652a2d69fac0737d3f02795cf2c3f6dd30f6ab21fb30
Size (uim-mozc_BUILD.bazel-2.29.5268.102) = 2544 bytes
BLAKE2s (uim-mozc_bazel.patch-2.29.5268.102) = 84e8c28f9672dfddadde4689f736d20da50780b10066ec55d947f81afe61c1f7
SHA512 (uim-mozc_bazel.patch-2.29.5268.102) = 75d648369bdb1efbd81e10aa37adc8ee491b137db97fae3c015536858ca799324eae5846dc4f75a788ffdf4c8f13794c27ed57139c395b90d9f1ef2114dc6fec
Size (uim-mozc_bazel.patch-2.29.5268.102) = 669 bytes
BLAKE2s (uim-mozc_mozc.patch-2.29.5268.102) = 49a57cb4393d6a42eb8ea0a3d6f52947ae390185864911dd55124f4b44296f2a
SHA512 (uim-mozc_mozc.patch-2.29.5268.102) = f04f49c8cd6397985b52447fec34376012b07e0940277a571ab50080710c7d13ceaf8f1bcdcd18e6ff684469443330cbcc66b469961101f028966aa203a39cff
Size (uim-mozc_mozc.patch-2.29.5268.102) = 2321 bytes
SHA1 (patch-WORKSPACE.bazel) = 10a4b9321943152c7ed00148630eff5409e13ae1
SHA1 (patch-base_cpu__stats.cc) = 7e057385f271f7fa14a761d11b9a9663c5ab39b3
SHA1 (patch-base_file_recursive.cc) = 9c6f5a2db32a757fa72b6a86d51e50f09fe9b38e
SHA1 (patch-base_logging.cc) = dbf245a2d3869db3d5c930e9a1ccc581bb7cf216
SHA1 (patch-base_password__manager.cc) = 71469a4ea2b7ba97d4bb105bd7f443ffdb4a027e
SHA1 (patch-base_port.h) = c17c6057d26b91536b78047b85ad860e4cf56c83
SHA1 (patch-base_process.cc) = 65a4aa23cc13dd3d85fc8d7b58058068e930829f
SHA1 (patch-base_system__util.cc) = 893cac24fbdd1fa5ff02a1cb6f6ca2539021c8f7
SHA1 (patch-base_system__util__test.cc) = 0195f3bd34d695ff047bf44152923cdcbc6e61f1
SHA1 (patch-bazel_pkg__config__repository.bzl) = 1f0be3d001e14af31e75052aa6e3e1c8b31b12c3
SHA1 (patch-client_client.cc) = 2094c8d9fa9c3806fc343373ac34b7cfd441c1e8
SHA1 (patch-config.bzl) = 2c35cc8a89ecda745604911b0430df4834548bc3
SHA1 (patch-config_stats__config__util__test.cc) = a51e1c239c54c406b21375be526facf29d924c53
SHA1 (patch-gui_config__dialog_config__dialog.cc) = b7761985e9150da19deeeda9b751d6e65d488071
SHA1 (patch-gui_config__dialog_keybinding__editor.cc) = a2e22f214f943c9d91b091432749f24900675f94
SHA1 (patch-gui_config__dialog_keymap__editor.cc) = 12671f74b38944f908c20a48bae8e83f140732e8
SHA1 (patch-gui_dictionary__tool_dictionary__tool.cc) = eeb6427662b121dfd0fe5cf09b8d3eba4cdc6cd2
SHA1 (patch-gui_word__register__dialog_word__register__dialog.cc) = b90573e75df98a477441bb992722b5dba060b016
SHA1 (patch-ipc_ipc__path__manager.cc) = 1366d8a7258fbe0268f032540bd1dc5edfd350bf
SHA1 (patch-ipc_unix__ipc.cc) = 8ab319397184fed222bc597c6494db65e46066f1
SHA1 (patch-session_session.cc) = 4f2629d6831c2f1caf00f7bcc2b5a377c3db50d3
SHA1 (patch-session_session__handler__scenario__test.cc) = 7f879d70aa88c4a512f1342b16cfd7d8c0c1eec7
SHA1 (patch-session_session__test.cc) = da2d7033d8c3a68c1cf154f4e17a3642f34bcfb3
SHA1 (patch-third__party_abseil-cpp_absl_base_internal_raw__logging.cc) = 26e9978a2b131c935f57e54d5fdd99bc71aa9c82
SHA1 (patch-third__party_protobuf_toolchain_cc__toolchain__config.bzl) = 5ffa624bc7ba6a195f7f6206dc1513c090d18719

File Added: pkgsrc/inputmethod/uim-mozc/patches/patch-WORKSPACE.bazel
$NetBSD: patch-WORKSPACE.bazel,v 1.1 2024/02/10 02:20:18 ryoon Exp $

--- WORKSPACE.bazel.orig	2023-10-26 12:00:50.000000000 +0000
+++ WORKSPACE.bazel
@@ -118,7 +128,7 @@ new_local_repository(
 # Qt for Linux
 pkg_config_repository(
   name = "qt_linux",
-  packages = ["Qt6Core", "Qt6Gui", "Qt6Widgets"],
+  packages = ["Qt6Core", "Qt6Gui", "Qt6Widgets", "Qt6OpenGL", "gl"],
 )
 
 # Qt for macOS

File Added: pkgsrc/inputmethod/uim-mozc/patches/patch-base_cpu__stats.cc
$NetBSD: patch-base_cpu__stats.cc,v 1.1 2024/02/10 02:20:18 ryoon Exp $

--- base/cpu_stats.cc.orig	2023-10-26 12:00:50.000000000 +0000
+++ base/cpu_stats.cc
@@ -116,7 +116,7 @@ float CPUStats::GetSystemCPULoad() {
 
 #endif  // __APPLE__
 
-#if defined(__linux__) || defined(__wasm__)
+#if defined(__linux__) || defined(__wasm__) || defined(__NetBSD__)
   // NOT IMPLEMENTED
   // TODO(taku): implement Linux version
   // can take the info from /proc/stats
@@ -169,7 +169,7 @@ float CPUStats::GetCurrentProcessCPULoad
                              TimeValueTToInt64(task_times_info.system_time);
 #endif  // __APPLE__
 
-#if defined(__linux__) || defined(__wasm__)
+#if defined(__linux__) || defined(__wasm__) || defined(__NetBSD__)
   // not implemented
   const uint64_t total_times = 0;
   const uint64_t cpu_times = 0;
@@ -200,7 +200,7 @@ size_t CPUStats::GetNumberOfProcessors()
   return static_cast<size_t>(basic_info.avail_cpus);
 #endif  // __APPLE__
 
-#if defined(__linux__) || defined(__wasm__)
+#if defined(__linux__) || defined(__wasm__) || defined(__NetBSD__)
   // Not implemented
   return 1;
 #endif  // __linux__ || __wasm__

File Added: pkgsrc/inputmethod/uim-mozc/patches/patch-base_file_recursive.cc
$NetBSD: patch-base_file_recursive.cc,v 1.1 2024/02/10 02:20:18 ryoon Exp $

--- base/file/recursive.cc.orig	2023-10-26 12:00:50.000000000 +0000
+++ base/file/recursive.cc
@@ -105,7 +105,8 @@ void UnlinkFileOrLog(const char *path) {
 }  // namespace
 
 #if (defined(__linux__) && !defined(__ANDROID__)) || \
-    (defined(TARGET_OS_OSX) && TARGET_OS_OSX)
+    (defined(TARGET_OS_OSX) && TARGET_OS_OSX) || \
+    defined(__NetBSD__)
 
 absl::Status DeleteRecursively(const zstring_view path) {
   // fts is not POSIX, but it's available on both Linux and MacOS.

File Added: pkgsrc/inputmethod/uim-mozc/patches/patch-base_logging.cc
$NetBSD: patch-base_logging.cc,v 1.1 2024/02/10 02:20:18 ryoon Exp $

--- base/logging.cc.orig	2023-10-26 12:00:50.000000000 +0000
+++ base/logging.cc
@@ -114,10 +114,10 @@ std::string Logging::GetLogMessageHeader
 #if defined(__wasm__)
   return absl::StrCat(timestamp, ::getpid(), " ",
                       static_cast<unsigned int>(pthread_self()));
-#elif defined(__linux__)
+#elif defined(__linux__) || defined(__NetBSD__)
   return absl::StrCat(timestamp, ::getpid(), " ",
                       // It returns unsigned long.
-                      pthread_self());
+                      (unsigned long)pthread_self());
 #elif defined(__APPLE__)
 #ifdef __LP64__
   return absl::StrCat(timestamp, ::getpid(), " ",

File Added: pkgsrc/inputmethod/uim-mozc/patches/patch-base_password__manager.cc
$NetBSD: patch-base_password__manager.cc,v 1.1 2024/02/10 02:20:18 ryoon Exp $

--- base/password_manager.cc.orig	2023-10-26 12:00:50.000000000 +0000
+++ base/password_manager.cc
@@ -265,7 +265,7 @@ bool WinMacPasswordManager::RemovePasswo
 // We use plain text file for password storage on Linux. If you port this module
 // to other Linux distro, you might want to implement a new password manager
 // which adopts some secure mechanism such like gnome-keyring.
-#if defined(__linux__) || defined(__wasm__)
+#if defined(__linux__) || defined(__wasm__) || defined(__NetBSD__)
 typedef PlainPasswordManager DefaultPasswordManager;
 #endif  // __linux__ || __wasm__
 

File Added: pkgsrc/inputmethod/uim-mozc/patches/patch-base_port.h
$NetBSD: patch-base_port.h,v 1.1 2024/02/10 02:20:18 ryoon Exp $

--- base/port.h.orig	2023-10-26 12:00:50.000000000 +0000
+++ base/port.h
@@ -45,6 +45,7 @@ enum class PlatformType {
   kIPhone,    // Darwin-based firmware, devices, or simulator
   kWASM,      // WASM
   kChromeOS,  // ChromeOS
+  kNetBSD,    // NetBSD
 };
 
 // kTargetPlatform is the current build target platform.
@@ -68,6 +69,8 @@ inline constexpr PlatformType kTargetPla
 #endif                   // !TARGET_OS_IPHONE
 #elif defined(__wasm__)  // __APPLE__
 inline constexpr PlatformType kTargetPlatform = PlatformType::kWASM;
+#elif defined(__NetBSD__)
+inline constexpr PlatformType kTargetPlatform = PlatformType::kNetBSD;
 #else                    // __wasm__
 #error "Unsupported target platform."
 #endif  // !__wasm__

File Added: pkgsrc/inputmethod/uim-mozc/patches/patch-base_process.cc
$NetBSD: patch-base_process.cc,v 1.1 2024/02/10 02:20:18 ryoon Exp $

--- base/process.cc.orig	2023-12-13 09:15:36.129469332 +0000
+++ base/process.cc
@@ -98,12 +98,12 @@ bool Process::OpenBrowser(const std::str
       L"open", win32::Utf8ToWide(url).c_str(), nullptr);
 #endif  // _WIN32
 
-#ifdef __linux__
+#if defined(__linux__) || defined(__NetBSD__)
 
 #ifndef MOZC_BROWSER_COMMAND
   // xdg-open which uses kfmclient or gnome-open internally works both on KDE
   // and GNOME environments.
-#define MOZC_BROWSER_COMMAND "/usr/bin/xdg-open"
+#define MOZC_BROWSER_COMMAND "@PREFIX@/bin/xdg-open"
 #endif  // MOZC_BROWSER_COMMAND
 
   return SpawnProcess(MOZC_BROWSER_COMMAND, url);
@@ -387,7 +387,7 @@ bool Process::LaunchErrorMessageDialog(c
   }
 #endif  // _WIN32
 
-#if defined(__linux__) && !defined(__ANDROID__)
+#if (defined(__linux__) || defined(__NetBSD__)) && !defined(__ANDROID__)
   constexpr char kMozcTool[] = "mozc_tool";
   const std::string arg =
       "--mode=error_message_dialog --error_type=" + error_type;

File Added: pkgsrc/inputmethod/uim-mozc/patches/patch-base_system__util.cc
$NetBSD: patch-base_system__util.cc,v 1.1 2024/02/10 02:20:18 ryoon Exp $

--- base/system_util.cc.orig	2023-10-26 12:00:50.000000000 +0000
+++ base/system_util.cc
@@ -278,7 +278,7 @@ std::string UserProfileDirectoryImpl::Ge
   return FileUtil::JoinPath(dir, "Mozc");
 #endif  //  GOOGLE_JAPANESE_INPUT_BUILD
 
-#elif defined(__linux__)
+#elif defined(__linux__) || defined(__NetBSD__)
   // 1. If "$HOME/.mozc" already exists,
   //    use "$HOME/.mozc" for backward compatibility.
   // 2. If $XDG_CONFIG_HOME is defined
@@ -429,9 +429,9 @@ std::string SystemUtil::GetServerDirecto
   return MacUtil::GetServerDirectory();
 #endif  // __APPLE__
 
-#if defined(__linux__) || defined(__wasm__)
+#if defined(__linux__) || defined(__wasm__) || defined(__NetBSD__)
 #ifndef MOZC_SERVER_DIR
-#define MOZC_SERVER_DIR "/usr/lib/mozc"
+#define MOZC_SERVER_DIR "@PREFIX@/libexec"
 #endif  // MOZC_SERVER_DIR
   return MOZC_SERVER_DIR;
 #endif  // __linux__ || __wasm__
@@ -471,7 +471,7 @@ std::string SystemUtil::GetDocumentDirec
 #if defined(__linux__)
 
 #ifndef MOZC_DOCUMENT_DIR
-#define MOZC_DOCUMENT_DIR "/usr/lib/mozc/documents"
+#define MOZC_DOCUMENT_DIR "@PREFIX@/libexec/documents"
 #endif  // MOZC_DOCUMENT_DIR
   return MOZC_DOCUMENT_DIR;
 
@@ -661,7 +661,7 @@ std::string GetSessionIdString() {
 #endif  // _WIN32
 
 std::string SystemUtil::GetDesktopNameAsString() {
-#if defined(__linux__) || defined(__wasm__)
+#if defined(__linux__) || defined(__wasm__) || defined(__NetBSD__)
   const char *display = Environ::GetEnv("DISPLAY");
   if (display == nullptr) {
     return "";
@@ -834,6 +834,9 @@ std::string SystemUtil::GetOSVersionStri
 #elif defined(__linux__)
   const std::string ret = "Linux";
   return ret;
+#elif defined(__NetBSD__)
+  const std::string ret = "NetBSD";
+  return ret;
 #else   // !_WIN32 && !__APPLE__ && !__linux__
   const std::string ret = "Unknown";
   return ret;
@@ -873,7 +876,7 @@ uint64_t SystemUtil::GetTotalPhysicalMem
   return total_memory;
 #endif  // __APPLE__
 
-#if defined(__linux__) || defined(__wasm__)
+#if defined(__linux__) || defined(__wasm__) || defined(__NetBSD__)
 #if defined(_SC_PAGESIZE) && defined(_SC_PHYS_PAGES)
   const int32_t page_size = sysconf(_SC_PAGESIZE);
   const int32_t number_of_phyisical_pages = sysconf(_SC_PHYS_PAGES);

File Added: pkgsrc/inputmethod/uim-mozc/patches/patch-base_system__util__test.cc
$NetBSD: patch-base_system__util__test.cc,v 1.1 2024/02/10 02:20:18 ryoon Exp $

--- base/system_util_test.cc.orig	2023-12-13 09:25:13.483600855 +0000
+++ base/system_util_test.cc
@@ -59,7 +59,7 @@ TEST_F(SystemUtilTest, GetUserProfileDir
 #elif defined(__APPLE__)
   // TODO(komatsu): write a test.
 
-#elif defined(__linux__)
+#elif defined(__linux__) || defined(__NetBSD__)
   EnvironMock environ_mock;
   FileUtilMock file_util_mock;
   SystemUtil::SetUserProfileDirectory("");

File Added: pkgsrc/inputmethod/uim-mozc/patches/patch-bazel_pkg__config__repository.bzl
$NetBSD: patch-bazel_pkg__config__repository.bzl,v 1.1 2024/02/10 02:20:18 ryoon Exp $

--- bazel/pkg_config_repository.bzl.orig	2023-12-14 08:51:15.941327119 +0000
+++ bazel/pkg_config_repository.bzl
@@ -103,7 +103,7 @@ def _pkg_config_repository_impl(repo_ctx
         "hdrs": _make_strlist([item + "/**" for item in includes]),
         "copts": _make_strlist(_exec_pkg_config(repo_ctx, "--cflags-only-other")),
         "includes": _make_strlist(includes),
-        "linkopts": _make_strlist(_exec_pkg_config(repo_ctx, "--libs-only-l")),
+        "linkopts": _make_strlist(_exec_pkg_config(repo_ctx, "--libs")),
     }
     build_file_data = BUILD_TEMPLATE.format(**data)
 

File Added: pkgsrc/inputmethod/uim-mozc/patches/patch-client_client.cc
$NetBSD: patch-client_client.cc,v 1.1 2024/02/10 02:20:18 ryoon Exp $

--- client/client.cc.orig	2023-12-13 09:23:05.795914176 +0000
+++ client/client.cc
@@ -897,7 +897,7 @@ bool Client::LaunchTool(const std::strin
     return false;
   }
 
-#if defined(_WIN32) || defined(__linux__)
+#if defined(_WIN32) || defined(__linux__) || defined(__NetBSD__)
   std::string arg = absl::StrCat("--mode=", mode);
   if (!extra_arg.empty()) {
     absl::StrAppend(&arg, " ", extra_arg);

File Added: pkgsrc/inputmethod/uim-mozc/patches/patch-config.bzl
$NetBSD: patch-config.bzl,v 1.1 2024/02/10 02:20:18 ryoon Exp $

--- config.bzl.orig	2023-12-14 11:23:07.849816899 +0000
+++ config.bzl
@@ -35,16 +35,16 @@
 
 BRANDING = "Mozc"
 
-LINUX_MOZC_BROWSER_COMMAND = "/usr/bin/xdg-open"
-LINUX_MOZC_ICONS_DIR = "/usr/share/icons/mozc"
-LINUX_MOZC_SERVER_DIR = "/usr/lib/mozc"
+LINUX_MOZC_BROWSER_COMMAND = "@PREFIX@/bin/xdg-open"
+LINUX_MOZC_ICONS_DIR = "@PREFIX@/share/icons/mozc"
+LINUX_MOZC_SERVER_DIR = "@PREFIX@/libexec"
 LINUX_MOZC_DOCUMENT_DIR = LINUX_MOZC_SERVER_DIR + "/documents"
-IBUS_COMPONENT_DIR = "/usr/share/ibus/component"
-IBUS_MOZC_INSTALL_DIR = "/usr/share/ibus-mozc"
+IBUS_COMPONENT_DIR = "@PREFIX@/share/ibus/component"
+IBUS_MOZC_INSTALL_DIR = "@PREFIX@/share/ibus-mozc"
 IBUS_MOZC_ICON_PATH = IBUS_MOZC_INSTALL_DIR + "/product_icon.png"
-IBUS_MOZC_PATH = "/usr/lib/ibus-mozc/ibus-engine-mozc"
-EMACS_MOZC_CLIENT_DIR = "/usr/share/emacs/site-lisp/emacs-mozc"
-EMACS_MOZC_HELPER_DIR = "/usr/bin"
+IBUS_MOZC_PATH = "@PREFIX@/libexec/ibus-engine-mozc"
+EMACS_MOZC_CLIENT_DIR = "@PREFIX@/share/emacs/site-lisp/emacs-mozc"
+EMACS_MOZC_HELPER_DIR = "@PREFIX@/bin"
 
 MACOS_BUNDLE_ID_PREFIX = "org.mozc.inputmethod.Japanese"
 MACOS_MIN_OS_VER = "11.0"

File Added: pkgsrc/inputmethod/uim-mozc/patches/patch-config_stats__config__util__test.cc
$NetBSD: patch-config_stats__config__util__test.cc,v 1.1 2024/02/10 02:20:18 ryoon Exp $

--- config/stats_config_util_test.cc.orig	2023-12-13 09:31:24.408148702 +0000
+++ config/stats_config_util_test.cc
@@ -688,7 +688,7 @@ TEST(StatsConfigUtilTestAndroid, Default
   EXPECT_FALSE(StatsConfigUtil::IsEnabled());
 #endif  // CHANNEL_DEV
 }
-#elif defined(__linux__)  // __ANDROID__
+#elif defined(__linux__) || defined(__NetBSD__)  // __ANDROID__
 TEST(StatsConfigUtilTestLinux, DefaultValueTest) {
   EXPECT_FALSE(StatsConfigUtil::IsEnabled());
 }

File Added: pkgsrc/inputmethod/uim-mozc/patches/patch-gui_config__dialog_config__dialog.cc
$NetBSD: patch-gui_config__dialog_config__dialog.cc,v 1.1 2024/02/10 02:20:18 ryoon Exp $

--- gui/config_dialog/config_dialog.cc.orig	2023-12-13 09:33:40.403986822 +0000
+++ gui/config_dialog/config_dialog.cc
@@ -105,7 +105,7 @@ ConfigDialog::ConfigDialog()
   setWindowTitle(tr("%1 Preferences").arg(GuiUtil::ProductName()));
 #endif  // __APPLE__
 
-#if defined(__linux__)
+#if defined(__linux__) || defined(__NetBSD__)
   miscDefaultIMEWidget->setVisible(false);
   miscAdministrationWidget->setVisible(false);
   miscStartupWidget->setVisible(false);
@@ -115,7 +115,7 @@ ConfigDialog::ConfigDialog()
   // disable logging options
   miscLoggingWidget->setVisible(false);
 
-#if defined(__linux__)
+#if defined(__linux__) || defined(__NetBSD__)
   // The last "misc" tab has no valid configs on Linux
   constexpr int kMiscTabIndex = 6;
   configDialogTabWidget->removeTab(kMiscTabIndex);
@@ -281,7 +281,7 @@ ConfigDialog::ConfigDialog()
   dictionaryPreloadingAndUACLabel->setVisible(false);
 #endif  // _WIN32
 
-#ifdef __linux__
+#if defined(__linux__) || defined(__NetBSD__)
   // On Linux, disable all fields for UsageStats
   usageStatsLabel->setEnabled(false);
   usageStatsLabel->setVisible(false);

File Added: pkgsrc/inputmethod/uim-mozc/patches/patch-gui_config__dialog_keybinding__editor.cc
$NetBSD: patch-gui_config__dialog_keybinding__editor.cc,v 1.1 2024/02/10 02:20:18 ryoon Exp $

--- gui/config_dialog/keybinding_editor.cc.orig	2023-12-13 09:41:52.856716895 +0000
+++ gui/config_dialog/keybinding_editor.cc
@@ -111,7 +111,7 @@ static const auto *kQtKeyModifierNonRequ
         {Qt::Key_Hiragana_Katakana, "Hiragana"},
         {Qt::Key_Eisu_toggle, "Eisu"},
         {Qt::Key_Zenkaku_Hankaku, "Hankaku/Zenkaku"},
-#ifdef __linux__
+#if defined(__linux__) || defined(__NetBSD__)
         // On Linux (X / Wayland), Hangul and Hanja are identical with
         // ImeOn and ImeOff.
         // https://github.com/google/mozc/issues/552
@@ -361,7 +361,7 @@ KeyBindingFilter::KeyState KeyBindingFil
       return Encode(result);
     }
   }
-#elif __linux__
+#elif defined(__linux__) || defined(__NetBSD__)
   // The XKB defines three types of logical key code: "xkb::Hiragana",
   // "xkb::Katakana" and "xkb::Hiragana_Katakana".
   // On most of Linux distributions, any key event against physical
@@ -460,7 +460,7 @@ bool KeyBindingFilter::eventFilter(QObje
 KeyBindingEditor::KeyBindingEditor(QWidget *parent, QWidget *trigger_parent)
     : QDialog(parent), trigger_parent_(trigger_parent) {
   setupUi(this);
-#if defined(__linux__)
+#if defined(__linux__) || defined(__NetBSD__)
   // Workaround for the issue https://github.com/google/mozc/issues/9
   // Seems that even after clicking the button for the keybinding dialog,
   // the edit is not raised. This might be a bug of setFocusProxy.

File Added: pkgsrc/inputmethod/uim-mozc/patches/patch-gui_config__dialog_keymap__editor.cc
$NetBSD: patch-gui_config__dialog_keymap__editor.cc,v 1.1 2024/02/10 02:20:18 ryoon Exp $

--- gui/config_dialog/keymap_editor.cc.orig	2023-12-13 09:38:10.376387232 +0000
+++ gui/config_dialog/keymap_editor.cc
@@ -441,7 +441,7 @@ bool KeyMapEditorDialog::Update() {
   absl::StrAppend(keymap_table, invisible_keymap_table_);
 
   if (new_direct_mode_commands != direct_mode_commands_) {
-#if defined(_WIN32) || defined(__linux__)
+#if defined(_WIN32) || defined(__linux__) || defined(__NetBSD__)
     QMessageBox::information(
         this, windowTitle(),
         tr("Changes of keymaps for direct input mode will apply only to "

File Added: pkgsrc/inputmethod/uim-mozc/patches/patch-gui_dictionary__tool_dictionary__tool.cc
$NetBSD: patch-gui_dictionary__tool_dictionary__tool.cc,v 1.1 2024/02/10 02:20:18 ryoon Exp $

--- gui/dictionary_tool/dictionary_tool.cc.orig	2023-12-13 09:38:40.198993431 +0000
+++ gui/dictionary_tool/dictionary_tool.cc
@@ -369,7 +369,7 @@ DictionaryTool::DictionaryTool(QWidget *
 #endif  // !ENABLE_CLOUD_SYNC
 
   // main window
-#ifndef __linux__
+#if !defined(__linux__) && !defined(__NetBSD__)
   // For some reason setCentralWidget crashes the dictionary_tool on Linux
   // TODO(taku): investigate the cause of the crashes
   setCentralWidget(splitter_);

File Added: pkgsrc/inputmethod/uim-mozc/patches/patch-gui_word__register__dialog_word__register__dialog.cc
$NetBSD: patch-gui_word__register__dialog_word__register__dialog.cc,v 1.1 2024/02/10 02:20:18 ryoon Exp $

--- gui/word_register_dialog/word_register_dialog.cc.orig	2023-12-13 09:33:09.127301725 +0000
+++ gui/word_register_dialog/word_register_dialog.cc
@@ -100,7 +100,7 @@ QString GetEnv(const char *envname) {
   }
   return QLatin1String("");
 #endif  // _WIN32
-#if defined(__APPLE__) || defined(__linux__)
+#if defined(__APPLE__) || defined(__linux__) || defined(__NetBSD__)
   return QString::fromUtf8(::getenv(envname));
 #endif  // __APPLE__ or __linux__
   // TODO(team): Support other platforms.

File Added: pkgsrc/inputmethod/uim-mozc/patches/patch-ipc_ipc__path__manager.cc
$NetBSD: patch-ipc_ipc__path__manager.cc,v 1.1 2024/02/10 02:20:18 ryoon Exp $

--- ipc/ipc_path_manager.cc.orig	2023-12-13 09:35:34.871003763 +0000
+++ ipc/ipc_path_manager.cc
@@ -389,7 +389,7 @@ bool IPCPathManager::IsValidServer(uint3
   server_pid_ = pid;
 #endif  // __APPLE__
 
-#ifdef __linux__
+#if defined(__linux__) || defined(__NetBSD__)
   // load from /proc/<pid>/exe
   std::string proc = absl::StrFormat("/proc/%u/exe", pid);
   char filename[512];

File Added: pkgsrc/inputmethod/uim-mozc/patches/patch-ipc_unix__ipc.cc
$NetBSD: patch-ipc_unix__ipc.cc,v 1.1 2024/02/10 02:20:18 ryoon Exp $

--- ipc/unix_ipc.cc.orig	2023-10-26 12:00:50.000000000 +0000
+++ ipc/unix_ipc.cc
@@ -28,7 +28,7 @@
 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 // __linux__ only. Note that __ANDROID__/__wasm__ don't reach here.
-#if defined(__linux__)
+#if defined(__linux__) || defined(__NetBSD__)
 
 #include <fcntl.h>
 #include <sys/select.h>
@@ -119,6 +119,7 @@ bool IsWriteTimeout(int socket, absl::Du
 bool IsPeerValid(int socket, pid_t *pid) {
   *pid = 0;
 
+#if defined(__linux__)
   struct ucred peer_cred;
   int peer_cred_len = sizeof(peer_cred);
   if (getsockopt(socket, SOL_SOCKET, SO_PEERCRED, &peer_cred,
@@ -133,7 +134,21 @@ bool IsPeerValid(int socket, pid_t *pid)
   }
 
   *pid = peer_cred.pid;
+#elif defined(__NetBSD__)
+  struct unpcbid peer_cred;
+  int peer_cred_len = sizeof(peer_cred);
+  if (getsockopt(socket, 0, LOCAL_PEEREID,
+                 reinterpret_cast<void *>(&peer_cred),
+                 reinterpret_cast<socklen_t *>(&peer_cred_len)) < 0) {
+    LOG(ERROR) << "cannot get peer credential. Not a Unix socket?";
+    return false;
+  }
 
+  if (peer_cred.unp_euid!= ::geteuid()) {
+    LOG(WARNING) << "uid mismatch." << peer_cred.unp_euid << "!=" << ::geteuid();
+    return false;
+  }
+#endif
   return true;
 }
 

File Added: pkgsrc/inputmethod/uim-mozc/patches/patch-session_session.cc
$NetBSD: patch-session_session.cc,v 1.1 2024/02/10 02:20:18 ryoon Exp $

--- session/session.cc.orig	2023-12-13 09:32:05.846503615 +0000
+++ session/session.cc
@@ -241,7 +241,7 @@ void Session::InitContext(ImeContext *co
   // Tests for session layer (session_handler_scenario_test, etc) can be
   // unstable.
 #if (defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE) || defined(__linux__) || \
-    defined(__wasm__)
+    defined(__wasm__) || defined(__NetBSD__)
   context->mutable_converter()->set_use_cascading_window(false);
 #endif  // TARGET_OS_IPHONE || __linux__ || __wasm__
 }
@@ -973,7 +973,7 @@ void Session::UpdatePreferences(commands
   }
 
 #if (defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE) || defined(__linux__) || \
-    defined(__wasm__)
+    defined(__wasm__) || defined(__NetBSD__)
   context_->mutable_converter()->set_use_cascading_window(false);
 #else   // TARGET_OS_IPHONE || __linux__ || __wasm__
   if (config.has_use_cascading_window()) {

File Added: pkgsrc/inputmethod/uim-mozc/patches/patch-session_session__handler__scenario__test.cc
$NetBSD: patch-session_session__handler__scenario__test.cc,v 1.1 2024/02/10 02:20:18 ryoon Exp $

--- session/session_handler_scenario_test.cc.orig	2023-12-13 09:39:32.677437804 +0000
+++ session/session_handler_scenario_test.cc
@@ -172,7 +172,7 @@ const char *kUsageStatsScenarioFileList[
     DATA_DIR "select_minor_prediction.txt",
     DATA_DIR "select_prediction.txt",
     DATA_DIR "select_t13n_by_key.txt",
-#ifndef __linux__
+#if !defined(__linux__) && !defined(__NetBSD__)
     // This test requires cascading window.
     // TODO(hsumita): Removes this ifndef block.
     DATA_DIR "select_t13n_on_cascading_window.txt",

File Added: pkgsrc/inputmethod/uim-mozc/patches/patch-session_session__test.cc
$NetBSD: patch-session_session__test.cc,v 1.1 2024/02/10 02:20:18 ryoon Exp $

--- session/session_test.cc.orig	2023-12-13 09:36:18.413874507 +0000
+++ session/session_test.cc
@@ -2011,7 +2011,7 @@ TEST_F(SessionTest, UpdatePreferences) {
   const size_t cascading_cand_size =
       command.output().candidates().candidate_size();
 
-#if defined(__linux__) || defined(__wasm__)
+#if defined(__linux__) || defined(__wasm__) || defined(__NetBSD__)
   EXPECT_EQ(cascading_cand_size, no_cascading_cand_size);
 #else   // __linux__ || __wasm__
   EXPECT_GT(no_cascading_cand_size, cascading_cand_size);
@@ -2200,7 +2200,7 @@ TEST_F(SessionTest, OutputAllCandidateWo
 
     EXPECT_EQ(output.all_candidate_words().focused_index(), 0);
     EXPECT_EQ(output.all_candidate_words().category(), commands::CONVERSION);
-#if defined(__linux__) || defined(__wasm__)
+#if defined(__linux__) || defined(__wasm__) || defined(__NetBSD__)
     // Cascading window is not supported on Linux, so the size of
     // candidate words is different from other platform.
     // TODO(komatsu): Modify the client for Linux to explicitly change
@@ -2228,7 +2228,7 @@ TEST_F(SessionTest, OutputAllCandidateWo
 
     EXPECT_EQ(output.all_candidate_words().focused_index(), 1);
     EXPECT_EQ(output.all_candidate_words().category(), commands::CONVERSION);
-#if defined(__linux__) || defined(__wasm__)
+#if defined(__linux__) || defined(__wasm__) || defined(__NetBSD__)
     // Cascading window is not supported on Linux, so the size of
     // candidate words is different from other platform.
     // TODO(komatsu): Modify the client for Linux to explicitly change

File Added: pkgsrc/inputmethod/uim-mozc/patches/patch-third__party_abseil-cpp_absl_base_internal_raw__logging.cc
$NetBSD: patch-third__party_abseil-cpp_absl_base_internal_raw__logging.cc,v 1.1 2024/02/10 02:20:18 ryoon Exp $

--- third_party/abseil-cpp/absl/base/internal/raw_logging.cc.orig	2023-12-13 09:40:20.988739236 +0000
+++ third_party/abseil-cpp/absl/base/internal/raw_logging.cc
@@ -39,7 +39,8 @@
 // this, consider moving both to config.h instead.
 #if defined(__linux__) || defined(__APPLE__) || defined(__FreeBSD__) || \
     defined(__Fuchsia__) || defined(__native_client__) ||               \
-    defined(__OpenBSD__) || defined(__EMSCRIPTEN__) || defined(__ASYLO__)
+    defined(__OpenBSD__) || defined(__EMSCRIPTEN__) || defined(__ASYLO__) || \
+    defined(__NetBSD__)
 
 #include <unistd.h>
 

File Added: pkgsrc/inputmethod/uim-mozc/patches/patch-third__party_protobuf_toolchain_cc__toolchain__config.bzl
$NetBSD: patch-third__party_protobuf_toolchain_cc__toolchain__config.bzl,v 1.1 2024/02/10 02:20:19 ryoon Exp $

--- third_party/protobuf/toolchain/cc_toolchain_config.bzl.orig	2023-12-13 11:45:04.226274104 +0000
+++ third_party/protobuf/toolchain/cc_toolchain_config.bzl
@@ -206,7 +206,7 @@ def _impl(ctx):
         cxx_builtin_include_directories = [
             ctx.attr.sysroot,
             ctx.attr.extra_include,
-            "/usr/local/include",
+            "@PREFIX@/include",
             "/usr/local/lib/clang",
         ],
         features = features,