Repository navigation
Integrate cppjieba dictionary conversion into opencc_dict - #1392
Merged
Merged
Conversation
Add cppjieba_utf8 as an opencc_dict input mode so the standard dictionary tool can generate the same merged Jieba dictionaries as the old helper, including base-plus-user overlay inputs. Keep Jieba packaging on a private build-only helper and stop installing the former cppjieba_dict tool.
frankslin
force-pushed
the
cppjieba_dict_convergence
branch
from
July 3, 2026 00:35
a9b4f6a to
96456d0
Compare
frankslin
added a commit
to frankslin/OpenCC
that referenced
this pull request
Jul 11, 2026
…build tool Since BYVoid#1392 opencc_dict supports the cppjieba_utf8 input format, so the CMake and Bazel builds now invoke it directly to produce jieba_dict/jieba_merged.ocd2, and the duplicated opencc_jieba_dict_build_tool (formerly cppjieba_dict) is deleted. Output is byte-identical to the old tool on all three build paths (in-tree CMake, Bazel, standalone plugin build). Standalone plugin builds now locate an installed opencc_dict via find_program (hinted from the found OpenCC package) and fail at configure time with a clear message unless it supports cppjieba_utf8, i.e. OpenCC >= 1.4.1. Debian packaging follows suit: drop the stale usr/bin/cppjieba_dict entry from opencc-jieba.install (the tool is no longer installed) and update SPLIT_PROPOSAL.md to describe the opencc_dict-based flow.
frankslin
added a commit
that referenced
this pull request
Jul 12, 2026
* Revert "Temporarily roll back npm version bump to 1.4.0" This reverts commit 70b4521 and bumps version to 1.4.1 again. * Generate merged Jieba dictionary with opencc_dict and remove private build tool Since #1392 opencc_dict supports the cppjieba_utf8 input format, so the CMake and Bazel builds now invoke it directly to produce jieba_dict/jieba_merged.ocd2, and the duplicated opencc_jieba_dict_build_tool (formerly cppjieba_dict) is deleted. Output is byte-identical to the old tool on all three build paths (in-tree CMake, Bazel, standalone plugin build). Standalone plugin builds now locate an installed opencc_dict via find_program (hinted from the found OpenCC package) and fail at configure time with a clear message unless it supports cppjieba_utf8, i.e. OpenCC >= 1.4.1. Debian packaging follows suit: drop the stale usr/bin/cppjieba_dict entry from opencc-jieba.install (the tool is no longer installed) and update SPLIT_PROPOSAL.md to describe the opencc_dict-based flow. * Finalize 1.4.1 release metadata and notes Complete the 1.4.1 NEWS entry with the release date and all changes since ver.1.4.0 (dictionary fixes, word-size-independent OCD output, Node inline config and schema-generated types, Bazel-built Node release binaries, Debian packaging rework, librime compatibility tests), and note that the node-gyp source fallback is planned for removal in favor of Bazel-only Node builds (also documented in node/PUBLISHING.md). Update README prebuilt binary links to 1.4.1 with a release-focus note, and bump remaining build-time version strings (node/BUILD.bazel, node/global.gypi, setup.py fallback, Windows Zig build scripts) to 1.4.1. * Bump remaining 1.4.0 release references to 1.4.1 Update the Bazel module version, add a 1.4.1-1 Debian changelog entry (release-deb.yml stamps deb artifacts with dpkg-parsechangelog, which would otherwise still report 1.4.0-1), rebase debian patch 0004 whose context shifted after the post-1.4.0 bundled-googletest existence check, and refresh the packaging docs' upstream-version statements. All four patches re-verified with patch -p1 --fuzz=0 against the current tree. * Fix standalone Jieba plugin configure with a prefix-installed opencc_dict opencc_dict installed to a non-default prefix carries no rpath, so running it during the standalone plugin configure failed to load libopencc and the cppjieba_utf8 capability check misreported the tool as too old (as seen in the cmake.yml standalone job). Wrap the opencc_dict invocation with cmake -E env to prepend the installation's lib directory to DYLD_LIBRARY_PATH / LD_LIBRARY_PATH on macOS / Linux, use the same wrapped command for both the configure-time check and the dictionary generation rule, and report a failed-to-run opencc_dict distinctly from a missing cppjieba_utf8 format. * Lower opencc-jieba npm macOS deployment target to 11.0 The plugin binary built by plugins/jieba/node/build.js inherited the CI runner's OS version as its minimum macOS version (15.0 on macos-15 runners), while the Bazel-built opencc npm binaries target 11.0. Pass CMAKE_OSX_DEPLOYMENT_TARGET=11.0 on darwin so both npm packages support the same macOS range; verified the rebuilt libopencc-jieba.dylib now reports minos 11.0. * Note opencc-jieba macOS deployment target fix in 1.4.1 release notes
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Add cppjieba_utf8 as an opencc_dict input format so Jieba merged dictionaries are produced by the standard dictionary tool. Remove the private cppjieba_dict helper and update CMake, Bazel, and Debian packaging rules to use opencc_dict.