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
--- 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
# $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"
$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
$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
$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__
$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.
$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(), " ",
$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__
$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__
$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;
$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);
$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("");
$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)
$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);
$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"
$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());
}
$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);
$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.
$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 "
$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_);
$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.
$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];
$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;
}
$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()) {
$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",
$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
$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>
$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,