summaryrefslogtreecommitdiff
path: root/app-i18n
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2021-01-01 21:06:00 +0000
committerV3n3RiX <venerix@redcorelinux.org>2021-01-01 21:06:00 +0000
commit129160ec854dca4c3fedb5bcfbcb56930371da0f (patch)
tree53bf797418ac5e9b99c41ca0382c87b82421e5de /app-i18n
parent441d1370330332b7d78f238d2f5e13f7aed5e4e0 (diff)
gentoo new year resync : 01.01.2021
Diffstat (limited to 'app-i18n')
-rw-r--r--app-i18n/Manifest.gzbin19333 -> 19505 bytes
-rw-r--r--app-i18n/canna/Manifest2
-rw-r--r--app-i18n/canna/canna-3.7_p3-r1.ebuild2
-rw-r--r--app-i18n/enca/Manifest2
-rw-r--r--app-i18n/enca/enca-1.19-r2.ebuild2
-rw-r--r--app-i18n/freewnn/Manifest2
-rw-r--r--app-i18n/freewnn/freewnn-1.1.1_alpha22.ebuild2
-rw-r--r--app-i18n/ibus-rime/Manifest7
-rw-r--r--app-i18n/ibus-rime/files/ibus-rime-1.4.0-fno-common.patch11
-rw-r--r--app-i18n/ibus-rime/ibus-rime-1.2.ebuild34
-rw-r--r--app-i18n/ibus-rime/ibus-rime-1.3.0.ebuild33
-rw-r--r--app-i18n/ibus-rime/ibus-rime-1.4.0.ebuild19
-rw-r--r--app-i18n/imsettings/Manifest3
-rw-r--r--app-i18n/imsettings/files/imsettings-1.7.2-fno-common.patch11
-rw-r--r--app-i18n/imsettings/imsettings-1.7.2.ebuild18
-rw-r--r--app-i18n/librime-lua/Manifest4
-rw-r--r--app-i18n/librime-lua/librime-lua-20201011103348.ebuild53
-rw-r--r--app-i18n/librime-lua/librime-lua-99999999999999.ebuild53
-rw-r--r--app-i18n/librime-lua/metadata.xml15
-rw-r--r--app-i18n/librime/Manifest8
-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.6.0.ebuild73
-rw-r--r--app-i18n/librime/librime-1.6.1.ebuild73
-rw-r--r--app-i18n/librime/metadata.xml40
-rw-r--r--app-i18n/mozc/Manifest11
-rw-r--r--app-i18n/mozc/files/mozc-2.26.4220-environmental_variables.patch89
-rw-r--r--app-i18n/mozc/files/mozc-2.26.4220-server_path_check.patch95
-rw-r--r--app-i18n/mozc/files/mozc-2.26.4220-system_abseil-cpp.patch407
-rw-r--r--app-i18n/mozc/files/mozc-2.26.4220-system_gtest.patch141
-rw-r--r--app-i18n/mozc/files/mozc-2.26.4220-system_jsoncpp.patch117
-rw-r--r--app-i18n/mozc/mozc-2.26.4220_p20201212102434_p20201219202429.ebuild380
-rw-r--r--app-i18n/mozc/mozc-9999.ebuild137
-rw-r--r--app-i18n/opencc/Manifest11
-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/files/opencc-1.1.2-system_libraries.patch111
-rw-r--r--app-i18n/opencc/opencc-1.0.5.ebuild2
-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/opencc/opencc-9999.ebuild36
-rw-r--r--app-i18n/rime-data/Manifest2
-rw-r--r--app-i18n/rime-data/metadata.xml40
-rw-r--r--app-i18n/uchardet/Manifest2
-rw-r--r--app-i18n/uchardet/uchardet-0.0.6-r2.ebuild2
45 files changed, 2604 insertions, 214 deletions
diff --git a/app-i18n/Manifest.gz b/app-i18n/Manifest.gz
index e5c160f6be58..00aaa704fbfe 100644
--- a/app-i18n/Manifest.gz
+++ b/app-i18n/Manifest.gz
Binary files differ
diff --git a/app-i18n/canna/Manifest b/app-i18n/canna/Manifest
index 4d50a17fe8c8..e35dac2e06ee 100644
--- a/app-i18n/canna/Manifest
+++ b/app-i18n/canna/Manifest
@@ -10,7 +10,7 @@ AUX canna.hosts 5 BLAKE2B a10fe2813bf946464641605e8cdda362629a62817de0a7f72f2b0e
AUX canna.initd 782 BLAKE2B 1e34cfc3ed28f5903600f591e55d0eb559aa5336eee54a54a7ab40d2be3816f6a62a947e9c87d4834425f71640c96847836830439f4eeb76a4f25a372fc9d1d0 SHA512 1fd348f2aa4139bbe6154b157b75bf8a39a8ddf36a9a072088279c88241981a9af9024df71aa777ca4e93270d53d0bea8363b31cfb07d229d4a37c48828779e6
AUX update-canna-dics_dir 1101 BLAKE2B 9b429c2ddfb0e3c2c8a754f7fb61b776abbb809f81c93127e5f8be9ec768df6c28fcce75fe69a5b92a195ce49e20572c083aca5b4309f042a50b53bffafc4042 SHA512 135fdabf3995ddf82d3f14aece908e952f3d514fd83e2f86d8113b1026b7dcaea2156225be251a6d9a74a35ee075d5ebb32c05d9deb85905120287d0af1f4207
DIST Canna37p3.tar.bz2 1263065 BLAKE2B b5fb496c0ef71dc57b2da1409eea2238ea62ece3286d498d694bc7a18cb0f5e052dca95d692b4302988acd2199d350b893ae4aedc91aab0b737c3e0675be9cba SHA512 82846f2393aa2654dd2c97a93178098b8bd11e5409b584447f1b6fdf303adacc9802e2293cafd98b68af8b69622625ed00aa9712bf270feaa119adfdf4211158
-EBUILD canna-3.7_p3-r1.ebuild 2263 BLAKE2B ee87ded5fa3dfb95aa0a41c2e09cb83513e044903fa6055574e8a2e34174eeddb1731abc0f3e11c3d4c3b3e972b687d5bf9cb3cfbaf9e2b437206d14e1641809 SHA512 8a139403e0cdfeab5b7fabd2280ce0fa0c4b580a5db386524321db6c0f24f2e53726358123b4cde1770b29ae9af0804478bf6c2bee577f8777e83b0fecbf403f
+EBUILD canna-3.7_p3-r1.ebuild 2264 BLAKE2B cd59e7889883924274c75eabaf64ca6264456b4a0218a6e326e038d3bf7dd3df3b79679118db7a4d09741f56fcee3c19e5edd3a8edc4bde6eeaa4720c34d839b SHA512 dd51d607cff4107ae904abe906e5d0396e0bcbe53d3b1df3157680b56a95cbc336f96a006cc7ec9498db4e7dc657808749b42b549ffaa4aab755d1c5b0f87b6d
EBUILD canna-3.7_p3-r2.ebuild 2893 BLAKE2B caf22d1d8914257992917784c03f173446e3cfa0c28aeb55a9007b07d053e33d9cc574d4f55eb253954442ab8c6f17805bf72c04113b36874a6693fe690490a2 SHA512 8c5a7660f2be089841953914fa8863d0ba9190b88c23d8266d5181c1da9e17f313e36b4448ec8009a65802b203d69c72428a640a3a2e0bf01049dffac3f12bba
EBUILD canna-3.7_p3-r3.ebuild 3300 BLAKE2B a10f4c2fffc415844770a40b10068a3cf6f9fa1f8c59ee2334b87920cde1fdea194c8a791e25e1bec1cb390c1731ce8180f08c4f36344f77b08826d9275ff76c SHA512 bc9183a986cf26f7283fed6736c5eddb7e697817f67cba307322450c627ab401bec9ba87541c641fc9dafa259a2ac4b54df2a2a5875f4618e7fe59bed576db90
MISC metadata.xml 383 BLAKE2B 2947ceefe007eb9bcfd46a69a4b97a2406383931cb320cb594b96952697378147824461f1b55d5caddc419b19aebeb1c5ce69c0f0d31568cbbbe3d1d15fba9ba SHA512 8affc10d697147ea5430d73c40eb4e7621ee9a06d444725566d4e16a28ccab4f53aed3025905894fe6cba0ea874dcf0d2d583d3dcedf3a0ccc8b139af02e5e98
diff --git a/app-i18n/canna/canna-3.7_p3-r1.ebuild b/app-i18n/canna/canna-3.7_p3-r1.ebuild
index 687ab7947083..ceff59140582 100644
--- a/app-i18n/canna/canna-3.7_p3-r1.ebuild
+++ b/app-i18n/canna/canna-3.7_p3-r1.ebuild
@@ -13,7 +13,7 @@ SRC_URI="mirror://sourceforge.jp/canna/9565/${MY_P}.tar.bz2"
LICENSE="MIT GPL-2"
SLOT="0"
-KEYWORDS="~alpha amd64 arm64 hppa ~ia64 ppc ppc64 sparc x86"
+KEYWORDS="~alpha amd64 arm64 ~hppa ~ia64 ppc ppc64 sparc x86"
IUSE=""
DEPEND="x11-misc/gccmakedep
diff --git a/app-i18n/enca/Manifest b/app-i18n/enca/Manifest
index 8e8eeff33690..d6d9c99dd0a3 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-r2.ebuild 2093 BLAKE2B 26b21d1475108c434fca10c2889eea1926df1f1961d3969151befec4f6e19abb6ac062ab67d7acaa052d058c690a1f43ef14efcfed3a3952f426af8efd2d9163 SHA512 bfc21dd2731eaf199c5c6f030ee7d26127b452cc8357e9ea64ced744257d1b0fffaadeb732ebbc3d2c726f217d595a9615632eeacec21e6c54822a47077fbcb2
+EBUILD enca-1.19-r2.ebuild 2094 BLAKE2B 0a23cc210c98486de1d099378ccfc8e64f92de02dba4ba081442570d6b7cbd7c5f11c717557f4ea1a28f0ed56fbe863f9a238216cb5d6ad3fb33d4f02951018f SHA512 22dd1b367bc3d496c4ced1b8d8ad6431b59f18312d0b4d920d1db0db5bef7d77bb45a74816d5269104baddae3c33b158050edf4e299f65a8c9f87bf50f260383
MISC metadata.xml 324 BLAKE2B 61e560fc5161d96f01841ebd42ce64012725667f0545fe3bfa463f94b61a536822e1109bfa044f17f6e12c6c45bd24c284aa4846f36db5836e24742b1cc171e9 SHA512 b10801cd8a372709601915899abe03282148aa9a0519160963f5a7734fbeadc082f5493e46ecfb887a16c4b9b5f28424b3b2b87ab4b34708b77cdf3cd4eba03f
diff --git a/app-i18n/enca/enca-1.19-r2.ebuild b/app-i18n/enca/enca-1.19-r2.ebuild
index b810849245fc..aedbe2b2bc0f 100644
--- a/app-i18n/enca/enca-1.19-r2.ebuild
+++ b/app-i18n/enca/enca-1.19-r2.ebuild
@@ -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 ~x86-macos ~sparc-solaris ~x86-solaris"
+KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~mips ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x86-solaris"
IUSE="doc +iconv recode static-libs"
RDEPEND="
diff --git a/app-i18n/freewnn/Manifest b/app-i18n/freewnn/Manifest
index 55062ddcef09..0b9258d13b4b 100644
--- a/app-i18n/freewnn/Manifest
+++ b/app-i18n/freewnn/Manifest
@@ -6,6 +6,6 @@ AUX freewnn.initd 283 BLAKE2B 363b8b99876aa0552f49a10bc973925d7d23900c24601e40ff
AUX freewnn.initd-r1 306 BLAKE2B 2c5eeede614062832ce9d799e228a7927793679aa129151b68c9f1392056c8faccda4ce3dff5b4dc0f9da5d1557c8799ca663c1b20d9c3b2208b72a26f78adc3 SHA512 306ad8dd6ae7060fc937f2ac2b266f385480961ed0c2074f1dcfc77fa82bb7a23042019672b47c32fc8d55079730ccda68c616c0f5411b0704db2c34d2caaf02
DIST FreeWnn-1.1.1-a022.tar.bz2 3137954 BLAKE2B 1f3a920ef7ddb4cddaa95de4d60bccf20c8e6d207216e406cb7dc503411e932b4578ed1c3c302249a94e0ede1d948aa62f5ced804d0d142ed5e04dbbd6789277 SHA512 938c8bff69e2f43cce265a6a84822ae08b89725837f808addb66ba202dadafa60c213638f298d9efe1257fd96f7193fd711a3dacecd803289d925d8f6ea6eaf3
DIST FreeWnn-1.1.1-a023.tar.bz2 3147378 BLAKE2B 63f3fbf37b53e5e6f32f83513d45aaf4915cbd33789ab8edfc93b22de1fbbe242e52e7bd40ce7ef22e24ae1f4ee151261c2041af9c78720875303b5d2b6c18a8 SHA512 f0b8c657f0441463c752314b7d2fd603b4df056b049d247ecd77ff8b2f2f837fed7e75ce89deabca7061d3126afd51bf301bcdd3ac429056f43bfc8e0c7c8385
-EBUILD freewnn-1.1.1_alpha22.ebuild 1093 BLAKE2B 50566dcaeabd467fc1947ab8e10b852bea9b530be5cddf83fb82ae3eeddb2dcd455bcdeca0a6be1fc75dc33a3778287dd17582806dcb6c0e6f5008bae0a08086 SHA512 70e0628f6e9e905e5e2676b7f8d0df73adef3e7d98fa33dfe8fe5a10dc806868c0ba79b197881c1ac05f91c80c2b4202e36ac514d4ff3cf18d290441c61841e2
+EBUILD freewnn-1.1.1_alpha22.ebuild 1094 BLAKE2B fd08da40b66067c772c69d92ab54c447a327e30b68c2b3eab9e7e867324353eecd451724eb113ea17a5c4019ada0b9a6cab82bf3238f1263ea9772edabf2c53d SHA512 1b3adcf1bd793b8d8d72b1b5c50056cd282353e301564f13c87cd4a486cd13aab47a1b86d15c406e1be9749b63eb7d2b0fe9bd2f5e4f5d3a9b7a902ed5313f3b
EBUILD freewnn-1.1.1_alpha23.ebuild 1559 BLAKE2B 40ccc0185b58a2bc9fcea76b18d4c65a00b5a6e3288a3122237cdd8f64492cb7290d9237c2edb5564e0bf59657bd126a1e8d58a0559601439b9ba86edd022ce5 SHA512 026e644beb3802f78787b31ba6577ce89b9e376460e37eb5c7e0fd05d004a7fbd9f87b02ec589804094a172d0c33da30bbfe86ba8dd7c19efec87073eb9322b5
MISC metadata.xml 379 BLAKE2B 7944902387626d8b50d6c99d570e5618d35d5b271141143b635a11808cf3ecf52be22e18304709f708d89b2b88673790379ea4129cc4bd3f303c94835c067023 SHA512 ccecd3e1a8245d6ae953997d87f6daa127eb1759f6f91b866c9cc778a11289e3f72ce671d4c62032210568a7a915387cbcb02bb7b7284d515bb20e4c02bd8a6b
diff --git a/app-i18n/freewnn/freewnn-1.1.1_alpha22.ebuild b/app-i18n/freewnn/freewnn-1.1.1_alpha22.ebuild
index 4a8f28768556..c4b2a917a105 100644
--- a/app-i18n/freewnn/freewnn-1.1.1_alpha22.ebuild
+++ b/app-i18n/freewnn/freewnn-1.1.1_alpha22.ebuild
@@ -11,7 +11,7 @@ SRC_URI="mirror://sourceforge.jp/${PN}/59257/${MY_P}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~alpha amd64 arm64 hppa ~ia64 ppc ppc64 sparc x86"
+KEYWORDS="~alpha amd64 arm64 ~hppa ~ia64 ppc ppc64 sparc x86"
IUSE="ipv6"
S="${WORKDIR}/${MY_P}"
diff --git a/app-i18n/ibus-rime/Manifest b/app-i18n/ibus-rime/Manifest
index 7effea8dc8c2..ab3da3600179 100644
--- a/app-i18n/ibus-rime/Manifest
+++ b/app-i18n/ibus-rime/Manifest
@@ -1,7 +1,4 @@
-DIST ibus-rime-1.2.tar.gz 33396 BLAKE2B 39930ea31d40e622cd69d6f5a218729f460161dd9681e49bc35a1eb9b3875b6f5acbdaf36f7cf8200440bc27ed84a2f23ec1578b19a1fe6abbbc54c7078be11c SHA512 e1851781a6d069a79d04890b5b0aa2a706e611c08df3fcb99f883eeedd4dc4eefcac207f35b5cf1d856a41f0153ec3fbb040b4e6f610727384baa19b52a64155
-DIST ibus-rime-1.3.0.tar.gz 33930 BLAKE2B 14e086382d89c990ca9f07401b68dbe26d58da061a3e8154232809ff29d766b630dcd06723bb0a8e18ebd089a640b7ab6787f8c70a6405dfa82472c1abfe5d4e SHA512 f0991184805bfe19931e297779179661f98bdfea952e310b2d8618550002cfa5bb08df05d1c5e31b535ad9959a919fdc98fa771a90d4d82b9c50e2f592cb7dfd
+AUX ibus-rime-1.4.0-fno-common.patch 278 BLAKE2B b4ec86e71074309ccacec7299b5c6f5e9eda55af3b1a8e5a8db105833c5482fd10aacf22e03fd61bea75646930b3285c8a2a6b907f54223556cffd3884beebcc SHA512 45fd643cea9695b92eecc76e93a7908967b3eb66a108541ec6733c1a6e145ef43aa81592666db1d811b2460593ac3a0b1432990d387f58c897bfd1360f2a9b80
DIST ibus-rime-1.4.0.tar.gz 34176 BLAKE2B 69d0392adc78b2b8935f2239c4567d001d3636d0e8ff59aca0b04b3189751a3edd0350eea9e2262b3ae3e639dbd9715c157e44727cc48ba9521801161a1508f4 SHA512 3fc24f4ce390e27d37e41775e4c075c7465cd3e90a9ab61d13ec47c2ca1c2afaafb322f327e18be573aa254a43b8cf6426415500a5d817b835bf4e0615ab9145
-EBUILD ibus-rime-1.2.ebuild 759 BLAKE2B 270180498169d6f2a503dcebc3cf01b78bbdfae03a45dc8fa8cbdecbb999fb40b1d8c675c002a51e625fbeb277e9abcaffcb23ba6a8a5d0c05af46c54a21d37d SHA512 2a28941562893dd9827bd9621abc7d89ae51e50132671f8fd3fa5533df340b523a1964eeb1d71df6492c074f286a4337a2ab93863d9d303b82af62768ebcefb4
-EBUILD ibus-rime-1.3.0.ebuild 759 BLAKE2B 44bd36ab9b90c93c4a7338f3921ca100c06506acd2ee65c434d26802882b41b66168910cf7ae4cdf8045bbf54222b7200314e488251156c4e8fbdd2b07e3a9fd SHA512 ee0fbc41180122bcb9aa0cb793cb248d0100f813b3bf63b4737e24fc760029299e9d701e08ed2d68cc27ecfb0286a4c76c93cbb42c9d84d21be7b7c9a3d6fffb
-EBUILD ibus-rime-1.4.0.ebuild 761 BLAKE2B 346a2abea3aa85ea4c2f877f8321a61137106d2d2d4409d8fec47195d992afe838bb0e97a02d5ecac2ca173e880388f01c76ef0b4af4279552a4e25d6854cce2 SHA512 9bc441c6ef302907057cf44dd3f6ff1028a52e1804ab4be6258c30c54d382e6f904dd31193d2e7a6ee995047865ee9414e84a8286e76d7fad569db33965fb544
+EBUILD ibus-rime-1.4.0.ebuild 807 BLAKE2B d4c5bb3ff31b04e07c072a1ff44b934d74d56b5dc39726d44dfec7390ae4213c0fc401c0223d4d3b139874d8e0436e01459db877024700871c2a66c817731cc8 SHA512 e1102beae2168d556f306e05b4960a4fd94eefc3978996ba6fdd06d0752268f67d0d006d53adc9e993914e70b97cac9e8c20e7c12ef339ab10155ffca77e657d
MISC metadata.xml 534 BLAKE2B 0d1888080b3fcf1b2bd5ef07456c8ed3f91dad7e11bb1c34882a43ad2396bc6b5bb62f49bf8af4936d3d5df84b6af30dd4dfcf48ef343865ac36e50da26d061b SHA512 78e2d7631f65652305b451e5b4ab95886dd8a1c2436fb95c0f344daae87feab1eb57486a0815348363858faf91f9b931f32166a9b22b7613bd3b1407ac19e317
diff --git a/app-i18n/ibus-rime/files/ibus-rime-1.4.0-fno-common.patch b/app-i18n/ibus-rime/files/ibus-rime-1.4.0-fno-common.patch
new file mode 100644
index 000000000000..f935a18ef8c3
--- /dev/null
+++ b/app-i18n/ibus-rime/files/ibus-rime-1.4.0-fno-common.patch
@@ -0,0 +1,11 @@
+--- a/rime_settings.h
++++ b/rime_settings.h
+@@ -20,7 +20,7 @@ struct IBusRimeSettings {
+ struct ColorSchemeDefinition* color_scheme;
+ };
+
+-struct IBusRimeSettings g_ibus_rime_settings;
++extern struct IBusRimeSettings g_ibus_rime_settings;
+
+ void
+ ibus_rime_load_settings();
diff --git a/app-i18n/ibus-rime/ibus-rime-1.2.ebuild b/app-i18n/ibus-rime/ibus-rime-1.2.ebuild
deleted file mode 100644
index c8c71e6b73ad..000000000000
--- a/app-i18n/ibus-rime/ibus-rime-1.2.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-DESCRIPTION="Chinese Rime Input Method Engine for IBus"
-HOMEPAGE="https://rime.im/ https://github.com/rime/ibus-rime"
-SRC_URI="http://dl.bintray.com/lotem/rime/${P}.tar.gz"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE=""
-
-CDEPEND="app-i18n/ibus
- app-i18n/librime
- x11-libs/libnotify"
-RDEPEND="${CDEPEND}
- app-i18n/rime-data"
-DEPEND="${CDEPEND}
- dev-util/cmake
- virtual/pkgconfig"
-S="${WORKDIR}/${PN}"
-
-src_prepare() {
- sed -i \
- -e "/^libexecdir/s:/lib:/libexec:" \
- -e "/^[[:space:]]*PREFIX/s:/usr:${EPREFIX}/usr:" \
- -e "s/ make/ \$(MAKE)/" \
- Makefile
- sed -i "/exec>/s:/usr/lib:${EPREFIX}/usr/libexec:" rime.xml
-
- default
-}
diff --git a/app-i18n/ibus-rime/ibus-rime-1.3.0.ebuild b/app-i18n/ibus-rime/ibus-rime-1.3.0.ebuild
deleted file mode 100644
index 5facdd653741..000000000000
--- a/app-i18n/ibus-rime/ibus-rime-1.3.0.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-DESCRIPTION="Chinese Rime Input Method Engine for IBus"
-HOMEPAGE="https://rime.im/ https://github.com/rime/ibus-rime"
-SRC_URI="https://github.com/rime/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE=""
-
-CDEPEND="app-i18n/ibus
- app-i18n/librime
- x11-libs/libnotify"
-RDEPEND="${CDEPEND}
- app-i18n/rime-data"
-DEPEND="${CDEPEND}
- dev-util/cmake
- virtual/pkgconfig"
-
-src_prepare() {
- sed -i \
- -e "/^libexecdir/s:/lib:/libexec:" \
- -e "/^[[:space:]]*PREFIX/s:/usr:${EPREFIX}/usr:" \
- -e "s/ make/ \$(MAKE)/" \
- Makefile
- sed -i "/exec>/s:/usr/lib:${EPREFIX}/usr/libexec:" rime.xml
-
- default
-}
diff --git a/app-i18n/ibus-rime/ibus-rime-1.4.0.ebuild b/app-i18n/ibus-rime/ibus-rime-1.4.0.ebuild
index c5d297d74fec..1a7bb058a4c0 100644
--- a/app-i18n/ibus-rime/ibus-rime-1.4.0.ebuild
+++ b/app-i18n/ibus-rime/ibus-rime-1.4.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -10,24 +10,25 @@ SRC_URI="https://github.com/rime/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="~amd64 ~arm64 ~x86"
-IUSE=""
-CDEPEND="app-i18n/ibus
+RDEPEND="
+ app-i18n/ibus
app-i18n/librime
+ app-i18n/rime-data
x11-libs/libnotify"
-RDEPEND="${CDEPEND}
- app-i18n/rime-data"
-DEPEND="${CDEPEND}
+DEPEND="${RDEPEND}"
+BDEPEND="
dev-util/cmake
virtual/pkgconfig"
+PATCHES=( "${FILESDIR}"/${P}-fno-common.patch )
+
src_prepare() {
sed -i \
-e "/^libexecdir/s:/lib:/libexec:" \
-e "/^[[:space:]]*PREFIX/s:/usr:${EPREFIX}/usr:" \
- -e "s/ make/ \$(MAKE)/" \
- Makefile
- sed -i "/exec>/s:/usr/lib:${EPREFIX}/usr/libexec:" rime.xml
+ -e "s/ make/ \$(MAKE)/" Makefile || die
+ sed -i -e "/exec>/s:/usr/lib:${EPREFIX}/usr/libexec:" rime.xml || die
default
}
diff --git a/app-i18n/imsettings/Manifest b/app-i18n/imsettings/Manifest
index 0c56555178ce..50673214ba7d 100644
--- a/app-i18n/imsettings/Manifest
+++ b/app-i18n/imsettings/Manifest
@@ -1,3 +1,4 @@
+AUX imsettings-1.7.2-fno-common.patch 334 BLAKE2B e4ca9b361b2559e808e40db759a2418a5f757e482eb10b2c0fd4ec73b1781eda29982427ec71bf11b4574ff862df4d2c18e01d672e9b5c656aac54e0b67ba4bb SHA512 c3c6445182934b7822f71085f27279b918e16c79f02cec6e3ece3133d891bb3a7aca09c3adc675aabfce34a0ab2e8e7f61eba47b5e76da70ceee0a8f1f86ca69
DIST imsettings-1.7.2.tar.bz2 595754 BLAKE2B 9964ab7ca842a7e1b9e9c61434275b55d6a58e271dd12058195573aa65c623d5152a04bc893b3ac4d983c4798bd6f4e8cdb486577be45ec43db6600f72c8cc3b SHA512 b28d67705d3d6a0ec95babaca616f750b73cdac5e01ed61e25a6527fd7f816a14654cd7233eca56d7427b9395e7ad75757b95cd7bd55c56bbdc145a3f8bfe1f0
-EBUILD imsettings-1.7.2.ebuild 1789 BLAKE2B 7227bf82d4af977b95dd3a60e55794a6b077fe6c9a86f764c81c92fbaf013289f8f34f20769cab33802373cc8bd7d5733797e502f6d909acd20990b11c0ffc60 SHA512 5f2b52791ef53c5d15f3bffcf199feaeb01fbb788ee8a1d3694b8e5f3225caf13d40262cf3c417c644b2a3e8c96fa2ac2670fa185fe0f37ebb0e131e0cf65e58
+EBUILD imsettings-1.7.2.ebuild 1787 BLAKE2B a32a55cb94527a601c38b6f40ba47495cc48c385d793682b0d9174875ba9b73edf985ec627249d8ef36f1c62901583655452810e1e320b04eba307d174aee98f SHA512 4283751cff7ab98e639eed3d41d8c7bb9a341ea97c90fa45103242e728a5a5b8bfeac18c2b048e827b6dabbb1317ff148f50f3fab6bd40320b5f17bf71a42811
MISC metadata.xml 618 BLAKE2B c16dbfede5fb6a394335483488c6bc195020c4161278088f7f44d82506f5e4b6e8afac64747098b703200b83b6ee8d7f18b790b5b2cb79e71647e0e6025e8820 SHA512 029b4a98d5fb139a0f504161627461e227b58a712d578aeba4da9deb2c5ae04a78a83a1cf42c0966315d6c43db860f64ac7f6a38a22ae3e4d87b2960fde14301
diff --git a/app-i18n/imsettings/files/imsettings-1.7.2-fno-common.patch b/app-i18n/imsettings/files/imsettings-1.7.2-fno-common.patch
new file mode 100644
index 000000000000..0845bd31820a
--- /dev/null
+++ b/app-i18n/imsettings/files/imsettings-1.7.2-fno-common.patch
@@ -0,0 +1,11 @@
+--- a/imsettings-daemon/imsettings-server.c
++++ b/imsettings-daemon/imsettings-server.c
+@@ -93,7 +93,7 @@ GDBusInterfaceVTable __iface_vtable = {
+ NULL,
+ NULL,
+ };
+-guint signals[LAST_SIGNAL];
++extern guint signals[LAST_SIGNAL];
+
+ G_DEFINE_TYPE (IMSettingsServer, imsettings_server, G_TYPE_OBJECT);
+ G_LOCK_DEFINE_STATIC (logger);
diff --git a/app-i18n/imsettings/imsettings-1.7.2.ebuild b/app-i18n/imsettings/imsettings-1.7.2.ebuild
index f2f473de2fa8..789cc72bb3e2 100644
--- a/app-i18n/imsettings/imsettings-1.7.2.ebuild
+++ b/app-i18n/imsettings/imsettings-1.7.2.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI="6"
+EAPI=7
-inherit autotools xdg-utils
+inherit autotools
DESCRIPTION="Delivery framework for general Input Method configuration"
HOMEPAGE="https://tagoh.bitbucket.io/imsettings"
@@ -12,7 +12,7 @@ SRC_URI="https://bitbucket.org/tagoh/${PN}/downloads/${P}.tar.bz2"
LICENSE="LGPL-2.1"
SLOT="0"
KEYWORDS="amd64 ~x86"
-IUSE="gconf gtk2 qt5 +introspection static-libs xfconf"
+IUSE="gconf gtk2 qt5 +introspection xfconf"
RESTRICT="test"
RDEPEND="dev-libs/glib:2
@@ -26,7 +26,8 @@ RDEPEND="dev-libs/glib:2
!gtk2? ( x11-libs/gtk+:3 )
introspection? ( dev-libs/gobject-introspection )
xfconf? ( xfce-base/xfconf )"
-DEPEND="${RDEPEND}
+DEPEND="${RDEPEND}"
+BDEPEND="
dev-util/glib-utils
dev-util/intltool
sys-devel/autoconf-archive
@@ -35,6 +36,8 @@ DEPEND="${RDEPEND}
MY_XINPUTSH="90-xinput"
+PATCHES=( "${FILESDIR}"/${P}-fno-common.patch )
+
src_prepare() {
sed -i \
-e "/PKG_CHECK_MODULES/s/\(gconf-2\.0\)/$(usex gconf '\1' _)/" \
@@ -49,18 +52,17 @@ src_prepare() {
default
eautoreconf
- xdg_environment_reset
}
src_configure() {
econf \
- $(use_enable static-libs static) \
+ --disable-static \
--with-xinputsh=${MY_XINPUTSH}
}
src_install() {
default
- find "${D}" -name '*.la' -delete || die
+ find "${ED}" -name '*.la' -delete || die
fperms 0755 /etc/X11/xinit/xinitrc.d/${MY_XINPUTSH}
}
diff --git a/app-i18n/librime-lua/Manifest b/app-i18n/librime-lua/Manifest
new file mode 100644
index 000000000000..b9cda8865e34
--- /dev/null
+++ b/app-i18n/librime-lua/Manifest
@@ -0,0 +1,4 @@
+DIST librime-lua-20201011103348.tar.gz 21600 BLAKE2B f7046d1eb23391ca70543aa64c52092081cef51a69ac3a282f2f1392eaf760515186f063e9d469c5c41ac9f495ace814ab741a0821d1a635b9ad1f4faa7a3912 SHA512 2a3d3b49d53066fe96dd008e8064718082225e6bf185574a25b8e98175d9936abcfa1fdc56e48f9c72a2deb46f8157d6132fd119ff8e0a3d52fbe9e2ea21386c
+EBUILD librime-lua-20201011103348.ebuild 1395 BLAKE2B c40ee7d587e95cbe98427cb83356dbd69f7161f52baf080602536a0d9b6c5c32d72da84c2d291e1fb7aed19e470363406299fe585bd90cbd698c77fcb75ca13e SHA512 bde5930ae523ec2762726c3871ac20c03778d6ca637b2335a77e3b534de83d5d5c5a65d4eff466253cfec7830c093bdd174345d54a044fec25d85438f21c5fdf
+EBUILD librime-lua-99999999999999.ebuild 1384 BLAKE2B b3892ddc41646a07daf5ad4f6a1788022549673aba9566251767165c176ae1bd6cc03c06bf1d8a8fe3b7ecc226ee81770980d461fed3f86129a5c61da7446e80 SHA512 e1faf6c9bd1e5ba5744dcd0212c2246743cfe6e3693bda450958695f0da636c6787fad402ac12ee328f1c008837babc096e1f0927d4fa8dc445fed65ee61c4ae
+MISC metadata.xml 453 BLAKE2B 15d1360c79b502b83b4d2ba88367fde8509a56b6a3d7eae8beaa97afe09c77e3c14a3746d42f70a7410de45846b10409ab6b0462e7ca662c64e013606441b5d8 SHA512 4068ab244d90a00628aca8c95e9ff5db0fbfef6b066c962ebe19c6befe19460aec85cf76897a15d4b38f4eb13177f5c639cf85ea65bcc3aedcd7d01f3b4f5e8a
diff --git a/app-i18n/librime-lua/librime-lua-20201011103348.ebuild b/app-i18n/librime-lua/librime-lua-20201011103348.ebuild
new file mode 100644
index 000000000000..5abed7223b09
--- /dev/null
+++ b/app-i18n/librime-lua/librime-lua-20201011103348.ebuild
@@ -0,0 +1,53 @@
+# Copyright 2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+LUA_COMPAT=(lua{5-1,5-2,5-3,5-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 ~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-lua/librime-lua-99999999999999.ebuild b/app-i18n/librime-lua/librime-lua-99999999999999.ebuild
new file mode 100644
index 000000000000..fcf9189fe7df
--- /dev/null
+++ b/app-i18n/librime-lua/librime-lua-99999999999999.ebuild
@@ -0,0 +1,53 @@
+# Copyright 2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+LUA_COMPAT=(lua{5-1,5-2,5-3,5-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=""
+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-lua/metadata.xml b/app-i18n/librime-lua/metadata.xml
new file mode 100644
index 000000000000..b297cca916f4
--- /dev/null
+++ b/app-i18n/librime-lua/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>arfrever.fta@gmail.com</email>
+ <name>Arfrever Frehtes Taifersar Arahesis</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>cjk@gentoo.org</email>
+ <name>Cjk</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">hchunhui/librime-lua</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-i18n/librime/Manifest b/app-i18n/librime/Manifest
index 6e47f37d5825..6edc5b700841 100644
--- a/app-i18n/librime/Manifest
+++ b/app-i18n/librime/Manifest
@@ -1,4 +1,10 @@
AUX librime-1.5.3-log_files_mode.patch 458 BLAKE2B acd2f59f409b3643807ea845fd08bfcfe730cfedaacb7d70a4b1ba017a299cb95b8d815bbbf53b2c0e3c86c4482a2d71a97fef362a6f0404dd45e96b57f78be7 SHA512 d8b12367916ed1ad5deb2e982437d3e5e04592baa6c1e12f6b78ff99b8cc407f2c9fc6f47c0715054572f6f8a5edafcb6f6da033902175cc4357a07faad04420
+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
EBUILD librime-1.5.3-r1.ebuild 1598 BLAKE2B e2bea3ac09fb0f5f132382caa6a37b8fc3e674688fbbba71e68a5a48e1375248633ec5de170030a5d734f18e294aeb8c3b2b2cba9d033c56bdd88e9709c14c1d SHA512 9c389f0f4ad573bada9c18bdfb3af3cac4f17e42f3bc1fe5d308fed123a3458a28e243f0ac4134753d24b1cbffb644707adbf693fc0f01d5fbc5eb25177bf416
-MISC metadata.xml 647 BLAKE2B 2837d0505f1721cbb6a60414b846ad95ddbaca6d682e9f93acc82998430cdbc73038b124c1a0a73d7aedf132535276e6bd88015a47e4f4ebb86619aad38e9061 SHA512 a388004662d39511749e6fcf618fc28411f81ebbf2078ea2b3e4123d63544790fb017ced2df16556fdf763c854d34a7fcf5a59931153f6c94841d9cdcff4d3ec
+EBUILD librime-1.6.0.ebuild 1584 BLAKE2B 035bd99e4e49b12cbafc581771d287c0743716af721c674be05c1b7d5a0df8586c504532485a169c535b51ccb332a5a1d43d504d758ebb17c0ee1915d1c5afaa SHA512 381fa20d6a5da0b34d05aed7c53bba10a36029eae10a062c86f40dc7767e07ff1800d799e80b14b7a4e5719e6b32e5364fdc03d557344f24cb14a8097095a9b4
+EBUILD librime-1.6.1.ebuild 1584 BLAKE2B a066ec82c81cd7d1252a24160c340dd8a44a88dee42638aafddc98944344dcc8cc367dda92f0e6f9b006e18bbbd84621acfc5bba48cbbdf23ec4e77c7a6e7381 SHA512 1599d5dcfef15e4c7627fc716fd57ea5e9aeaec60d45f82d0c51893cc363d1d53d235cbba029d6079a368ef43a14ed450873f7efc4ed8ff2cc9b31b109f3cd01
+MISC metadata.xml 762 BLAKE2B 1132cc338a6f90757bb96d9b1d75fe4dc545ee0fdf07fcb946a88d88e5e821320016de902b37855ef1e1c4d4a4b7f5c37e41316b5ff8aa4b3eb14536548831a6 SHA512 82a8325fb69ee74e353375ab4d0f88d7d97b889ce71d660561b74b27303ea6ace3acd9fa9046bdacf15144c013e51382ae4da4c9e355986bf43b363980f6925d
diff --git a/app-i18n/librime/files/librime-1.6.0-plugins.patch b/app-i18n/librime/files/librime-1.6.0-plugins.patch
new file mode 100644
index 000000000000..c79072f31cbb
--- /dev/null
+++ b/app-i18n/librime/files/librime-1.6.0-plugins.patch
@@ -0,0 +1,247 @@
+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
new file mode 100644
index 000000000000..68099d618693
--- /dev/null
+++ b/app-i18n/librime/files/librime-1.6.1-plugins.patch
@@ -0,0 +1,247 @@
+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.6.0.ebuild b/app-i18n/librime/librime-1.6.0.ebuild
new file mode 100644
index 000000000000..eef1faa5bd5f
--- /dev/null
+++ b/app-i18n/librime/librime-1.6.0.ebuild
@@ -0,0 +1,73 @@
+# Copyright 2012-2020 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-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.ebuild b/app-i18n/librime/librime-1.6.1.ebuild
new file mode 100644
index 000000000000..91cdfdf161d4
--- /dev/null
+++ b/app-i18n/librime/librime-1.6.1.ebuild
@@ -0,0 +1,73 @@
+# Copyright 2012-2020 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.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/metadata.xml b/app-i18n/librime/metadata.xml
index 777c41df84a4..605a81303279 100644
--- a/app-i18n/librime/metadata.xml
+++ b/app-i18n/librime/metadata.xml
@@ -1,22 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>dlan@gentoo.org</email>
- <name>Yixun Lan</name>
- </maintainer>
- <maintainer type="project">
- <email>cjk@gentoo.org</email>
- <name>Cjk</name>
- </maintainer>
- <use>
- <flag name="debug">Enable debugging (including logging of input of RIME input methods)</flag>
- </use>
- <upstream>
- <maintainer>
- <email>chen.sst@gmail.com</email>
- <name>Gong Chen</name>
- </maintainer>
- <remote-id type="github">rime/librime</remote-id>
- </upstream>
+ <maintainer type="person">
+ <email>arfrever.fta@gmail.com</email>
+ <name>Arfrever Frehtes Taifersar Arahesis</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>dlan@gentoo.org</email>
+ <name>Yixun Lan</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>cjk@gentoo.org</email>
+ <name>Cjk</name>
+ </maintainer>
+ <use>
+ <flag name="debug">Enable debugging (including logging of input of RIME input methods)</flag>
+ </use>
+ <upstream>
+ <maintainer>
+ <email>chen.sst@gmail.com</email>
+ <name>弓辰 (Gōng Chén)</name>
+ </maintainer>
+ <remote-id type="github">rime/librime</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/app-i18n/mozc/Manifest b/app-i18n/mozc/Manifest
index 1fa1415d0b4f..7c828f8402f3 100644
--- a/app-i18n/mozc/Manifest
+++ b/app-i18n/mozc/Manifest
@@ -10,10 +10,19 @@ AUX mozc-2.23.2815.102-python-3_4.patch 19042 BLAKE2B 18ee638acdb1d086b01034b62e
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 11247 BLAKE2B 6df0d12985da09fd920250c98a65e3fc4957ce6eefa9105fcee0f02e6f9ec49d8de629bae5ad08729bedc95138679f7887d986d027b0ae62c7ec5661fd6e281c SHA512 e4983c41c4623c2c8015d005af8ba261857caa0c5852b69af1640619e94e9f4e5f1c72a992831aa88b9bafa57d49ef0c049d9c3a14a6a495172578401f93072d
-EBUILD mozc-9999.ebuild 11080 BLAKE2B a38a04853549491d1fb431bb3cdc7fcb55aa5593aea513bef3268e00f3e6dfaa4e64e1e6e5191634f9bf03dd1395289fdb309a33fe76609c0164c54848f74798 SHA512 435233f85519815fb761a488c99f3e757c89a42a95d0ff35c80b2c359d8a0434c1aa656c5d8b90b8b1561521d4207e2773910e161a6f3d297728fc3d64b551f3
+EBUILD mozc-2.26.4220_p20201212102434_p20201219202429.ebuild 10396 BLAKE2B 1e16fc13c5e9720cc972938c362ccbd516b79fff938883b3f5c4fdd44d7ceb66ec8d4a10282fa2a38b7c9210cba986986f519f9016707b6c13bd6e1ed7841983 SHA512 5d33518117e203d44c352ac3133cca452d81785b4e220ab138dac203b1cc20c17cb39c561bee2f29b370423c91b6ff456d064cd5eb3bfa64abf68d4bcb8555a5
+EBUILD mozc-9999.ebuild 10244 BLAKE2B 0d4c7ddd0473ef83919b242940df83d078875478113ac40e359c9520c38492b233afe34bbcd4e588b3b08218ad3566e17d1cfee71c2bd96f1bb2299b7bd8e522 SHA512 8af2b58ea4dcb680ff82106f0a4b9223346a4cd787c52726447c822a1890c7afc0d4c837ac952204a08b0b2a07972ebae2f721c8987b5e5ddb45cdfae5f98a5c
MISC metadata.xml 1001 BLAKE2B cbbb63e46d6b9cca2c1c5d08dcfeacc8fe82910a0a7398a9060a2ccd06d395765865674b1c66c72cdb9c71d5984b8d0a05a2784052219a6d6af2e0da175e65ac SHA512 98b86d4e51b43d95f7d647cf2cb57ed2a8a7e1b20042a60bae7e56d82596e2f94b2d57cb9dfbf45ae5e2a5a19e78f335e89a8e724424b8fc04f21d344c4e2c75
diff --git a/app-i18n/mozc/files/mozc-2.26.4220-environmental_variables.patch b/app-i18n/mozc/files/mozc-2.26.4220-environmental_variables.patch
new file mode 100644
index 000000000000..dccdff76f15d
--- /dev/null
+++ b/app-i18n/mozc/files/mozc-2.26.4220-environmental_variables.patch
@@ -0,0 +1,89 @@
+https://github.com/google/mozc/issues/470
+
+--- /src/base/system_util.cc
++++ /src/base/system_util.cc
+@@ -226,6 +226,11 @@
+
+ std::string UserProfileDirectoryImpl::GetUserProfileDirectory() const {
+ #if defined(OS_CHROMEOS)
++ const char *configuration_directory_env = Environ::GetEnv("MOZC_CONFIGURATION_DIRECTORY");
++ if (configuration_directory_env) {
++ return configuration_directory_env;
++ }
++
+ // TODO(toka): Must use passed in user profile dir which passed in. If mojo
+ // platform the user profile is determined on runtime.
+ // It's hack, the user profile dir should be passed in. Although the value in
+@@ -245,13 +250,23 @@
+ #elif defined(OS_IOS)
+ // OS_IOS block must be placed before __APPLE__ because both macros are
+ // currently defined on iOS.
+- //
++
++ const char *configuration_directory_env = Environ::GetEnv("MOZC_CONFIGURATION_DIRECTORY");
++ if (configuration_directory_env) {
++ return configuration_directory_env;
++ }
++
+ // On iOS, use Caches directory instead of Application Spport directory
+ // because the support directory doesn't exist by default. Also, it is backed
+ // up by iTunes and iCloud.
+ return FileUtil::JoinPath({MacUtil::GetCachesDirectory(), kProductPrefix});
+
+ #elif defined(OS_WIN)
++ const char *configuration_directory_env = Environ::GetEnv("MOZC_CONFIGURATION_DIRECTORY");
++ if (configuration_directory_env) {
++ return configuration_directory_env;
++ }
++
+ DCHECK(SUCCEEDED(Singleton<LocalAppDataDirectoryCache>::get()->result()));
+ std::string dir = Singleton<LocalAppDataDirectoryCache>::get()->path();
+
+@@ -263,6 +278,11 @@
+
+
+ #elif defined(__APPLE__)
++ const char *configuration_directory_env = Environ::GetEnv("MOZC_CONFIGURATION_DIRECTORY");
++ if (configuration_directory_env) {
++ return configuration_directory_env;
++ }
++
+ std::string dir = MacUtil::GetApplicationSupportDirectory();
+ # ifdef GOOGLE_JAPANESE_INPUT_BUILD
+ dir = FileUtil::JoinPath(dir, "Google");
+@@ -276,6 +296,11 @@
+
+
+ #elif defined(OS_LINUX)
++ const char *configuration_directory_env = Environ::GetEnv("MOZC_CONFIGURATION_DIRECTORY");
++ if (configuration_directory_env) {
++ return configuration_directory_env;
++ }
++
+ // 1. If "$HOME/.mozc" already exists,
+ // use "$HOME/.mozc" for backward compatibility.
+ // 2. If $XDG_CONFIG_HOME is defined
+@@ -395,6 +420,11 @@
+ #endif // OS_WIN
+
+ std::string SystemUtil::GetServerDirectory() {
++ const char *server_directory_env = Environ::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)
+@@ -453,6 +483,11 @@
+ }
+
+ std::string SystemUtil::GetDocumentDirectory() {
++ const char *documents_directory_env = Environ::GetEnv("MOZC_DOCUMENTS_DIRECTORY");
++ if (documents_directory_env) {
++ return documents_directory_env;
++ }
++
+ #if defined(__APPLE__)
+ return GetServerDirectory();
+ #elif defined(MOZC_DOCUMENT_DIRECTORY)
diff --git a/app-i18n/mozc/files/mozc-2.26.4220-server_path_check.patch b/app-i18n/mozc/files/mozc-2.26.4220-server_path_check.patch
new file mode 100644
index 000000000000..8dbabeac0038
--- /dev/null
+++ b/app-i18n/mozc/files/mozc-2.26.4220-server_path_check.patch
@@ -0,0 +1,95 @@
+https://github.com/google/mozc/issues/471
+
+--- /src/ipc/ipc_path_manager.cc
++++ /src/ipc/ipc_path_manager.cc
+@@ -340,9 +340,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;
+@@ -352,17 +364,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;
+ }
+ }
+
+@@ -379,9 +391,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
+@@ -406,7 +418,7 @@
+ #ifdef OS_LINUX
+ // load from /proc/<pid>/exe
+ char proc[128];
+- char filename[512];
++ char filename[PATH_MAX];
+ absl::SNPrintF(proc, sizeof(proc) - 1, "/proc/%u/exe", pid);
+ const ssize_t size = readlink(proc, filename, sizeof(filename) - 1);
+ if (size == -1) {
+@@ -419,18 +431,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.26.4220-system_abseil-cpp.patch b/app-i18n/mozc/files/mozc-2.26.4220-system_abseil-cpp.patch
new file mode 100644
index 000000000000..33f72b8f7a63
--- /dev/null
+++ b/app-i18n/mozc/files/mozc-2.26.4220-system_abseil-cpp.patch
@@ -0,0 +1,407 @@
+https://github.com/google/mozc/issues/490
+
+--- /src/base/absl.gyp
++++ /src/base/absl.gyp
+@@ -28,119 +28,209 @@
+ # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ {
+- 'variables': {
+- 'absl_srcdir': '<(DEPTH)/third_party/abseil-cpp/absl',
+- 'gen_absl_dir': '<(SHARED_INTERMEDIATE_DIR)/third_party/abseil-cpp/absl',
+- },
++ 'conditions': [
++ ['use_system_abseil_cpp==0', {
++ 'variables': {
++ 'absl_srcdir': '<(DEPTH)/third_party/abseil-cpp/absl',
++ 'gen_absl_dir': '<(SHARED_INTERMEDIATE_DIR)/third_party/abseil-cpp/absl',
++ },
++ }],
++ ],
+ 'targets': [
+ {
+ 'target_name': 'absl_base',
+- 'type': 'static_library',
+ 'toolsets': ['host', 'target'],
+- 'sources': [
+- '<(absl_srcdir)/base/internal/cycleclock.cc',
+- '<(absl_srcdir)/base/internal/low_level_alloc.cc',
+- '<(absl_srcdir)/base/internal/raw_logging.cc',
+- '<(absl_srcdir)/base/internal/spinlock.cc',
+- '<(absl_srcdir)/base/internal/spinlock_wait.cc',
+- '<(absl_srcdir)/base/internal/sysinfo.cc',
+- '<(absl_srcdir)/base/internal/thread_identity.cc',
+- '<(absl_srcdir)/base/internal/throw_delegate.cc',
+- '<(absl_srcdir)/base/internal/unscaledcycleclock.cc',
+- '<(absl_srcdir)/container/internal/raw_hash_set.cc',
+- '<(absl_srcdir)/hash/internal/city.cc',
+- '<(absl_srcdir)/hash/internal/hash.cc',
+- ],
+- 'msvs_disabled_warnings': [
+- # 'type' : forcing value to bool 'true' or 'false'
+- # (performance warning)
+- # http://msdn.microsoft.com/en-us/library/b6801kcy.aspx
+- '4800',
++ 'conditions': [
++ ['use_system_abseil_cpp==1', {
++ 'type': 'none',
++ 'all_dependent_settings': {
++ 'link_settings': {
++ 'libraries': [
++ '-labsl_base -labsl_city -labsl_hash -labsl_malloc_internal -labsl_raw_hash_set -labsl_raw_logging_internal -labsl_spinlock_wait -labsl_throw_delegate',
++ ],
++ },
++ },
++ }, {
++ 'type': 'static_library',
++ 'sources': [
++ # libabsl_base
++ '<(absl_srcdir)/base/internal/cycleclock.cc',
++ # libabsl_malloc_internal
++ '<(absl_srcdir)/base/internal/low_level_alloc.cc',
++ # libabsl_raw_logging_internal
++ '<(absl_srcdir)/base/internal/raw_logging.cc',
++ # libabsl_base
++ '<(absl_srcdir)/base/internal/spinlock.cc',
++ # libabsl_spinlock_wait
++ '<(absl_srcdir)/base/internal/spinlock_wait.cc',
++ # libabsl_base
++ '<(absl_srcdir)/base/internal/sysinfo.cc',
++ '<(absl_srcdir)/base/internal/thread_identity.cc',
++ # libabsl_throw_delegate
++ '<(absl_srcdir)/base/internal/throw_delegate.cc',
++ # libabsl_base
++ '<(absl_srcdir)/base/internal/unscaledcycleclock.cc',
++ # libabsl_raw_hash_set
++ '<(absl_srcdir)/container/internal/raw_hash_set.cc',
++ # libabsl_city
++ '<(absl_srcdir)/hash/internal/city.cc',
++ # libabsl_hash
++ '<(absl_srcdir)/hash/internal/hash.cc',
++ ],
++ 'msvs_disabled_warnings': [
++ # 'type' : forcing value to bool 'true' or 'false'
++ # (performance warning)
++ # http://msdn.microsoft.com/en-us/library/b6801kcy.aspx
++ '4800',
++ ],
++ }],
+ ],
+ },
+ {
+ 'target_name': 'absl_numeric',
+- 'type': 'static_library',
+ 'toolsets': ['host', 'target'],
+- 'sources': [
+- '<(absl_srcdir)/numeric/int128.cc',
+- ],
+- 'dependencies': [
+- 'absl_base',
++ 'conditions': [
++ ['use_system_abseil_cpp==1', {
++ 'type': 'none',
++ 'all_dependent_settings': {
++ 'link_settings': {
++ 'libraries': [
++ '-labsl_int128',
++ ],
++ },
++ },
++ }, {
++ 'type': 'static_library',
++ 'sources': [
++ # libabsl_int128
++ '<(absl_srcdir)/numeric/int128.cc',
++ ],
++ 'dependencies': [
++ 'absl_base',
++ ],
++ }],
+ ],
+ },
+ {
+ 'target_name': 'absl_strings_internal',
+- 'type': 'static_library',
+ 'toolsets': ['host', 'target'],
+- 'sources': [
+- '<(absl_srcdir)/strings/internal/charconv_bigint.cc',
+- '<(absl_srcdir)/strings/internal/charconv_parse.cc',
+- '<(absl_srcdir)/strings/internal/escaping.cc',
+- '<(absl_srcdir)/strings/internal/memutil.cc',
+- '<(absl_srcdir)/strings/internal/str_format/arg.cc',
+- '<(absl_srcdir)/strings/internal/str_format/bind.cc',
+- '<(absl_srcdir)/strings/internal/str_format/extension.cc',
+- '<(absl_srcdir)/strings/internal/str_format/float_conversion.cc',
+- '<(absl_srcdir)/strings/internal/str_format/output.cc',
+- '<(absl_srcdir)/strings/internal/str_format/parser.cc',
+- '<(absl_srcdir)/strings/internal/utf8.cc',
+- ],
+- 'dependencies': [
+- 'absl_base',
+- 'absl_numeric',
++ 'conditions': [
++ ['use_system_abseil_cpp==1', {
++ 'type': 'none',
++ 'all_dependent_settings': {
++ 'link_settings': {
++ 'libraries': [
++ '-labsl_strings_internal',
++ ],
++ },
++ },
++ }, {
++ 'type': 'static_library',
++ 'sources': [
++ # libabsl_strings
++ '<(absl_srcdir)/strings/internal/charconv_bigint.cc',
++ '<(absl_srcdir)/strings/internal/charconv_parse.cc',
++ # libabsl_strings_internal
++ '<(absl_srcdir)/strings/internal/escaping.cc',
++ # libabsl_strings
++ '<(absl_srcdir)/strings/internal/memutil.cc',
++ # libabsl_str_format_internal
++ '<(absl_srcdir)/strings/internal/str_format/arg.cc',
++ '<(absl_srcdir)/strings/internal/str_format/bind.cc',
++ '<(absl_srcdir)/strings/internal/str_format/extension.cc',
++ '<(absl_srcdir)/strings/internal/str_format/float_conversion.cc',
++ '<(absl_srcdir)/strings/internal/str_format/output.cc',
++ '<(absl_srcdir)/strings/internal/str_format/parser.cc',
++ # libabsl_strings_internal
++ '<(absl_srcdir)/strings/internal/utf8.cc',
++ ],
++ 'dependencies': [
++ 'absl_base',
++ 'absl_numeric',
++ ],
++ }],
+ ],
+ },
+ {
+ 'target_name': 'absl_strings',
+- 'type': 'static_library',
+ 'toolsets': ['host', 'target'],
+- 'sources': [
+- '<(absl_srcdir)/strings/ascii.cc',
+- '<(absl_srcdir)/strings/charconv.cc',
+- '<(absl_srcdir)/strings/escaping.cc',
+- '<(absl_srcdir)/strings/match.cc',
+- '<(absl_srcdir)/strings/numbers.cc',
+- '<(absl_srcdir)/strings/str_cat.cc',
+- '<(absl_srcdir)/strings/str_replace.cc',
+- '<(absl_srcdir)/strings/str_split.cc',
+- '<(absl_srcdir)/strings/string_view.cc',
+- '<(absl_srcdir)/strings/substitute.cc',
+- ],
+- 'dependencies': [
+- 'absl_base',
+- 'absl_numeric',
+- 'absl_strings_internal',
++ 'conditions': [
++ ['use_system_abseil_cpp==1', {
++ 'type': 'none',
++ 'all_dependent_settings': {
++ 'link_settings': {
++ 'libraries': [
++ '-labsl_str_format_internal -labsl_strings -labsl_strings_internal',
++ ],
++ },
++ },
++ }, {
++ 'type': 'static_library',
++ 'sources': [
++ # libabsl_strings
++ '<(absl_srcdir)/strings/ascii.cc',
++ '<(absl_srcdir)/strings/charconv.cc',
++ '<(absl_srcdir)/strings/escaping.cc',
++ '<(absl_srcdir)/strings/match.cc',
++ '<(absl_srcdir)/strings/numbers.cc',
++ '<(absl_srcdir)/strings/str_cat.cc',
++ '<(absl_srcdir)/strings/str_replace.cc',
++ '<(absl_srcdir)/strings/str_split.cc',
++ '<(absl_srcdir)/strings/string_view.cc',
++ '<(absl_srcdir)/strings/substitute.cc',
++ ],
++ 'dependencies': [
++ 'absl_base',
++ 'absl_numeric',
++ 'absl_strings_internal',
++ ],
++ }],
+ ],
+ },
+ {
+ 'target_name': 'absl_time',
+- 'type': 'static_library',
+ 'toolsets': ['host', 'target'],
+- 'sources': [
+- '<(absl_srcdir)/time/civil_time.cc',
+- '<(absl_srcdir)/time/clock.cc',
+- '<(absl_srcdir)/time/duration.cc',
+- '<(absl_srcdir)/time/format.cc',
+- '<(absl_srcdir)/time/time.cc',
+- '<(absl_srcdir)/time/internal/cctz/src/civil_time_detail.cc',
+- '<(absl_srcdir)/time/internal/cctz/src/time_zone_fixed.cc',
+- '<(absl_srcdir)/time/internal/cctz/src/time_zone_format.cc',
+- '<(absl_srcdir)/time/internal/cctz/src/time_zone_if.cc',
+- '<(absl_srcdir)/time/internal/cctz/src/time_zone_impl.cc',
+- '<(absl_srcdir)/time/internal/cctz/src/time_zone_info.cc',
+- '<(absl_srcdir)/time/internal/cctz/src/time_zone_libc.cc',
+- '<(absl_srcdir)/time/internal/cctz/src/time_zone_lookup.cc',
+- '<(absl_srcdir)/time/internal/cctz/src/time_zone_posix.cc',
+- '<(absl_srcdir)/time/internal/cctz/src/zone_info_source.cc',
+- ],
+- 'cflags': [
+- '-Wno-error',
+- ],
+- 'dependencies': [
+- 'absl_base',
+- 'absl_numeric',
+- 'absl_strings_internal',
++ 'conditions': [
++ ['use_system_abseil_cpp==1', {
++ 'type': 'none',
++ 'all_dependent_settings': {
++ 'link_settings': {
++ 'libraries': [
++ '-labsl_civil_time -labsl_time -labsl_time_zone',
++ ],
++ },
++ },
++ }, {
++ 'type': 'static_library',
++ 'sources': [
++ # libabsl_time
++ '<(absl_srcdir)/time/civil_time.cc',
++ '<(absl_srcdir)/time/clock.cc',
++ '<(absl_srcdir)/time/duration.cc',
++ '<(absl_srcdir)/time/format.cc',
++ '<(absl_srcdir)/time/time.cc',
++ # libabsl_civil_time
++ '<(absl_srcdir)/time/internal/cctz/src/civil_time_detail.cc',
++ # libabsl_time_zone
++ '<(absl_srcdir)/time/internal/cctz/src/time_zone_fixed.cc',
++ '<(absl_srcdir)/time/internal/cctz/src/time_zone_format.cc',
++ '<(absl_srcdir)/time/internal/cctz/src/time_zone_if.cc',
++ '<(absl_srcdir)/time/internal/cctz/src/time_zone_impl.cc',
++ '<(absl_srcdir)/time/internal/cctz/src/time_zone_info.cc',
++ '<(absl_srcdir)/time/internal/cctz/src/time_zone_libc.cc',
++ '<(absl_srcdir)/time/internal/cctz/src/time_zone_lookup.cc',
++ '<(absl_srcdir)/time/internal/cctz/src/time_zone_posix.cc',
++ '<(absl_srcdir)/time/internal/cctz/src/zone_info_source.cc',
++ ],
++ 'cflags': [
++ '-Wno-error',
++ ],
++ 'dependencies': [
++ 'absl_base',
++ 'absl_numeric',
++ 'absl_strings_internal',
++ ],
++ }],
+ ],
+ },
+ ],
+--- /src/config/config_test.gyp
++++ /src/config/config_test.gyp
+@@ -36,6 +36,7 @@
+ 'config_handler_test.cc',
+ ],
+ 'dependencies': [
++ '../base/absl.gyp:absl_base',
+ '../testing/testing.gyp:gtest_main',
+ '../testing/testing.gyp:mozctest',
+ 'config.gyp:config_handler',
+@@ -80,6 +81,7 @@
+ 'character_form_manager_test.cc',
+ ],
+ 'dependencies': [
++ '../base/absl.gyp:absl_base',
+ '../testing/testing.gyp:gtest_main',
+ 'config.gyp:character_form_manager',
+ ],
+--- /src/gyp/common.gypi
++++ /src/gyp/common.gypi
+@@ -194,7 +194,13 @@
+ 'include_dirs': [
+ '<(abs_depth)',
+ '<(SHARED_INTERMEDIATE_DIR)',
+- '<(absl_dir)',
++ ],
++ 'conditions': [
++ ['use_system_abseil_cpp==0', {
++ 'include_dirs': [
++ '<(absl_dir)',
++ ],
++ }],
+ ],
+ 'mac_framework_headers': [],
+ 'target_conditions': [
+--- /src/gyp/common_win.gypi
++++ /src/gyp/common_win.gypi
+@@ -307,10 +307,16 @@
+ 'include_dirs': [
+ '<(abs_depth)',
+ '<(SHARED_INTERMEDIATE_DIR)',
+- '<(absl_dir)',
+ '<@(msvs_includes)',
+ '<(wtl_dir)/include',
+ ],
++ 'conditions': [
++ ['use_system_abseil_cpp==0', {
++ 'include_dirs': [
++ '<(absl_dir)',
++ ],
++ }],
++ ],
+ 'msvs_configuration_attributes': {
+ 'CharacterSet': '<(win_char_set_unicode)',
+ },
+--- /src/gyp/defines.gypi
++++ /src/gyp/defines.gypi
+@@ -63,6 +63,10 @@
+ # use_libibus represents if ibus library is used or not.
+ # This option is only for Linux.
+ 'use_libibus%': '0',
++
++ # use_system_abseil_cpp represents if system version or bundled version
++ # of abseil-cpp library is used.
++ 'use_system_abseil_cpp%': '0',
+ },
+ 'target_defaults': {
+ 'defines': [
+--- /src/gyp/directories.gypi
++++ /src/gyp/directories.gypi
+@@ -31,7 +31,12 @@
+ 'variables': {
+ # Top directory of third party libraries.
+ 'third_party_dir': '<(DEPTH)/third_party',
+- 'absl_dir': '<(DEPTH)/third_party/abseil-cpp',
++
++ 'conditions': [
++ ['use_system_abseil_cpp==0', {
++ 'absl_dir': '<(DEPTH)/third_party/abseil-cpp',
++ }],
++ ],
+
+ # Top directory of additional third party libraries.
+ 'ext_third_party_dir%': '<(abs_depth)/third_party',
+--- /src/session/session_test.gyp
++++ /src/session/session_test.gyp
+@@ -221,6 +221,7 @@
+ 'internal/key_event_transformer_test.cc',
+ ],
+ 'dependencies': [
++ '../base/absl.gyp:absl_base',
+ '../base/base.gyp:base',
+ '../converter/converter_base.gyp:converter_mock',
+ '../engine/engine.gyp:mock_converter_engine',
+--- /src/storage/storage_test.gyp
++++ /src/storage/storage_test.gyp
+@@ -41,6 +41,7 @@
+ 'tiny_storage_test.cc',
+ ],
+ 'dependencies': [
++ '../base/absl.gyp:absl_base',
+ '../testing/testing.gyp:gtest_main',
+ 'storage.gyp:storage',
+ ],
diff --git a/app-i18n/mozc/files/mozc-2.26.4220-system_gtest.patch b/app-i18n/mozc/files/mozc-2.26.4220-system_gtest.patch
new file mode 100644
index 000000000000..47891fab9b47
--- /dev/null
+++ b/app-i18n/mozc/files/mozc-2.26.4220-system_gtest.patch
@@ -0,0 +1,141 @@
+https://github.com/google/mozc/issues/490
+
+--- /src/gyp/defines.gypi
++++ /src/gyp/defines.gypi
+@@ -67,6 +67,10 @@
+ # use_system_abseil_cpp represents if system version or bundled version
+ # of abseil-cpp library is used.
+ 'use_system_abseil_cpp%': '0',
++
++ # use_system_gtest represents if system version or bundled version
++ # of gtest library is used.
++ 'use_system_gtest%': '0',
+ },
+ 'target_defaults': {
+ 'defines': [
+--- /src/testing/testing.gyp
++++ /src/testing/testing.gyp
+@@ -59,54 +59,76 @@
+ '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',
+- },
+- '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-matchers.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_system_gtest==1', {
++ 'type': 'none',
++ 'variables': {
++ 'gtest_defines': [
++ 'GTEST_LANG_CXX11=1',
++ 'GTEST_HAS_TR1_TUPLE=0', # disable tr1 tuple in favor of C++11 tuple.
++ ],
++ },
++ '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',
++ },
++ '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-matchers.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/files/mozc-2.26.4220-system_jsoncpp.patch b/app-i18n/mozc/files/mozc-2.26.4220-system_jsoncpp.patch
new file mode 100644
index 000000000000..7ff132eaa591
--- /dev/null
+++ b/app-i18n/mozc/files/mozc-2.26.4220-system_jsoncpp.patch
@@ -0,0 +1,117 @@
+https://github.com/google/mozc/issues/490
+
+--- /src/gyp/defines.gypi
++++ /src/gyp/defines.gypi
+@@ -71,6 +71,10 @@
+ # use_system_gtest represents if system version or bundled version
+ # of gtest library is used.
+ 'use_system_gtest%': '0',
++
++ # use_system_jsoncpp represents if system version or bundled version
++ # of jsoncpp library is used.
++ 'use_system_jsoncpp%': '0',
+ },
+ 'target_defaults': {
+ 'defines': [
+--- /src/net/jsoncpp.gyp
++++ /src/net/jsoncpp.gyp
+@@ -31,32 +31,60 @@
+ '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_system_jsoncpp==1', {
++ 'type': 'none',
++ 'variables': {
++ 'jsoncpp_additional_macros': [
++ 'JSON_USE_EXCEPTION=0',
++ 'MOZC_USE_SYSTEM_JSONCPP',
++ ],
++ },
++ '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,11 @@
+ // Mozc basically disables C++ exception.
+ #define JSON_USE_EXCEPTION 0
+ #endif // !JSON_USE_EXCEPTION
++#ifdef MOZC_USE_SYSTEM_JSONCPP
++#include <json/json.h>
++#else
+ #include "third_party/jsoncpp/include/json/json.h"
++#endif
+ #define MOZC_JSONCPP_JSON_H_INCLUDED
+ #endif // !MOZC_JSONCPP_JSON_H_INCLUDED
+
diff --git a/app-i18n/mozc/mozc-2.26.4220_p20201212102434_p20201219202429.ebuild b/app-i18n/mozc/mozc-2.26.4220_p20201212102434_p20201219202429.ebuild
new file mode 100644
index 000000000000..d6d44a3758f6
--- /dev/null
+++ b/app-i18n/mozc/mozc-2.26.4220_p20201212102434_p20201219202429.ebuild
@@ -0,0 +1,380 @@
+# Copyright 2010-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+PYTHON_COMPAT=(python{3_7,3_8,3_9})
+
+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="9ba59b64d53365c1fe93c1c245b4ec3e35bdadf0"
+ MOZC_DATE="${PV#*_p}"
+ MOZC_DATE="${MOZC_DATE%%_p*}"
+
+ FCITX_MOZC_GIT_REVISION="1ea089debc31ff216473369ad71c08318384ee06"
+ FCITX_MOZC_DATE="${PV#*_p}"
+ FCITX_MOZC_DATE="${FCITX_MOZC_DATE#*_p}"
+ FCITX_MOZC_DATE="${FCITX_MOZC_DATE%%_p*}"
+
+ JAPANESE_USAGE_DICTIONARY_GIT_REVISION="a4a66772e33746b91e99caceecced9a28507e925"
+ JAPANESE_USAGE_DICTIONARY_DATE="20180701040110"
+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 -> ${PN}-${PV%%_p*}-${MOZC_DATE}.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
+ fcitx4? ( https://github.com/fcitx/${PN}/archive/${FCITX_MOZC_GIT_REVISION}.tar.gz -> fcitx-${PN}-${PV%%_p*}-${FCITX_MOZC_DATE}.tar.gz )"
+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 ~ppc64 ~x86"
+IUSE="debug emacs fcitx4 +gui ibus renderer test"
+REQUIRED_USE="|| ( emacs fcitx4 ibus )"
+RESTRICT="!test? ( test )"
+
+BDEPEND="$(python_gen_any_dep 'dev-python/six[${PYTHON_USEDEP}]')
+ >=dev-libs/protobuf-3.0.0
+ dev-util/gyp
+ dev-util/ninja
+ virtual/pkgconfig
+ emacs? ( app-editors/emacs:* )
+ fcitx4? ( sys-devel/gettext )"
+DEPEND=">=dev-cpp/abseil-cpp-20200923[cxx17(+)]
+ >=dev-libs/protobuf-3.0.0:=
+ fcitx4? (
+ app-i18n/fcitx:4
+ virtual/libintl
+ )
+ gui? (
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qtwidgets:5
+ )
+ 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
+ )
+ test? (
+ >=dev-cpp/gtest-1.8.0
+ dev-libs/jsoncpp
+ )"
+RDEPEND=">=dev-cpp/abseil-cpp-20200923[cxx17(+)]
+ >=dev-libs/protobuf-3.0.0:=
+ emacs? ( app-editors/emacs:* )
+ fcitx4? (
+ app-i18n/fcitx:4
+ virtual/libintl
+ )
+ gui? (
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qtwidgets:5
+ )
+ 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
+ )"
+
+S="${WORKDIR}/${P}/src"
+
+SITEFILE="50${PN}-gentoo.el"
+
+execute() {
+ einfo "$@"
+ "$@"
+}
+
+python_check_deps() {
+ has_version -b "dev-python/six[${PYTHON_USEDEP}]"
+}
+
+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 ${PN}-${PV%%_p*}-${MOZC_DATE}.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
+
+ if use fcitx4; then
+ unpack fcitx-${PN}-${PV%%_p*}-${FCITX_MOZC_DATE}.tar.gz
+ mv mozc-${FCITX_MOZC_GIT_REVISION} fcitx-${PN}
+ fi
+ fi
+}
+
+src_prepare() {
+ if use fcitx4; then
+ cp -pr "${WORKDIR}/fcitx-mozc/src/unix/fcitx" unix || die
+ fi
+
+ pushd "${WORKDIR}/${P}" > /dev/null || die
+
+ eapply "${FILESDIR}/${PN}-2.26.4220-system_abseil-cpp.patch"
+ eapply "${FILESDIR}/${PN}-2.26.4220-system_gtest.patch"
+ eapply "${FILESDIR}/${PN}-2.26.4220-system_jsoncpp.patch"
+ eapply "${FILESDIR}/${PN}-2.26.4220-environmental_variables.patch"
+ eapply "${FILESDIR}/${PN}-2.26.4220-server_path_check.patch"
+
+ eapply_user
+
+ popd > /dev/null || die
+
+ 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
+
+ local ar=($(tc-getAR))
+ local cc=($(tc-getCC))
+ local cxx=($(tc-getCXX))
+ local ld=($(tc-getLD))
+ local nm=($(tc-getNM))
+ local readelf=($(tc-getREADELF))
+
+ # 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
+
+ # https://github.com/google/mozc/issues/489
+ sed \
+ -e "/'-lc++'/d" \
+ -e "/'-stdlib=libc++'/d" \
+ -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 debug_extra_cflags=)
+ gyp_arguments+=(-D release_extra_cflags=)
+
+ gyp_arguments+=(-D use_fcitx=$(usex fcitx4 YES NO))
+ gyp_arguments+=(-D use_libibus=$(usex ibus 1 0))
+ gyp_arguments+=(-D use_libprotobuf=1)
+ gyp_arguments+=(-D use_system_abseil_cpp=1)
+ gyp_arguments+=(-D use_system_gtest=$(usex test 1 0))
+ gyp_arguments+=(-D use_system_jsoncpp=$(usex test 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 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 ../../fcitx-${PN}/src/data/images/unix/ui-*.png; do
+ newins "${image}" "mozc-${image#../../fcitx-${PN}/src/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\""
+ 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/mozc/mozc-9999.ebuild b/app-i18n/mozc/mozc-9999.ebuild
index b93a912f62ea..020c3b037550 100644
--- a/app-i18n/mozc/mozc-9999.ebuild
+++ b/app-i18n/mozc/mozc-9999.ebuild
@@ -13,9 +13,16 @@ if [[ "${PV}" == "9999" ]]; then
EGIT_SUBMODULES=(src/third_party/japanese_usage_dictionary)
else
MOZC_GIT_REVISION=""
+ MOZC_DATE="${PV#*_p}"
+ MOZC_DATE="${MOZC_DATE%%_p*}"
+
+ FCITX_MOZC_GIT_REVISION=""
+ FCITX_MOZC_DATE="${PV#*_p}"
+ FCITX_MOZC_DATE="${FCITX_MOZC_DATE#*_p}"
+ FCITX_MOZC_DATE="${FCITX_MOZC_DATE%%_p*}"
+
JAPANESE_USAGE_DICTIONARY_GIT_REVISION=""
JAPANESE_USAGE_DICTIONARY_DATE=""
- FCITX_PATCH_VERSION=""
fi
DESCRIPTION="Mozc - Japanese input method editor"
@@ -23,10 +30,9 @@ 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
+ SRC_URI="https://github.com/google/${PN}/archive/${MOZC_GIT_REVISION}.tar.gz -> ${PN}-${PV%%_p*}-${MOZC_DATE}.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 )"
+ fcitx4? ( https://github.com/fcitx/${PN}/archive/${FCITX_MOZC_GIT_REVISION}.tar.gz -> fcitx-${PN}-${PV%%_p*}-${FCITX_MOZC_DATE}.tar.gz )"
fi
# Mozc: BSD
@@ -36,30 +42,27 @@ fi
LICENSE="BSD BSD-2 ipadic public-domain unicode"
SLOT="0"
KEYWORDS=""
-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 )"
+IUSE="debug emacs fcitx4 +gui ibus renderer test"
+REQUIRED_USE="|| ( emacs fcitx4 ibus )"
RESTRICT="!test? ( test )"
-BDEPEND="${PYTHON_DEPS}
+BDEPEND="$(python_gen_any_dep 'dev-python/six[${PYTHON_USEDEP}]')
>=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:* )
+DEPEND=">=dev-cpp/abseil-cpp-20200923[cxx17(+)]
+ >=dev-libs/protobuf-3.0.0:=
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
@@ -71,12 +74,34 @@ RDEPEND=">=dev-libs/protobuf-3.0.0:=
x11-libs/cairo
x11-libs/gtk+:2
x11-libs/pango
- )"
-DEPEND="${RDEPEND}
+ )
test? (
>=dev-cpp/gtest-1.8.0
dev-libs/jsoncpp
)"
+RDEPEND=">=dev-cpp/abseil-cpp-20200923[cxx17(+)]
+ >=dev-libs/protobuf-3.0.0:=
+ emacs? ( app-editors/emacs:* )
+ fcitx4? (
+ app-i18n/fcitx:4
+ virtual/libintl
+ )
+ gui? (
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qtwidgets:5
+ )
+ 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
+ )"
S="${WORKDIR}/${P}/src"
@@ -87,6 +112,10 @@ execute() {
"$@"
}
+python_check_deps() {
+ has_version -b "dev-python/six[${PYTHON_USEDEP}]"
+}
+
src_unpack() {
if [[ "${PV}" == "9999" ]]; then
git-r3_src_unpack
@@ -97,55 +126,48 @@ src_unpack() {
git-r3_checkout https://github.com/fcitx/mozc "${WORKDIR}/fcitx-mozc"
fi
else
- unpack ${P}.tar.gz
+ unpack ${PN}-${PV%%_p*}-${MOZC_DATE}.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
+
+ if use fcitx4; then
+ unpack fcitx-${PN}-${PV%%_p*}-${FCITX_MOZC_DATE}.tar.gz
+ mv mozc-${FCITX_MOZC_GIT_REVISION} fcitx-${PN}
+ fi
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-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
+ cp -pr "${WORKDIR}/fcitx-mozc/src/unix/fcitx" unix || die
fi
+ pushd "${WORKDIR}/${P}" > /dev/null || die
+
+ eapply "${FILESDIR}/${PN}-2.26.4220-system_abseil-cpp.patch"
+ eapply "${FILESDIR}/${PN}-2.26.4220-system_gtest.patch"
+ eapply "${FILESDIR}/${PN}-2.26.4220-system_jsoncpp.patch"
+ eapply "${FILESDIR}/${PN}-2.26.4220-environmental_variables.patch"
+ eapply "${FILESDIR}/${PN}-2.26.4220-server_path_check.patch"
+
eapply_user
+ popd > /dev/null || die
+
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))
+ local readelf=($(tc-getREADELF))
# Use absolute paths. Non-absolute paths are mishandled by GYP.
ar[0]=$(type -P ${ar[0]})
@@ -163,6 +185,12 @@ src_prepare() {
-e "s:<!(which nm):${nm[@]}:" \
-e "s:<!(which readelf):${readelf[@]}:" \
-i gyp/common.gypi || die
+
+ # https://github.com/google/mozc/issues/489
+ sed \
+ -e "/'-lc++'/d" \
+ -e "/'-stdlib=libc++'/d" \
+ -i gyp/common.gypi || die
}
src_configure() {
@@ -182,23 +210,20 @@ src_configure() {
gyp_arguments+=(-D compiler_host=unknown -D compiler_target=unknown)
fi
+ gyp_arguments+=(-D debug_extra_cflags=)
+ gyp_arguments+=(-D release_extra_cflags=)
+
gyp_arguments+=(-D use_fcitx=$(usex fcitx4 YES 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 use_system_abseil_cpp=1)
+ gyp_arguments+=(-D use_system_gtest=$(usex test 1 0))
+ gyp_arguments+=(-D use_system_jsoncpp=$(usex test 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")
@@ -280,8 +305,8 @@ src_install() {
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-}"
+ for image in ../../fcitx-${PN}/src/data/images/unix/ui-*.png; do
+ newins "${image}" "mozc-${image#../../fcitx-${PN}/src/data/images/unix/ui-}"
done
local locale mo_file
@@ -322,18 +347,6 @@ pkg_postinst() {
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
diff --git a/app-i18n/opencc/Manifest b/app-i18n/opencc/Manifest
index 7282cd5a38e9..618fc45e12fe 100644
--- a/app-i18n/opencc/Manifest
+++ b/app-i18n/opencc/Manifest
@@ -1,8 +1,15 @@
+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-1.1.2-system_libraries.patch 3034 BLAKE2B eaba6418757a4ce4fa71ae4f13fdaf7e0980da4af3e74c666d6b907646a5ffd2cb22f9cc5223486c13878cdb913d75af85b491b922579b456d036f4e39801e8c SHA512 305ad0a65bd43f092fd4d8bdbc4250667a7d2cafe0589e927ee92efe6898711a4a3a923149cfc3191e51f131fcccf25483af94678449bff5d8edf64098946d53
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
-EBUILD opencc-1.0.5.ebuild 1379 BLAKE2B c1a62bbb0971d538154cf525af4ff8d9a8becb59a701d663f2bcfe0f77db900eb18224c379bb7df46a472a27124a1db225c817838784cd917a9cb933e410c045 SHA512 9be51d5871bbd0bad6db8bb1cb4f6e58326ed4b9060add48eec76069f79dfdf2152171bc731712d03342f0c62b11fa4ccc7a8e60c95aa87da55067115c21a0d8
+DIST opencc-1.1.0.tar.gz 2209140 BLAKE2B 71cc659976cf30ac0d7dd52cdfa644a85e4e38fed081176bb2f2da2702203c0faeddf76818c8cc89a5fe2a2cfe3eee85fcb27010766db461817b204403cc9b46 SHA512 c5d95e84e0c8edf600f441b79431f721e721b1028619170e27fbc762da32c9ef99c9d28c2c5eaf34226d23a24e2fe5e494cedb28f1182acb06f94b72d7cbb52c
+DIST opencc-1.1.1.tar.gz 2212256 BLAKE2B 0299023f4c950ebedc0a7bc4ca142fbf737c612aca5c8cba8787bebcf2ac8afcacb056b015fbc151136166f679a4551fc5d6bbc0481b930331228ea7484fbe68 SHA512 48ccf61f63cf0a1c0fc484a52ae1d406a28949a52be7d7d1595e6aaf87f40ac47ea4697308441a9381f0cd6f404ee5a28b85a2fa2f288c4b3933be36f4a41363
+EBUILD opencc-1.0.5.ebuild 1380 BLAKE2B 8ab9c830656672341c4c8752a5785585719794e8a0413c9f0cccdbc43331a3358f769427d70daa7bde7551abed293fd42eff12a5cf47c08b5bd98e34df3af938 SHA512 6eae458b2987825cf6a38b69a8aad9a062f89358c47a297a29327f6f96ded31d22c0ba45d8e20ebdcea9ec0f185b381d764a0730dbd52350f1c7d7da4b88086a
EBUILD opencc-1.0.6.ebuild 1354 BLAKE2B 948b8d384e4f9af810005a1e44209def5977ebcee6b0ebaeb208b39790f91aa821f63a79c725999a785fdd197fceabf6372bce1f05de4512fb74719aa4fbed88 SHA512 e2537586767a47fbbb22101e9ba22ef45742381fd9f6845b09804bb723407a5578cec62601fae79c4a463bcab339e9adce99179507290c6d67546fa999e873e6
-EBUILD opencc-9999.ebuild 1380 BLAKE2B 4e4301a0b1927025ec88bbe3162895782ff3f49e6a1d6ecc1cb69a60a157838c6848db288d53949a5a8ab1da313972f8d28359676628eb8bec68c4540ea784bd SHA512 50141301b91df838a7833d18d7df5d27266f071ca6e80f8621f4856fc9912f1db6f4d6f725d37ad5cf47b4ea41dc70456c7eec1ed10bd2f5de628826bf386256
+EBUILD opencc-1.1.0.ebuild 1402 BLAKE2B 56e77f6bb4902bcc6cd6bf1659edcd6f18fdc85566bc22518989670d8f2b2463111cbcce240822bdf2482b413943e67482b7c9d5e11daf5fa6e64deb1f82ea33 SHA512 d83319b58fcf9d05c91c45765afe8856c58784d3bb981dd4ea9cf7b7068dec40d6ddff3bc5619b542ae37d91980f1c2f8a4a23d8fd326558c20718e76fd1f22e
+EBUILD opencc-1.1.1.ebuild 1647 BLAKE2B ddc71cae9fe727e7a466d008dd6e7d4174e9f8a7c213baf0902cf202312e9c14b35106375e08a9d8a9793cb6fe2cc51f3a862eb51819e9bade08c0c1fea867c8 SHA512 d26bce27b3bc48343622a1b91eab6ffd4aaa8a164a03d56312cbf191773b182bb8e76cf677c881f7581e37505db12f830e7d0fc7044b05ff2ade851b905dbb0b
+EBUILD opencc-9999.ebuild 1629 BLAKE2B 8fcc56601dc78f7205b0e05634922293ff480607c74a64cd7199a374f20ffa67b9bfd6af3491145cbe18463132a9b82b5503c7acf40fb644a64d4b3eef87ce33 SHA512 cfc6b67c69038b368354904e4e91ca6ceaf2bd4daf62470ec10a4ad3256a67df7945366a1ad80cfb4b7e639318e3614fd754a0f1b9702144bc8bd3ffbfdfe5a6
MISC metadata.xml 609 BLAKE2B 033d770cab9cbc02a2e50b414ec469089f6864826f0bc7f969b19552303aec84d540b0b748770b43e61ec4ff5aa5f946c292e587a8ea144d2e16de70bda8669d SHA512 73432bae21dfaa03db07de30b15aa5417b25b7d9a6b886b595652f2fbde2d505367236164f6e01ff4cab31e967aaea9d2b30f636a28aacc2cb167c51e2535626
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
new file mode 100644
index 000000000000..3163aa0a16e3
--- /dev/null
+++ b/app-i18n/opencc/files/opencc-1.1.0-parallel_build.patch
@@ -0,0 +1,40 @@
+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
new file mode 100644
index 000000000000..ee0527f22356
--- /dev/null
+++ b/app-i18n/opencc/files/opencc-1.1.1-system_libraries.patch
@@ -0,0 +1,94 @@
+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/files/opencc-1.1.2-system_libraries.patch b/app-i18n/opencc/files/opencc-1.1.2-system_libraries.patch
new file mode 100644
index 000000000000..e0b624a63e9f
--- /dev/null
+++ b/app-i18n/opencc/files/opencc-1.1.2-system_libraries.patch
@@ -0,0 +1,111 @@
+https://github.com/BYVoid/OpenCC/issues/547
+
+--- /CMakeLists.txt
++++ /CMakeLists.txt
+@@ -28,8 +28,14 @@
+ 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(BUILD_PYTHON "Build python library" OFF)
++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_PYBIND11 "Use system version of pybind11" 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)
+@@ -173,7 +179,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()
+@@ -195,20 +201,30 @@
+ ######## 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()
+
+ ######## Python
+
+ if (BUILD_PYTHON)
+- add_subdirectory(deps/pybind11-2.5.0)
++ if(USE_SYSTEM_PYBIND11)
++ include(pybind11Config)
++ include(pybind11Common)
++ include(pybind11Tools)
++ else()
++ add_subdirectory(deps/pybind11-2.5.0)
++ endif()
+ pybind11_add_module(opencc_clib src/py_opencc.cpp)
+ target_link_libraries(opencc_clib PRIVATE libopencc)
+ 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.5.ebuild b/app-i18n/opencc/opencc-1.0.5.ebuild
index 791c79b18315..f512433eb485 100644
--- a/app-i18n/opencc/opencc-1.0.5.ebuild
+++ b/app-i18n/opencc/opencc-1.0.5.ebuild
@@ -27,7 +27,7 @@ fi
# 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"
+KEYWORDS="amd64 arm64 ~hppa ppc ppc64 sparc x86"
IUSE="doc test"
RESTRICT="!test? ( test )"
diff --git a/app-i18n/opencc/opencc-1.1.0.ebuild b/app-i18n/opencc/opencc-1.1.0.ebuild
new file mode 100644
index 000000000000..0870f67310e8
--- /dev/null
+++ b/app-i18n/opencc/opencc-1.1.0.ebuild
@@ -0,0 +1,64 @@
+# Copyright 2010-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+PYTHON_COMPAT=(python{3_7,3_8,3_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
new file mode 100644
index 000000000000..896492a3195f
--- /dev/null
+++ b/app-i18n/opencc/opencc-1.1.1.ebuild
@@ -0,0 +1,76 @@
+# Copyright 2010-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+PYTHON_COMPAT=(python{3_7,3_8,3_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/benchmark
+ dev-cpp/gtest
+ )"
+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=$(usex test ON OFF)
+ -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/opencc/opencc-9999.ebuild b/app-i18n/opencc/opencc-9999.ebuild
index 8a1dbc501c8b..877345405505 100644
--- a/app-i18n/opencc/opencc-9999.ebuild
+++ b/app-i18n/opencc/opencc-9999.ebuild
@@ -20,44 +20,56 @@ 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"
+LICENSE="Apache-2.0"
+SLOT="0/1.1"
KEYWORDS=""
IUSE="doc test"
RESTRICT="!test? ( test )"
BDEPEND="${PYTHON_DEPS}
doc? ( app-doc/doxygen )"
-DEPEND=""
-RDEPEND=""
+DEPEND="dev-cpp/tclap
+ dev-libs/darts
+ dev-libs/marisa:0=
+ dev-libs/rapidjson
+ test? (
+ dev-cpp/benchmark
+ dev-cpp/gtest
+ )"
+RDEPEND="dev-libs/marisa:0="
if [[ "${PV}" != "9999" ]]; then
S="${WORKDIR}/OpenCC-ver.${PV}"
fi
PATCHES=(
- "${FILESDIR}/${PN}-stop-copy.patch"
+ "${FILESDIR}/${PN}-1.1.0-parallel_build.patch"
+ "${FILESDIR}/${PN}-1.1.2-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)
- -DBUILD_SHARED_LIBS=ON
+ -DENABLE_BENCHMARK=$(usex test ON OFF)
-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 3957c502cf03..f1ede5863e94 100644
--- a/app-i18n/rime-data/Manifest
+++ b/app-i18n/rime-data/Manifest
@@ -2,4 +2,4 @@ DIST brise-0.35.tar.gz 6707277 BLAKE2B 610ea2e58800676b88bc79ce7075ed5fa8ec041f2
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 600 BLAKE2B 3c4ba0371ca7088b9142f7fdad617c1b149cf7d5e6b9f93a5a4f12af1de4d276e3973a8092450bcc86e1acab4389d04f6a1ec9ee5cf599b7b7c1ee43cb0064bb SHA512 759252765da22d73f9e907c0095d7e60fa73aac194929da36757eab25ecb57311381459c444345eb4da5305ea15ba5ee5b89d458f39101ad887d5d9766282723
+MISC metadata.xml 715 BLAKE2B 53298428129b60d501c353f2b20984bb185d5064990659eda2b25a48faf11aab0199af7dff3f15289539e1be92544489e4001979b277e9679a0fdaeec1e0517e SHA512 694867ca96e49d673c23cfb9e279bd3a9f3aa431a848936a3ac4f57b078a11ce57976645f5f65a2362ea34f02b1fda31fb2ae2935bdc28c98fffad71e09941c6
diff --git a/app-i18n/rime-data/metadata.xml b/app-i18n/rime-data/metadata.xml
index 21b0e91de72c..197ef071dbd3 100644
--- a/app-i18n/rime-data/metadata.xml
+++ b/app-i18n/rime-data/metadata.xml
@@ -1,22 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>dlan@gentoo.org</email>
- <name>Yixun Lan</name>
- </maintainer>
- <maintainer type="project">
- <email>cjk@gentoo.org</email>
- <name>Cjk</name>
- </maintainer>
- <use>
- <flag name="extra">Install extra packages</flag>
- </use>
- <upstream>
- <maintainer>
- <email>chen.sst@gmail.com</email>
- <name>Gong Chen</name>
- </maintainer>
- <remote-id type="github">rime/brise</remote-id>
- </upstream>
+ <maintainer type="person">
+ <email>arfrever.fta@gmail.com</email>
+ <name>Arfrever Frehtes Taifersar Arahesis</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>dlan@gentoo.org</email>
+ <name>Yixun Lan</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>cjk@gentoo.org</email>
+ <name>Cjk</name>
+ </maintainer>
+ <use>
+ <flag name="extra">Install extra packages</flag>
+ </use>
+ <upstream>
+ <maintainer>
+ <email>chen.sst@gmail.com</email>
+ <name>弓辰 (Gōng Chén)</name>
+ </maintainer>
+ <remote-id type="github">rime/brise</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/app-i18n/uchardet/Manifest b/app-i18n/uchardet/Manifest
index da143e3e6a73..a36941fd55e8 100644
--- a/app-i18n/uchardet/Manifest
+++ b/app-i18n/uchardet/Manifest
@@ -1,7 +1,7 @@
AUX uchardet-0.0.6-enforce-IEEE-float-precision-r1.patch 2401 BLAKE2B 3f0cf425385d333488c7eeb37c37f3ec6a224e0a96d2c1bbcaded770c8ab6b5bd8277808fbce2bbc960cb3838e0e9de8d889ef9fe2af2e3b44ec4a81031d43f1 SHA512 fb684a362095810bb462609859018dd22987704ab9def0d0ea9ab6afc076fddcf338c622b9f587649d6f561a216b8bc234d3499c499ce3d4589113e908037972
DIST uchardet-0.0.6.tar.xz 169192 BLAKE2B a0bc80ecd12565c1459b8136e3dc0530250571b5adbe4a7013c561f846f64f58482b9fd9cc5aa7493f20e913f59504a6e08c26571bf33ff34b4823f55d857b8c SHA512 eceeadae060bf277e298d709856609dde32921271140dc1fb0a33c7b6e1381033fc2960d616ebbd82c92815936864d2c0743b1b5ea1b7d4a200df87df80d6de5
DIST uchardet-0.0.7.tar.xz 215492 BLAKE2B 1f8b171676bc6edf1f3493a4a370e32b7b956104ea0b12a03837d817c386d59aa512c3a107426aedb087987cf3a7b99c4b2df4a667ed685ff9959f6bc6b4506c SHA512 ddb7b63dd09c1d9acbe620d86217e583d9aa5340780ab4010ec9faa4fd331498859d5efa7829bf8847da89325accf8f7304b51d410210178fc1ffa6658064a6f
-EBUILD uchardet-0.0.6-r2.ebuild 852 BLAKE2B a6de024ad35692b0274e47f8d3cfa29bb75767cb3df15e68274185fff05311d3cf94f1cdd8009f3fb2900d30b6c710ff1bc0fc210fad50086311400b47c1e3cc SHA512 1a438390a330197e487fc1578a572c65b1a6c1a7fb75bf06e0d5e6e2bfc39a42ef816afc509567b169c2c371438e315e4fb4f48dec4484509d99e87a7a811b60
+EBUILD uchardet-0.0.6-r2.ebuild 853 BLAKE2B d1d6952ad6ed96b482cca2ff18987c324ebecf01ba9484c003a19ebdd95b9ad9203b4a7c3aa24390ad30fa0f275ddfce6198670902949bae06f9ceab1faf43b2 SHA512 d76c390c7e4f87b9c209dd50186971ae042b704c266b6f31d3769f09076024cf6c461e5b6b0bc55764b31729b0a3801816b2d14502de7ecf25fb8b94e6cdbe59
EBUILD uchardet-0.0.7.ebuild 916 BLAKE2B 0dc7688b33e8222399ae0a867e32a9565232cfa47d73a00151e7e5d4527f62ee9c3a51058c8e467d4e93ed4a57b33588c983e7ce5d4ca00074cb20c8a88cb689 SHA512 29d7ec2b93f49d3bc33f7adf43b4b2efc8eab063994f029c7c675c394161f0c3dc510fd7d88bfb60201ae350cc705711e1ae8f0a1e3c345efec6a44973d3e0ec
EBUILD uchardet-9999.ebuild 838 BLAKE2B 1fa9152117465b5e792942983a98d1a0f69373b34f723d1811d5bc8718cffa6f61f3a808d5e70e5837bd4969eb32a49b744a7e200d7d1760d60a0bdf1b08a6c2 SHA512 2a0a59e862a98c88f1a4186043e3eb6819ea09b5b28fa5ae8ec5edaa2f328ced05cd2ad19b2288ee119741987ed7f8ba8756d440d48c264996f2e3d6a6e39e04
MISC metadata.xml 671 BLAKE2B e4d37fa90064a38dceb1472cc2683257d8f7f7ef5f4c15a440f2d9102f91561d408b919c29077b305013e5dc967b42400ec49ee6a50037708a76b2c2e1742e44 SHA512 38fbc4d87e388fc19dcb64a65fe8859307dd7636a4327353131a7c8ebf8974cd74c73486b9dedf1f350d1d42e23a23e33737a1e2e3f4b769f9f64d730149c8a6
diff --git a/app-i18n/uchardet/uchardet-0.0.6-r2.ebuild b/app-i18n/uchardet/uchardet-0.0.6-r2.ebuild
index 8d86ff1b0b38..da7d6a5567be 100644
--- a/app-i18n/uchardet/uchardet-0.0.6-r2.ebuild
+++ b/app-i18n/uchardet/uchardet-0.0.6-r2.ebuild
@@ -11,7 +11,7 @@ SRC_URI="https://www.freedesktop.org/software/uchardet/releases/${P}.tar.xz"
LICENSE="|| ( MPL-1.1 GPL-2+ LGPL-2.1+ )"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ppc ppc64 sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 sparc x86"
IUSE="cpu_flags_x86_sse2 static-libs test"
RESTRICT="!test? ( test )"