summaryrefslogtreecommitdiff
path: root/app-i18n
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2022-03-20 00:40:44 +0000
committerV3n3RiX <venerix@koprulu.sector>2022-03-20 00:40:44 +0000
commit4cbcc855382a06088e2f016f62cafdbcb7e40665 (patch)
tree356496503d52354aa6d9f2d36126302fed5f3a73 /app-i18n
parentfcc5224904648a8e6eb528d7603154160a20022f (diff)
gentoo resync : 20.03.2022
Diffstat (limited to 'app-i18n')
-rw-r--r--app-i18n/Manifest.gzbin18834 -> 18838 bytes
-rw-r--r--app-i18n/enca/Manifest2
-rw-r--r--app-i18n/enca/enca-1.19-r3.ebuild4
-rw-r--r--app-i18n/ibus-m17n/Manifest2
-rw-r--r--app-i18n/ibus-m17n/ibus-m17n-1.4.9.ebuild45
-rw-r--r--app-i18n/ibus-table/Manifest2
-rw-r--r--app-i18n/ibus-table/ibus-table-1.16.7.ebuild55
-rw-r--r--app-i18n/ibus-typing-booster/Manifest8
-rw-r--r--app-i18n/ibus-typing-booster/ibus-typing-booster-2.15.11.ebuild4
-rw-r--r--app-i18n/ibus-typing-booster/ibus-typing-booster-2.15.16.ebuild (renamed from app-i18n/ibus-typing-booster/ibus-typing-booster-2.14.13-r1.ebuild)6
-rw-r--r--app-i18n/ibus-typing-booster/ibus-typing-booster-2.15.22.ebuild54
-rw-r--r--app-i18n/librime-lua/Manifest2
-rw-r--r--app-i18n/librime-lua/librime-lua-20201011103348.ebuild53
-rw-r--r--app-i18n/librime/Manifest11
-rw-r--r--app-i18n/librime/files/librime-1.5.3-log_files_mode.patch14
-rw-r--r--app-i18n/librime/files/librime-1.6.0-plugins.patch247
-rw-r--r--app-i18n/librime/files/librime-1.6.1-plugins.patch247
-rw-r--r--app-i18n/librime/librime-1.5.3-r2.ebuild74
-rw-r--r--app-i18n/librime/librime-1.6.0-r1.ebuild74
-rw-r--r--app-i18n/librime/librime-1.6.1-r1.ebuild74
-rw-r--r--app-i18n/librime/librime-1.7.3-r1.ebuild4
-rw-r--r--app-i18n/man-pages-l10n/Manifest2
-rw-r--r--app-i18n/man-pages-l10n/man-pages-l10n-4.12.1-r1.ebuild73
-rw-r--r--app-i18n/mozc/Manifest19
-rw-r--r--app-i18n/mozc/files/mozc-2.20.2673.102-tests_build.patch27
-rw-r--r--app-i18n/mozc/files/mozc-2.20.2673.102-tests_skipping.patch70
-rw-r--r--app-i18n/mozc/files/mozc-2.23.2815.102-environmental_variables.patch132
-rw-r--r--app-i18n/mozc/files/mozc-2.23.2815.102-gcc-8.patch22
-rw-r--r--app-i18n/mozc/files/mozc-2.23.2815.102-protobuf-3.18.patch13
-rw-r--r--app-i18n/mozc/files/mozc-2.23.2815.102-python-3_1.patch621
-rw-r--r--app-i18n/mozc/files/mozc-2.23.2815.102-python-3_2.patch600
-rw-r--r--app-i18n/mozc/files/mozc-2.23.2815.102-python-3_3.patch583
-rw-r--r--app-i18n/mozc/files/mozc-2.23.2815.102-python-3_4.patch537
-rw-r--r--app-i18n/mozc/files/mozc-2.23.2815.102-reiwa.patch35
-rw-r--r--app-i18n/mozc/files/mozc-2.23.2815.102-server_path_check.patch95
-rw-r--r--app-i18n/mozc/files/mozc-2.23.2815.102-system_libraries.patch274
-rw-r--r--app-i18n/mozc/metadata.xml2
-rw-r--r--app-i18n/mozc/mozc-2.23.2815.102.ebuild369
-rw-r--r--app-i18n/opencc/Manifest8
-rw-r--r--app-i18n/opencc/files/opencc-1.1.0-parallel_build.patch40
-rw-r--r--app-i18n/opencc/files/opencc-1.1.1-system_libraries.patch94
-rw-r--r--app-i18n/opencc/opencc-1.0.6.ebuild63
-rw-r--r--app-i18n/opencc/opencc-1.1.0.ebuild64
-rw-r--r--app-i18n/opencc/opencc-1.1.1.ebuild76
-rw-r--r--app-i18n/rime-data/Manifest2
-rw-r--r--app-i18n/rime-data/rime-data-0.35.ebuild26
-rw-r--r--app-i18n/scim-bridge/Manifest2
-rw-r--r--app-i18n/scim-bridge/scim-bridge-0.4.16-r3.ebuild4
-rw-r--r--app-i18n/tagainijisho/Manifest11
-rw-r--r--app-i18n/tagainijisho/tagainijisho-1.2.0_pre20200118132551_p20200701_p20200701.ebuild201
-rw-r--r--app-i18n/tagainijisho/tagainijisho-1.2.0_pre20200118132551_p20201001_p20201001.ebuild201
-rw-r--r--app-i18n/tagainijisho/tagainijisho-1.2.0_pre20210313131524_p20210401_p20210401.ebuild200
-rw-r--r--app-i18n/transifex-client/Manifest7
-rw-r--r--app-i18n/transifex-client/files/transifex-client-0.14.2-r1-timestamp.patch16
-rw-r--r--app-i18n/transifex-client/transifex-client-0.14.3.ebuild41
-rw-r--r--app-i18n/transifex-client/transifex-client-1.0.0.ebuild4
-rw-r--r--app-i18n/transifex-client/transifex-client-1.0.3.ebuild230
-rw-r--r--app-i18n/unicode-data/Manifest2
-rw-r--r--app-i18n/unicode-data/unicode-data-14.0.0.ebuild4
59 files changed, 491 insertions, 5261 deletions
diff --git a/app-i18n/Manifest.gz b/app-i18n/Manifest.gz
index 7cc1353ff406..05d30f3c611e 100644
--- a/app-i18n/Manifest.gz
+++ b/app-i18n/Manifest.gz
Binary files differ
diff --git a/app-i18n/enca/Manifest b/app-i18n/enca/Manifest
index 6c0f0cbb6106..cb7e388e1103 100644
--- a/app-i18n/enca/Manifest
+++ b/app-i18n/enca/Manifest
@@ -1,3 +1,3 @@
DIST enca-1.19.tar.xz 465412 BLAKE2B fefd58502cf345f9b88d620d5af349d72b9e2af70d61c9b5aa3632cf91011110dc1fa08e78dd04c02c5a333adfefeb88f529f3cadcb75d0cea2b500a5a70c057 SHA512 6678639992685180457bbef7b0da6e475071ec6935dfd672188fc242ef80b906e75eff9a206e07989893d0ef4ae5eb500f1d0bbd6b4d58146c94bb143b5fb296
-EBUILD enca-1.19-r3.ebuild 1608 BLAKE2B a510824a2b96486b5881e58a7eda7b1695126b208fb082b08e7d3a6c97ab65d677f0a9ad73e127acf47b0a3c2c0edf2a92bca8293cb9553e120ffc51a9ebbedc SHA512 8e2b778ec92849efedf8d30e9e00c9bd7078fbc71fef311d0dd101768d76976f7ce48dfc8701b0a57672c711b3ca187fee0ac5e60b619bb79147cd0ab5fd4935
+EBUILD enca-1.19-r3.ebuild 1615 BLAKE2B d30dd057cb45f557a7d733703729f13e6369d43792e9ab135c9fc4cba88908bfbbde1c89a4a28ba50eefc7f1e6ec346a56f036ac17d8ec3a990cbeb1f9756682 SHA512 839b088ddcbfbca4d0410a995ee5e9eb6ee4706737945530604720e8a74e26bce9cc29aef3d8a6359ac27382b4042768057100ee784639021b8e103fc9c93cdc
MISC metadata.xml 243 BLAKE2B bc2d1e6252be7bd416cf860f1524a3dce0e725e3000d6cee6d3996fa2ccaf3204cefb28089e9eb23558f9632431142fcf777a092b8a27ddf668333713d6107ec SHA512 35a89d38fcac8095f36e5b262259d1b60883c27e545f82a4849c5b85d45922abae8335be7b5e291d97a5fe7308f36d900e31d3682a2691ad1f6ace3570149798
diff --git a/app-i18n/enca/enca-1.19-r3.ebuild b/app-i18n/enca/enca-1.19-r3.ebuild
index 94cbc29fa4b1..941e8d7601e5 100644
--- a/app-i18n/enca/enca-1.19-r3.ebuild
+++ b/app-i18n/enca/enca-1.19-r3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -11,7 +11,7 @@ SRC_URI="https://dl.cihar.com/${PN}/${P}.tar.xz"
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~mips ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~x86-solaris"
+KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~x86-solaris"
IUSE="doc +iconv recode"
BDEPEND="doc? ( dev-util/gtk-doc )"
diff --git a/app-i18n/ibus-m17n/Manifest b/app-i18n/ibus-m17n/Manifest
index 54df6aade9a0..43a6d004371b 100644
--- a/app-i18n/ibus-m17n/Manifest
+++ b/app-i18n/ibus-m17n/Manifest
@@ -1,3 +1,5 @@
DIST ibus-m17n-1.4.8.tar.gz 494516 BLAKE2B ec4cb36d465e25a6e0e334243e7df83444846f9109ef2142daea4949ddaa7cdf5290fc2749a978f7b8fb6d49bb080b2b826726fdc97e26bc722b019c93f13882 SHA512 3e808ffc3b7d03a745be1009a58c8d03ecabe15478f7bf36d70b777d342ad04d0f5574bb78743bcb67ab36674d316aef3cd7070d48ef9e11d07f960d75597aec
+DIST ibus-m17n-1.4.9.tar.gz 494921 BLAKE2B c0adc4ff702b7a9828c6d966b52eca90f7f538786f17a9e8273dd13bcdfab59c24e59b2f680f1582bf4dc077dcc2e3c774258d09f58fc296b32d090ee42531af SHA512 6a7d7316fc98e832282302a5d54eb40b6e879f98d6910db8d2c834be6c23ebda30ccbc5ed116caa3d91148e5bb2260c49f670c8c7fb2c6215d31f3e6794cd3ab
EBUILD ibus-m17n-1.4.8.ebuild 801 BLAKE2B ae98e47abf2b6a6df31f97e538132ff89550861bcb6e736f7cc626ded61eea34d7e7437119f67483b70a24190e16a26bb47345e7dc023bf8f0d88a0b1fd8341e SHA512 c4e4525aecd307997c3a7a497355fb91cbdf50eec1e1596ca812b7188e2de71b54626bf8efd33efaef28625a015e5aedd91c962409b521f59e05e739be5a41da
+EBUILD ibus-m17n-1.4.9.ebuild 803 BLAKE2B 6bdd0fe9346a907b2291c3df2a4289d826fd1417db6c6419bcab2eb459b0b860e5e9921d428b400637029f3a7bca914032f6aa428bba4926bcf14fc5e9fdebf3 SHA512 a953de9583a6e475518297e665efc9fe3afb9314f96f85b21a91c6e9560f1a1eb7194b51d0a02b6a6b9ec57ed0edc3d17430b83235333135d6cec4178ef686fb
MISC metadata.xml 555 BLAKE2B b9dd5e7d4f230dde589a7e73333d14d52dae05d0e549dbde75332807434fc7c73ee7fe468dd919762527ac65f16c7a484b8d8b5c629c24dbe695c19c96b9abba SHA512 311891667bea4f2d4797440920ba2779a7f54766d3967edb25cb65b30800164a33192babdf7aadaa9adfeade385852d7d8d2a9a039b7c4ecbd2e9ed0a553fe89
diff --git a/app-i18n/ibus-m17n/ibus-m17n-1.4.9.ebuild b/app-i18n/ibus-m17n/ibus-m17n-1.4.9.ebuild
new file mode 100644
index 000000000000..1466a2deebfc
--- /dev/null
+++ b/app-i18n/ibus-m17n/ibus-m17n-1.4.9.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="8"
+
+inherit gnome2-utils xdg
+
+DESCRIPTION="M17N engine for IBus"
+HOMEPAGE="https://github.com/ibus/ibus/wiki"
+SRC_URI="https://github.com/ibus/${PN}/releases/download/${PV}/${P}.tar.gz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="gtk nls"
+
+DEPEND="app-i18n/ibus
+ dev-libs/m17n-lib
+ gtk? ( x11-libs/gtk+:3 )
+ nls? ( virtual/libintl )"
+RDEPEND="${DEPEND}
+ >=dev-db/m17n-db-1.7"
+BDEPEND="sys-devel/gettext
+ virtual/pkgconfig"
+
+src_configure() {
+ econf \
+ $(use_enable nls) \
+ $(use_with gtk gtk 3.0)
+}
+
+pkg_preinst() {
+ xdg_pkg_preinst
+ gnome2_schemas_savelist
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+ gnome2_schemas_update
+}
+
+pkg_postrm() {
+ xdg_pkg_postrm
+ gnome2_schemas_update
+}
diff --git a/app-i18n/ibus-table/Manifest b/app-i18n/ibus-table/Manifest
index aa1b9839c808..289d8193e1e1 100644
--- a/app-i18n/ibus-table/Manifest
+++ b/app-i18n/ibus-table/Manifest
@@ -1,3 +1,5 @@
DIST ibus-table-1.14.1.tar.gz 1451943 BLAKE2B e8fc54daf89aaee813de6788bef9f56a654ffdf4751acf3e2f622d971134c3aba906ca2b106f51b2fa305b8c65fb4db862f57f5f9e3e82a569c5a72e3017e627 SHA512 a658c2d370d173d2fe2f38c02c6b822a17771754ac98a856f954c4c998e90a857f9d54ed652c74159af9545d445001d202e7b5578e7694f8767f928b42db9055
+DIST ibus-table-1.16.7.tar.gz 1463213 BLAKE2B 2d3eb68570c834f668f8d8f50ea4fc79cb1def331405f136000dda37d9be0150a442e2b92a29610632eefde42089f6c5b782ea63fa1d9b5fde9443419a6831cf SHA512 6dc08df4c5e7216b3b9e366c404dd6d89566937f83f58074aed1c5c925bc411568855ac08a8edab306b4b535da428ae660d4876a35e546aad75ede01aa608ee3
EBUILD ibus-table-1.14.1.ebuild 1036 BLAKE2B 7d8675e81b7479baa17ec10a123a17b0ec70107f092c9f3132268c30de9142d16852dee0778ec7d835e5df978a9265de21576a5beca1f25ce16894bc98a7567d SHA512 ec83e59fab0605efcb9da896a0af86980a1d4a94554292cbe5fae5086c619ff7adffe8973e79cc84b4dba73a1e504153dd58551718be45a37c458f129cf9ac5d
+EBUILD ibus-table-1.16.7.ebuild 1039 BLAKE2B bfa60c06635c734fc91125a997f134541fd481f37b81ab94b89c12f1262839a98e1ebdf67f340e1d59879bacc4db500444bd40c440216c31ac41e1cd5468f670 SHA512 67bcb9a5a1bd5730dc9de788f34566c27ef22167658e0510b80082a9740ab4cefb02c53d73a60bb3acfe5339e89dbd1362fede169d3e6b9fc6926551b39ea637
MISC metadata.xml 315 BLAKE2B eeff056ce020201cb6e59f0f160232486fd94cc9de7cc90980155f9ef97988199d592b01190b13b013433853fbc25d9c4e5e29fe33fb74aa4239318cfac312fd SHA512 3329cc73468815ecf7f122ee8e8b81ca7295abcfeab95082841ae460c7ca76fdf2cb3d01b1548795bb525ce855052f512b8b2d77fa3afd302f41c156edf35de0
diff --git a/app-i18n/ibus-table/ibus-table-1.16.7.ebuild b/app-i18n/ibus-table/ibus-table-1.16.7.ebuild
new file mode 100644
index 000000000000..7314f41b0540
--- /dev/null
+++ b/app-i18n/ibus-table/ibus-table-1.16.7.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="8"
+PYTHON_COMPAT=( python3_{8..10} )
+PYTHON_REQ_USE="sqlite(+)"
+
+inherit gnome2-utils python-single-r1 xdg
+
+DESCRIPTION="Tables engines for IBus"
+HOMEPAGE="https://github.com/ibus/ibus/wiki"
+SRC_URI="https://github.com/kaio/${PN}/releases/download/${PV}/${P}.tar.gz"
+
+LICENSE="GPL-2 LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="nls"
+RESTRICT="test"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="${PYTHON_DEPS}
+ $(python_gen_cond_dep '
+ app-i18n/ibus[python(+),${PYTHON_USEDEP}]
+ dev-python/pygobject:3[${PYTHON_USEDEP}]
+ ')
+ virtual/libiconv
+ nls? ( virtual/libintl )"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig
+ nls? ( sys-devel/gettext )"
+
+src_prepare() {
+ python_fix_shebang .
+
+ default
+}
+
+src_configure() {
+ econf $(use_enable nls)
+}
+
+pkg_preinst() {
+ xdg_pkg_preinst
+ gnome2_schemas_savelist
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+ gnome2_schemas_update
+}
+
+pkg_postrm() {
+ xdg_pkg_postrm
+ gnome2_schemas_update
+}
diff --git a/app-i18n/ibus-typing-booster/Manifest b/app-i18n/ibus-typing-booster/Manifest
index 8849cf42434c..96e07082d04f 100644
--- a/app-i18n/ibus-typing-booster/Manifest
+++ b/app-i18n/ibus-typing-booster/Manifest
@@ -1,5 +1,7 @@
-DIST ibus-typing-booster-2.14.13.tar.gz 10239396 BLAKE2B 1c4db896f28f3f1b58bd3071fb6f2d5c1b2b4e0fbad43568ae25d69f301d4ce408ca6c2fb829818f6981c2f212c499c1dfabc3511f09f7a9f5c3d4ae2d08a212 SHA512 4e1f1c39fea030f1f056966007127afeb5c6c098a66ecd6fe0b4ea60f302438e072d6d409ef2bee9ea5b0d1048b5a22d7e4fad9f7f509362e2af251855f6e535
DIST ibus-typing-booster-2.15.11.tar.gz 10250973 BLAKE2B 1285d34535fc7087d19c1e01f70ace3aacc4a45ae04d7ab32c2af7b61eab7b547fa901ee01ddd1b1356de7fcb1f30d8c0dce58692b8b9448442eb5bdcdd9f7bd SHA512 38e74e6b95bff13f7b166158c145aa9d2180ba70380dad428fce322535b959cd3b8980ed499c2aec4a9701f1398b4ce793b99ce0af30c1eb2ce015bd35b990a7
-EBUILD ibus-typing-booster-2.14.13-r1.ebuild 1150 BLAKE2B 7818e815685aa34d330c6034189ea5b8853974c43327f0af17341fd402b618d585796da8fb7e88d6dee55bf87a0a76768599b289c9b3dc6be7d15f324eb0977d SHA512 a001e68b8c7777d786d65c3523481bf0f7d31520b9b869e880c0a551e5e48773f991dccf1af12328cca19e3df523c90413d4895bd2ecb7ce60be3a0c5c07a274
-EBUILD ibus-typing-booster-2.15.11.ebuild 1152 BLAKE2B ac31646eaad089059fe20bd6fffe960a90283e030542b98e734d3a48e0c9ce672575fbdf9dc4ab46576b51eea5961868b87fc741be0e5fc3b89c36e3c60cc11d SHA512 c0618306f76a06300f214aa239d296378a1f07d5fc8e06ab265d7333464820639310a8b970c1b6e43aaf3d261a4efaae03c0964e45293dde5dd861c3b897a07c
+DIST ibus-typing-booster-2.15.16.tar.gz 10279700 BLAKE2B 75f9ea696ec5320e56ce06926c7fec56ea5918e90ac2abe416a6161e358564c2851588487672b711a28a6a770372300a90b3717fe3a8d51b118a937136cff7e5 SHA512 5a2f315f3def693508f25dbc0fbda8b7a8d6b260e9a676cd38b720e059e3600a6abebc8f06581fe6e96e7f825eb3401235ebfa5a5ff491b39d5804469b2d2fa0
+DIST ibus-typing-booster-2.15.22.tar.gz 10779889 BLAKE2B c35306fd3556178257047573f58658ea44d1ceee341964bee5719f5e4509f385e6b1ca520324c66bc417a74d89e5b3eebc7a7413ce2e60398bc83f992eb8a07e SHA512 ae7683434111c7c267c1eb05e88609e0895308443a0510e9eba67000681bb3dfddcf5a652f33bd4b63c7aed10fe2109eafcaae19a4052ae008e92ab9314ae907
+EBUILD ibus-typing-booster-2.15.11.ebuild 1150 BLAKE2B b975138b543f5bbb61a25ea1d65df7d3e13c0917fd8afe26a3fb32ccc1d2909f6874017e6c2e1670bb739f2e29f8c25bb248909fba518c57e7745a25ee1e3661 SHA512 38e079200fb8b6f72ee325bfe08fa682a25729ee1f6d299d6f9c0e28e6701ae01a9235377f73351b2ef09de1ee31e54f28792f1cbc42db0e6a05c66a0ff342a6
+EBUILD ibus-typing-booster-2.15.16.ebuild 1152 BLAKE2B 02705b507534b72948c798a9f6d714574b90a7f46d8722f75f95216d5866f0fdbd4acb77b1c8a18470c594445c6ba585b344bf0e0719ecd6fb181ad5a3a49b71 SHA512 55892d6d65034d285589b718ae2512cf3de0a85ab0560ed8189bd8dd80de08f6a385c28b6a5aa5adb3e6fc1662daa965257f4eb3cfa1032dbf371b8c902142bc
+EBUILD ibus-typing-booster-2.15.22.ebuild 1152 BLAKE2B 02705b507534b72948c798a9f6d714574b90a7f46d8722f75f95216d5866f0fdbd4acb77b1c8a18470c594445c6ba585b344bf0e0719ecd6fb181ad5a3a49b71 SHA512 55892d6d65034d285589b718ae2512cf3de0a85ab0560ed8189bd8dd80de08f6a385c28b6a5aa5adb3e6fc1662daa965257f4eb3cfa1032dbf371b8c902142bc
MISC metadata.xml 331 BLAKE2B e076fda3780cbfebae0a799bcc320de0417dfc2a726320c014d253163625da4fd629b180442449368e316e134bf2024f7e03373f2ca0342c4b63a11c63475697 SHA512 f79eaa01a0ad3005064928ef7fbaed4bc98f8850ca36b23309096647b6158c7500e0075f149e4e764a89af99a8fe342eb6a1d9b83a347557300545ecf870e4d8
diff --git a/app-i18n/ibus-typing-booster/ibus-typing-booster-2.15.11.ebuild b/app-i18n/ibus-typing-booster/ibus-typing-booster-2.15.11.ebuild
index 34ef03a80db1..74f5e82171ca 100644
--- a/app-i18n/ibus-typing-booster/ibus-typing-booster-2.15.11.ebuild
+++ b/app-i18n/ibus-typing-booster/ibus-typing-booster-2.15.11.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
@@ -13,7 +13,7 @@ SRC_URI="https://github.com/mike-fabian/${PN}/releases/download/${PV}/${P}.tar.g
LICENSE="GPL-3+"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="amd64 x86"
IUSE=""
RESTRICT="test"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
diff --git a/app-i18n/ibus-typing-booster/ibus-typing-booster-2.14.13-r1.ebuild b/app-i18n/ibus-typing-booster/ibus-typing-booster-2.15.16.ebuild
index dcace1669979..58166b805e3c 100644
--- a/app-i18n/ibus-typing-booster/ibus-typing-booster-2.14.13-r1.ebuild
+++ b/app-i18n/ibus-typing-booster/ibus-typing-booster-2.15.16.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI="7"
+EAPI="8"
PYTHON_COMPAT=( python3_{8..10} )
PYTHON_REQ_USE="sqlite(+)"
@@ -13,7 +13,7 @@ SRC_URI="https://github.com/mike-fabian/${PN}/releases/download/${PV}/${P}.tar.g
LICENSE="GPL-3+"
SLOT="0"
-KEYWORDS="amd64 x86"
+KEYWORDS="~amd64 ~x86"
IUSE=""
RESTRICT="test"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
diff --git a/app-i18n/ibus-typing-booster/ibus-typing-booster-2.15.22.ebuild b/app-i18n/ibus-typing-booster/ibus-typing-booster-2.15.22.ebuild
new file mode 100644
index 000000000000..58166b805e3c
--- /dev/null
+++ b/app-i18n/ibus-typing-booster/ibus-typing-booster-2.15.22.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="8"
+PYTHON_COMPAT=( python3_{8..10} )
+PYTHON_REQ_USE="sqlite(+)"
+
+inherit gnome2-utils python-single-r1 xdg
+
+DESCRIPTION="Completion input method for IBus"
+HOMEPAGE="https://mike-fabian.github.io/ibus-typing-booster"
+SRC_URI="https://github.com/mike-fabian/${PN}/releases/download/${PV}/${P}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+RESTRICT="test"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+DEPEND="${PYTHON_DEPS}
+ dev-libs/m17n-lib
+ $(python_gen_cond_dep '
+ app-i18n/ibus[python(+),${PYTHON_USEDEP}]
+ dev-python/dbus-python[${PYTHON_USEDEP}]
+ dev-python/pyenchant[${PYTHON_USEDEP}]
+ dev-python/pygobject:3[${PYTHON_USEDEP}]
+ dev-python/pyxdg[${PYTHON_USEDEP}]
+ ')"
+RDEPEND="${DEPEND}
+ >=dev-db/m17n-db-1.7"
+BDEPEND="sys-devel/gettext
+ virtual/pkgconfig"
+
+src_prepare() {
+ default
+
+ sed -i "s|/usr\(/bin/sh\)|\1|" {engine,setup}/*.in
+}
+
+pkg_preinst() {
+ xdg_pkg_preinst
+ gnome2_schemas_savelist
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+ gnome2_schemas_update
+}
+
+pkg_postrm() {
+ xdg_pkg_postrm
+ gnome2_schemas_update
+}
diff --git a/app-i18n/librime-lua/Manifest b/app-i18n/librime-lua/Manifest
index 555b44963d35..906121e2361c 100644
--- a/app-i18n/librime-lua/Manifest
+++ b/app-i18n/librime-lua/Manifest
@@ -1,6 +1,4 @@
-DIST librime-lua-20201011103348.tar.gz 21600 BLAKE2B f7046d1eb23391ca70543aa64c52092081cef51a69ac3a282f2f1392eaf760515186f063e9d469c5c41ac9f495ace814ab741a0821d1a635b9ad1f4faa7a3912 SHA512 2a3d3b49d53066fe96dd008e8064718082225e6bf185574a25b8e98175d9936abcfa1fdc56e48f9c72a2deb46f8157d6132fd119ff8e0a3d52fbe9e2ea21386c
DIST librime-lua-20211030072627.tar.gz 27894 BLAKE2B a527e865a9945aa7d56cce3905bc80156b60ebf6323828ca40999cb73ebe8d8f66ddf6b0a1d6d5904f2bc754b5f8fe6ac1f5ecdc56351c2222a21429a0c2b701 SHA512 b15f85b0a18e5e05fa691a84aef7cf3689b4a5271a1d5b6f78ea42488f6dbe4dfc56a91fa547ca3636269b9c898d646d24d3a160096ace9927901f9fdba06e9c
-EBUILD librime-lua-20201011103348.ebuild 1405 BLAKE2B d0992debc4633736e0795da0090fd967a38ca620cb49ad056c31bb0f2fede0d33c95c90bab88825366288c22e7839b4d15a03899570dd375f7bd90a7e68da3f3 SHA512 059f5a47165beff6a87b059c2285621e730761c5cdb1b2eac2c4eba558acf51e46cbc9b732e5ce7e2dadb560de6f35b1366bd0cd8b81a141ba9a36114f90b1c0
EBUILD librime-lua-20211030072627.ebuild 1404 BLAKE2B 4fcb8728741f0b2c7e74f1789a0bb855ab992a610a405015a0e026a383af077aa33ffdaeb62cef1a26f0cff0555ab4ae982ac4032b5c742282241d06cb57b61e SHA512 791d7cbc9d4c7df43da783a05c0d9e17439970e80287249ebbaa13c45a9896fbb47de43d038ca799372aaccea2e1dfed6d6bf7231db8c58ed3fabcd84f696071
EBUILD librime-lua-99999999999999.ebuild 1341 BLAKE2B 084fc35e63bfee88ccae0079346afe6db06c94ddf92ff09c59d5ce8091f48bb0949476d6fba87760deef4dfc0ff7f7fb430176cb89bd35971bb95d27547923e3 SHA512 41061d67933983f942174488723604266aa521a6e22133ed68e43541d7f765bb2ba06f242f2ad7b7157a9050b2207b67ce6daef00540781c39a603deb25f7e1a
MISC metadata.xml 468 BLAKE2B ea5c1e18f45d407545766eedaa97001e5d350e8c15933a11541c91b942de5e968fcaee42853ecefca39f01ac8dab17962189267b0cf1a449107743f15e8ff686 SHA512 32a8d40ba13bb8e0cb75579b4ffaf0695ccec5f7cf6c224ef687d1058d0f4adec67a523f8e58002a8020be5e148d05676bc17470c6ddee73f45a4bac961ef0f1
diff --git a/app-i18n/librime-lua/librime-lua-20201011103348.ebuild b/app-i18n/librime-lua/librime-lua-20201011103348.ebuild
deleted file mode 100644
index 52202aa4718d..000000000000
--- a/app-i18n/librime-lua/librime-lua-20201011103348.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 2020-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-LUA_COMPAT=( lua5-{1..4} )
-
-inherit cmake lua-single
-
-if [[ "${PV}" == "99999999999999" ]]; then
- inherit git-r3
-
- EGIT_REPO_URI="https://github.com/hchunhui/librime-lua"
-else
- LIBRIME_LUA_GIT_REVISION="d45a41af2f9d731e3c1516a191cc3160e3cb8377"
-fi
-
-DESCRIPTION="Lua support for RIME"
-HOMEPAGE="https://github.com/hchunhui/librime-lua"
-if [[ "${PV}" == "99999999999999" ]]; then
- SRC_URI=""
-else
- SRC_URI="https://github.com/hchunhui/${PN}/archive/${LIBRIME_LUA_GIT_REVISION}.tar.gz -> ${P}.tar.gz"
-fi
-
-LICENSE="BSD MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
-IUSE=""
-REQUIRED_USE="${LUA_REQUIRED_USE}"
-
-BDEPEND=""
-RDEPEND=">=app-i18n/librime-1.6:0=
- ${LUA_DEPS}"
-DEPEND="${RDEPEND}
- dev-libs/boost:0"
-
-if [[ "${PV}" != "99999999999999" ]]; then
- S="${WORKDIR}/${PN}-${LIBRIME_LUA_GIT_REVISION}"
-fi
-
-src_prepare() {
- sed \
- -e "1icmake_minimum_required(VERSION 3.0)\nproject(${PN})\n" \
- -e "s/ PARENT_SCOPE//" \
- -e "\$a\\\n" \
- -e "\$aadd_library(\${plugin_modules} MODULE \${plugin_objs})" \
- -e "\$aset_target_properties(\${plugin_modules} PROPERTIES PREFIX \"\")" \
- -e "\$atarget_link_libraries(\${plugin_modules} rime \${plugin_deps})" \
- -e "\$ainstall(TARGETS \${plugin_modules} DESTINATION $(get_libdir)/rime-plugins)" \
- -i CMakeLists.txt || die
-
- cmake_src_prepare
-}
diff --git a/app-i18n/librime/Manifest b/app-i18n/librime/Manifest
index 50548d829d7d..477e841c68ca 100644
--- a/app-i18n/librime/Manifest
+++ b/app-i18n/librime/Manifest
@@ -1,13 +1,4 @@
-AUX librime-1.5.3-log_files_mode.patch 458 BLAKE2B acd2f59f409b3643807ea845fd08bfcfe730cfedaacb7d70a4b1ba017a299cb95b8d815bbbf53b2c0e3c86c4482a2d71a97fef362a6f0404dd45e96b57f78be7 SHA512 d8b12367916ed1ad5deb2e982437d3e5e04592baa6c1e12f6b78ff99b8cc407f2c9fc6f47c0715054572f6f8a5edafcb6f6da033902175cc4357a07faad04420
AUX librime-1.6.0-boost-1.76.patch 717 BLAKE2B 9abca897e4a3a23ec7ea2355148e34ef93b331b084634b0011815ec0d7d231626ebc0af53c71cd0b76ee3a5de50e1779a79de118433eca399e17ad06026d0eb2 SHA512 f2dad5927e7c0c95a09900581dff04f99d26ebc877ed4cd2c0fc3f226cb072fbe769fe67166976cbb848599a19b9a8ece926b2538ae2df0cb09a4e5b7b83fe11
-AUX librime-1.6.0-plugins.patch 7447 BLAKE2B c2429bedb7eeabfeafeee310e5380ef22f65c3590f70f387376cdb9ea1c9a9a6c072d87bf2174067378104d31c7de6b2f4ea1fd37f8db3a76343e1849fb6d737 SHA512 dc39a5e9d8cb432b232ce82af31994912c24d446a9b0db908c543a605a047434d5afb7fd79aa8a6ea74d0b4431e2af67a48081e3edc338de75a3b2eafc28dbf9
-AUX librime-1.6.1-plugins.patch 7447 BLAKE2B 95f1b8f412e6e12c8c702d2295966831d4c2d06fd75a691460a2cd83b73ab033ae495a6d51ff2c0f5115b366ca33079159f5d9a026165acde7ca9c0e9c936983 SHA512 b32e6d736a0d26cc4dc5b6ac54f51a737e93f52a356e59d54d51523884eca64066a413cd3f9caa2d4db4574d96524c2688810921555ada0018c064afb1827307
-DIST librime-1.5.3.tar.gz 2847083 BLAKE2B 4ffb2c5ddaf52f9c9227fa4ea019ef2965e61139f678798c08ef37dc52b863763651b63ed820caad0de1b06f48ab5c1a7a2682653340d2ae7f5f9eec3cec80b2 SHA512 4d7f6ec43bd5728f59f0b3581bcd8a46128651430b6873017d80659942b8f6aa1a2f25f439ba8fba461fe22acbf701c2da7a786104a2e4852a70a89cdc0452d3
-DIST librime-1.6.0.tar.gz 2856645 BLAKE2B de6d843a5028f6b0308c3432ada7dd00c08a71e73fe799b157fd71a4054c757a00d3b0fdc7743d94d6e87b03f256e822ee29c16c86f96f5d24c7d864266c4f78 SHA512 4aeace0f1628293d4b607483ab976841093a1ff03df8bf63d545715af00254d1f0b1bdcd120795ea688d152287069881e0740372f40e2174a14ae6f53b7f950b
-DIST librime-1.6.1.tar.gz 2856751 BLAKE2B c6b01342dcc9e8ee571cb14a36b851a50bf7b191211197421647ab05e6fa64c676f8936920870dcc335d06c635e354fed706832e41192bccd0a17aff02df1a43 SHA512 944361e9459662bb97b97ce9e2651acf0beb368b3769d1b9576cf4e5c2779302cae470fa39f5bc262cabb6a0e8590bcb77d32ffc87d7385b9465869fe7d5bcb3
DIST librime-1.7.3.tar.gz 2859513 BLAKE2B 834622860cdc3038d1b983f476bca70f211dfbc3bc2b565a998163e22688841ee3a0c7f9a64bce285e2f3f5b5a9a802bd5506f17904ccb3291babf80d4748fb5 SHA512 8767d17c3d14a5a1bbb8269fab1627b907de72c288b362fdbc6191223937da21e8b18471b4ae8f83ce5afc0ec5c3ab12fbcb49930eb9969c1764c7390d9ee4b0
-EBUILD librime-1.5.3-r2.ebuild 1601 BLAKE2B d7ab84518a7a37902153c06dd0c981e19e18f2a0ca73794a00a1194149746a93e6ade1e38138dc401b61e6f891da71ebcea709a3c4d2ec8e4fac302121cdb71b SHA512 9d8d92d930c405e070a6b9f62b19ed53e3a62a93ea758544c0016dbc62c23a3eed1e69a7e0c0fa09db642080cfe7c28494b253782c6c33f9becf752e3b5b288d
-EBUILD librime-1.6.0-r1.ebuild 1638 BLAKE2B 2155119e681abc5ab398b4f57d58e76af843e6fb17c0da5d5f245fa0c989dc888e6b428498b4018169dcce006398750fc312ce5b13c24130cefb662feae53dfc SHA512 e0992fec585f86ffefd35f010f60d409b00f24b231ffabb6a3b399ef23a1c158e9c4b7ac37e8afde105d6f8e314bd5d107f0f47c074d5ba31f5146ed6ba1879f
-EBUILD librime-1.6.1-r1.ebuild 1638 BLAKE2B c6fe9446a4dd687eb08eb5cf1aeee48fa45d07591332abb1bf0cc4950da1052074f62ac3ef6421b4c184a98dfacb0cbde943dbf5568988c286bd9bd64941b624 SHA512 9eb3c343c7ee4594efce9b2d653fd07f37c987fd8e0be36dd745a339262c4212235b83e4637cb4c2c6af2acbd990fd51dc6c359d4aa115311ff7ff1c602112a8
-EBUILD librime-1.7.3-r1.ebuild 1599 BLAKE2B cfa7290710bcf8cad62a6480a27993c849d8ba5f1a29af51cb22d05c69a735609b78d28c7b50af7b7e35b2cf96ff84921577bad948e1ba70bb226f406606814d SHA512 154371aba461ac6e01db7b02dcffd5a86bfa777b4d587c7ce5ed80f3c3869c5a425920f75715c96fa0453eb6f72afbd41fdd16a391e8a270e34268d2d38c648c
+EBUILD librime-1.7.3-r1.ebuild 1597 BLAKE2B b2e53762c6758f74b7460c8e7c08db67e24bc3bd049e234acc3f6262d2477554f0f115c1c764ea9811346d02d3476601f80d73a93a6517e5b2c3a573e539d020 SHA512 2242e5ae4a4abe835725378583603fd1267dc5eee8a412617015f0bd6a585b9cb114fc944bc78ab3325f3755cf19d209706a28b25a9928491cef138dd5a5e996
MISC metadata.xml 777 BLAKE2B 1ac91ae089dff08373d0e0c7a4b95e952a9e697c8ea462f08d3894e01ffeace211eaccafe5d9737912418d254c8343e7b999dd02e79eba3feaeef35191d74d5b SHA512 d06cdebe5baa6d639074a739b9e996deb29f6e553d333f3d852dce03b3e4eef44690a610d6d358493bf91836d9d6a6cb471779ba8eada084528416405a0240b2
diff --git a/app-i18n/librime/files/librime-1.5.3-log_files_mode.patch b/app-i18n/librime/files/librime-1.5.3-log_files_mode.patch
deleted file mode 100644
index 7a36dea64d24..000000000000
--- a/app-i18n/librime/files/librime-1.5.3-log_files_mode.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-https://github.com/rime/librime/issues/316
-https://github.com/rime/librime/commit/90839b0b3d47cbfef715ea5f061c7505666ff75d
-
---- /src/rime/setup.cc
-+++ /src/rime/setup.cc
-@@ -35,6 +35,8 @@
-
- RIME_API void SetupLogging(const char* app_name) {
- #ifdef RIME_ENABLE_LOGGING
-+ // Do not allow other users to read/write log files created by current process.
-+ FLAGS_logfile_mode = 0600;
- google::InitGoogleLogging(app_name);
- #endif // RIME_ENABLE_LOGGING
- }
diff --git a/app-i18n/librime/files/librime-1.6.0-plugins.patch b/app-i18n/librime/files/librime-1.6.0-plugins.patch
deleted file mode 100644
index c79072f31cbb..000000000000
--- a/app-i18n/librime/files/librime-1.6.0-plugins.patch
+++ /dev/null
@@ -1,247 +0,0 @@
-https://github.com/rime/librime/issues/431
-
---- /CMakeLists.txt
-+++ /CMakeLists.txt
-@@ -11,6 +11,14 @@
-
- include(GNUInstallDirs)
-
-+if(NOT DEFINED BIN_INSTALL_DIR)
-+ set(BIN_INSTALL_DIR ${CMAKE_INSTALL_BINDIR})
-+endif()
-+
-+if(NOT DEFINED LIB_INSTALL_DIR)
-+ set(LIB_INSTALL_DIR ${CMAKE_INSTALL_LIBDIR})
-+endif()
-+
- option(BUILD_SHARED_LIBS "Build Rime as shared library" ON)
- option(BUILD_MERGED_PLUGINS "Merge plugins into one Rime library" ON)
- option(BUILD_STATIC "Build with dependencies as static libraries" OFF)
-@@ -22,8 +30,11 @@
- option(BOOST_USE_CXX11 "Boost has been built with C++11 support" OFF)
- option(BOOST_USE_SIGNALS2 "Boost use signals2 instead of signals" ON)
- option(ENABLE_ASAN "Enable Address Sanitizer (Unix Only)" OFF)
-+option(INSTALL_PRIVATE_HEADERS "Install private headers (usually needed for externally built Rime plugins)" OFF)
-+option(ENABLE_EXTERNAL_PLUGINS "Enable loading of externally built Rime plugins (from directory set by RIME_PLUGINS_DIR variable)" OFF)
-
--set(rime_data_dir "/share/rime-data" CACHE STRING "Target directory for Rime data")
-+set(RIME_DATA_DIR "share/rime-data" CACHE STRING "Target directory for Rime data")
-+set(RIME_PLUGINS_DIR "${LIB_INSTALL_DIR}/rime-plugins" CACHE STRING "Target directory for externally built Rime plugins")
-
- if(WIN32)
- set(ext ".exe")
-@@ -61,7 +72,7 @@
- set(BOOST_COMPONENTS filesystem regex system)
-
- if(BOOST_USE_SIGNALS2)
-- add_definitions("-DBOOST_SIGNALS2")
-+ set(RIME_BOOST_SIGNALS2 1)
- else()
- set(BOOST_COMPONENTS ${BOOST_COMPONENTS} signals)
- endif()
-@@ -89,7 +100,7 @@
- add_definitions(-DGOOGLE_GLOG_DLL_DECL=)
- endif()
-
-- add_definitions(-DRIME_ENABLE_LOGGING)
-+ set(RIME_ENABLE_LOGGING 1)
-
- endif()
-
-@@ -134,6 +145,11 @@
- message(WARNING "X11/keysym.h not found.")
- endif()
-
-+configure_file(
-+ "${PROJECT_SOURCE_DIR}/src/rime/build_config.h.in"
-+ "${PROJECT_BINARY_DIR}/src/rime/build_config.h")
-+
-+include_directories(${PROJECT_BINARY_DIR}/src)
- include_directories(${PROJECT_SOURCE_DIR}/src)
- include_directories(${PROJECT_SOURCE_DIR}/thirdparty/include)
- link_directories(${PROJECT_SOURCE_DIR}/thirdparty/lib)
-@@ -154,14 +170,6 @@
- set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14")
- endif()
-
--if(NOT DEFINED LIB_INSTALL_DIR)
-- set(LIB_INSTALL_DIR ${CMAKE_INSTALL_LIBDIR})
--endif()
--
--if(NOT DEFINED BIN_INSTALL_DIR)
-- set(BIN_INSTALL_DIR ${CMAKE_INSTALL_BINDIR})
--endif()
--
- # uninstall target
- configure_file(
- "${CMAKE_CURRENT_SOURCE_DIR}/cmake/cmake_uninstall.cmake.in"
-@@ -175,7 +183,8 @@
- set(exec_prefix "${CMAKE_INSTALL_PREFIX}")
- set(bindir "${exec_prefix}/${BIN_INSTALL_DIR}")
- set(libdir "${exec_prefix}/${LIB_INSTALL_DIR}")
-- set(pkgdatadir "${prefix}${rime_data_dir}")
-+ set(pkgdatadir "${prefix}/${RIME_DATA_DIR}")
-+ set(pluginsdir "${exec_prefix}/${RIME_PLUGINS_DIR}")
- set(includedir "${prefix}/${CMAKE_INSTALL_INCLUDEDIR}")
- configure_file(
- ${PROJECT_SOURCE_DIR}/rime.pc.in
-@@ -189,11 +198,19 @@
-
- file(GLOB rime_public_header_files ${PROJECT_SOURCE_DIR}/src/*.h)
- install(FILES ${rime_public_header_files} DESTINATION include)
-+if(INSTALL_PRIVATE_HEADERS)
-+ file(GLOB rime_private_header_files ${PROJECT_SOURCE_DIR}/src/rime/*.h ${PROJECT_BINARY_DIR}/src/rime/*.h)
-+ install(FILES ${rime_private_header_files} DESTINATION include/rime)
-+ foreach(rime_private_header_files_dir algo config dict gear lever)
-+ file(GLOB rime_private_header_files ${PROJECT_SOURCE_DIR}/src/rime/${rime_private_header_files_dir}/*.h)
-+ install(FILES ${rime_private_header_files} DESTINATION include/rime/${rime_private_header_files_dir})
-+ endforeach()
-+endif()
-
- if(BUILD_DATA)
- file(GLOB rime_preset_data_files ${PROJECT_SOURCE_DIR}/data/preset/*.yaml)
- install(FILES ${rime_preset_data_files}
-- DESTINATION ${CMAKE_INSTALL_PREFIX}${rime_data_dir})
-+ DESTINATION ${CMAKE_INSTALL_PREFIX}/${RIME_DATA_DIR})
- endif()
-
- if(BUILD_SHARED_LIBS)
-@@ -223,6 +240,11 @@
- set(rime_plugins_library rime-plugins)
- endif()
-
-+add_definitions("-DRIME_PLUGINS_DIR=\"${CMAKE_INSTALL_PREFIX}/${RIME_PLUGINS_DIR}\"")
-+if(ENABLE_EXTERNAL_PLUGINS)
-+ add_definitions(-DRIME_ENABLE_EXTERNAL_PLUGINS)
-+endif()
-+
- add_subdirectory(src)
-
- if(BUILD_SHARED_LIBS)
---- /rime.pc.in
-+++ /rime.pc.in
-@@ -2,6 +2,8 @@
- exec_prefix=@exec_prefix@
- libdir=@libdir@
- includedir=@includedir@
-+pkgdatadir=@pkgdatadir@
-+pluginsdir=@pluginsdir@
-
- Name: Rime
- Description: Rime Input Method Engine
---- /src/CMakeLists.txt
-+++ /src/CMakeLists.txt
-@@ -36,6 +36,9 @@
- if(Gflags_FOUND)
- set(rime_optional_deps ${rime_optional_deps} ${Gflags_LIBRARY})
- endif()
-+if(ENABLE_EXTERNAL_PLUGINS)
-+ set(rime_optional_deps ${rime_optional_deps} dl)
-+endif()
-
- set(rime_core_deps
- ${Boost_LIBRARIES}
---- /src/rime/build_config.h.in
-+++ /src/rime/build_config.h.in
-@@ -0,0 +1,11 @@
-+//
-+// Copyright RIME Developers
-+// Distributed under the BSD License
-+//
-+#ifndef RIME_BUILD_CONFIG_H_
-+#define RIME_BUILD_CONFIG_H_
-+
-+#cmakedefine RIME_BOOST_SIGNALS2
-+#cmakedefine RIME_ENABLE_LOGGING
-+
-+#endif // RIME_BUILD_CONFIG_H_
---- /src/rime/common.h
-+++ /src/rime/common.h
-@@ -7,6 +7,8 @@
- #ifndef RIME_COMMON_H_
- #define RIME_COMMON_H_
-
-+#include <rime/build_config.h>
-+
- #include <functional>
- #include <list>
- #include <map>
-@@ -20,7 +22,7 @@
- #include <vector>
- #include <boost/optional.hpp>
- #define BOOST_BIND_NO_PLACEHOLDERS
--#ifdef BOOST_SIGNALS2
-+#ifdef RIME_BOOST_SIGNALS2
- #include <boost/signals2/connection.hpp>
- #include <boost/signals2/signal.hpp>
- #else
-@@ -79,7 +81,7 @@
- return std::make_shared<T>(std::forward<Args>(args)...);
- }
-
--#ifdef BOOST_SIGNALS2
-+#ifdef RIME_BOOST_SIGNALS2
- using boost::signals2::connection;
- using boost::signals2::signal;
- #else
---- /src/rime/lever/deployment_tasks.cc
-+++ /src/rime/lever/deployment_tasks.cc
-@@ -4,6 +4,9 @@
- //
- // 2011-12-10 GONG Chen <chen.sst@gmail.com>
- //
-+
-+#include <rime/build_config.h>
-+
- #include <algorithm>
- #include <boost/algorithm/string.hpp>
- #include <boost/filesystem.hpp>
---- /src/rime/setup.cc
-+++ /src/rime/setup.cc
-@@ -5,6 +5,13 @@
- // 2011-10-02 GONG Chen <chen.sst@gmail.com>
- //
-
-+#include <rime/build_config.h>
-+
-+#ifdef RIME_ENABLE_EXTERNAL_PLUGINS
-+#include <dlfcn.h>
-+#include <glob.h>
-+#endif // RIME_ENABLE_EXTERNAL_PLUGINS
-+
- #ifdef RIME_ENABLE_LOGGING
- #include <glog/logging.h>
- #endif // RIME_ENABLE_LOGGING
-@@ -33,6 +40,32 @@
- mm.LoadModule(module);
- }
- }
-+
-+#ifdef RIME_ENABLE_EXTERNAL_PLUGINS
-+ fs::path plugins_dir = fs::path(RIME_PLUGINS_DIR);
-+ fs::path plugins_files = plugins_dir / "*.so";
-+ glob_t glob_buffer;
-+ if (glob(plugins_files.string().c_str(), 0, NULL, &glob_buffer) == 0) {
-+ for (size_t i = 0; i < glob_buffer.gl_pathc; i++) {
-+ fs::path plugin_file(glob_buffer.gl_pathv[i]);
-+ fs::path plugin_name = plugin_file.stem();
-+ fs::file_status plugin_file_status = fs::status(plugin_file);
-+ if (fs::is_regular_file(plugin_file) &&
-+ plugin_file_status.permissions() & (fs::owner_exe | fs::group_exe | fs::others_exe)) {
-+ void* handle = dlopen(plugin_file.string().c_str(), RTLD_LAZY);
-+ if (handle) {
-+ if (RimeModule* module = mm.Find(plugin_name.string())) {
-+ mm.LoadModule(module);
-+ }
-+ }
-+ else {
-+ LOG(ERROR) << "dlopen error: " << dlerror();
-+ }
-+ }
-+ }
-+ globfree(&glob_buffer);
-+ }
-+#endif
- }
-
- // assume member is a non-null pointer in struct *p.
diff --git a/app-i18n/librime/files/librime-1.6.1-plugins.patch b/app-i18n/librime/files/librime-1.6.1-plugins.patch
deleted file mode 100644
index 68099d618693..000000000000
--- a/app-i18n/librime/files/librime-1.6.1-plugins.patch
+++ /dev/null
@@ -1,247 +0,0 @@
-https://github.com/rime/librime/issues/431
-
---- /CMakeLists.txt
-+++ /CMakeLists.txt
-@@ -11,6 +11,14 @@
-
- include(GNUInstallDirs)
-
-+if(NOT DEFINED BIN_INSTALL_DIR)
-+ set(BIN_INSTALL_DIR ${CMAKE_INSTALL_BINDIR})
-+endif()
-+
-+if(NOT DEFINED LIB_INSTALL_DIR)
-+ set(LIB_INSTALL_DIR ${CMAKE_INSTALL_LIBDIR})
-+endif()
-+
- option(BUILD_SHARED_LIBS "Build Rime as shared library" ON)
- option(BUILD_MERGED_PLUGINS "Merge plugins into one Rime library" ON)
- option(BUILD_STATIC "Build with dependencies as static libraries" OFF)
-@@ -22,8 +30,11 @@
- option(BOOST_USE_CXX11 "Boost has been built with C++11 support" OFF)
- option(BOOST_USE_SIGNALS2 "Boost use signals2 instead of signals" ON)
- option(ENABLE_ASAN "Enable Address Sanitizer (Unix Only)" OFF)
-+option(INSTALL_PRIVATE_HEADERS "Install private headers (usually needed for externally built Rime plugins)" OFF)
-+option(ENABLE_EXTERNAL_PLUGINS "Enable loading of externally built Rime plugins (from directory set by RIME_PLUGINS_DIR variable)" OFF)
-
--set(rime_data_dir "/share/rime-data" CACHE STRING "Target directory for Rime data")
-+set(RIME_DATA_DIR "share/rime-data" CACHE STRING "Target directory for Rime data")
-+set(RIME_PLUGINS_DIR "${LIB_INSTALL_DIR}/rime-plugins" CACHE STRING "Target directory for externally built Rime plugins")
-
- if(WIN32)
- set(ext ".exe")
-@@ -61,7 +72,7 @@
- set(BOOST_COMPONENTS filesystem regex system)
-
- if(BOOST_USE_SIGNALS2)
-- add_definitions("-DBOOST_SIGNALS2")
-+ set(RIME_BOOST_SIGNALS2 1)
- else()
- set(BOOST_COMPONENTS ${BOOST_COMPONENTS} signals)
- endif()
-@@ -89,7 +100,7 @@
- add_definitions(-DGOOGLE_GLOG_DLL_DECL=)
- endif()
-
-- add_definitions(-DRIME_ENABLE_LOGGING)
-+ set(RIME_ENABLE_LOGGING 1)
-
- endif()
-
-@@ -134,6 +145,11 @@
- message(WARNING "X11/keysym.h not found.")
- endif()
-
-+configure_file(
-+ "${PROJECT_SOURCE_DIR}/src/rime/build_config.h.in"
-+ "${PROJECT_BINARY_DIR}/src/rime/build_config.h")
-+
-+include_directories(${PROJECT_BINARY_DIR}/src)
- include_directories(${PROJECT_SOURCE_DIR}/src)
- include_directories(${PROJECT_SOURCE_DIR}/thirdparty/include)
- link_directories(${PROJECT_SOURCE_DIR}/thirdparty/lib)
-@@ -154,14 +170,6 @@
- set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14")
- endif()
-
--if(NOT DEFINED LIB_INSTALL_DIR)
-- set(LIB_INSTALL_DIR ${CMAKE_INSTALL_LIBDIR})
--endif()
--
--if(NOT DEFINED BIN_INSTALL_DIR)
-- set(BIN_INSTALL_DIR ${CMAKE_INSTALL_BINDIR})
--endif()
--
- # uninstall target
- configure_file(
- "${CMAKE_CURRENT_SOURCE_DIR}/cmake/cmake_uninstall.cmake.in"
-@@ -175,7 +183,8 @@
- set(exec_prefix "${CMAKE_INSTALL_PREFIX}")
- set(bindir "${exec_prefix}/${BIN_INSTALL_DIR}")
- set(libdir "${exec_prefix}/${LIB_INSTALL_DIR}")
-- set(pkgdatadir "${prefix}${rime_data_dir}")
-+ set(pkgdatadir "${prefix}/${RIME_DATA_DIR}")
-+ set(pluginsdir "${exec_prefix}/${RIME_PLUGINS_DIR}")
- set(includedir "${prefix}/${CMAKE_INSTALL_INCLUDEDIR}")
- configure_file(
- ${PROJECT_SOURCE_DIR}/rime.pc.in
-@@ -189,11 +198,19 @@
-
- file(GLOB rime_public_header_files ${PROJECT_SOURCE_DIR}/src/*.h)
- install(FILES ${rime_public_header_files} DESTINATION include)
-+if(INSTALL_PRIVATE_HEADERS)
-+ file(GLOB rime_private_header_files ${PROJECT_SOURCE_DIR}/src/rime/*.h ${PROJECT_BINARY_DIR}/src/rime/*.h)
-+ install(FILES ${rime_private_header_files} DESTINATION include/rime)
-+ foreach(rime_private_header_files_dir algo config dict gear lever)
-+ file(GLOB rime_private_header_files ${PROJECT_SOURCE_DIR}/src/rime/${rime_private_header_files_dir}/*.h)
-+ install(FILES ${rime_private_header_files} DESTINATION include/rime/${rime_private_header_files_dir})
-+ endforeach()
-+endif()
-
- if(BUILD_DATA)
- file(GLOB rime_preset_data_files ${PROJECT_SOURCE_DIR}/data/preset/*.yaml)
- install(FILES ${rime_preset_data_files}
-- DESTINATION ${CMAKE_INSTALL_PREFIX}${rime_data_dir})
-+ DESTINATION ${CMAKE_INSTALL_PREFIX}/${RIME_DATA_DIR})
- endif()
-
- if(BUILD_SHARED_LIBS)
-@@ -223,6 +240,11 @@
- set(rime_plugins_library rime-plugins)
- endif()
-
-+add_definitions("-DRIME_PLUGINS_DIR=\"${CMAKE_INSTALL_PREFIX}/${RIME_PLUGINS_DIR}\"")
-+if(ENABLE_EXTERNAL_PLUGINS)
-+ add_definitions(-DRIME_ENABLE_EXTERNAL_PLUGINS)
-+endif()
-+
- add_subdirectory(src)
-
- if(BUILD_SHARED_LIBS)
---- /rime.pc.in
-+++ /rime.pc.in
-@@ -2,6 +2,8 @@
- exec_prefix=@exec_prefix@
- libdir=@libdir@
- includedir=@includedir@
-+pkgdatadir=@pkgdatadir@
-+pluginsdir=@pluginsdir@
-
- Name: Rime
- Description: Rime Input Method Engine
---- /src/CMakeLists.txt
-+++ /src/CMakeLists.txt
-@@ -36,6 +36,9 @@
- if(Gflags_FOUND)
- set(rime_optional_deps ${rime_optional_deps} ${Gflags_LIBRARY})
- endif()
-+if(ENABLE_EXTERNAL_PLUGINS)
-+ set(rime_optional_deps ${rime_optional_deps} dl)
-+endif()
-
- set(rime_core_deps
- ${Boost_LIBRARIES}
---- /src/rime/build_config.h.in
-+++ /src/rime/build_config.h.in
-@@ -0,0 +1,11 @@
-+//
-+// Copyright RIME Developers
-+// Distributed under the BSD License
-+//
-+#ifndef RIME_BUILD_CONFIG_H_
-+#define RIME_BUILD_CONFIG_H_
-+
-+#cmakedefine RIME_BOOST_SIGNALS2
-+#cmakedefine RIME_ENABLE_LOGGING
-+
-+#endif // RIME_BUILD_CONFIG_H_
---- /src/rime/common.h
-+++ /src/rime/common.h
-@@ -7,6 +7,8 @@
- #ifndef RIME_COMMON_H_
- #define RIME_COMMON_H_
-
-+#include <rime/build_config.h>
-+
- #include <functional>
- #include <list>
- #include <map>
-@@ -20,7 +22,7 @@
- #include <vector>
- #include <boost/optional.hpp>
- #define BOOST_BIND_NO_PLACEHOLDERS
--#ifdef BOOST_SIGNALS2
-+#ifdef RIME_BOOST_SIGNALS2
- #include <boost/signals2/connection.hpp>
- #include <boost/signals2/signal.hpp>
- #else
-@@ -79,7 +81,7 @@
- return std::make_shared<T>(std::forward<Args>(args)...);
- }
-
--#ifdef BOOST_SIGNALS2
-+#ifdef RIME_BOOST_SIGNALS2
- using boost::signals2::connection;
- using boost::signals2::signal;
- #else
---- /src/rime/lever/deployment_tasks.cc
-+++ /src/rime/lever/deployment_tasks.cc
-@@ -4,6 +4,9 @@
- //
- // 2011-12-10 GONG Chen <chen.sst@gmail.com>
- //
-+
-+#include <rime/build_config.h>
-+
- #include <algorithm>
- #include <boost/algorithm/string.hpp>
- #include <boost/filesystem.hpp>
---- /src/rime/setup.cc
-+++ /src/rime/setup.cc
-@@ -5,6 +5,13 @@
- // 2011-10-02 GONG Chen <chen.sst@gmail.com>
- //
-
-+#include <rime/build_config.h>
-+
-+#ifdef RIME_ENABLE_EXTERNAL_PLUGINS
-+#include <dlfcn.h>
-+#include <glob.h>
-+#endif // RIME_ENABLE_EXTERNAL_PLUGINS
-+
- #ifdef RIME_ENABLE_LOGGING
- #include <glog/logging.h>
- #endif // RIME_ENABLE_LOGGING
-@@ -36,6 +43,32 @@
- mm.LoadModule(module);
- }
- }
-+
-+#ifdef RIME_ENABLE_EXTERNAL_PLUGINS
-+ fs::path plugins_dir = fs::path(RIME_PLUGINS_DIR);
-+ fs::path plugins_files = plugins_dir / "*.so";
-+ glob_t glob_buffer;
-+ if (glob(plugins_files.string().c_str(), 0, NULL, &glob_buffer) == 0) {
-+ for (size_t i = 0; i < glob_buffer.gl_pathc; i++) {
-+ fs::path plugin_file(glob_buffer.gl_pathv[i]);
-+ fs::path plugin_name = plugin_file.stem();
-+ fs::file_status plugin_file_status = fs::status(plugin_file);
-+ if (fs::is_regular_file(plugin_file) &&
-+ plugin_file_status.permissions() & (fs::owner_exe | fs::group_exe | fs::others_exe)) {
-+ void* handle = dlopen(plugin_file.string().c_str(), RTLD_LAZY);
-+ if (handle) {
-+ if (RimeModule* module = mm.Find(plugin_name.string())) {
-+ mm.LoadModule(module);
-+ }
-+ }
-+ else {
-+ LOG(ERROR) << "dlopen error: " << dlerror();
-+ }
-+ }
-+ }
-+ globfree(&glob_buffer);
-+ }
-+#endif
- }
-
- // assume member is a non-null pointer in struct *p.
diff --git a/app-i18n/librime/librime-1.5.3-r2.ebuild b/app-i18n/librime/librime-1.5.3-r2.ebuild
deleted file mode 100644
index bec00f1025a0..000000000000
--- a/app-i18n/librime/librime-1.5.3-r2.ebuild
+++ /dev/null
@@ -1,74 +0,0 @@
-# Copyright 2012-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-inherit cmake-utils
-
-if [[ "${PV}" == "9999" ]]; then
- inherit git-r3
-
- EGIT_REPO_URI="https://github.com/rime/librime"
- EGIT_SUBMODULES=()
-fi
-
-DESCRIPTION="RIME (Rime Input Method Engine) core library"
-HOMEPAGE="https://rime.im/ https://github.com/rime/librime"
-if [[ "${PV}" == "9999" ]]; then
- SRC_URI=""
-else
- SRC_URI="https://github.com/rime/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-fi
-
-LICENSE="BSD"
-SLOT="0/1"
-KEYWORDS="amd64 arm64 ppc ppc64 x86"
-IUSE="debug test"
-RESTRICT="!test? ( test )"
-
-BDEPEND=""
-RDEPEND="app-i18n/opencc:0=
- >=dev-cpp/glog-0.3.5:0=
- dev-cpp/yaml-cpp:0=
- dev-libs/boost:0=[nls,threads(+)]
- dev-libs/leveldb:0=
- dev-libs/marisa:0="
-DEPEND="${RDEPEND}
- dev-libs/darts
- dev-libs/utfcpp
- x11-base/xorg-proto
- test? ( dev-cpp/gtest )"
-
-PATCHES=(
- "${FILESDIR}/${P}-log_files_mode.patch"
-)
-
-DOCS=(CHANGELOG.md README.md)
-
-src_prepare() {
- # Use headers of dev-libs/darts, dev-libs/utfcpp and x11-base/xorg-proto.
- sed -e "/\${PROJECT_SOURCE_DIR}\/thirdparty/d" -i CMakeLists.txt || die
- rm -r thirdparty || die
-
- cmake-utils_src_prepare
-}
-
-src_configure() {
- local -x CXXFLAGS="${CXXFLAGS} -I${ESYSROOT}/usr/include/utf8cpp"
-
- if use debug; then
- CXXFLAGS+=" -DDCHECK_ALWAYS_ON"
- else
- CXXFLAGS+=" -DNDEBUG"
- fi
-
- local mycmakeargs=(
- -DBOOST_USE_CXX11=ON
- -DBUILD_TEST=$(usex test ON OFF)
- -DCMAKE_DISABLE_FIND_PACKAGE_Gflags=ON
- -DCMAKE_DISABLE_FIND_PACKAGE_Iconv=ON
- -DLIB_INSTALL_DIR="${EPREFIX}/usr/$(get_libdir)"
- )
-
- cmake-utils_src_configure
-}
diff --git a/app-i18n/librime/librime-1.6.0-r1.ebuild b/app-i18n/librime/librime-1.6.0-r1.ebuild
deleted file mode 100644
index 77cc61ea01a8..000000000000
--- a/app-i18n/librime/librime-1.6.0-r1.ebuild
+++ /dev/null
@@ -1,74 +0,0 @@
-# Copyright 2012-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-inherit cmake
-
-if [[ "${PV}" == "9999" ]]; then
- inherit git-r3
-
- EGIT_REPO_URI="https://github.com/rime/librime"
- EGIT_SUBMODULES=()
-fi
-
-DESCRIPTION="RIME (Rime Input Method Engine) core library"
-HOMEPAGE="https://rime.im/ https://github.com/rime/librime"
-if [[ "${PV}" == "9999" ]]; then
- SRC_URI=""
-else
- SRC_URI="https://github.com/rime/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-fi
-
-LICENSE="BSD"
-SLOT="0/1-${PV}"
-KEYWORDS="~amd64 ~arm64 ~x86"
-IUSE="debug test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="dev-libs/capnproto:0"
-RDEPEND="app-i18n/opencc:0=
- >=dev-cpp/glog-0.3.5:0=
- dev-cpp/yaml-cpp:0=
- dev-libs/boost:0=[threads(+)]
- dev-libs/capnproto:0=
- dev-libs/leveldb:0=
- dev-libs/marisa:0="
-DEPEND="${RDEPEND}
- dev-libs/darts
- dev-libs/utfcpp
- x11-base/xorg-proto
- test? ( dev-cpp/gtest )"
-
-DOCS=(CHANGELOG.md README.md)
-
-src_prepare() {
- eapply "${FILESDIR}/${PN}-1.6.0-boost-1.76.patch"
- eapply "${FILESDIR}/${PN}-1.6.0-plugins.patch"
-
- # Use headers of dev-libs/darts, dev-libs/utfcpp and x11-base/xorg-proto.
- sed -e "/\${PROJECT_SOURCE_DIR}\/thirdparty/d" -i CMakeLists.txt || die
- rm -r thirdparty || die
-
- cmake_src_prepare
-}
-
-src_configure() {
- local -x CXXFLAGS="${CXXFLAGS} -I${ESYSROOT}/usr/include/utf8cpp"
-
- if use debug; then
- CXXFLAGS+=" -DDCHECK_ALWAYS_ON"
- else
- CXXFLAGS+=" -DNDEBUG"
- fi
-
- local mycmakeargs=(
- -DBOOST_USE_CXX11=ON
- -DBUILD_TEST=$(usex test ON OFF)
- -DCMAKE_DISABLE_FIND_PACKAGE_Gflags=ON
- -DENABLE_EXTERNAL_PLUGINS=ON
- -DINSTALL_PRIVATE_HEADERS=ON
- )
-
- cmake_src_configure
-}
diff --git a/app-i18n/librime/librime-1.6.1-r1.ebuild b/app-i18n/librime/librime-1.6.1-r1.ebuild
deleted file mode 100644
index 0f2a5d3dbec4..000000000000
--- a/app-i18n/librime/librime-1.6.1-r1.ebuild
+++ /dev/null
@@ -1,74 +0,0 @@
-# Copyright 2012-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-inherit cmake
-
-if [[ "${PV}" == "9999" ]]; then
- inherit git-r3
-
- EGIT_REPO_URI="https://github.com/rime/librime"
- EGIT_SUBMODULES=()
-fi
-
-DESCRIPTION="RIME (Rime Input Method Engine) core library"
-HOMEPAGE="https://rime.im/ https://github.com/rime/librime"
-if [[ "${PV}" == "9999" ]]; then
- SRC_URI=""
-else
- SRC_URI="https://github.com/rime/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-fi
-
-LICENSE="BSD"
-SLOT="0/1-${PV}"
-KEYWORDS="~amd64 ~arm64 ~x86"
-IUSE="debug test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="dev-libs/capnproto:0"
-RDEPEND="app-i18n/opencc:0=
- >=dev-cpp/glog-0.3.5:0=
- dev-cpp/yaml-cpp:0=
- dev-libs/boost:0=[threads(+)]
- dev-libs/capnproto:0=
- dev-libs/leveldb:0=
- dev-libs/marisa:0="
-DEPEND="${RDEPEND}
- dev-libs/darts
- dev-libs/utfcpp
- x11-base/xorg-proto
- test? ( dev-cpp/gtest )"
-
-DOCS=(CHANGELOG.md README.md)
-
-src_prepare() {
- eapply "${FILESDIR}/${PN}-1.6.0-boost-1.76.patch"
- eapply "${FILESDIR}/${PN}-1.6.1-plugins.patch"
-
- # Use headers of dev-libs/darts, dev-libs/utfcpp and x11-base/xorg-proto.
- sed -e "/\${PROJECT_SOURCE_DIR}\/thirdparty/d" -i CMakeLists.txt || die
- rm -r thirdparty || die
-
- cmake_src_prepare
-}
-
-src_configure() {
- local -x CXXFLAGS="${CXXFLAGS} -I${ESYSROOT}/usr/include/utf8cpp"
-
- if use debug; then
- CXXFLAGS+=" -DDCHECK_ALWAYS_ON"
- else
- CXXFLAGS+=" -DNDEBUG"
- fi
-
- local mycmakeargs=(
- -DBOOST_USE_CXX11=ON
- -DBUILD_TEST=$(usex test ON OFF)
- -DCMAKE_DISABLE_FIND_PACKAGE_Gflags=ON
- -DENABLE_EXTERNAL_PLUGINS=ON
- -DINSTALL_PRIVATE_HEADERS=ON
- )
-
- cmake_src_configure
-}
diff --git a/app-i18n/librime/librime-1.7.3-r1.ebuild b/app-i18n/librime/librime-1.7.3-r1.ebuild
index a500978314ad..a33d6624dedd 100644
--- a/app-i18n/librime/librime-1.7.3-r1.ebuild
+++ b/app-i18n/librime/librime-1.7.3-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2012-2021 Gentoo Authors
+# Copyright 2012-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
@@ -22,7 +22,7 @@ fi
LICENSE="BSD"
SLOT="0/1-${PV}"
-KEYWORDS="amd64 arm64 ~ppc ~ppc64 x86"
+KEYWORDS="amd64 arm64 ppc ppc64 x86"
IUSE="debug test"
RESTRICT="!test? ( test )"
diff --git a/app-i18n/man-pages-l10n/Manifest b/app-i18n/man-pages-l10n/Manifest
index 02ca4d0089d1..3265428bb017 100644
--- a/app-i18n/man-pages-l10n/Manifest
+++ b/app-i18n/man-pages-l10n/Manifest
@@ -1,3 +1,5 @@
DIST manpages-l10n-v4.10.0.tar.bz2 64760050 BLAKE2B b70d8b0a48050538f7af90c248f3132dadd69e9eca0e3f438aeb6b8086aed8f70ee4d54af3608c602910fcfac68d1283971a9a1869b3854d1802794c56837b58 SHA512 59f5daa7acf29252af2c733d7084bfe9bccbbec19f5e8cf1855df420835fd934e072479149d679a90ae4e52330763599a20fbb5bc8459b8a44e5bcc1628ab501
+DIST manpages-l10n-v4.12.1.tar.bz2 90676890 BLAKE2B 7f261407007971063abc34f1154f5ab7d5a268dd21c76185f47cfbd73a1091950a3dc7bf0d4ad6bac56259fecbc1524b35b42316a1c2103f426ed936e203607d SHA512 42f5c61591959a0d804c215a9baddd6a182b30aedf5f6d6899f621cc8da9936fc10a1353aad5027eb4177f391f9708cc3018333256444433e937d37d8cdd3067
EBUILD man-pages-l10n-4.10.0.ebuild 1785 BLAKE2B 0fff329ea0592760be916eca6661d6d666f1736664eed9e61e7f8c0ea1d6ce2c26ebfb2bf9e4ac5d2dd36790d83e9bef90dbe06fef1cbcaed013b4c5d1585bca SHA512 f8b954cb2b73debec106a8917a662c6992449393e4be5cd38c1c2c301db02a5cf7d6fb387cf10b0ce095275da0b21f96c180dc41b70efe3a7a8cbac18e669c04
+EBUILD man-pages-l10n-4.12.1-r1.ebuild 1845 BLAKE2B 936bf80b49066921b8c74e513553aea5733adb68e4d5ae89260c5d0ef779045cba886c83237b8fa7c969ba0043da29e0089550d4a0ea217d6f71d0af172d1626 SHA512 9d53a2afd8f98cc1610da3f5ef3df7c9f7ac6270b265ea3d6fa0fbedbf9f2947ca4d039cfdb702fcadc810b527cc9ea5870f2e4030d299402934b5c28550aeab
MISC metadata.xml 236 BLAKE2B 4573b45e3f887eefa853dc47285138b1804285f5fca6cbc79cc9a475d19d9fe653ae5be35dfa9e8b04e5cf8e0de0ad4c58c8ec1b0c013213a01c13e7cbec2394 SHA512 3c9ef4b64af9b84abb15d7e0d315767d85a0ddb001471e4e8f0108ba4381fcf4bf3d7474929813e0da27d068e75b1bae56fdaadbb701d4f5f8a768e25c1b882b
diff --git a/app-i18n/man-pages-l10n/man-pages-l10n-4.12.1-r1.ebuild b/app-i18n/man-pages-l10n/man-pages-l10n-4.12.1-r1.ebuild
new file mode 100644
index 000000000000..59c89b8140be
--- /dev/null
+++ b/app-i18n/man-pages-l10n/man-pages-l10n-4.12.1-r1.ebuild
@@ -0,0 +1,73 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+MY_P="${PN/-}-v${PV}"
+DESCRIPTION="A somewhat comprehensive collection of man page translations"
+HOMEPAGE="https://manpages-l10n-team.pages.debian.net/manpages-l10n/"
+SRC_URI="https://salsa.debian.org/manpages-l10n-team/manpages-l10n/-/archive/v${PV}/${MY_P}.tar.bz2"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+MY_L10N=(cs da de el es fi fr hu id it mk nb nl pl pt-BR ro sr sv)
+IUSE="${MY_L10N[@]/#/l10n_}"
+REQUIRED_USE="|| ( ${MY_L10N[@]/#/l10n_} )"
+
+RDEPEND="virtual/man
+ l10n_de? ( !app-i18n/man-pages-de )
+ l10n_fr? ( !app-i18n/man-pages-fr )
+ l10n_it? ( !app-i18n/man-pages-it )
+ l10n_nl? ( !app-i18n/man-pages-nl )
+ l10n_pl? ( !app-i18n/man-pages-pl )"
+
+BDEPEND="app-text/po4a
+ dev-lang/perl"
+
+DOCS=(AUTHORS.md CHANGES.md CONTRIBUTING.md README.md)
+
+src_prepare() {
+ default
+ sed -i -e "/^SUBDIRS/s/=.*/= ${L10N//-/_}/" po/Makefile.{am,in} || die
+
+ # some packages have their own translations
+ local noinst_manpages=(
+ # app-arch/xz-utils
+ de/xz.1
+ de/xzdec.1
+ de/xzdiff.1
+ de/xzgrep.1
+ de/xzless.1
+ de/xzmore.1
+ # sys-apps/shadow
+ {cs,de,es,hu,nl,pl}/groups.1
+ de/su.1
+ # sys-process/procps
+ {de,fr,pl}/free.1
+ {de,fr}/pgrep.1
+ {de,fr}/pmap.1
+ {de,fr,pl}/ps.1
+ {de,fr}/pwdx.1
+ {de,fr}/tload.1
+ {de,fr,pl}/uptime.1
+ {de,fr}/sysctl.conf.5
+ {de,fr}/sysctl.8
+ {de,fr}/vmstat.8
+ # sys-process/psmisc
+ {de,nl,pl}/fuser.1
+ {de,pl}/killall.1
+ de/peekfd.1
+ de/prtstat.1
+ de/pslog.1
+ {de,pl}/pstree.1
+ )
+ printf '%s\n' "${noinst_manpages[@]}" \
+ | sed 's%^\(.*\)/\(.*\)\.\(.*\)$%po/\1/man\3/\2.\3.po%' | xargs rm
+ assert
+}
+
+src_configure() {
+ econf --enable-compression=none
+}
diff --git a/app-i18n/mozc/Manifest b/app-i18n/mozc/Manifest
index 4b073e661da7..240b26a26ac2 100644
--- a/app-i18n/mozc/Manifest
+++ b/app-i18n/mozc/Manifest
@@ -1,29 +1,12 @@
AUX 50mozc-gentoo.el 121 BLAKE2B 0cad49e4a5a04d1cbdcd063cfd5a06c14bf4bab47890bbc089d8bba9889abb5197bea2cfb912f638052f912d7aca51a7e71b743b4742fd90b9d5ab5a60779fe5 SHA512 2d67a6723374872717ab7132f02f4030f00ddecabb8a1fc20c9d69d64406dc2ba2a1109734378fae7b4718a8ae9601beff4b6f27cb43a280fa2e0f946da70685
-AUX mozc-2.20.2673.102-tests_build.patch 1037 BLAKE2B 8f3c0b3361371a994957a89f5b86020902262de65aef75f82e58fcfcea211b8a8d3c8418898781ac1de2a2c9bdc73ffc4cf68102122a22691d9592d5a02e6c62 SHA512 d99ee7edbb406e123b26ec186933608b42d36193b7bfe67232810c0fbd7a92bd8cfff26dc45eae4f020e82e9a8370cf2033c750250455585b6b3d88cc8c973ef
-AUX mozc-2.20.2673.102-tests_skipping.patch 2086 BLAKE2B a104d6a83b02b49e1208be1b39699b90ad419d8befa29ed0366f7cbc454fe9ce27361f21897a5c74dadfc2d9eb31a30d7237e20db8c1fb205b8e71b40f4a0e57 SHA512 4a2e5a35c5e65ebeb737f656d6efb313c660c2c7cf62abd5d9295fd16e2dffde21d069cd74fd0cfd2454cd7f7c9d136dfbadbf79832db8441c619ff37c7e4b0e
-AUX mozc-2.23.2815.102-environmental_variables.patch 4636 BLAKE2B 2c1d952899b50d0205127fe5f708c8cc8ad115db35f1ebfe5b589550203ee64fe06b0d66b10989c12063feff96f679ebd6ee4562651ac81681019634e6e9c462 SHA512 40e87a52d96794a91f5cf77f387d341b7d58a4b27e3d1455c4230fbe75107c09c3bd4784394437265548ee2704a4d1838cc0965f0333e554484dafe8b106cb7b
-AUX mozc-2.23.2815.102-gcc-8.patch 496 BLAKE2B 318fcda19cf4f7e95920b5df4f5638621bcae992891941fa6f220d4dac1b2eac0faeda7a857a587baed41b361608f20c4bbda0d9a69a60b823572482c6789f46 SHA512 9c2b0e9695f4cd050f0d5f35d0e23f22715b9c6e5607629c7dc023560a5191bd755497fe6fe5306789c00e68d5bd9b7179d5515c982967788fca432134b71cad
-AUX mozc-2.23.2815.102-protobuf-3.18.patch 610 BLAKE2B 7df20afc96279c6419e7941f11f1c71451b23d46efcbb6b57b17472dbaf3c5070e4672b417ffe8ae47774aa586e4fe4e6f792f99eea174a9e765f46dc90e409e SHA512 53e4db422c39a6c31ab2f31bc1ec6f4ca8cb9f025fa140068755201f9c224c40f0191269561b8c6fad479519a7165fd543b0074a49ec9d3985e5b4265bfa7a00
-AUX mozc-2.23.2815.102-python-3_1.patch 19991 BLAKE2B e553f5b3beb7a82f9f91f585a17004f96d9bb3883b432af2f4232211de3d8c4e348cf0d1327fe2e49410112540a01533068ca76464a7deb79429bfa7c49f58c8 SHA512 7d51f282fa3132d279b979ae96d2d7a1a3009c2ad96544033084deb0b739638ae69263b0067172a890d5ca3dd7e47f412af05b8f57ee64505a040cbdb77af388
-AUX mozc-2.23.2815.102-python-3_2.patch 17794 BLAKE2B 53849d003e3821a6d07e5019d0defb9b4558f91938da2367e82cf5327d2c69e13107eb91b7c05b731e1693ca02ca1e61771b81c29d391e412a43fd0fe64973b8 SHA512 a8d017d9b5aa7c89638fcb464a016b8e98b2e20dacc0c68c4362824cad315e0c76c15cabce84059de4a3d2184c1388289f253ebd22f1c640a3946a1189955d72
-AUX mozc-2.23.2815.102-python-3_3.patch 17011 BLAKE2B b7a40ec699da304130ab8b0e149d57ebc1b31c608c03fb35104918e0d33289eb5b40211a18f2083a2addcaed68b691ef2d029c106e2f2fec861f416a2e5f2134 SHA512 52b5cd4ee5e61582f2b9172a927e9e54bf07aea90462448fd63385c7be12c37b19cbdd784a21db3950ec4269249221f4f3bb3570ce0068d5a2448db63a33463c
-AUX mozc-2.23.2815.102-python-3_4.patch 19042 BLAKE2B 18ee638acdb1d086b01034b62e40c1bbd1ac47c43447bf4c3189f0427fb559c8b442c5828304378b607850faae9b5cc571270248c21db76dfdde60ff73f6aa93 SHA512 97cd4e2e10d7fdf3806a0750f90e537649d7eb29b893c5ec1d6e32abea0e1a1f4a7e94788733486aa27948e48d3362a1a76318595463edaa7bcd1c9d9c47a194
-AUX mozc-2.23.2815.102-reiwa.patch 924 BLAKE2B 3893f975d43ce29a962c5e712503442b178847acebd92e797040b6b699a37cb051f88a37965e0f194f73bca2e2397a8b070eb6d14bbe92adbba3e17a864e8c8b SHA512 df3f98ab93d7662b5ab038c732d3342b3f5860774559242eca1d0f1cd67275f315c6e4ffad83c6990ef5eb23fc19c0379ed7d3bdd0a377fcb080c066aecd16cc
-AUX mozc-2.23.2815.102-server_path_check.patch 3447 BLAKE2B 8e18cf2f7100cdfeb8e6b1420d773e955994cc7bd5e4bf56e0ffe78cd9a96b044c726c1045c2cd2c326ca151c8bf527b6447b2f509a20e4a912b535f5180ec80 SHA512 106c3170112bde2c6b9eb9ad5d5d460be53bb9162eb5613445170c2ce00f88385946360d13514167a6279c610744784079f8969b8f901f22e51e6397db22b0d3
-AUX mozc-2.23.2815.102-system_libraries.patch 9064 BLAKE2B 0cdf732a1bbf16d4af1d6dee81aacf3f3cb1f1c00c6aeb0fc12dac9dcd8611124e388e5fc721eb9b9472e073515d7457b182ee7cfe466b83bf319d572ae55240 SHA512 2d5b06e855f8c1889367b9b672e3ec81a037bc592872e28319e0180a0dcd177cdff817775a1a0f74ebf48e0b7558cf3b67953120411be753c662c43f409b05ce
AUX mozc-2.26.4220-environmental_variables.patch 3039 BLAKE2B 474d5f47a79f62db398a1b2a8e661640e2bcd3fb0271ec070a12973eb507d890ef2e8dd2033886e6b46723c07127304c9f736a639a0421d3c607fa126649a41f SHA512 978cd425e4c9ac183fd3c27720510889835c0f07ece2f80bd2c6038662a5384aff58dec636c78ce64f6573c1493b04d4a0b374ca2da85da39e76b81c6bcfb515
AUX mozc-2.26.4220-server_path_check.patch 3453 BLAKE2B 18dc82bfd4f05e8c54216dd43ff6c1d763ae3f7999193854e226e7425d848d43e3d11c2f1a70c19133731ad2e809ad38fa7113fbd623866467317a649ae5f56e SHA512 44d4647ede6759810355122b4ea972312587f5b520ffa59ba8dc5a04455c3f20b72fd91a3bc7f55f8b2e7ad88a0ce40e660b262825ec330e5f9280b03fee6cec
AUX mozc-2.26.4220-system_abseil-cpp.patch 14328 BLAKE2B 3900b3826cc46fdd2e9d74b3129033fb3ff31184f73f7f31806291f8e4db0fd175d139407e7cca3d3362fe47f546843c19056c90d483429c0b46d28a132e54cc SHA512 d59789fbeabf4309dbd5f99754b7c57e483f752ffe7fae2ba269ae75b64a31e6f4652af1c205462a40ae86fe0333b4178a37e9ca9ff839e630d50e447e96e6ec
AUX mozc-2.26.4220-system_gtest.patch 4751 BLAKE2B 3a5f0f5c2bb6d5a503d0078576b72baced4cc88f2b3ffed8d75c42d64047d48003565f29deafd1675e5efae2cf7584e414fe2a9e7a87fdceef5986edc88557ef SHA512 f5fe8cd973b3a5c45ab95ec44b0cd3e5ee64dbb9f1094d0ac1d5f7fbee43900aa64936006238ba1405cb6b7cd67cbe75a7040ef9b3744358c5bffe3ae8dcc4a5
AUX mozc-2.26.4220-system_jsoncpp.patch 3469 BLAKE2B 0fc4e66efd03bb966c8071fc35b9c9d51fa8b6588ed7cebe4e21ba750d0fb5e2ac3bcf834991e669fba613ef01c983d4d493945daa865418159cf5bb3b110d78 SHA512 c6236dff4ff44de028017b34ade7091a38ae21e237e39c50cd1125cfccd55ae0952fa0c8d7b19fe6dd863633fffa07843b7e0a2510e03a5230fbfbc02d90b545
-DIST fcitx-mozc-2.23.2815.102.1.patch 295112 BLAKE2B 709b84f6eaed16da38a173f40ae7cccff362fd167e6deb4090ae8a9ec522ac8e11ccff3c9ef6433907249af8c9eb4b7be12d2c05564cabd45c25e26764286ed3 SHA512 e0d4645df919838f0fe31a97bf6dd759c222a696f68133f7584d2c771f70734ea634a25bebb03a756221000d3552423207ee5163d75778dbf480b6e267ba4cd0
DIST fcitx-mozc-2.26.4220-20201219202429.tar.gz 37174759 BLAKE2B 3f320523103ee7a35a763f6613889e282e8a654db8ef11b5a1168db12611387e300621f015977875ffec3c10c055e36b3cb525a1e8559013f3ac42bc5b0cc296 SHA512 823e64267aa69e4d30dd7408f946a54072994f9a2d68691a3d393b216a15e70fd28bcb24705f9d9f483a2291517c48c5a1aeda893d2315f9a1d9cd352fb3feb2
-DIST japanese-usage-dictionary-20120416091336.tar.gz 71051 BLAKE2B 08eecf0aa021e27a2813f58c2d37f1cec760448f6ae086ae7468b8a11575c6ef9f72f656cb4d53e0179b8a7b00f2d91ff51a0ad7825e078dcbac0810f1d8b3e1 SHA512 b7e997a979b6d50e49b9af5dc830ea4df0532f6ab1321b9ef14983f65bb54f1b2967375c82e07957ae7693ebbf43c9b56ecea6bfea8dd1fdaee444bd549d83a7
DIST japanese-usage-dictionary-20180701040110.tar.gz 71285 BLAKE2B dfad056a1d5061b6764f583da15b9ad60a3c4421cee0430c4665d1c2779a64f9b31473c1746a3e2b9bda5167349432e51dcf7d4d48f75fde9543e9c16ff74c0d SHA512 68b4d3f52dd6cd4f00a8012a870b4f5929519cd69815b1729f3881d1f964802308f4aa101e236824b4c0f832183a9e8097437ed620403f2a652f126e7cdc1eb3
-DIST mozc-2.23.2815.102-protobuf_generated_classes_no_inheritance.patch 40296 BLAKE2B 982f43fa68031eb0f779ec4d034fef838a4fce7834291db889c9edffba3df4acd5bfdf187dd4a52ee8fd0714de943f9d5112070cd69502e1449dab4dbf8543b2 SHA512 6e05b2f22663ddbfb24a8344928ec24c0b4cf523728c1623367970b8f263142af95c056c82d0827414833d5b9f26c3a024a04a688851021601a5cbcc1474e754
-DIST mozc-2.23.2815.102.tar.gz 47739041 BLAKE2B 045a8a4a07e09cf923b67824111cdf672febc30256a6aef951ae779a3f582b3860042750d766120e376898c63be5b4baea870798a192cee34b0d48647e1ec5e6 SHA512 a3face616ca89990bca52371dcc8003604ebe0e9633116a64550add070152b1bc4d9b21e9f102c5afa6f8b1aa11d8dbc4bafbcebfaf4a12a934f085f245d548f
DIST mozc-2.26.4220-20201212102434.tar.gz 37106063 BLAKE2B 7d3c236809c8feb017f35e3f7a9b024ac34204f483c69913a2d1ae6b771054548f7f81afde35ed3a6887c9f7503584cee0fc646653fc7cde6fd015158de9c3d3 SHA512 9d87947b9b9256a3cc66cb23ab6caf4b6974142090b0d315c101bdc700fd289c259d09cb7f02f5f9e7462f48d652cd2d5b4822a645751fdcaed88b939520c429
-EBUILD mozc-2.23.2815.102.ebuild 11311 BLAKE2B b72bbc79a438821b1304d0b03411e71e6622d737da822ab4ea7a9f714d8dd4dd80438ce60f71adefec6a8561e28f93b672d8c8eb92e59e31bc498c8ecb356102 SHA512 e1a85a72689e4c012270a5e730fc3a519274419782dcfd977890f2b6609a68963f3a9733ab8227885d59ee71e6729d27417517410657ecc5b865af1ab444b725
EBUILD mozc-2.26.4220_p20201212102434_p20201219202429.ebuild 10406 BLAKE2B f38f270a88bd55d859d18b3f024bc3f1e4fdf16a2b8d05e325cf2e7e3537f7a0ffa571cb93e6952323b9e14c783318db64efa0324d8031a1e5a1f4e823410372 SHA512 3343db4d9e58608265dc688fe2d2d3fe8256a563d7dd78b14e1b7fbd267e792ef7764ea41d049160484f5e63b7995580e48d6dce2998c36a10c40ab11605b18f
EBUILD mozc-9999.ebuild 10241 BLAKE2B ed2748f5a233f05bfa1aa502405adde852b5ac1113da79396a98db3a7a70dcf05bc632d81b0f83d98d15bf47f238ca1174d69441548e61a68999f404003a99ab SHA512 36e9989834338051fa10cd06dbcdc533f45534f9c579c574f720fe86960a7f0552febf2ef009dfe5986e8dd46db71d75b71123192f570364083708ebb5c94ca9
-MISC metadata.xml 1016 BLAKE2B f038acf8faac7a92025ac8ab40384152bcdf7c18c31bbe48118b76e719c967633c9eb63b4c8b190607bf5dd448866a3fb180461e0d954a62671196cda2259516 SHA512 63bf48d503b5feddd94393f1a0ff1958122f271880099115332b2849cbe6454cdf3e67899e4363ae35df0ba9447acdeecb7682714f092c3dda6c752aafbd7483
+MISC metadata.xml 759 BLAKE2B 4a5a13fcee5848044c4fb7f47435c75e82ec5fc31d3666b101356a7ec14743eb4a997629066fbffc216caba1aff743653d92e491cd3ce2f54ee22019eff959b1 SHA512 a97788b46f15e7e7dd578dbc229334c694dda9cde84093a1fde53cb4a877773ed0a336247e3cb80dcc5962b27fc7946242634f2cad87c602c569262670f31ffa
diff --git a/app-i18n/mozc/files/mozc-2.20.2673.102-tests_build.patch b/app-i18n/mozc/files/mozc-2.20.2673.102-tests_build.patch
deleted file mode 100644
index b8b4477437f8..000000000000
--- a/app-i18n/mozc/files/mozc-2.20.2673.102-tests_build.patch
+++ /dev/null
@@ -1,27 +0,0 @@
---- /src/net/json_util_test.cc
-+++ /src/net/json_util_test.cc
-@@ -784,13 +784,13 @@
- for (size_t i = 0; i < arraysize(kNumS32ValueKeys); ++i) {
- {
- Json::Value json_value;
-- json_value[kNumS32ValueKeys[i]] = -2147483649ll;
-+ json_value[kNumS32ValueKeys[i]] = static_cast<Json::Value::Int64>(-2147483649ll);
- TestMsg msg;
- EXPECT_FALSE(JsonUtil::JsonValueToProtobufMessage(json_value, &msg));
- }
- {
- Json::Value json_value;
-- json_value[kNumS32ValueKeys[i]] = 2147483648ull;
-+ json_value[kNumS32ValueKeys[i]] = static_cast<Json::Value::UInt64>(2147483648ull);
- TestMsg msg;
- EXPECT_FALSE(JsonUtil::JsonValueToProtobufMessage(json_value, &msg));
- }
-@@ -805,7 +805,7 @@
- }
- {
- Json::Value json_value;
-- json_value[kNumU32ValueKeys[i]] = 4294967296ull;
-+ json_value[kNumU32ValueKeys[i]] = static_cast<Json::Value::UInt64>(4294967296ull);
- TestMsg msg;
- EXPECT_FALSE(JsonUtil::JsonValueToProtobufMessage(json_value, &msg));
- }
diff --git a/app-i18n/mozc/files/mozc-2.20.2673.102-tests_skipping.patch b/app-i18n/mozc/files/mozc-2.20.2673.102-tests_skipping.patch
deleted file mode 100644
index 28c5486de50d..000000000000
--- a/app-i18n/mozc/files/mozc-2.20.2673.102-tests_skipping.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-Disable test leaving mozc_server orphan process.
-
---- /src/unix/ibus/mozc_engine_test.cc
-+++ /src/unix/ibus/mozc_engine_test.cc
-@@ -41,65 +41,5 @@
- namespace mozc {
- namespace ibus {
-
--class LaunchToolTest : public testing::Test {
-- public:
-- LaunchToolTest() {
-- g_type_init();
-- }
--
-- protected:
-- virtual void SetUp() {
-- mozc_engine_.reset(new MozcEngine());
--
-- mock_ = new client::ClientMock();
-- mock_->ClearFunctionCounter();
-- mozc_engine_->client_.reset(mock_);
-- }
--
-- virtual void TearDown() {
-- mozc_engine_.reset();
-- }
--
-- client::ClientMock* mock_;
-- unique_ptr<MozcEngine> mozc_engine_;
--
-- private:
-- DISALLOW_COPY_AND_ASSIGN(LaunchToolTest);
--};
--
--TEST_F(LaunchToolTest, LaunchToolTest) {
-- commands::Output output;
--
-- // Launch config dialog
-- mock_->ClearFunctionCounter();
-- mock_->SetBoolFunctionReturn("LaunchToolWithProtoBuf", true);
-- output.set_launch_tool_mode(commands::Output::CONFIG_DIALOG);
-- EXPECT_TRUE(mozc_engine_->LaunchTool(output));
--
-- // Launch dictionary tool
-- mock_->ClearFunctionCounter();
-- mock_->SetBoolFunctionReturn("LaunchToolWithProtoBuf", true);
-- output.set_launch_tool_mode(commands::Output::DICTIONARY_TOOL);
-- EXPECT_TRUE(mozc_engine_->LaunchTool(output));
--
-- // Launch word register dialog
-- mock_->ClearFunctionCounter();
-- mock_->SetBoolFunctionReturn("LaunchToolWithProtoBuf", true);
-- output.set_launch_tool_mode(commands::Output::WORD_REGISTER_DIALOG);
-- EXPECT_TRUE(mozc_engine_->LaunchTool(output));
--
-- // Launch no tool(means do nothing)
-- mock_->ClearFunctionCounter();
-- mock_->SetBoolFunctionReturn("LaunchToolWithProtoBuf", false);
-- output.set_launch_tool_mode(commands::Output::NO_TOOL);
-- EXPECT_FALSE(mozc_engine_->LaunchTool(output));
--
-- // Something occurring in client::Client::LaunchTool
-- mock_->ClearFunctionCounter();
-- mock_->SetBoolFunctionReturn("LaunchToolWithProtoBuf", false);
-- output.set_launch_tool_mode(commands::Output::CONFIG_DIALOG);
-- EXPECT_FALSE(mozc_engine_->LaunchTool(output));
--}
--
- } // namespace ibus
- } // namespace mozc
diff --git a/app-i18n/mozc/files/mozc-2.23.2815.102-environmental_variables.patch b/app-i18n/mozc/files/mozc-2.23.2815.102-environmental_variables.patch
deleted file mode 100644
index 02e522a32e9e..000000000000
--- a/app-i18n/mozc/files/mozc-2.23.2815.102-environmental_variables.patch
+++ /dev/null
@@ -1,132 +0,0 @@
-https://github.com/google/mozc/issues/470
-
---- /src/base/system_util.cc
-+++ /src/base/system_util.cc
-@@ -208,28 +208,39 @@
- dir_ = "/";
- return;
- #else // MOZC_USE_PEPPER_FILE_IO
-+ const char *configuration_directory_env;
- string dir;
-
- #ifdef OS_WIN
-- DCHECK(SUCCEEDED(Singleton<LocalAppDataDirectoryCache>::get()->result()));
-- dir = Singleton<LocalAppDataDirectoryCache>::get()->path();
-+ configuration_directory_env = ::getenv("MOZC_CONFIGURATION_DIRECTORY");
-+ if (configuration_directory_env) {
-+ dir = configuration_directory_env;
-+ } else {
-+ DCHECK(SUCCEEDED(Singleton<LocalAppDataDirectoryCache>::get()->result()));
-+ dir = Singleton<LocalAppDataDirectoryCache>::get()->path();
- #ifdef GOOGLE_JAPANESE_INPUT_BUILD
-- dir = FileUtil::JoinPath(dir, kCompanyNameInEnglish);
-- FileUtil::CreateDirectory(dir);
-+ dir = FileUtil::JoinPath(dir, kCompanyNameInEnglish);
-+ FileUtil::CreateDirectory(dir);
- #endif // GOOGLE_JAPANESE_INPUT_BUILD
-- dir = FileUtil::JoinPath(dir, kProductNameInEnglish);
-+ dir = FileUtil::JoinPath(dir, kProductNameInEnglish);
-+ }
-
- #elif defined(OS_MACOSX)
-- dir = MacUtil::GetApplicationSupportDirectory();
-+ configuration_directory_env = ::getenv("MOZC_CONFIGURATION_DIRECTORY");
-+ if (configuration_directory_env) {
-+ dir = configuration_directory_env;
-+ } else {
-+ dir = MacUtil::GetApplicationSupportDirectory();
- #ifdef GOOGLE_JAPANESE_INPUT_BUILD
-- dir = FileUtil::JoinPath(dir, "Google");
-- // The permission of ~/Library/Application Support/Google seems to be 0755.
-- // TODO(komatsu): nice to make a wrapper function.
-- ::mkdir(dir.c_str(), 0755);
-- dir = FileUtil::JoinPath(dir, "JapaneseInput");
-+ dir = FileUtil::JoinPath(dir, "Google");
-+ // The permission of ~/Library/Application Support/Google seems to be 0755.
-+ // TODO(komatsu): nice to make a wrapper function.
-+ ::mkdir(dir.c_str(), 0755);
-+ dir = FileUtil::JoinPath(dir, "JapaneseInput");
- #else // GOOGLE_JAPANESE_INPUT_BUILD
-- dir = FileUtil::JoinPath(dir, "Mozc");
-+ dir = FileUtil::JoinPath(dir, "Mozc");
- #endif // GOOGLE_JAPANESE_INPUT_BUILD
-+ }
-
- #elif defined(OS_ANDROID)
- // For android, we do nothing here because user profile directory,
-@@ -237,14 +248,24 @@
- // is injected from Java layer.
-
- #else // !OS_WIN && !OS_MACOSX && !OS_ANDROID
-- char buf[1024];
-- struct passwd pw, *ppw;
-- const uid_t uid = geteuid();
-- CHECK_EQ(0, getpwuid_r(uid, &pw, buf, sizeof(buf), &ppw))
-- << "Can't get passwd entry for uid " << uid << ".";
-- CHECK_LT(0, strlen(pw.pw_dir))
-- << "Home directory for uid " << uid << " is not set.";
-- dir = FileUtil::JoinPath(pw.pw_dir, ".mozc");
-+ configuration_directory_env = ::getenv("MOZC_CONFIGURATION_DIRECTORY");
-+ if (configuration_directory_env) {
-+ dir = configuration_directory_env;
-+ } else {
-+ const char *home_env = ::getenv("HOME");
-+ if (home_env) {
-+ dir = FileUtil::JoinPath(home_env, ".mozc");
-+ } else {
-+ char buf[1024];
-+ struct passwd pw, *ppw;
-+ const uid_t uid = geteuid();
-+ CHECK_EQ(0, getpwuid_r(uid, &pw, buf, sizeof(buf), &ppw))
-+ << "Can't get passwd entry for uid " << uid << ".";
-+ CHECK_LT(0, strlen(pw.pw_dir))
-+ << "Home directory for uid " << uid << " is not set.";
-+ dir = FileUtil::JoinPath(pw.pw_dir, ".mozc");
-+ }
-+ }
- #endif // !OS_WIN && !OS_MACOSX && !OS_ANDROID
-
- FileUtil::CreateDirectory(dir);
-@@ -356,6 +377,10 @@
- #endif // OS_WIN
-
- string SystemUtil::GetServerDirectory() {
-+ const char *server_directory_env = ::getenv("MOZC_SERVER_DIRECTORY");
-+ if (server_directory_env) {
-+ return server_directory_env;
-+ }
- #ifdef OS_WIN
- DCHECK(SUCCEEDED(Singleton<ProgramFilesX86Cache>::get()->result()));
- #if defined(GOOGLE_JAPANESE_INPUT_BUILD)
-@@ -409,6 +434,10 @@
- }
-
- string SystemUtil::GetDocumentDirectory() {
-+ const char *documents_directory_env = ::getenv("MOZC_DOCUMENTS_DIRECTORY");
-+ if (documents_directory_env) {
-+ return documents_directory_env;
-+ }
- #if defined(OS_MACOSX)
- return GetServerDirectory();
- #elif defined(MOZC_DOCUMENT_DIRECTORY)
---- /src/handwriting/zinnia_handwriting.cc
-+++ /src/handwriting/zinnia_handwriting.cc
-@@ -31,6 +31,7 @@
-
- #include "handwriting/zinnia_handwriting.h"
-
-+#include <cstdlib>
- #include <memory>
- #include <string>
-
-@@ -48,6 +49,10 @@
-
- // static
- string ZinniaHandwriting::GetModelFileName() {
-+ const char *zinnia_model_file_env = ::getenv("MOZC_ZINNIA_MODEL_FILE");
-+ if (zinnia_model_file_env) {
-+ return zinnia_model_file_env;
-+ }
- #if defined(MOZC_BUILD)
- return MOZC_ZINNIA_MODEL_FILE;
- #else
diff --git a/app-i18n/mozc/files/mozc-2.23.2815.102-gcc-8.patch b/app-i18n/mozc/files/mozc-2.23.2815.102-gcc-8.patch
deleted file mode 100644
index 07514048e7a4..000000000000
--- a/app-i18n/mozc/files/mozc-2.23.2815.102-gcc-8.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-https://github.com/google/mozc/issues/441
-
---- /src/prediction/zero_query_dict.h
-+++ /src/prediction/zero_query_dict.h
-@@ -147,6 +147,17 @@
- return iter;
- }
-
-+ iterator &operator--() {
-+ ptr_ -= kTokenByteSize;
-+ return *this;
-+ }
-+
-+ iterator operator--(int) {
-+ const iterator tmp(ptr_, string_array_);
-+ ptr_ -= kTokenByteSize;
-+ return tmp;
-+ }
-+
- iterator &operator-=(ptrdiff_t n) {
- ptr_ -= n * kTokenByteSize;
- return *this;
diff --git a/app-i18n/mozc/files/mozc-2.23.2815.102-protobuf-3.18.patch b/app-i18n/mozc/files/mozc-2.23.2815.102-protobuf-3.18.patch
deleted file mode 100644
index 15077bb1752a..000000000000
--- a/app-i18n/mozc/files/mozc-2.23.2815.102-protobuf-3.18.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Fix building with Protocol Buffers >=3.18.
-
---- /src/dictionary/user_dictionary_storage.cc
-+++ /src/dictionary/user_dictionary_storage.cc
-@@ -108,7 +108,7 @@
- // wants to use more than 512MB.
- mozc::protobuf::io::IstreamInputStream zero_copy_input(&ifs);
- mozc::protobuf::io::CodedInputStream decoder(&zero_copy_input);
-- decoder.SetTotalBytesLimit(kDefaultTotalBytesLimit, -1);
-+ decoder.SetTotalBytesLimit(kDefaultTotalBytesLimit);
- if (!user_dictionary_storage_base.ParseFromCodedStream(&decoder)) {
- LOG(ERROR) << "Failed to parse";
- if (!decoder.ConsumedEntireMessage() || !ifs.eof()) {
diff --git a/app-i18n/mozc/files/mozc-2.23.2815.102-python-3_1.patch b/app-i18n/mozc/files/mozc-2.23.2815.102-python-3_1.patch
deleted file mode 100644
index 2b9bbd720cde..000000000000
--- a/app-i18n/mozc/files/mozc-2.23.2815.102-python-3_1.patch
+++ /dev/null
@@ -1,621 +0,0 @@
-https://github.com/google/mozc/issues/462
-
---- /src/base/gen_character_set.py
-+++ /src/base/gen_character_set.py
-@@ -33,7 +33,6 @@
- import itertools
- import optparse
- import re
--import string
- import sys
-
-
-@@ -89,7 +88,8 @@
- @staticmethod
- def _LoadTable(filename, column_index, pattern, validater):
- result = set()
-- for line in open(filename):
-+ fh = open(filename)
-+ for line in fh:
- if line.startswith('#'):
- # Skip a comment line.
- continue
-@@ -100,6 +100,7 @@
- ucs = int(match.group(1), 16)
- if validater(ucs):
- result.add(ucs)
-+ fh.close()
-
- return result
-
-@@ -250,7 +251,7 @@
- # (at most) four code points.
- bit_list = []
- for _, group in itertools.groupby(enumerate(category_list),
-- lambda (codepoint, _): codepoint / 4):
-+ lambda x: x[0] // 4):
- # Fill bits from LSB to MSB for each group.
- bits = 0
- for index, (_, category) in enumerate(group):
-@@ -263,7 +264,7 @@
-
- # Output the content. Each line would have (at most) 16 bytes.
- for _, group in itertools.groupby(enumerate(bit_list),
-- lambda (index, _): index / 16):
-+ lambda x: x[0] // 16):
- line = [' \"']
- for _, bits in group:
- line.append('\\x%02X' % bits)
-@@ -386,7 +387,7 @@
- # Bitmap lookup.
- # TODO(hidehiko): the bitmap has two huge 0-bits ranges. Reduce them.
- category_map = [
-- (bits, category) for category, bits in CATEGORY_BITMAP.iteritems()]
-+ (bits, category) for category, bits in CATEGORY_BITMAP.items()]
- category_map.sort()
-
- lines.extend([
-@@ -451,7 +452,7 @@
- options.jisx0213file)
- category_list = [
- categorizer.GetCategory(codepoint)
-- for codepoint in xrange(categorizer.MaxCodePoint() + 1)]
-+ for codepoint in range(categorizer.MaxCodePoint() + 1)]
- generated_character_set_header = GenerateCharacterSetHeader(category_list)
-
- # Write the result.
---- /src/base/gen_config_file_stream_data.py
-+++ /src/base/gen_config_file_stream_data.py
-@@ -58,7 +58,7 @@
- result = []
- result.append(' { "%s", "' % os.path.basename(path))
- with open(path, 'rb') as stream:
-- result.extend(r'\x%02X' % ord(byte) for byte in stream.read())
-+ result.extend(r'\x%02X' % byte for byte in stream.read())
- result.append('", %d }' % os.path.getsize(path))
-
- return ''.join(result)
-@@ -93,8 +93,8 @@
- def main():
- (options, args) = ParseOptions()
- if not options.output:
-- print >>sys.stderr, (
-- 'usage: gen_config_file_stream_data.py --output=filepath input ...')
-+ print('usage: gen_config_file_stream_data.py --output=filepath input ...',
-+ file=sys.stderr)
- sys.exit(2)
-
- with open(options.output, 'w') as output:
---- /src/build_mozc.py
-+++ /src/build_mozc.py
-@@ -943,7 +943,7 @@
- logging.info('running %s...', binary)
- try:
- test_function(binary, gtest_report_dir, options)
-- except RunOrDieError, e:
-+ except RunOrDieError as e:
- logging.error(e)
- failed_tests.append(binary)
- else:
-@@ -1082,7 +1082,7 @@
- # and '-c' and 'Release' are build options.
- targets = []
- build_options = []
-- for i in xrange(len(args)):
-+ for i in range(len(args)):
- if args[i].startswith('-'):
- # starting with build options
- build_options = args[i:]
-@@ -1190,14 +1190,14 @@
-
- def ShowHelpAndExit():
- """Shows the help message."""
-- print 'Usage: build_mozc.py COMMAND [ARGS]'
-- print 'Commands: '
-- print ' gyp Generate project files.'
-- print ' build Build the specified target.'
-- print ' runtests Build all tests and run them.'
-- print ' clean Clean all the build files and directories.'
-- print ''
-- print 'See also the comment in the script for typical usage.'
-+ print('Usage: build_mozc.py COMMAND [ARGS]')
-+ print('Commands: ')
-+ print(' gyp Generate project files.')
-+ print(' build Build the specified target.')
-+ print(' runtests Build all tests and run them.')
-+ print(' clean Clean all the build files and directories.')
-+ print('')
-+ print('See also the comment in the script for typical usage.')
- sys.exit(1)
-
-
---- /src/build_tools/android_util.py
-+++ /src/build_tools/android_util.py
-@@ -548,7 +548,7 @@
- (devices_result, _) = process.communicate()
- used_ports = set(int(port) for port
- in re.findall(r'emulator-(\d+)', devices_result))
-- return [port for port in xrange(5554, 5586, 2) if port not in used_ports]
-+ return [port for port in range(5554, 5586, 2) if port not in used_ports]
-
-
- def SetUpTestingSdkHomeDirectory(dest_android_sdk_home,
-@@ -575,7 +575,7 @@
- 'create', 'avd',
- '--force',
- '--sdcard', '512M',]
-- for key, value in options.iteritems():
-+ for key, value in options.items():
- args.extend([key, value])
- env = {'ANDROID_SDK_HOME': os.path.abspath(dest_android_sdk_home)}
- logging.info('Creating AVD: %s', args)
-@@ -615,7 +615,7 @@
- def main():
- for arg in sys.argv[1:]:
- for item in sorted(GetApkProperties(arg).items()):
-- print '%s: %s' % item
-+ print('%s: %s' % item)
-
-
- if __name__ == '__main__':
---- /src/build_tools/binary_size_checker.py
-+++ /src/build_tools/binary_size_checker.py
-@@ -70,12 +70,12 @@
- actual_size = os.stat(filename).st_size
- expected_size = EXPECTED_MAXIMUM_SIZES[basename]
- if actual_size < expected_size * 1024 * 1024:
-- print 'Pass: %s (size: %d) is smaller than expected (%d MB)' % (
-- filename, actual_size, expected_size)
-+ print('Pass: %s (size: %d) is smaller than expected (%d MB)' % (
-+ filename, actual_size, expected_size))
- return True
- else:
-- print 'WARNING: %s (size: %d) is larger than expected (%d MB)' % (
-- filename, actual_size, expected_size)
-+ print('WARNING: %s (size: %d) is larger than expected (%d MB)' % (
-+ filename, actual_size, expected_size))
- return False
-
-
---- /src/build_tools/build_and_sign_pkg_mac.py
-+++ /src/build_tools/build_and_sign_pkg_mac.py
-@@ -44,8 +44,8 @@
- import shutil
- import sys
-
--from util import PrintErrorAndExit
--from util import RunOrDie
-+from .util import PrintErrorAndExit
-+from .util import RunOrDie
-
-
- def ParseOption():
---- /src/build_tools/build_breakpad.py
-+++ /src/build_tools/build_breakpad.py
-@@ -54,9 +54,9 @@
- try:
- subprocess.check_output(command)
- except subprocess.CalledProcessError as e:
-- print e.output
-+ print(e.output)
- sys.exit(e.returncode)
-- print 'Done: %s' % ' '.join(command)
-+ print('Done: %s' % ' '.join(command))
-
-
- def Xcodebuild(projdir, target, arch, sdk, outdir):
---- /src/build_tools/build_diskimage_mac.py
-+++ /src/build_tools/build_diskimage_mac.py
-@@ -90,7 +90,7 @@
- # setup volume directory
- temp_dir = tempfile.mkdtemp()
- CopyFile(path.join(build_dir, ".keystone_install"), temp_dir)
-- os.chmod(path.join(temp_dir, ".keystone_install"), 0755) # rwxr-xr-x
-+ os.chmod(path.join(temp_dir, ".keystone_install"), 0o755) # rwxr-xr-x
- for a in args:
- CopyFile(path.join(build_dir, a), temp_dir)
-
---- /src/build_tools/change_reference_mac.py
-+++ /src/build_tools/change_reference_mac.py
-@@ -41,8 +41,8 @@
- import optparse
- import os
-
--from util import PrintErrorAndExit
--from util import RunOrDie
-+from .util import PrintErrorAndExit
-+from .util import RunOrDie
-
-
- def ParseOption():
---- /src/build_tools/code_generator_util.py
-+++ /src/build_tools/code_generator_util.py
-@@ -33,27 +33,26 @@
- __author__ = "hidehiko"
-
- import struct
--import types
-
-
- def ToCppStringLiteral(s):
- """Returns C-style string literal, or NULL if given s is None."""
- if s is None:
-- return 'NULL'
-+ return b'NULL'
-
-- if all(0x20 <= ord(c) <= 0x7E for c in s):
-+ if all(0x20 <= c <= 0x7E for c in s):
- # All characters are in ascii code.
-- return '"%s"' % s.replace('\\', r'\\').replace('"', r'\"')
-+ return b'"%b"' % s.replace(b'\\', br'\\').replace(b'"', br'\"')
- else:
- # One or more characters are non-ascii.
-- return '"%s"' % ''.join(r'\x%02X' % ord(c) for c in s)
-+ return b'"%b"' % b''.join(br'\x%02X' % c for c in s)
-
-
- def FormatWithCppEscape(format_text, *args):
- """Returns a string filling format with args."""
- literal_list = []
- for arg in args:
-- if isinstance(arg, (types.StringType, types.NoneType)):
-+ if isinstance(arg, (bytes, type(None))):
- arg = ToCppStringLiteral(arg)
- literal_list.append(arg)
-
-@@ -95,7 +94,7 @@
- if target_compiler and target_compiler.startswith('msvs'):
- stream.write('const uint64 k%s_data_wordtype[] = {\n' % variable_name)
-
-- for word_index in xrange(0, len(data), 8):
-+ for word_index in range(0, len(data), 8):
- word_chunk = data[word_index:word_index + 8].ljust(8, '\x00')
- stream.write('0x%016X, ' % struct.unpack('<Q', word_chunk))
- if (word_index / 8) % 4 == 3:
-@@ -111,7 +110,7 @@
- stream.write('const char k%s_data[] =\n' % variable_name)
- # Output 16bytes per line.
- chunk_size = 16
-- for index in xrange(0, len(data), chunk_size):
-+ for index in range(0, len(data), chunk_size):
- chunk = data[index:index + chunk_size]
- stream.write('"')
- stream.writelines(r'\x%02X' % ord(c) for c in chunk)
-@@ -126,36 +125,50 @@
- if type(codepoint_list) is int:
- codepoint_list = (codepoint_list,)
- if codepoint_list is None or len(codepoint_list) == 0:
-- return 'null'
-- result = r'"'
-+ return b'null'
-+ result = b'"'
- for codepoint in codepoint_list:
-- utf16_string = unichr(codepoint).encode('utf-16be')
-+ utf16_string = chr(codepoint).encode('utf-16be')
- if len(utf16_string) == 2:
- (u0, l0) = utf16_string
-- result += r'\u%02X%02X' % (ord(u0), ord(l0))
-+ result += br'\u%02X%02X' % (u0, l0)
- else:
- (u0, l0, u1, l1) = utf16_string
-- result += r'\u%02X%02X\u%02X%02X' % (ord(u0), ord(l0), ord(u1), ord(l1))
-- result += r'"'
-+ result += br'\u%02X%02X\u%02X%02X' % (u0, l0, u1, l1)
-+ result += b'"'
- return result
-
-
- def SkipLineComment(stream, comment_prefix='#'):
- """Skips line comments from stream."""
- for line in stream:
-+ if isinstance(line, bytes):
-+ if isinstance(comment_prefix, str):
-+ comment_prefix = comment_prefix.encode('utf-8')
-+ line_ending = b'\n'
-+ else:
-+ line_ending = '\n'
- stripped_line = line.strip()
- if stripped_line and not stripped_line.startswith(comment_prefix):
-- yield line.rstrip('\n')
-+ yield line.rstrip(line_ending)
-
-
- def ParseColumnStream(stream, num_column=None, delimiter=None):
- """Returns parsed columns read from stream."""
- if num_column is None:
- for line in stream:
-- yield line.rstrip('\n').split(delimiter)
-+ if isinstance(line, bytes):
-+ line_ending = b'\n'
-+ else:
-+ line_ending = '\n'
-+ yield line.rstrip(line_ending).split(delimiter)
- else:
- for line in stream:
-- yield line.rstrip('\n').split(delimiter)[:num_column]
-+ if isinstance(line, bytes):
-+ line_ending = b'\n'
-+ else:
-+ line_ending = '\n'
-+ yield line.rstrip(line_ending).split(delimiter)[:num_column]
-
-
- def SelectColumn(stream, column_index):
-@@ -172,5 +185,5 @@
- grouper extends the last chunk to make it an n-element chunk by adding
- appropriate value, but this returns truncated chunk.
- """
-- for index in xrange(0, len(iterable), n):
-+ for index in range(0, len(iterable), n):
- yield iterable[index:index + n]
---- /src/build_tools/codesign_mac.py
-+++ /src/build_tools/codesign_mac.py
-@@ -46,17 +46,17 @@
-
- def RunOrDie(command):
- """Run the command, or die if it failed."""
-- print "Running: " + command
-+ print("Running: " + command)
- try:
- output = subprocess.check_output(command, shell=True)
-- print >> sys.stderr, "=========="
-- print >> sys.stderr, "COMMAND: " + command
-- print >> sys.stderr, output
-+ print("==========", file=sys.stderr)
-+ print("COMMAND: " + command, file=sys.stderr)
-+ print(output, file=sys.stderr)
- except subprocess.CalledProcessError as e:
-- print >> sys.stderr, "=========="
-- print >> sys.stderr, "ERROR: " + command
-- print >> sys.stderr, e.output
-- print >> sys.stderr, "=========="
-+ print("==========", file=sys.stderr)
-+ print("ERROR: " + command, file=sys.stderr)
-+ print(e.output, file=sys.stderr)
-+ print("==========", file=sys.stderr)
- sys.exit(1)
-
-
-@@ -119,18 +119,18 @@
- (options, unused_args) = parser.parse_args()
-
- if not options.target:
-- print "Error: --target should be specified."
-- print parser.print_help()
-+ print("Error: --target should be specified.")
-+ print(parser.print_help())
- sys.exit(1)
-
- return options
-
-
- def DumpEnviron():
-- print "=== os.environ ==="
-+ print("=== os.environ ===")
- for key in sorted(os.environ):
-- print "%s = %s" % (key, os.getenv(key))
-- print "=================="
-+ print("%s = %s" % (key, os.getenv(key)))
-+ print("==================")
-
-
- def main():
---- /src/build_tools/copy_dll_and_symbol.py
-+++ /src/build_tools/copy_dll_and_symbol.py
-@@ -38,7 +38,7 @@
- import os
- import shutil
-
--from util import PrintErrorAndExit
-+from .util import PrintErrorAndExit
-
- def ParseOption():
- """Parse command line options."""
-@@ -98,7 +98,7 @@
- if _GetLastModifiedTime(src) <= target_file_mtime:
- # Older file found. Ignore.
- continue
-- print 'Copying %s to %s' % (src, target_file_abspath)
-+ print('Copying %s to %s' % (src, target_file_abspath))
- shutil.copy2(src, target_file_abspath)
- break
-
---- /src/build_tools/copy_file.py
-+++ /src/build_tools/copy_file.py
-@@ -52,7 +52,7 @@
- Args:
- message: The error message to be printed to stderr.
- """
-- print >>sys.stderr, message
-+ print(message, file=sys.stderr)
- sys.exit(1)
-
-
---- /src/build_tools/copy_qt_frameworks_mac.py
-+++ /src/build_tools/copy_qt_frameworks_mac.py
-@@ -41,9 +41,9 @@
- import optparse
- import os
-
--from copy_file import CopyFiles
--from util import PrintErrorAndExit
--from util import RunOrDie
-+from .copy_file import CopyFiles
-+from .util import PrintErrorAndExit
-+from .util import RunOrDie
-
-
- def ParseOption():
---- /src/build_tools/embed_file.py
-+++ /src/build_tools/embed_file.py
-@@ -46,10 +46,10 @@
-
- def _FormatAsUint64LittleEndian(s):
- """Formats a string as uint64 value in little endian order."""
-- for _ in xrange(len(s), 8):
-- s += '\0'
-+ for _ in range(len(s), 8):
-+ s += b'\0'
- s = s[::-1] # Reverse the string
-- return '0x%s' % binascii.b2a_hex(s)
-+ return b'0x%b' % binascii.b2a_hex(s)
-
-
- def main():
-@@ -57,30 +57,30 @@
- with open(opts.input, 'rb') as infile:
- with open(opts.output, 'wb') as outfile:
- outfile.write(
-- '#ifdef MOZC_EMBEDDED_FILE_%(name)s\n'
-- '#error "%(name)s was already included or defined elsewhere"\n'
-- '#else\n'
-- '#define MOZC_EMBEDDED_FILE_%(name)s\n'
-- 'const uint64 %(name)s_data[] = {\n'
-- % {'name': opts.name})
-+ b'#ifdef MOZC_EMBEDDED_FILE_%(name)b\n'
-+ b'#error "%(name)b was already included or defined elsewhere"\n'
-+ b'#else\n'
-+ b'#define MOZC_EMBEDDED_FILE_%(name)b\n'
-+ b'const uint64 %(name)b_data[] = {\n'
-+ % {b'name': opts.name.encode('utf-8')})
-
- while True:
- chunk = infile.read(8)
- if not chunk:
- break
-- outfile.write(' ')
-+ outfile.write(b' ')
- outfile.write(_FormatAsUint64LittleEndian(chunk))
-- outfile.write(',\n')
-+ outfile.write(b',\n')
-
- outfile.write(
-- '};\n'
-- 'const EmbeddedFile %(name)s = {\n'
-- ' %(name)s_data,\n'
-- ' %(size)d,\n'
-- '};\n'
-- '#endif // MOZC_EMBEDDED_FILE_%(name)s\n'
-- % {'name': opts.name,
-- 'size': os.stat(opts.input).st_size})
-+ b'};\n'
-+ b'const EmbeddedFile %(name)b = {\n'
-+ b' %(name)b_data,\n'
-+ b' %(size)d,\n'
-+ b'};\n'
-+ b'#endif // MOZC_EMBEDDED_FILE_%(name)b\n'
-+ % {b'name': opts.name.encode('utf-8'),
-+ b'size': os.stat(opts.input).st_size})
-
-
- if __name__ == '__main__':
---- /src/build_tools/embed_pathname.py
-+++ /src/build_tools/embed_pathname.py
-@@ -28,7 +28,7 @@
- # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
--"""A script to embed the given (relative) path name to C/C++ characters array.
-+r"""A script to embed the given (relative) path name to C/C++ characters array.
-
- Example:
- ./embed_pathname.py --path_to_be_embedded=d:\data\mozc
-@@ -53,7 +53,7 @@
-
- (options, unused_args) = parser.parse_args()
- if not all(vars(options).values()):
-- print parser.print_help()
-+ print(parser.print_help())
- sys.exit(1)
-
- return options
-@@ -63,7 +63,7 @@
- opt = ParseOption()
- path = os.path.abspath(opt.path_to_be_embedded)
- # TODO(yukawa): Consider the case of non-ASCII characters.
-- escaped_path = path.encode('string-escape')
-+ escaped_path = path.replace('\\', '\\\\')
- with open(opt.output, 'w') as output_file:
- output_file.write(
- 'const char %s[] = "%s";\n' % (opt.constant_name, escaped_path))
---- /src/build_tools/ensure_gyp_module_path.py
-+++ /src/build_tools/ensure_gyp_module_path.py
-@@ -48,7 +48,7 @@
-
- (options, _) = parser.parse_args()
- if not options.expected:
-- print parser.print_help()
-+ print(parser.print_help())
- sys.exit(1)
-
- return options
-@@ -59,20 +59,20 @@
- opt = ParseOption()
- expected_path = os.path.abspath(opt.expected)
- if not os.path.exists(expected_path):
-- print '%s does not exist.' % expected_path
-+ print('%s does not exist.' % expected_path)
- sys.exit(1)
-
- try:
- import gyp # NOLINT
- except ImportError as e:
-- print 'import gyp failed: %s' % e
-+ print('import gyp failed: %s' % e)
- sys.exit(1)
-
- actual_path = os.path.abspath(gyp.__path__[0])
- if expected_path != actual_path:
-- print 'Unexpected gyp module is loaded on this environment.'
-- print ' expected: %s' % expected_path
-- print ' actual : %s' % actual_path
-+ print('Unexpected gyp module is loaded on this environment.')
-+ print(' expected: %s' % expected_path)
-+ print(' actual : %s' % actual_path)
- sys.exit(1)
-
- if __name__ == '__main__':
---- /src/build_tools/gen_win32_resource_header.py
-+++ /src/build_tools/gen_win32_resource_header.py
-@@ -39,7 +39,7 @@
- __author__ = "yukawa"
-
- import logging
--import mozc_version
-+from . import mozc_version
- import optparse
- import os
- import sys
---- /src/build_tools/mozc_version.py
-+++ /src/build_tools/mozc_version.py
-@@ -94,7 +94,7 @@
- last_digit = TARGET_PLATFORM_TO_DIGIT.get(target_platform, None)
- if last_digit is None:
- logging.critical('target_platform %s is invalid. Accetable ones are %s',
-- target_platform, TARGET_PLATFORM_TO_DIGIT.keys())
-+ target_platform, list(TARGET_PLATFORM_TO_DIGIT.keys()))
- sys.exit(1)
-
- if not revision:
-@@ -314,13 +314,14 @@
- self._properties = {}
- if not os.path.isfile(path):
- return
-- for line in open(path):
-- matchobj = re.match(r'(\w+)=(.*)', line.strip())
-- if matchobj:
-- var = matchobj.group(1)
-- val = matchobj.group(2)
-- if var not in self._properties:
-- self._properties[var] = val
-+ with open(path) as file:
-+ for line in file:
-+ matchobj = re.match(r'(\w+)=(.*)', line.strip())
-+ if matchobj:
-+ var = matchobj.group(1)
-+ val = matchobj.group(2)
-+ if var not in self._properties:
-+ self._properties[var] = val
-
- # Check mandatory properties.
- for key in VERSION_PROPERTIES:
diff --git a/app-i18n/mozc/files/mozc-2.23.2815.102-python-3_2.patch b/app-i18n/mozc/files/mozc-2.23.2815.102-python-3_2.patch
deleted file mode 100644
index 456e8368049a..000000000000
--- a/app-i18n/mozc/files/mozc-2.23.2815.102-python-3_2.patch
+++ /dev/null
@@ -1,600 +0,0 @@
-https://github.com/google/mozc/issues/462
-
---- /src/build_tools/redirect.py
-+++ /src/build_tools/redirect.py
-@@ -58,14 +58,15 @@
- process = subprocess.Popen(sys.argv, stdout=subprocess.PIPE,
- universal_newlines=True)
- except:
-- print '=========='
-- print ' ERROR: %s' % ' '.join(sys.argv)
-- print '=========='
-+ print('==========')
-+ print(' ERROR: %s' % ' '.join(sys.argv))
-+ print('==========')
- raise
- (stdout_content, _) = process.communicate()
- # Write the stdout content to the output file.
- output_file = open(output_file_name, 'w')
- output_file.write(stdout_content)
-+ output_file.close()
- return process.wait()
-
- if __name__ == '__main__':
---- /src/build_tools/run_after_chdir.py
-+++ /src/build_tools/run_after_chdir.py
-@@ -57,7 +57,7 @@
- sys.argv.insert(0, sys.executable) # Inject the python interpreter path.
- # We don't capture stdout and stderr from Popen. The output will just
- # be emitted to a terminal or console.
-- print sys.argv
-+ print(sys.argv)
- sys.exit(subprocess.call(sys.argv))
-
- if __name__ == '__main__':
---- /src/build_tools/serialized_string_array_builder.py
-+++ /src/build_tools/serialized_string_array_builder.py
-@@ -58,11 +58,11 @@
- f.write(struct.pack('<I', array_size))
-
- # Offset and length array of (4 + 4) * array_size bytes.
-- for i in xrange(array_size):
-+ for i in range(array_size):
- f.write(struct.pack('<I', offsets[i]))
- f.write(struct.pack('<I', lengths[i]))
-
- # Strings chunk.
-- for i in xrange(array_size):
-+ for i in range(array_size):
- f.write(strings[i])
-- f.write('\0')
-+ f.write(b'\0')
---- /src/build_tools/test_tools/gtest_report.py
-+++ /src/build_tools/test_tools/gtest_report.py
-@@ -36,9 +36,9 @@
-
- __author__ = "nona"
-
--import cStringIO as StringIO
-+import io
- import logging
--from xml.etree import cElementTree as ElementTree
-+from xml.etree import ElementTree
-
-
- class Failure(object):
-@@ -87,13 +87,13 @@
- """Returns summarized error report text."""
- if self.fail_num == 0:
- return ''
-- output = StringIO.StringIO()
-+ output = io.StringIO()
- for testcase in self.testcases:
- if not testcase.failures:
- continue
-- print >>output, '%s.%s:' % (self.name, testcase.name)
-+ print('%s.%s:' % (self.name, testcase.name), file=output)
- for failure in testcase.failures:
-- print >>output, failure.contents.encode('utf-8')
-+ print(failure.contents.encode('utf-8'), file=output)
- return output.getvalue()
-
- @classmethod
---- /src/build_tools/test_tools/test_launcher.py
-+++ /src/build_tools/test_tools/test_launcher.py
-@@ -101,11 +101,11 @@
- time.sleep(1)
- try:
- shutil.rmtree(self._path)
-- except OSError, e:
-+ except OSError as e:
- logging.error('Failed to remove %s. error: %s', self._path, e)
-
-
--def _ExecuteTest((command, gtest_report_dir)):
-+def _ExecuteTest(args):
- """Executes tests with specified Test command.
-
- Args:
-@@ -122,6 +122,7 @@
- module, which is used in multiprocessing module.
- (http://docs.python.org/library/pickle.html)
- """
-+ (command, gtest_report_dir) = args
- binary = command[0]
- binary_filename = os.path.basename(binary)
- tmp_dir = tempfile.mkdtemp()
---- /src/build_tools/tweak_data.py
-+++ /src/build_tools/tweak_data.py
-@@ -55,7 +55,7 @@
- The value for the variable if the variable is defined in the
- environment. Otherwise original string is returned.
- """
-- if environment.has_key(matchobj.group(1)):
-+ if matchobj.group(1) in environment:
- return environment[matchobj.group(1)]
- return matchobj.group(0)
-
---- /src/build_tools/tweak_info_plist.py
-+++ /src/build_tools/tweak_info_plist.py
-@@ -42,8 +42,8 @@
- import logging
- import optparse
- import sys
--import mozc_version
--import tweak_data
-+from . import mozc_version
-+from . import tweak_data
-
- _COPYRIGHT_YEAR = datetime.date.today().year
-
-@@ -81,7 +81,7 @@
-
- version = mozc_version.MozcVersion(options.version_file)
-
-- copyright_message = (u'© %d Google Inc.' % _COPYRIGHT_YEAR).encode('utf-8')
-+ copyright_message = ('© %d Google Inc.' % _COPYRIGHT_YEAR).encode('utf-8')
- long_version = version.GetVersionString()
- short_version = version.GetVersionInFormat('@MAJOR@.@MINOR@.@BUILD@')
-
---- /src/build_tools/tweak_info_plist_strings.py
-+++ /src/build_tools/tweak_info_plist_strings.py
-@@ -40,7 +40,7 @@
- import logging
- import optparse
- import sys
--import tweak_data
-+from . import tweak_data
-
- _COPYRIGHT_YEAR = datetime.date.today().year
-
-@@ -77,7 +77,7 @@
- if options.branding == 'GoogleJapaneseInput':
- variables = {
- 'CF_BUNDLE_NAME_EN': 'Google Japanese Input',
-- 'CF_BUNDLE_NAME_JA': u'Google 日本語入力'.encode('utf-8'),
-+ 'CF_BUNDLE_NAME_JA': 'Google 日本語入力'.encode('utf-8'),
- 'NS_HUMAN_READABLE_COPYRIGHT': copyright_message,
- 'INPUT_MODE_ANNOTATION': 'Google',
- }
---- /src/build_tools/tweak_macinstaller_script.py
-+++ /src/build_tools/tweak_macinstaller_script.py
-@@ -39,7 +39,7 @@
- import logging
- import optparse
-
--import mozc_version
-+from . import mozc_version
-
-
- def _ReplaceVariables(data, environment):
---- /src/build_tools/tweak_pkgproj.py
-+++ /src/build_tools/tweak_pkgproj.py
-@@ -45,7 +45,7 @@
- import os
- import plistlib
- import re
--import mozc_version
-+from . import mozc_version
-
- from os import path
-
-@@ -71,7 +71,7 @@
- The value for the variable if the variable is defined in the
- environment. Otherwise original string is returned.
- """
-- if environment.has_key(matchobj.group(1)):
-+ if matchobj.group(1) in environment:
- return environment[matchobj.group(1)]
- return matchobj.group(0)
-
---- /src/build_tools/util.py
-+++ /src/build_tools/util.py
-@@ -73,11 +73,11 @@
- return 1
-
-
--class RunOrDieError(StandardError):
-+class RunOrDieError(Exception):
- """The exception class for RunOrDie."""
-
- def __init__(self, message):
-- StandardError.__init__(self, message)
-+ Exception.__init__(self, message)
-
-
- def RunOrDie(argv):
-@@ -105,7 +105,7 @@
- return # Do nothing if not exist.
- if IsWindows():
- # Read-only files cannot be deleted on Windows.
-- os.chmod(file_name, 0700)
-+ os.chmod(file_name, 0o700)
- logging.debug('Removing file: %s', file_name)
- os.unlink(file_name)
-
---- /src/build_tools/zlib_util.py
-+++ /src/build_tools/zlib_util.py
-@@ -58,7 +58,7 @@
-
- def main():
- if len(sys.argv) != 4:
-- print >>sys.stderr, 'Invalid arguments'
-+ print('Invalid arguments', file=sys.stderr)
- return
- if sys.argv[1] == 'compress':
- Compress(sys.argv[2], sys.argv[3])
-@@ -66,7 +66,7 @@
- if sys.argv[1] == 'decompress':
- Decompress(sys.argv[2], sys.argv[3])
- return
-- print >>sys.stderr, 'Unknown command:', sys.argv[1]
-+ print('Unknown command:', sys.argv[1], file=sys.stderr)
-
-
- if __name__ == '__main__':
---- /src/composer/internal/gen_typing_model.py
-+++ /src/composer/internal/gen_typing_model.py
-@@ -54,14 +54,13 @@
- __author__ = "noriyukit"
-
- import bisect
--import codecs
- import collections
- import optparse
- import struct
-
- UNDEFINED_COST = -1
--MAX_UINT16 = struct.unpack('H', '\xFF\xFF')[0]
--MAX_UINT8 = struct.unpack('B', '\xFF')[0]
-+MAX_UINT16 = struct.unpack('H', b'\xFF\xFF')[0]
-+MAX_UINT8 = struct.unpack('B', b'\xFF')[0]
-
-
- def ParseArgs():
-@@ -113,7 +112,7 @@
- sorted_values = list(sorted(set(values)))
- mapping_table = sorted_values[0]
- mapping_table_size_without_special_value = mapping_table_size - 1
-- span = len(sorted_values) / (mapping_table_size_without_special_value - 1)
-+ span = len(sorted_values) // (mapping_table_size_without_special_value - 1)
- mapping_table = [sorted_values[i * span]
- for i
- in range(0, mapping_table_size_without_special_value - 1)]
-@@ -150,7 +149,7 @@
-
- def GetValueTable(unique_characters, mapping_table, dictionary):
- result = []
-- for key, value in dictionary.iteritems():
-+ for key, value in dictionary.items():
- index = GetIndexFromKey(unique_characters, key)
- while len(result) <= index:
- result.append(len(mapping_table) - 1)
-@@ -167,13 +166,13 @@
- romaji_transition_cost)
- with open(output_path, 'wb') as f:
- f.write(struct.pack('<I', len(unique_characters)))
-- f.write(''.join(unique_characters))
-+ f.write(''.join(unique_characters).encode('utf-8'))
- offset = 4 + len(unique_characters)
-
- # Add padding to place value list size at 4-byte boundary.
- if offset % 4:
- padding_size = 4 - offset % 4
-- f.write('\x00' * padding_size)
-+ f.write(b'\x00' * padding_size)
- offset += padding_size
-
- f.write(struct.pack('<I', len(value_list)))
-@@ -184,7 +183,7 @@
- # Add padding to place mapping_table at 4-byte boundary.
- if offset % 4:
- padding_size = 4 - offset % 4
-- f.write('\x00' * padding_size)
-+ f.write(b'\x00' * padding_size)
- offset += padding_size
-
- for v in mapping_table:
-@@ -198,7 +197,8 @@
- # - trigram['vw']['x'] = -500 * log(P(x | 'vw'))
- unigram = {}
- trigram = collections.defaultdict(dict)
-- for line in codecs.open(options.input_path, 'r', encoding='utf-8'):
-+ input_file = open(options.input_path, 'r', encoding='utf-8')
-+ for line in input_file:
- line = line.rstrip()
- ngram, cost = line.split('\t')
- cost = int(cost)
-@@ -206,6 +206,7 @@
- unigram[ngram] = cost
- else:
- trigram[ngram[:-1]][ngram[-1]] = cost
-+ input_file.close()
-
- # Calculate ngram-related cost for each 'vw' and 'x':
- # -500 * log( P('x' | 'vw') / P('x') )
---- /src/converter/gen_boundary_data.py
-+++ /src/converter/gen_boundary_data.py
-@@ -70,7 +70,8 @@
- def LoadPatterns(file):
- prefix = []
- suffix = []
-- for line in open(file, 'r'):
-+ fh = open(file, 'r')
-+ for line in fh:
- if len(line) <= 1 or line[0] == '#':
- continue
- fields = line.split()
-@@ -84,8 +85,9 @@
- elif label == 'SUFFIX':
- suffix.append([re.compile(PatternToRegexp(feature)), cost])
- else:
-- print 'format error %s' % (line)
-+ print('format error %s' % (line))
- sys.exit(0)
-+ fh.close()
- return (prefix, suffix)
-
-
-@@ -100,19 +102,23 @@
-
- def LoadFeatures(filename):
- features = []
-- for line in open(filename, 'r'):
-+ fh = open(filename, 'r')
-+ for line in fh:
- fields = line.split()
- features.append(fields[1])
-+ fh.close()
- return features
-
-
- def CountSpecialPos(filename):
- count = 0
-- for line in open(filename, 'r'):
-+ fh = open(filename, 'r')
-+ for line in fh:
- line = line.rstrip()
- if not line or line[0] == '#':
- continue
- count += 1
-+ fh.close()
- return count
-
-
-@@ -141,7 +147,7 @@
- f.write(struct.pack('<H', GetCost(prefix, feature)))
- f.write(struct.pack('<H', GetCost(suffix, feature)))
-
-- for _ in xrange(num_special_pos):
-+ for _ in range(num_special_pos):
- f.write(struct.pack('<H', 0))
- f.write(struct.pack('<H', 0))
-
---- /src/converter/gen_quality_regression_test_data.py
-+++ /src/converter/gen_quality_regression_test_data.py
-@@ -84,7 +84,7 @@
- else _ENABLED)
- id = issue.attributes['id'].value
- target = GetText(issue.getElementsByTagName('target'))
-- for detail in issue.getElementsByTagName(u'detail'):
-+ for detail in issue.getElementsByTagName('detail'):
- fields = []
- fields.append('mozcsu_%s' % id)
- for key in ('reading', 'output', 'actionStatus', 'rank', 'accuracy'):
-@@ -104,19 +104,19 @@
-
- def GenerateHeader(files):
- try:
-- print 'namespace mozc{'
-- print 'struct TestCase {'
-- print ' const bool enabled;'
-- print ' const char *tsv;'
-- print '} kTestData[] = {'
-+ print('namespace mozc{')
-+ print('struct TestCase {')
-+ print(' const bool enabled;')
-+ print(' const char *tsv;')
-+ print('} kTestData[] = {')
- for file in files:
- for enabled, line in ParseFile(file):
-- print ' {%s, "%s"},' % (enabled, EscapeString(line))
-- print ' {false, nullptr},'
-- print '};'
-- print '} // namespace mozc'
-+ print(' {%s, "%s"},' % (enabled, EscapeString(line)))
-+ print(' {false, nullptr},')
-+ print('};')
-+ print('} // namespace mozc')
- except:
-- print 'cannot open %s' % (file)
-+ print('cannot open %s' % (file))
- sys.exit(1)
-
-
---- /src/converter/gen_segmenter_code.py
-+++ /src/converter/gen_segmenter_code.py
-@@ -54,18 +54,22 @@
- pos = {}
- max_id = 0
-
-- for line in open(id_file, "r"):
-+ fh = open(id_file, "r")
-+ for line in fh:
- fields = line.split()
- pos[fields[1]] = fields[0]
- max_id = max(int(fields[0]), max_id)
-+ fh.close()
-
- max_id = max_id + 1
-- for line in open(special_pos_file, "r"):
-+ fh = open(special_pos_file, "r")
-+ for line in fh:
- if len(line) <= 1 or line[0] == '#':
- continue
- fields = line.split()
- pos[fields[0]] = ("%d" % max_id)
- max_id = max_id + 1
-+ fh.close()
-
- return pos
-
-@@ -79,8 +83,7 @@
- pat = re.compile(PatternToRegexp(pattern))
- min = -1;
- max = -1;
-- keys = pos.keys()
-- keys.sort()
-+ keys = sorted(pos.keys())
-
- range = []
-
-@@ -107,7 +110,7 @@
- tmp.append("(%s >= %s && %s <= %s)" % (name, r[0], name, r[1]))
-
- if len(tmp) == 0:
-- print "FATAL: No rule fiind %s" % (pattern)
-+ print("FATAL: No rule fiind %s" % (pattern))
- sys.exit(-1)
-
- return " || ".join(tmp)
-@@ -115,19 +118,21 @@
- def main():
- pos = ReadPOSID(sys.argv[1], sys.argv[2])
-
-- print HEADER % (len(pos.keys()), len(pos.keys()))
-+ print(HEADER % (len(pos.keys()), len(pos.keys())))
-
-- for line in open(sys.argv[3], "r"):
-+ fh = open(sys.argv[3], "r")
-+ for line in fh:
- if len(line) <= 1 or line[0] == '#':
- continue
- (l, r, result) = line.split()
- result = result.lower()
- lcond = GetRange(pos, l, "rid") or "true";
- rcond = GetRange(pos, r, "lid") or "true";
-- print " // %s %s %s" % (l, r, result)
-- print " if ((%s) && (%s)) { return %s; }" % (lcond, rcond, result)
-+ print(" // %s %s %s" % (l, r, result))
-+ print(" if ((%s) && (%s)) { return %s; }" % (lcond, rcond, result))
-+ fh.close()
-
-- print FOOTER
-+ print(FOOTER)
-
- if __name__ == "__main__":
- main()
---- /src/data_manager/gen_connection_data.py
-+++ /src/data_manager/gen_connection_data.py
-@@ -32,8 +32,7 @@
-
- __author__ = "hidehiko"
-
--import cStringIO as StringIO
--import itertools
-+import io
- import logging
- import optparse
- import os
-@@ -45,7 +44,7 @@
- INVALID_COST = 30000
- INVALID_1BYTE_COST = 255
- RESOLUTION_FOR_1BYTE = 64
--FILE_MAGIC = '\xAB\xCD'
-+FILE_MAGIC = b'\xAB\xCD'
-
- FALSE_VALUES = ['f', 'false', '0']
- TRUE_VALUES = ['t', 'true', '1']
-@@ -79,28 +78,28 @@
- # The result is a square matrix.
- mat_size = pos_size + special_pos_size
-
-- matrix = [[0] * mat_size for _ in xrange(mat_size)]
-+ matrix = [[0] * mat_size for _ in range(mat_size)]
- with open(text_connection_file) as stream:
- stream = code_generator_util.SkipLineComment(stream)
- # The first line contains the matrix column/row size.
-- size = stream.next().rstrip()
-+ size = next(stream).rstrip()
- assert (int(size) == pos_size), '%s != %d' % (size, pos_size)
-
- for array_index, cost in enumerate(stream):
- cost = int(cost.rstrip())
-- rid = array_index / pos_size
-+ rid = array_index // pos_size
- lid = array_index % pos_size
- if rid == 0 and lid == 0:
- cost = 0
- matrix[rid][lid] = cost
-
- # Fill INVALID_COST in matrix elements for special POS.
-- for rid in xrange(pos_size, mat_size):
-- for lid in xrange(1, mat_size): # Skip EOS
-+ for rid in range(pos_size, mat_size):
-+ for lid in range(1, mat_size): # Skip EOS
- matrix[rid][lid] = INVALID_COST
-
-- for lid in xrange(pos_size, mat_size):
-- for rid in xrange(1, mat_size): # Skip BOS
-+ for lid in range(pos_size, mat_size):
-+ for rid in range(1, mat_size): # Skip BOS
- matrix[rid][lid] = INVALID_COST
-
- return matrix
-@@ -116,7 +115,7 @@
- # Heuristically, we do not compress INVALID_COST.
- continue
- m[cost] = m.get(cost, 0) + 1
-- mode_value = max(m.iteritems(), key=lambda (_, count): count)[0]
-+ mode_value = max(m.items(), key=lambda x: x[1])[0]
- result.append(mode_value)
- return result
-
-@@ -126,8 +125,8 @@
- # list, and fill None into the matrix if it equals to the corresponding
- # mode value.
- assert len(matrix) == len(mode_value_list)
-- for row, mode_value in itertools.izip(matrix, mode_value_list):
-- for index in xrange(len(row)):
-+ for row, mode_value in zip(matrix, mode_value_list):
-+ for index in range(len(row)):
- if row[index] == mode_value:
- row[index] = None
-
-@@ -179,7 +178,7 @@
- resolution = RESOLUTION_FOR_1BYTE
- else:
- resolution = 1
-- stream = StringIO.StringIO()
-+ stream = io.BytesIO()
-
- # Output header.
- stream.write(FILE_MAGIC)
-@@ -194,7 +193,7 @@
-
- # 4 bytes alignment.
- if len(mode_value_list) % 2:
-- stream.write('\x00\x00')
-+ stream.write(b'\x00\x00')
-
- # Process each row:
- for row in matrix:
-@@ -218,7 +217,7 @@
- if cost == INVALID_COST:
- cost = INVALID_1BYTE_COST
- else:
-- cost /= resolution
-+ cost //= resolution
- assert cost != INVALID_1BYTE_COST
- values.append(cost)
-
-@@ -237,7 +236,7 @@
- values_size = len(values) * 2
-
- # Output the bits for a row.
-- stream.write(struct.pack('<HH', len(compact_bits) / 8, values_size))
-+ stream.write(struct.pack('<HH', len(compact_bits) // 8, values_size))
- OutputBitList(chunk_bits, stream)
- OutputBitList(compact_bits, stream)
- if use_1byte_cost:
diff --git a/app-i18n/mozc/files/mozc-2.23.2815.102-python-3_3.patch b/app-i18n/mozc/files/mozc-2.23.2815.102-python-3_3.patch
deleted file mode 100644
index a5c5a2dc8038..000000000000
--- a/app-i18n/mozc/files/mozc-2.23.2815.102-python-3_3.patch
+++ /dev/null
@@ -1,583 +0,0 @@
-https://github.com/google/mozc/issues/462
-
---- /src/dictionary/gen_pos_map.py
-+++ /src/dictionary/gen_pos_map.py
-@@ -39,7 +39,7 @@
- from build_tools import code_generator_util
-
-
--HEADER = """// Copyright 2009 Google Inc. All Rights Reserved.
-+HEADER = b"""// Copyright 2009 Google Inc. All Rights Reserved.
- // Author: keni
-
- #ifndef MOZC_DICTIONARY_POS_MAP_H_
-@@ -48,13 +48,13 @@
- // POS conversion rules
- const POSMap kPOSMap[] = {
- """
--FOOTER = """};
-+FOOTER = b"""};
-
- #endif // MOZC_DICTIONARY_POS_MAP_H_
- """
-
- def ParseUserPos(user_pos_file):
-- with open(user_pos_file, 'r') as stream:
-+ with open(user_pos_file, 'rb') as stream:
- stream = code_generator_util.SkipLineComment(stream)
- stream = code_generator_util.ParseColumnStream(stream, num_column=2)
- return dict((key, enum_value) for key, enum_value in stream)
-@@ -64,7 +64,7 @@
- user_pos_map = ParseUserPos(user_pos_file)
-
- result = {}
-- with open(third_party_pos_map_file, 'r') as stream:
-+ with open(third_party_pos_map_file, 'rb') as stream:
- stream = code_generator_util.SkipLineComment(stream)
- for columns in code_generator_util.ParseColumnStream(stream, num_column=2):
- third_party_pos_name, mozc_pos = (columns + [None])[:2]
-@@ -78,7 +78,7 @@
- result[third_party_pos_name] = mozc_pos
-
- # Create mozc_pos to mozc_pos map.
-- for key, value in user_pos_map.iteritems():
-+ for key, value in user_pos_map.items():
- if key in result:
- assert (result[key] == value)
- continue
-@@ -94,10 +94,10 @@
- if value is None:
- # Invalid PosType.
- value = (
-- 'static_cast< ::mozc::user_dictionary::UserDictionary::PosType>(-1)')
-+ b'static_cast< ::mozc::user_dictionary::UserDictionary::PosType>(-1)')
- else:
-- value = '::mozc::user_dictionary::UserDictionary::' + value
-- output.write(' { %s, %s },\n' % (key, value))
-+ value = b'::mozc::user_dictionary::UserDictionary::' + value
-+ output.write(b' { %s, %s },\n' % (key, value))
- output.write(FOOTER)
-
-
-@@ -121,7 +121,7 @@
- pos_map = GeneratePosMap(options.third_party_pos_map_file,
- options.user_pos_file)
-
-- with open(options.output, 'w') as stream:
-+ with open(options.output, 'wb') as stream:
- OutputPosMap(pos_map, stream)
-
-
---- /src/dictionary/gen_pos_rewrite_rule.py
-+++ /src/dictionary/gen_pos_rewrite_rule.py
-@@ -46,29 +46,34 @@
-
-
- def LoadRewriteMapRule(filename):
-- fh = open(filename)
-+ fh = open(filename, 'rb')
- rule = []
- for line in fh:
-- line = line.rstrip('\n')
-- if not line or line.startswith('#'):
-+ line = line.rstrip(b'\n')
-+ if not line or line.startswith(b'#'):
- continue
- fields = line.split()
- rule.append([fields[0], fields[1]])
-+ fh.close()
- return rule
-
-
- def ReadPOSID(id_file, special_pos_file):
- pos_list = []
-
-- for line in open(id_file, 'r'):
-+ fh = open(id_file, 'rb')
-+ for line in fh:
- fields = line.split()
- pos_list.append(fields[1])
-+ fh.close()
-
-- for line in open(special_pos_file, 'r'):
-- if len(line) <= 1 or line[0] == '#':
-+ fh = open(special_pos_file, 'rb')
-+ for line in fh:
-+ if len(line) <= 1 or line[0:1] == b'#':
- continue
- fields = line.split()
- pos_list.append(fields[0])
-+ fh.close()
-
- return pos_list
-
-@@ -112,7 +117,7 @@
- ids.append(id)
-
- with open(opts.output, 'wb') as f:
-- f.write(''.join(chr(id) for id in ids))
-+ f.write(''.join(chr(id) for id in ids).encode('utf-8'))
-
-
- if __name__ == '__main__':
---- /src/dictionary/gen_suffix_data.py
-+++ /src/dictionary/gen_suffix_data.py
-@@ -52,10 +52,10 @@
- opts = _ParseOptions()
-
- result = []
-- with open(opts.input, 'r') as stream:
-+ with open(opts.input, 'rb') as stream:
- for line in stream:
-- line = line.rstrip('\r\n')
-- fields = line.split('\t')
-+ line = line.rstrip(b'\r\n')
-+ fields = line.split(b'\t')
- key = fields[0]
- lid = int(fields[1])
- rid = int(fields[2])
-@@ -63,7 +63,7 @@
- value = fields[4]
-
- if key == value:
-- value = ''
-+ value = b''
-
- result.append((key, value, lid, rid, cost))
-
---- /src/dictionary/gen_user_pos_data.py
-+++ /src/dictionary/gen_user_pos_data.py
-@@ -64,7 +64,7 @@
- f.write(struct.pack('<H', conjugation_id))
-
- serialized_string_array_builder.SerializeToFile(
-- sorted(string_index.iterkeys()), output_string_array)
-+ sorted(x.encode('utf-8') for x in string_index.keys()), output_string_array)
-
-
- def ParseOptions():
-@@ -100,7 +100,7 @@
-
- if options.output_pos_list:
- serialized_string_array_builder.SerializeToFile(
-- [pos for (pos, _) in user_pos.data], options.output_pos_list)
-+ [pos.encode('utf-8') for (pos, _) in user_pos.data], options.output_pos_list)
-
-
- if __name__ == '__main__':
---- /src/dictionary/gen_zip_code_seed.py
-+++ /src/dictionary/gen_zip_code_seed.py
-@@ -83,7 +83,7 @@
- address = unicodedata.normalize('NFKC', self.address)
- line = '\t'.join([zip_code, '0', '0', str(ZIP_CODE_COST),
- address, ZIP_CODE_LABEL])
-- print line.encode('utf-8')
-+ print(line.encode('utf-8'))
-
-
- def ProcessZipCodeCSV(file_name):
-@@ -105,26 +105,26 @@
-
- def ReadZipCodeEntries(zip_code, level1, level2, level3):
- """Read zip code entries."""
-- return [ZipEntry(zip_code, u''.join([level1, level2, town]))
-+ return [ZipEntry(zip_code, ''.join([level1, level2, town]))
- for town in ParseTownName(level3)]
-
-
- def ReadJigyosyoEntry(zip_code, level1, level2, level3, name):
- """Read jigyosyo entry."""
- return ZipEntry(zip_code,
-- u''.join([level1, level2, level3, u' ', name]))
-+ ''.join([level1, level2, level3, ' ', name]))
-
-
- def ParseTownName(level3):
- """Parse town name."""
-- if level3.find(u'以下に掲載がない場合') != -1:
-+ if level3.find('以下に掲載がない場合') != -1:
- return ['']
-
- assert CanParseAddress(level3), ('failed to be merged %s'
- % level3.encode('utf-8'))
-
- # We ignore additional information here.
-- level3 = re.sub(u'(.*)', u'', level3, re.U)
-+ level3 = re.sub('(.*)', '', level3, re.U)
-
- # For 地割, we have these cases.
- # XX1地割
-@@ -134,7 +134,7 @@
- # XX第1地割、XX第2地割、
- # XX第1地割〜XX第2地割、
- # We simply use XX for them.
-- chiwari_match = re.match(u'(\D*?)第?\d+地割.*', level3, re.U)
-+ chiwari_match = re.match('(\D*?)第?\d+地割.*', level3, re.U)
- if chiwari_match:
- town = chiwari_match.group(1)
- return [town]
-@@ -144,21 +144,21 @@
- # -> XX町YY and (XX町)ZZ
- # YY、ZZ
- # -> YY and ZZ
-- chou_match = re.match(u'(.*町)?(.*)', level3, re.U)
-+ chou_match = re.match('(.*町)?(.*)', level3, re.U)
- if chou_match:
-- chou = u''
-+ chou = ''
- if chou_match.group(1):
- chou = chou_match.group(1)
- rests = chou_match.group(2)
-- return [chou + rest for rest in rests.split(u'、')]
-+ return [chou + rest for rest in rests.split('、')]
-
- return [level3]
-
-
- def CanParseAddress(address):
- """Return true for valid address."""
-- return (address.find(u'(') == -1 or
-- address.find(u')') != -1)
-+ return (address.find('(') == -1 or
-+ address.find(')') != -1)
-
-
- def ParseOptions():
---- /src/dictionary/zip_code_util.py
-+++ /src/dictionary/zip_code_util.py
-@@ -86,11 +86,11 @@
-
-
- _SPECIAL_CASES = [
-- SpecialMergeZip(u'5900111', u'大阪府', u'堺市中区', [u'三原台']),
-- SpecialMergeZip(u'8710046', u'大分県', u'中津市',
-- [u'金谷', u'西堀端', u'東堀端', u'古金谷']),
-- SpecialMergeZip(u'9218046', u'石川県', u'金沢市',
-- [u'大桑町', u'三小牛町']),
-+ SpecialMergeZip('5900111', '大阪府', '堺市中区', ['三原台']),
-+ SpecialMergeZip('8710046', '大分県', '中津市',
-+ ['金谷', '西堀端', '東堀端', '古金谷']),
-+ SpecialMergeZip('9218046', '石川県', '金沢市',
-+ ['大桑町', '三小牛町']),
- ]
-
-
---- /src/gui/character_pad/data/gen_cp932_map.py
-+++ /src/gui/character_pad/data/gen_cp932_map.py
-@@ -32,7 +32,6 @@
-
- import re
- import sys
--import string
-
- kUnicodePat = re.compile(r'0x[0-9A-Fa-f]{2,4}')
- def IsValidUnicode(n):
-@@ -42,28 +41,29 @@
- fh = open(sys.argv[1])
- result = {}
- for line in fh.readlines():
-- if line[0] is '#':
-+ if line[0] == '#':
- continue
-- array = string.split(line)
-+ array = line.split()
- sjis = array[0]
- ucs2 = array[1]
- if eval(sjis) < 32 or not IsValidUnicode(ucs2):
- continue
- result.setdefault(ucs2, sjis)
-+ fh.close()
-
- keys = sorted(result.keys())
-
-- print "struct CP932MapData {"
-- print " unsigned int ucs4;"
-- print " unsigned short int sjis;"
-- print "};"
-- print ""
-- print "static const size_t kCP932MapDataSize = %d;" % (len(keys))
-- print "static const CP932MapData kCP932MapData[] = {"
-+ print("struct CP932MapData {")
-+ print(" unsigned int ucs4;")
-+ print(" unsigned short int sjis;")
-+ print("};")
-+ print("")
-+ print("static const size_t kCP932MapDataSize = %d;" % (len(keys)))
-+ print("static const CP932MapData kCP932MapData[] = {")
- for n in keys:
-- print " { %s, %s }," % (n ,result[n])
-- print " { 0, 0 }";
-- print "};"
-+ print(" { %s, %s }," % (n ,result[n]))
-+ print(" { 0, 0 }");
-+ print("};")
-
- if __name__ == "__main__":
- main()
---- /src/gui/character_pad/data/gen_local_character_map.py
-+++ /src/gui/character_pad/data/gen_local_character_map.py
-@@ -30,7 +30,6 @@
-
- __author__ = "taku"
-
--import string
- import re
- import sys
-
-@@ -43,9 +42,9 @@
- fh = open(filename)
- result = []
- for line in fh.readlines():
-- if line[0] is '#':
-+ if line[0] == '#':
- continue
-- array = string.split(line)
-+ array = line.split()
- jis = array[0].replace('0x', '')
- ucs2 = array[1].replace('0x', '')
- if len(jis) == 2:
-@@ -53,6 +52,7 @@
-
- if IsValidUnicode(ucs2):
- result.append([jis, ucs2])
-+ fh.close()
-
- return ["JISX0201", result]
-
-@@ -60,13 +60,14 @@
- fh = open(filename)
- result = []
- for line in fh.readlines():
-- if line[0] is '#':
-+ if line[0] == '#':
- continue
- array = line.split()
- jis = array[1].replace('0x', '')
- ucs2 = array[2].replace('0x', '')
- if IsValidUnicode(ucs2):
- result.append([jis, ucs2])
-+ fh.close()
-
- return ["JISX0208", result]
-
-@@ -74,13 +75,14 @@
- fh = open(filename)
- result = []
- for line in fh.readlines():
-- if line[0] is '#':
-+ if line[0] == '#':
- continue
- array = line.split()
- jis = array[0].replace('0x', '')
- ucs2 = array[1].replace('0x', '')
- if IsValidUnicode(ucs2):
- result.append([jis, ucs2])
-+ fh.close()
-
- return ["JISX0212", result]
-
-@@ -88,7 +90,7 @@
- fh = open(filename)
- result = []
- for line in fh.readlines():
-- if line[0] is '#':
-+ if line[0] == '#':
- continue
- array = line.split()
- sjis = array[0].replace('0x', '')
-@@ -100,19 +102,20 @@
-
- if IsValidUnicode(ucs2):
- result.append([sjis, ucs2])
-+ fh.close()
-
- return ["CP932", result]
-
- def Output(arg):
- name = arg[0]
- result = arg[1]
-- print "static const size_t k%sMapSize = %d;" % (name, len(result))
-- print "static const mozc::gui::CharacterPalette::LocalCharacterMap k%sMap[] = {" % (name)
-+ print("static const size_t k%sMapSize = %d;" % (name, len(result)))
-+ print("static const mozc::gui::CharacterPalette::LocalCharacterMap k%sMap[] = {" % (name))
- for n in result:
-- print " { 0x%s, 0x%s }," % (n[0] ,n[1])
-- print " { 0, 0 }";
-- print "};"
-- print ""
-+ print(" { 0x%s, 0x%s }," % (n[0] ,n[1]))
-+ print(" { 0, 0 }");
-+ print("};")
-+ print("")
-
- if __name__ == "__main__":
- Output(LoadJISX0201(sys.argv[1]))
---- /src/gui/character_pad/data/gen_unicode_blocks.py
-+++ /src/gui/character_pad/data/gen_unicode_blocks.py
-@@ -33,13 +33,13 @@
- import sys
- import re
-
--re = re.compile('^(.....?)\.\.(.....?); (.+)')
-+re = re.compile(r'^(.....?)\.\.(.....?); (.+)')
-
- def main():
-- print "static const mozc::gui::CharacterPalette::UnicodeBlock kUnicodeBlockTable[] = {"
-+ print("static const mozc::gui::CharacterPalette::UnicodeBlock kUnicodeBlockTable[] = {")
- fh = open(sys.argv[1])
- for line in fh.readlines():
-- if line[0] is '#':
-+ if line[0] == '#':
- continue
- m = re.match(line)
- if m is not None:
-@@ -47,11 +47,12 @@
- end = int(m.group(2), 16)
- name = m.group(3)
- if start <= 0x2FFFF and end <= 0x2FFFF:
-- print " { \"%s\", { %d, %d } }," % (name, start, end)
-+ print(" { \"%s\", { %d, %d } }," % (name, start, end))
-+ fh.close()
-
-- print " { NULL, { 0, 0 } }"
-- print "};"
-- print ""
-+ print(" { NULL, { 0, 0 } }")
-+ print("};")
-+ print("")
-
- if __name__ == "__main__":
- main()
---- /src/gui/character_pad/data/gen_unicode_data.py
-+++ /src/gui/character_pad/data/gen_unicode_data.py
-@@ -46,18 +46,19 @@
- code = int(code, 16)
- if code < 0x2FFFF:
- results.append(" { %d, \"%s\" }," % (code, desc))
-+ fh.close()
-
-- print "struct UnicodeData {";
-- print " char32 ucs4;";
-- print " const char *description;";
-- print "};";
-- print ""
-- print "static const size_t kUnicodeDataSize = %d;" % (len(results))
-- print "static const UnicodeData kUnicodeData[] = {";
-+ print("struct UnicodeData {");
-+ print(" char32 ucs4;");
-+ print(" const char *description;");
-+ print("};");
-+ print("")
-+ print("static const size_t kUnicodeDataSize = %d;" % (len(results)))
-+ print("static const UnicodeData kUnicodeData[] = {");
- for line in results:
-- print line;
-- print " { 0, NULL }";
-- print "};";
-+ print(line);
-+ print(" { 0, NULL }");
-+ print("};");
-
- if __name__ == "__main__":
- main()
---- /src/gui/character_pad/data/gen_unihan_data.py
-+++ /src/gui/character_pad/data/gen_unihan_data.py
-@@ -31,35 +31,34 @@
- __author__ = "taku"
-
- import re
--import string
- import sys
- rs = {}
-
- def Escape(n):
-- if n is not "NULL":
-+ if n != "NULL":
- return "\"%s\"" % (n)
- else:
- return "NULL"
-
- def GetCode(n):
-- if n is not "NULL":
-- n = string.replace(n, '0-', 'JIS X 0208: 0x')
-- n = string.replace(n, '1-', 'JIS X 0212: 0x')
-- n = string.replace(n, '3-', 'JIS X 0213: 0x')
-- n = string.replace(n, '4-', 'JIS X 0213: 0x')
-- n = string.replace(n, 'A-', 'Vendors Ideographs: 0x')
-- n = string.replace(n, '3A', 'JIS X 0213 2000: 0x')
-+ if n != "NULL":
-+ n = n.replace('0-', 'JIS X 0208: 0x')
-+ n = n.replace('1-', 'JIS X 0212: 0x')
-+ n = n.replace('3-', 'JIS X 0213: 0x')
-+ n = n.replace('4-', 'JIS X 0213: 0x')
-+ n = n.replace('A-', 'Vendors Ideographs: 0x')
-+ n = n.replace('3A', 'JIS X 0213 2000: 0x')
- return "\"%s\"" % n
- else:
- return "NULL"
-
- def GetRadical(n):
- pat = re.compile(r'^(\d+)\.')
-- if n is not "NULL":
-+ if n != "NULL":
- m = pat.match(n)
- if m:
- result = rs[m.group(1)]
-- return "\"%s\"" % (result.encode('string_escape'))
-+ return "\"%s\"" % result
- else:
- return "NULL"
- else:
-@@ -73,6 +72,7 @@
- id = array[1]
- radical = array[2]
- rs[id] = radical
-+ fh.close()
-
- dic = {}
- pat = re.compile(r'^U\+(\S+)\s+(kTotalStrokes|kJapaneseKun|kJapaneseOn|kRSUnicode|kIRG_JSource)\t(.+)')
-@@ -86,23 +86,24 @@
- n = int(m.group(1), 16)
- if n <= 65536:
- dic.setdefault(key, {}).setdefault(field, value)
-+ fh.close()
-
- keys = sorted(dic.keys())
-
-- print "struct UnihanData {";
-- print " unsigned int ucs4;";
-+ print("struct UnihanData {");
-+ print(" unsigned int ucs4;");
- # Since the total strokes defined in Unihan data is Chinese-based
- # number, we can't use it.
- # print " unsigned char total_strokes;";
-- print " const char *japanese_kun;";
-- print " const char *japanese_on;";
-+ print(" const char *japanese_kun;");
-+ print(" const char *japanese_on;");
- # Since the radical information defined in Unihan data is Chinese-based
- # number, we can't use it.
- # print " const char *radical;";
-- print " const char *IRG_jsource;";
-- print "};"
-- print "static const size_t kUnihanDataSize = %d;" % (len(keys))
-- print "static const UnihanData kUnihanData[] = {"
-+ print(" const char *IRG_jsource;");
-+ print("};")
-+ print("static const size_t kUnihanDataSize = %d;" % (len(keys)))
-+ print("static const UnihanData kUnihanData[] = {")
-
- for key in keys:
- total_strokes = dic[key].get("kTotalStrokes", "0")
-@@ -111,9 +112,9 @@
- rad = GetRadical(dic[key].get("kRSUnicode", "NULL"))
- code = GetCode(dic[key].get("kIRG_JSource", "NULL"))
- # print " { 0x%s, %s, %s, %s, %s, %s }," % (key, total_strokes, kun, on, rad, code)
-- print " { 0x%s, %s, %s, %s }," % (key, kun, on, code)
-+ print(" { 0x%s, %s, %s, %s }," % (key, kun, on, code))
-
-- print "};"
-+ print("};")
-
- if __name__ == "__main__":
- main()
diff --git a/app-i18n/mozc/files/mozc-2.23.2815.102-python-3_4.patch b/app-i18n/mozc/files/mozc-2.23.2815.102-python-3_4.patch
deleted file mode 100644
index 41d2bf9eeb90..000000000000
--- a/app-i18n/mozc/files/mozc-2.23.2815.102-python-3_4.patch
+++ /dev/null
@@ -1,537 +0,0 @@
-https://github.com/google/mozc/issues/462
-
---- /src/prediction/gen_zero_query_data.py
-+++ /src/prediction/gen_zero_query_data.py
-@@ -59,20 +59,20 @@
- Returns:
- A integer indicating parsed pua.
- """
-- if not s or s[0] == '>':
-+ if not s or s[0:1] == b'>':
- return 0
- return int(s, 16)
-
-
- def NormalizeString(string):
- return unicodedata.normalize(
-- 'NFKC', string.decode('utf-8')).encode('utf-8').replace('~', '〜')
-+ 'NFKC', string.decode('utf-8')).replace('~', '〜').encode('utf-8')
-
-
- def RemoveTrailingNumber(string):
- if not string:
-- return ''
-- return re.sub(r'^([^0-9]+)[0-9]+$', r'\1', string)
-+ return b''
-+ return re.sub(br'^([^0-9]+)[0-9]+$', r'\1', string)
-
-
- def GetReadingsFromDescription(description):
-@@ -84,19 +84,19 @@
- # - ビル・建物
- # \xE3\x83\xBB : "・"
- return [RemoveTrailingNumber(token) for token
-- in re.split(r'(?:\(|\)|/|\xE3\x83\xBB)+', normalized)]
-+ in re.split(br'(?:\(|\)|/|\xE3\x83\xBB)+', normalized)]
-
-
- def ReadEmojiTsv(stream):
- """Reads emoji data from stream and returns zero query data."""
- zero_query_dict = defaultdict(list)
- stream = code_generator_util.SkipLineComment(stream)
-- for columns in code_generator_util.ParseColumnStream(stream, delimiter='\t'):
-+ for columns in code_generator_util.ParseColumnStream(stream, delimiter=b'\t'):
- if len(columns) != 13:
-- logging.critical('format error: %s', '\t'.join(columns))
-+ logging.critical('format error: %s', b'\t'.join(columns))
- sys.exit(1)
-
-- code_points = columns[0].split(' ')
-+ code_points = columns[0].split(b' ')
-
- # Emoji code point.
- emoji = columns[1]
-@@ -114,12 +114,12 @@
- # - Composite emoji which has multiple code point.
- # NOTE: Some Unicode 6.0 emoji don't have PUA, and it is also omitted.
- # TODO(hsumita): Check the availability of such emoji and enable it.
-- logging.info('Skip %s', ' '.join(code_points))
-+ logging.info('Skip %s', b' '.join(code_points))
- continue
-
- reading_list = []
- # \xe3\x80\x80 is a full-width space
-- for reading in re.split(r'(?: |\xe3\x80\x80)+', NormalizeString(readings)):
-+ for reading in re.split(br'(?: |\xe3\x80\x80)+', NormalizeString(readings)):
- if not reading:
- continue
- reading_list.append(reading)
-@@ -158,15 +158,15 @@
- zero_query_dict = defaultdict(list)
-
- for line in input_stream:
-- if line.startswith('#'):
-+ if line.startswith(b'#'):
- continue
-- line = line.rstrip('\r\n')
-+ line = line.rstrip(b'\r\n')
- if not line:
- continue
-
-- tokens = line.split('\t')
-+ tokens = line.split(b'\t')
- key = tokens[0]
-- values = tokens[1].split(',')
-+ values = tokens[1].split(b',')
-
- for value in values:
- zero_query_dict[key].append(
-@@ -179,16 +179,16 @@
- """Reads emoticon data from stream and returns zero query data."""
- zero_query_dict = defaultdict(list)
- stream = code_generator_util.SkipLineComment(stream)
-- for columns in code_generator_util.ParseColumnStream(stream, delimiter='\t'):
-+ for columns in code_generator_util.ParseColumnStream(stream, delimiter=b'\t'):
- if len(columns) != 3:
-- logging.critical('format error: %s', '\t'.join(columns))
-+ logging.critical('format error: %s', b'\t'.join(columns))
- sys.exit(1)
-
- emoticon = columns[0]
- readings = columns[2]
-
- # \xe3\x80\x80 is a full-width space
-- for reading in re.split(r'(?: |\xe3\x80\x80)+', readings.strip()):
-+ for reading in re.split(br'(?: |\xe3\x80\x80)+', readings.strip()):
- if not reading:
- continue
- zero_query_dict[reading].append(
-@@ -202,9 +202,9 @@
- """Reads emoji data from stream and returns zero query data."""
- zero_query_dict = defaultdict(list)
- stream = code_generator_util.SkipLineComment(stream)
-- for columns in code_generator_util.ParseColumnStream(stream, delimiter='\t'):
-+ for columns in code_generator_util.ParseColumnStream(stream, delimiter=b'\t'):
- if len(columns) < 3:
-- logging.warning('format error: %s', '\t'.join(columns))
-+ logging.warning('format error: %s', b'\t'.join(columns))
- continue
-
- symbol = columns[1]
-@@ -222,7 +222,7 @@
- continue
-
- # \xe3\x80\x80 is a full-width space
-- for reading in re.split(r'(?: |\xe3\x80\x80)+', readings.strip()):
-+ for reading in re.split(br'(?: |\xe3\x80\x80)+', readings.strip()):
- if not reading:
- continue
- zero_query_dict[reading].append(
-@@ -247,7 +247,7 @@
-
- def IsValidKeyForZeroQuery(key):
- """Returns if the key is valid for zero query trigger."""
-- is_ascii = all(ord(char) < 128 for char in key)
-+ is_ascii = all(char < 128 for char in key)
- return not is_ascii
-
-
-@@ -301,13 +301,13 @@
-
- def main():
- options = ParseOptions()
-- with open(options.input_rule, 'r') as input_stream:
-+ with open(options.input_rule, 'rb') as input_stream:
- zero_query_rule_dict = ReadZeroQueryRuleData(input_stream)
-- with open(options.input_symbol, 'r') as input_stream:
-+ with open(options.input_symbol, 'rb') as input_stream:
- zero_query_symbol_dict = ReadSymbolTsv(input_stream)
-- with open(options.input_emoji, 'r') as input_stream:
-+ with open(options.input_emoji, 'rb') as input_stream:
- zero_query_emoji_dict = ReadEmojiTsv(input_stream)
-- with open(options.input_emoticon, 'r') as input_stream:
-+ with open(options.input_emoticon, 'rb') as input_stream:
- zero_query_emoticon_dict = ReadEmoticonTsv(input_stream)
-
- merged_zero_query_dict = MergeZeroQueryData(
---- /src/prediction/gen_zero_query_number_data.py
-+++ /src/prediction/gen_zero_query_number_data.py
-@@ -41,15 +41,15 @@
- zero_query_dict = defaultdict(list)
-
- for line in input_stream:
-- if line.startswith('#'):
-+ if line.startswith(b'#'):
- continue
-- line = line.rstrip('\r\n')
-+ line = line.rstrip(b'\r\n')
- if not line:
- continue
-
-- tokens = line.split('\t')
-+ tokens = line.split(b'\t')
- key = tokens[0]
-- values = tokens[1].split(',')
-+ values = tokens[1].split(b',')
-
- for value in values:
- zero_query_dict[key].append(
-@@ -71,7 +71,7 @@
-
- def main():
- options = ParseOption()
-- with open(options.input, 'r') as input_stream:
-+ with open(options.input, 'rb') as input_stream:
- zero_query_dict = ReadZeroQueryNumberData(input_stream)
- util.WriteZeroQueryData(zero_query_dict,
- options.output_token_array,
---- /src/prediction/gen_zero_query_util.py
-+++ /src/prediction/gen_zero_query_util.py
-@@ -69,7 +69,7 @@
- output_string_array):
- # Collect all the strings and assing index in ascending order
- string_index = {}
-- for key, entry_list in zero_query_dict.iteritems():
-+ for key, entry_list in zero_query_dict.items():
- string_index[key] = 0
- for entry in entry_list:
- string_index[entry.value] = 0
---- /src/rewriter/gen_counter_suffix_array.py
-+++ /src/rewriter/gen_counter_suffix_array.py
-@@ -43,7 +43,7 @@
- with codecs.open(id_file, 'r', encoding='utf-8') as stream:
- stream = code_generator_util.ParseColumnStream(stream, num_column=2)
- for pos_id, pos_name in stream:
-- if pos_name.startswith(u'名詞,接尾,助数詞'):
-+ if pos_name.startswith('名詞,接尾,助数詞'):
- pos_ids.add(pos_id)
- return pos_ids
-
---- /src/rewriter/gen_emoji_rewriter_data.py
-+++ /src/rewriter/gen_emoji_rewriter_data.py
-@@ -74,19 +74,19 @@
- the glyph (in other words, it has alternative (primary) code point, which
- doesn't lead '>' and that's why we'll ignore it).
- """
-- if not s or s[0] == '>':
-+ if not s or s[0:1] == b'>':
- return None
- return int(s, 16)
-
-
--_FULLWIDTH_RE = re.compile(ur'[!-~]') # U+FF01 - U+FF5E
-+_FULLWIDTH_RE = re.compile(r'[!-~]') # U+FF01 - U+FF5E
-
-
- def NormalizeString(string):
- """Normalize full width ascii characters to half width characters."""
-- offset = ord(u'A') - ord(u'A')
-- return _FULLWIDTH_RE.sub(lambda x: unichr(ord(x.group(0)) - offset),
-- unicode(string, 'utf-8')).encode('utf-8')
-+ offset = ord('A') - ord('A')
-+ return _FULLWIDTH_RE.sub(lambda x: chr(ord(x.group(0)) - offset),
-+ string.decode('utf-8')).encode('utf-8')
-
-
- def ReadEmojiTsv(stream):
-@@ -96,14 +96,14 @@
- token_dict = defaultdict(list)
-
- stream = code_generator_util.SkipLineComment(stream)
-- for columns in code_generator_util.ParseColumnStream(stream, delimiter='\t'):
-+ for columns in code_generator_util.ParseColumnStream(stream, delimiter=b'\t'):
- if len(columns) != 13:
-- logging.critical('format error: %s', '\t'.join(columns))
-+ logging.critical('format error: %s', b'\t'.join(columns))
- sys.exit(1)
-
-- code_points = columns[0].split(' ')
-+ code_points = columns[0].split(b' ')
- # Emoji code point.
-- emoji = columns[1] if columns[1] else ''
-+ emoji = columns[1] if columns[1] else b''
- android_pua = ParseCodePoint(columns[2])
- docomo_pua = ParseCodePoint(columns[3])
- softbank_pua = ParseCodePoint(columns[4])
-@@ -112,10 +112,10 @@
- readings = columns[6]
-
- # [7]: Name defined in Unicode. It is ignored in current implementation.
-- utf8_description = columns[8] if columns[8] else ''
-- docomo_description = columns[9] if columns[9] else ''
-- softbank_description = columns[10] if columns[10] else ''
-- kddi_description = columns[11] if columns[11] else ''
-+ utf8_description = columns[8] if columns[8] else b''
-+ docomo_description = columns[9] if columns[9] else b''
-+ softbank_description = columns[10] if columns[10] else b''
-+ kddi_description = columns[11] if columns[11] else b''
-
- if not android_pua or len(code_points) > 1:
- # Skip some emoji, which is not supported on old devices.
-@@ -123,7 +123,7 @@
- # - Composite emoji which has multiple code point.
- # NOTE: Some Unicode 6.0 emoji don't have PUA, and it is also omitted.
- # TODO(hsumita): Check the availability of such emoji and enable it.
-- logging.info('Skip %s', ' '.join(code_points))
-+ logging.info('Skip %s', b' '.join(code_points))
- continue
-
- # Check consistency between carrier PUA codes and descriptions for Android
-@@ -132,7 +132,7 @@
- (bool(softbank_pua) != bool(softbank_description)) or
- (bool(kddi_pua) != bool(kddi_description))):
- logging.warning('carrier PUA and description conflict: %s',
-- '\t'.join(columns))
-+ b'\t'.join(columns))
- continue
-
- # Check if the character is usable on Android.
-@@ -140,7 +140,7 @@
- android_pua = 0 # Replace None with 0.
-
- if not emoji and not android_pua:
-- logging.info('Skip: %s', '\t'.join(columns))
-+ logging.info('Skip: %s', b'\t'.join(columns))
- continue
-
- index = len(emoji_data_list)
-@@ -149,7 +149,7 @@
- kddi_description))
-
- # \xe3\x80\x80 is a full-width space
-- for reading in re.split(r'(?: |\xe3\x80\x80)+', readings.strip()):
-+ for reading in re.split(br'(?: |\xe3\x80\x80)+', readings.strip()):
- if reading:
- token_dict[NormalizeString(reading)].append(index)
-
-@@ -159,7 +159,7 @@
- def OutputData(emoji_data_list, token_dict,
- token_array_file, string_array_file):
- """Output token and string arrays to files."""
-- sorted_token_dict = sorted(token_dict.iteritems())
-+ sorted_token_dict = sorted(token_dict.items())
-
- strings = {}
- for reading, _ in sorted_token_dict:
-@@ -171,7 +171,7 @@
- strings[docomo_description] = 0
- strings[softbank_description] = 0
- strings[kddi_description] = 0
-- sorted_strings = sorted(strings.iterkeys())
-+ sorted_strings = sorted(strings.keys())
- for index, s in enumerate(sorted_strings):
- strings[s] = index
-
-@@ -205,7 +205,7 @@
-
- def main():
- options = ParseOptions()
-- with open(options.input, 'r') as input_stream:
-+ with open(options.input, 'rb') as input_stream:
- (emoji_data_list, token_dict) = ReadEmojiTsv(input_stream)
-
- OutputData(emoji_data_list, token_dict,
---- /src/rewriter/gen_reading_correction_data.py
-+++ /src/rewriter/gen_reading_correction_data.py
-@@ -63,7 +63,7 @@
- def WriteData(input_path, output_value_array_path, output_error_array_path,
- output_correction_array_path):
- outputs = []
-- with open(input_path) as input_stream:
-+ with open(input_path, 'rb') as input_stream:
- input_stream = code_generator_util.SkipLineComment(input_stream)
- input_stream = code_generator_util.ParseColumnStream(input_stream,
- num_column=3)
-@@ -73,7 +73,7 @@
-
- # In order to lookup the entries via |error| with binary search,
- # sort outputs here.
-- outputs.sort(lambda x, y: cmp(x[1], y[1]) or cmp(x[0], y[0]))
-+ outputs.sort(key=lambda x: (x[1], x[0]))
-
- serialized_string_array_builder.SerializeToFile(
- [value for (value, _, _) in outputs], output_value_array_path)
---- /src/rewriter/gen_single_kanji_rewriter_data.py
-+++ /src/rewriter/gen_single_kanji_rewriter_data.py
-@@ -52,7 +52,7 @@
- stream = code_generator_util.ParseColumnStream(stream, num_column=2)
- outputs = list(stream)
- # For binary search by |key|, sort outputs here.
-- outputs.sort(lambda x, y: cmp(x[0], y[0]))
-+ outputs.sort(key=lambda x: x[0])
-
- return outputs
-
-@@ -72,7 +72,7 @@
- variant_items.append([target, original, len(variant_types) - 1])
-
- # For binary search by |target|, sort variant items here.
-- variant_items.sort(lambda x, y: cmp(x[0], y[0]))
-+ variant_items.sort(key=lambda x: x[0])
-
- return (variant_types, variant_items)
-
-@@ -151,10 +151,10 @@
- def main():
- options = _ParseOptions()
-
-- with open(options.single_kanji_file, 'r') as single_kanji_stream:
-+ with open(options.single_kanji_file, 'rb') as single_kanji_stream:
- single_kanji = ReadSingleKanji(single_kanji_stream)
-
-- with open(options.variant_file, 'r') as variant_stream:
-+ with open(options.variant_file, 'rb') as variant_stream:
- variant_info = ReadVariant(variant_stream)
-
- WriteSingleKanji(single_kanji,
---- /src/session/gen_session_stress_test_data.py
-+++ /src/session/gen_session_stress_test_data.py
-@@ -50,24 +50,26 @@
- """
- result = ''
- for c in s:
-- hexstr = hex(ord(c))
-+ hexstr = hex(c)
- # because hexstr contains '0x', remove the prefix and add our prefix
- result += '\\x' + hexstr[2:]
- return result
-
- def GenerateHeader(file):
- try:
-- print "const char *kTestSentences[] = {"
-- for line in open(file, "r"):
-- if line.startswith('#'):
-+ print("const char *kTestSentences[] = {")
-+ fh = open(file, "rb")
-+ for line in fh:
-+ if line.startswith(b'#'):
- continue
-- line = line.rstrip('\r\n')
-+ line = line.rstrip(b'\r\n')
- if not line:
- continue
-- print " \"%s\"," % escape_string(line)
-- print "};"
-+ print(" \"%s\"," % escape_string(line))
-+ fh.close()
-+ print("};")
- except:
-- print "cannot open %s" % (file)
-+ print("cannot open %s" % (file))
- sys.exit(1)
-
- def main():
---- /src/unix/ibus/gen_mozc_xml.py
-+++ /src/unix/ibus/gen_mozc_xml.py
-@@ -74,7 +74,7 @@
-
-
- def OutputXmlElement(param_dict, element_name, value):
-- print ' <%s>%s</%s>' % (element_name, (value % param_dict), element_name)
-+ print(' <%s>%s</%s>' % (element_name, (value % param_dict), element_name))
-
-
- def OutputXml(param_dict, component, engine_common, engines, setup_arg):
-@@ -90,26 +90,26 @@
- engines: A dictionary from a property name to a list of property values of
- engines. For example, {'name': ['mozc-jp', 'mozc', 'mozc-dv']}.
- """
-- print '<component>'
-- for key in component:
-+ print('<component>')
-+ for key in sorted(component):
- OutputXmlElement(param_dict, key, component[key])
-- print '<engines>'
-+ print('<engines>')
- for i in range(len(engines['name'])):
-- print '<engine>'
-- for key in engine_common:
-+ print('<engine>')
-+ for key in sorted(engine_common):
- OutputXmlElement(param_dict, key, engine_common[key])
- if setup_arg:
- OutputXmlElement(param_dict, 'setup', ' '.join(setup_arg))
-- for key in engines:
-+ for key in sorted(engines):
- OutputXmlElement(param_dict, key, engines[key][i])
-- print '</engine>'
-- print '</engines>'
-- print '</component>'
-+ print('</engine>')
-+ print('</engines>')
-+ print('</component>')
-
-
- def OutputCppVariable(param_dict, prefix, variable_name, value):
-- print 'const char k%s%s[] = "%s";' % (prefix, variable_name.capitalize(),
-- (value % param_dict))
-+ print('const char k%s%s[] = "%s";' % (prefix, variable_name.capitalize(),
-+ (value % param_dict)))
-
-
- def OutputCpp(param_dict, component, engine_common, engines):
-@@ -122,18 +122,18 @@
- engines: ditto.
- """
- guard_name = 'MOZC_UNIX_IBUS_MAIN_H_'
-- print CPP_HEADER % (guard_name, guard_name)
-- for key in component:
-+ print(CPP_HEADER % (guard_name, guard_name))
-+ for key in sorted(component):
- OutputCppVariable(param_dict, 'Component', key, component[key])
-- for key in engine_common:
-+ for key in sorted(engine_common):
- OutputCppVariable(param_dict, 'Engine', key, engine_common[key])
-- for key in engines:
-- print 'const char* kEngine%sArray[] = {' % key.capitalize()
-+ for key in sorted(engines):
-+ print('const char* kEngine%sArray[] = {' % key.capitalize())
- for i in range(len(engines[key])):
-- print '"%s",' % (engines[key][i] % param_dict)
-- print '};'
-- print 'const size_t kEngineArrayLen = %s;' % len(engines['name'])
-- print CPP_FOOTER % guard_name
-+ print('"%s",' % (engines[key][i] % param_dict))
-+ print('};')
-+ print('const size_t kEngineArrayLen = %s;' % len(engines['name']))
-+ print(CPP_FOOTER % guard_name)
-
-
- def CheckIBusVersion(options, minimum_version):
---- /src/usage_stats/gen_stats_list.py
-+++ /src/usage_stats/gen_stats_list.py
-@@ -37,23 +37,24 @@
-
- def GetStatsNameList(filename):
- stats = []
-- for line in open(filename, 'r'):
-- stat = line.strip()
-- if not stat or stat[0] == '#':
-- continue
-- stats.append(stat)
-+ with open(filename, 'r') as file:
-+ for line in file:
-+ stat = line.strip()
-+ if not stat or stat[0] == '#':
-+ continue
-+ stats.append(stat)
- return stats
-
-
- def main():
- stats_list = GetStatsNameList(sys.argv[1])
-- print '// This header file is generated by gen_stats_list.py'
-+ print('// This header file is generated by gen_stats_list.py')
- for stats in stats_list:
-- print 'const char k%s[] = "%s";' % (stats, stats)
-- print 'const char *kStatsList[] = {'
-+ print('const char k%s[] = "%s";' % (stats, stats))
-+ print('const char *kStatsList[] = {')
- for stats in stats_list:
-- print ' k%s,' % (stats)
-- print '};'
-+ print(' k%s,' % (stats))
-+ print('};')
-
-
- if __name__ == '__main__':
diff --git a/app-i18n/mozc/files/mozc-2.23.2815.102-reiwa.patch b/app-i18n/mozc/files/mozc-2.23.2815.102-reiwa.patch
deleted file mode 100644
index 561a989a41d3..000000000000
--- a/app-i18n/mozc/files/mozc-2.23.2815.102-reiwa.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-https://github.com/google/mozc/issues/461
-
---- /src/data/symbol/categorized.tsv
-+++ /src/data/symbol/categorized.tsv
-@@ -405,6 +405,7 @@
- ㍽ MATH たいしょう ねんごう
- ㍼ MATH しょうわ ねんごう
- ㍻ MATH へいせい ねんごう
-+㋿ MATH れいわ ねんごう
-
- ㌣ MATH せんと たんい
- ㌦ MATH どる たんい
---- /src/data/symbol/symbol.tsv
-+++ /src/data/symbol/symbol.tsv
-@@ -528,6 +528,7 @@
- 記号 ㊦ した げ 丸下
- 記号 ㊧ ひだり 丸左
- 記号 ㊨ みぎ 丸右
-+記号 ㋿ れいわ ねんごう 年号 OTHER
- 記号 ㍻ へいせい ねんごう 年号 OTHER
- 記号 ㍼ しょうわ ねんごう 年号 OTHER
- 記号 ㍽ たいしょう ねんごう 年号 OTHER
---- /src/rewriter/date_rewriter.cc
-+++ /src/rewriter/date_rewriter.cc
-@@ -1239,6 +1239,10 @@
- 1989,
- "平成",
- "へいせい",
-+ }, {
-+ 2019,
-+ "令和",
-+ "れいわ",
- }
- };
-
diff --git a/app-i18n/mozc/files/mozc-2.23.2815.102-server_path_check.patch b/app-i18n/mozc/files/mozc-2.23.2815.102-server_path_check.patch
deleted file mode 100644
index dd606e27fb56..000000000000
--- a/app-i18n/mozc/files/mozc-2.23.2815.102-server_path_check.patch
+++ /dev/null
@@ -1,95 +0,0 @@
-https://github.com/google/mozc/issues/471
-
---- /src/ipc/ipc_path_manager.cc
-+++ /src/ipc/ipc_path_manager.cc
-@@ -332,9 +332,21 @@
- return false;
- }
-
-+ // Expand symbolic links in the expected server path to avoid false negatives
-+ // during comparisons of the expected server path and the actual server path.
-+ string real_server_path = server_path;
-+#ifndef OS_WIN
-+ char real_server_path_[PATH_MAX];
-+ if (realpath(server_path.c_str(), real_server_path_) == NULL) {
-+ LOG(ERROR) << "realpath failed: " << strerror(errno);
-+ return false;
-+ }
-+ real_server_path = real_server_path_;
-+#endif
-+
- // compare path name
- if (pid == server_pid_) {
-- return (server_path == server_path_);
-+ return (real_server_path == server_path_);
- }
-
- server_pid_ = 0;
-@@ -344,17 +356,17 @@
- {
- std::wstring expected_server_ntpath;
- const std::map<string, std::wstring>::const_iterator it =
-- expected_server_ntpath_cache_.find(server_path);
-+ expected_server_ntpath_cache_.find(real_server_path);
- if (it != expected_server_ntpath_cache_.end()) {
- expected_server_ntpath = it->second;
- } else {
- std::wstring wide_server_path;
-- Util::UTF8ToWide(server_path, &wide_server_path);
-+ Util::UTF8ToWide(real_server_path, &wide_server_path);
- if (WinUtil::GetNtPath(wide_server_path, &expected_server_ntpath)) {
-- // Caches the relationship from |server_path| to
-- // |expected_server_ntpath| in case |server_path| is renamed later.
-+ // Caches the relationship from |real_server_path| to
-+ // |expected_server_ntpath| in case |real_server_path| is renamed later.
- // (This can happen during the updating).
-- expected_server_ntpath_cache_[server_path] = expected_server_ntpath;
-+ expected_server_ntpath_cache_[real_server_path] = expected_server_ntpath;
- }
- }
-
-@@ -371,9 +383,9 @@
- return false;
- }
-
-- // Here we can safely assume that |server_path| (expected one) should be
-+ // Here we can safely assume that |real_server_path| (expected one) should be
- // the same to |server_path_| (actual one).
-- server_path_ = server_path;
-+ server_path_ = real_server_path;
- server_pid_ = pid;
- }
- #endif // OS_WIN
-@@ -399,7 +411,7 @@
- #ifdef OS_LINUX
- // load from /proc/<pid>/exe
- char proc[128];
-- char filename[512];
-+ char filename[PATH_MAX];
- snprintf(proc, sizeof(proc) - 1, "/proc/%u/exe", pid);
- const ssize_t size = readlink(proc, filename, sizeof(filename) - 1);
- if (size == -1) {
-@@ -412,18 +424,18 @@
- server_pid_ = pid;
- #endif // OS_LINUX
-
-- VLOG(1) << "server path: " << server_path << " " << server_path_;
-- if (server_path == server_path_) {
-+ VLOG(1) << "server path: " << real_server_path << " " << server_path_;
-+ if (real_server_path == server_path_) {
- return true;
- }
-
- #ifdef OS_LINUX
-- if ((server_path + " (deleted)") == server_path_) {
-- LOG(WARNING) << server_path << " on disk is modified";
-+ if ((real_server_path + " (deleted)") == server_path_) {
-+ LOG(WARNING) << real_server_path << " on disk is modified";
- // If a user updates the server binary on disk during the server is running,
- // "readlink /proc/<pid>/exe" returns a path with the " (deleted)" suffix.
- // We allow the special case.
-- server_path_ = server_path;
-+ server_path_ = real_server_path;
- return true;
- }
- #endif // OS_LINUX
diff --git a/app-i18n/mozc/files/mozc-2.23.2815.102-system_libraries.patch b/app-i18n/mozc/files/mozc-2.23.2815.102-system_libraries.patch
deleted file mode 100644
index 064b910c7026..000000000000
--- a/app-i18n/mozc/files/mozc-2.23.2815.102-system_libraries.patch
+++ /dev/null
@@ -1,274 +0,0 @@
---- /src/gyp/defines.gypi
-+++ /src/gyp/defines.gypi
-@@ -71,6 +71,12 @@
- # use_libibus represents if ibus library is used or not.
- # This option is only for Linux.
- 'use_libibus%': '0',
-+
-+ # use_libgtest represents if gtest library is used or not.
-+ 'use_libgtest%': '0',
-+
-+ # use_libjsoncpp represents if jsoncpp library is used or not.
-+ 'use_libjsoncpp%': '0',
- },
- 'target_defaults': {
- 'defines': [
---- /src/net/jsoncpp.gyp
-+++ /src/net/jsoncpp.gyp
-@@ -31,32 +31,57 @@
- 'targets': [
- {
- 'target_name': 'jsoncpp',
-- 'type': 'static_library',
-- 'variables': {
-- 'jsoncpp_root': '<(third_party_dir)/jsoncpp',
-- 'jsoncpp_srcs': [
-- '<(jsoncpp_root)/src/lib_json/json_reader.cpp',
-- '<(jsoncpp_root)/src/lib_json/json_value.cpp',
-- '<(jsoncpp_root)/src/lib_json/json_writer.cpp',
-- ],
-- 'jsoncpp_include_dirs': ['<(jsoncpp_root)/include'],
-- 'jsoncpp_additional_macros': ['JSON_USE_EXCEPTION=0'],
-- },
-- 'defines': [
-- '<@(jsoncpp_additional_macros)',
-+ 'conditions': [
-+ ['use_libjsoncpp==1', {
-+ 'type': 'none',
-+ 'variables': {
-+ 'jsoncpp_additional_macros': ['JSON_USE_EXCEPTION=0'],
-+ },
-+ 'all_dependent_settings': {
-+ 'defines': [
-+ '<@(jsoncpp_additional_macros)',
-+ ],
-+ 'cflags': [
-+ '<!@(pkg-config --cflags jsoncpp)',
-+ ],
-+ 'link_settings': {
-+ 'libraries': [
-+ '<!@(pkg-config --libs-only-l jsoncpp)',
-+ ],
-+ 'ldflags': [
-+ '<!@(pkg-config --libs-only-L jsoncpp)',
-+ ],
-+ }
-+ },
-+ }, {
-+ 'type': 'static_library',
-+ 'variables': {
-+ 'jsoncpp_root': '<(third_party_dir)/jsoncpp',
-+ 'jsoncpp_srcs': [
-+ '<(jsoncpp_root)/src/lib_json/json_reader.cpp',
-+ '<(jsoncpp_root)/src/lib_json/json_value.cpp',
-+ '<(jsoncpp_root)/src/lib_json/json_writer.cpp',
-+ ],
-+ 'jsoncpp_include_dirs': ['<(jsoncpp_root)/include'],
-+ 'jsoncpp_additional_macros': ['JSON_USE_EXCEPTION=0'],
-+ },
-+ 'defines': [
-+ '<@(jsoncpp_additional_macros)',
-+ ],
-+ 'sources': [
-+ '<@(jsoncpp_srcs)',
-+ 'jsoncpp.h',
-+ ],
-+ 'include_dirs': [
-+ '<@(jsoncpp_include_dirs)',
-+ ],
-+ 'all_dependent_settings': {
-+ 'defines': [
-+ '<@(jsoncpp_additional_macros)',
-+ ],
-+ },
-+ }],
- ],
-- 'sources': [
-- '<@(jsoncpp_srcs)',
-- 'jsoncpp.h',
-- ],
-- 'include_dirs': [
-- '<@(jsoncpp_include_dirs)',
-- ],
-- 'all_dependent_settings': {
-- 'defines': [
-- '<@(jsoncpp_additional_macros)',
-- ],
-- },
- },
- ],
- }
---- /src/net/jsoncpp.h
-+++ /src/net/jsoncpp.h
-@@ -35,7 +35,7 @@
- // Mozc basically disables C++ exception.
- #define JSON_USE_EXCEPTION 0
- #endif // !JSON_USE_EXCEPTION
--#include "third_party/jsoncpp/include/json/json.h"
-+#include <json/json.h>
- #define MOZC_JSONCPP_JSON_H_INCLUDED
- #endif // !MOZC_JSONCPP_JSON_H_INCLUDED
-
---- /src/testing/testing.gyp
-+++ /src/testing/testing.gyp
-@@ -53,66 +53,101 @@
- 'targets': [
- {
- 'target_name': 'testing',
-- 'type': 'static_library',
-- 'variables': {
-- 'gtest_defines': [
-- 'GTEST_LANG_CXX11=1',
-- 'GTEST_HAS_TR1_TUPLE=0', # disable tr1 tuple in favor of C++11 tuple.
-- ],
-- 'gtest_dir': '<(third_party_dir)/gtest/googletest',
-- 'gmock_dir': '<(third_party_dir)/gtest/googlemock',
-- 'conditions': [
-- ['_toolset=="target" and target_platform=="Android"', {
-- 'gtest_defines': [
-- 'GTEST_HAS_RTTI=0', # Android NDKr7 requires this.
-- 'GTEST_HAS_CLONE=0',
-- 'GTEST_HAS_GLOBAL_WSTRING=0',
-- 'GTEST_HAS_POSIX_RE=0',
-- 'GTEST_HAS_STD_WSTRING=0',
-- 'GTEST_OS_LINUX=1',
-- 'GTEST_OS_LINUX_ANDROID=1',
-- ],
-- }],
-- ],
-- },
-- 'sources': [
-- '<(gmock_dir)/src/gmock-cardinalities.cc',
-- '<(gmock_dir)/src/gmock-internal-utils.cc',
-- '<(gmock_dir)/src/gmock-matchers.cc',
-- '<(gmock_dir)/src/gmock-spec-builders.cc',
-- '<(gmock_dir)/src/gmock.cc',
-- '<(gtest_dir)/src/gtest-death-test.cc',
-- '<(gtest_dir)/src/gtest-filepath.cc',
-- '<(gtest_dir)/src/gtest-port.cc',
-- '<(gtest_dir)/src/gtest-printers.cc',
-- '<(gtest_dir)/src/gtest-test-part.cc',
-- '<(gtest_dir)/src/gtest-typed-test.cc',
-- '<(gtest_dir)/src/gtest.cc',
-- ],
-- 'include_dirs': [
-- '<(gmock_dir)',
-- '<(gmock_dir)/include',
-- '<(gtest_dir)',
-- '<(gtest_dir)/include',
-- ],
-- 'defines': [
-- '<@(gtest_defines)',
-- ],
-- 'all_dependent_settings': {
-- 'defines': [
-- '<@(gtest_defines)',
-- ],
-- 'include_dirs': [
-- '<(gmock_dir)/include',
-- '<(gtest_dir)/include',
-- ],
-- },
- 'conditions': [
-- ['(_toolset=="target" and compiler_target=="clang") or '
-- '(_toolset=="host" and compiler_host=="clang")', {
-- 'cflags': [
-- '-Wno-missing-field-initializers',
-- '-Wno-unused-private-field',
-+ ['use_libgtest==1', {
-+ 'type': 'none',
-+ 'variables': {
-+ 'gtest_defines': [
-+ 'GTEST_LANG_CXX11=1',
-+ 'GTEST_HAS_TR1_TUPLE=0', # disable tr1 tuple in favor of C++11 tuple.
-+ ],
-+ 'conditions': [
-+ ['_toolset=="target" and target_platform=="Android"', {
-+ 'gtest_defines': [
-+ 'GTEST_HAS_RTTI=0', # Android NDKr7 requires this.
-+ 'GTEST_HAS_CLONE=0',
-+ 'GTEST_HAS_GLOBAL_WSTRING=0',
-+ 'GTEST_HAS_POSIX_RE=0',
-+ 'GTEST_HAS_STD_WSTRING=0',
-+ 'GTEST_OS_LINUX=1',
-+ 'GTEST_OS_LINUX_ANDROID=1',
-+ ],
-+ }],
-+ ],
-+ },
-+ 'all_dependent_settings': {
-+ 'defines': [
-+ '<@(gtest_defines)',
-+ ],
-+ 'link_settings': {
-+ 'libraries': [
-+ '-lgmock -lgtest',
-+ ],
-+ },
-+ },
-+ }, {
-+ 'type': 'static_library',
-+ 'variables': {
-+ 'gtest_defines': [
-+ 'GTEST_LANG_CXX11=1',
-+ 'GTEST_HAS_TR1_TUPLE=0', # disable tr1 tuple in favor of C++11 tuple.
-+ ],
-+ 'gtest_dir': '<(third_party_dir)/gtest/googletest',
-+ 'gmock_dir': '<(third_party_dir)/gtest/googlemock',
-+ 'conditions': [
-+ ['_toolset=="target" and target_platform=="Android"', {
-+ 'gtest_defines': [
-+ 'GTEST_HAS_RTTI=0', # Android NDKr7 requires this.
-+ 'GTEST_HAS_CLONE=0',
-+ 'GTEST_HAS_GLOBAL_WSTRING=0',
-+ 'GTEST_HAS_POSIX_RE=0',
-+ 'GTEST_HAS_STD_WSTRING=0',
-+ 'GTEST_OS_LINUX=1',
-+ 'GTEST_OS_LINUX_ANDROID=1',
-+ ],
-+ }],
-+ ],
-+ },
-+ 'sources': [
-+ '<(gmock_dir)/src/gmock-cardinalities.cc',
-+ '<(gmock_dir)/src/gmock-internal-utils.cc',
-+ '<(gmock_dir)/src/gmock-matchers.cc',
-+ '<(gmock_dir)/src/gmock-spec-builders.cc',
-+ '<(gmock_dir)/src/gmock.cc',
-+ '<(gtest_dir)/src/gtest-death-test.cc',
-+ '<(gtest_dir)/src/gtest-filepath.cc',
-+ '<(gtest_dir)/src/gtest-port.cc',
-+ '<(gtest_dir)/src/gtest-printers.cc',
-+ '<(gtest_dir)/src/gtest-test-part.cc',
-+ '<(gtest_dir)/src/gtest-typed-test.cc',
-+ '<(gtest_dir)/src/gtest.cc',
-+ ],
-+ 'include_dirs': [
-+ '<(gmock_dir)',
-+ '<(gmock_dir)/include',
-+ '<(gtest_dir)',
-+ '<(gtest_dir)/include',
-+ ],
-+ 'defines': [
-+ '<@(gtest_defines)',
-+ ],
-+ 'all_dependent_settings': {
-+ 'defines': [
-+ '<@(gtest_defines)',
-+ ],
-+ 'include_dirs': [
-+ '<(gmock_dir)/include',
-+ '<(gtest_dir)/include',
-+ ],
-+ },
-+ 'conditions': [
-+ ['(_toolset=="target" and compiler_target=="clang") or '
-+ '(_toolset=="host" and compiler_host=="clang")', {
-+ 'cflags': [
-+ '-Wno-missing-field-initializers',
-+ '-Wno-unused-private-field',
-+ ],
-+ }],
- ],
- }],
- ],
diff --git a/app-i18n/mozc/metadata.xml b/app-i18n/mozc/metadata.xml
index db3170ba53c6..7fd885c8d62f 100644
--- a/app-i18n/mozc/metadata.xml
+++ b/app-i18n/mozc/metadata.xml
@@ -12,8 +12,6 @@
<use>
<flag name="fcitx4">Enable support for <pkg>app-i18n/fcitx</pkg> 4</flag>
<flag name="gui">Install graphical user interface tool (mozc_tool)</flag>
- <flag name="handwriting-tegaki">Use handwriting recognition model from <pkg>app-i18n/tegaki-zinnia-japanese</pkg> by default</flag>
- <flag name="handwriting-tomoe">Use handwriting recognition model from <pkg>app-i18n/zinnia-tomoe</pkg> by default</flag>
<flag name="ibus">Enable support for <pkg>app-i18n/ibus</pkg></flag>
<flag name="renderer">Enable native candidate window</flag>
</use>
diff --git a/app-i18n/mozc/mozc-2.23.2815.102.ebuild b/app-i18n/mozc/mozc-2.23.2815.102.ebuild
deleted file mode 100644
index b859d8cf38a2..000000000000
--- a/app-i18n/mozc/mozc-2.23.2815.102.ebuild
+++ /dev/null
@@ -1,369 +0,0 @@
-# Copyright 2010-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="8"
-PYTHON_COMPAT=( python3_{8..10} )
-
-inherit elisp-common multiprocessing python-any-r1 toolchain-funcs
-
-if [[ "${PV}" == "9999" ]]; then
- inherit git-r3
-
- EGIT_REPO_URI="https://github.com/google/mozc"
- EGIT_SUBMODULES=(src/third_party/japanese_usage_dictionary)
-else
- MOZC_GIT_REVISION="afb03ddfe72dde4cf2409863a3bfea160f7a66d8"
- JAPANESE_USAGE_DICTIONARY_GIT_REVISION="e5b3425575734c323e1d947009dd74709437b684"
- JAPANESE_USAGE_DICTIONARY_DATE="20120416091336"
- FCITX_PATCH_VERSION="2.23.2815.102.1"
-fi
-
-DESCRIPTION="Mozc - Japanese input method editor"
-HOMEPAGE="https://github.com/google/mozc"
-if [[ "${PV}" == "9999" ]]; then
- SRC_URI=""
-else
- SRC_URI="https://github.com/google/${PN}/archive/${MOZC_GIT_REVISION}.tar.gz -> ${P}.tar.gz
- https://github.com/hiroyuki-komatsu/japanese-usage-dictionary/archive/${JAPANESE_USAGE_DICTIONARY_GIT_REVISION}.tar.gz -> japanese-usage-dictionary-${JAPANESE_USAGE_DICTIONARY_DATE}.tar.gz
- https://dev.gentoo.org/~juippis/distfiles/tmp/mozc-2.23.2815.102-protobuf_generated_classes_no_inheritance.patch
- fcitx4? ( https://download.fcitx-im.org/fcitx-mozc/fcitx-mozc-${FCITX_PATCH_VERSION}.patch )"
-fi
-
-# Mozc: BSD
-# src/data/dictionary_oss: ipadic, public-domain
-# src/data/unicode: unicode
-# japanese-usage-dictionary: BSD-2
-LICENSE="BSD BSD-2 ipadic public-domain unicode"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 ~ppc64 x86"
-IUSE="debug emacs fcitx4 +gui +handwriting-tegaki handwriting-tomoe ibus renderer test"
-REQUIRED_USE="|| ( emacs fcitx4 ibus ) gui? ( ^^ ( handwriting-tegaki handwriting-tomoe ) ) !gui? ( !handwriting-tegaki !handwriting-tomoe )"
-RESTRICT="!test? ( test )"
-
-BDEPEND="${PYTHON_DEPS}
- >=dev-libs/protobuf-3.0.0
- dev-util/gyp
- dev-util/ninja
- virtual/pkgconfig
- emacs? ( app-editors/emacs:* )
- fcitx4? ( sys-devel/gettext )"
-RDEPEND=">=dev-libs/protobuf-3.0.0:=
- emacs? ( app-editors/emacs:* )
- fcitx4? (
- app-i18n/fcitx:4
- virtual/libintl
- )
- gui? (
- app-i18n/zinnia
- dev-qt/qtcore:5
- dev-qt/qtgui:5
- dev-qt/qtwidgets:5
- handwriting-tegaki? ( app-i18n/tegaki-zinnia-japanese )
- handwriting-tomoe? ( app-i18n/zinnia-tomoe )
- )
- ibus? (
- >=app-i18n/ibus-1.4.1
- dev-libs/glib:2
- x11-libs/libxcb
- )
- renderer? (
- dev-libs/glib:2
- x11-libs/cairo
- x11-libs/gtk+:2
- x11-libs/pango
- )"
-DEPEND="${RDEPEND}
- test? (
- >=dev-cpp/gtest-1.8.0
- dev-libs/jsoncpp
- )"
-
-S="${WORKDIR}/${P}/src"
-
-SITEFILE="50${PN}-gentoo.el"
-
-execute() {
- einfo "$@"
- "$@"
-}
-
-src_unpack() {
- if [[ "${PV}" == "9999" ]]; then
- git-r3_src_unpack
-
- if use fcitx4; then
- local EGIT_SUBMODULES=()
- git-r3_fetch https://github.com/fcitx/mozc refs/heads/fcitx
- git-r3_checkout https://github.com/fcitx/mozc "${WORKDIR}/fcitx-mozc"
- fi
- else
- unpack ${P}.tar.gz
- mv mozc-${MOZC_GIT_REVISION} ${P} || die
-
- unpack japanese-usage-dictionary-${JAPANESE_USAGE_DICTIONARY_DATE}.tar.gz
- cp -p japanese-usage-dictionary-${JAPANESE_USAGE_DICTIONARY_GIT_REVISION}/usage_dict.txt ${P}/src/third_party/japanese_usage_dictionary || die
- fi
-}
-
-src_prepare() {
- eapply -p2 "${FILESDIR}/${PN}-2.23.2815.102-python-3_1.patch"
- eapply -p2 "${FILESDIR}/${PN}-2.23.2815.102-python-3_2.patch"
- eapply -p2 "${FILESDIR}/${PN}-2.23.2815.102-python-3_3.patch"
- eapply -p2 "${FILESDIR}/${PN}-2.23.2815.102-python-3_4.patch"
- eapply -p2 "${FILESDIR}/${PN}-2.23.2815.102-system_libraries.patch"
- eapply -p2 "${FILESDIR}/${PN}-2.23.2815.102-gcc-8.patch"
- eapply -p2 "${DISTDIR}/${PN}-2.23.2815.102-protobuf_generated_classes_no_inheritance.patch"
- eapply -p2 "${FILESDIR}/${PN}-2.23.2815.102-protobuf-3.18.patch"
- eapply -p2 "${FILESDIR}/${PN}-2.23.2815.102-environmental_variables.patch"
- eapply -p2 "${FILESDIR}/${PN}-2.23.2815.102-reiwa.patch"
- eapply -p2 "${FILESDIR}/${PN}-2.23.2815.102-server_path_check.patch"
- eapply -p2 "${FILESDIR}/${PN}-2.20.2673.102-tests_build.patch"
- eapply -p2 "${FILESDIR}/${PN}-2.20.2673.102-tests_skipping.patch"
-
- if use fcitx4; then
- if [[ "${PV}" == "9999" ]]; then
- cp -pr "${WORKDIR}/fcitx-mozc/src/unix/fcitx" unix || die
- else
- eapply -p2 "${DISTDIR}/fcitx-mozc-${FCITX_PATCH_VERSION}.patch"
- fi
- fi
-
- eapply_user
-
- sed \
- -e "s/def GypMain(options, unused_args):/def GypMain(options, gyp_args):/" \
- -e "s/RunOrDie(gyp_command + gyp_options)/RunOrDie(gyp_command + gyp_options + gyp_args)/" \
- -e "s/RunOrDie(\[ninja/&, '-j$(makeopts_jobs)', '-l$(makeopts_loadavg "${MAKEOPTS}" 0)', '-v'/" \
- -i build_mozc.py || die
-
- sed \
- -e "s/'release_extra_cflags%': \['-O2'\]/'release_extra_cflags%': []/" \
- -e "s/'debug_extra_cflags%': \['-O0', '-g'\]/'debug_extra_cflags%': []/" \
- -i gyp/common.gypi || die
-
- local ar=($(tc-getAR))
- local cc=($(tc-getCC))
- local cxx=($(tc-getCXX))
- local ld=($(tc-getLD))
- local nm=($(tc-getNM))
- local readelf=($(tc-getPROG READELF readelf))
-
- # Use absolute paths. Non-absolute paths are mishandled by GYP.
- ar[0]=$(type -P ${ar[0]})
- cc[0]=$(type -P ${cc[0]})
- cxx[0]=$(type -P ${cxx[0]})
- ld[0]=$(type -P ${ld[0]})
- nm[0]=$(type -P ${nm[0]})
- readelf[0]=$(type -P ${readelf[0]})
-
- sed \
- -e "s:<!(which ar):${ar[@]}:" \
- -e "s:<!(which clang):${cc[@]}:" \
- -e "s:<!(which clang++):${cxx[@]}:" \
- -e "s:<!(which ld):${ld[@]}:" \
- -e "s:<!(which nm):${nm[@]}:" \
- -e "s:<!(which readelf):${readelf[@]}:" \
- -i gyp/common.gypi || die
-}
-
-src_configure() {
- if use debug; then
- BUILD_TYPE="Debug"
- else
- BUILD_TYPE="Release"
- fi
-
- local gyp_arguments=()
-
- if tc-is-gcc; then
- gyp_arguments+=(-D compiler_host=gcc -D compiler_target=gcc)
- elif tc-is-clang; then
- gyp_arguments+=(-D compiler_host=clang -D compiler_target=clang)
- else
- gyp_arguments+=(-D compiler_host=unknown -D compiler_target=unknown)
- fi
-
- gyp_arguments+=(-D use_fcitx=$(usex fcitx4 YES NO))
- gyp_arguments+=(-D use_fcitx5=NO)
- gyp_arguments+=(-D use_libgtest=$(usex test 1 0))
- gyp_arguments+=(-D use_libibus=$(usex ibus 1 0))
- gyp_arguments+=(-D use_libjsoncpp=$(usex test 1 0))
- gyp_arguments+=(-D use_libprotobuf=1)
- gyp_arguments+=(-D use_libzinnia=$(usex gui 1 0))
- gyp_arguments+=(-D enable_gtk_renderer=$(usex renderer 1 0))
-
- gyp_arguments+=(-D server_dir="${EPREFIX}/usr/libexec/mozc")
- gyp_arguments+=(-D document_dir="${EPREFIX}/usr/libexec/mozc/documents")
-
- if use handwriting-tegaki; then
- gyp_arguments+=(-D zinnia_model_file="${EPREFIX}/usr/share/tegaki/models/zinnia/handwriting-ja.model")
- elif use handwriting-tomoe; then
- gyp_arguments+=(-D zinnia_model_file="${EPREFIX}/usr/$(get_libdir)/zinnia/model/tomoe/handwriting-ja.model")
- fi
-
- if use ibus; then
- gyp_arguments+=(-D ibus_mozc_path="${EPREFIX}/usr/libexec/ibus-engine-mozc")
- gyp_arguments+=(-D ibus_mozc_icon_path="${EPREFIX}/usr/share/ibus-mozc/product_icon.png")
- fi
-
- unset AR CC CXX LD NM READELF
-
- execute "${PYTHON}" build_mozc.py gyp \
- --gypdir="${EPREFIX}/usr/bin" \
- --server_dir="${EPREFIX}/usr/libexec/mozc" \
- --verbose \
- $(usex gui "" --noqt) \
- -- "${gyp_arguments[@]}" || die "Configuration failed"
-}
-
-src_compile() {
- local targets=(server/server.gyp:mozc_server)
- if use emacs; then
- targets+=(unix/emacs/emacs.gyp:mozc_emacs_helper)
- fi
- if use fcitx4; then
- targets+=(unix/fcitx/fcitx.gyp:fcitx-mozc)
- fi
- if use gui; then
- targets+=(gui/gui.gyp:mozc_tool)
- fi
- if use ibus; then
- targets+=(unix/ibus/ibus.gyp:ibus_mozc)
- fi
- if use renderer; then
- targets+=(renderer/renderer.gyp:mozc_renderer)
- fi
- if use test; then
- targets+=(gyp/tests.gyp:unittests)
- fi
-
- execute "${PYTHON}" build_mozc.py build -c ${BUILD_TYPE} -v "${targets[@]}" || die "Building failed"
-
- if use emacs; then
- elisp-compile unix/emacs/*.el
- fi
-}
-
-src_test() {
- execute "${PYTHON}" build_mozc.py runtests -c ${BUILD_TYPE} --test_jobs 1 || die "Testing failed"
-}
-
-src_install() {
- exeinto /usr/libexec/mozc
- doexe out_linux/${BUILD_TYPE}/mozc_server
-
- if use gui; then
- doexe out_linux/${BUILD_TYPE}/mozc_tool
- fi
-
- if use renderer; then
- doexe out_linux/${BUILD_TYPE}/mozc_renderer
- fi
-
- insinto /usr/libexec/mozc/documents
- doins data/installer/credits_en.html
-
- if use emacs; then
- dobin out_linux/${BUILD_TYPE}/mozc_emacs_helper
- elisp-install ${PN} unix/emacs/*.{el,elc}
- elisp-site-file-install "${FILESDIR}/${SITEFILE}" ${PN}
- fi
-
- if use fcitx4; then
- exeinto /usr/$(get_libdir)/fcitx
- doexe out_linux/${BUILD_TYPE}/fcitx-mozc.so
-
- insinto /usr/share/fcitx/addon
- doins unix/fcitx/fcitx-mozc.conf
-
- insinto /usr/share/fcitx/inputmethod
- doins unix/fcitx/mozc.conf
-
- insinto /usr/share/fcitx/mozc/icon
- newins data/images/product_icon_32bpp-128.png mozc.png
- local image
- for image in data/images/unix/ui-*.png; do
- newins "${image}" "mozc-${image#data/images/unix/ui-}"
- done
-
- local locale mo_file
- for mo_file in out_linux/${BUILD_TYPE}/gen/unix/fcitx/po/*.mo; do
- locale="${mo_file##*/}"
- locale="${locale%.mo}"
- insinto /usr/share/locale/${locale}/LC_MESSAGES
- newins "${mo_file}" fcitx-mozc.mo
- done
- fi
-
- if use ibus; then
- exeinto /usr/libexec
- newexe out_linux/${BUILD_TYPE}/ibus_mozc ibus-engine-mozc
-
- insinto /usr/share/ibus/component
- doins out_linux/${BUILD_TYPE}/gen/unix/ibus/mozc.xml
-
- insinto /usr/share/ibus-mozc
- newins data/images/unix/ime_product_icon_opensource-32.png product_icon.png
- local image
- for image in data/images/unix/ui-*.png; do
- newins "${image}" "${image#data/images/unix/ui-}"
- done
- fi
-}
-
-pkg_postinst() {
- elog
- elog "ENVIRONMENTAL VARIABLES"
- elog
- elog "MOZC_SERVER_DIRECTORY"
- elog " Mozc server directory"
- elog " Value used by default: \"${EPREFIX}/usr/libexec/mozc\""
- elog "MOZC_DOCUMENTS_DIRECTORY"
- elog " Mozc documents directory"
- elog " Value used by default: \"${EPREFIX}/usr/libexec/mozc/documents\""
- elog "MOZC_CONFIGURATION_DIRECTORY"
- elog " Mozc configuration directory"
- elog " Value used by default: \"~/.mozc\""
- if use gui; then
- elog "MOZC_ZINNIA_MODEL_FILE"
- elog " Zinnia handwriting recognition model file"
- if use handwriting-tegaki; then
- elog " Value used by default: \"${EPREFIX}/usr/share/tegaki/models/zinnia/handwriting-ja.model\""
- elif use handwriting-tomoe; then
- elog " Value used by default: \"${EPREFIX}/usr/$(get_libdir)/zinnia/model/tomoe/handwriting-ja.model\""
- fi
- elog " Potential values:"
- elog " \"${EPREFIX}/usr/share/tegaki/models/zinnia/handwriting-ja.model\""
- elog " \"${EPREFIX}/usr/$(get_libdir)/zinnia/model/tomoe/handwriting-ja.model\""
- fi
- elog
- if use emacs; then
- elog
- elog "USAGE IN EMACS"
- elog
- elog "mozc-mode is minor mode to input Japanese text using Mozc server."
- elog "mozc-mode can be used via LEIM (Library of Emacs Input Method)."
- elog
- elog "In order to use mozc-mode by default, the following settings should be added to"
- elog "Emacs init file (~/.emacs.d/init.el or ~/.emacs):"
- elog
- elog " (require 'mozc)"
- elog " (set-language-environment \"Japanese\")"
- elog " (setq default-input-method \"japanese-mozc\")"
- elog
- elog "With the above settings, typing C-\\ (which is bound to \"toggle-input-method\""
- elog "by default) will enable mozc-mode."
- elog
- elog "Alternatively, at run time, after loading mozc.el, mozc-mode can be activated by"
- elog "calling \"set-input-method\" and entering \"japanese-mozc\"."
- elog
-
- elisp-site-regen
- fi
-}
-
-pkg_postrm() {
- if use emacs; then
- elisp-site-regen
- fi
-}
diff --git a/app-i18n/opencc/Manifest b/app-i18n/opencc/Manifest
index dff68a7261cb..6db1cca93fee 100644
--- a/app-i18n/opencc/Manifest
+++ b/app-i18n/opencc/Manifest
@@ -1,17 +1,9 @@
-AUX opencc-1.1.0-parallel_build.patch 986 BLAKE2B 86cd6372ef0239986a4ab3c52d1b407b76341e9e556d9c847e43d7a2fa8123376640eac26d9830a2ef5b04c82815a01cb9097fca7f9f4ebcca9a337c33f1c9ad SHA512 0183ccb3aa4d71b6fb8cdac0e1f62aedd69781fcd1c1ae33fffe4d9d6537059f23c2088ee39f5c1ef75e3d5778e3025abe8cf711e14c4fdefa4038097e96dac4
-AUX opencc-1.1.1-system_libraries.patch 2542 BLAKE2B 6fe941c585f8b621bfd4f79fcc097dc55c912c89d153fe5c62ae710516b7704d2c5c401890eb381b4a26631819ddef7808fd274e3b2b1fd0d37e731861fb4421 SHA512 0b6afd427a55ce72ab9ceeea5d52bd6ccb40be77cba6a6e285cf83d180ff8ded7415a82be1ce444f908c1b163a70bd58a22443cb228d230038fc615f11ba48f8
AUX opencc-stop-copy.patch 625 BLAKE2B ab2f98a03bb079ad116994c4d05e59e3638f648b3e03ea4e6a357a8658612a1425f2578989c0086e31d749e3533ffb814457071582f9fbf3fbcdf0d184892940 SHA512 e34388bc5d1841e3655c6209e31cf18957a9a02f23d49d9b1f184e48005cf5d5c108656439900f0d79fc1801700872a433ab761154abc424b717e12a616487ca
AUX opencc-test.patch 202 BLAKE2B 1dd3bc35c1f8644cd4f27ce8a5b5dea3b0ef2750612f112d7dc6de658634ad5151972b80c7b2ede9f41ea98ac7a2d29eaeb961132c862f66dd160dc2dd522a6d SHA512 5318058587b41fb7021ffce64d4b999b1beed294ce4c00137fb4b0396dd2cb471af789bceb8a8076b1d4ec2226d3c3fdf8b3d3d6a1f5d80936cf2407b8bdd3ec
DIST opencc-1.0.5.tar.gz 1598354 BLAKE2B a66b32b96dab543d8401960ff0548a4e3f9414606513941426eacf105bca0755a7b364c68b7eb996ef82444e52f849d2f8151353a14fb97a358ad1463fbea2d3 SHA512 3fbefbafe5c3c2491032158577ab97b5a3edf6ea98a03a7250deba082b72c3112ad4a3396d1a469936ec32e1d141f0a2236001c2891ac9c793add2b082596cc1
-DIST opencc-1.0.6.tar.gz 1621561 BLAKE2B d58ee0e04e133fbf6a7632788bcaf0f7891bb74051a970075f6d94b048adfec7bbe4438913933d7dfdd4d58ec2c1a5ec47685415c26532ddd8c13e8abd52cab6 SHA512 67c7bb7432483c1781701dc64ff28e4d5750898ed3d2d41f97d3782918b5f9aa1a49baa1e3a58e4b24cfbd2adcf9ea166a05ad934221fb1cb7afb35e909749e7
-DIST opencc-1.1.0.tar.gz 2209140 BLAKE2B 71cc659976cf30ac0d7dd52cdfa644a85e4e38fed081176bb2f2da2702203c0faeddf76818c8cc89a5fe2a2cfe3eee85fcb27010766db461817b204403cc9b46 SHA512 c5d95e84e0c8edf600f441b79431f721e721b1028619170e27fbc762da32c9ef99c9d28c2c5eaf34226d23a24e2fe5e494cedb28f1182acb06f94b72d7cbb52c
-DIST opencc-1.1.1.tar.gz 2212256 BLAKE2B 0299023f4c950ebedc0a7bc4ca142fbf737c612aca5c8cba8787bebcf2ac8afcacb056b015fbc151136166f679a4551fc5d6bbc0481b930331228ea7484fbe68 SHA512 48ccf61f63cf0a1c0fc484a52ae1d406a28949a52be7d7d1595e6aaf87f40ac47ea4697308441a9381f0cd6f404ee5a28b85a2fa2f288c4b3933be36f4a41363
DIST opencc-1.1.2.tar.gz 2804665 BLAKE2B 9b8be92cfdc2f565c9dc27745724c739e674239f2e3925a1ccdfcbf83e0d1857430d72e91a064c09456e69c00d79e47179801b21a4c7c6fd5dc6d0d16f1bcb98 SHA512 56c84bc472b39eb0b23bac6df5aada2c2ed5fd2fbe653c1ae89d392ec0b74741a15de93c748883ec3c0779396e790a1197f6e3b267b524f111459d45daeb5d4b
DIST opencc-1.1.3.tar.gz 2805430 BLAKE2B 060ca820676a92ddfddc362488031e1ada538626a1fbeb8d178a0ef059b99f606cb0f1151857579221942183820bf34c6f96517d13d4ae8dc3f81846537b668d SHA512 90da656fa4790c58932ad2240a076cc4a9e8cf70ac73d83e0d299e84472deb6491a823966a7686ed1487ef8405909981b9a12b661d8de7f086bd4b498594abac
EBUILD opencc-1.0.5.ebuild 1377 BLAKE2B 4d38a897f7d9d42be4c9e84bc33342deea38b9cdbd617fc70bde26e3e172c9a8ab27c46547c94d734951b353c9b8a9b506acd25a3c8b14a6ab0dce804256b313 SHA512 5fa0e68dea35abc4c8c5caa567e04c7de16ce705cf1e965cce417d43f8981b29d9d87673c05942406e98f6ada609908a2ba89df8659bc3e9e513de1c3b089fbe
-EBUILD opencc-1.0.6.ebuild 1351 BLAKE2B 0e73854d7d5a8123e7c3c4747c706bf46fb2bfb9307d2ccab16c91115f50fafd428a8d7d2e5cfd2263ccef56ee77d231753422042973044b183248ed4361f930 SHA512 d8e4afd560fa281dae57d9aa6ec3afb2d2df319d1270953122f6b4af45d73aca810458aa2eab1b55febb55da7523d0774d08850a9fbd108501467ad0e46015e7
-EBUILD opencc-1.1.0.ebuild 1399 BLAKE2B 3a62cfec833e66c6c7cc7d019d7c08a9ca8b7db380f6ad9f138901341e3a5d5bedf1f3336c69f93ce83da02e701642096b62a02264f9759dcb81fd7c821815d6 SHA512 4a026f2f46f36d6f0bbcae8199ab2e8722b90ac3d42dd0d6f40a2d931c43f3230ae705f18955abc31824e319d668a01300e14360943a7216aea8146d7909452a
-EBUILD opencc-1.1.1.ebuild 1731 BLAKE2B 8d4036ca8188734c9ea26d102367aa2a0fe5f8872af458cc77bf2a311724cf53e333721d8f4082443e1edb87b7f0f6429fc6e9ecd1cb777645e747a273b47ba0 SHA512 771469ced34516e39cc7ddd902135d8ed2f6cf5821deb0999a102ad8a7b981819827385cebd3d64f5a1bccf254e990df256f4131a37382c1b8ba38e6b1fcc961
EBUILD opencc-1.1.2.ebuild 1774 BLAKE2B 51d415dcd35c310b01f518afe4feebb73061cadfebd42b33458353446a894cf7c432afff6f7135c9381ae88314cd981b7335afe0bca81b329d80fa132a75cec8 SHA512 f1746220dbc95041be12f30e34ac439b6e0d7fb9f5c217337112e3592d7521807e39ea77c19224399e1296795dfb9cdebaf01902e76d37af531448063aaafd62
EBUILD opencc-1.1.3.ebuild 1583 BLAKE2B 40e5f836ec791fd8cc1974671b7a88e6c7ecb5fcd7eba6beb140bf16d09e8f9522207c57bad4798f5c91cfdcae22c208d6bf36a4495fd13a8f8ac6f1ef4bf5bd SHA512 b96738785f54359cefd5f525acbaa7ef6f6a5032edaa1e974d547530b9cd6ca8b81682770be7f48aed5dcb9ad4ffc4488dd10e9e6731a99a7df36c27bf22e15f
EBUILD opencc-9999.ebuild 1533 BLAKE2B 7af70265939b180ea374cdf1f94160257c9bd3ba4c1f26eb70e1a2663e102466d0300ada0008aa29bf8788f1656d8b63475dcfbbb6ef89925b1ef671ff942a2e SHA512 a73dfa1a151602462a0406925963102224874bcff1eebfc277b461d0910310a69dff10ff0c9e5ce0bc5f0acf00f2bd7b9fc293090fbe00cc78c4c67d1e870b27
diff --git a/app-i18n/opencc/files/opencc-1.1.0-parallel_build.patch b/app-i18n/opencc/files/opencc-1.1.0-parallel_build.patch
deleted file mode 100644
index 3163aa0a16e3..000000000000
--- a/app-i18n/opencc/files/opencc-1.1.0-parallel_build.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-https://github.com/BYVoid/OpenCC/issues/322
-
---- /data/CMakeLists.txt
-+++ /data/CMakeLists.txt
-@@ -116,6 +116,19 @@
- )
- endforeach(DICT)
-
-+add_custom_target(
-+ copy_libopencc_to_dir_of_opencc_dict
-+ COMMENT
-+ "Copying libopencc to directory of opencc_dict"
-+ COMMAND
-+ ${CMAKE_COMMAND} -E copy "$<TARGET_FILE:libopencc>" "$<TARGET_FILE_DIR:${OPENCC_DICT_BIN}>"
-+)
-+if (WIN32)
-+ set(DICT_WIN32_DEPENDS copy_libopencc_to_dir_of_opencc_dict)
-+else()
-+ set(DICT_WIN32_DEPENDS)
-+endif()
-+
- foreach(DICT ${DICTS})
- add_custom_command(
- OUTPUT
-@@ -123,14 +136,13 @@
- COMMENT
- "Building ${DICT}.ocd2"
- COMMAND
-- ${CMAKE_COMMAND} -E copy "$<TARGET_FILE:libopencc>" "$<TARGET_FILE_DIR:${OPENCC_DICT_BIN}>"
-- COMMAND
- ${OPENCC_DICT_BIN}
- --input ${DICT_${DICT}_INPUT}
- --output ${DICT}.ocd2
- --from text
- --to ocd2
- DEPENDS
-+ ${DICT_WIN32_DEPENDS}
- ${OPENCC_DICT_BIN}
- ${DICT_${DICT}_INPUT}
- )
diff --git a/app-i18n/opencc/files/opencc-1.1.1-system_libraries.patch b/app-i18n/opencc/files/opencc-1.1.1-system_libraries.patch
deleted file mode 100644
index ee0527f22356..000000000000
--- a/app-i18n/opencc/files/opencc-1.1.1-system_libraries.patch
+++ /dev/null
@@ -1,94 +0,0 @@
-https://github.com/BYVoid/OpenCC/issues/547
-
---- /CMakeLists.txt
-+++ /CMakeLists.txt
-@@ -28,7 +28,12 @@
- option(ENABLE_GTEST "Build all tests." OFF)
- option(ENABLE_BENCHMARK "Build benchmark tests." OFF)
- option(ENABLE_DARTS "Build DartsDict (ocd format)." ON)
--option(BUILD_BUNDLED_LIBMARISA "" ON)
-+option(USE_SYSTEM_DARTS "Use system version of Darts" OFF)
-+option(USE_SYSTEM_GOOGLE_BENCHMARK "Use system version of Google Benchmark" OFF)
-+option(USE_SYSTEM_GTEST "Use system version of GoogleTest" OFF)
-+option(USE_SYSTEM_MARISA "Use system version of Marisa" OFF)
-+option(USE_SYSTEM_RAPIDJSON "Use system version of RapidJSON" OFF)
-+option(USE_SYSTEM_TCLAP "Use system version of TCLAP" OFF)
-
- ######## Package information
- set (PACKAGE_URL https://github.com/BYVoid/Opencc)
-@@ -172,7 +177,7 @@
-
- ######## Dependencies
-
--if(BUILD_BUNDLED_LIBMARISA)
-+if(NOT USE_SYSTEM_MARISA)
- message(STATUS "Use bundled marisa library.")
- add_subdirectory(deps/marisa-0.2.5)
- else()
-@@ -194,12 +199,16 @@
- ######## Testing
-
- if (ENABLE_GTEST)
-- add_subdirectory(deps/gtest-1.11.0)
-+ if(NOT USE_SYSTEM_GTEST)
-+ add_subdirectory(deps/gtest-1.11.0)
-+ endif()
- enable_testing()
- endif()
-
- if (ENABLE_BENCHMARK)
- set(BENCHMARK_ENABLE_TESTING OFF)
-- add_subdirectory(deps/google-benchmark)
-+ if(NOT USE_SYSTEM_GOOGLE_BENCHMARK)
-+ add_subdirectory(deps/google-benchmark)
-+ endif()
- enable_testing()
- endif()
---- /src/CMakeLists.txt
-+++ /src/CMakeLists.txt
-@@ -1,7 +1,13 @@
- include (GenerateExportHeader)
--include_directories(../deps/marisa-0.2.5/include)
--include_directories(../deps/rapidjson-1.1.0)
--include_directories(../deps/tclap-1.2.2)
-+if(NOT USE_SYSTEM_MARISA)
-+ include_directories(../deps/marisa-0.2.5/include)
-+endif()
-+if(NOT USE_SYSTEM_RAPIDJSON)
-+ include_directories(../deps/rapidjson-1.1.0)
-+endif()
-+if(NOT USE_SYSTEM_TCLAP)
-+ include_directories(../deps/tclap-1.2.2)
-+endif()
-
- # Library
-
-@@ -72,7 +78,9 @@
- )
-
- if (ENABLE_DARTS)
-- include_directories(../deps/darts-clone)
-+ if(NOT USE_SYSTEM_DARTS)
-+ include_directories(../deps/darts-clone)
-+ endif()
- set(
- LIBOPENCC_HEADERS
- ${LIBOPENCC_HEADERS}
---- /test/CMakeLists.txt
-+++ /test/CMakeLists.txt
-@@ -1,4 +1,3 @@
--include_directories(../deps/libdarts/src)
- include_directories(../src)
-
- set(CONFIG_TEST
-@@ -27,7 +26,9 @@
- )
- endif()
-
-- include_directories(../deps/gtest-1.7.0/include)
-+ if(NOT USE_SYSTEM_GTEST)
-+ include_directories(../deps/gtest-1.7.0/include)
-+ endif()
- set(UNITTESTS
- CommandLineConvertTest
- )
diff --git a/app-i18n/opencc/opencc-1.0.6.ebuild b/app-i18n/opencc/opencc-1.0.6.ebuild
deleted file mode 100644
index c2e8f4fe0450..000000000000
--- a/app-i18n/opencc/opencc-1.0.6.ebuild
+++ /dev/null
@@ -1,63 +0,0 @@
-# Copyright 2010-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-PYTHON_COMPAT=( python3_{8..9} )
-
-inherit cmake python-any-r1
-
-if [[ "${PV}" == "9999" ]]; then
- inherit git-r3
-
- EGIT_REPO_URI="https://github.com/BYVoid/OpenCC"
-fi
-
-DESCRIPTION="Library for conversion between Traditional and Simplified Chinese characters"
-HOMEPAGE="https://github.com/BYVoid/OpenCC"
-if [[ "${PV}" == "9999" ]]; then
- SRC_URI=""
-else
- SRC_URI="https://github.com/BYVoid/OpenCC/archive/ver.${PV}.tar.gz -> ${P}.tar.gz"
-fi
-
-# OpenCC: Apache-2.0
-# deps/darts-clone: BSD-2
-# deps/gtest-1.7.0: BSD
-# deps/rapidjson-0.11: MIT
-# deps/tclap-1.2.1: MIT
-LICENSE="Apache-2.0 BSD-2 MIT test? ( BSD )"
-SLOT="0/2"
-KEYWORDS="~amd64 ~arm64 ~hppa ~ppc ~ppc64 ~sparc ~x86"
-IUSE="doc test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="${PYTHON_DEPS}
- doc? ( app-doc/doxygen )"
-DEPEND=""
-RDEPEND=""
-
-if [[ "${PV}" != "9999" ]]; then
- S="${WORKDIR}/OpenCC-ver.${PV}"
-fi
-
-PATCHES=(
- "${FILESDIR}/${PN}-stop-copy.patch"
-)
-
-DOCS=(AUTHORS NEWS.md README.md)
-
-src_prepare() {
- cmake_src_prepare
-
- sed -e "s:\${DIR_SHARE_OPENCC}/doc:share/doc/${PF}:" -i doc/CMakeLists.txt || die
-}
-
-src_configure() {
- local mycmakeargs=(
- -DBUILD_DOCUMENTATION=$(usex doc ON OFF)
- -DBUILD_SHARED_LIBS=ON
- -DENABLE_GTEST=$(usex test ON OFF)
- )
-
- cmake_src_configure
-}
diff --git a/app-i18n/opencc/opencc-1.1.0.ebuild b/app-i18n/opencc/opencc-1.1.0.ebuild
deleted file mode 100644
index 4d79dde3f84c..000000000000
--- a/app-i18n/opencc/opencc-1.1.0.ebuild
+++ /dev/null
@@ -1,64 +0,0 @@
-# Copyright 2010-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-PYTHON_COMPAT=( python3_{8..9} )
-
-inherit cmake python-any-r1
-
-if [[ "${PV}" == "9999" ]]; then
- inherit git-r3
-
- EGIT_REPO_URI="https://github.com/BYVoid/OpenCC"
-fi
-
-DESCRIPTION="Library for conversion between Traditional and Simplified Chinese characters"
-HOMEPAGE="https://github.com/BYVoid/OpenCC"
-if [[ "${PV}" == "9999" ]]; then
- SRC_URI=""
-else
- SRC_URI="https://github.com/BYVoid/OpenCC/archive/ver.${PV}.tar.gz -> ${P}.tar.gz"
-fi
-
-# OpenCC: Apache-2.0
-# deps/darts-clone: BSD-2
-# deps/gtest-1.11.0: BSD
-# deps/marisa-0.2.5: || ( BSD-2 LGPL-2.1+ )
-# deps/rapidjson-1.1.0: MIT
-# deps/tclap-1.2.2: MIT
-LICENSE="Apache-2.0 BSD-2 MIT || ( BSD-2 LGPL-2.1+ ) test? ( BSD )"
-SLOT="0/2"
-KEYWORDS="~amd64 ~x86"
-IUSE="doc test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="${PYTHON_DEPS}
- doc? ( app-doc/doxygen )"
-DEPEND=""
-RDEPEND=""
-
-if [[ "${PV}" != "9999" ]]; then
- S="${WORKDIR}/OpenCC-ver.${PV}"
-fi
-
-PATCHES=(
- "${FILESDIR}/${PN}-1.1.0-parallel_build.patch"
-)
-
-DOCS=(AUTHORS NEWS.md README.md)
-
-src_prepare() {
- cmake_src_prepare
-
- sed -e "s:\${DIR_SHARE_OPENCC}/doc:share/doc/${PF}:" -i doc/CMakeLists.txt || die
-}
-
-src_configure() {
- local mycmakeargs=(
- -DBUILD_DOCUMENTATION=$(usex doc ON OFF)
- -DBUILD_SHARED_LIBS=ON
- -DENABLE_GTEST=$(usex test ON OFF)
- )
-
- cmake_src_configure
-}
diff --git a/app-i18n/opencc/opencc-1.1.1.ebuild b/app-i18n/opencc/opencc-1.1.1.ebuild
deleted file mode 100644
index 01e3919f675b..000000000000
--- a/app-i18n/opencc/opencc-1.1.1.ebuild
+++ /dev/null
@@ -1,76 +0,0 @@
-# Copyright 2010-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-PYTHON_COMPAT=( python3_{8..9} )
-
-inherit cmake python-any-r1
-
-if [[ "${PV}" == "9999" ]]; then
- inherit git-r3
-
- EGIT_REPO_URI="https://github.com/BYVoid/OpenCC"
-fi
-
-DESCRIPTION="Library for conversion between Traditional and Simplified Chinese characters"
-HOMEPAGE="https://github.com/BYVoid/OpenCC"
-if [[ "${PV}" == "9999" ]]; then
- SRC_URI=""
-else
- SRC_URI="https://github.com/BYVoid/OpenCC/archive/ver.${PV}.tar.gz -> ${P}.tar.gz"
-fi
-
-LICENSE="Apache-2.0"
-SLOT="0/1.1"
-KEYWORDS="~amd64 ~arm64 ~x86"
-IUSE="doc test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="${PYTHON_DEPS}
- doc? ( app-doc/doxygen )"
-DEPEND="dev-cpp/tclap
- dev-libs/darts
- dev-libs/marisa:0=
- dev-libs/rapidjson
- test? (
- dev-cpp/gtest
- !hppa? ( !sparc? ( dev-cpp/benchmark ) )
- )"
-RDEPEND="dev-libs/marisa:0="
-
-if [[ "${PV}" != "9999" ]]; then
- S="${WORKDIR}/OpenCC-ver.${PV}"
-fi
-
-PATCHES=(
- "${FILESDIR}/${PN}-1.1.0-parallel_build.patch"
- "${FILESDIR}/${PN}-1.1.1-system_libraries.patch"
-)
-
-DOCS=(AUTHORS NEWS.md README.md)
-
-src_prepare() {
- rm -r deps || die
-
- cmake_src_prepare
-
- sed -e "s:\${DIR_SHARE_OPENCC}/doc:share/doc/${PF}:" -i doc/CMakeLists.txt || die
-}
-
-src_configure() {
- local -x CXXFLAGS="${CXXFLAGS} -I${ESYSROOT}/usr/include/rapidjson"
-
- local mycmakeargs=(
- -DBUILD_DOCUMENTATION=$(usex doc ON OFF)
- -DENABLE_BENCHMARK=$(if use test && has_version -d dev-cpp/benchmark; then echo ON; else echo OFF; fi)
- -DENABLE_GTEST=$(usex test ON OFF)
- -DUSE_SYSTEM_DARTS=ON
- -DUSE_SYSTEM_GOOGLE_BENCHMARK=ON
- -DUSE_SYSTEM_GTEST=ON
- -DUSE_SYSTEM_MARISA=ON
- -DUSE_SYSTEM_RAPIDJSON=ON
- -DUSE_SYSTEM_TCLAP=ON
- )
-
- cmake_src_configure
-}
diff --git a/app-i18n/rime-data/Manifest b/app-i18n/rime-data/Manifest
index 64f7128fe1a3..cd273623c23a 100644
--- a/app-i18n/rime-data/Manifest
+++ b/app-i18n/rime-data/Manifest
@@ -1,5 +1,3 @@
-DIST brise-0.35.tar.gz 6707277 BLAKE2B 610ea2e58800676b88bc79ce7075ed5fa8ec041f2ee34e3dfbcbfa642f84413d8b188af8e49de56d815eac2e5188d18287749976aa4e28ba5c7c7dfc6dece30a SHA512 1a2a3ddba9be7089a1b82ce446a3e5dc93a13fff121f861aa1acbdea950f490c9367866902a056296e17de5076a59a54741ceb3a59a9c0ec58b6b7c54f519f3d
DIST brise-0.38.20180515.tar.gz 7116807 BLAKE2B abf73b5813b18f4cd3ef68b3f6e8ad2c54ac90a0969a57e7786b53b99c162efeea9e82d962b3e8d7b8b1742852beb5d0eb4b07de65bdc1881c43388de552ee4a SHA512 60b3d37486b6858114036664327c9be00d09d3f7d3f5aaf337c6bc5a46134e5785fc1732db5aad15e1e628241a70c9c34b03f982fb13cae6d91220731b451bb9
-EBUILD rime-data-0.35.ebuild 558 BLAKE2B ea665052bd0668d772e2c556b7ffa9784eb1d89d8aa082deab295f8cea5c1b65597e5390a9a96aaeeca1cf5c2891270454f9ba35867fdd91da220c75dd561e9f SHA512 fa661b513b6a36e180d791230f293f950f4274f7349500d871df325fe995967e993bcee9e6569e76ba604efb3a2b46bac72503117c16c0a6e2e75bc134b8779b
EBUILD rime-data-0.38.20180515.ebuild 674 BLAKE2B daf0ad1b78276bd40108f63843a9fd89fc17d8e5dcf3e04b3ff6a640883133747194ab9a33e13a708ca1e745f43e16468b738548cf4a9c2666a3fdd3f80b6fc0 SHA512 b8d1a76f6e0395acc6c1517d70c57785c4a1242a5461067e989965bf5f97eb8532bb7c849295f0df88f55a9bcb168218ac6fa4c2cae3c5608328260d1e2cd5b8
MISC metadata.xml 730 BLAKE2B 5a438b52ae73b5573028aae22c942f9c8b796f153ad0d8612b5215d016540d14b6ec58207f2de8849f0cbcf3d7e50b16b9654215488395ab933eb3cc33c17019 SHA512 5ebdb0b031e2cd60b81edd72ea07804f57788030aed4d4ed1eb7ef448e5b9e930ff61a6d7f6dab7ccf05bc8447b51feeeb2a56b2473508a5112520f349983eb9
diff --git a/app-i18n/rime-data/rime-data-0.35.ebuild b/app-i18n/rime-data/rime-data-0.35.ebuild
deleted file mode 100644
index 4290b96b3631..000000000000
--- a/app-i18n/rime-data/rime-data-0.35.ebuild
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-MY_PN="brise"
-MY_P="${MY_PN}-${PV}"
-
-DESCRIPTION="Data resources for Rime Input Method Engine"
-HOMEPAGE="https://rime.im/ https://github.com/rime/brise"
-SRC_URI="https://dl.bintray.com/lotem/rime/${MY_P}.tar.gz"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="amd64 ppc ppc64 x86"
-IUSE=""
-
-DEPEND="app-i18n/librime"
-RDEPEND="${DEPEND}"
-S="${WORKDIR}/${MY_PN}"
-
-src_prepare() {
- sed -i "/^[[:space:]]*PREFIX/s:/usr:${EPREFIX}/usr:" Makefile
-
- default
-}
diff --git a/app-i18n/scim-bridge/Manifest b/app-i18n/scim-bridge/Manifest
index 0006632d1e86..b71c6a42fa9d 100644
--- a/app-i18n/scim-bridge/Manifest
+++ b/app-i18n/scim-bridge/Manifest
@@ -4,5 +4,5 @@ AUX scim-bridge-0.4.16+gcc-4.4.patch 382 BLAKE2B 1b65d8c24dccd10b165a4716897b944
AUX scim-bridge-0.4.16+gcc-4.7.patch 774 BLAKE2B 61b84631e8972558dba145b7c36108a726028755665720aa82e2dd9c76477536cb332c4c4d62e3555050bee898d8139a1294ce29a6c0482dbcf63ad0cb196576 SHA512 3349b93e71fdb4e6942253877ed1d84c59a099f5c3fd7d6148c780c6a8af65bb47431dde0a84995dab66bc864872130690b1ee89ee1e2db2c50591f94095c35a
AUX scim-bridge-0.4.16-configure.ac.patch 5693 BLAKE2B bfa3fd40f07872ace34bf8fca2d3fb012e173660aab3a976c69dd2648003d79acf86b1d6da4c4a14b44e92d256f775fca44bf25b7c21beefb9c95ea545300454 SHA512 64fac34fc9d6982d61542af815ae6da5172d5e5208b938a386ad8fa67bd8988829e8c45412a47b9fef0c8b91b52d4f90b269266e49fb867a671cea1dc4581408
DIST scim-bridge-0.4.16.tar.gz 508870 BLAKE2B 136a8e84b89a58852ff88a2ef632084f1f18c436fc96cd9192d4510b5e6a4adcb51a5a6f314f8c5e6a333b18ec36e2e154db161e1eb65cef0f3cd28fe47c8241 SHA512 8d40a931738f6130ab2fdc4e8dec70143874c53d5720a0403603b57c9f80d7c0a4802609e0446684fa5cba1758e78e5f333d01787527934ed7a19c9727fd66a6
-EBUILD scim-bridge-0.4.16-r3.ebuild 1708 BLAKE2B 6667e035b012466bd67dc2661deaa1502624f28c692ab8a1e8ad416f3f99d40237a5a811ae1a82022c5c7feb01a188bdd6f8bc18d7b97b2cb41c637ce0e840a3 SHA512 d125bd90a857044353bdefdb1c25b5efeb078e87b304367c418034186d3b9c10412df79db1b96fbb92fb5fb922c780a671732bc7850c87e3006a95abebdce05f
+EBUILD scim-bridge-0.4.16-r3.ebuild 1699 BLAKE2B dae9e788281bf0eb905b270e9794dd1656522bf38f1fda3882819e169c9f43b168b4012ed7b26ef77d7dc668a8ec15edd13d64aa3eb4219315c02dd70e8eaba4 SHA512 42ae631fb5febef3ec1b6e946fa8466ca14ae47a76eb544014eac6bf42cb1d1ee3d33e9680944d65754acfa76c8e18b35a78a83bd73420a89f32df0638857e91
MISC metadata.xml 309 BLAKE2B dbae5a3009517b9481eba1b44e2db32c260bbb0f52aa2dc5ed112b782ddbed0da5094cda5ef43f87d5c7c2e2fd53683bafb15f968d46fdaa7e7172953090c951 SHA512 24868fa1884d67b6eef373a1571333f1ab4342fa982a782015383e27345f90eec98a32f4c8dbced47d3bd433edd2aaeb372360ebea8a36fabcd4e093dfd78e6b
diff --git a/app-i18n/scim-bridge/scim-bridge-0.4.16-r3.ebuild b/app-i18n/scim-bridge/scim-bridge-0.4.16-r3.ebuild
index 9272a14e231e..09cdd8f522b3 100644
--- a/app-i18n/scim-bridge/scim-bridge-0.4.16-r3.ebuild
+++ b/app-i18n/scim-bridge/scim-bridge-0.4.16-r3.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
-inherit autotools gnome2-utils multilib readme.gentoo-r1
+inherit autotools gnome2-utils readme.gentoo-r1
DESCRIPTION="Yet another IM-client of SCIM"
HOMEPAGE="http://www.scim-im.org/projects/scim_bridge"
diff --git a/app-i18n/tagainijisho/Manifest b/app-i18n/tagainijisho/Manifest
index b7fa92cd7436..25563fb2225c 100644
--- a/app-i18n/tagainijisho/Manifest
+++ b/app-i18n/tagainijisho/Manifest
@@ -1,18 +1,7 @@
-DIST JMdict-2020-07-01.gz 19735470 BLAKE2B 06126c07516241af6789c3427ebe68ce6da3a5116414f8d1cd5248c18319a4b302ec241499c36b380e3a49f43cac2b381e4130d2bae4a7b100de76724786eadd SHA512 08c3feed364666dfbf87c73ac5da20a7eaa414e7fde274f314b058a6b268cc197b834225aed57cea74f6cdc95f374031c1a87ee9e3023f421ed9f3f1af4ca1d0
-DIST JMdict-2020-10-01.gz 19845877 BLAKE2B f75e9cb1096c1f35276606119d1f0e1cf2687f69d9afe2bced55a6b75aa8ada0c8f245e05e8f7246d73463ed895cd232f1ee30ccd639cb32801c51cbc9a56dcc SHA512 4e6490eda15928a48cbfff59bf73d21dea19d2e80dffce70f65a247b0a9393bea787c8378b06b7e7c807eeb9a296971efac9f3ec2d3ab6771c7a016e0e747113
-DIST JMdict-2021-04-01.gz 20023736 BLAKE2B 57c2114550882729022cc639606f4512f7670e906f1e362e2fa3e40adb3fd10734e198f6703a7c372fe42fd61d620534c13fb702706e57cc9f40bce061c8218f SHA512 8791b7a1fa2a1e43c07b73d51395de2f1b0e52dfa84463b9e451b79e54a3af676dc0b11a99526987476b1ad167b1ace4d75134484469a927a8f8386e5478f7ca
DIST JMdict-2021-07-01.gz 20106907 BLAKE2B 0a56834241f4a908b05e99f21917149d161b40a190d271d4477ec18b3b4972648142ab6db3b45fd290caa9d99b1e0a946e16e165dbeabe8eda73a4c9f6d7d286 SHA512 b7217ca9d25601733b03bc0193c1fd3a206b11a20731c2b52650cd5de626d02a486f089464e7c85f3525bd392b64b5c2f5348d752a791df46c06805ee082a42b
-DIST kanjidic2-2020-07-01.xml.gz 1483010 BLAKE2B 7adc1d09bcddccfa549de92ff996c4d1e4ee4283ad845b50f5a453dd7f4051249eeb8fb3bd574b8c95f92a93ce7197f40226fe9046f7ab871f43f086c753166f SHA512 078ea54da499967b03c6eee75d629c9aced8c48381e8b6d1adf2d6440c81a26da8bc532f8db8d388588a74cbdb851bcb92846d1532b882f5ab9d65d653deeb3e
-DIST kanjidic2-2020-10-01.xml.gz 1483702 BLAKE2B 0a1aa65084f5d6e35ac188c77c4264449ffa0c07e39fb464760049740e70187252e56212e1b95a5be930f326b42f2ef8689dcf7d53dfcbcd9ef250e0e05e26f2 SHA512 f47f0f9b401e2f30f9669bc61417424ed4f423a542115d56b3b176f4c8253a7025c02ba4e28d1180effa558f6cd6fca7f07fcd47c716839cd48ac7f2c8b6ac78
-DIST kanjidic2-2021-04-01.xml.gz 1487178 BLAKE2B 81e05d3d80bea1eec64e4af80b195dce2f3396a3c70f359fb27e7db68ab6f5a177b732bfeef53d9ba6af8cfdf860f130d6077b853bfb6e7e3b7eeb4fe3028915 SHA512 c3e617878f1f9da46580a93e47a669ba90a84ebf25790fdc40ee56f6a39cd704941a6f068708bd106e81f63fb34ca5b5992c758cc3f898fbed038fd4181ac437
DIST kanjidic2-2021-07-01.xml.gz 1487197 BLAKE2B f2fc6cc033c4615cdc0699970f2fd022ea7dab0ec8358eb6baa031e54b8dab4d766410b136e96ce9fe2120b1e2a8362bf8c902bcc9037335745dac24e4cebba5 SHA512 f64d4f207a402b40f02c05a21ba4edb38b74277fecd11694643e2fc4a5857720583a9553e21c9502ff98cb8d17c606f4d24e29b9d939b36d65ae3538d0fa8063
DIST kanjivg-20160426.xml.gz 3587660 BLAKE2B c85291f3671f0980186e8deb296cfa743322df438d6f09fd69a4f5a30c3db6f097d6ff0a817b88c5c9a2c8d4a40c90b31c0a54cb71d681849b557ee364707c48 SHA512 1d35a8cc5d4947f6bedfc71a2f08e2d1fda832d7a02588c00953e1746812b0e51d4d1c39dff49999b4f65ec850788359f6e0d1465f0e688b1bf753c4c67b3c54
-DIST tagainijisho-1.2.0_pre20200118132551.tar.gz 3635265 BLAKE2B f8f831f698bf0ca56c57e8343adee92d3b42842c95fb971c9d8696eaf660ce458d8fd2108ab4568463bed6711c5295d27efc34f2fab512c3d0bc2a11a4f76c1b SHA512 14d6fc5ce891437159ca2b3db53c776420a6d4e305f6753c7ccf5ce773d43fa31f875ee9582c9db1fe05364b18772cec43dd046a6492b6eb45c12b62f7d60407
-DIST tagainijisho-1.2.0_pre20210313131524.tar.gz 3639618 BLAKE2B f2dbb376dddf76b27a01b9a06309ed048d8e6bae7022a027b3da3b93f39c9bce63d0e5e06dd04434d61742213e48930643c9a81ca9102ca4202f6261404179f1 SHA512 3775bbc34bf3bef0604b6b18fcee7d2698f567002e23707205d2ee256f518514ad16d27d5cdb1cc5e6d42063b1532ab4b59cdb49d2934973cb6557e77e9b7a07
DIST tagainijisho-1.2.0_pre20210627073130.tar.gz 3639873 BLAKE2B 5dfef3a9d9489b3f9a2dfda9a73700311a597f73eddca375608d62069c2e01e37f977ebf78416483f8f8de6347accbdcaebd4f5dca65ee0ec88d2c90a2f7715d SHA512 bb6ddd487bdb7f7e6b664ad1fe92067c136ddc6ed4a01f5882f0fa2c9ebe2b77605dc0f5202f824e2e5a4f1829dff3c43410c339e6bf853ce890ce39567aa43f
-EBUILD tagainijisho-1.2.0_pre20200118132551_p20200701_p20200701.ebuild 6703 BLAKE2B 8c80435235ec361412aec1e493209fb15146d44d4da7ac79ff2f4a6da38345893f836b00ed159832d24794d620e3aef722e48f9e0650eeb83377b5038a24489c SHA512 2e916c79c6ce7f44d83ee7259de5c8f29ae91991c076515a25f1260035d4fbd5362c6f73bf22f67fd7c32806ae748c9dfc8160c8dea871a6ffc7fb9b9470aa49
-EBUILD tagainijisho-1.2.0_pre20200118132551_p20201001_p20201001.ebuild 6703 BLAKE2B 8c80435235ec361412aec1e493209fb15146d44d4da7ac79ff2f4a6da38345893f836b00ed159832d24794d620e3aef722e48f9e0650eeb83377b5038a24489c SHA512 2e916c79c6ce7f44d83ee7259de5c8f29ae91991c076515a25f1260035d4fbd5362c6f73bf22f67fd7c32806ae748c9dfc8160c8dea871a6ffc7fb9b9470aa49
-EBUILD tagainijisho-1.2.0_pre20210313131524_p20210401_p20210401.ebuild 6652 BLAKE2B c731cf58de9378460524ab1d0b3d4560e4787819813b98d26e6eaef624bf59f07b794b13b9ec537d62e92bf0ea76763165c855924df3adb8e070a945b7a15232 SHA512 c5b492a39bb01a17b072b9b931eab80fc6166a79e9607eeceae51c8e64106f8df5c179f5cf6c22097e4a2eb93f6ac8d138a445dac267c9bcc35cf1fafd8229d2
EBUILD tagainijisho-1.2.0_pre20210627073130_p20210701_p20210701.ebuild 6652 BLAKE2B 67078e5ad688f425fd4f64088b2503c390f4e12c2f2dafb7d73cf991280d585880c07b857cf00f63ada422127fa47737ea5403197212ece9d2480b6622caa828 SHA512 cff1f344de1462f3099b5c55fe19af2e3a9c4b78593d76b1312c53793e685b37e90f550bf77868aa10801565633879463a860c0fa53aa662ce6a8531de260f48
EBUILD tagainijisho-9999.ebuild 6601 BLAKE2B 289ffa950fe44e0c8cec9d01e3287e44f6c747ec8716a3d014539fab471d0750f01067646063f04a84cc8fe9d8495c11929f93df05986374df8f182117806e84 SHA512 fa170ae5ab3c227d213da75560f4d5522751b01a8cf7dffd63fc624a8fe1d62f37cde4ee076d68c68a7f0b8a2c7f884c21e274dd05fb2acf1007683b0322097c
MISC metadata.xml 1136 BLAKE2B d7c8541a45702fcb30306c2d8ea54fa01b0eccffbda553c66cb146a464f8e2c68fa57592de4946c1b8cd2a0f8cc5e8e0b081846ca9ca9a6d723745d7edbe878f SHA512 4b3947bdd2e178b28baef2caf5adb9ab6ba93f2b05d78c79851b0435d00f60eb26b0e57625d2ea99440255fc68fa210568c94ece9d87aac818f45e10ed6bc873
diff --git a/app-i18n/tagainijisho/tagainijisho-1.2.0_pre20200118132551_p20200701_p20200701.ebuild b/app-i18n/tagainijisho/tagainijisho-1.2.0_pre20200118132551_p20200701_p20200701.ebuild
deleted file mode 100644
index 3800b36bbc6b..000000000000
--- a/app-i18n/tagainijisho/tagainijisho-1.2.0_pre20200118132551_p20200701_p20200701.ebuild
+++ /dev/null
@@ -1,201 +0,0 @@
-# Copyright 2014-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-inherit cmake xdg-utils
-
-if [[ "${PV}" == 9999 ]]; then
- inherit git-r3
-
- EGIT_REPO_URI="https://github.com/Gnurou/tagainijisho"
-elif [[ "${PV}" == *_pre* ]]; then
- inherit vcs-snapshot
-
- TAGAINIJISHO_GIT_REVISION="2d2a3182a70a22bf27b0be42a3e896283513761e"
-fi
-if [[ "${PV}" != 9999 ]]; then
- TAGAINIJISHO_VERSION="${PV%_p*_p*}"
- JMDICT_DATE="${PV#${TAGAINIJISHO_VERSION}_p}"
- JMDICT_DATE="${JMDICT_DATE%_p*}"
- JMDICT_DATE="${JMDICT_DATE:0:4}-${JMDICT_DATE:4:2}-${JMDICT_DATE:6}"
- KANJIDIC2_DATE="${PV#${TAGAINIJISHO_VERSION}_p*_p}"
- KANJIDIC2_DATE="${KANJIDIC2_DATE:0:4}-${KANJIDIC2_DATE:4:2}-${KANJIDIC2_DATE:6}"
-fi
-if [[ "${PV}" == 9999 || "${PV}" == *_pre* ]]; then
- KANJIVG_VERSION="20160426"
-fi
-
-DESCRIPTION="Open-source Japanese dictionary and kanji lookup tool"
-HOMEPAGE="https://www.tagaini.net/ https://github.com/Gnurou/tagainijisho"
-if [[ "${PV}" == 9999 ]]; then
- SRC_URI=""
-elif [[ "${PV}" == *_pre* ]]; then
- SRC_URI="https://github.com/Gnurou/${PN}/archive/${TAGAINIJISHO_GIT_REVISION}.tar.gz -> ${PN}-${TAGAINIJISHO_VERSION}.tar.gz"
-else
- SRC_URI="https://github.com/Gnurou/${PN}/releases/download/${PV}/${PN}-${TAGAINIJISHO_VERSION}.tar.gz"
-fi
-if [[ "${PV}" != 9999 ]]; then
- # Upstream: http://ftp.monash.edu.au/pub/nihongo/JMdict.gz
- SRC_URI+=" https://home.apache.org/~arfrever/distfiles/JMdict-${JMDICT_DATE}.gz"
- # Upstream: http://www.edrdg.org/kanjidic/kanjidic2.xml.gz
- SRC_URI+=" https://home.apache.org/~arfrever/distfiles/kanjidic2-${KANJIDIC2_DATE}.xml.gz"
-fi
-if [[ "${PV}" == 9999 || "${PV}" == *_pre* ]]; then
- SRC_URI+=" https://github.com/KanjiVG/kanjivg/releases/download/r${KANJIVG_VERSION}/kanjivg-${KANJIVG_VERSION}.xml.gz"
-fi
-
-LICENSE="GPL-3+ public-domain"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE=""
-if [[ "${PV}" == 9999 ]]; then
- # We wget dictionary files in addition to using git
- PROPERTIES="live"
-fi
-
-BDEPEND="dev-qt/linguist-tools:5"
-DEPEND=">=dev-db/sqlite-3.12:3
- dev-qt/qtcore:5
- dev-qt/qtnetwork:5
- dev-qt/qtprintsupport:5
- dev-qt/qtwidgets:5"
-RDEPEND="${DEPEND}"
-
-pkg_langs=(ar cs de es fa fi fr hu id it nb nl pl pt ru sv th tr uk vi zh)
-IUSE+=" ${pkg_langs[@]/#/l10n_}"
-unset pkg_langs
-
-if [[ "${PV}" != 9999 ]]; then
- S="${WORKDIR}/${PN}-${TAGAINIJISHO_VERSION}"
-fi
-
-src_unpack() {
- if [[ "${PV}" == 9999 ]]; then
- git-r3_src_unpack
- elif [[ "${PV}" == *_pre* ]]; then
- unpack ${PN}-${TAGAINIJISHO_VERSION}.tar.gz
- mv ${PN}-${TAGAINIJISHO_GIT_REVISION} ${PN}-${TAGAINIJISHO_VERSION} || die
- else
- unpack ${PN}-${TAGAINIJISHO_VERSION}.tar.gz
- fi
-
- if [[ "${PV}" == 9999 ]]; then
- # JMdict.gz and kanjidic2.xml.gz are updated once per day.
-
- local distdir="${PORTAGE_ACTUAL_DISTDIR:-${DISTDIR}}"
- local today="$(TZ="UTC" date --date=today "+%Y-%m-%d")"
- local yesterday="$(TZ="UTC" date --date=yesterday "+%Y-%m-%d")"
-
- if [[ -f ${distdir}/JMdict-${today}.gz && -s ${distdir}/JMdict-${today}.gz ]]; then
- # Use previously downloaded file from today.
- JMDICT_DATE="${today}"
- elif [[ -f ${distdir}/JMdict-${yesterday}.gz && -s ${distdir}/JMdict-${yesterday}.gz ]]; then
- # Use previously downloaded file from yesterday. File from today may still be nonexistent.
- JMDICT_DATE="${yesterday}"
- else
- # Download file from today or yesterday.
- wget http://ftp.monash.edu.au/pub/nihongo/JMdict.gz -O JMdict.gz || die
- JMDICT_DATE="$(gzip -cd JMdict.gz | grep -E "^<!-- JMdict created: [[:digit:]]{4}-[[:digit:]]{2}-[[:digit:]]{2} -->$" | sed -e "s/.*\([[:digit:]]\{4\}-[[:digit:]]\{2\}-[[:digit:]]\{2\}\).*/\1/")"
- if [[ ${JMDICT_DATE} != ${today} && ${JMDICT_DATE} != ${yesterday} ]]; then
- die "Unexpected date in JMdict.gz: '${JMDICT_DATE}'"
- fi
- (
- addwrite "${distdir}"
- mv JMdict.gz "${distdir}/JMdict-${JMDICT_DATE}.gz" || die
- )
- fi
- einfo "Date in JMdict.gz: '${JMDICT_DATE}'"
-
- if [[ -f ${distdir}/kanjidic2-${today}.xml.gz && -s ${distdir}/kanjidic2-${today}.xml.gz ]]; then
- # Use previously downloaded file from today.
- KANJIDIC2_DATE="${today}"
- elif [[ -f ${distdir}/kanjidic2-${yesterday}.xml.gz && -s ${distdir}/kanjidic2-${yesterday}.xml.gz ]]; then
- # Use previously downloaded file from yesterday. File from today may still be nonexistent.
- KANJIDIC2_DATE="${yesterday}"
- else
- # Download file from today or yesterday.
- wget http://www.edrdg.org/kanjidic/kanjidic2.xml.gz -O kanjidic2.xml.gz || die
- KANJIDIC2_DATE="$(gzip -cd kanjidic2.xml.gz | grep -E "^<date_of_creation>[[:digit:]]{4}-[[:digit:]]{2}-[[:digit:]]{2}</date_of_creation>$" | sed -e "s/.*\([[:digit:]]\{4\}-[[:digit:]]\{2\}-[[:digit:]]\{2\}\).*/\1/")"
- if [[ ${KANJIDIC2_DATE} != ${today} && ${KANJIDIC2_DATE} != ${yesterday} ]]; then
- die "Unexpected date in kanjidic2.xml.gz: '${KANJIDIC2_DATE}'"
- fi
- (
- addwrite "${distdir}"
- mv kanjidic2.xml.gz "${distdir}/kanjidic2-${KANJIDIC2_DATE}.xml.gz" || die
- )
- fi
- einfo "Date in kanjidic2.xml.gz: '${KANJIDIC2_DATE}'"
-
- mkdir "${S}/3rdparty" || die
- gzip -cd "${distdir}/JMdict-${JMDICT_DATE}.gz" > "${S}/3rdparty/JMdict" || die
- gzip -cd "${distdir}/kanjidic2-${KANJIDIC2_DATE}.xml.gz" > "${S}/3rdparty/kanjidic2.xml" || die
- else
- mkdir "${S}/3rdparty" || die
- pushd "${S}/3rdparty" > /dev/null || die
-
- unpack JMdict-${JMDICT_DATE}.gz
- mv JMdict-${JMDICT_DATE} JMdict || die
-
- unpack kanjidic2-${KANJIDIC2_DATE}.xml.gz
- mv kanjidic2-${KANJIDIC2_DATE}.xml kanjidic2.xml || die
-
- popd > /dev/null || die
- fi
-
- if [[ "${PV}" == 9999 || "${PV}" == *_pre* ]]; then
- pushd "${S}/3rdparty" > /dev/null || die
-
- unpack kanjivg-${KANJIVG_VERSION}.xml.gz
- mv kanjivg-${KANJIVG_VERSION}.xml kanjivg.xml || die
-
- popd > /dev/null || die
- fi
-}
-
-src_configure() {
- # GUI linguae
- # en is not optional, and build fails if none other than en is set, so adding ja as non-optional too.
- local lang use_lang
- for lang in i18n/*.ts; do
- lang=${lang#i18n/tagainijisho_}
- lang=${lang%.ts}
- case ${lang} in
- fa_IR|fi_FI|pt_BR)
- # Use generic tags.
- use_lang=${lang%%_*}
- ;;
- *)
- use_lang=${lang}
- ;;
- esac
-
- if [[ ${lang} != en && ${lang} != ja ]] && ! use l10n_${use_lang}; then
- rm i18n/tagainijisho_${lang}.ts || die
- fi
- done
-
- # Dictionary linguae
- # en is not optional here either, but nothing special needs to be done.
- local dict_langs
- for lang in $(sed -e 's/;/ /g' -ne '/set(DICT_LANG ".*")/s/.*"\(.*\)".*/\1/p' CMakeLists.txt); do
- if use l10n_${lang}; then
- dict_langs+="${dict_langs:+;}${lang}"
- fi
- done
-
- local mycmakeargs=(
- -DDICT_LANG="${dict_langs:-;}"
- -DEMBED_SQLITE=OFF
- )
-
- cmake_src_configure
-}
-
-pkg_postinst() {
- xdg_icon_cache_update
-}
-
-pkg_postrm() {
- xdg_icon_cache_update
-}
diff --git a/app-i18n/tagainijisho/tagainijisho-1.2.0_pre20200118132551_p20201001_p20201001.ebuild b/app-i18n/tagainijisho/tagainijisho-1.2.0_pre20200118132551_p20201001_p20201001.ebuild
deleted file mode 100644
index 3800b36bbc6b..000000000000
--- a/app-i18n/tagainijisho/tagainijisho-1.2.0_pre20200118132551_p20201001_p20201001.ebuild
+++ /dev/null
@@ -1,201 +0,0 @@
-# Copyright 2014-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-inherit cmake xdg-utils
-
-if [[ "${PV}" == 9999 ]]; then
- inherit git-r3
-
- EGIT_REPO_URI="https://github.com/Gnurou/tagainijisho"
-elif [[ "${PV}" == *_pre* ]]; then
- inherit vcs-snapshot
-
- TAGAINIJISHO_GIT_REVISION="2d2a3182a70a22bf27b0be42a3e896283513761e"
-fi
-if [[ "${PV}" != 9999 ]]; then
- TAGAINIJISHO_VERSION="${PV%_p*_p*}"
- JMDICT_DATE="${PV#${TAGAINIJISHO_VERSION}_p}"
- JMDICT_DATE="${JMDICT_DATE%_p*}"
- JMDICT_DATE="${JMDICT_DATE:0:4}-${JMDICT_DATE:4:2}-${JMDICT_DATE:6}"
- KANJIDIC2_DATE="${PV#${TAGAINIJISHO_VERSION}_p*_p}"
- KANJIDIC2_DATE="${KANJIDIC2_DATE:0:4}-${KANJIDIC2_DATE:4:2}-${KANJIDIC2_DATE:6}"
-fi
-if [[ "${PV}" == 9999 || "${PV}" == *_pre* ]]; then
- KANJIVG_VERSION="20160426"
-fi
-
-DESCRIPTION="Open-source Japanese dictionary and kanji lookup tool"
-HOMEPAGE="https://www.tagaini.net/ https://github.com/Gnurou/tagainijisho"
-if [[ "${PV}" == 9999 ]]; then
- SRC_URI=""
-elif [[ "${PV}" == *_pre* ]]; then
- SRC_URI="https://github.com/Gnurou/${PN}/archive/${TAGAINIJISHO_GIT_REVISION}.tar.gz -> ${PN}-${TAGAINIJISHO_VERSION}.tar.gz"
-else
- SRC_URI="https://github.com/Gnurou/${PN}/releases/download/${PV}/${PN}-${TAGAINIJISHO_VERSION}.tar.gz"
-fi
-if [[ "${PV}" != 9999 ]]; then
- # Upstream: http://ftp.monash.edu.au/pub/nihongo/JMdict.gz
- SRC_URI+=" https://home.apache.org/~arfrever/distfiles/JMdict-${JMDICT_DATE}.gz"
- # Upstream: http://www.edrdg.org/kanjidic/kanjidic2.xml.gz
- SRC_URI+=" https://home.apache.org/~arfrever/distfiles/kanjidic2-${KANJIDIC2_DATE}.xml.gz"
-fi
-if [[ "${PV}" == 9999 || "${PV}" == *_pre* ]]; then
- SRC_URI+=" https://github.com/KanjiVG/kanjivg/releases/download/r${KANJIVG_VERSION}/kanjivg-${KANJIVG_VERSION}.xml.gz"
-fi
-
-LICENSE="GPL-3+ public-domain"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE=""
-if [[ "${PV}" == 9999 ]]; then
- # We wget dictionary files in addition to using git
- PROPERTIES="live"
-fi
-
-BDEPEND="dev-qt/linguist-tools:5"
-DEPEND=">=dev-db/sqlite-3.12:3
- dev-qt/qtcore:5
- dev-qt/qtnetwork:5
- dev-qt/qtprintsupport:5
- dev-qt/qtwidgets:5"
-RDEPEND="${DEPEND}"
-
-pkg_langs=(ar cs de es fa fi fr hu id it nb nl pl pt ru sv th tr uk vi zh)
-IUSE+=" ${pkg_langs[@]/#/l10n_}"
-unset pkg_langs
-
-if [[ "${PV}" != 9999 ]]; then
- S="${WORKDIR}/${PN}-${TAGAINIJISHO_VERSION}"
-fi
-
-src_unpack() {
- if [[ "${PV}" == 9999 ]]; then
- git-r3_src_unpack
- elif [[ "${PV}" == *_pre* ]]; then
- unpack ${PN}-${TAGAINIJISHO_VERSION}.tar.gz
- mv ${PN}-${TAGAINIJISHO_GIT_REVISION} ${PN}-${TAGAINIJISHO_VERSION} || die
- else
- unpack ${PN}-${TAGAINIJISHO_VERSION}.tar.gz
- fi
-
- if [[ "${PV}" == 9999 ]]; then
- # JMdict.gz and kanjidic2.xml.gz are updated once per day.
-
- local distdir="${PORTAGE_ACTUAL_DISTDIR:-${DISTDIR}}"
- local today="$(TZ="UTC" date --date=today "+%Y-%m-%d")"
- local yesterday="$(TZ="UTC" date --date=yesterday "+%Y-%m-%d")"
-
- if [[ -f ${distdir}/JMdict-${today}.gz && -s ${distdir}/JMdict-${today}.gz ]]; then
- # Use previously downloaded file from today.
- JMDICT_DATE="${today}"
- elif [[ -f ${distdir}/JMdict-${yesterday}.gz && -s ${distdir}/JMdict-${yesterday}.gz ]]; then
- # Use previously downloaded file from yesterday. File from today may still be nonexistent.
- JMDICT_DATE="${yesterday}"
- else
- # Download file from today or yesterday.
- wget http://ftp.monash.edu.au/pub/nihongo/JMdict.gz -O JMdict.gz || die
- JMDICT_DATE="$(gzip -cd JMdict.gz | grep -E "^<!-- JMdict created: [[:digit:]]{4}-[[:digit:]]{2}-[[:digit:]]{2} -->$" | sed -e "s/.*\([[:digit:]]\{4\}-[[:digit:]]\{2\}-[[:digit:]]\{2\}\).*/\1/")"
- if [[ ${JMDICT_DATE} != ${today} && ${JMDICT_DATE} != ${yesterday} ]]; then
- die "Unexpected date in JMdict.gz: '${JMDICT_DATE}'"
- fi
- (
- addwrite "${distdir}"
- mv JMdict.gz "${distdir}/JMdict-${JMDICT_DATE}.gz" || die
- )
- fi
- einfo "Date in JMdict.gz: '${JMDICT_DATE}'"
-
- if [[ -f ${distdir}/kanjidic2-${today}.xml.gz && -s ${distdir}/kanjidic2-${today}.xml.gz ]]; then
- # Use previously downloaded file from today.
- KANJIDIC2_DATE="${today}"
- elif [[ -f ${distdir}/kanjidic2-${yesterday}.xml.gz && -s ${distdir}/kanjidic2-${yesterday}.xml.gz ]]; then
- # Use previously downloaded file from yesterday. File from today may still be nonexistent.
- KANJIDIC2_DATE="${yesterday}"
- else
- # Download file from today or yesterday.
- wget http://www.edrdg.org/kanjidic/kanjidic2.xml.gz -O kanjidic2.xml.gz || die
- KANJIDIC2_DATE="$(gzip -cd kanjidic2.xml.gz | grep -E "^<date_of_creation>[[:digit:]]{4}-[[:digit:]]{2}-[[:digit:]]{2}</date_of_creation>$" | sed -e "s/.*\([[:digit:]]\{4\}-[[:digit:]]\{2\}-[[:digit:]]\{2\}\).*/\1/")"
- if [[ ${KANJIDIC2_DATE} != ${today} && ${KANJIDIC2_DATE} != ${yesterday} ]]; then
- die "Unexpected date in kanjidic2.xml.gz: '${KANJIDIC2_DATE}'"
- fi
- (
- addwrite "${distdir}"
- mv kanjidic2.xml.gz "${distdir}/kanjidic2-${KANJIDIC2_DATE}.xml.gz" || die
- )
- fi
- einfo "Date in kanjidic2.xml.gz: '${KANJIDIC2_DATE}'"
-
- mkdir "${S}/3rdparty" || die
- gzip -cd "${distdir}/JMdict-${JMDICT_DATE}.gz" > "${S}/3rdparty/JMdict" || die
- gzip -cd "${distdir}/kanjidic2-${KANJIDIC2_DATE}.xml.gz" > "${S}/3rdparty/kanjidic2.xml" || die
- else
- mkdir "${S}/3rdparty" || die
- pushd "${S}/3rdparty" > /dev/null || die
-
- unpack JMdict-${JMDICT_DATE}.gz
- mv JMdict-${JMDICT_DATE} JMdict || die
-
- unpack kanjidic2-${KANJIDIC2_DATE}.xml.gz
- mv kanjidic2-${KANJIDIC2_DATE}.xml kanjidic2.xml || die
-
- popd > /dev/null || die
- fi
-
- if [[ "${PV}" == 9999 || "${PV}" == *_pre* ]]; then
- pushd "${S}/3rdparty" > /dev/null || die
-
- unpack kanjivg-${KANJIVG_VERSION}.xml.gz
- mv kanjivg-${KANJIVG_VERSION}.xml kanjivg.xml || die
-
- popd > /dev/null || die
- fi
-}
-
-src_configure() {
- # GUI linguae
- # en is not optional, and build fails if none other than en is set, so adding ja as non-optional too.
- local lang use_lang
- for lang in i18n/*.ts; do
- lang=${lang#i18n/tagainijisho_}
- lang=${lang%.ts}
- case ${lang} in
- fa_IR|fi_FI|pt_BR)
- # Use generic tags.
- use_lang=${lang%%_*}
- ;;
- *)
- use_lang=${lang}
- ;;
- esac
-
- if [[ ${lang} != en && ${lang} != ja ]] && ! use l10n_${use_lang}; then
- rm i18n/tagainijisho_${lang}.ts || die
- fi
- done
-
- # Dictionary linguae
- # en is not optional here either, but nothing special needs to be done.
- local dict_langs
- for lang in $(sed -e 's/;/ /g' -ne '/set(DICT_LANG ".*")/s/.*"\(.*\)".*/\1/p' CMakeLists.txt); do
- if use l10n_${lang}; then
- dict_langs+="${dict_langs:+;}${lang}"
- fi
- done
-
- local mycmakeargs=(
- -DDICT_LANG="${dict_langs:-;}"
- -DEMBED_SQLITE=OFF
- )
-
- cmake_src_configure
-}
-
-pkg_postinst() {
- xdg_icon_cache_update
-}
-
-pkg_postrm() {
- xdg_icon_cache_update
-}
diff --git a/app-i18n/tagainijisho/tagainijisho-1.2.0_pre20210313131524_p20210401_p20210401.ebuild b/app-i18n/tagainijisho/tagainijisho-1.2.0_pre20210313131524_p20210401_p20210401.ebuild
deleted file mode 100644
index 4db725401cff..000000000000
--- a/app-i18n/tagainijisho/tagainijisho-1.2.0_pre20210313131524_p20210401_p20210401.ebuild
+++ /dev/null
@@ -1,200 +0,0 @@
-# Copyright 2014-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-inherit cmake xdg-utils
-
-if [[ "${PV}" == 9999 ]]; then
- inherit git-r3
-
- EGIT_REPO_URI="https://github.com/Gnurou/tagainijisho"
-elif [[ "${PV}" == *_pre* ]]; then
- inherit vcs-snapshot
-
- TAGAINIJISHO_GIT_REVISION="54a7145903cadb0ebfa58c543553dc0931a36066"
-fi
-if [[ "${PV}" != 9999 ]]; then
- TAGAINIJISHO_VERSION="${PV%_p*_p*}"
- JMDICT_DATE="${PV#${TAGAINIJISHO_VERSION}_p}"
- JMDICT_DATE="${JMDICT_DATE%_p*}"
- JMDICT_DATE="${JMDICT_DATE:0:4}-${JMDICT_DATE:4:2}-${JMDICT_DATE:6}"
- KANJIDIC2_DATE="${PV#${TAGAINIJISHO_VERSION}_p*_p}"
- KANJIDIC2_DATE="${KANJIDIC2_DATE:0:4}-${KANJIDIC2_DATE:4:2}-${KANJIDIC2_DATE:6}"
-fi
-if [[ "${PV}" == 9999 || "${PV}" == *_pre* ]]; then
- KANJIVG_VERSION="20160426"
-fi
-
-DESCRIPTION="Open-source Japanese dictionary and kanji lookup tool"
-HOMEPAGE="https://www.tagaini.net/ https://github.com/Gnurou/tagainijisho"
-if [[ "${PV}" == 9999 ]]; then
- SRC_URI=""
-elif [[ "${PV}" == *_pre* ]]; then
- SRC_URI="https://github.com/Gnurou/${PN}/archive/${TAGAINIJISHO_GIT_REVISION}.tar.gz -> ${PN}-${TAGAINIJISHO_VERSION}.tar.gz"
-else
- SRC_URI="https://github.com/Gnurou/${PN}/releases/download/${PV}/${PN}-${TAGAINIJISHO_VERSION}.tar.gz"
-fi
-if [[ "${PV}" != 9999 ]]; then
- # Upstream: https://www.edrdg.org/pub/Nihongo/JMdict.gz
- SRC_URI+=" https://home.apache.org/~arfrever/distfiles/JMdict-${JMDICT_DATE}.gz"
- # Upstream: https://www.edrdg.org/pub/Nihongo/kanjidic2.xml.gz
- SRC_URI+=" https://home.apache.org/~arfrever/distfiles/kanjidic2-${KANJIDIC2_DATE}.xml.gz"
-fi
-if [[ "${PV}" == 9999 || "${PV}" == *_pre* ]]; then
- SRC_URI+=" https://github.com/KanjiVG/kanjivg/releases/download/r${KANJIVG_VERSION}/kanjivg-${KANJIVG_VERSION}.xml.gz"
-fi
-
-LICENSE="GPL-3+ public-domain"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE=""
-if [[ "${PV}" == 9999 ]]; then
- PROPERTIES="live"
-fi
-
-BDEPEND="dev-qt/linguist-tools:5"
-DEPEND=">=dev-db/sqlite-3.12:3
- dev-qt/qtcore:5
- dev-qt/qtnetwork:5
- dev-qt/qtprintsupport:5
- dev-qt/qtwidgets:5"
-RDEPEND="${DEPEND}"
-
-pkg_langs=(ar cs de es fa fi fr hu id it nb nl pl pt ru sv th tr uk vi zh)
-IUSE+=" ${pkg_langs[@]/#/l10n_}"
-unset pkg_langs
-
-if [[ "${PV}" != 9999 ]]; then
- S="${WORKDIR}/${PN}-${TAGAINIJISHO_VERSION}"
-fi
-
-src_unpack() {
- if [[ "${PV}" == 9999 ]]; then
- git-r3_src_unpack
- elif [[ "${PV}" == *_pre* ]]; then
- unpack ${PN}-${TAGAINIJISHO_VERSION}.tar.gz
- mv ${PN}-${TAGAINIJISHO_GIT_REVISION} ${PN}-${TAGAINIJISHO_VERSION} || die
- else
- unpack ${PN}-${TAGAINIJISHO_VERSION}.tar.gz
- fi
-
- if [[ "${PV}" == 9999 ]]; then
- # JMdict.gz and kanjidic2.xml.gz are updated once per day.
-
- local distdir="${PORTAGE_ACTUAL_DISTDIR:-${DISTDIR}}"
- local today="$(TZ="UTC" date --date=today "+%Y-%m-%d")"
- local yesterday="$(TZ="UTC" date --date=yesterday "+%Y-%m-%d")"
-
- if [[ -f ${distdir}/JMdict-${today}.gz && -s ${distdir}/JMdict-${today}.gz ]]; then
- # Use previously downloaded file from today.
- JMDICT_DATE="${today}"
- elif [[ -f ${distdir}/JMdict-${yesterday}.gz && -s ${distdir}/JMdict-${yesterday}.gz ]]; then
- # Use previously downloaded file from yesterday. File from today may still be nonexistent.
- JMDICT_DATE="${yesterday}"
- else
- # Download file from today or yesterday.
- wget https://www.edrdg.org/pub/Nihongo/JMdict.gz -O JMdict.gz || die
- JMDICT_DATE="$(gzip -cd JMdict.gz | grep -E "^<!-- JMdict created: [[:digit:]]{4}-[[:digit:]]{2}-[[:digit:]]{2} -->$" | sed -e "s/.*\([[:digit:]]\{4\}-[[:digit:]]\{2\}-[[:digit:]]\{2\}\).*/\1/")"
- if [[ ${JMDICT_DATE} != ${today} && ${JMDICT_DATE} != ${yesterday} ]]; then
- die "Unexpected date in JMdict.gz: '${JMDICT_DATE}'"
- fi
- (
- addwrite "${distdir}"
- mv JMdict.gz "${distdir}/JMdict-${JMDICT_DATE}.gz" || die
- )
- fi
- einfo "Date in JMdict.gz: '${JMDICT_DATE}'"
-
- if [[ -f ${distdir}/kanjidic2-${today}.xml.gz && -s ${distdir}/kanjidic2-${today}.xml.gz ]]; then
- # Use previously downloaded file from today.
- KANJIDIC2_DATE="${today}"
- elif [[ -f ${distdir}/kanjidic2-${yesterday}.xml.gz && -s ${distdir}/kanjidic2-${yesterday}.xml.gz ]]; then
- # Use previously downloaded file from yesterday. File from today may still be nonexistent.
- KANJIDIC2_DATE="${yesterday}"
- else
- # Download file from today or yesterday.
- wget https://www.edrdg.org/pub/Nihongo/kanjidic2.xml.gz -O kanjidic2.xml.gz || die
- KANJIDIC2_DATE="$(gzip -cd kanjidic2.xml.gz | grep -E "^<date_of_creation>[[:digit:]]{4}-[[:digit:]]{2}-[[:digit:]]{2}</date_of_creation>$" | sed -e "s/.*\([[:digit:]]\{4\}-[[:digit:]]\{2\}-[[:digit:]]\{2\}\).*/\1/")"
- if [[ ${KANJIDIC2_DATE} != ${today} && ${KANJIDIC2_DATE} != ${yesterday} ]]; then
- die "Unexpected date in kanjidic2.xml.gz: '${KANJIDIC2_DATE}'"
- fi
- (
- addwrite "${distdir}"
- mv kanjidic2.xml.gz "${distdir}/kanjidic2-${KANJIDIC2_DATE}.xml.gz" || die
- )
- fi
- einfo "Date in kanjidic2.xml.gz: '${KANJIDIC2_DATE}'"
-
- mkdir "${S}/3rdparty" || die
- gzip -cd "${distdir}/JMdict-${JMDICT_DATE}.gz" > "${S}/3rdparty/JMdict" || die
- gzip -cd "${distdir}/kanjidic2-${KANJIDIC2_DATE}.xml.gz" > "${S}/3rdparty/kanjidic2.xml" || die
- else
- mkdir "${S}/3rdparty" || die
- pushd "${S}/3rdparty" > /dev/null || die
-
- unpack JMdict-${JMDICT_DATE}.gz
- mv JMdict-${JMDICT_DATE} JMdict || die
-
- unpack kanjidic2-${KANJIDIC2_DATE}.xml.gz
- mv kanjidic2-${KANJIDIC2_DATE}.xml kanjidic2.xml || die
-
- popd > /dev/null || die
- fi
-
- if [[ "${PV}" == 9999 || "${PV}" == *_pre* ]]; then
- pushd "${S}/3rdparty" > /dev/null || die
-
- unpack kanjivg-${KANJIVG_VERSION}.xml.gz
- mv kanjivg-${KANJIVG_VERSION}.xml kanjivg.xml || die
-
- popd > /dev/null || die
- fi
-}
-
-src_configure() {
- # GUI linguae
- # en is not optional, and build fails if none other than en is set, so adding ja as non-optional too.
- local lang use_lang
- for lang in i18n/*.ts; do
- lang=${lang#i18n/tagainijisho_}
- lang=${lang%.ts}
- case ${lang} in
- fa_IR|fi_FI|pt_BR)
- # Use generic tags.
- use_lang=${lang%%_*}
- ;;
- *)
- use_lang=${lang}
- ;;
- esac
-
- if [[ ${lang} != en && ${lang} != ja ]] && ! use l10n_${use_lang}; then
- rm i18n/tagainijisho_${lang}.ts || die
- fi
- done
-
- # Dictionary linguae
- # en is not optional here either, but nothing special needs to be done.
- local dict_langs
- for lang in $(sed -e 's/;/ /g' -ne '/set(DICT_LANG ".*")/s/.*"\(.*\)".*/\1/p' CMakeLists.txt); do
- if use l10n_${lang}; then
- dict_langs+="${dict_langs:+;}${lang}"
- fi
- done
-
- local mycmakeargs=(
- -DDICT_LANG="${dict_langs:-;}"
- -DEMBED_SQLITE=OFF
- )
-
- cmake_src_configure
-}
-
-pkg_postinst() {
- xdg_icon_cache_update
-}
-
-pkg_postrm() {
- xdg_icon_cache_update
-}
diff --git a/app-i18n/transifex-client/Manifest b/app-i18n/transifex-client/Manifest
index 9a933ba10f29..1ca61df47b6d 100644
--- a/app-i18n/transifex-client/Manifest
+++ b/app-i18n/transifex-client/Manifest
@@ -1,4 +1,3 @@
-AUX transifex-client-0.14.2-r1-timestamp.patch 646 BLAKE2B 22d8eced003f2ce5275ef4a8857637ccc0d094e3c9b8405b1c204b78af4bc26f20be9fadf8a7e50d44e10c131f79e9b66f4f03f8ee92c3e73a548236e2903c42 SHA512 339d8ef42935acfd79f438e725683e9592259b9edeb3249d6817957f9bb25ddcd99d05485ad5220af1329937aaf0ea1249ed34cc53bcb3137e461e97a45f6b95
DIST github.com%2F!burnt!sushi%2Ftoml%2F@v%2Fv0.3.1.mod 34 BLAKE2B ce54a247aef91043830bdf0603c8452ba38eceb1495af6e7a74c9119234a0dc5cd080cb25258c28f5e270acf91189a5ed33e361cbf17de2be5e37dadbda1d90d SHA512 320941bc3b7fb8bc595e6135cbc513a7583d129f0cd92508055291e141191066303cf75148e25198c21f6c6c539a790ea3210f3ecf5de6a2a03b70c753091146
DIST github.com%2F!microsoft%2Fgo-winio%2F@v%2Fv0.4.14.mod 177 BLAKE2B 1b5b5169436173ec669c16023c6993e233f5fadbb574533e7e2db2140c2db22cd9b8697135a46fe7d8787b8e5ae8c16019f15e5cd7a8c4ad59a46f6e6db9bb5e SHA512 83b5d04d488db971f78cd1853903e7f5cb1d547d5b5270bcaf35aff4240f0b96c300ce311014775028e1424c6fad714991c27f0c676d8b8eb37aaa62330450ec
DIST github.com%2F!microsoft%2Fgo-winio%2F@v%2Fv0.4.16.mod 177 BLAKE2B 4dc3ea105907151260d8473539a5e8c9c32efea3087590cfc5521816e52da19dcc0f7d57ed067a15e82de427abed5a1271c45d5d3c7b284e6490251b0b29f289 SHA512 df4e0266024f6899aceda327e2634b0552f19bfc15db0dabd394cea6a15d3076b210800a083b79e4fa23a78852aab214325bd23040d5e064faaeb34af4ec4bf5
@@ -197,8 +196,8 @@ DIST gopkg.in%2Fyaml.v2%2F@v%2Fv2.3.0.zip 80765 BLAKE2B d6d8bfba5082aabb1a247add
DIST gopkg.in%2Fyaml.v3%2F@v%2Fv3.0.0-20200313102051-9f266ea9e77c.mod 95 BLAKE2B fbb87f0644ec9da5d4386358d23cdb15b0d23e8212e712f16f338455a3a0ad19fbfd63e92c955c359237ddfa8bb76d6d08280eead24d321668431891eca1e8ab SHA512 307ca9123efc577ca04828996ee9d8edbb51794ccb4b8d9f169ba689e7276aa5f6ae106a04b22b7fab853ffacfebcbf74468b64eaefd57445864c1fbc77fad9d
DIST gopkg.in%2Fyaml.v3%2F@v%2Fv3.0.0-20210107192922-496545a6307b.mod 95 BLAKE2B fbb87f0644ec9da5d4386358d23cdb15b0d23e8212e712f16f338455a3a0ad19fbfd63e92c955c359237ddfa8bb76d6d08280eead24d321668431891eca1e8ab SHA512 307ca9123efc577ca04828996ee9d8edbb51794ccb4b8d9f169ba689e7276aa5f6ae106a04b22b7fab853ffacfebcbf74468b64eaefd57445864c1fbc77fad9d
DIST gopkg.in%2Fyaml.v3%2F@v%2Fv3.0.0-20210107192922-496545a6307b.zip 105245 BLAKE2B f0bcfd9d097905364d9c2b032b92a8aad64b63e0942eb864759b156eb97ac58769fbc035acf4ba57bd55db1b6596499ddc6d36e6d2e5cc584c2a465256ca3a73 SHA512 f9c0400f1f5590d7185ae3fdac7adf1787a5f5198e52ebd02841b7df5113c5e34de6a66fa01b2f5735be4b21190dffb46e9d8b084ad5c00ebd99599a39ff73db
-DIST transifex-client-0.14.3.tar.gz 211428 BLAKE2B cab17d7103016a78b226df6ca9905a0ddfd1b8765fb7b161c7390911ac5693d97e7a872a00cbc86e9c8e7d84fbcd85904768f463885bb679e22ab052463db418 SHA512 9034111fa0253ce8799c5ba181d6d35e2addd14b8c2edb7822d8d572255c27f49e4cfce9d82e7e70e352c32e87f2e7bdc6bf09c2a591e689606b0831414dd863
DIST transifex-client-1.0.0.tar.gz 81323 BLAKE2B 1e9dea8388e88756dc8da78882eb18586536c9d84e19cdd204b3c8451e716b76bddf00032537e7fb2f9149568837bb18e43f3f321ca64f6f1dd0524a4d10ca3d SHA512 e4e5c43684fef7a866154dbca5246d9230d357ad7abe1009901d2e27a326a4ff25528c53af90534f2187081df0ff663664314188e5f1b0010e5edd5e263b8db5
-EBUILD transifex-client-0.14.3.ebuild 1075 BLAKE2B c2ccafdf9c602d90edafbec525050126efa36f5ff37e7400043d1457cec819b19055d7c9f137b9266840623172180abbc99e2adc865113d8dbc0eac39bdf5b93 SHA512 9986a6bbb3119aa8d8a38b9a70ee7f32d74c152b392ba88c806e1695a6d4c8f5ea5c7c01be501105b8f783bd06500edf82c117a67d42233454c7204d92940795
-EBUILD transifex-client-1.0.0.ebuild 10682 BLAKE2B 6a28cbda428fdd766c7ff92290d33ea3301ca0da9ff8fde1714a783ad53b1405dbc3b05d6a87da36571343a6dfc6fa6f90071fa762c37fdca9abc15f867ebbe9 SHA512 87736d8f2397176294c1f720e61d1cb34713e798f6e82f0a4da6bbcd4b72e1283b5821da2f37ddfb7f769b5fc3dfac29e9c9ccab58c00cd0898bb4897bee194b
+DIST transifex-client-1.0.3.tar.gz 82918 BLAKE2B 5c034064cb5fa2dff82f9db4cfb8e9b772923baae7f981e2994545388cc63beaa85f6ce666ed80d445a4cdf3cca02a81f681312f08648096f3fd32e2634f24bb SHA512 c98761793c22318011a066f0e69705c6163a14a861e321f42c5ca8772821661af19b9d559c5f1c193f7d413923bd8333707e74dd20cd6a0f6496559c5f4deff1
+EBUILD transifex-client-1.0.0.ebuild 10713 BLAKE2B 250eb5eedc028b2a7b1f4325406b07c8497635f55a3558b305eea537b16e8835e93164dd238396d800f63277ce898d04e72ce40fa3cd4905ec6f66a5b9c104ff SHA512 e8bfef100d37c4e6a9d98099732952118eff4f63e796ed3f916d2f5d66b3de6cf02d251d10767c31a8785b2bbeb08f36150f3731b6c7889e836b23584d6776ff
+EBUILD transifex-client-1.0.3.ebuild 10715 BLAKE2B 19a0b97ab94f9dc1c701ebac650eaea6aecf96da9fee0e32611d668742444ffd4cdff3791e1ace42d29c701502c88177b785cb79fdf44c3c936e4f48a24677b0 SHA512 b0db0ad0a5eca71b7d22663c514458adc31d488cc94f65af059deaa2127486909f06ecb6a380e3c5392dbb4a8268ed1b18d94dcdb0786bbbcd32a8918158ee4a
MISC metadata.xml 542 BLAKE2B c848737ba110443b53155e2e499f0b55f25fe1f6eb0fe35009eac80a42e34b45a00e56d40d9eea42e94129ef87ba446dbf19a1a3469a46801ab0c5c981c05c2d SHA512 a19b2e39fb736dca1c05c21097e9e75baad16ce4632767582dc634f41280fc9b41ee1ed3beca01f6992a1217b3abe63f36ac638dcb29e06ee8b2b76de338b7c9
diff --git a/app-i18n/transifex-client/files/transifex-client-0.14.2-r1-timestamp.patch b/app-i18n/transifex-client/files/transifex-client-0.14.2-r1-timestamp.patch
deleted file mode 100644
index 0943621243c0..000000000000
--- a/app-i18n/transifex-client/files/transifex-client-0.14.2-r1-timestamp.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-https://github.com/transifex/transifex-client/pull/316
-https://bugs.gentoo.org/771660
-Fix tests on 32-bit systems
---- a/tests/test_project.py
-+++ b/tests/test_project.py
-@@ -717,8 +717,8 @@
- )
- self.assertEqual(res, True)
-
-- # "Recent" timestamp (in the future - 2100)
-- ts_mock.return_value = 4111417171
-+ # "Recent" timestamp (in the future - 2038)
-+ ts_mock.return_value = 2147483000
- res = self.p._should_download(
- 'pt', self.stats, os.path.abspath(__file__), False,
- use_git_timestamps=True
diff --git a/app-i18n/transifex-client/transifex-client-0.14.3.ebuild b/app-i18n/transifex-client/transifex-client-0.14.3.ebuild
deleted file mode 100644
index 1945178ef957..000000000000
--- a/app-i18n/transifex-client/transifex-client-0.14.3.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7,8,9} )
-
-inherit distutils-r1
-
-DESCRIPTION="A command line interface for Transifex"
-HOMEPAGE="https://pypi.org/project/transifex-client/ https://www.transifex.net/ https://github.com/transifex/transifex-client"
-SRC_URI="mirror://pypi/t/${PN}/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 ~ppc64 x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="test? (
- dev-python/mock[${PYTHON_USEDEP}]
- =dev-python/smmap-5*[${PYTHON_USEDEP}] )"
-RDEPEND="dev-python/GitPython[${PYTHON_USEDEP}]
- <dev-python/python-slugify-5.0.0[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- <dev-python/six-2.0.0[${PYTHON_USEDEP}]
- dev-python/urllib3[${PYTHON_USEDEP}]"
-
-PATCHES=(
- "${FILESDIR}/${PN}-0.14.2-r1-timestamp.patch"
-)
-
-distutils_enable_tests setup.py
-
-src_prepare() {
- default
-
- sed -i -e 's:test_fetch_timestamp_from_git_tree:_&:' \
- tests/test_utils.py || die
- sed -i '/tests_require=\["mock>=3.0.5,<4.0"\]/d' setup.py || die
-}
diff --git a/app-i18n/transifex-client/transifex-client-1.0.0.ebuild b/app-i18n/transifex-client/transifex-client-1.0.0.ebuild
index 8a10aee4f5a9..2f67d6c37f23 100644
--- a/app-i18n/transifex-client/transifex-client-1.0.0.ebuild
+++ b/app-i18n/transifex-client/transifex-client-1.0.0.ebuild
@@ -214,9 +214,9 @@ SRC_URI="https://github.com/transifex/cli/archive/refs/tags/v${PV}.tar.gz -> ${P
${EGO_SUM_SRC_URI}"
S="${WORKDIR}"/cli-${PV}
-LICENSE="Apache-2.0"
+LICENSE="Apache-2.0 BSD BSD-2 ISC LGPL-3 MIT MPL-2.0"
SLOT="0"
-KEYWORDS="~amd64 ~ppc64 ~x86"
+KEYWORDS="amd64 ~ppc64 x86"
src_test() {
# Skip tests depending on a network connection. Bug #831772
diff --git a/app-i18n/transifex-client/transifex-client-1.0.3.ebuild b/app-i18n/transifex-client/transifex-client-1.0.3.ebuild
new file mode 100644
index 000000000000..5f5a351afa45
--- /dev/null
+++ b/app-i18n/transifex-client/transifex-client-1.0.3.ebuild
@@ -0,0 +1,230 @@
+# Copyright 2021-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit go-module
+
+DESCRIPTION="The Transifex command-line client"
+HOMEPAGE="https://github.com/transifex/cli"
+
+EGO_SUM=(
+ "github.com/BurntSushi/toml v0.3.1/go.mod"
+ "github.com/Microsoft/go-winio v0.4.14/go.mod"
+ "github.com/Microsoft/go-winio v0.4.16"
+ "github.com/Microsoft/go-winio v0.4.16/go.mod"
+ "github.com/alcortesm/tgz v0.0.0-20161220082320-9c5fe88206d7"
+ "github.com/alcortesm/tgz v0.0.0-20161220082320-9c5fe88206d7/go.mod"
+ "github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239"
+ "github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239/go.mod"
+ "github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5"
+ "github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod"
+ "github.com/atomicgo/cursor v0.0.1"
+ "github.com/atomicgo/cursor v0.0.1/go.mod"
+ "github.com/blang/semver v3.5.1+incompatible"
+ "github.com/blang/semver v3.5.1+incompatible/go.mod"
+ "github.com/chzyer/logex v1.1.10"
+ "github.com/chzyer/logex v1.1.10/go.mod"
+ "github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e"
+ "github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod"
+ "github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1"
+ "github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod"
+ "github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d"
+ "github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod"
+ "github.com/creack/pty v1.1.9/go.mod"
+ "github.com/davecgh/go-spew v1.1.0/go.mod"
+ "github.com/davecgh/go-spew v1.1.1"
+ "github.com/davecgh/go-spew v1.1.1/go.mod"
+ "github.com/emirpasic/gods v1.12.0"
+ "github.com/emirpasic/gods v1.12.0/go.mod"
+ "github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568/go.mod"
+ "github.com/fsnotify/fsnotify v1.4.7/go.mod"
+ "github.com/gliderlabs/ssh v0.2.2"
+ "github.com/gliderlabs/ssh v0.2.2/go.mod"
+ "github.com/go-git/gcfg v1.5.0"
+ "github.com/go-git/gcfg v1.5.0/go.mod"
+ "github.com/go-git/go-billy/v5 v5.0.0/go.mod"
+ "github.com/go-git/go-billy/v5 v5.1.0"
+ "github.com/go-git/go-billy/v5 v5.1.0/go.mod"
+ "github.com/go-git/go-git-fixtures/v4 v4.0.2-0.20200613231340-f56387b50c12"
+ "github.com/go-git/go-git-fixtures/v4 v4.0.2-0.20200613231340-f56387b50c12/go.mod"
+ "github.com/go-git/go-git/v5 v5.3.0"
+ "github.com/go-git/go-git/v5 v5.3.0/go.mod"
+ "github.com/golang/protobuf v1.2.0/go.mod"
+ "github.com/golang/protobuf v1.3.2"
+ "github.com/golang/protobuf v1.3.2/go.mod"
+ "github.com/google/go-cmp v0.3.0"
+ "github.com/google/go-cmp v0.3.0/go.mod"
+ "github.com/google/go-github/v30 v30.1.0"
+ "github.com/google/go-github/v30 v30.1.0/go.mod"
+ "github.com/google/go-querystring v1.0.0"
+ "github.com/google/go-querystring v1.0.0/go.mod"
+ "github.com/gookit/color v1.4.2"
+ "github.com/gookit/color v1.4.2/go.mod"
+ "github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1"
+ "github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod"
+ "github.com/gosimple/slug v1.11.2"
+ "github.com/gosimple/slug v1.11.2/go.mod"
+ "github.com/gosimple/unidecode v1.0.1"
+ "github.com/gosimple/unidecode v1.0.1/go.mod"
+ "github.com/hpcloud/tail v1.0.0/go.mod"
+ "github.com/imdario/mergo v0.3.12"
+ "github.com/imdario/mergo v0.3.12/go.mod"
+ "github.com/inconshreveable/go-update v0.0.0-20160112193335-8152e7eb6ccf"
+ "github.com/inconshreveable/go-update v0.0.0-20160112193335-8152e7eb6ccf/go.mod"
+ "github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99"
+ "github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99/go.mod"
+ "github.com/jessevdk/go-flags v1.5.0/go.mod"
+ "github.com/jtolds/gls v4.20.0+incompatible"
+ "github.com/jtolds/gls v4.20.0+incompatible/go.mod"
+ "github.com/juju/ansiterm v0.0.0-20180109212912-720a0952cc2a"
+ "github.com/juju/ansiterm v0.0.0-20180109212912-720a0952cc2a/go.mod"
+ "github.com/kevinburke/ssh_config v0.0.0-20201106050909-4977a11b4351"
+ "github.com/kevinburke/ssh_config v0.0.0-20201106050909-4977a11b4351/go.mod"
+ "github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod"
+ "github.com/kr/pretty v0.1.0/go.mod"
+ "github.com/kr/pretty v0.2.1"
+ "github.com/kr/pretty v0.2.1/go.mod"
+ "github.com/kr/pty v1.1.1/go.mod"
+ "github.com/kr/text v0.1.0/go.mod"
+ "github.com/kr/text v0.2.0"
+ "github.com/kr/text v0.2.0/go.mod"
+ "github.com/lunixbochs/vtclean v0.0.0-20180621232353-2d01aacdc34a"
+ "github.com/lunixbochs/vtclean v0.0.0-20180621232353-2d01aacdc34a/go.mod"
+ "github.com/manifoldco/promptui v0.8.0"
+ "github.com/manifoldco/promptui v0.8.0/go.mod"
+ "github.com/mattn/go-colorable v0.0.9"
+ "github.com/mattn/go-colorable v0.0.9/go.mod"
+ "github.com/mattn/go-isatty v0.0.4"
+ "github.com/mattn/go-isatty v0.0.4/go.mod"
+ "github.com/mattn/go-runewidth v0.0.13"
+ "github.com/mattn/go-runewidth v0.0.13/go.mod"
+ "github.com/mitchellh/go-homedir v1.1.0"
+ "github.com/mitchellh/go-homedir v1.1.0/go.mod"
+ "github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod"
+ "github.com/onsi/ginkgo v1.6.0/go.mod"
+ "github.com/onsi/gomega v1.4.2"
+ "github.com/onsi/gomega v1.4.2/go.mod"
+ "github.com/pkg/errors v0.8.1/go.mod"
+ "github.com/pkg/errors v0.9.1"
+ "github.com/pkg/errors v0.9.1/go.mod"
+ "github.com/pmezard/go-difflib v1.0.0"
+ "github.com/pmezard/go-difflib v1.0.0/go.mod"
+ "github.com/pterm/pterm v0.12.24"
+ "github.com/pterm/pterm v0.12.24/go.mod"
+ "github.com/rhysd/go-github-selfupdate v1.2.3"
+ "github.com/rhysd/go-github-selfupdate v1.2.3/go.mod"
+ "github.com/rivo/uniseg v0.2.0"
+ "github.com/rivo/uniseg v0.2.0/go.mod"
+ "github.com/russross/blackfriday/v2 v2.0.1"
+ "github.com/russross/blackfriday/v2 v2.0.1/go.mod"
+ "github.com/sergi/go-diff v1.1.0"
+ "github.com/sergi/go-diff v1.1.0/go.mod"
+ "github.com/shurcooL/sanitized_anchor_name v1.0.0"
+ "github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod"
+ "github.com/sirupsen/logrus v1.4.1/go.mod"
+ "github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d"
+ "github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod"
+ "github.com/smartystreets/goconvey v1.6.4"
+ "github.com/smartystreets/goconvey v1.6.4/go.mod"
+ "github.com/stretchr/objx v0.1.0/go.mod"
+ "github.com/stretchr/objx v0.1.1/go.mod"
+ "github.com/stretchr/testify v1.2.2/go.mod"
+ "github.com/stretchr/testify v1.4.0/go.mod"
+ "github.com/stretchr/testify v1.6.1/go.mod"
+ "github.com/stretchr/testify v1.7.0"
+ "github.com/stretchr/testify v1.7.0/go.mod"
+ "github.com/tcnksm/go-gitconfig v0.1.2"
+ "github.com/tcnksm/go-gitconfig v0.1.2/go.mod"
+ "github.com/ulikunitz/xz v0.5.9"
+ "github.com/ulikunitz/xz v0.5.9/go.mod"
+ "github.com/urfave/cli/v2 v2.3.0"
+ "github.com/urfave/cli/v2 v2.3.0/go.mod"
+ "github.com/xanzy/ssh-agent v0.3.0"
+ "github.com/xanzy/ssh-agent v0.3.0/go.mod"
+ "github.com/xo/terminfo v0.0.0-20210125001918-ca9a967f8778"
+ "github.com/xo/terminfo v0.0.0-20210125001918-ca9a967f8778/go.mod"
+ "golang.org/x/crypto v0.0.0-20190219172222-a4c6cb3142f2/go.mod"
+ "golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod"
+ "golang.org/x/crypto v0.0.0-20201221181555-eec23a3978ad/go.mod"
+ "golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2"
+ "golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod"
+ "golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod"
+ "golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod"
+ "golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod"
+ "golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod"
+ "golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod"
+ "golang.org/x/net v0.0.0-20210326060303-6b1517762897"
+ "golang.org/x/net v0.0.0-20210326060303-6b1517762897/go.mod"
+ "golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod"
+ "golang.org/x/oauth2 v0.0.0-20181106182150-f42d05182288"
+ "golang.org/x/oauth2 v0.0.0-20181106182150-f42d05182288/go.mod"
+ "golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod"
+ "golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod"
+ "golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod"
+ "golang.org/x/sys v0.0.0-20181122145206-62eef0e2fa9b/go.mod"
+ "golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod"
+ "golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod"
+ "golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod"
+ "golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod"
+ "golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod"
+ "golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod"
+ "golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod"
+ "golang.org/x/sys v0.0.0-20210324051608-47abb6519492/go.mod"
+ "golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44"
+ "golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod"
+ "golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod"
+ "golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod"
+ "golang.org/x/term v0.0.0-20210220032956-6a3ed077a48d"
+ "golang.org/x/term v0.0.0-20210220032956-6a3ed077a48d/go.mod"
+ "golang.org/x/text v0.3.0/go.mod"
+ "golang.org/x/text v0.3.3/go.mod"
+ "golang.org/x/text v0.3.5"
+ "golang.org/x/text v0.3.5/go.mod"
+ "golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod"
+ "golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod"
+ "google.golang.org/appengine v1.1.0/go.mod"
+ "google.golang.org/appengine v1.3.0"
+ "google.golang.org/appengine v1.3.0/go.mod"
+ "gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod"
+ "gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod"
+ "gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod"
+ "gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod"
+ "gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c"
+ "gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod"
+ "gopkg.in/fsnotify.v1 v1.4.7/go.mod"
+ "gopkg.in/ini.v1 v1.62.0"
+ "gopkg.in/ini.v1 v1.62.0/go.mod"
+ "gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod"
+ "gopkg.in/warnings.v0 v0.1.2"
+ "gopkg.in/warnings.v0 v0.1.2/go.mod"
+ "gopkg.in/yaml.v2 v2.2.1/go.mod"
+ "gopkg.in/yaml.v2 v2.2.2/go.mod"
+ "gopkg.in/yaml.v2 v2.2.3/go.mod"
+ "gopkg.in/yaml.v2 v2.2.4/go.mod"
+ "gopkg.in/yaml.v2 v2.3.0"
+ "gopkg.in/yaml.v2 v2.3.0/go.mod"
+ "gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod"
+ "gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b"
+ "gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod"
+ )
+go-module_set_globals
+
+SRC_URI="https://github.com/transifex/cli/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz
+ ${EGO_SUM_SRC_URI}"
+S="${WORKDIR}"/cli-${PV}
+
+LICENSE="Apache-2.0 BSD BSD-2 ISC LGPL-3 MIT MPL-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc64 ~x86"
+
+src_test() {
+ # Skip tests depending on a network connection. Bug #831772
+ rm internal/txlib/update_test.go || die
+ go test ./... || die
+}
+
+src_install() {
+ dobin bin/tx
+ dodoc README.md
+}
diff --git a/app-i18n/unicode-data/Manifest b/app-i18n/unicode-data/Manifest
index b96db5876661..ef45e1413258 100644
--- a/app-i18n/unicode-data/Manifest
+++ b/app-i18n/unicode-data/Manifest
@@ -9,5 +9,5 @@ DIST unicode-data-14.0.0-Unihan.zip 7116482 BLAKE2B feafb77e8a1694efe940be226735
EBUILD unicode-data-12.0.0.ebuild 760 BLAKE2B beefa6fc74ff1a1321714103d948ff3fb24fa07d0d65bb3c75b3e48cd08ce151f3eaf85dd14bbdf3507b6bab4a899df3929ff77d7d5eddc7f5927f2620db1c27 SHA512 a62eca3cfde5f97e9c016aa9849e89fc0b7971af60584373bf074c97563d7aee14fef58f909f0c4891f1b16206a99a8219b6d916ab0ccfe435ed83de62f77760
EBUILD unicode-data-12.1.0.ebuild 771 BLAKE2B dd6af401676af571b01d33c42fda0f30e3408a7781864eb31f7c34e8aac77f773df526192bfd7d8f8c2dac938f4f2beb90b4b1d55fa674efe9080668e60cf246 SHA512 bd35048a1ab835ec7ae8d3917cb988cb73aa2625f9e95a351d22b5c33a8429afdec1e48a8f82c6be4ca2b201ccc638d1fc0ccea10647c9861dec26a21797041c
EBUILD unicode-data-13.0.0.ebuild 777 BLAKE2B 3e8ce9f469bf9026d880f75f7ec4287813c27ab138f041c539c3b715a045952eed45904be7be0fea4734c83e21f7d49f41abe9536194d965a2ecef61471e0469 SHA512 c29f7dd4ae672847fccad92f5491af35789e1a45320539ede246cf8238864947435be187c40bd3569f5f6f833abb1c0a8811754b4dc73b3d7ded9b4c1e495149
-EBUILD unicode-data-14.0.0.ebuild 764 BLAKE2B 03a30fe6e082c6c11b39e5dfc576e64e9dd3915da8e1d0aacdf242790cb27172211690c0cd96d565d04c76e23fe96ac72a700323affcac131d3ec8a48c403ead SHA512 69e0f35d0b94d85d61704ffdd7da9428f8b645c455df2b05bff8a2809af614cf76c200ef4fc89cdbf9b3e04327ed6a65cbf92db95264291b0df0050789d770c8
+EBUILD unicode-data-14.0.0.ebuild 756 BLAKE2B e96cf7f38c4d218ce6bdf2fdf40acaaf8aab6d3dac0d3f82047d88953f540fb3f41cee319a6c698ef242943e6d25830ab19524f55d7d9751fd34d27e9136ac24 SHA512 32afc8db0a2a6c78016e410294a4a314de05d9a849f32f2ac0ea83e12ecab89d0f63179143b42780e7042534dbcb61feefc030465571a9fefe8c670569b42379
MISC metadata.xml 348 BLAKE2B db346dadc3a3333cdd52371d751f814244a22770e00306f9e53b6ca4a70b6dabd107e1c8d62b2fb2b333ce60db28f4b8f8f900ffdce07aba4246e2eef16563a4 SHA512 a6b846e15f4b2903ebe245954bdee3c7c5adfedd0f6d0a05c32defc8cd6f35df804c11567af92911400626fd846320d2338175c1921821adce1db04d5c40dc6a
diff --git a/app-i18n/unicode-data/unicode-data-14.0.0.ebuild b/app-i18n/unicode-data/unicode-data-14.0.0.ebuild
index e0780f6a33f9..0e00056266b9 100644
--- a/app-i18n/unicode-data/unicode-data-14.0.0.ebuild
+++ b/app-i18n/unicode-data/unicode-data-14.0.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -10,7 +10,7 @@ SRC_URI="https://unicode.org/Public/zipped/${PV}/UCD.zip -> ${P}-UCD.zip
LICENSE="unicode"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86"
DEPEND="app-arch/unzip"
S="${WORKDIR}"