From: Shengjing Zhu Date: Sun, 7 Mar 2021 06:20:40 +0000 (+0000) Subject: opencc (1.1.1+git20200624+ds2-10) unstable; urgency=medium X-Git-Tag: archive/raspbian/1.1.1+git20200624+ds2-10+rpi1^2~8 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=05eb4901ea44fed7dbbf8b696caff337b698e79d;p=opencc.git opencc (1.1.1+git20200624+ds2-10) unstable; urgency=medium * Team upload. * Upload to unstable. * Backport patch to fix performance regression again. Add + 0006-Fix-a-bug-in-the-calculation-of-DictGroup-keyMaxLeng.patch + 0007-Fix-a-severe-performance-bug-in-Conversion-Convert-t.patch [dgit import unpatched opencc 1.1.1+git20200624+ds2-10] --- 05eb4901ea44fed7dbbf8b696caff337b698e79d diff --cc debian/TODO index 0000000,0000000..6b06ca6 new file mode 100644 --- /dev/null +++ b/debian/TODO @@@ -1,0 -1,0 +1,4 @@@ ++* We need to pack nodejs module provided by opencc when possible. ++* The python binding is not packaged. There is a embedded pybind11 ++ library that need to be dealt if we want to enable python ++ binding support. diff --cc debian/changelog index 0000000,0000000..69db793 new file mode 100644 --- /dev/null +++ b/debian/changelog @@@ -1,0 -1,0 +1,443 @@@ ++opencc (1.1.1+git20200624+ds2-10) unstable; urgency=medium ++ ++ * Team upload. ++ * Upload to unstable. ++ * Backport patch to fix performance regression again. ++ Add ++ + 0006-Fix-a-bug-in-the-calculation-of-DictGroup-keyMaxLeng.patch ++ + 0007-Fix-a-severe-performance-bug-in-Conversion-Convert-t.patch ++ ++ -- Shengjing Zhu Sun, 07 Mar 2021 14:20:40 +0800 ++ ++opencc (1.1.1+git20200624+ds2-9) experimental; urgency=medium ++ ++ * Team upload. ++ * Remove unused command from autopkgtest scripts ++ * Add build-essential to autopkgtest ++ ++ -- Shengjing Zhu Sun, 07 Mar 2021 00:54:22 +0800 ++ ++opencc (1.1.1+git20200624+ds2-8) experimental; urgency=medium ++ ++ * Team upload. ++ * Enable test when building ++ * Add autopkgtest ++ ++ -- Shengjing Zhu Sat, 06 Mar 2021 17:57:00 +0800 ++ ++opencc (1.1.1+git20200624+ds2-7) unstable; urgency=high ++ ++ * Team upload. ++ * Drop debian/patches/0005 for now due to regression reported. ++ See also https://github.com/fcitx/fcitx5/issues/238 . ++ ++ -- Boyuan Yang Fri, 05 Mar 2021 09:37:48 -0500 ++ ++opencc (1.1.1+git20200624+ds2-6) unstable; urgency=high ++ ++ * Team upload. ++ * debian/patches/0005: Add upstream patch to fix severe performance ++ regression in `Conversion::Convert` that caused O(N^2) complexity. ++ * debian/rules: Disable parallel build to workaround some random ++ build error for now. ++ ++ -- Boyuan Yang Sun, 28 Feb 2021 19:48:01 -0500 ++ ++opencc (1.1.1+git20200624+ds2-5) unstable; urgency=medium ++ ++ * Team upload. ++ * debian/rules: Rewrite to support build profile. ++ * debian/rules: Enable dh_doxygen when building docs. ++ * Drop unnecessary build dependencies. (Closes: #981606) ++ * debian/control: Mark build-dependency doxygen as . ++ * debian/control: Drop build-dependency on libjs-jquery. Let ++ doxygen handle it. ++ * debian/control: Drop build-dependency on graphviz. Doxyfile ++ did not enable HAVE_DOT. ++ * debian/control: Drop build-dependency on dartz. Currently opencc ++ uses its vendored copy. ++ ++ -- Boyuan Yang Tue, 02 Feb 2021 11:58:39 -0500 ++ ++opencc (1.1.1+git20200624+ds2-4) unstable; urgency=medium ++ ++ * Build-depends on pkg-kde-tools to handle symbols. ++ * debian/libopencc1.1.symbols: Refresh symbols using Debian ++ buildd logs. ++ ++ -- Boyuan Yang Sun, 17 Jan 2021 17:52:00 -0500 ++ ++opencc (1.1.1+git20200624+ds2-3) unstable; urgency=medium ++ ++ * Team upload. ++ ++ [ Gunnar Hjalmarsson ] ++ * Replace shlibs file with symbols file ++ * debian/patches/no-remote-images-when-reading-docs-on-disk.patch: ++ - Fixes a privacy breach previously reported as Lintian warnings ++ * Bump Standards-Version to 4.5.1 ++ * debian/source/lintian-overrides: ++ - Explain why libopencc1.1 is not multi-archified even if ++ libopencc-dev depends on it. ++ ++ [ Boyuan Yang ] ++ * Mark package libopencc-dev as Multi-Arch: same ++ ++ -- Boyuan Yang Sat, 16 Jan 2021 10:36:38 -0500 ++ ++opencc (1.1.1+git20200624+ds2-2) unstable; urgency=high ++ ++ * Team upload. ++ * debian/control: Mark package libopencc-data Breaks+Replaces the ++ old libopencc2-data package. (Closes: #963187) ++ ++ -- Boyuan Yang Sat, 04 Jul 2020 13:46:28 -0400 ++ ++opencc (1.1.1+git20200624+ds2-1) unstable; urgency=medium ++ ++ * Team upload. ++ * Upload to unstable. ++ ++ -- Boyuan Yang Sat, 04 Jul 2020 06:28:22 -0400 ++ ++opencc (1.1.1+git20200624+ds2-1~exp2) experimental; urgency=medium ++ ++ * Team upload. ++ * Rebuild against marisa 0.2.6. ++ ++ -- Boyuan Yang Fri, 03 Jul 2020 17:40:16 -0400 ++ ++opencc (1.1.1+git20200624+ds2-1~exp1) experimental; urgency=medium ++ ++ * Team upload. ++ ++ [ 肖盛文 ] ++ * add libopencc-doc.doc-base,to register opencc to doc-base ++ * d/control: ++ - add Section: doc for libopencc-doc ++ - add Depends: libjs-jquery for the libopencc-doc package ++ ++ [ Boyuan Yang ] ++ * Import new upstream snapshot 2020-06-24 to fix some bugs. ++ * debian/patches: Refresh patches. ++ ++ -- Boyuan Yang Thu, 25 Jun 2020 20:34:50 -0400 ++ ++opencc (1.1.1+ds1-1~exp1) experimental; urgency=medium ++ ++ * Team upload. ++ ++ [ 肖盛文 ] ++ * New upstream version 1.1.1 ++ * change libopencc data pkgname from libopencc[num]-data to libopencc-data ++ * change libopencc pkgname from libopencc2 to libopencc1.1 ++ * update debian/libopencc1.1.install for filename *.ocd2 ++ * d/rules: ++ - delete override_dh_missing: ++ - use execute_after_dh_auto_clean: ++ - use execute_after_dh_auto_install: ++ * d/copyright: ++ - update dirname for new upstream version ++ - add xiao sheng wen for debian/* ++ - add Upstream-Contact ++ * d/control: ++ - add Rules-Requires-Root: no ++ - add New Uploaders: xiao sheng wen ++ - delete some Replaces: and Breaks:, ++ let the new version packages can co-exist with the old ones. ++ * add debian/upstream/metadata ++ * d/watch: use @PACKAGE@ @ANY_VERSION@@ARCHIVE_EXT@ ++ ++ [ Boyuan Yang ] ++ * ds: Do not include bundled gtest and libmarisa. ++ * debian/rules: Explicitly disable building bundled libmarisa. ++ * debian/libopencc1.1.shlibs: Reset version requirement. ++ * debian/control: Add new build-dependency libmarisa-dev. ++ * debian/patches: Refreshed. ++ ++ -- Boyuan Yang Sat, 23 May 2020 15:51:01 -0400 ++ ++opencc (1.0.6-2) unstable; urgency=medium ++ ++ * Team upload. ++ * debian/libopencc2.shlibs: Bump version requirement to 1.0.6. ++ * debian/control: Bump debhelper compat to v13. ++ * debian/rules: Drop as-needed linker flag. ++ ++ -- Boyuan Yang Sat, 02 May 2020 10:46:44 -0400 ++ ++opencc (1.0.6-1) unstable; urgency=medium ++ ++ * Team upload. ++ * New upstream release 1.0.6. ++ * debian/control: ++ + Bump Standards-Version to 4.5.0. ++ + Add Debian Chinese Team into uploaders to show team's interest ++ in package co-maintenance. ++ * debian/patches: Refresh patches. ++ ++ -- Boyuan Yang Mon, 13 Apr 2020 18:20:20 -0400 ++ ++opencc (1.0.5+git20190530-1) unstable; urgency=medium ++ ++ * Team upload. ++ * New upstream git snapshot (2019-05-30). ++ - opencc::ConvertDirectory is now exported. ++ - Various fixes and document updates. ++ * debian/control: ++ + Bump Standards-Version to 4.4.0. ++ + Bump debhelper copmat to v12. ++ + Add build-dependency graphviz for dot support for doxygen. ++ * debian/patches: Add patch 0004 to migrate from python2 to ++ python3. (Closes: #937195) ++ ++ -- Boyuan Yang Fri, 30 Aug 2019 14:09:03 -0400 ++ ++opencc (1.0.5-2) unstable; urgency=medium ++ ++ * Team upload. ++ * Rebuild against gcc 8. ++ * debian/control: ++ + Update uploaders email address and use the @debian.org one. ++ + Bump Standards-Version to 4.2.1 (no changes needed). ++ * debian/rules: Avoid explicit invocation to dpkg-architecture. ++ ++ -- Boyuan Yang Thu, 20 Sep 2018 15:07:38 -0400 ++ ++opencc (1.0.5-1) unstable; urgency=medium ++ ++ * Team upload. ++ * New upstream Release. ++ * Remove libopencc2 M-A:same mark for now since ocd files exist. ++ (Closes: #874227) ++ * Remove LI Daobing from Uploaders list. (Closes: #841792) ++ Thank you for your previous work! ++ * Apply "wrap-and-sort -abst". ++ * d/patches: Refresh patches. ++ * d/changelog: Remove trailing spaces. ++ * d/control: Use debian-input-method maillist in Maintainer field. ++ Closes: #899625. ++ * d/control: Use Vcs URL on Salsa platform. ++ * d/control: Bump Standards-Version to 4.1.4. ++ * d/control: Bump debhelper compat to v11. ++ * d/rules: Use NEWS.md as upstream changelog. ++ * d/rules: Use "dh_missing --fail-missing". ++ * d/shlibs: Explicitly require the latest library version. ++ ++ -- Boyuan Yang <073plan@gmail.com> Thu, 21 Jun 2018 11:18:37 +0800 ++ ++opencc (1.0.4-5) unstable; urgency=medium ++ ++ * Make ocd data files arch:any (Closes: #851733) ++ ++ -- Aron Xu Fri, 20 Jan 2017 15:15:35 +0800 ++ ++opencc (1.0.4-4) unstable; urgency=medium ++ ++ * Tighter Breaks/Conflicts version (Closes: #847145) ++ ++ -- Aron Xu Mon, 19 Dec 2016 23:30:01 +0800 ++ ++opencc (1.0.4-3) unstable; urgency=medium ++ ++ * Correct Breaks/Conflicts version (Closes: #846665) ++ ++ -- Aron Xu Sun, 04 Dec 2016 16:39:48 +0800 ++ ++opencc (1.0.4-2) unstable; urgency=medium ++ ++ [ Aron Xu ] ++ * Install data files to libopencc2-data, drop -dbg package ++ (Closes: #836395) ++ ++ [ Boyuan Yang ] ++ * Add BSD-3-clause license in d/copyright ++ ++ -- Aron Xu Sat, 03 Sep 2016 21:07:26 +0800 ++ ++opencc (1.0.4-1) unstable; urgency=medium ++ ++ * Imported Upstream version 1.0.4 ++ * Update d/watch to Github URL ++ * std-ver: 3.9.6 -> 3.9.8, no change ++ * Update VCS-Browser URL to use HTTPS ++ ++ -- Aron Xu Mon, 08 Aug 2016 14:43:15 +0800 ++ ++opencc (1.0.3-1) experimental; urgency=medium ++ ++ * New upstream release ++ * Add myself to Uploaders ++ * Drop symbols file, see README.Debian ++ ++ -- Aron Xu Wed, 16 Dec 2015 00:34:21 +0800 ++ ++opencc (1.0.2-1) experimental; urgency=medium ++ ++ * Team upload for new upstream release. ++ * SONAME transition: libopencc1 -> libopencc2 ++ * Add libjs-jquery, libtclap-dev, darts, rapidjson-dev to B-D. ++ * Patches added/updated: ++ - lib-name-match-soversion.patch: rename library to match SONAME ++ - install-data-file-to-meet-need-of-multi-arch.patch: updated ++ - use-system-libraries.patch: do not use embeded libraries ++ * Use system version of jquery.js instead of embeded one. ++ * Removed python-opencc, upstream abandoned. ++ * Updated symbols file. ++ * Rewrite copyright file to machine-readable format. ++ * Allow parallel building. ++ ++ -- Aron Xu Thu, 20 Nov 2014 17:09:31 +0800 ++ ++opencc (0.4.3-2) unstable; urgency=low ++ ++ * Add the python-opencc package to support the Python binding. ++ Closes: #694993 ++ * Bump standard version to 3.9.5. ++ ++ -- Osamu Aoki Sat, 02 Nov 2013 12:17:51 +0900 ++ ++opencc (0.4.3-1) experimental; urgency=low ++ ++ * New upstream release. ++ * Update watch file. ++ * Clean up debian/control and wrap-and-sort. ++ * Update symbols file. ++ ++ -- Osamu Aoki Sun, 15 Sep 2013 00:13:31 +0900 ++ ++opencc (0.4.0-1) experimental; urgency=low ++ ++ * New upstream release ++ * fix-new-test-cases.patch in upstream ++ * part of more_clear_man_c_option.patch is in upstream ++ the rest is in install-data-file-to-meet-need-of-multi-arch.path ++ ++ -- Asias He Fri, 05 Apr 2013 10:52:29 +0800 ++ ++opencc (0.3.0-3) unstable; urgency=low ++ ++ * Rebuild to ++ generate little endian mo file on any arch (Closes: #670016). ++ * add an - before include buildflags.mk ++ ++ -- YunQiang Su Sun, 10 Jun 2012 19:35:51 +0800 ++ ++opencc (0.3.0-2) unstable; urgency=low ++ ++ * Multi-arch it. ++ * Add libopencc-dbg package. ++ * Bump standard version to 3.9.3. ++ * Add YunQiang Su to Uploaders. ++ * Enable CPPFLAGS hardening flags (Closes: #665322). ++ * Better explanation for the -c option arguments of opencc, ++ give the path of these files out. (Closes: #656201). ++ ++ -- YunQiang Su Thu, 29 Mar 2012 03:22:51 +0800 ++ ++opencc (0.3.0-1) unstable; urgency=low ++ ++ * Team upload. ++ ++ [ Kan-Ru Chen ] ++ * New upstream release ++ * debian/control: ++ - Remove autotools-dev and quilt from Build-Depends ++ * debian/rules: ++ - Support `nostrip' DEB_BUILD_OPTIONS ++ - Enable hardening flags. ++ * debian/docs: Install NEWS ++ * debian/copyright: Update update url ++ * debian/watch: Update upstream url ++ * debian/patches/fix-big-endian-build.diff: merged upstream ++ * debian/patches/fix-new-test-cases.patch: New patch. ++ ++ -- Kan-Ru Chen Sat, 17 Dec 2011 16:41:49 +0800 ++ ++opencc (0.2.0-2) unstable; urgency=low ++ ++ * Fix "Please fix FTBFS on mips, ppc, s390 and sparc" (Closes: #624562) ++ * debian/control: bump standards version to 3.9.2. ++ * Set DM-Upload-Allowed to yes ++ ++ -- Asias He Mon, 16 May 2011 20:46:03 +0800 ++ ++opencc (0.2.0-1) unstable; urgency=low ++ ++ * New upstream release ++ * Move usr/share/locale to package opencc ++ * Add cmake to Build-Depends ++ * Change Homepage to http://code.google.com/p/opencc ++ * Set Vcs to git.debian.org ++ ++ -- Asias He Thu, 17 Mar 2011 21:36:41 +0800 ++ ++opencc (0.1.2-1) unstable; urgency=low ++ ++ * New upstream release. ++ * debian/libopencc1.symbols: updated. ++ ++ -- LI Daobing Wed, 22 Sep 2010 20:40:54 +0800 ++ ++opencc (0.1.1-2) unstable; urgency=low ++ ++ *debian/control: add Conflicts to libopencc0 (Closes: #596434) ++ ++ -- Asias He Sun, 12 Sep 2010 14:58:18 +0800 ++ ++opencc (0.1.1-1) unstable; urgency=low ++ ++ [ Asias He ] ++ * New upstream release (closes: #591076). ++ * debian/control: bump standards version to 3.9.1. ++ * debian/watch: use googlecode.debian.net. ++ ++ [ LI Daobing ] ++ * debian/clean: added. ++ ++ -- LI Daobing Wed, 11 Aug 2010 22:04:12 +0800 ++ ++opencc (0.1.0-1) unstable; urgency=low ++ ++ * New upstream release. ++ * debian/control: ++ - bump standards version to 3.9.1. ++ - libopencc0 -> libopecc1 (closes: #590473). ++ - libopencc1 replaces libopencc0. ++ * libopencc0 -> libopencc1: ++ - debian/libopencc0.install => debian/libopencc1.install ++ - debian/libopencc0.symbols => debian/libopencc1.symbols ++ ++ -- LI Daobing Thu, 29 Jul 2010 23:05:17 +0800 ++ ++opencc (0.0.5-1) unstable; urgency=low ++ ++ * New upstream release. ++ * debian/control: no longer build depends on python. ++ * debian/opencc.install: move .mo files to libopencc0. ++ * debian/libopencc0.install: install .mo files. ++ * debian/opencc_dict.1: deleted. ++ * debian/opencc.manpages: deleted. ++ ++ -- LI Daobing Wed, 21 Jul 2010 22:42:32 +0800 ++ ++opencc (0.0.4-1) unstable; urgency=low ++ ++ * New upstream release. ++ * debian/control: bump standards version to 3.9.0. ++ ++ -- LI Daobing Fri, 16 Jul 2010 23:52:08 +0800 ++ ++opencc (0.0.3-1) unstable; urgency=low ++ ++ * New upstream release. ++ * debian/opencc.install: updated. ++ * debian/control: opencc depends on libopencc0 at the same version. ++ ++ -- LI Daobing Tue, 22 Jun 2010 19:08:33 +0800 ++ ++opencc (0.0.2-1) unstable; urgency=low ++ ++ * Initial release (Closes: #585621) ++ ++ -- LI Daobing Sat, 19 Jun 2010 18:27:20 +0800 diff --cc debian/clean index 0000000,0000000..0777230 new file mode 100644 --- /dev/null +++ b/debian/clean @@@ -1,0 -1,0 +1,17 @@@ ++test/mix2zhs.ans ++test/mix2zhs.in ++test/mix2zhs.ini ++test/mix2zht.ans ++test/mix2zht.in ++test/mix2zht.ini ++test/opencc ++test/simp_to_trad_characters.ocd ++test/simp_to_trad_phrases.ocd ++test/trad_to_simp_characters.ocd ++test/trad_to_simp_phrases.ocd ++test/zhs2zht.ans ++test/zhs2zht.in ++test/zhs2zht.ini ++test/zht2zhs.ans ++test/zht2zhs.in ++test/zht2zhs.ini diff --cc debian/control index 0000000,0000000..834dae0 new file mode 100644 --- /dev/null +++ b/debian/control @@@ -1,0 -1,0 +1,97 @@@ ++Source: opencc ++Priority: optional ++Maintainer: Debian Input Method Team ++Uploaders: ++ Debian Chinese Team , ++ Asias He , ++ YunQiang Su , ++ Osamu Aoki , ++ Aron Xu , ++ xiao sheng wen , ++Build-Depends: ++ cmake, ++ darts, ++ debhelper-compat (= 13), ++ doxygen , ++ googletest , ++ libmarisa-dev, ++ libtclap-dev, ++ python3:any, ++ pkg-kde-tools, ++ rapidjson-dev, ++Standards-Version: 4.5.1 ++Rules-Requires-Root: no ++Section: libs ++Homepage: https://github.com/BYVoid/OpenCC ++Vcs-Git: https://salsa.debian.org/debian/opencc.git ++Vcs-Browser: https://salsa.debian.org/debian/opencc ++ ++Package: libopencc-dev ++Section: libdevel ++Architecture: any ++Multi-Arch: same ++Depends: ++ libopencc1.1 (= ${binary:Version}), ++ ${misc:Depends}, ++Suggests: ++ libopencc-doc, ++Description: simplified-traditional Chinese conversion library - development ++ opencc is a library for converting character between traditional Chinese and ++ simplified Chinese. ++ . ++ This package includes the development support files. ++ ++Package: libopencc1.1 ++Architecture: any ++Pre-Depends: ++ ${misc:Pre-Depends}, ++Depends: ++ libopencc-data (= ${source:Version}), ++ ${misc:Depends}, ++ ${shlibs:Depends}, ++Description: simplified-traditional Chinese conversion library - runtime ++ opencc is a library for converting character between traditional Chinese and ++ simplified Chinese. ++ . ++ This package includes the shared library. ++ ++Package: libopencc-data ++Architecture: all ++Multi-Arch: foreign ++Depends: ++ ${misc:Depends}, ++Breaks: libopencc2-data (<< 1.1.1~) ++Replaces: libopencc2-data (<< 1.1.1~) ++Description: simplified-traditional Chinese conversion library - data files ++ opencc is a library for converting character between traditional Chinese and ++ simplified Chinese. ++ . ++ This package includes the data files. ++ ++Package: libopencc-doc ++Architecture: all ++Multi-Arch: foreign ++Section: doc ++Depends: ++ ${misc:Depends}, ++Description: simplified-traditional Chinese conversion library - document ++ opencc is a library for converting character between traditional Chinese and ++ simplified Chinese. ++ . ++ This package includes the library document files. ++ ++Package: opencc ++Section: utils ++Architecture: any ++Multi-Arch: foreign ++Depends: ++ libopencc1.1 (= ${binary:Version}), ++ ${misc:Depends}, ++ ${shlibs:Depends}, ++Suggests: ++ libopencc-doc, ++Description: simplified-traditional Chinese conversion tool ++ opencc is a library for converting character between traditional Chinese and ++ simplified Chinese. ++ . ++ This package includes the conversion tool. diff --cc debian/copyright index 0000000,0000000..dcade5f new file mode 100644 --- /dev/null +++ b/debian/copyright @@@ -1,0 -1,0 +1,67 @@@ ++Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ ++Upstream-Name: OpenCC ++Upstream-Contact: BYVoid ++Source: https://github.com/BYVoid/OpenCC/releases ++Files-Excluded: ++ deps/google-benchmark/* ++ deps/gtest-*/* ++ deps/marisa-*/* ++ deps/rapidjson-*/* ++ deps/tclap-*/* ++ deps/pybind11-*/* ++ ++Files: * ++Copyright: 2010-2020, BYVoid ++License: Apache-2 ++ ++Files: debian/* ++Copyright: 2010, LI Daobing ++ 2014, Aron Xu ++ 2020, xiao sheng wen ++License: Apache-2 ++ ++License: Apache-2 ++ Licensed under the Apache License, Version 2.0 (the "License"); ++ you may not use this file except in compliance with the License. ++ You may obtain a copy of the License at ++ . ++ http://www.apache.org/licenses/LICENSE-2.0 ++ . ++ Unless required by applicable law or agreed to in writing, software ++ distributed under the License is distributed on an "AS IS" BASIS, ++ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ++ See the License for the specific language governing permissions and ++ limitations under the License. ++ . ++ On Debian systems, the complete text of the Apache version 2.0 license ++ can be found in `/usr/share/common-licenses/Apache-2.0'. ++ ++Files: deps/darts-clone/* ++Copyright: 2001-2008, Taku Kudoh ++License: BSD-3-Clause ++ ++License: BSD-3-Clause ++ 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. ++ 3. The name Nara Institute of Science and Technology may not be used to ++ endorse or promote products derived from this software without specific ++ prior written permission. ++ . ++ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ++ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ++ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ++ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ++ OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ++ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ++ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ++ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ++ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ++ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ++ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --cc debian/docs index 0000000,0000000..0b6e0f3 new file mode 100644 --- /dev/null +++ b/debian/docs @@@ -1,0 -1,0 +1,2 @@@ ++AUTHORS ++README.md diff --cc debian/gbp.conf index 0000000,0000000..cec628c new file mode 100644 --- /dev/null +++ b/debian/gbp.conf @@@ -1,0 -1,0 +1,2 @@@ ++[DEFAULT] ++pristine-tar = True diff --cc debian/libopencc-data.install index 0000000,0000000..1ef017d new file mode 100644 --- /dev/null +++ b/debian/libopencc-data.install @@@ -1,0 -1,0 +1,1 @@@ ++usr/share/opencc/*.json diff --cc debian/libopencc-dev.install index 0000000,0000000..7df81cd new file mode 100644 --- /dev/null +++ b/debian/libopencc-dev.install @@@ -1,0 -1,0 +1,3 @@@ ++usr/include/* ++usr/lib/*/lib*.so ++usr/lib/*/pkgconfig/* diff --cc debian/libopencc-doc.doc-base index 0000000,0000000..8c24829 new file mode 100644 --- /dev/null +++ b/debian/libopencc-doc.doc-base @@@ -1,0 -1,0 +1,10 @@@ ++Document: opencc ++Title: Open Chinese Convert ++Author: BYVoid ++Abstract: This document describes the OpenCC. ++ A project for conversion between Traditional and Simplified Chinese. ++Section: Text ++ ++Format: HTML ++Index: /usr/share/doc/opencc/html/index.html ++Files: /usr/share/doc/opencc/html/*.html diff --cc debian/libopencc-doc.docs index 0000000,0000000..69420c8 new file mode 100644 --- /dev/null +++ b/debian/libopencc-doc.docs @@@ -1,0 -1,0 +1,1 @@@ ++usr/share/opencc/doc/* diff --cc debian/libopencc1.1.install index 0000000,0000000..28d741f new file mode 100644 --- /dev/null +++ b/debian/libopencc1.1.install @@@ -1,0 -1,0 +1,2 @@@ ++usr/lib/*/lib*.so.* ++usr/share/opencc/*.ocd2 diff --cc debian/libopencc1.1.symbols index 0000000,0000000..8f82835 new file mode 100644 --- /dev/null +++ b/debian/libopencc1.1.symbols @@@ -1,0 -1,0 +1,605 @@@ ++# SymbolsHelper-Confirmed: 1.1.1+git20200624+ds2 alpha amd64 arm64 armel armhf hppa hurd-i386 i386 ia64 kfreebsd-i386 m68k mips64el mipsel powerpc ppc64 ppc64el riscv64 s390x sh4 sparc64 x32 ++libopencc.so.1.1 libopencc1.1 #MINVER# ++* Build-Depends-Package: libopencc-dev ++ _Z11ConvertDictRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt10shared_ptrIN6opencc4DictEE@Base 1.1.1+git20200624+ds2 ++ _Z14LoadDictionaryRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_@Base 1.1.1+git20200624+ds2 ++ _Z20opencc_open_internalPKc@Base 1.1.1+git20200624+ds2 ++ _ZN5Darts15DoubleArrayImplIvvivED0Ev@Base 1.1.1+git20200624+ds2 ++ _ZN5Darts15DoubleArrayImplIvvivED1Ev@Base 1.1.1+git20200624+ds2 ++ _ZN5Darts15DoubleArrayImplIvvivED2Ev@Base 1.1.1+git20200624+ds2 ++ _ZN5Darts7Details18DoubleArrayBuilder17build_from_keysetIiEEvRKNS0_6KeysetIT_EE@Base 1.1.1+git20200624+ds2 ++ (subst)_ZN5Darts7Details18DoubleArrayBuilder17build_from_keysetIiEEvRKNS0_6KeysetIT_EE{size_t}{size_t}{size_t}{size_t}@Base 1.1.1+git20200624+ds2 ++ (subst)_ZN5Darts7Details18DoubleArrayBuilder19arrange_from_keysetIiEE{size_t}RKNS0_6KeysetIT_EE{size_t}{size_t}{size_t}{size_t}@Base 1.1.1+git20200624+ds2 ++ (subst)_ZN5Darts7Details18DoubleArrayBuilder9fix_blockE{size_t}@Base 1.1.1+git20200624+ds2 ++ _ZN5Darts7Details18DoubleArrayBuilderD1Ev@Base 1.1.1+git20200624+ds2 ++ _ZN5Darts7Details18DoubleArrayBuilderD2Ev@Base 1.1.1+git20200624+ds2 ++ (subst)_ZN5Darts7Details8AutoPoolINS0_22DoubleArrayBuilderUnitEE10resize_bufE{size_t}@Base 1.1.1+git20200624+ds2 ++ (subst)_ZN5Darts7Details8AutoPoolIhE10resize_bufE{size_t}@Base 1.1.1+git20200624+ds2 ++ _ZN5Darts7Details9ExceptionD0Ev@Base 1.1.1+git20200624+ds2 ++ _ZN5Darts7Details9ExceptionD1Ev@Base 1.1.1+git20200624+ds2 ++ _ZN5Darts7Details9ExceptionD2Ev@Base 1.1.1+git20200624+ds2 ++ _ZN6marisa6KeysetD1Ev@Base 1.1.1+git20200624+ds2 ++ _ZN6marisa6KeysetD2Ev@Base 1.1.1+git20200624+ds2 ++ _ZN6opencc10BinaryDict11NewFromFileEP8_IO_FILE@Base 1.1.1+git20200624+ds2 ++ _ZN6opencc10BinaryDictD0Ev@Base 1.1.1+git20200624+ds2 ++ _ZN6opencc10BinaryDictD1Ev@Base 1.1.1+git20200624+ds2 ++ _ZN6opencc10BinaryDictD2Ev@Base 1.1.1+git20200624+ds2 ++ _ZN6opencc10MarisaDict11NewFromDictERKNS_4DictE@Base 1.1.1+git20200624+ds2 ++ _ZN6opencc10MarisaDict11NewFromFileEP8_IO_FILE@Base 1.1.1+git20200624+ds2 ++ _ZN6opencc10MarisaDictC1Ev@Base 1.1.1+git20200624+ds2 ++ _ZN6opencc10MarisaDictC2Ev@Base 1.1.1+git20200624+ds2 ++ _ZN6opencc10MarisaDictD0Ev@Base 1.1.1+git20200624+ds2 ++ _ZN6opencc10MarisaDictD1Ev@Base 1.1.1+git20200624+ds2 ++ _ZN6opencc10MarisaDictD2Ev@Base 1.1.1+git20200624+ds2 ++ _ZN6opencc11InvalidUTF8C1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 1.1.1+git20200624+ds2 ++ _ZN6opencc11InvalidUTF8C2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 1.1.1+git20200624+ds2 ++ _ZN6opencc11InvalidUTF8D0Ev@Base 1.1.1+git20200624+ds2 ++ _ZN6opencc11InvalidUTF8D1Ev@Base 1.1.1+git20200624+ds2 ++ _ZN6opencc11InvalidUTF8D2Ev@Base 1.1.1+git20200624+ds2 ++ _ZN6opencc12FileNotFoundC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 1.1.1+git20200624+ds2 ++ _ZN6opencc12FileNotFoundC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 1.1.1+git20200624+ds2 ++ _ZN6opencc12FileNotFoundD0Ev@Base 1.1.1+git20200624+ds2 ++ _ZN6opencc12FileNotFoundD1Ev@Base 1.1.1+git20200624+ds2 ++ _ZN6opencc12FileNotFoundD2Ev@Base 1.1.1+git20200624+ds2 ++ _ZN6opencc13InvalidFormatC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 1.1.1+git20200624+ds2 ++ _ZN6opencc13InvalidFormatC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 1.1.1+git20200624+ds2 ++ _ZN6opencc13InvalidFormatD0Ev@Base 1.1.1+git20200624+ds2 ++ _ZN6opencc13InvalidFormatD1Ev@Base 1.1.1+git20200624+ds2 ++ _ZN6opencc13InvalidFormatD2Ev@Base 1.1.1+git20200624+ds2 ++ _ZN6opencc13PhraseExtract11SelectWordsEv@Base 1.1.1+git20200624+ds2 ++ _ZN6opencc13PhraseExtract15ExtractPrefixesEv@Base 1.1.1+git20200624+ds2 ++ _ZN6opencc13PhraseExtract15ExtractSuffixesEv@Base 1.1.1+git20200624+ds2 ++ _ZN6opencc13PhraseExtract18CalculateCohesionsEv@Base 1.1.1+git20200624+ds2 ++ _ZN6opencc13PhraseExtract18CalculateFrequencyEv@Base 1.1.1+git20200624+ds2 ++ _ZN6opencc13PhraseExtract21ExtractWordCandidatesEv@Base 1.1.1+git20200624+ds2 ++ _ZN6opencc13PhraseExtract22CalculatePrefixEntropyEv@Base 1.1.1+git20200624+ds2 ++ _ZN6opencc13PhraseExtract22CalculateSuffixEntropyEv@Base 1.1.1+git20200624+ds2 ++ _ZN6opencc13PhraseExtract27DefaultPreCalculationFilterERKS0_RKNS_19UTF8StringSliceBaseIhEE@Base 1.1.1+git20200624+ds2 ++ _ZN6opencc13PhraseExtract28DefaultPostCalculationFilterERKS0_RKNS_19UTF8StringSliceBaseIhEE@Base 1.1.1+git20200624+ds2 ++ _ZN6opencc13PhraseExtract5ResetEv@Base 1.1.1+git20200624+ds2 ++ _ZN6opencc13PhraseExtract8DictType9BuildTrieEv@Base 1.1.1+git20200624+ds2 ++ _ZN6opencc13PhraseExtractC1Ev@Base 1.1.1+git20200624+ds2 ++ _ZN6opencc13PhraseExtractC2Ev@Base 1.1.1+git20200624+ds2 ++ _ZN6opencc13PhraseExtractD0Ev@Base 1.1.1+git20200624+ds2 ++ _ZN6opencc13PhraseExtractD1Ev@Base 1.1.1+git20200624+ds2 ++ _ZN6opencc13PhraseExtractD2Ev@Base 1.1.1+git20200624+ds2 ++ _ZN6opencc15ConversionChainC1ENSt7__cxx114listISt10shared_ptrINS_10ConversionEESaIS5_EEE@Base 1.1.1+git20200624+ds2 ++ _ZN6opencc15ConversionChainC2ENSt7__cxx114listISt10shared_ptrINS_10ConversionEESaIS5_EEE@Base 1.1.1+git20200624+ds2 ++ _ZN6opencc15FileNotWritableC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 1.1.1+git20200624+ds2 ++ _ZN6opencc15FileNotWritableC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 1.1.1+git20200624+ds2 ++ _ZN6opencc15FileNotWritableD0Ev@Base 1.1.1+git20200624+ds2 ++ _ZN6opencc15FileNotWritableD1Ev@Base 1.1.1+git20200624+ds2 ++ _ZN6opencc15FileNotWritableD2Ev@Base 1.1.1+git20200624+ds2 ++ _ZN6opencc15ShouldNotBeHereC1Ev@Base 1.1.1+git20200624+ds2 ++ _ZN6opencc15ShouldNotBeHereC2Ev@Base 1.1.1+git20200624+ds2 ++ _ZN6opencc15ShouldNotBeHereD0Ev@Base 1.1.1+git20200624+ds2 ++ _ZN6opencc15ShouldNotBeHereD1Ev@Base 1.1.1+git20200624+ds2 ++ _ZN6opencc15ShouldNotBeHereD2Ev@Base 1.1.1+git20200624+ds2 ++ _ZN6opencc15SimpleConverterC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 1.1.1+git20200624+ds2 ++ _ZN6opencc15SimpleConverterC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 1.1.1+git20200624+ds2 ++ _ZN6opencc15SimpleConverterD1Ev@Base 1.1.1+git20200624+ds2 ++ _ZN6opencc15SimpleConverterD2Ev@Base 1.1.1+git20200624+ds2 ++ _ZN6opencc16NoValueDictEntryD0Ev@Base 1.1.1+git20200624+ds2 ++ _ZN6opencc16NoValueDictEntryD1Ev@Base 1.1.1+git20200624+ds2 ++ _ZN6opencc16NoValueDictEntryD2Ev@Base 1.1.1+git20200624+ds2 ++ _ZN6opencc16SerializedValues11NewFromFileEP8_IO_FILE@Base 1.1.1+git20200624+ds2 ++ _ZN6opencc16SerializedValuesD0Ev@Base 1.1.1+git20200624+ds2 ++ _ZN6opencc16SerializedValuesD1Ev@Base 1.1.1+git20200624+ds2 ++ _ZN6opencc16SerializedValuesD2Ev@Base 1.1.1+git20200624+ds2 ++ _ZN6opencc17ConvertDictionaryENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_S5_S5_@Base 1.1.1+git20200624+ds2 ++ _ZN6opencc20MaxMatchSegmentationD0Ev@Base 1.1.1+git20200624+ds2 ++ _ZN6opencc20MaxMatchSegmentationD1Ev@Base 1.1.1+git20200624+ds2 ++ _ZN6opencc20MaxMatchSegmentationD2Ev@Base 1.1.1+git20200624+ds2 ++ (subst)_ZN6opencc21InvalidTextDictionaryC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE{size_t}@Base 1.1.1+git20200624+ds2 ++ (subst)_ZN6opencc21InvalidTextDictionaryC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE{size_t}@Base 1.1.1+git20200624+ds2 ++ _ZN6opencc21InvalidTextDictionaryD0Ev@Base 1.1.1+git20200624+ds2 ++ _ZN6opencc21InvalidTextDictionaryD1Ev@Base 1.1.1+git20200624+ds2 ++ _ZN6opencc21InvalidTextDictionaryD2Ev@Base 1.1.1+git20200624+ds2 ++ _ZN6opencc22StrMultiValueDictEntryD0Ev@Base 1.1.1+git20200624+ds2 ++ _ZN6opencc22StrMultiValueDictEntryD1Ev@Base 1.1.1+git20200624+ds2 ++ _ZN6opencc22StrMultiValueDictEntryD2Ev@Base 1.1.1+git20200624+ds2 ++ _ZN6opencc23StrSingleValueDictEntryD0Ev@Base 1.1.1+git20200624+ds2 ++ _ZN6opencc23StrSingleValueDictEntryD1Ev@Base 1.1.1+git20200624+ds2 ++ _ZN6opencc23StrSingleValueDictEntryD2Ev@Base 1.1.1+git20200624+ds2 ++ (subst)_ZN6opencc28CalculatePrefixSuffixEntropyILb0EEEvRKSt6vectorINS_19UTF8StringSliceBaseIhEESaIS3_EE{size_t}{size_t}{size_t}RKSt8functionIFvRKS3_RSt13unordered_mapIS3_{size_t}NS3_6HasherESt8equal_toIS3_ESaISt4pairIS9_{size_t}EEEEE@Base 1.1.1+git20200624+ds2 ++ (subst)_ZN6opencc28CalculatePrefixSuffixEntropyILb1EEEvRKSt6vectorINS_19UTF8StringSliceBaseIhEESaIS3_EE{size_t}{size_t}{size_t}RKSt8functionIFvRKS3_RSt13unordered_mapIS3_{size_t}NS3_6HasherESt8equal_toIS3_ESaISt4pairIS9_{size_t}EEEEE@Base 1.1.1+git20200624+ds2 ++ _ZN6opencc6Config11NewFromFileERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 1.1.1+git20200624+ds2 ++ _ZN6opencc6Config13NewFromStringERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_@Base 1.1.1+git20200624+ds2 ++ _ZN6opencc6ConfigC1Ev@Base 1.1.1+git20200624+ds2 ++ _ZN6opencc6ConfigC2Ev@Base 1.1.1+git20200624+ds2 ++ _ZN6opencc6ConfigD0Ev@Base 1.1.1+git20200624+ds2 ++ _ZN6opencc6ConfigD1Ev@Base 1.1.1+git20200624+ds2 ++ _ZN6opencc6ConfigD2Ev@Base 1.1.1+git20200624+ds2 ++ _ZN6opencc7Lexicon4SortEv@Base 1.1.1+git20200624+ds2 ++ _ZN6opencc7Lexicon8IsSortedEv@Base 1.1.1+git20200624+ds2 ++ _ZN6opencc8TextDict11NewFromDictERKNS_4DictE@Base 1.1.1+git20200624+ds2 ++ _ZN6opencc8TextDict11NewFromFileEP8_IO_FILE@Base 1.1.1+git20200624+ds2 ++ _ZN6opencc8TextDict17NewFromSortedFileEP8_IO_FILE@Base 1.1.1+git20200624+ds2 ++ _ZN6opencc8TextDictC1ERKSt10shared_ptrINS_7LexiconEE@Base 1.1.1+git20200624+ds2 ++ _ZN6opencc8TextDictC2ERKSt10shared_ptrINS_7LexiconEE@Base 1.1.1+git20200624+ds2 ++ _ZN6opencc8TextDictD0Ev@Base 1.1.1+git20200624+ds2 ++ _ZN6opencc8TextDictD1Ev@Base 1.1.1+git20200624+ds2 ++ _ZN6opencc8TextDictD2Ev@Base 1.1.1+git20200624+ds2 ++ _ZN6opencc8UTF8Util11SkipUtf8BomEP8_IO_FILE@Base 1.1.1+git20200624+ds2 ++ _ZN6opencc8internal19ContainsPunctuationERKNS_19UTF8StringSliceBaseIhEE@Base 1.1.1+git20200624+ds2 ++ _ZN6opencc9ConverterD1Ev@Base 1.1.1+git20200624+ds2 ++ _ZN6opencc9ConverterD2Ev@Base 1.1.1+git20200624+ds2 ++ _ZN6opencc9DartsDict11NewFromDictERKNS_4DictE@Base 1.1.1+git20200624+ds2 ++ _ZN6opencc9DartsDict11NewFromFileEP8_IO_FILE@Base 1.1.1+git20200624+ds2 ++ _ZN6opencc9DartsDictC1Ev@Base 1.1.1+git20200624+ds2 ++ _ZN6opencc9DartsDictC2Ev@Base 1.1.1+git20200624+ds2 ++ _ZN6opencc9DartsDictD0Ev@Base 1.1.1+git20200624+ds2 ++ _ZN6opencc9DartsDictD1Ev@Base 1.1.1+git20200624+ds2 ++ _ZN6opencc9DartsDictD2Ev@Base 1.1.1+git20200624+ds2 ++ _ZN6opencc9DictEntry12UPtrLessThanERKSt10unique_ptrIS0_St14default_deleteIS0_EES6_@Base 1.1.1+git20200624+ds2 ++ _ZN6opencc9DictGroup11NewFromDictERKNS_4DictE@Base 1.1.1+git20200624+ds2 ++ _ZN6opencc9DictGroupC1ERKNSt7__cxx114listISt10shared_ptrINS_4DictEESaIS5_EEE@Base 1.1.1+git20200624+ds2 ++ _ZN6opencc9DictGroupC2ERKNSt7__cxx114listISt10shared_ptrINS_4DictEESaIS5_EEE@Base 1.1.1+git20200624+ds2 ++ _ZN6opencc9DictGroupD0Ev@Base 1.1.1+git20200624+ds2 ++ _ZN6opencc9DictGroupD1Ev@Base 1.1.1+git20200624+ds2 ++ _ZN6opencc9DictGroupD2Ev@Base 1.1.1+git20200624+ds2 ++ _ZN6opencc9ExceptionD0Ev@Base 1.1.1+git20200624+ds2 ++ _ZN6opencc9ExceptionD1Ev@Base 1.1.1+git20200624+ds2 ++ _ZN6opencc9ExceptionD2Ev@Base 1.1.1+git20200624+ds2 ++ (subst)_ZN9rapidjson12GenericValueINS_4UTF8IcEENS_19MemoryPoolAllocatorINS_12CrtAllocatorEEEEC1E{int64_t}@Base 1.1.1+git20200624+ds2 ++ (subst)_ZN9rapidjson12GenericValueINS_4UTF8IcEENS_19MemoryPoolAllocatorINS_12CrtAllocatorEEEEC2E{int64_t}@Base 1.1.1+git20200624+ds2 ++ _ZN9rapidjson13GenericReaderINS_4UTF8IcEES2_NS_12CrtAllocatorEE10ParseValueILj1ENS_25GenericInsituStringStreamIS2_EENS_15GenericDocumentIS2_NS_19MemoryPoolAllocatorIS3_EES3_EEEEvRT0_RT1_@Base 1.1.1+git20200624+ds2 ++ _ZN9rapidjson13GenericReaderINS_4UTF8IcEES2_NS_12CrtAllocatorEE11ParseNumberILj1ENS_25GenericInsituStringStreamIS2_EENS_15GenericDocumentIS2_NS_19MemoryPoolAllocatorIS3_EES3_EEEEvRT0_RT1_@Base 1.1.1+git20200624+ds2 ++ _ZN9rapidjson13GenericReaderINS_4UTF8IcEES2_NS_12CrtAllocatorEE11ParseStringILj1ENS_25GenericInsituStringStreamIS2_EENS_15GenericDocumentIS2_NS_19MemoryPoolAllocatorIS3_EES3_EEEEvRT0_RT1_b@Base 1.1.1+git20200624+ds2 ++ (optional=templinst|arch=alpha arm64 armel armhf powerpc ppc64 ppc64el s390x sh4|subst)_ZN9rapidjson19MemoryPoolAllocatorINS_12CrtAllocatorEE6MallocE{size_t}@Base 1.1.1+git20200624+ds2 ++ _ZN9rapidjson8internal5StackINS_12CrtAllocatorEE7DestroyEv@Base 1.1.1+git20200624+ds2 ++ _ZNK5Darts7Details9Exception4whatEv@Base 1.1.1+git20200624+ds2 ++ _ZNK6opencc10BinaryDict12KeyMaxLengthEv@Base 1.1.1+git20200624+ds2 ++ (subst)_ZNK6opencc10BinaryDict15ConstructBufferERNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERSt6vectorI{size_t}SaI{size_t}EER{size_t}S7_SB_SC_@Base 1.1.1+git20200624+ds2 ++ _ZNK6opencc10BinaryDict15SerializeToFileEP8_IO_FILE@Base 1.1.1+git20200624+ds2 ++ _ZNK6opencc10Conversion7ConvertB5cxx11EPKc@Base 1.1.1+git20200624+ds2 ++ _ZNK6opencc10Conversion7ConvertERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 1.1.1+git20200624+ds2 ++ _ZNK6opencc10Conversion7ConvertERKSt10shared_ptrINS_8SegmentsEE@Base 1.1.1+git20200624+ds2 ++ _ZNK6opencc10MarisaDict10GetLexiconEv@Base 1.1.1+git20200624+ds2 ++ (subst)_ZNK6opencc10MarisaDict11MatchPrefixEPKc{size_t}@Base 1.1.1+git20200624+ds2 ++ _ZNK6opencc10MarisaDict12KeyMaxLengthEv@Base 1.1.1+git20200624+ds2 ++ _ZNK6opencc10MarisaDict15SerializeToFileEP8_IO_FILE@Base 1.1.1+git20200624+ds2 ++ (subst)_ZNK6opencc10MarisaDict16MatchAllPrefixesEPKc{size_t}@Base 1.1.1+git20200624+ds2 ++ (subst)_ZNK6opencc10MarisaDict5MatchEPKc{size_t}@Base 1.1.1+git20200624+ds2 ++ _ZNK6opencc13PhraseExtract11ProbabilityERKNS_19UTF8StringSliceBaseIhEE@Base 1.1.1+git20200624+ds2 ++ _ZNK6opencc13PhraseExtract13PrefixEntropyERKNS_19UTF8StringSliceBaseIhEE@Base 1.1.1+git20200624+ds2 ++ _ZNK6opencc13PhraseExtract13SuffixEntropyERKNS_19UTF8StringSliceBaseIhEE@Base 1.1.1+git20200624+ds2 ++ _ZNK6opencc13PhraseExtract14LogProbabilityERKNS_19UTF8StringSliceBaseIhEE@Base 1.1.1+git20200624+ds2 ++ (subst)_ZNK6opencc13PhraseExtract16CalculateEntropyERKSt13unordered_mapINS_19UTF8StringSliceBaseIhEE{size_t}NS3_6HasherESt8equal_toIS3_ESaISt4pairIKS3_{size_t}EEE@Base 1.1.1+git20200624+ds2 ++ _ZNK6opencc13PhraseExtract17CalculateCohesionERKNS_19UTF8StringSliceBaseIhEE@Base 1.1.1+git20200624+ds2 ++ _ZNK6opencc13PhraseExtract3PMIERKNS_19UTF8StringSliceBaseIhEES4_S4_@Base 1.1.1+git20200624+ds2 ++ _ZNK6opencc13PhraseExtract6SignalERKNS_19UTF8StringSliceBaseIhEE@Base 1.1.1+git20200624+ds2 ++ _ZNK6opencc13PhraseExtract7EntropyERKNS_19UTF8StringSliceBaseIhEE@Base 1.1.1+git20200624+ds2 ++ _ZNK6opencc13PhraseExtract8CohesionERKNS_19UTF8StringSliceBaseIhEE@Base 1.1.1+git20200624+ds2 ++ _ZNK6opencc13PhraseExtract9FrequencyERKNS_19UTF8StringSliceBaseIhEE@Base 1.1.1+git20200624+ds2 ++ _ZNK6opencc15ConversionChain7ConvertERKSt10shared_ptrINS_8SegmentsEE@Base 1.1.1+git20200624+ds2 ++ _ZNK6opencc15SimpleConverter7ConvertB5cxx11EPKc@Base 1.1.1+git20200624+ds2 ++ (subst)_ZNK6opencc15SimpleConverter7ConvertB5cxx11EPKc{size_t}@Base 1.1.1+git20200624+ds2 ++ _ZNK6opencc15SimpleConverter7ConvertEPKcPc@Base 1.1.1+git20200624+ds2 ++ (subst)_ZNK6opencc15SimpleConverter7ConvertEPKc{size_t}Pc@Base 1.1.1+git20200624+ds2 ++ _ZNK6opencc15SimpleConverter7ConvertERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 1.1.1+git20200624+ds2 ++ _ZNK6opencc16NoValueDictEntry10GetDefaultB5cxx11Ev@Base 1.1.1+git20200624+ds2 ++ _ZNK6opencc16NoValueDictEntry3KeyB5cxx11Ev@Base 1.1.1+git20200624+ds2 ++ _ZNK6opencc16NoValueDictEntry6ValuesB5cxx11Ev@Base 1.1.1+git20200624+ds2 ++ _ZNK6opencc16NoValueDictEntry8ToStringB5cxx11Ev@Base 1.1.1+git20200624+ds2 ++ _ZNK6opencc16NoValueDictEntry9NumValuesEv@Base 1.1.1+git20200624+ds2 ++ _ZNK6opencc16SerializableDict15SerializeToFileERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 1.1.1+git20200624+ds2 ++ _ZNK6opencc16SerializedValues12KeyMaxLengthEv@Base 1.1.1+git20200624+ds2 ++ _ZNK6opencc16SerializedValues15ConstructBufferEPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPSt6vectorItSaItEEPj@Base 1.1.1+git20200624+ds2 ++ _ZNK6opencc16SerializedValues15SerializeToFileEP8_IO_FILE@Base 1.1.1+git20200624+ds2 ++ _ZNK6opencc19MultiValueDictEntry10GetDefaultB5cxx11Ev@Base 1.1.1+git20200624+ds2 ++ _ZNK6opencc19MultiValueDictEntry8ToStringB5cxx11Ev@Base 1.1.1+git20200624+ds2 ++ _ZNK6opencc19UTF8StringSliceBaseIhE14ReverseCompareERKS1_@Base 1.1.1+git20200624+ds2 ++ _ZNK6opencc20MaxMatchSegmentation7SegmentERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 1.1.1+git20200624+ds2 ++ _ZNK6opencc20SingleValueDictEntry10GetDefaultB5cxx11Ev@Base 1.1.1+git20200624+ds2 ++ _ZNK6opencc20SingleValueDictEntry6ValuesB5cxx11Ev@Base 1.1.1+git20200624+ds2 ++ _ZNK6opencc20SingleValueDictEntry8ToStringB5cxx11Ev@Base 1.1.1+git20200624+ds2 ++ _ZNK6opencc20SingleValueDictEntry9NumValuesEv@Base 1.1.1+git20200624+ds2 ++ _ZNK6opencc22StrMultiValueDictEntry3KeyB5cxx11Ev@Base 1.1.1+git20200624+ds2 ++ _ZNK6opencc22StrMultiValueDictEntry6ValuesB5cxx11Ev@Base 1.1.1+git20200624+ds2 ++ _ZNK6opencc22StrMultiValueDictEntry9NumValuesEv@Base 1.1.1+git20200624+ds2 ++ _ZNK6opencc23StrSingleValueDictEntry3KeyB5cxx11Ev@Base 1.1.1+git20200624+ds2 ++ _ZNK6opencc23StrSingleValueDictEntry5ValueB5cxx11Ev@Base 1.1.1+git20200624+ds2 ++ (subst)_ZNK6opencc4Dict11MatchPrefixEPKc{size_t}@Base 1.1.1+git20200624+ds2 ++ (subst)_ZNK6opencc4Dict16MatchAllPrefixesEPKc{size_t}@Base 1.1.1+git20200624+ds2 ++ (arch=alpha amd64 arm64 ia64 mips64el ppc64 ppc64el riscv64 s390x sparc64)_ZNK6opencc8Segments8ToStringB5cxx11Ev@Base 1.1.1+git20200624+ds2 ++ _ZNK6opencc8TextDict10GetLexiconEv@Base 1.1.1+git20200624+ds2 ++ _ZNK6opencc8TextDict12KeyMaxLengthEv@Base 1.1.1+git20200624+ds2 ++ _ZNK6opencc8TextDict15SerializeToFileEP8_IO_FILE@Base 1.1.1+git20200624+ds2 ++ (subst)_ZNK6opencc8TextDict5MatchEPKc{size_t}@Base 1.1.1+git20200624+ds2 ++ _ZNK6opencc9Converter7ConvertEPKcPc@Base 1.1.1+git20200624+ds2 ++ _ZNK6opencc9Converter7ConvertERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 1.1.1+git20200624+ds2 ++ _ZNK6opencc9DartsDict10GetLexiconEv@Base 1.1.1+git20200624+ds2 ++ (subst)_ZNK6opencc9DartsDict11MatchPrefixEPKc{size_t}@Base 1.1.1+git20200624+ds2 ++ _ZNK6opencc9DartsDict12KeyMaxLengthEv@Base 1.1.1+git20200624+ds2 ++ _ZNK6opencc9DartsDict15SerializeToFileEP8_IO_FILE@Base 1.1.1+git20200624+ds2 ++ (subst)_ZNK6opencc9DartsDict5MatchEPKc{size_t}@Base 1.1.1+git20200624+ds2 ++ _ZNK6opencc9DictGroup10GetLexiconEv@Base 1.1.1+git20200624+ds2 ++ (subst)_ZNK6opencc9DictGroup11MatchPrefixEPKc{size_t}@Base 1.1.1+git20200624+ds2 ++ _ZNK6opencc9DictGroup12KeyMaxLengthEv@Base 1.1.1+git20200624+ds2 ++ (subst)_ZNK6opencc9DictGroup16MatchAllPrefixesEPKc{size_t}@Base 1.1.1+git20200624+ds2 ++ (subst)_ZNK6opencc9DictGroup5MatchEPKc{size_t}@Base 1.1.1+git20200624+ds2 ++ _ZNK6opencc9Exception4whatEv@Base 1.1.1+git20200624+ds2 ++ (subst)_ZNSt10_HashtableIN6opencc19UTF8StringSliceBaseIhEESt4pairIKS2_{size_t}ESaIS5_ENSt8__detail10_Select1stESt8equal_toIS2_ENS2_6HasherENS7_18_Mod_range_hashingENS7_20_Default_ranged_hashENS7_20_Prime_rehash_policyENS7_17_Hashtable_traitsILb1ELb0ELb1EEEE9_M_rehashE{size_t}RK{size_t}@Base 1.1.1+git20200624+ds2 ++ (subst)_ZNSt10_HashtableIN6opencc19UTF8StringSliceBaseIhEESt4pairIKS2_{size_t}ESaIS5_ENSt8__detail10_Select1stESt8equal_toIS2_ENS2_6HasherENS7_18_Mod_range_hashingENS7_20_Default_ranged_hashENS7_20_Prime_rehash_policyENS7_17_Hashtable_traitsILb1ELb0ELb1EEEED1Ev@Base 1.1.1+git20200624+ds2 ++ (subst)_ZNSt10_HashtableIN6opencc19UTF8StringSliceBaseIhEESt4pairIKS2_{size_t}ESaIS5_ENSt8__detail10_Select1stESt8equal_toIS2_ENS2_6HasherENS7_18_Mod_range_hashingENS7_20_Default_ranged_hashENS7_20_Prime_rehash_policyENS7_17_Hashtable_traitsILb1ELb0ELb1EEEED2Ev@Base 1.1.1+git20200624+ds2 ++ (subst)_ZNSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St10shared_ptrIN6opencc4DictEEESaISC_ENSt8__detail10_Select1stESt8equal_toIS5_ESt4hashIS5_ENSE_18_Mod_range_hashingENSE_20_Default_ranged_hashENSE_20_Prime_rehash_policyENSE_17_Hashtable_traitsILb1ELb0ELb1EEEE9_M_rehashE{size_t}RK{size_t}@Base 1.1.1+git20200624+ds2 ++ _ZNSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St10unique_ptrIN6opencc9DictEntryESt14default_deleteISA_EEESaISE_ENSt8__detail10_Select1stESt8equal_toIS5_ESt4hashIS5_ENSG_18_Mod_range_hashingENSG_20_Default_ranged_hashENSG_20_Prime_rehash_policyENSG_17_Hashtable_traitsILb1ELb0ELb1EEEE12_Scoped_nodeD1Ev@Base 1.1.1+git20200624+ds2 ++ _ZNSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St10unique_ptrIN6opencc9DictEntryESt14default_deleteISA_EEESaISE_ENSt8__detail10_Select1stESt8equal_toIS5_ESt4hashIS5_ENSG_18_Mod_range_hashingENSG_20_Default_ranged_hashENSG_20_Prime_rehash_policyENSG_17_Hashtable_traitsILb1ELb0ELb1EEEE12_Scoped_nodeD2Ev@Base 1.1.1+git20200624+ds2 ++ (subst)_ZNSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St10unique_ptrIN6opencc9DictEntryESt14default_deleteISA_EEESaISE_ENSt8__detail10_Select1stESt8equal_toIS5_ESt4hashIS5_ENSG_18_Mod_range_hashingENSG_20_Default_ranged_hashENSG_20_Prime_rehash_policyENSG_17_Hashtable_traitsILb1ELb0ELb1EEEE9_M_rehashE{size_t}RK{size_t}@Base 1.1.1+git20200624+ds2 ++ _ZNSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St10unique_ptrIN6opencc9DictEntryESt14default_deleteISA_EEESaISE_ENSt8__detail10_Select1stESt8equal_toIS5_ESt4hashIS5_ENSG_18_Mod_range_hashingENSG_20_Default_ranged_hashENSG_20_Prime_rehash_policyENSG_17_Hashtable_traitsILb1ELb0ELb1EEEED1Ev@Base 1.1.1+git20200624+ds2 ++ _ZNSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St10unique_ptrIN6opencc9DictEntryESt14default_deleteISA_EEESaISE_ENSt8__detail10_Select1stESt8equal_toIS5_ESt4hashIS5_ENSG_18_Mod_range_hashingENSG_20_Default_ranged_hashENSG_20_Prime_rehash_policyENSG_17_Hashtable_traitsILb1ELb0ELb1EEEED2Ev@Base 1.1.1+git20200624+ds2 ++ (subst)_ZNSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St13unordered_mapIS5_S8_IS5_St10shared_ptrIN6opencc4DictEESt4hashIS5_ESt8equal_toIS5_ESaIS6_IS7_SC_EEESE_SG_SaIS6_IS7_SJ_EEEESaISN_ENSt8__detail10_Select1stESG_SE_NSP_18_Mod_range_hashingENSP_20_Default_ranged_hashENSP_20_Prime_rehash_policyENSP_17_Hashtable_traitsILb1ELb0ELb1EEEE9_M_rehashE{size_t}RK{size_t}@Base 1.1.1+git20200624+ds2 ++ _ZNSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St13unordered_mapIS5_St10shared_ptrIN6opencc4DictEESt4hashIS5_ESt8equal_toIS5_ESaIS6_IS7_SC_EEEESaISK_ENSt8__detail10_Select1stESG_SE_NSM_18_Mod_range_hashingENSM_20_Default_ranged_hashENSM_20_Prime_rehash_policyENSM_17_Hashtable_traitsILb1ELb0ELb1EEEE12_Scoped_nodeD1Ev@Base 1.1.1+git20200624+ds2 ++ _ZNSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St13unordered_mapIS5_St10shared_ptrIN6opencc4DictEESt4hashIS5_ESt8equal_toIS5_ESaIS6_IS7_SC_EEEESaISK_ENSt8__detail10_Select1stESG_SE_NSM_18_Mod_range_hashingENSM_20_Default_ranged_hashENSM_20_Prime_rehash_policyENSM_17_Hashtable_traitsILb1ELb0ELb1EEEE12_Scoped_nodeD2Ev@Base 1.1.1+git20200624+ds2 ++ _ZNSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St13unordered_mapIS5_St10shared_ptrIN6opencc4DictEESt4hashIS5_ESt8equal_toIS5_ESaIS6_IS7_SC_EEEESaISK_ENSt8__detail10_Select1stESG_SE_NSM_18_Mod_range_hashingENSM_20_Default_ranged_hashENSM_20_Prime_rehash_policyENSM_17_Hashtable_traitsILb1ELb0ELb1EEEE5clearEv@Base 1.1.1+git20200624+ds2 ++ (subst)_ZNSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St13unordered_mapIS5_St10shared_ptrIN6opencc4DictEESt4hashIS5_ESt8equal_toIS5_ESaIS6_IS7_SC_EEEESaISK_ENSt8__detail10_Select1stESG_SE_NSM_18_Mod_range_hashingENSM_20_Default_ranged_hashENSM_20_Prime_rehash_policyENSM_17_Hashtable_traitsILb1ELb0ELb1EEEE9_M_rehashE{size_t}RK{size_t}@Base 1.1.1+git20200624+ds2 ++ (subst)_ZNSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESaIS8_ENSt8__detail10_Select1stESt8equal_toIS5_ESt4hashIS5_ENSA_18_Mod_range_hashingENSA_20_Default_ranged_hashENSA_20_Prime_rehash_policyENSA_17_Hashtable_traitsILb1ELb0ELb1EEEE9_M_rehashE{size_t}RK{size_t}@Base 1.1.1+git20200624+ds2 ++ (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIDnLN9__gnu_cxx12_Lock_policyE1EE10_M_disposeEv@Base 1.1.1+git20200624+ds2 ++ (arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIDnLN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv@Base 1.1.1+git20200624+ds2 ++ (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc10BinaryDictELN9__gnu_cxx12_Lock_policyE1EE10_M_destroyEv@Base 1.1.1+git20200624+ds2 ++ (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc10BinaryDictELN9__gnu_cxx12_Lock_policyE1EE10_M_disposeEv@Base 1.1.1+git20200624+ds2 ++ (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc10BinaryDictELN9__gnu_cxx12_Lock_policyE1EE14_M_get_deleterERKSt9type_info@Base 1.1.1+git20200624+ds2 ++ (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc10BinaryDictELN9__gnu_cxx12_Lock_policyE1EED0Ev@Base 1.1.1+git20200624+ds2 ++ (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc10BinaryDictELN9__gnu_cxx12_Lock_policyE1EED1Ev@Base 1.1.1+git20200624+ds2 ++ (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc10BinaryDictELN9__gnu_cxx12_Lock_policyE1EED2Ev@Base 1.1.1+git20200624+ds2 ++ (arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc10BinaryDictELN9__gnu_cxx12_Lock_policyE2EE10_M_destroyEv@Base 1.1.1+git20200624+ds2 ++ (arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc10BinaryDictELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv@Base 1.1.1+git20200624+ds2 ++ (arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc10BinaryDictELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info@Base 1.1.1+git20200624+ds2 ++ (arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc10BinaryDictELN9__gnu_cxx12_Lock_policyE2EED0Ev@Base 1.1.1+git20200624+ds2 ++ (arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc10BinaryDictELN9__gnu_cxx12_Lock_policyE2EED1Ev@Base 1.1.1+git20200624+ds2 ++ (arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc10BinaryDictELN9__gnu_cxx12_Lock_policyE2EED2Ev@Base 1.1.1+git20200624+ds2 ++ (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc10ConversionELN9__gnu_cxx12_Lock_policyE1EE10_M_destroyEv@Base 1.1.1+git20200624+ds2 ++ (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc10ConversionELN9__gnu_cxx12_Lock_policyE1EE10_M_disposeEv@Base 1.1.1+git20200624+ds2 ++ (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc10ConversionELN9__gnu_cxx12_Lock_policyE1EE14_M_get_deleterERKSt9type_info@Base 1.1.1+git20200624+ds2 ++ (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc10ConversionELN9__gnu_cxx12_Lock_policyE1EED0Ev@Base 1.1.1+git20200624+ds2 ++ (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc10ConversionELN9__gnu_cxx12_Lock_policyE1EED1Ev@Base 1.1.1+git20200624+ds2 ++ (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc10ConversionELN9__gnu_cxx12_Lock_policyE1EED2Ev@Base 1.1.1+git20200624+ds2 ++ (arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc10ConversionELN9__gnu_cxx12_Lock_policyE2EE10_M_destroyEv@Base 1.1.1+git20200624+ds2 ++ (arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc10ConversionELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv@Base 1.1.1+git20200624+ds2 ++ (arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc10ConversionELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info@Base 1.1.1+git20200624+ds2 ++ (arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc10ConversionELN9__gnu_cxx12_Lock_policyE2EED0Ev@Base 1.1.1+git20200624+ds2 ++ (arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc10ConversionELN9__gnu_cxx12_Lock_policyE2EED1Ev@Base 1.1.1+git20200624+ds2 ++ (arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc10ConversionELN9__gnu_cxx12_Lock_policyE2EED2Ev@Base 1.1.1+git20200624+ds2 ++ (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc10MarisaDictELN9__gnu_cxx12_Lock_policyE1EE10_M_destroyEv@Base 1.1.1+git20200624+ds2 ++ (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc10MarisaDictELN9__gnu_cxx12_Lock_policyE1EE10_M_disposeEv@Base 1.1.1+git20200624+ds2 ++ (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc10MarisaDictELN9__gnu_cxx12_Lock_policyE1EE14_M_get_deleterERKSt9type_info@Base 1.1.1+git20200624+ds2 ++ (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc10MarisaDictELN9__gnu_cxx12_Lock_policyE1EED0Ev@Base 1.1.1+git20200624+ds2 ++ (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc10MarisaDictELN9__gnu_cxx12_Lock_policyE1EED1Ev@Base 1.1.1+git20200624+ds2 ++ (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc10MarisaDictELN9__gnu_cxx12_Lock_policyE1EED2Ev@Base 1.1.1+git20200624+ds2 ++ (arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc10MarisaDictELN9__gnu_cxx12_Lock_policyE2EE10_M_destroyEv@Base 1.1.1+git20200624+ds2 ++ (arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc10MarisaDictELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv@Base 1.1.1+git20200624+ds2 ++ (arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc10MarisaDictELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info@Base 1.1.1+git20200624+ds2 ++ (arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc10MarisaDictELN9__gnu_cxx12_Lock_policyE2EED0Ev@Base 1.1.1+git20200624+ds2 ++ (arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc10MarisaDictELN9__gnu_cxx12_Lock_policyE2EED1Ev@Base 1.1.1+git20200624+ds2 ++ (arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc10MarisaDictELN9__gnu_cxx12_Lock_policyE2EED2Ev@Base 1.1.1+git20200624+ds2 ++ (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc15ConversionChainELN9__gnu_cxx12_Lock_policyE1EE10_M_destroyEv@Base 1.1.1+git20200624+ds2 ++ (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc15ConversionChainELN9__gnu_cxx12_Lock_policyE1EE10_M_disposeEv@Base 1.1.1+git20200624+ds2 ++ (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc15ConversionChainELN9__gnu_cxx12_Lock_policyE1EE14_M_get_deleterERKSt9type_info@Base 1.1.1+git20200624+ds2 ++ (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc15ConversionChainELN9__gnu_cxx12_Lock_policyE1EED0Ev@Base 1.1.1+git20200624+ds2 ++ (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc15ConversionChainELN9__gnu_cxx12_Lock_policyE1EED1Ev@Base 1.1.1+git20200624+ds2 ++ (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc15ConversionChainELN9__gnu_cxx12_Lock_policyE1EED2Ev@Base 1.1.1+git20200624+ds2 ++ (arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc15ConversionChainELN9__gnu_cxx12_Lock_policyE2EE10_M_destroyEv@Base 1.1.1+git20200624+ds2 ++ (arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc15ConversionChainELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv@Base 1.1.1+git20200624+ds2 ++ (arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc15ConversionChainELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info@Base 1.1.1+git20200624+ds2 ++ (arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc15ConversionChainELN9__gnu_cxx12_Lock_policyE2EED0Ev@Base 1.1.1+git20200624+ds2 ++ (arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc15ConversionChainELN9__gnu_cxx12_Lock_policyE2EED1Ev@Base 1.1.1+git20200624+ds2 ++ (arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc15ConversionChainELN9__gnu_cxx12_Lock_policyE2EED2Ev@Base 1.1.1+git20200624+ds2 ++ (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc16SerializedValuesELN9__gnu_cxx12_Lock_policyE1EE10_M_destroyEv@Base 1.1.1+git20200624+ds2 ++ (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc16SerializedValuesELN9__gnu_cxx12_Lock_policyE1EE10_M_disposeEv@Base 1.1.1+git20200624+ds2 ++ (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc16SerializedValuesELN9__gnu_cxx12_Lock_policyE1EE14_M_get_deleterERKSt9type_info@Base 1.1.1+git20200624+ds2 ++ (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc16SerializedValuesELN9__gnu_cxx12_Lock_policyE1EED0Ev@Base 1.1.1+git20200624+ds2 ++ (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc16SerializedValuesELN9__gnu_cxx12_Lock_policyE1EED1Ev@Base 1.1.1+git20200624+ds2 ++ (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc16SerializedValuesELN9__gnu_cxx12_Lock_policyE1EED2Ev@Base 1.1.1+git20200624+ds2 ++ (arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc16SerializedValuesELN9__gnu_cxx12_Lock_policyE2EE10_M_destroyEv@Base 1.1.1+git20200624+ds2 ++ (arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc16SerializedValuesELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv@Base 1.1.1+git20200624+ds2 ++ (arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc16SerializedValuesELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info@Base 1.1.1+git20200624+ds2 ++ (arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc16SerializedValuesELN9__gnu_cxx12_Lock_policyE2EED0Ev@Base 1.1.1+git20200624+ds2 ++ (arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc16SerializedValuesELN9__gnu_cxx12_Lock_policyE2EED1Ev@Base 1.1.1+git20200624+ds2 ++ (arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc16SerializedValuesELN9__gnu_cxx12_Lock_policyE2EED2Ev@Base 1.1.1+git20200624+ds2 ++ (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc20MaxMatchSegmentationELN9__gnu_cxx12_Lock_policyE1EE10_M_destroyEv@Base 1.1.1+git20200624+ds2 ++ (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc20MaxMatchSegmentationELN9__gnu_cxx12_Lock_policyE1EE10_M_disposeEv@Base 1.1.1+git20200624+ds2 ++ (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc20MaxMatchSegmentationELN9__gnu_cxx12_Lock_policyE1EE14_M_get_deleterERKSt9type_info@Base 1.1.1+git20200624+ds2 ++ (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc20MaxMatchSegmentationELN9__gnu_cxx12_Lock_policyE1EED0Ev@Base 1.1.1+git20200624+ds2 ++ (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc20MaxMatchSegmentationELN9__gnu_cxx12_Lock_policyE1EED1Ev@Base 1.1.1+git20200624+ds2 ++ (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc20MaxMatchSegmentationELN9__gnu_cxx12_Lock_policyE1EED2Ev@Base 1.1.1+git20200624+ds2 ++ (arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc20MaxMatchSegmentationELN9__gnu_cxx12_Lock_policyE2EE10_M_destroyEv@Base 1.1.1+git20200624+ds2 ++ (arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc20MaxMatchSegmentationELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv@Base 1.1.1+git20200624+ds2 ++ (arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc20MaxMatchSegmentationELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info@Base 1.1.1+git20200624+ds2 ++ (arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc20MaxMatchSegmentationELN9__gnu_cxx12_Lock_policyE2EED0Ev@Base 1.1.1+git20200624+ds2 ++ (arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc20MaxMatchSegmentationELN9__gnu_cxx12_Lock_policyE2EED1Ev@Base 1.1.1+git20200624+ds2 ++ (arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc20MaxMatchSegmentationELN9__gnu_cxx12_Lock_policyE2EED2Ev@Base 1.1.1+git20200624+ds2 ++ (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc7LexiconELN9__gnu_cxx12_Lock_policyE1EE10_M_destroyEv@Base 1.1.1+git20200624+ds2 ++ (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc7LexiconELN9__gnu_cxx12_Lock_policyE1EE10_M_disposeEv@Base 1.1.1+git20200624+ds2 ++ (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc7LexiconELN9__gnu_cxx12_Lock_policyE1EE14_M_get_deleterERKSt9type_info@Base 1.1.1+git20200624+ds2 ++ (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc7LexiconELN9__gnu_cxx12_Lock_policyE1EED0Ev@Base 1.1.1+git20200624+ds2 ++ (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc7LexiconELN9__gnu_cxx12_Lock_policyE1EED1Ev@Base 1.1.1+git20200624+ds2 ++ (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc7LexiconELN9__gnu_cxx12_Lock_policyE1EED2Ev@Base 1.1.1+git20200624+ds2 ++ (arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc7LexiconELN9__gnu_cxx12_Lock_policyE2EE10_M_destroyEv@Base 1.1.1+git20200624+ds2 ++ (arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc7LexiconELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv@Base 1.1.1+git20200624+ds2 ++ (arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc7LexiconELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info@Base 1.1.1+git20200624+ds2 ++ (arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc7LexiconELN9__gnu_cxx12_Lock_policyE2EED0Ev@Base 1.1.1+git20200624+ds2 ++ (arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc7LexiconELN9__gnu_cxx12_Lock_policyE2EED1Ev@Base 1.1.1+git20200624+ds2 ++ (arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc7LexiconELN9__gnu_cxx12_Lock_policyE2EED2Ev@Base 1.1.1+git20200624+ds2 ++ (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc8SegmentsELN9__gnu_cxx12_Lock_policyE1EE10_M_destroyEv@Base 1.1.1+git20200624+ds2 ++ (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc8SegmentsELN9__gnu_cxx12_Lock_policyE1EE10_M_disposeEv@Base 1.1.1+git20200624+ds2 ++ (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc8SegmentsELN9__gnu_cxx12_Lock_policyE1EE14_M_get_deleterERKSt9type_info@Base 1.1.1+git20200624+ds2 ++ (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc8SegmentsELN9__gnu_cxx12_Lock_policyE1EED0Ev@Base 1.1.1+git20200624+ds2 ++ (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc8SegmentsELN9__gnu_cxx12_Lock_policyE1EED1Ev@Base 1.1.1+git20200624+ds2 ++ (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc8SegmentsELN9__gnu_cxx12_Lock_policyE1EED2Ev@Base 1.1.1+git20200624+ds2 ++ (arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc8SegmentsELN9__gnu_cxx12_Lock_policyE2EE10_M_destroyEv@Base 1.1.1+git20200624+ds2 ++ (arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc8SegmentsELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv@Base 1.1.1+git20200624+ds2 ++ (arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc8SegmentsELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info@Base 1.1.1+git20200624+ds2 ++ (arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc8SegmentsELN9__gnu_cxx12_Lock_policyE2EED0Ev@Base 1.1.1+git20200624+ds2 ++ (arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc8SegmentsELN9__gnu_cxx12_Lock_policyE2EED1Ev@Base 1.1.1+git20200624+ds2 ++ (arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc8SegmentsELN9__gnu_cxx12_Lock_policyE2EED2Ev@Base 1.1.1+git20200624+ds2 ++ (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc8TextDictELN9__gnu_cxx12_Lock_policyE1EE10_M_destroyEv@Base 1.1.1+git20200624+ds2 ++ (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc8TextDictELN9__gnu_cxx12_Lock_policyE1EE10_M_disposeEv@Base 1.1.1+git20200624+ds2 ++ (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc8TextDictELN9__gnu_cxx12_Lock_policyE1EE14_M_get_deleterERKSt9type_info@Base 1.1.1+git20200624+ds2 ++ (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc8TextDictELN9__gnu_cxx12_Lock_policyE1EED0Ev@Base 1.1.1+git20200624+ds2 ++ (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc8TextDictELN9__gnu_cxx12_Lock_policyE1EED1Ev@Base 1.1.1+git20200624+ds2 ++ (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc8TextDictELN9__gnu_cxx12_Lock_policyE1EED2Ev@Base 1.1.1+git20200624+ds2 ++ (arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc8TextDictELN9__gnu_cxx12_Lock_policyE2EE10_M_destroyEv@Base 1.1.1+git20200624+ds2 ++ (arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc8TextDictELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv@Base 1.1.1+git20200624+ds2 ++ (arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc8TextDictELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info@Base 1.1.1+git20200624+ds2 ++ (arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc8TextDictELN9__gnu_cxx12_Lock_policyE2EED0Ev@Base 1.1.1+git20200624+ds2 ++ (arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc8TextDictELN9__gnu_cxx12_Lock_policyE2EED1Ev@Base 1.1.1+git20200624+ds2 ++ (arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc8TextDictELN9__gnu_cxx12_Lock_policyE2EED2Ev@Base 1.1.1+git20200624+ds2 ++ (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc9ConverterELN9__gnu_cxx12_Lock_policyE1EE10_M_destroyEv@Base 1.1.1+git20200624+ds2 ++ (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc9ConverterELN9__gnu_cxx12_Lock_policyE1EE10_M_disposeEv@Base 1.1.1+git20200624+ds2 ++ (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc9ConverterELN9__gnu_cxx12_Lock_policyE1EE14_M_get_deleterERKSt9type_info@Base 1.1.1+git20200624+ds2 ++ (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc9ConverterELN9__gnu_cxx12_Lock_policyE1EED0Ev@Base 1.1.1+git20200624+ds2 ++ (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc9ConverterELN9__gnu_cxx12_Lock_policyE1EED1Ev@Base 1.1.1+git20200624+ds2 ++ (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc9ConverterELN9__gnu_cxx12_Lock_policyE1EED2Ev@Base 1.1.1+git20200624+ds2 ++ (arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc9ConverterELN9__gnu_cxx12_Lock_policyE2EE10_M_destroyEv@Base 1.1.1+git20200624+ds2 ++ (arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc9ConverterELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv@Base 1.1.1+git20200624+ds2 ++ (arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc9ConverterELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info@Base 1.1.1+git20200624+ds2 ++ (arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc9ConverterELN9__gnu_cxx12_Lock_policyE2EED0Ev@Base 1.1.1+git20200624+ds2 ++ (arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc9ConverterELN9__gnu_cxx12_Lock_policyE2EED1Ev@Base 1.1.1+git20200624+ds2 ++ (arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc9ConverterELN9__gnu_cxx12_Lock_policyE2EED2Ev@Base 1.1.1+git20200624+ds2 ++ (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc9DartsDictELN9__gnu_cxx12_Lock_policyE1EE10_M_destroyEv@Base 1.1.1+git20200624+ds2 ++ (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc9DartsDictELN9__gnu_cxx12_Lock_policyE1EE10_M_disposeEv@Base 1.1.1+git20200624+ds2 ++ (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc9DartsDictELN9__gnu_cxx12_Lock_policyE1EE14_M_get_deleterERKSt9type_info@Base 1.1.1+git20200624+ds2 ++ (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc9DartsDictELN9__gnu_cxx12_Lock_policyE1EED0Ev@Base 1.1.1+git20200624+ds2 ++ (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc9DartsDictELN9__gnu_cxx12_Lock_policyE1EED1Ev@Base 1.1.1+git20200624+ds2 ++ (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc9DartsDictELN9__gnu_cxx12_Lock_policyE1EED2Ev@Base 1.1.1+git20200624+ds2 ++ (arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc9DartsDictELN9__gnu_cxx12_Lock_policyE2EE10_M_destroyEv@Base 1.1.1+git20200624+ds2 ++ (arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc9DartsDictELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv@Base 1.1.1+git20200624+ds2 ++ (arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc9DartsDictELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info@Base 1.1.1+git20200624+ds2 ++ (arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc9DartsDictELN9__gnu_cxx12_Lock_policyE2EED0Ev@Base 1.1.1+git20200624+ds2 ++ (arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc9DartsDictELN9__gnu_cxx12_Lock_policyE2EED1Ev@Base 1.1.1+git20200624+ds2 ++ (arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc9DartsDictELN9__gnu_cxx12_Lock_policyE2EED2Ev@Base 1.1.1+git20200624+ds2 ++ (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc9DictGroupELN9__gnu_cxx12_Lock_policyE1EE10_M_destroyEv@Base 1.1.1+git20200624+ds2 ++ (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc9DictGroupELN9__gnu_cxx12_Lock_policyE1EE10_M_disposeEv@Base 1.1.1+git20200624+ds2 ++ (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc9DictGroupELN9__gnu_cxx12_Lock_policyE1EE14_M_get_deleterERKSt9type_info@Base 1.1.1+git20200624+ds2 ++ (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc9DictGroupELN9__gnu_cxx12_Lock_policyE1EED0Ev@Base 1.1.1+git20200624+ds2 ++ (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc9DictGroupELN9__gnu_cxx12_Lock_policyE1EED1Ev@Base 1.1.1+git20200624+ds2 ++ (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc9DictGroupELN9__gnu_cxx12_Lock_policyE1EED2Ev@Base 1.1.1+git20200624+ds2 ++ (arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc9DictGroupELN9__gnu_cxx12_Lock_policyE2EE10_M_destroyEv@Base 1.1.1+git20200624+ds2 ++ (arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc9DictGroupELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv@Base 1.1.1+git20200624+ds2 ++ (arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc9DictGroupELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info@Base 1.1.1+git20200624+ds2 ++ (arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc9DictGroupELN9__gnu_cxx12_Lock_policyE2EED0Ev@Base 1.1.1+git20200624+ds2 ++ (arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc9DictGroupELN9__gnu_cxx12_Lock_policyE2EED1Ev@Base 1.1.1+git20200624+ds2 ++ (arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN6opencc9DictGroupELN9__gnu_cxx12_Lock_policyE2EED2Ev@Base 1.1.1+git20200624+ds2 ++ (optional=templinst|arch=armel riscv64)_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE1EE10_M_destroyEv@Base 1.1.1+git20200624+ds2 ++ (optional=templinst|arch=armel riscv64)_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE1EE10_M_releaseEv@Base 1.1.1+git20200624+ds2 ++ (arch=!armel !riscv64)_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE10_M_destroyEv@Base 1.1.1+git20200624+ds2 ++ (arch=!armel !riscv64)_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE10_M_releaseEv@Base 1.1.1+git20200624+ds2 ++ _ZNSt17_Function_handlerIFbRKN6opencc13PhraseExtractERKNS0_19UTF8StringSliceBaseIhEEEPS8_E10_M_managerERSt9_Any_dataRKSB_St18_Manager_operation@Base 1.1.1+git20200624+ds2 ++ _ZNSt17_Function_handlerIFbRKN6opencc13PhraseExtractERKNS0_19UTF8StringSliceBaseIhEEEPS8_E9_M_invokeERKSt9_Any_dataS3_S7_@Base 1.1.1+git20200624+ds2 ++ _ZNSt6vectorIN6opencc19UTF8StringSliceBaseIhEESaIS2_EE17_M_realloc_insertIJRKS2_EEEvN9__gnu_cxx17__normal_iteratorIPS2_S4_EEDpOT_@Base 1.1.1+git20200624+ds2 ++ _ZNSt6vectorIN6opencc19UTF8StringSliceBaseIhEESaIS2_EE17_M_realloc_insertIJS2_EEEvN9__gnu_cxx17__normal_iteratorIPS2_S4_EEDpOT_@Base 1.1.1+git20200624+ds2 ++ (subst)_ZNSt6vectorIN6opencc19UTF8StringSliceBaseIhEESaIS2_EE7reserveE{size_t}@Base 1.1.1+git20200624+ds2 ++ _ZNSt6vectorIN6opencc19UTF8StringSliceBaseIhEESaIS2_EED1Ev@Base 1.1.1+git20200624+ds2 ++ _ZNSt6vectorIN6opencc19UTF8StringSliceBaseIhEESaIS2_EED2Ev@Base 1.1.1+git20200624+ds2 ++ (subst)_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_M_default_appendE{size_t}@Base 1.1.1+git20200624+ds2 ++ _ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_M_realloc_insertIJRKS5_EEEvN9__gnu_cxx17__normal_iteratorIPS5_S7_EEDpOT_@Base 1.1.1+git20200624+ds2 ++ _ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_M_realloc_insertIJS5_EEEvN9__gnu_cxx17__normal_iteratorIPS5_S7_EEDpOT_@Base 1.1.1+git20200624+ds2 ++ _ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED1Ev@Base 1.1.1+git20200624+ds2 ++ _ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev@Base 1.1.1+git20200624+ds2 ++ _ZNSt6vectorIPKN6opencc9DictEntryESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_@Base 1.1.1+git20200624+ds2 ++ _ZNSt6vectorIPKN6opencc9DictEntryESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_@Base 1.1.1+git20200624+ds2 ++ (subst)_ZNSt6vectorIPKcSaIS1_EE17_M_default_appendE{size_t}@Base 1.1.1+git20200624+ds2 ++ (subst)_ZNSt6vectorISt10unique_ptrIN6opencc9DictEntryESt14default_deleteIS2_EESaIS5_EE17_M_default_appendE{size_t}@Base 1.1.1+git20200624+ds2 ++ _ZNSt6vectorISt10unique_ptrIN6opencc9DictEntryESt14default_deleteIS2_EESaIS5_EED1Ev@Base 1.1.1+git20200624+ds2 ++ _ZNSt6vectorISt10unique_ptrIN6opencc9DictEntryESt14default_deleteIS2_EESaIS5_EED2Ev@Base 1.1.1+git20200624+ds2 ++ _ZNSt6vectorISt4pairIN6opencc19UTF8StringSliceBaseIhEENS1_13PhraseExtract7SignalsEESaIS6_EE17_M_realloc_insertIJS6_EEEvN9__gnu_cxx17__normal_iteratorIPS6_S8_EEDpOT_@Base 1.1.1+git20200624+ds2 ++ (subst)_ZNSt6vectorISt4pairI{size_t}bESaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_@Base 1.1.1+git20200624+ds2 ++ (subst)_ZNSt6vectorIiSaIiEE17_M_default_appendE{size_t}@Base 1.1.1+git20200624+ds2 ++ _ZNSt6vectorItSaItEE17_M_realloc_insertIJtEEEvN9__gnu_cxx17__normal_iteratorIPtS1_EEDpOT_@Base 1.1.1+git20200624+ds2 ++ (subst)_ZNSt6vectorI{size_t}SaI{size_t}EE17_M_realloc_insertIJ{size_t}EEEvN9__gnu_cxx17__normal_iteratorIP{size_t}S1_EEDpOT_@Base 1.1.1+git20200624+ds2 ++ _ZNSt7__cxx1110_List_baseISt10shared_ptrIN6opencc10ConversionEESaIS4_EE8_M_clearEv@Base 1.1.1+git20200624+ds2 ++ _ZNSt7__cxx1110_List_baseISt10shared_ptrIN6opencc4DictEESaIS4_EE8_M_clearEv@Base 1.1.1+git20200624+ds2 ++ (arch=!alpha !armel !armhf !hurd-i386 !i386 !kfreebsd-i386 !mipsel !powerpc !ppc64 !s390x|subst)_ZNSt8_Rb_treeI{size_t}St4pairIK{size_t}PKN6opencc9DictEntryEESt10_Select1stIS6_ESt4lessI{size_t}ESaIS6_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorIS6_ERS1_@Base 1.1.1+git20200624+ds2 ++ (subst)_ZNSt8_Rb_treeI{size_t}St4pairIK{size_t}PKN6opencc9DictEntryEESt10_Select1stIS6_ESt4lessI{size_t}ESaIS6_EE8_M_eraseEPSt13_Rb_tree_nodeIS6_E@Base 1.1.1+git20200624+ds2 ++ (subst)_ZNSt8__detail9_Map_baseIN6opencc19UTF8StringSliceBaseIhEESt4pairIKS3_{size_t}ESaIS6_ENS_10_Select1stESt8equal_toIS3_ENS3_6HasherENS_18_Mod_range_hashingENS_20_Default_ranged_hashENS_20_Prime_rehash_policyENS_17_Hashtable_traitsILb1ELb0ELb1EEELb1EEixERS5_@Base 1.1.1+git20200624+ds2 ++ _ZNSt8__detail9_Map_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS6_St10shared_ptrIN6opencc4DictEEESaISD_ENS_10_Select1stESt8equal_toIS6_ESt4hashIS6_ENS_18_Mod_range_hashingENS_20_Default_ranged_hashENS_20_Prime_rehash_policyENS_17_Hashtable_traitsILb1ELb0ELb1EEELb1EEixERS8_@Base 1.1.1+git20200624+ds2 ++ _ZNSt8__detail9_Map_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS6_St10unique_ptrIN6opencc9DictEntryESt14default_deleteISB_EEESaISF_ENS_10_Select1stESt8equal_toIS6_ESt4hashIS6_ENS_18_Mod_range_hashingENS_20_Default_ranged_hashENS_20_Prime_rehash_policyENS_17_Hashtable_traitsILb1ELb0ELb1EEELb1EEixEOS6_@Base 1.1.1+git20200624+ds2 ++ _ZNSt8__detail9_Map_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS6_St10unique_ptrIN6opencc9DictEntryESt14default_deleteISB_EEESaISF_ENS_10_Select1stESt8equal_toIS6_ESt4hashIS6_ENS_18_Mod_range_hashingENS_20_Default_ranged_hashENS_20_Prime_rehash_policyENS_17_Hashtable_traitsILb1ELb0ELb1EEELb1EEixERS8_@Base 1.1.1+git20200624+ds2 ++ _ZNSt8__detail9_Map_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS6_St13unordered_mapIS6_S9_IS6_St10shared_ptrIN6opencc4DictEESt4hashIS6_ESt8equal_toIS6_ESaIS7_IS8_SD_EEESF_SH_SaIS7_IS8_SK_EEEESaISO_ENS_10_Select1stESH_SF_NS_18_Mod_range_hashingENS_20_Default_ranged_hashENS_20_Prime_rehash_policyENS_17_Hashtable_traitsILb1ELb0ELb1EEELb1EEixERS8_@Base 1.1.1+git20200624+ds2 ++ _ZNSt8__detail9_Map_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS6_St13unordered_mapIS6_St10shared_ptrIN6opencc4DictEESt4hashIS6_ESt8equal_toIS6_ESaIS7_IS8_SD_EEEESaISL_ENS_10_Select1stESH_SF_NS_18_Mod_range_hashingENS_20_Default_ranged_hashENS_20_Prime_rehash_policyENS_17_Hashtable_traitsILb1ELb0ELb1EEELb1EEixERS8_@Base 1.1.1+git20200624+ds2 ++ _ZNSt8__detail9_Map_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS6_iESaIS9_ENS_10_Select1stESt8equal_toIS6_ESt4hashIS6_ENS_18_Mod_range_hashingENS_20_Default_ranged_hashENS_20_Prime_rehash_policyENS_17_Hashtable_traitsILb1ELb0ELb1EEELb1EEixEOS6_@Base 1.1.1+git20200624+ds2 ++ (subst)_ZSt13__adjust_heapIN9__gnu_cxx17__normal_iteratorIPSt10unique_ptrIN6opencc9DictEntryESt14default_deleteIS4_EESt6vectorIS7_SaIS7_EEEE{ssize_t}S7_NS0_5__ops15_Iter_comp_iterIPFbRKS7_SG_EEEEvT_T0_SL_T1_T2_@Base 1.1.1+git20200624+ds2 ++ _ZSt13__heap_selectIN9__gnu_cxx17__normal_iteratorIPSt10unique_ptrIN6opencc9DictEntryESt14default_deleteIS4_EESt6vectorIS7_SaIS7_EEEENS0_5__ops15_Iter_comp_iterIPFbRKS7_SG_EEEEvT_SK_SK_T0_@Base 1.1.1+git20200624+ds2 ++ _ZSt16__insertion_sortIN9__gnu_cxx17__normal_iteratorIPSt10unique_ptrIN6opencc9DictEntryESt14default_deleteIS4_EESt6vectorIS7_SaIS7_EEEENS0_5__ops15_Iter_comp_iterIPFbRKS7_SG_EEEEvT_SK_T0_@Base 1.1.1+git20200624+ds2 ++ (subst)_ZSt16__introsort_loopIN9__gnu_cxx17__normal_iteratorIPSt10unique_ptrIN6opencc9DictEntryESt14default_deleteIS4_EESt6vectorIS7_SaIS7_EEEE{ssize_t}NS0_5__ops15_Iter_comp_iterIPFbRKS7_SG_EEEEvT_SK_T0_T1_@Base 1.1.1+git20200624+ds2 ++ (subst)_ZSt16__introsort_loopIN9__gnu_cxx17__normal_iteratorIPSt4pairIN6opencc19UTF8StringSliceBaseIhEENS3_13PhraseExtract7SignalsEESt6vectorIS8_SaIS8_EEEE{ssize_t}NS0_5__ops15_Iter_comp_iterIZNS6_8DictType9BuildKeysEvEUlRKS8_SI_E_EEEvT_SL_T0_T1_@Base 1.1.1+git20200624+ds2 ++ _ZSt25__unguarded_linear_insertIN9__gnu_cxx17__normal_iteratorIPSt10unique_ptrIN6opencc9DictEntryESt14default_deleteIS4_EESt6vectorIS7_SaIS7_EEEENS0_5__ops14_Val_comp_iterIPFbRKS7_SG_EEEEvT_T0_@Base 1.1.1+git20200624+ds2 ++ (arch=amd64 arm64 s390x x32)_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_@Base 1.1.1+git20200624+ds2 ++ _ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_@Base 1.1.1+git20200624+ds2 ++ _ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_SA_@Base 1.1.1+git20200624+ds2 ++ _ZTIFbRKN6opencc13PhraseExtractERKNS_19UTF8StringSliceBaseIhEEE@Base 1.1.1+git20200624+ds2 ++ _ZTIN5Darts15DoubleArrayImplIvvivEE@Base 1.1.1+git20200624+ds2 ++ _ZTIN5Darts7Details9ExceptionE@Base 1.1.1+git20200624+ds2 ++ _ZTIN6opencc10BinaryDictE@Base 1.1.1+git20200624+ds2 ++ _ZTIN6opencc10MarisaDictE@Base 1.1.1+git20200624+ds2 ++ _ZTIN6opencc11InvalidUTF8E@Base 1.1.1+git20200624+ds2 ++ _ZTIN6opencc12FileNotFoundE@Base 1.1.1+git20200624+ds2 ++ _ZTIN6opencc12SegmentationE@Base 1.1.1+git20200624+ds2 ++ _ZTIN6opencc13InvalidFormatE@Base 1.1.1+git20200624+ds2 ++ _ZTIN6opencc13PhraseExtractE@Base 1.1.1+git20200624+ds2 ++ _ZTIN6opencc15FileNotWritableE@Base 1.1.1+git20200624+ds2 ++ _ZTIN6opencc15ShouldNotBeHereE@Base 1.1.1+git20200624+ds2 ++ _ZTIN6opencc16NoValueDictEntryE@Base 1.1.1+git20200624+ds2 ++ _ZTIN6opencc16SerializableDictE@Base 1.1.1+git20200624+ds2 ++ _ZTIN6opencc16SerializedValuesE@Base 1.1.1+git20200624+ds2 ++ _ZTIN6opencc19MultiValueDictEntryE@Base 1.1.1+git20200624+ds2 ++ _ZTIN6opencc20MaxMatchSegmentationE@Base 1.1.1+git20200624+ds2 ++ _ZTIN6opencc20SingleValueDictEntryE@Base 1.1.1+git20200624+ds2 ++ _ZTIN6opencc21InvalidTextDictionaryE@Base 1.1.1+git20200624+ds2 ++ _ZTIN6opencc22StrMultiValueDictEntryE@Base 1.1.1+git20200624+ds2 ++ _ZTIN6opencc23StrSingleValueDictEntryE@Base 1.1.1+git20200624+ds2 ++ _ZTIN6opencc4DictE@Base 1.1.1+git20200624+ds2 ++ _ZTIN6opencc6ConfigE@Base 1.1.1+git20200624+ds2 ++ _ZTIN6opencc8TextDictE@Base 1.1.1+git20200624+ds2 ++ _ZTIN6opencc9DartsDictE@Base 1.1.1+git20200624+ds2 ++ _ZTIN6opencc9DictEntryE@Base 1.1.1+git20200624+ds2 ++ _ZTIN6opencc9DictGroupE@Base 1.1.1+git20200624+ds2 ++ _ZTIN6opencc9ExceptionE@Base 1.1.1+git20200624+ds2 ++ (arch=armel riscv64)_ZTIN9__gnu_cxx7__mutexE@Base 1.1.1+git20200624+ds2 ++ _ZTIPFbRKN6opencc13PhraseExtractERKNS_19UTF8StringSliceBaseIhEEE@Base 1.1.1+git20200624+ds2 ++ (arch=armel riscv64)_ZTISt11_Mutex_baseILN9__gnu_cxx12_Lock_policyE1EE@Base 1.1.1+git20200624+ds2 ++ (arch=!armel !riscv64)_ZTISt11_Mutex_baseILN9__gnu_cxx12_Lock_policyE2EE@Base 1.1.1+git20200624+ds2 ++ (arch=armel riscv64)_ZTISt15_Sp_counted_ptrIPN6opencc10BinaryDictELN9__gnu_cxx12_Lock_policyE1EE@Base 1.1.1+git20200624+ds2 ++ (arch=!armel !riscv64)_ZTISt15_Sp_counted_ptrIPN6opencc10BinaryDictELN9__gnu_cxx12_Lock_policyE2EE@Base 1.1.1+git20200624+ds2 ++ (arch=armel riscv64)_ZTISt15_Sp_counted_ptrIPN6opencc10ConversionELN9__gnu_cxx12_Lock_policyE1EE@Base 1.1.1+git20200624+ds2 ++ (arch=!armel !riscv64)_ZTISt15_Sp_counted_ptrIPN6opencc10ConversionELN9__gnu_cxx12_Lock_policyE2EE@Base 1.1.1+git20200624+ds2 ++ (arch=armel riscv64)_ZTISt15_Sp_counted_ptrIPN6opencc10MarisaDictELN9__gnu_cxx12_Lock_policyE1EE@Base 1.1.1+git20200624+ds2 ++ (arch=!armel !riscv64)_ZTISt15_Sp_counted_ptrIPN6opencc10MarisaDictELN9__gnu_cxx12_Lock_policyE2EE@Base 1.1.1+git20200624+ds2 ++ (arch=armel riscv64)_ZTISt15_Sp_counted_ptrIPN6opencc15ConversionChainELN9__gnu_cxx12_Lock_policyE1EE@Base 1.1.1+git20200624+ds2 ++ (arch=!armel !riscv64)_ZTISt15_Sp_counted_ptrIPN6opencc15ConversionChainELN9__gnu_cxx12_Lock_policyE2EE@Base 1.1.1+git20200624+ds2 ++ (arch=armel riscv64)_ZTISt15_Sp_counted_ptrIPN6opencc16SerializedValuesELN9__gnu_cxx12_Lock_policyE1EE@Base 1.1.1+git20200624+ds2 ++ (arch=!armel !riscv64)_ZTISt15_Sp_counted_ptrIPN6opencc16SerializedValuesELN9__gnu_cxx12_Lock_policyE2EE@Base 1.1.1+git20200624+ds2 ++ (arch=armel riscv64)_ZTISt15_Sp_counted_ptrIPN6opencc20MaxMatchSegmentationELN9__gnu_cxx12_Lock_policyE1EE@Base 1.1.1+git20200624+ds2 ++ (arch=!armel !riscv64)_ZTISt15_Sp_counted_ptrIPN6opencc20MaxMatchSegmentationELN9__gnu_cxx12_Lock_policyE2EE@Base 1.1.1+git20200624+ds2 ++ (arch=armel riscv64)_ZTISt15_Sp_counted_ptrIPN6opencc7LexiconELN9__gnu_cxx12_Lock_policyE1EE@Base 1.1.1+git20200624+ds2 ++ (arch=!armel !riscv64)_ZTISt15_Sp_counted_ptrIPN6opencc7LexiconELN9__gnu_cxx12_Lock_policyE2EE@Base 1.1.1+git20200624+ds2 ++ (arch=armel riscv64)_ZTISt15_Sp_counted_ptrIPN6opencc8SegmentsELN9__gnu_cxx12_Lock_policyE1EE@Base 1.1.1+git20200624+ds2 ++ (arch=!armel !riscv64)_ZTISt15_Sp_counted_ptrIPN6opencc8SegmentsELN9__gnu_cxx12_Lock_policyE2EE@Base 1.1.1+git20200624+ds2 ++ (arch=armel riscv64)_ZTISt15_Sp_counted_ptrIPN6opencc8TextDictELN9__gnu_cxx12_Lock_policyE1EE@Base 1.1.1+git20200624+ds2 ++ (arch=!armel !riscv64)_ZTISt15_Sp_counted_ptrIPN6opencc8TextDictELN9__gnu_cxx12_Lock_policyE2EE@Base 1.1.1+git20200624+ds2 ++ (arch=armel riscv64)_ZTISt15_Sp_counted_ptrIPN6opencc9ConverterELN9__gnu_cxx12_Lock_policyE1EE@Base 1.1.1+git20200624+ds2 ++ (arch=!armel !riscv64)_ZTISt15_Sp_counted_ptrIPN6opencc9ConverterELN9__gnu_cxx12_Lock_policyE2EE@Base 1.1.1+git20200624+ds2 ++ (arch=armel riscv64)_ZTISt15_Sp_counted_ptrIPN6opencc9DartsDictELN9__gnu_cxx12_Lock_policyE1EE@Base 1.1.1+git20200624+ds2 ++ (arch=!armel !riscv64)_ZTISt15_Sp_counted_ptrIPN6opencc9DartsDictELN9__gnu_cxx12_Lock_policyE2EE@Base 1.1.1+git20200624+ds2 ++ (arch=armel riscv64)_ZTISt15_Sp_counted_ptrIPN6opencc9DictGroupELN9__gnu_cxx12_Lock_policyE1EE@Base 1.1.1+git20200624+ds2 ++ (arch=!armel !riscv64)_ZTISt15_Sp_counted_ptrIPN6opencc9DictGroupELN9__gnu_cxx12_Lock_policyE2EE@Base 1.1.1+git20200624+ds2 ++ (arch=armel riscv64)_ZTISt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE1EE@Base 1.1.1+git20200624+ds2 ++ (arch=!armel !riscv64)_ZTISt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE@Base 1.1.1+git20200624+ds2 ++ _ZTSFbRKN6opencc13PhraseExtractERKNS_19UTF8StringSliceBaseIhEEE@Base 1.1.1+git20200624+ds2 ++ _ZTSN5Darts15DoubleArrayImplIvvivEE@Base 1.1.1+git20200624+ds2 ++ _ZTSN5Darts7Details9ExceptionE@Base 1.1.1+git20200624+ds2 ++ _ZTSN6opencc10BinaryDictE@Base 1.1.1+git20200624+ds2 ++ _ZTSN6opencc10MarisaDictE@Base 1.1.1+git20200624+ds2 ++ _ZTSN6opencc11InvalidUTF8E@Base 1.1.1+git20200624+ds2 ++ _ZTSN6opencc12FileNotFoundE@Base 1.1.1+git20200624+ds2 ++ _ZTSN6opencc12SegmentationE@Base 1.1.1+git20200624+ds2 ++ _ZTSN6opencc13InvalidFormatE@Base 1.1.1+git20200624+ds2 ++ _ZTSN6opencc13PhraseExtractE@Base 1.1.1+git20200624+ds2 ++ _ZTSN6opencc15FileNotWritableE@Base 1.1.1+git20200624+ds2 ++ _ZTSN6opencc15ShouldNotBeHereE@Base 1.1.1+git20200624+ds2 ++ _ZTSN6opencc16NoValueDictEntryE@Base 1.1.1+git20200624+ds2 ++ _ZTSN6opencc16SerializableDictE@Base 1.1.1+git20200624+ds2 ++ _ZTSN6opencc16SerializedValuesE@Base 1.1.1+git20200624+ds2 ++ _ZTSN6opencc19MultiValueDictEntryE@Base 1.1.1+git20200624+ds2 ++ _ZTSN6opencc20MaxMatchSegmentationE@Base 1.1.1+git20200624+ds2 ++ _ZTSN6opencc20SingleValueDictEntryE@Base 1.1.1+git20200624+ds2 ++ _ZTSN6opencc21InvalidTextDictionaryE@Base 1.1.1+git20200624+ds2 ++ _ZTSN6opencc22StrMultiValueDictEntryE@Base 1.1.1+git20200624+ds2 ++ _ZTSN6opencc23StrSingleValueDictEntryE@Base 1.1.1+git20200624+ds2 ++ _ZTSN6opencc4DictE@Base 1.1.1+git20200624+ds2 ++ _ZTSN6opencc6ConfigE@Base 1.1.1+git20200624+ds2 ++ _ZTSN6opencc8TextDictE@Base 1.1.1+git20200624+ds2 ++ _ZTSN6opencc9DartsDictE@Base 1.1.1+git20200624+ds2 ++ _ZTSN6opencc9DictEntryE@Base 1.1.1+git20200624+ds2 ++ _ZTSN6opencc9DictGroupE@Base 1.1.1+git20200624+ds2 ++ _ZTSN6opencc9ExceptionE@Base 1.1.1+git20200624+ds2 ++ (arch=armel riscv64)_ZTSN9__gnu_cxx7__mutexE@Base 1.1.1+git20200624+ds2 ++ _ZTSPFbRKN6opencc13PhraseExtractERKNS_19UTF8StringSliceBaseIhEEE@Base 1.1.1+git20200624+ds2 ++ (arch=armel riscv64)_ZTSSt11_Mutex_baseILN9__gnu_cxx12_Lock_policyE1EE@Base 1.1.1+git20200624+ds2 ++ (arch=!armel !riscv64)_ZTSSt11_Mutex_baseILN9__gnu_cxx12_Lock_policyE2EE@Base 1.1.1+git20200624+ds2 ++ (arch=armel riscv64)_ZTSSt15_Sp_counted_ptrIPN6opencc10BinaryDictELN9__gnu_cxx12_Lock_policyE1EE@Base 1.1.1+git20200624+ds2 ++ (arch=!armel !riscv64)_ZTSSt15_Sp_counted_ptrIPN6opencc10BinaryDictELN9__gnu_cxx12_Lock_policyE2EE@Base 1.1.1+git20200624+ds2 ++ (arch=armel riscv64)_ZTSSt15_Sp_counted_ptrIPN6opencc10ConversionELN9__gnu_cxx12_Lock_policyE1EE@Base 1.1.1+git20200624+ds2 ++ (arch=!armel !riscv64)_ZTSSt15_Sp_counted_ptrIPN6opencc10ConversionELN9__gnu_cxx12_Lock_policyE2EE@Base 1.1.1+git20200624+ds2 ++ (arch=armel riscv64)_ZTSSt15_Sp_counted_ptrIPN6opencc10MarisaDictELN9__gnu_cxx12_Lock_policyE1EE@Base 1.1.1+git20200624+ds2 ++ (arch=!armel !riscv64)_ZTSSt15_Sp_counted_ptrIPN6opencc10MarisaDictELN9__gnu_cxx12_Lock_policyE2EE@Base 1.1.1+git20200624+ds2 ++ (arch=armel riscv64)_ZTSSt15_Sp_counted_ptrIPN6opencc15ConversionChainELN9__gnu_cxx12_Lock_policyE1EE@Base 1.1.1+git20200624+ds2 ++ (arch=!armel !riscv64)_ZTSSt15_Sp_counted_ptrIPN6opencc15ConversionChainELN9__gnu_cxx12_Lock_policyE2EE@Base 1.1.1+git20200624+ds2 ++ (arch=armel riscv64)_ZTSSt15_Sp_counted_ptrIPN6opencc16SerializedValuesELN9__gnu_cxx12_Lock_policyE1EE@Base 1.1.1+git20200624+ds2 ++ (arch=!armel !riscv64)_ZTSSt15_Sp_counted_ptrIPN6opencc16SerializedValuesELN9__gnu_cxx12_Lock_policyE2EE@Base 1.1.1+git20200624+ds2 ++ (arch=armel riscv64)_ZTSSt15_Sp_counted_ptrIPN6opencc20MaxMatchSegmentationELN9__gnu_cxx12_Lock_policyE1EE@Base 1.1.1+git20200624+ds2 ++ (arch=!armel !riscv64)_ZTSSt15_Sp_counted_ptrIPN6opencc20MaxMatchSegmentationELN9__gnu_cxx12_Lock_policyE2EE@Base 1.1.1+git20200624+ds2 ++ (arch=armel riscv64)_ZTSSt15_Sp_counted_ptrIPN6opencc7LexiconELN9__gnu_cxx12_Lock_policyE1EE@Base 1.1.1+git20200624+ds2 ++ (arch=!armel !riscv64)_ZTSSt15_Sp_counted_ptrIPN6opencc7LexiconELN9__gnu_cxx12_Lock_policyE2EE@Base 1.1.1+git20200624+ds2 ++ (arch=armel riscv64)_ZTSSt15_Sp_counted_ptrIPN6opencc8SegmentsELN9__gnu_cxx12_Lock_policyE1EE@Base 1.1.1+git20200624+ds2 ++ (arch=!armel !riscv64)_ZTSSt15_Sp_counted_ptrIPN6opencc8SegmentsELN9__gnu_cxx12_Lock_policyE2EE@Base 1.1.1+git20200624+ds2 ++ (arch=armel riscv64)_ZTSSt15_Sp_counted_ptrIPN6opencc8TextDictELN9__gnu_cxx12_Lock_policyE1EE@Base 1.1.1+git20200624+ds2 ++ (arch=!armel !riscv64)_ZTSSt15_Sp_counted_ptrIPN6opencc8TextDictELN9__gnu_cxx12_Lock_policyE2EE@Base 1.1.1+git20200624+ds2 ++ (arch=armel riscv64)_ZTSSt15_Sp_counted_ptrIPN6opencc9ConverterELN9__gnu_cxx12_Lock_policyE1EE@Base 1.1.1+git20200624+ds2 ++ (arch=!armel !riscv64)_ZTSSt15_Sp_counted_ptrIPN6opencc9ConverterELN9__gnu_cxx12_Lock_policyE2EE@Base 1.1.1+git20200624+ds2 ++ (arch=armel riscv64)_ZTSSt15_Sp_counted_ptrIPN6opencc9DartsDictELN9__gnu_cxx12_Lock_policyE1EE@Base 1.1.1+git20200624+ds2 ++ (arch=!armel !riscv64)_ZTSSt15_Sp_counted_ptrIPN6opencc9DartsDictELN9__gnu_cxx12_Lock_policyE2EE@Base 1.1.1+git20200624+ds2 ++ (arch=armel riscv64)_ZTSSt15_Sp_counted_ptrIPN6opencc9DictGroupELN9__gnu_cxx12_Lock_policyE1EE@Base 1.1.1+git20200624+ds2 ++ (arch=!armel !riscv64)_ZTSSt15_Sp_counted_ptrIPN6opencc9DictGroupELN9__gnu_cxx12_Lock_policyE2EE@Base 1.1.1+git20200624+ds2 ++ (arch=armel riscv64)_ZTSSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE1EE@Base 1.1.1+git20200624+ds2 ++ (arch=!armel !riscv64)_ZTSSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE@Base 1.1.1+git20200624+ds2 ++ _ZTVN5Darts15DoubleArrayImplIvvivEE@Base 1.1.1+git20200624+ds2 ++ _ZTVN5Darts7Details9ExceptionE@Base 1.1.1+git20200624+ds2 ++ _ZTVN6opencc10BinaryDictE@Base 1.1.1+git20200624+ds2 ++ _ZTVN6opencc10MarisaDictE@Base 1.1.1+git20200624+ds2 ++ _ZTVN6opencc11InvalidUTF8E@Base 1.1.1+git20200624+ds2 ++ _ZTVN6opencc12FileNotFoundE@Base 1.1.1+git20200624+ds2 ++ _ZTVN6opencc13InvalidFormatE@Base 1.1.1+git20200624+ds2 ++ _ZTVN6opencc13PhraseExtractE@Base 1.1.1+git20200624+ds2 ++ _ZTVN6opencc15FileNotWritableE@Base 1.1.1+git20200624+ds2 ++ _ZTVN6opencc15ShouldNotBeHereE@Base 1.1.1+git20200624+ds2 ++ _ZTVN6opencc16NoValueDictEntryE@Base 1.1.1+git20200624+ds2 ++ _ZTVN6opencc16SerializedValuesE@Base 1.1.1+git20200624+ds2 ++ _ZTVN6opencc19MultiValueDictEntryE@Base 1.1.1+git20200624+ds2 ++ _ZTVN6opencc20MaxMatchSegmentationE@Base 1.1.1+git20200624+ds2 ++ _ZTVN6opencc21InvalidTextDictionaryE@Base 1.1.1+git20200624+ds2 ++ _ZTVN6opencc22StrMultiValueDictEntryE@Base 1.1.1+git20200624+ds2 ++ _ZTVN6opencc23StrSingleValueDictEntryE@Base 1.1.1+git20200624+ds2 ++ _ZTVN6opencc4DictE@Base 1.1.1+git20200624+ds2 ++ _ZTVN6opencc6ConfigE@Base 1.1.1+git20200624+ds2 ++ _ZTVN6opencc8TextDictE@Base 1.1.1+git20200624+ds2 ++ _ZTVN6opencc9DartsDictE@Base 1.1.1+git20200624+ds2 ++ _ZTVN6opencc9DictGroupE@Base 1.1.1+git20200624+ds2 ++ _ZTVN6opencc9ExceptionE@Base 1.1.1+git20200624+ds2 ++ (arch=armel riscv64)_ZTVSt15_Sp_counted_ptrIPN6opencc10BinaryDictELN9__gnu_cxx12_Lock_policyE1EE@Base 1.1.1+git20200624+ds2 ++ (arch=!armel !riscv64)_ZTVSt15_Sp_counted_ptrIPN6opencc10BinaryDictELN9__gnu_cxx12_Lock_policyE2EE@Base 1.1.1+git20200624+ds2 ++ (arch=armel riscv64)_ZTVSt15_Sp_counted_ptrIPN6opencc10ConversionELN9__gnu_cxx12_Lock_policyE1EE@Base 1.1.1+git20200624+ds2 ++ (arch=!armel !riscv64)_ZTVSt15_Sp_counted_ptrIPN6opencc10ConversionELN9__gnu_cxx12_Lock_policyE2EE@Base 1.1.1+git20200624+ds2 ++ (arch=armel riscv64)_ZTVSt15_Sp_counted_ptrIPN6opencc10MarisaDictELN9__gnu_cxx12_Lock_policyE1EE@Base 1.1.1+git20200624+ds2 ++ (arch=!armel !riscv64)_ZTVSt15_Sp_counted_ptrIPN6opencc10MarisaDictELN9__gnu_cxx12_Lock_policyE2EE@Base 1.1.1+git20200624+ds2 ++ (arch=armel riscv64)_ZTVSt15_Sp_counted_ptrIPN6opencc15ConversionChainELN9__gnu_cxx12_Lock_policyE1EE@Base 1.1.1+git20200624+ds2 ++ (arch=!armel !riscv64)_ZTVSt15_Sp_counted_ptrIPN6opencc15ConversionChainELN9__gnu_cxx12_Lock_policyE2EE@Base 1.1.1+git20200624+ds2 ++ (arch=armel riscv64)_ZTVSt15_Sp_counted_ptrIPN6opencc16SerializedValuesELN9__gnu_cxx12_Lock_policyE1EE@Base 1.1.1+git20200624+ds2 ++ (arch=!armel !riscv64)_ZTVSt15_Sp_counted_ptrIPN6opencc16SerializedValuesELN9__gnu_cxx12_Lock_policyE2EE@Base 1.1.1+git20200624+ds2 ++ (arch=armel riscv64)_ZTVSt15_Sp_counted_ptrIPN6opencc20MaxMatchSegmentationELN9__gnu_cxx12_Lock_policyE1EE@Base 1.1.1+git20200624+ds2 ++ (arch=!armel !riscv64)_ZTVSt15_Sp_counted_ptrIPN6opencc20MaxMatchSegmentationELN9__gnu_cxx12_Lock_policyE2EE@Base 1.1.1+git20200624+ds2 ++ (arch=armel riscv64)_ZTVSt15_Sp_counted_ptrIPN6opencc7LexiconELN9__gnu_cxx12_Lock_policyE1EE@Base 1.1.1+git20200624+ds2 ++ (arch=!armel !riscv64)_ZTVSt15_Sp_counted_ptrIPN6opencc7LexiconELN9__gnu_cxx12_Lock_policyE2EE@Base 1.1.1+git20200624+ds2 ++ (arch=armel riscv64)_ZTVSt15_Sp_counted_ptrIPN6opencc8SegmentsELN9__gnu_cxx12_Lock_policyE1EE@Base 1.1.1+git20200624+ds2 ++ (arch=!armel !riscv64)_ZTVSt15_Sp_counted_ptrIPN6opencc8SegmentsELN9__gnu_cxx12_Lock_policyE2EE@Base 1.1.1+git20200624+ds2 ++ (arch=armel riscv64)_ZTVSt15_Sp_counted_ptrIPN6opencc8TextDictELN9__gnu_cxx12_Lock_policyE1EE@Base 1.1.1+git20200624+ds2 ++ (arch=!armel !riscv64)_ZTVSt15_Sp_counted_ptrIPN6opencc8TextDictELN9__gnu_cxx12_Lock_policyE2EE@Base 1.1.1+git20200624+ds2 ++ (arch=armel riscv64)_ZTVSt15_Sp_counted_ptrIPN6opencc9ConverterELN9__gnu_cxx12_Lock_policyE1EE@Base 1.1.1+git20200624+ds2 ++ (arch=!armel !riscv64)_ZTVSt15_Sp_counted_ptrIPN6opencc9ConverterELN9__gnu_cxx12_Lock_policyE2EE@Base 1.1.1+git20200624+ds2 ++ (arch=armel riscv64)_ZTVSt15_Sp_counted_ptrIPN6opencc9DartsDictELN9__gnu_cxx12_Lock_policyE1EE@Base 1.1.1+git20200624+ds2 ++ (arch=!armel !riscv64)_ZTVSt15_Sp_counted_ptrIPN6opencc9DartsDictELN9__gnu_cxx12_Lock_policyE2EE@Base 1.1.1+git20200624+ds2 ++ (arch=armel riscv64)_ZTVSt15_Sp_counted_ptrIPN6opencc9DictGroupELN9__gnu_cxx12_Lock_policyE1EE@Base 1.1.1+git20200624+ds2 ++ (arch=!armel !riscv64)_ZTVSt15_Sp_counted_ptrIPN6opencc9DictGroupELN9__gnu_cxx12_Lock_policyE2EE@Base 1.1.1+git20200624+ds2 ++ _ZZN9rapidjson12GenericValueINS_4UTF8IcEENS_19MemoryPoolAllocatorINS_12CrtAllocatorEEEEixIS5_EERS6_RKNS0_IS2_T_EEE6buffer@Base 1.1.1+git20200624+ds2 ++ _ZZN9rapidjson13GenericReaderINS_4UTF8IcEES2_NS_12CrtAllocatorEE19ParseStringToStreamILj1ES2_S2_NS_25GenericInsituStringStreamIS2_EES7_EEvRT2_RT3_E6escape@Base 1.1.1+git20200624+ds2 ++ _ZZN9rapidjson8internal5Pow10EiE1e@Base 1.1.1+git20200624+ds2 ++ (c++|arch=!armhf !i386 !kfreebsd-i386 !m68k !mipsel !x32)"non-virtual thunk to opencc::DartsDict::SerializeToFile(_IO_FILE*) const@Base" 1.1.1+git20200624+ds2 ++ (c++|arch=!armel !armhf !hppa !hurd-i386 !i386 !kfreebsd-i386 !mipsel !powerpc !sh4)"non-virtual thunk to opencc::MarisaDict::SerializeToFile(_IO_FILE*) const@Base" 1.1.1+git20200624+ds2 ++ (c++|arch=!armhf !i386 !kfreebsd-i386 !m68k !mipsel !x32)"non-virtual thunk to opencc::TextDict::SerializeToFile(_IO_FILE*) const@Base" 1.1.1+git20200624+ds2 ++ opencc_close@Base 1.1.1+git20200624+ds2 ++ opencc_convert_utf8@Base 1.1.1+git20200624+ds2 ++ opencc_convert_utf8_free@Base 1.1.1+git20200624+ds2 ++ opencc_convert_utf8_to_buffer@Base 1.1.1+git20200624+ds2 ++ opencc_error@Base 1.1.1+git20200624+ds2 ++ opencc_open@Base 1.1.1+git20200624+ds2 diff --cc debian/opencc.install index 0000000,0000000..1df36c6 new file mode 100644 --- /dev/null +++ b/debian/opencc.install @@@ -1,0 -1,0 +1,1 @@@ ++usr/bin/* diff --cc debian/patches/0001-use-cmake-install-libdir.patch index 0000000,0000000..11be2e9 new file mode 100644 --- /dev/null +++ b/debian/patches/0001-use-cmake-install-libdir.patch @@@ -1,0 -1,0 +1,22 @@@ ++From: IME Packaging Team ++Date: Mon, 9 Oct 2017 22:02:39 +0800 ++Subject: use-cmake-install-libdir ++ ++=================================================================== ++--- ++ CMakeLists.txt | 2 +- ++ 1 file changed, 1 insertion(+), 1 deletion(-) ++ ++diff --git a/CMakeLists.txt b/CMakeLists.txt ++index 08d186a..efb51ae 100644 ++--- a/CMakeLists.txt +++++ b/CMakeLists.txt ++@@ -74,7 +74,7 @@ set (DIR_PREFIX ${CMAKE_INSTALL_PREFIX}) ++ set (DIR_INCLUDE ${DIR_PREFIX}/include/) ++ set (DIR_SHARE ${DIR_PREFIX}/share/) ++ set (DIR_ETC ${DIR_PREFIX}/etc/) ++-set (DIR_LIBRARY ${DIR_PREFIX}/lib${LIB_SUFFIX}/) +++set (DIR_LIBRARY ${CMAKE_INSTALL_LIBDIR}) ++ ++ if (DEFINED SHARE_INSTALL_PREFIX) ++ set (DIR_SHARE ${SHARE_INSTALL_PREFIX}) diff --cc debian/patches/0002-use-system-libraries.patch index 0000000,0000000..99ba9e4 new file mode 100644 --- /dev/null +++ b/debian/patches/0002-use-system-libraries.patch @@@ -1,0 -1,0 +1,23 @@@ ++From: Boyuan Yang ++Date: Sat, 23 May 2020 11:11:46 -0400 ++Subject: use-system-libraries ++ ++--- ++ src/CMakeLists.txt | 6 +++--- ++ 1 file changed, 3 insertions(+), 3 deletions(-) ++ ++diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt ++index 4883990..e600408 100644 ++--- a/src/CMakeLists.txt +++++ b/src/CMakeLists.txt ++@@ -1,7 +1,7 @@ ++ include (GenerateExportHeader) ++-include_directories(../deps/marisa-0.2.5/include) ++-include_directories(../deps/rapidjson-1.1.0) ++-include_directories(../deps/tclap-1.2.2) +++#include_directories(/usr/include/marisa) +++include_directories(/usr/include/rapidjson) +++include_directories(/usr/include/tclap) ++ ++ # Library ++ diff --cc debian/patches/0003-data-Explicitly-use-python3.patch index 0000000,0000000..2388a8d new file mode 100644 --- /dev/null +++ b/debian/patches/0003-data-Explicitly-use-python3.patch @@@ -1,0 -1,0 +1,65 @@@ ++From: Boyuan Yang ++Date: Thu, 25 Jun 2020 20:32:44 -0400 ++Subject: data/: Explicitly use python3 ++ ++Before "python" is default to python3, this patch should be kept. ++ ++Last-Update: 2020-06-25 ++--- ++ data/scripts/find_target.py | 2 +- ++ data/scripts/merge.py | 2 +- ++ data/scripts/reverse.py | 2 +- ++ data/scripts/sort.py | 2 +- ++ data/scripts/sort_all.py | 2 +- ++ 5 files changed, 5 insertions(+), 5 deletions(-) ++ ++diff --git a/data/scripts/find_target.py b/data/scripts/find_target.py ++index 4244949..7b2b477 100755 ++--- a/data/scripts/find_target.py +++++ b/data/scripts/find_target.py ++@@ -1,4 +1,4 @@ ++-#!/usr/bin/env python +++#!/usr/bin/env python3 ++ # -*- coding: utf-8 -*- ++ ++ import sys ++diff --git a/data/scripts/merge.py b/data/scripts/merge.py ++index 680c90e..01fcf51 100755 ++--- a/data/scripts/merge.py +++++ b/data/scripts/merge.py ++@@ -1,4 +1,4 @@ ++-#!/usr/bin/env python +++#!/usr/bin/env python3 ++ # -*- coding: utf-8 -*- ++ ++ import codecs ++diff --git a/data/scripts/reverse.py b/data/scripts/reverse.py ++index 746f887..a87ae46 100755 ++--- a/data/scripts/reverse.py +++++ b/data/scripts/reverse.py ++@@ -1,4 +1,4 @@ ++-#!/usr/bin/env python +++#!/usr/bin/env python3 ++ # -*- coding: utf-8 -*- ++ ++ import sys ++diff --git a/data/scripts/sort.py b/data/scripts/sort.py ++index f7d4dc5..6ad6e8c 100755 ++--- a/data/scripts/sort.py +++++ b/data/scripts/sort.py ++@@ -1,4 +1,4 @@ ++-#!/usr/bin/env python +++#!/usr/bin/env python3 ++ # -*- coding: utf-8 -*- ++ import sys ++ ++diff --git a/data/scripts/sort_all.py b/data/scripts/sort_all.py ++index 20d82fd..11bc4c9 100755 ++--- a/data/scripts/sort_all.py +++++ b/data/scripts/sort_all.py ++@@ -1,4 +1,4 @@ ++-#!/usr/bin/env python +++#!/usr/bin/env python3 ++ # -*- coding: utf-8 -*- ++ import glob ++ import sys diff --cc debian/patches/0004-no-remote-images-when-reading-docs-on-disk.patch index 0000000,0000000..60b1bbc new file mode 100644 --- /dev/null +++ b/debian/patches/0004-no-remote-images-when-reading-docs-on-disk.patch @@@ -1,0 -1,0 +1,33 @@@ ++From: Gunnar Hjalmarsson ++Date: Sat, 6 Mar 2021 17:45:20 +0800 ++Subject: Don't fetch remote images when reading docs on disk ++ ++Forwarded: no ++Last-Update: 2021-01-14 ++ ++This fixes a privacy breach previously reported as Lintian warnings ++--- ++ README.md | 8 ++++---- ++ 1 file changed, 4 insertions(+), 4 deletions(-) ++ ++diff --git a/README.md b/README.md ++index d941d6b..0663dcd 100644 ++--- a/README.md +++++ b/README.md ++@@ -1,12 +1,12 @@ ++ # Open Chinese Convert 開放中文轉換 ++ ++-[![Travis](https://img.shields.io/travis/BYVoid/OpenCC.svg)](https://travis-ci.org/BYVoid/OpenCC) ++-[![AppVeyor](https://img.shields.io/appveyor/ci/Carbo/OpenCC.svg)](https://ci.appveyor.com/project/Carbo/OpenCC) ++-[![Python package](https://github.com/BYVoid/OpenCC/workflows/Python%20package/badge.svg?branch=master)](https://github.com/BYVoid/OpenCC/actions?query=workflow%3A%22Python+package%22) +++[[Travis](https://travis-ci.org/BYVoid/OpenCC)] +++[[AppVeyor](https://ci.appveyor.com/project/Carbo/OpenCC)] +++[[Python package](https://github.com/BYVoid/OpenCC/actions?query=workflow%3A%22Python+package%22)] ++ ++ ## Introduction 介紹 ++ ++-![OpenCC](https://opencc.byvoid.com/img/opencc.png) +++OpenCC ++ ++ Open Chinese Convert (OpenCC, 開放中文轉換) is an opensource project for conversions between Traditional Chinese, Simplified Chinese and Japanese Kanji (Shinjitai). It supports character-level and phrase-level conversion, character variant conversion and regional idioms among Mainland China, Taiwan and Hong Kong. This is not translation tool between Mandarin and Cantonese, etc. ++ diff --cc debian/patches/0005-Use-system-googletest.patch index 0000000,0000000..783d6bb new file mode 100644 --- /dev/null +++ b/debian/patches/0005-Use-system-googletest.patch @@@ -1,0 -1,0 +1,22 @@@ ++From: Shengjing Zhu ++Date: Sat, 6 Mar 2021 17:53:25 +0800 ++Subject: Use system googletest ++ ++Forwarded: not-needed ++--- ++ CMakeLists.txt | 2 +- ++ 1 file changed, 1 insertion(+), 1 deletion(-) ++ ++diff --git a/CMakeLists.txt b/CMakeLists.txt ++index efb51ae..e26b934 100644 ++--- a/CMakeLists.txt +++++ b/CMakeLists.txt ++@@ -195,7 +195,7 @@ add_subdirectory(test) ++ ######## Testing ++ ++ if (ENABLE_GTEST) ++- add_subdirectory(deps/gtest-1.11.0) +++ add_subdirectory(/usr/src/googletest/googletest ${CMAKE_BINARY_DIR}/googletest-build EXCLUDE_FROM_ALL) ++ enable_testing() ++ endif() ++ diff --cc debian/patches/0006-Fix-a-bug-in-the-calculation-of-DictGroup-keyMaxLeng.patch index 0000000,0000000..d89f9a3 new file mode 100644 --- /dev/null +++ b/debian/patches/0006-Fix-a-bug-in-the-calculation-of-DictGroup-keyMaxLeng.patch @@@ -1,0 -1,0 +1,97 @@@ ++From: Carbo Kuo ++Date: Thu, 25 Feb 2021 20:48:50 +0900 ++Subject: Fix a bug in the calculation of DictGroup::keyMaxLength. ++ ++The length should be the maximum of all sub-dictionaries in the dictionary group. ++--- ++ src/DictGroup.cpp | 16 ++++++++++++++-- ++ src/DictGroupTest.cpp | 32 ++++++++++++++++++++++++-------- ++ 2 files changed, 38 insertions(+), 10 deletions(-) ++ ++diff --git a/src/DictGroup.cpp b/src/DictGroup.cpp ++index 4ca9e33..c682e96 100644 ++--- a/src/DictGroup.cpp +++++ b/src/DictGroup.cpp ++@@ -1,7 +1,7 @@ ++ /* ++ * Open Chinese Convert ++ * ++- * Copyright 2010-2014 Carbo Kuo +++ * Copyright 2010-2021 Carbo Kuo ++ * ++ * Licensed under the Apache License, Version 2.0 (the "License"); ++ * you may not use this file except in compliance with the License. ++@@ -24,8 +24,20 @@ ++ ++ using namespace opencc; ++ +++namespace { +++ +++size_t GetKeyMaxLength(const std::list& dicts) { +++ size_t keyMaxLength = 0; +++ for (const DictPtr& dict : dicts) { +++ keyMaxLength = std::max(keyMaxLength, dict->KeyMaxLength()); +++ } +++ return keyMaxLength; +++} +++ +++} // namespace +++ ++ DictGroup::DictGroup(const std::list& _dicts) ++- : keyMaxLength(0), dicts(_dicts) {} +++ : keyMaxLength(GetKeyMaxLength(_dicts)), dicts(_dicts) {} ++ ++ DictGroup::~DictGroup() {} ++ ++diff --git a/src/DictGroupTest.cpp b/src/DictGroupTest.cpp ++index 7003506..c91731e 100644 ++--- a/src/DictGroupTest.cpp +++++ b/src/DictGroupTest.cpp ++@@ -1,7 +1,7 @@ ++ /* ++ * Open Chinese Convert ++ * ++- * Copyright 2015 Carbo Kuo +++ * Copyright 2015-2021 Carbo Kuo ++ * ++ * Licensed under the Apache License, Version 2.0 (the "License"); ++ * you may not use this file except in compliance with the License. ++@@ -25,15 +25,31 @@ protected: ++ DictGroupTest() {} ++ }; ++ ++-TEST_F(DictGroupTest, SimpleGroupTest) { +++TEST_F(DictGroupTest, KeyMaxLength) { ++ const DictGroupPtr& dictGroup = CreateDictGroupForConversion(); ++- const auto& entry = dictGroup->Dict::MatchPrefix(utf8("Unknown")); ++- EXPECT_TRUE(entry.IsNull()); +++ EXPECT_EQ(6, dictGroup->KeyMaxLength()); +++ EXPECT_EQ(6, dictGroup->GetDicts().front()->KeyMaxLength()); +++ EXPECT_EQ(3, dictGroup->GetDicts().back()->KeyMaxLength()); +++} ++ ++- const auto& matches = dictGroup->Dict::MatchAllPrefixes(utf8("干燥")); ++- EXPECT_EQ(2, matches.size()); ++- EXPECT_EQ(utf8("乾燥"), matches.at(0)->GetDefault()); ++- EXPECT_EQ(utf8("幹"), matches.at(1)->GetDefault()); +++TEST_F(DictGroupTest, SimpleGroupTest) { +++ const DictGroupPtr& dictGroup = CreateDictGroupForConversion(); +++ { +++ const auto& entry = dictGroup->Dict::MatchPrefix(utf8("Unknown")); +++ EXPECT_TRUE(entry.IsNull()); +++ } +++ { +++ const auto& entry = dictGroup->Dict::MatchPrefix(utf8("里面")); +++ EXPECT_FALSE(entry.IsNull()); +++ EXPECT_EQ(3, entry.Get()->KeyLength()); +++ EXPECT_EQ(utf8("裏"), entry.Get()->GetDefault()); +++ } +++ { +++ const auto& matches = dictGroup->Dict::MatchAllPrefixes(utf8("干燥")); +++ EXPECT_EQ(2, matches.size()); +++ EXPECT_EQ(utf8("乾燥"), matches.at(0)->GetDefault()); +++ EXPECT_EQ(utf8("幹"), matches.at(1)->GetDefault()); +++ } ++ } ++ ++ TEST_F(DictGroupTest, TaiwanPhraseGroupTest) { diff --cc debian/patches/0007-Fix-a-severe-performance-bug-in-Conversion-Convert-t.patch index 0000000,0000000..a614830 new file mode 100644 --- /dev/null +++ b/debian/patches/0007-Fix-a-severe-performance-bug-in-Conversion-Convert-t.patch @@@ -1,0 -1,0 +1,188 @@@ ++From: Carbo Kuo ++Date: Thu, 25 Feb 2021 21:13:38 +0900 ++Subject: Fix a severe performance bug in `Conversion::Convert` that caused ++ O(N^2) complexity. ++ ++In `Conversion.cpp`, line 27: ++``` ++ Optional matched = dict->MatchPrefix(pstr); ++``` ++pstr is a `const char*`. However, there is no overloaded function which parameter `const char*`. ++Therefore it matches `Optional MatchPrefix(const std::string& word) const`. ++There is an implicit type conversion from `char*` to `std::string` with time complexity O(N). ++ ++I added new benchmark tests. Before the fix: ++ ++1: ------------------------------------------------------------------ ++1: Benchmark Time CPU Iterations ++1: ------------------------------------------------------------------ ++1: BM_Initialization/hk2s 1.17 ms 1.12 ms 645 ++1: BM_Initialization/hk2t 0.116 ms 0.116 ms 5922 ++1: BM_Initialization/jp2t 0.206 ms 0.201 ms 3500 ++1: BM_Initialization/s2hk 18.2 ms 17.9 ms 40 ++1: BM_Initialization/s2t 18.2 ms 18.1 ms 39 ++1: BM_Initialization/s2tw 17.9 ms 17.8 ms 39 ++1: BM_Initialization/s2twp 18.6 ms 18.4 ms 39 ++1: BM_Initialization/t2hk 0.055 ms 0.054 ms 12907 ++1: BM_Initialization/t2jp 0.120 ms 0.117 ms 5978 ++1: BM_Initialization/t2s 0.988 ms 0.984 ms 710 ++1: BM_Initialization/tw2s 1.08 ms 1.05 ms 672 ++1: BM_Initialization/tw2sp 1.26 ms 1.24 ms 563 ++1: BM_Initialization/tw2t 0.088 ms 0.083 ms 8528 ++1: BM_Convert2M 413 ms 413 ms 2 ++1: BM_Convert/100 1.09 ms 1.09 ms 629 ++1: BM_Convert/1000 33.2 ms 33.2 ms 21 ++1: BM_Convert/10000 2822 ms 2822 ms 1 ++1: BM_Convert/100000 (took longer than 5 minutes, killed) ++ ++Now: ++1: ------------------------------------------------------------------ ++1: Benchmark Time CPU Iterations ++1: ------------------------------------------------------------------ ++1: BM_Initialization/hk2s 1.07 ms 1.07 ms 650 ++1: BM_Initialization/hk2t 0.114 ms 0.114 ms 6092 ++1: BM_Initialization/jp2t 0.204 ms 0.200 ms 3503 ++1: BM_Initialization/s2hk 18.2 ms 18.0 ms 40 ++1: BM_Initialization/s2t 17.6 ms 17.6 ms 39 ++1: BM_Initialization/s2tw 18.0 ms 17.9 ms 40 ++1: BM_Initialization/s2twp 17.9 ms 17.9 ms 39 ++1: BM_Initialization/t2hk 0.055 ms 0.055 ms 12855 ++1: BM_Initialization/t2jp 0.125 ms 0.124 ms 5772 ++1: BM_Initialization/t2s 1.000 ms 0.989 ms 695 ++1: BM_Initialization/tw2s 1.09 ms 1.07 ms 668 ++1: BM_Initialization/tw2sp 1.29 ms 1.26 ms 558 ++1: BM_Initialization/tw2t 0.082 ms 0.082 ms 8558 ++1: BM_Convert2M 361 ms 361 ms 2 ++1: BM_Convert/100 0.741 ms 0.740 ms 948 ++1: BM_Convert/1000 7.54 ms 7.52 ms 94 ++1: BM_Convert/10000 76.3 ms 76.3 ms 9 ++1: BM_Convert/100000 786 ms 786 ms 1 ++ ++This bug was reported in https://github.com/BYVoid/OpenCC/issues/478 and https://github.com/BYVoid/OpenCC/issues/517. ++--- ++ src/Dict.hpp | 7 ++++ ++ src/benchmark/Performance.cpp | 77 ++++++++++++++++++++++++++++++++++--------- ++ 2 files changed, 69 insertions(+), 15 deletions(-) ++ ++diff --git a/src/Dict.hpp b/src/Dict.hpp ++index 461d6d2..1c81034 100644 ++--- a/src/Dict.hpp +++++ b/src/Dict.hpp ++@@ -49,6 +49,13 @@ public: ++ virtual Optional MatchPrefix(const char* word, ++ size_t len) const; ++ +++ /** +++ * Matches the longest matched prefix of a word. +++ */ +++ Optional MatchPrefix(const char* word) const { +++ return MatchPrefix(word, KeyMaxLength()); +++ } +++ ++ /** ++ * Matches the longest matched prefix of a word. ++ */ ++diff --git a/src/benchmark/Performance.cpp b/src/benchmark/Performance.cpp ++index cf8d3aa..d1b6468 100644 ++--- a/src/benchmark/Performance.cpp +++++ b/src/benchmark/Performance.cpp ++@@ -1,7 +1,26 @@ +++/* +++ * Open Chinese Convert +++ * +++ * Copyright 2020-2021 Carbo Kuo +++ * +++ * Licensed under the Apache License, Version 2.0 (the "License"); +++ * you may not use this file except in compliance with the License. +++ * You may obtain a copy of the License at +++ * +++ * http://www.apache.org/licenses/LICENSE-2.0 +++ * +++ * Unless required by applicable law or agreed to in writing, software +++ * distributed under the License is distributed on an "AS IS" BASIS, +++ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +++ * See the License for the specific language governing permissions and +++ * limitations under the License. +++ */ +++ ++ #include ++ #include ++ #include ++ #include +++#include ++ #include ++ ++ #ifdef _MSC_VER ++@@ -44,21 +63,32 @@ static void BM_Initialization(benchmark::State& state, ++ state.ResumeTiming(); ++ } ++ } ++-BENCHMARK_CAPTURE(BM_Initialization, hk2s, "hk2s"); ++-BENCHMARK_CAPTURE(BM_Initialization, hk2t, "hk2t"); ++-BENCHMARK_CAPTURE(BM_Initialization, jp2t, "jp2t"); ++-BENCHMARK_CAPTURE(BM_Initialization, s2hk, "s2hk"); ++-BENCHMARK_CAPTURE(BM_Initialization, s2t, "s2t"); ++-BENCHMARK_CAPTURE(BM_Initialization, s2tw, "s2tw"); ++-BENCHMARK_CAPTURE(BM_Initialization, s2twp, "s2twp"); ++-BENCHMARK_CAPTURE(BM_Initialization, t2hk, "t2hk"); ++-BENCHMARK_CAPTURE(BM_Initialization, t2jp, "t2jp"); ++-BENCHMARK_CAPTURE(BM_Initialization, t2s, "t2s"); ++-BENCHMARK_CAPTURE(BM_Initialization, tw2s, "tw2s"); ++-BENCHMARK_CAPTURE(BM_Initialization, tw2sp, "tw2sp"); ++-BENCHMARK_CAPTURE(BM_Initialization, tw2t, "tw2t"); +++BENCHMARK_CAPTURE(BM_Initialization, hk2s, "hk2s") +++ ->Unit(benchmark::kMillisecond); +++BENCHMARK_CAPTURE(BM_Initialization, hk2t, "hk2t") +++ ->Unit(benchmark::kMillisecond); +++BENCHMARK_CAPTURE(BM_Initialization, jp2t, "jp2t") +++ ->Unit(benchmark::kMillisecond); +++BENCHMARK_CAPTURE(BM_Initialization, s2hk, "s2hk") +++ ->Unit(benchmark::kMillisecond); +++BENCHMARK_CAPTURE(BM_Initialization, s2t, "s2t")->Unit(benchmark::kMillisecond); +++BENCHMARK_CAPTURE(BM_Initialization, s2tw, "s2tw") +++ ->Unit(benchmark::kMillisecond); +++BENCHMARK_CAPTURE(BM_Initialization, s2twp, "s2twp") +++ ->Unit(benchmark::kMillisecond); +++BENCHMARK_CAPTURE(BM_Initialization, t2hk, "t2hk") +++ ->Unit(benchmark::kMillisecond); +++BENCHMARK_CAPTURE(BM_Initialization, t2jp, "t2jp") +++ ->Unit(benchmark::kMillisecond); +++BENCHMARK_CAPTURE(BM_Initialization, t2s, "t2s")->Unit(benchmark::kMillisecond); +++BENCHMARK_CAPTURE(BM_Initialization, tw2s, "tw2s") +++ ->Unit(benchmark::kMillisecond); +++BENCHMARK_CAPTURE(BM_Initialization, tw2sp, "tw2sp") +++ ->Unit(benchmark::kMillisecond); +++BENCHMARK_CAPTURE(BM_Initialization, tw2t, "tw2t") +++ ->Unit(benchmark::kMillisecond); ++ ++-static void BM_Convert(benchmark::State& state) { +++static void BM_Convert2M(benchmark::State& state) { ++ const std::string config_name = "s2t"; ++ const std::string text = ReadText("zuozhuan.txt"); ++ const std::unique_ptr converter(Initialize(config_name)); ++@@ -66,7 +96,24 @@ static void BM_Convert(benchmark::State& state) { ++ Convert(converter.get(), text); ++ } ++ } ++-BENCHMARK(BM_Convert)->Unit(benchmark::kMillisecond); +++BENCHMARK(BM_Convert2M)->Unit(benchmark::kMillisecond); +++ +++static void BM_Convert(benchmark::State& state, int iteration) { +++ std::ostringstream os; +++ for (int i = 0; i < iteration; i++) { +++ os << "Open Chinese Convert 開放中文轉換" << i << std::endl; +++ } +++ const std::string text = os.str(); +++ const std::string config_name = "s2t"; +++ const std::unique_ptr converter(Initialize(config_name)); +++ for (auto _ : state) { +++ Convert(converter.get(), text); +++ } +++} +++BENCHMARK_CAPTURE(BM_Convert, 100, 100)->Unit(benchmark::kMillisecond); +++BENCHMARK_CAPTURE(BM_Convert, 1000, 1000)->Unit(benchmark::kMillisecond); +++BENCHMARK_CAPTURE(BM_Convert, 10000, 10000)->Unit(benchmark::kMillisecond); +++BENCHMARK_CAPTURE(BM_Convert, 100000, 100000)->Unit(benchmark::kMillisecond); ++ ++ } // namespace opencc ++ diff --cc debian/patches/series index 0000000,0000000..ad3c3d6 new file mode 100644 --- /dev/null +++ b/debian/patches/series @@@ -1,0 -1,0 +1,7 @@@ ++0001-use-cmake-install-libdir.patch ++0002-use-system-libraries.patch ++0003-data-Explicitly-use-python3.patch ++0004-no-remote-images-when-reading-docs-on-disk.patch ++0005-Use-system-googletest.patch ++0006-Fix-a-bug-in-the-calculation-of-DictGroup-keyMaxLeng.patch ++0007-Fix-a-severe-performance-bug-in-Conversion-Convert-t.patch diff --cc debian/rules index 0000000,0000000..250a007 new file mode 100755 --- /dev/null +++ b/debian/rules @@@ -1,0 -1,0 +1,50 @@@ ++#!/usr/bin/make -f ++# -*- makefile -*- ++# Uncomment this to turn on verbose mode. ++# export DH_VERBOSE=1 ++ ++# see FEATURE AREAS in dpkg-buildflags(1) ++export DEB_BUILD_MAINT_OPTIONS = hardening=+all ++ ++include /usr/share/dpkg/architecture.mk ++ ++# Disable parallel build to circumvent some random build error ++# (needs further investigation) ++%: ++ dh $@ --buildsystem=cmake --with pkgkde_symbolshelper --no-parallel ++ ++BUILD_OPTIONS = \ ++ -DCMAKE_INSTALL_PREFIX=/usr \ ++ -DCMAKE_INSTALL_LIBDIR=/usr/lib/$(DEB_HOST_MULTIARCH)/ \ ++ -DCMAKE_BUILD_TYPE=Release \ ++ -DBUILD_BUNDLED_LIBMARISA=OFF ++ ++ifeq (,$(filter nodoc,$(DEB_BUILD_OPTIONS))) ++BUILD_OPTIONS += -DBUILD_DOCUMENTATION=ON ++else ++BUILD_OPTIONS += -DBUILD_DOCUMENTATION=OFF ++endif ++ ++ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS))) ++BUILD_OPTIONS += -DENABLE_GTEST=ON ++else ++BUILD_OPTIONS += -DENABLE_GTEST=OFF ++endif ++ ++override_dh_auto_configure: ++ dh_auto_configure -- $(BUILD_OPTIONS) ++ ++execute_after_dh_auto_clean: ++ find . -name *.pyc -delete ++ ++execute_after_dh_installdocs-indep: ++ifeq (,$(findstring nodoc,$(DEB_BUILD_OPTIONS))) ++ dh_doxygen --indep ++endif ++ ++override_dh_installdocs: ++ dh_installdocs -plibopencc-doc --doc-main-package=opencc ++ dh_installdocs --remaining-packages ++ ++override_dh_installchangelogs: ++ dh_installchangelogs -k NEWS.md diff --cc debian/source/format index 0000000,0000000..163aaf8 new file mode 100644 --- /dev/null +++ b/debian/source/format @@@ -1,0 -1,0 +1,1 @@@ ++3.0 (quilt) diff --cc debian/source/lintian-overrides index 0000000,0000000..ceb0cce new file mode 100644 --- /dev/null +++ b/debian/source/lintian-overrides @@@ -1,0 -1,0 +1,2 @@@ ++# libopencc1.1 installs architecture dependent .ocd2 files ++dependency-is-not-multi-archified libopencc-dev depends on libopencc1.1 (multi-arch: no) diff --cc debian/tests/CMakeLists.txt index 0000000,0000000..e6f88c7 new file mode 100644 --- /dev/null +++ b/debian/tests/CMakeLists.txt @@@ -1,0 -1,0 +1,24 @@@ ++cmake_minimum_required(VERSION 3.18) ++project (opencc-integration CXX) ++include (CTest) ++enable_testing() ++ ++find_package(PkgConfig REQUIRED) ++find_program (OPENCC_TOOL opencc REQUIRED) ++pkg_check_modules(OPENCC REQUIRED IMPORTED_TARGET opencc) ++ ++add_definitions( ++ -DCMAKE_BINARY_DIR="${CMAKE_BINARY_DIR}" ++ -DCMAKE_SOURCE_DIR="${CMAKE_SOURCE_DIR}" ++ -DPROJECT_BINARY_PATH="${OPENCC_TOOL}" ++) ++make_directory(${CMAKE_BINARY_DIR}/test) ++add_subdirectory(/usr/src/googletest/googletest ${CMAKE_BINARY_DIR}/googletest-build EXCLUDE_FROM_ALL) ++set(UNITTESTS ++ CommandLineConvertTest ++) ++foreach(UNITTEST ${UNITTESTS}) ++ add_executable(${UNITTEST} ${UNITTEST}.cpp) ++ target_link_libraries(${UNITTEST} gtest gtest_main PkgConfig::OPENCC) ++ add_test(${UNITTEST} ${UNITTEST}) ++endforeach(UNITTEST) diff --cc debian/tests/CommandLineConvertTest.cpp index 0000000,0000000..6ca6068 new file mode 100644 --- /dev/null +++ b/debian/tests/CommandLineConvertTest.cpp @@@ -1,0 -1,0 +1,104 @@@ ++/* ++ * Open Chinese Convert ++ * ++ * Copyright 2015 Carbo Kuo ++ * ++ * Licensed under the Apache License, Version 2.0 (the "License"); ++ * you may not use this file except in compliance with the License. ++ * You may obtain a copy of the License at ++ * ++ * http://www.apache.org/licenses/LICENSE-2.0 ++ * ++ * Unless required by applicable law or agreed to in writing, software ++ * distributed under the License is distributed on an "AS IS" BASIS, ++ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ++ * See the License for the specific language governing permissions and ++ * limitations under the License. ++ */ ++ ++#include ++ ++#include "Common.hpp" ++#include "gtest/gtest.h" ++ ++namespace opencc { ++ ++class CommandLineConvertTest : public ::testing::Test { ++protected: ++ CommandLineConvertTest() { GetCurrentWorkingDirectory(); } ++ ++ virtual ~CommandLineConvertTest() { free(originalWorkingDirectory); } ++ ++ virtual void SetUp() { ++ ASSERT_NE("", CMAKE_BINARY_DIR); ++ ASSERT_NE("", CMAKE_SOURCE_DIR); ++ ASSERT_EQ(0, chdir("/usr/share/opencc/")); ++ } ++ ++ virtual void TearDown() { ASSERT_EQ(0, chdir(originalWorkingDirectory)); } ++ ++ std::string GetFileContents(const std::string& fileName) const { ++ std::ifstream fs(fileName); ++ EXPECT_TRUE(fs.is_open()); ++ const std::string content((std::istreambuf_iterator(fs)), ++ (std::istreambuf_iterator())); ++ fs.close(); ++ return content; ++ } ++ ++ void GetCurrentWorkingDirectory() { ++ originalWorkingDirectory = getcwd(nullptr, 0); ++ } ++ ++ const char* OpenccCommand() const { ++ return PROJECT_BINARY_PATH; ++ } ++ ++ const char* InputDirectory() const { ++ return CMAKE_SOURCE_DIR "/../../test/testcases/"; ++ } ++ ++ const char* OutputDirectory() const { return CMAKE_BINARY_DIR "/test/"; } ++ ++ const char* AnswerDirectory() const { ++ return CMAKE_SOURCE_DIR "/../../test/testcases/"; ++ } ++ ++ const char* ConfigurationDirectory() const { ++ return "/usr/share/opencc/"; ++ } ++ ++ std::string OutputFile(const char* config) const { ++ return std::string(OutputDirectory()) + config + ".out"; ++ } ++ ++ std::string AnswerFile(const char* config) const { ++ return std::string(AnswerDirectory()) + config + ".ans"; ++ } ++ ++ std::string TestCommand(const char* config) const { ++ return OpenccCommand() + std::string("") + " -i " + InputDirectory() + ++ config + ".in" + " -o " + OutputFile(config) + " -c " + ++ ConfigurationDirectory() + config + ".json"; ++ } ++ ++ char* originalWorkingDirectory; ++}; ++ ++class ConfigurationTest : public CommandLineConvertTest, ++ public ::testing::WithParamInterface {}; ++ ++TEST_P(ConfigurationTest, Convert) { ++ const char* config = GetParam(); ++ ASSERT_EQ(0, system(TestCommand(config).c_str())); ++ const std::string& output = GetFileContents(OutputFile(config)); ++ const std::string& answer = GetFileContents(AnswerFile(config)); ++ ASSERT_EQ(answer, output); ++} ++ ++INSTANTIATE_TEST_CASE_P(CommandLine, ConfigurationTest, ++ ::testing::Values("hk2s", "hk2t", "jp2t", "s2hk", "s2t", ++ "s2tw", "s2twp", "t2hk", "t2jp", "t2s", ++ "tw2s", "tw2sp", "tw2t")); ++ ++} // namespace opencc diff --cc debian/tests/README.md index 0000000,0000000..12d6cec new file mode 100644 --- /dev/null +++ b/debian/tests/README.md @@@ -1,0 -1,0 +1,3 @@@ ++Fork from ../../test, please refresh this file if source has changed. ++ ++Test with installed opencc tool and library. diff --cc debian/tests/control index 0000000,0000000..36df47b new file mode 100644 --- /dev/null +++ b/debian/tests/control @@@ -1,0 -1,0 +1,8 @@@ ++Tests: integration ++Depends: ++ build-essential, ++ cmake, ++ googletest, ++ pkg-config, ++ @, ++Restrictions: allow-stderr, diff --cc debian/tests/integration index 0000000,0000000..c1f1746 new file mode 100755 --- /dev/null +++ b/debian/tests/integration @@@ -1,0 -1,0 +1,12 @@@ ++#!/bin/sh ++ ++set -ex ++ ++cd "$(dirname "$0")" ++mkdir -p build ++cd build ++cmake .. ++make ++make test ++cd .. ++rm -rf build diff --cc debian/upstream/metadata index 0000000,0000000..85af1e4 new file mode 100644 --- /dev/null +++ b/debian/upstream/metadata @@@ -1,0 -1,0 +1,4 @@@ ++Bug-Database: https://github.com/BYVoid/OpenCC/issues ++Bug-Submit: https://github.com/BYVoid/OpenCC/issues/new ++Repository: https://github.com/BYVoid/OpenCC.git ++Repository-Browse: https://github.com/BYVoid/OpenCC diff --cc debian/watch index 0000000,0000000..ab1e001 new file mode 100644 --- /dev/null +++ b/debian/watch @@@ -1,0 -1,0 +1,4 @@@ ++version=4 ++opts="dversionmangle=s/\+ds\d?$//,repack,repacksuffix=+ds1,filenamemangle=s%(?:.*?)?v?(\d[\d.]*)\.tar\.gz%@PACKAGE@-$1.tar.gz%" \ ++ https://github.com/byvoid/@PACKAGE@/releases \ ++ (?:.*?/)?(?:ver\.)?@ANY_VERSION@@ARCHIVE_EXT@ debian uupdate