diff options
Diffstat (limited to 'app-i18n/fcitx')
-rw-r--r-- | app-i18n/fcitx/Manifest | 21 | ||||
-rw-r--r-- | app-i18n/fcitx/fcitx-4.2.9.1.ebuild | 153 | ||||
-rw-r--r-- | app-i18n/fcitx/fcitx-4.2.9.2.ebuild | 147 | ||||
-rw-r--r-- | app-i18n/fcitx/fcitx-4.2.9.3.ebuild | 147 | ||||
-rw-r--r-- | app-i18n/fcitx/fcitx-4.2.9.4.ebuild | 144 | ||||
-rw-r--r-- | app-i18n/fcitx/fcitx-4.9999.ebuild | 144 | ||||
-rw-r--r-- | app-i18n/fcitx/files/fcitx-4.2.9.1-qt-4_ucs4.patch | 95 | ||||
-rw-r--r-- | app-i18n/fcitx/files/fcitx-4.2.9.1-tray_icon.patch | 145 | ||||
-rw-r--r-- | app-i18n/fcitx/files/fcitx-4.2.9.2-scripts.patch | 60 | ||||
-rw-r--r-- | app-i18n/fcitx/files/fcitx-4.2.9.3-restart.patch | 13 | ||||
-rw-r--r-- | app-i18n/fcitx/metadata.xml | 25 |
11 files changed, 1094 insertions, 0 deletions
diff --git a/app-i18n/fcitx/Manifest b/app-i18n/fcitx/Manifest new file mode 100644 index 000000000000..b1734e792776 --- /dev/null +++ b/app-i18n/fcitx/Manifest @@ -0,0 +1,21 @@ +AUX fcitx-4.2.9.1-qt-4_ucs4.patch 4061 SHA256 17d2878da18bb67752709cfdfcb899e73dc3046c1b474758b214ba4431e7c4d7 SHA512 525b54c6836e2a3e6e8d5d3868d7dd07c69593e87eb5ecb22a20213b7b016fb5911acb6212f62f2ad0f0e98b463f5849dc0427e9f693b35d28a9b435d679acb0 WHIRLPOOL 4ee39c875f4fe8d41679cf6bbe54a2d8544488253f54fc2a6b05aa19d26e97074addeeb3b56073e5df6f41a8e54d5d4d683d8696dce9dff83e8ce6b26a9f7c3c +AUX fcitx-4.2.9.1-tray_icon.patch 5813 SHA256 786153340705fc826888a6db96c177384858cc027d4f40fb452cd1ba51aa1187 SHA512 7ecdeea867f29e95c8518d10357d9358babe81b70a4aae648205a9bd72b0e01dc9befc8d11c514998a2b1396a7f56ff368aec7dfc652ff4c3f9a7c53a6b00913 WHIRLPOOL 4d6589105cde8e3c981c86a0a8d10032c2e1309ca673bda77bd8953040262ac0ebe525bfb230bb716a87469bd2962fe195ad961dec278939cd04183b5ac2e221 +AUX fcitx-4.2.9.2-scripts.patch 1353 SHA256 60993165dc3b47511a1145303baf9a454346c6acf9ffe06dd71b6b5b698c07ef SHA512 6d33e43cdb4fbe4968b490550526fb4839c045b08710bc1e31961905bbfb94edb76ddfba1579a7223f080556c05c48ffd9dcd967586ef8f99baff9c86ce18265 WHIRLPOOL 059b3727f090216b7d51b79df92f2f935b7ae6cb3f0d4738a4be643c2984c95767fb9a44a2761affd5996b5b185375ec5a66c88a1b89e4278058c02615f99685 +AUX fcitx-4.2.9.3-restart.patch 407 SHA256 a0ffd24ac7858159180a46c2418f6f21d28b3a30a0b1575995e0f4f35a6d718e SHA512 000c0adfb99cb8b6fe8d9d3c6958324fa03ba168576dd3abaa0d9dec0983eca7c92a851d4c94df95593ed7c6dc46384c973af9579bac939aecf9b631f8210c39 WHIRLPOOL 4e7ad9b02a16ac8ddb953667edf4f331291be1867206db7b4ea174c77a38616549163d03af0bb6f625e292b404fa2a3c4daebdc9067a05b3f4a6864fc4efbaee +DIST fcitx-4.2.9.1_dict.tar.xz 8684772 SHA256 5337c8226417a1d4e6f88b3b1048aa73695d281ed483568a7b6a9ee849ad6c77 SHA512 5d3b669ed97423f976116385571d07f832e9e18007e6a3c2aef12957219739a81fbf2343825fea4a1b01a83a6bf9e40e9ffa88466c651876602517c6da1fb25d WHIRLPOOL 02b2ff1b0c33b1f2c0461988bc3323ca27ba565a0d8a1f49b96aaceac857c07365aaaee0048d470dea82e60857bedf59ef8c60d3cdfa14a2ff074216d5cdc16d +DIST fcitx-4.2.9.2_dict.tar.xz 8735848 SHA256 2cdd7c138163f717aacca8eabb18a4a823c808a408e4b0770f5be2e3e892de20 SHA512 9228fc4629479e2c518e0d0a7dbe604f6e56e864b41927d120e1f0b7a277ff53ff1b393870480bc1660662751a31885ddc1ddf43133a11edc2e96cbc7701daee WHIRLPOOL 8f19cd9f34a3957ff42e94ca7a5e28db5feecf658e9ca2535430fe6dd7a269ba9833e9273e8fd87d00a426027aebd97741c3fe909d9a0b0577ae6f64a8f4ba75 +DIST fcitx-4.2.9.3_dict.tar.xz 8737864 SHA256 543cc301f274367429880cb80c53349ed44435e7c64d757cca9b0d1844e2a91e SHA512 813b55c4b13e9d36bdaed6e4d072a841aa7f067f937b46d1fdbc03e8176b76ce83b056e24e2c0fe944f1347c5fe6a8d9bfdd6b0b2ed054e3017f3926fa36bcdd WHIRLPOOL b54c52025a48350c37712a64048ae2cec4e891c75607ded8ce35940252d2c242430e6ff0e64c86e1319b89b57b388c05760728a861cd58af0c99edd634f20c97 +DIST fcitx-4.2.9.4_dict.tar.xz 8731804 SHA256 e4f9069ac82afd72cdaf9d317377113ce361a9f086b930c12026127a3543953a SHA512 2e8ead59a154a857dfc011af83715dbe1225cbccf1e2c6ced1d9aaf92a7881f89fbe806da3c66ed1805cf27994c91a2d463c455be726b7d4b73c07bfde83972b WHIRLPOOL 113c13ea4eff8de68096ea7bfc1a92c62f5c78395436b5885761863c689a2613d0f5bde8a19ea5b1cc45d032fba4b2a6d2790d31e1d46cf9890d8b33df2049e5 +DIST fcitx-data-en_dict-20121020.tar.gz 630491 SHA256 c44a5d7847925eea9e4d2d04748d442cd28dd9299a0b572ef7d91eac4f5a6ceb SHA512 8418bd02492bfd786c0fab93be4400ef027ec8e9fac02220cc1f653f5eb67f54573a6a84a15baba19bb34ab892745c87df16499d6304ea75009131e2ab3b97f2 WHIRLPOOL 858b51723035e24756c0ece15ee28f9d25dbc86ca447c50e070f085e47b864f26201a100d3d968bcecf5711e76f99c7908eeabe7bc6d5b3b17d6cf2c53c3204b +DIST fcitx-data-pinyin.tar.gz 1608886 SHA256 583829b24a758c087c08de4a69480d0bf5946354fe77db360d6d7f467c2bd8e1 SHA512 1ee19eed3ee58be6cd6562ec363fe3bf630fff5e8820b3bfdd6d4618fceb082695e888dec5366a3685d58706f720e19319d891c223227237aed12674ea982131 WHIRLPOOL c5584213cab5b3729c159759909819bef42d4dba899e58df331aa12b47f5544545d9ba3f8ac7291835cb80c5e180a3a8b31360e9b9e43e4f38387b0eeee74b46 +DIST fcitx-data-py_stroke-20121124.tar.gz 445601 SHA256 8eb128a9bfa43952e67cf2fcee1fd134c6f4cfd317bc2f6c38a615f5eb64e248 SHA512 d80ff9a3549e07c7a6935e686785f9a076c58f1a782a832ae28ee65e2a213d67f089f450ce09bed87ec2a141c32b9c1fcb83c221ddcab436858fa9009f161fb3 WHIRLPOOL 3b09c21b8f948538b10218bd52ed12235f8d8a1986db7c09a35de5454c89305d5ada27177c8501b6bf72324aa1824a384822a7fbb440d63ce081265b1fa34c65 +DIST fcitx-data-py_table-20121124.tar.gz 186822 SHA256 42146ac97de6c13d55f9e99ed873915f4c66739e9c11532a34556badf9792c04 SHA512 0fa72ce6820a316e9729bc0d7a08af5ca3468134de9ff1bf0c559a398846a7bcf7313a3609d943e6bab637d930cf45ad9acfe25a8d3df078a774b071a7296486 WHIRLPOOL 43564e50722325215d250287276556fc6e8ccebd4da905fa579668658ff8e41f43a14e027f431489a9edf65691f00f6e95778acb91aed731da13b351ddf518cb +DIST fcitx-data-table.tar.gz 4144686 SHA256 6196053c724125e3ae3d8bd6b2f9172d0c83b65b0d410d3cde63b7a8d6ab87b7 SHA512 99e1d69c679355fcf3e117a1ef39b131cbd3af841387d2335757247d840b90ff6b7323e16fca98cf7a043033faf250d2e9c6d47b96845d18c278a0cf6f30fec9 WHIRLPOOL 465997dc17e88fb3130abb60e0c73564fbdb50a10de1587f5efaac4859a001b7b4aea1f0f4f6efe01ada5e8751351b7b6106a130f46d550e5dd0081dfaa780e5 +EBUILD fcitx-4.2.9.1.ebuild 4535 SHA256 2e3cb9d030a6612042c1f04e26911e70965d569d2cb506e1dd0c741754c3273f SHA512 f24e8557008491e9c5da042e61669abea677f5f4f167baa1dd22b9efdb6782d42fcbae1424cc9a0e6d4ec0c96c7f81032567820d3a73af322237dd8b4ebe41a3 WHIRLPOOL b93bf0c253c787a83a9a77d04358dbf4739fcc45ef5ed758150cf03769410f5038e82b00a321f1115456ce94f2dbfd155bb9481a0341058eb76a68cc1296f317 +EBUILD fcitx-4.2.9.2.ebuild 4309 SHA256 ae7f0e7ffe854b1ac43d9071c0fda9dbc67809ebc5307fae9521871b0e6611b6 SHA512 c4877c23eeec499de4f159c9d3f0b4698681634f9fdda8605e557ab86dafd249599182e5aa2ff42cd3d4c50bd7a81b6a8b3852c512fba92ea29062ee0355ef47 WHIRLPOOL 23ecb6fcf056dc03a9e7dbd10565b2031f30798ba7902671f319c4f2b3b5475ab6f96a80e360243ece6ffd20df5215a364be1a986ff76650ad48c1a1a65fe72f +EBUILD fcitx-4.2.9.3.ebuild 4324 SHA256 7aa584d564f10da86a6b98f8c62ac9ad62468bf009d1fbf9a2b86958d2c5c3eb SHA512 d49943f1b2cc89559a626d0527d076ae64134402b3084535aae64e56994ff51f03ed95907efaa75553a2d2491283bf1c76c96784b57eee46fc93faafd33c1bdf WHIRLPOOL 815143a15b4d8f4b278cbdfaf80281b5df979af0e16c311013e6a77640f1331f3f9515ca18f8f90bbc35c532de7ad15329f0df977032e2514afdd8fb5937395e +EBUILD fcitx-4.2.9.4.ebuild 4380 SHA256 236447f3edfef9504d5cd9994cb83cd24466b7f82e8b8209f60c4769015eeb65 SHA512 e29dbecd77f52502a42bb61af239c2d3023362d498d97d8c1137f89cff28aad69918debdcaf49bc29f2c790b28336d331d5a769ebd52593c64aebf4b09cfff7b WHIRLPOOL b2db3b6502db3caa100af87f95876cce9a6c6f951424cdbea43a865c20a73db0cba9a2ee0036ebd724d4884f189d99434258dc552f55f067436d2c64ce0f0513 +EBUILD fcitx-4.9999.ebuild 4351 SHA256 d5c5e98b65ac33fee03b5cdd70f2f3a4e09bd91d751621cf3e8289923926a04b SHA512 13118b2ae6ad40b2c5aa5404df46db5fffec8bd96e709f09b1de1a2091051eaecfda8c32825e9c484203ea06d8bcfc670071a0b56a8a34be11aeebd9018b9f0e WHIRLPOOL 1a7ad3bd34960b1641e67a41ae86341f212aa3044b77221239d470a9dcf7cb3bd7f9636d8e983f93c692385bd56075edf1626e8ca8b116d474eeaf8bb353ed61 +MISC ChangeLog 6535 SHA256 fa0f53cbd0524fdfc6435a93db20f50305d2839648d8cb079b48cc4ac48b6b8c SHA512 ba0267172792f3257ff221684fbfc5a699a68db02f875abdbd2a01f2051eed1e3466e0a4ab87d858512c817a5e1160e462489fa1c4f66c6fa8106c68c38f31b9 WHIRLPOOL 61de1aae1e122e352a010901865736f54eca110810b66a17daac10c946d3c6daabfafbe41dfd9992f8a229d7ec2670d6f33c4577065caecfe0fb23c08de570d3 +MISC ChangeLog-2015 12322 SHA256 44aaf7bd6d65aa72945da682fcb42b3c96ad81c259ef15c8107960e27739a426 SHA512 2413eec485fc1b31769ba5ca8e0406f56ca390ab46447dcb4343cf2f2ccd11eeb924da785788fc9730ac515b3b6f7c848d7d5ab28c6afcb2b7f1798e0a8cddee WHIRLPOOL e6ccf45e047e81eaa03e90c28f4aee0bcd9d03d8935482638ddc4277644a4d219d92451bf410b894f79f01a46bc33685686e0d97483428796437428c658f5ef5 +MISC metadata.xml 1139 SHA256 103ad4be78317c9844ca8f30e7c30fab508ae6429ec5228ac2b0cb57dc39e33a SHA512 e0b7a99f5909e14025680275bd21d3a089eff766960afe6b55f2663fe833e44e6ca4fa1a2f5f54a8dba24cce9c0c1749bf7d67ea756ed0167a54dd820d546f9a WHIRLPOOL 7431644725ec05adb3204e0232123672a1132b99578ec47ea1a9bee7b453bdcb9abfdf9cdb4e3a8b97155c91833c5932aa779db84f6f0bfdb63743df0cddf581 diff --git a/app-i18n/fcitx/fcitx-4.2.9.1.ebuild b/app-i18n/fcitx/fcitx-4.2.9.1.ebuild new file mode 100644 index 000000000000..b003a374c8ac --- /dev/null +++ b/app-i18n/fcitx/fcitx-4.2.9.1.ebuild @@ -0,0 +1,153 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI="6" + +inherit cmake-utils gnome2-utils xdg-utils + +if [[ "${PV}" == "9999" ]]; then + inherit git-r3 + + EGIT_REPO_URI="https://github.com/fcitx/fcitx" +fi + +DESCRIPTION="Fcitx (Flexible Context-aware Input Tool with eXtension) input method framework" +HOMEPAGE="https://fcitx-im.org/ https://github.com/fcitx/fcitx" +if [[ "${PV}" == "9999" ]]; then + SRC_URI="https://download.fcitx-im.org/data/pinyin.tar.gz -> fcitx-data-pinyin.tar.gz + https://download.fcitx-im.org/data/table.tar.gz -> fcitx-data-table.tar.gz + https://download.fcitx-im.org/data/py_stroke-20121124.tar.gz -> fcitx-data-py_stroke-20121124.tar.gz + https://download.fcitx-im.org/data/py_table-20121124.tar.gz -> fcitx-data-py_table-20121124.tar.gz + https://download.fcitx-im.org/data/en_dict-20121020.tar.gz -> fcitx-data-en_dict-20121020.tar.gz" +else + SRC_URI="https://download.fcitx-im.org/${PN}/${P}_dict.tar.xz" +fi + +LICENSE="GPL-2+ LGPL-2+" +SLOT="4" +KEYWORDS="amd64 ~hppa ppc ppc64 x86" +IUSE="+X +autostart +cairo debug +enchant gtk2 gtk3 +introspection lua nls opencc +pango qt4 static-libs +table test +xml" +REQUIRED_USE="cairo? ( X ) pango? ( cairo ) qt4? ( X )" + +RDEPEND="dev-libs/glib:2 + sys-apps/dbus + virtual/libiconv + virtual/libintl + x11-libs/libxkbcommon + X? ( + x11-libs/libX11 + x11-libs/libXfixes + x11-libs/libXinerama + x11-libs/libXrender + xml? ( + x11-libs/libxkbfile + x11-misc/xkeyboard-config + ) + ) + cairo? ( + x11-libs/cairo[X] + x11-libs/libXext + pango? ( x11-libs/pango ) + !pango? ( media-libs/fontconfig ) + ) + enchant? ( <app-text/enchant-2 ) + gtk2? ( x11-libs/gtk+:2 ) + gtk3? ( x11-libs/gtk+:3 ) + introspection? ( dev-libs/gobject-introspection ) + lua? ( dev-lang/lua:= ) + nls? ( sys-devel/gettext ) + opencc? ( app-i18n/opencc:= ) + qt4? ( + dev-qt/qtcore:4 + dev-qt/qtdbus:4 + dev-qt/qtgui:4 + ) + xml? ( + app-text/iso-codes + dev-libs/libxml2 + )" +DEPEND="${RDEPEND} + kde-frameworks/extra-cmake-modules:5 + virtual/pkgconfig" + +DOCS=(AUTHORS ChangeLog THANKS) + +PATCHES=( + "${FILESDIR}/${P}-tray_icon.patch" + "${FILESDIR}/${P}-qt-4_ucs4.patch" +) + +src_prepare() { + if [[ "${PV}" == "9999" ]]; then + ln -s "${DISTDIR}/fcitx-data-pinyin.tar.gz" src/im/pinyin/data/pinyin.tar.gz || die + ln -s "${DISTDIR}/fcitx-data-table.tar.gz" src/im/table/data/table.tar.gz || die + ln -s "${DISTDIR}/fcitx-data-py_stroke-20121124.tar.gz" src/module/pinyin-enhance/data/py_stroke-20121124.tar.gz || die + ln -s "${DISTDIR}/fcitx-data-py_table-20121124.tar.gz" src/module/pinyin-enhance/data/py_table-20121124.tar.gz || die + ln -s "${DISTDIR}/fcitx-data-en_dict-20121020.tar.gz" src/module/spell/dict/en_dict-20121020.tar.gz || die + fi + + # https://github.com/fcitx/fcitx/issues/250 + sed \ + -e "/find_package(XkbFile REQUIRED)/i\\ if(ENABLE_X11)" \ + -e "/find_package(XkbFile REQUIRED)/s/^/ /" \ + -e "/find_package(XkbFile REQUIRED)/a\\ endif(ENABLE_X11)" \ + -i CMakeLists.txt + + # https://github.com/fcitx/fcitx/issues/342 + while IFS='' read -d $'\0' -r f ; do + sed 's:^#!/bin/sh$:#!/usr/bin/env bash:' -i "${f}" || die + done < <(find "${S}" -name '*.sh' -type f -print0) + + cmake-utils_src_prepare + xdg_environment_reset +} + +src_configure() { + local mycmakeargs=( + -DLIB_INSTALL_DIR="${EPREFIX}/usr/$(get_libdir)" + -DSYSCONFDIR="${EPREFIX}/etc" + -DENABLE_CAIRO=$(usex cairo) + -DENABLE_DEBUG=$(usex debug) + -DENABLE_ENCHANT=$(usex enchant) + -DENABLE_GETTEXT=$(usex nls) + -DENABLE_GIR=$(usex introspection) + -DENABLE_GTK2_IM_MODULE=$(usex gtk2) + -DENABLE_GTK3_IM_MODULE=$(usex gtk3) + -DENABLE_LIBXML2=$(usex xml) + -DENABLE_LUA=$(usex lua) + -DENABLE_OPENCC=$(usex opencc) + -DENABLE_PANGO=$(usex pango) + -DENABLE_QT=$(usex qt4) + -DENABLE_QT_GUI=$(usex qt4) + -DENABLE_QT_IM_MODULE=$(usex qt4) + -DENABLE_SNOOPER=$(if use gtk2 || use gtk3; then echo yes; else echo no; fi) + -DENABLE_STATIC=$(usex static-libs) + -DENABLE_TABLE=$(usex table) + -DENABLE_TEST=$(usex test) + -DENABLE_X11=$(usex X) + -DENABLE_XDGAUTOSTART=$(usex autostart) + ) + + cmake-utils_src_configure +} + +src_install() { + cmake-utils_src_install + rm -r "${ED}usr/share/doc/${PN}" +} + +pkg_postinst() { + gnome2_icon_cache_update + xdg_desktop_database_update + xdg_mimeinfo_database_update + use gtk2 && gnome2_query_immodules_gtk2 + use gtk3 && gnome2_query_immodules_gtk3 +} + +pkg_postrm() { + gnome2_icon_cache_update + xdg_desktop_database_update + xdg_mimeinfo_database_update + use gtk2 && gnome2_query_immodules_gtk2 + use gtk3 && gnome2_query_immodules_gtk3 +} diff --git a/app-i18n/fcitx/fcitx-4.2.9.2.ebuild b/app-i18n/fcitx/fcitx-4.2.9.2.ebuild new file mode 100644 index 000000000000..f525853d6f66 --- /dev/null +++ b/app-i18n/fcitx/fcitx-4.2.9.2.ebuild @@ -0,0 +1,147 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI="6" + +inherit cmake-utils gnome2-utils xdg-utils + +if [[ "${PV}" == "9999" ]]; then + inherit git-r3 + + EGIT_REPO_URI="https://github.com/fcitx/fcitx" +fi + +DESCRIPTION="Fcitx (Flexible Context-aware Input Tool with eXtension) input method framework" +HOMEPAGE="https://fcitx-im.org/ https://github.com/fcitx/fcitx" +if [[ "${PV}" == "9999" ]]; then + SRC_URI="https://download.fcitx-im.org/data/pinyin.tar.gz -> fcitx-data-pinyin.tar.gz + https://download.fcitx-im.org/data/table.tar.gz -> fcitx-data-table.tar.gz + https://download.fcitx-im.org/data/py_stroke-20121124.tar.gz -> fcitx-data-py_stroke-20121124.tar.gz + https://download.fcitx-im.org/data/py_table-20121124.tar.gz -> fcitx-data-py_table-20121124.tar.gz + https://download.fcitx-im.org/data/en_dict-20121020.tar.gz -> fcitx-data-en_dict-20121020.tar.gz" +else + SRC_URI="https://download.fcitx-im.org/${PN}/${P}_dict.tar.xz" +fi + +LICENSE="GPL-2+ LGPL-2+ MIT" +SLOT="4" +KEYWORDS="~amd64 ~hppa ~ppc ~ppc64 ~x86" +IUSE="+X +autostart +cairo debug +enchant gtk2 gtk3 +introspection lua nls opencc +pango qt4 static-libs +table test +xml" +REQUIRED_USE="cairo? ( X ) pango? ( cairo ) qt4? ( X )" + +RDEPEND="dev-libs/glib:2 + sys-apps/dbus + virtual/libiconv + virtual/libintl + x11-libs/libxkbcommon + X? ( + x11-libs/libX11 + x11-libs/libXfixes + x11-libs/libXinerama + x11-libs/libXrender + xml? ( + x11-libs/libxkbfile + x11-misc/xkeyboard-config + ) + ) + cairo? ( + x11-libs/cairo[X] + x11-libs/libXext + pango? ( x11-libs/pango ) + !pango? ( media-libs/fontconfig ) + ) + enchant? ( app-text/enchant:0= ) + gtk2? ( x11-libs/gtk+:2 ) + gtk3? ( x11-libs/gtk+:3 ) + introspection? ( dev-libs/gobject-introspection ) + lua? ( dev-lang/lua:= ) + nls? ( sys-devel/gettext ) + opencc? ( app-i18n/opencc:= ) + qt4? ( + dev-qt/qtcore:4 + dev-qt/qtdbus:4 + dev-qt/qtgui:4 + ) + xml? ( + app-text/iso-codes + dev-libs/libxml2 + )" +DEPEND="${RDEPEND} + kde-frameworks/extra-cmake-modules:5 + virtual/pkgconfig" + +PATCHES=( + "${FILESDIR}/${P}-scripts.patch" +) + +DOCS=(AUTHORS ChangeLog THANKS) + +src_prepare() { + if [[ "${PV}" == "9999" ]]; then + ln -s "${DISTDIR}/fcitx-data-pinyin.tar.gz" src/im/pinyin/data/pinyin.tar.gz || die + ln -s "${DISTDIR}/fcitx-data-table.tar.gz" src/im/table/data/table.tar.gz || die + ln -s "${DISTDIR}/fcitx-data-py_stroke-20121124.tar.gz" src/module/pinyin-enhance/data/py_stroke-20121124.tar.gz || die + ln -s "${DISTDIR}/fcitx-data-py_table-20121124.tar.gz" src/module/pinyin-enhance/data/py_table-20121124.tar.gz || die + ln -s "${DISTDIR}/fcitx-data-en_dict-20121020.tar.gz" src/module/spell/dict/en_dict-20121020.tar.gz || die + fi + + # https://github.com/fcitx/fcitx/issues/250 + sed \ + -e "/find_package(XkbFile REQUIRED)/i\\ if(ENABLE_X11)" \ + -e "/find_package(XkbFile REQUIRED)/s/^/ /" \ + -e "/find_package(XkbFile REQUIRED)/a\\ endif(ENABLE_X11)" \ + -i CMakeLists.txt + + cmake-utils_src_prepare + xdg_environment_reset +} + +src_configure() { + local mycmakeargs=( + -DLIB_INSTALL_DIR="${EPREFIX}/usr/$(get_libdir)" + -DSYSCONFDIR="${EPREFIX}/etc" + -DENABLE_CAIRO=$(usex cairo) + -DENABLE_DEBUG=$(usex debug) + -DENABLE_ENCHANT=$(usex enchant) + -DENABLE_GETTEXT=$(usex nls) + -DENABLE_GIR=$(usex introspection) + -DENABLE_GTK2_IM_MODULE=$(usex gtk2) + -DENABLE_GTK3_IM_MODULE=$(usex gtk3) + -DENABLE_LIBXML2=$(usex xml) + -DENABLE_LUA=$(usex lua) + -DENABLE_OPENCC=$(usex opencc) + -DENABLE_PANGO=$(usex pango) + -DENABLE_QT=$(usex qt4) + -DENABLE_QT_GUI=$(usex qt4) + -DENABLE_QT_IM_MODULE=$(usex qt4) + -DENABLE_SNOOPER=$(if use gtk2 || use gtk3; then echo yes; else echo no; fi) + -DENABLE_STATIC=$(usex static-libs) + -DENABLE_TABLE=$(usex table) + -DENABLE_TEST=$(usex test) + -DENABLE_X11=$(usex X) + -DENABLE_XDGAUTOSTART=$(usex autostart) + ) + + cmake-utils_src_configure +} + +src_install() { + cmake-utils_src_install + rm -r "${ED}usr/share/doc/${PN}" +} + +pkg_postinst() { + gnome2_icon_cache_update + xdg_desktop_database_update + xdg_mimeinfo_database_update + use gtk2 && gnome2_query_immodules_gtk2 + use gtk3 && gnome2_query_immodules_gtk3 +} + +pkg_postrm() { + gnome2_icon_cache_update + xdg_desktop_database_update + xdg_mimeinfo_database_update + use gtk2 && gnome2_query_immodules_gtk2 + use gtk3 && gnome2_query_immodules_gtk3 +} diff --git a/app-i18n/fcitx/fcitx-4.2.9.3.ebuild b/app-i18n/fcitx/fcitx-4.2.9.3.ebuild new file mode 100644 index 000000000000..a6b5e59f5762 --- /dev/null +++ b/app-i18n/fcitx/fcitx-4.2.9.3.ebuild @@ -0,0 +1,147 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI="6" + +inherit cmake-utils gnome2-utils xdg-utils + +if [[ "${PV}" =~ (^|\.)9999$ ]]; then + inherit git-r3 + + EGIT_REPO_URI="https://github.com/fcitx/fcitx" +fi + +DESCRIPTION="Fcitx (Flexible Context-aware Input Tool with eXtension) input method framework" +HOMEPAGE="https://fcitx-im.org/ https://github.com/fcitx/fcitx" +if [[ "${PV}" =~ (^|\.)9999$ ]]; then + SRC_URI="https://download.fcitx-im.org/data/pinyin.tar.gz -> fcitx-data-pinyin.tar.gz + https://download.fcitx-im.org/data/table.tar.gz -> fcitx-data-table.tar.gz + https://download.fcitx-im.org/data/py_stroke-20121124.tar.gz -> fcitx-data-py_stroke-20121124.tar.gz + https://download.fcitx-im.org/data/py_table-20121124.tar.gz -> fcitx-data-py_table-20121124.tar.gz + https://download.fcitx-im.org/data/en_dict-20121020.tar.gz -> fcitx-data-en_dict-20121020.tar.gz" +else + SRC_URI="https://download.fcitx-im.org/${PN}/${P}_dict.tar.xz" +fi + +LICENSE="GPL-2+ LGPL-2+ MIT" +SLOT="4" +KEYWORDS="~amd64 ~hppa ~ppc ~ppc64 ~x86" +IUSE="+X +autostart +cairo debug +enchant gtk2 gtk3 +introspection lua nls opencc +pango qt4 static-libs +table test +xml" +REQUIRED_USE="cairo? ( X ) pango? ( cairo ) qt4? ( X )" + +RDEPEND="dev-libs/glib:2 + sys-apps/dbus + virtual/libiconv + virtual/libintl + x11-libs/libxkbcommon + X? ( + x11-libs/libX11 + x11-libs/libXfixes + x11-libs/libXinerama + x11-libs/libXrender + xml? ( + x11-libs/libxkbfile + x11-misc/xkeyboard-config + ) + ) + cairo? ( + x11-libs/cairo[X] + x11-libs/libXext + pango? ( x11-libs/pango ) + !pango? ( media-libs/fontconfig ) + ) + enchant? ( app-text/enchant:0= ) + gtk2? ( x11-libs/gtk+:2 ) + gtk3? ( x11-libs/gtk+:3 ) + introspection? ( dev-libs/gobject-introspection ) + lua? ( dev-lang/lua:= ) + nls? ( sys-devel/gettext ) + opencc? ( app-i18n/opencc:= ) + qt4? ( + dev-qt/qtcore:4 + dev-qt/qtdbus:4 + dev-qt/qtgui:4 + ) + xml? ( + app-text/iso-codes + dev-libs/libxml2 + )" +DEPEND="${RDEPEND} + kde-frameworks/extra-cmake-modules:5 + virtual/pkgconfig" + +PATCHES=( + "${FILESDIR}/${P}-restart.patch" +) + +DOCS=(AUTHORS ChangeLog THANKS) + +src_prepare() { + if [[ "${PV}" =~ (^|\.)9999$ ]]; then + ln -s "${DISTDIR}/fcitx-data-pinyin.tar.gz" src/im/pinyin/data/pinyin.tar.gz || die + ln -s "${DISTDIR}/fcitx-data-table.tar.gz" src/im/table/data/table.tar.gz || die + ln -s "${DISTDIR}/fcitx-data-py_stroke-20121124.tar.gz" src/module/pinyin-enhance/data/py_stroke-20121124.tar.gz || die + ln -s "${DISTDIR}/fcitx-data-py_table-20121124.tar.gz" src/module/pinyin-enhance/data/py_table-20121124.tar.gz || die + ln -s "${DISTDIR}/fcitx-data-en_dict-20121020.tar.gz" src/module/spell/dict/en_dict-20121020.tar.gz || die + fi + + # https://github.com/fcitx/fcitx/issues/250 + sed \ + -e "/find_package(XkbFile REQUIRED)/i\\ if(ENABLE_X11)" \ + -e "/find_package(XkbFile REQUIRED)/s/^/ /" \ + -e "/find_package(XkbFile REQUIRED)/a\\ endif(ENABLE_X11)" \ + -i CMakeLists.txt + + cmake-utils_src_prepare + xdg_environment_reset +} + +src_configure() { + local mycmakeargs=( + -DLIB_INSTALL_DIR="${EPREFIX}/usr/$(get_libdir)" + -DSYSCONFDIR="${EPREFIX}/etc" + -DENABLE_CAIRO=$(usex cairo) + -DENABLE_DEBUG=$(usex debug) + -DENABLE_ENCHANT=$(usex enchant) + -DENABLE_GETTEXT=$(usex nls) + -DENABLE_GIR=$(usex introspection) + -DENABLE_GTK2_IM_MODULE=$(usex gtk2) + -DENABLE_GTK3_IM_MODULE=$(usex gtk3) + -DENABLE_LIBXML2=$(usex xml) + -DENABLE_LUA=$(usex lua) + -DENABLE_OPENCC=$(usex opencc) + -DENABLE_PANGO=$(usex pango) + -DENABLE_QT=$(usex qt4) + -DENABLE_QT_GUI=$(usex qt4) + -DENABLE_QT_IM_MODULE=$(usex qt4) + -DENABLE_SNOOPER=$(if use gtk2 || use gtk3; then echo yes; else echo no; fi) + -DENABLE_STATIC=$(usex static-libs) + -DENABLE_TABLE=$(usex table) + -DENABLE_TEST=$(usex test) + -DENABLE_X11=$(usex X) + -DENABLE_XDGAUTOSTART=$(usex autostart) + ) + + cmake-utils_src_configure +} + +src_install() { + cmake-utils_src_install + rm -r "${ED}usr/share/doc/${PN}" +} + +pkg_postinst() { + gnome2_icon_cache_update + xdg_desktop_database_update + xdg_mimeinfo_database_update + use gtk2 && gnome2_query_immodules_gtk2 + use gtk3 && gnome2_query_immodules_gtk3 +} + +pkg_postrm() { + gnome2_icon_cache_update + xdg_desktop_database_update + xdg_mimeinfo_database_update + use gtk2 && gnome2_query_immodules_gtk2 + use gtk3 && gnome2_query_immodules_gtk3 +} diff --git a/app-i18n/fcitx/fcitx-4.2.9.4.ebuild b/app-i18n/fcitx/fcitx-4.2.9.4.ebuild new file mode 100644 index 000000000000..75fff9ad261d --- /dev/null +++ b/app-i18n/fcitx/fcitx-4.2.9.4.ebuild @@ -0,0 +1,144 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI="6" + +inherit cmake-utils gnome2-utils xdg-utils + +if [[ "${PV}" =~ (^|\.)9999$ ]]; then + inherit git-r3 + + EGIT_REPO_URI="https://github.com/fcitx/fcitx" +fi + +DESCRIPTION="Fcitx (Flexible Context-aware Input Tool with eXtension) input method framework" +HOMEPAGE="https://fcitx-im.org/ https://github.com/fcitx/fcitx" +if [[ "${PV}" =~ (^|\.)9999$ ]]; then + SRC_URI="https://download.fcitx-im.org/data/pinyin.tar.gz -> fcitx-data-pinyin.tar.gz + https://download.fcitx-im.org/data/table.tar.gz -> fcitx-data-table.tar.gz + https://download.fcitx-im.org/data/py_stroke-20121124.tar.gz -> fcitx-data-py_stroke-20121124.tar.gz + https://download.fcitx-im.org/data/py_table-20121124.tar.gz -> fcitx-data-py_table-20121124.tar.gz + https://download.fcitx-im.org/data/en_dict-20121020.tar.gz -> fcitx-data-en_dict-20121020.tar.gz" +else + SRC_URI="https://download.fcitx-im.org/${PN}/${P}_dict.tar.xz" +fi + +LICENSE="GPL-2+ LGPL-2+ MIT" +SLOT="4" +KEYWORDS="~amd64 ~hppa ~ppc ~ppc64 ~x86" +IUSE="+X +autostart +cairo debug +enchant gtk2 gtk3 +introspection lua nls opencc +pango qt4 static-libs +table test +xml" +REQUIRED_USE="cairo? ( X ) pango? ( cairo ) qt4? ( X )" + +RDEPEND="dev-libs/glib:2 + sys-apps/dbus + virtual/libiconv + virtual/libintl + x11-libs/libxkbcommon + X? ( + x11-libs/libX11 + x11-libs/libXfixes + x11-libs/libXinerama + x11-libs/libXrender + xml? ( + x11-libs/libxkbfile + x11-misc/xkeyboard-config + ) + ) + cairo? ( + x11-libs/cairo[X] + x11-libs/libXext + pango? ( x11-libs/pango ) + !pango? ( media-libs/fontconfig ) + ) + enchant? ( app-text/enchant:0= ) + gtk2? ( x11-libs/gtk+:2 ) + gtk3? ( x11-libs/gtk+:3 ) + introspection? ( dev-libs/gobject-introspection ) + lua? ( dev-lang/lua:= ) + nls? ( sys-devel/gettext ) + opencc? ( app-i18n/opencc:= ) + qt4? ( + dev-qt/qtcore:4 + dev-qt/qtdbus:4 + dev-qt/qtgui:4 + ) + xml? ( + app-text/iso-codes + dev-libs/libxml2 + )" +DEPEND="${RDEPEND} + kde-frameworks/extra-cmake-modules:5 + virtual/pkgconfig" + +DOCS=(AUTHORS ChangeLog THANKS) + +src_prepare() { + if [[ "${PV}" =~ (^|\.)9999$ ]]; then + ln -s "${DISTDIR}/fcitx-data-pinyin.tar.gz" src/im/pinyin/data/pinyin.tar.gz || die + ln -s "${DISTDIR}/fcitx-data-table.tar.gz" src/im/table/data/table.tar.gz || die + ln -s "${DISTDIR}/fcitx-data-py_stroke-20121124.tar.gz" src/module/pinyin-enhance/data/py_stroke-20121124.tar.gz || die + ln -s "${DISTDIR}/fcitx-data-py_table-20121124.tar.gz" src/module/pinyin-enhance/data/py_table-20121124.tar.gz || die + ln -s "${DISTDIR}/fcitx-data-en_dict-20121020.tar.gz" src/module/spell/dict/en_dict-20121020.tar.gz || die + fi + + # https://github.com/fcitx/fcitx/issues/250 + sed \ + -e "/find_package(XkbFile REQUIRED)/i\\ if(ENABLE_X11)" \ + -e "/find_package(XkbFile REQUIRED)/s/^/ /" \ + -e "/find_package(XkbFile REQUIRED)/a\\ find_package(XKeyboardConfig REQUIRED)\n endif(ENABLE_X11)" \ + -e "/^find_package(XKeyboardConfig REQUIRED)/,+1d" \ + -i CMakeLists.txt + + cmake-utils_src_prepare + xdg_environment_reset +} + +src_configure() { + local mycmakeargs=( + -DLIB_INSTALL_DIR="${EPREFIX}/usr/$(get_libdir)" + -DSYSCONFDIR="${EPREFIX}/etc" + -DENABLE_CAIRO=$(usex cairo) + -DENABLE_DEBUG=$(usex debug) + -DENABLE_ENCHANT=$(usex enchant) + -DENABLE_GETTEXT=$(usex nls) + -DENABLE_GIR=$(usex introspection) + -DENABLE_GTK2_IM_MODULE=$(usex gtk2) + -DENABLE_GTK3_IM_MODULE=$(usex gtk3) + -DENABLE_LIBXML2=$(usex xml) + -DENABLE_LUA=$(usex lua) + -DENABLE_OPENCC=$(usex opencc) + -DENABLE_PANGO=$(usex pango) + -DENABLE_QT=$(usex qt4) + -DENABLE_QT_GUI=$(usex qt4) + -DENABLE_QT_IM_MODULE=$(usex qt4) + -DENABLE_SNOOPER=$(if use gtk2 || use gtk3; then echo yes; else echo no; fi) + -DENABLE_STATIC=$(usex static-libs) + -DENABLE_TABLE=$(usex table) + -DENABLE_TEST=$(usex test) + -DENABLE_X11=$(usex X) + -DENABLE_XDGAUTOSTART=$(usex autostart) + ) + + cmake-utils_src_configure +} + +src_install() { + cmake-utils_src_install + rm -r "${ED}usr/share/doc/${PN}" +} + +pkg_postinst() { + gnome2_icon_cache_update + xdg_desktop_database_update + xdg_mimeinfo_database_update + use gtk2 && gnome2_query_immodules_gtk2 + use gtk3 && gnome2_query_immodules_gtk3 +} + +pkg_postrm() { + gnome2_icon_cache_update + xdg_desktop_database_update + xdg_mimeinfo_database_update + use gtk2 && gnome2_query_immodules_gtk2 + use gtk3 && gnome2_query_immodules_gtk3 +} diff --git a/app-i18n/fcitx/fcitx-4.9999.ebuild b/app-i18n/fcitx/fcitx-4.9999.ebuild new file mode 100644 index 000000000000..e70c390cd80c --- /dev/null +++ b/app-i18n/fcitx/fcitx-4.9999.ebuild @@ -0,0 +1,144 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI="6" + +inherit cmake-utils gnome2-utils xdg-utils + +if [[ "${PV}" =~ (^|\.)9999$ ]]; then + inherit git-r3 + + EGIT_REPO_URI="https://github.com/fcitx/fcitx" +fi + +DESCRIPTION="Fcitx (Flexible Context-aware Input Tool with eXtension) input method framework" +HOMEPAGE="https://fcitx-im.org/ https://github.com/fcitx/fcitx" +if [[ "${PV}" =~ (^|\.)9999$ ]]; then + SRC_URI="https://download.fcitx-im.org/data/pinyin.tar.gz -> fcitx-data-pinyin.tar.gz + https://download.fcitx-im.org/data/table.tar.gz -> fcitx-data-table.tar.gz + https://download.fcitx-im.org/data/py_stroke-20121124.tar.gz -> fcitx-data-py_stroke-20121124.tar.gz + https://download.fcitx-im.org/data/py_table-20121124.tar.gz -> fcitx-data-py_table-20121124.tar.gz + https://download.fcitx-im.org/data/en_dict-20121020.tar.gz -> fcitx-data-en_dict-20121020.tar.gz" +else + SRC_URI="https://download.fcitx-im.org/${PN}/${P}_dict.tar.xz" +fi + +LICENSE="GPL-2+ LGPL-2+ MIT" +SLOT="4" +KEYWORDS="" +IUSE="+X +autostart +cairo debug +enchant gtk2 gtk3 +introspection lua nls opencc +pango qt4 static-libs +table test +xml" +REQUIRED_USE="cairo? ( X ) pango? ( cairo ) qt4? ( X )" + +RDEPEND="dev-libs/glib:2 + sys-apps/dbus + virtual/libiconv + virtual/libintl + x11-libs/libxkbcommon + X? ( + x11-libs/libX11 + x11-libs/libXfixes + x11-libs/libXinerama + x11-libs/libXrender + xml? ( + x11-libs/libxkbfile + x11-misc/xkeyboard-config + ) + ) + cairo? ( + x11-libs/cairo[X] + x11-libs/libXext + pango? ( x11-libs/pango ) + !pango? ( media-libs/fontconfig ) + ) + enchant? ( app-text/enchant:0= ) + gtk2? ( x11-libs/gtk+:2 ) + gtk3? ( x11-libs/gtk+:3 ) + introspection? ( dev-libs/gobject-introspection ) + lua? ( dev-lang/lua:= ) + nls? ( sys-devel/gettext ) + opencc? ( app-i18n/opencc:= ) + qt4? ( + dev-qt/qtcore:4 + dev-qt/qtdbus:4 + dev-qt/qtgui:4 + ) + xml? ( + app-text/iso-codes + dev-libs/libxml2 + )" +DEPEND="${RDEPEND} + kde-frameworks/extra-cmake-modules:5 + virtual/pkgconfig" + +DOCS=(AUTHORS ChangeLog THANKS) + +src_prepare() { + if [[ "${PV}" =~ (^|\.)9999$ ]]; then + ln -s "${DISTDIR}/fcitx-data-pinyin.tar.gz" src/im/pinyin/data/pinyin.tar.gz || die + ln -s "${DISTDIR}/fcitx-data-table.tar.gz" src/im/table/data/table.tar.gz || die + ln -s "${DISTDIR}/fcitx-data-py_stroke-20121124.tar.gz" src/module/pinyin-enhance/data/py_stroke-20121124.tar.gz || die + ln -s "${DISTDIR}/fcitx-data-py_table-20121124.tar.gz" src/module/pinyin-enhance/data/py_table-20121124.tar.gz || die + ln -s "${DISTDIR}/fcitx-data-en_dict-20121020.tar.gz" src/module/spell/dict/en_dict-20121020.tar.gz || die + fi + + # https://github.com/fcitx/fcitx/issues/250 + sed \ + -e "/find_package(XkbFile REQUIRED)/i\\ if(ENABLE_X11)" \ + -e "/find_package(XkbFile REQUIRED)/s/^/ /" \ + -e "/find_package(XkbFile REQUIRED)/a\\ find_package(XKeyboardConfig REQUIRED)\n endif(ENABLE_X11)" \ + -e "/^find_package(XKeyboardConfig REQUIRED)/,+1d" \ + -i CMakeLists.txt + + cmake-utils_src_prepare + xdg_environment_reset +} + +src_configure() { + local mycmakeargs=( + -DLIB_INSTALL_DIR="${EPREFIX}/usr/$(get_libdir)" + -DSYSCONFDIR="${EPREFIX}/etc" + -DENABLE_CAIRO=$(usex cairo) + -DENABLE_DEBUG=$(usex debug) + -DENABLE_ENCHANT=$(usex enchant) + -DENABLE_GETTEXT=$(usex nls) + -DENABLE_GIR=$(usex introspection) + -DENABLE_GTK2_IM_MODULE=$(usex gtk2) + -DENABLE_GTK3_IM_MODULE=$(usex gtk3) + -DENABLE_LIBXML2=$(usex xml) + -DENABLE_LUA=$(usex lua) + -DENABLE_OPENCC=$(usex opencc) + -DENABLE_PANGO=$(usex pango) + -DENABLE_QT=$(usex qt4) + -DENABLE_QT_GUI=$(usex qt4) + -DENABLE_QT_IM_MODULE=$(usex qt4) + -DENABLE_SNOOPER=$(if use gtk2 || use gtk3; then echo yes; else echo no; fi) + -DENABLE_STATIC=$(usex static-libs) + -DENABLE_TABLE=$(usex table) + -DENABLE_TEST=$(usex test) + -DENABLE_X11=$(usex X) + -DENABLE_XDGAUTOSTART=$(usex autostart) + ) + + cmake-utils_src_configure +} + +src_install() { + cmake-utils_src_install + rm -r "${ED}usr/share/doc/${PN}" +} + +pkg_postinst() { + gnome2_icon_cache_update + xdg_desktop_database_update + xdg_mimeinfo_database_update + use gtk2 && gnome2_query_immodules_gtk2 + use gtk3 && gnome2_query_immodules_gtk3 +} + +pkg_postrm() { + gnome2_icon_cache_update + xdg_desktop_database_update + xdg_mimeinfo_database_update + use gtk2 && gnome2_query_immodules_gtk2 + use gtk3 && gnome2_query_immodules_gtk3 +} diff --git a/app-i18n/fcitx/files/fcitx-4.2.9.1-qt-4_ucs4.patch b/app-i18n/fcitx/files/fcitx-4.2.9.1-qt-4_ucs4.patch new file mode 100644 index 000000000000..e417a0615716 --- /dev/null +++ b/app-i18n/fcitx/files/fcitx-4.2.9.1-qt-4_ucs4.patch @@ -0,0 +1,95 @@ +https://github.com/fcitx/fcitx/commit/14faccfbb0d87e06c25d182ae842808d18be3dc7 +https://github.com/fcitx/fcitx/commit/216a09e3ec056f272eebfbe82809b803d86012cb + +--- /src/frontend/qt/qfcitxinputcontext.cpp ++++ /src/frontend/qt/qfcitxinputcontext.cpp +@@ -232,6 +232,20 @@ + anchor = var2.toInt(); + else + anchor = cursor; ++ ++ // adjust it to real character size ++ // QTBUG-25536; ++ QVector<uint> tempUCS4 = text.leftRef(cursor).toUcs4(); ++ while (!tempUCS4.empty() && tempUCS4.last() == 0) { ++ tempUCS4.pop_back(); ++ } ++ cursor = tempUCS4.size(); ++ tempUCS4 = text.leftRef(anchor).toUcs4(); ++ while (!tempUCS4.empty() && tempUCS4.last() == 0) { ++ tempUCS4.pop_back(); ++ } ++ anchor = tempUCS4.size(); ++ + if (data->surroundingText != text) { + data->surroundingText = text; + proxy->SetSurroundingText(text, cursor, anchor); +@@ -581,6 +595,7 @@ + delete data->proxy; + } + data->proxy = new FcitxQtInputContextProxy(m_connection->serviceName(), path, *m_connection->connection(), this); ++ data->proxy->setProperty("icData", qVariantFromValue(static_cast<void*>(data))); + connect(data->proxy, SIGNAL(CommitString(QString)), this, SLOT(commitString(QString))); + connect(data->proxy, SIGNAL(ForwardKey(uint, uint, int)), this, SLOT(forwardKey(uint, uint, int))); + connect(data->proxy, SIGNAL(UpdateFormattedPreedit(FcitxQtFormattedPreeditList,int)), this, SLOT(updateFormattedPreedit(FcitxQtFormattedPreeditList,int))); +@@ -680,11 +695,57 @@ + sendEvent(event); + } + +-void QFcitxInputContext::deleteSurroundingText(int offset, uint nchar) ++void QFcitxInputContext::deleteSurroundingText(int offset, uint _nchar) + { + QInputMethodEvent event; +- event.setCommitString("", offset, nchar); +- sendEvent(event); ++ ++ FcitxQtInputContextProxy *proxy = qobject_cast<FcitxQtInputContextProxy*>(sender()); ++ if (!proxy) { ++ return; ++ } ++ ++ FcitxQtICData *data = static_cast<FcitxQtICData*>(proxy->property("icData").value<void *>()); ++ QVector<uint> ucsText = data->surroundingText.toUcs4(); ++ ++ // QTBUG-25536 ++ while (!ucsText.empty() && ucsText.last() == 0) { ++ ucsText.pop_back(); ++ } ++ ++ int cursor = data->surroundingCursor; ++ // make nchar signed so we are safer ++ int nchar = _nchar; ++ // Qt's reconvert semantics is different from gtk's. It doesn't count the current ++ // selection. Discard selection from nchar. ++ if (data->surroundingAnchor < data->surroundingCursor) { ++ nchar -= data->surroundingCursor - data->surroundingAnchor; ++ offset += data->surroundingCursor - data->surroundingAnchor; ++ cursor = data->surroundingAnchor; ++ } else if (data->surroundingAnchor > data->surroundingCursor) { ++ nchar -= data->surroundingAnchor - data->surroundingCursor; ++ cursor = data->surroundingCursor; ++ } ++ ++ // validates ++ if (nchar >= 0 && cursor + offset >= 0 && cursor + offset + nchar < ucsText.size()) { ++ // order matters ++ QVector<uint> replacedChars = ucsText.mid(cursor + offset, nchar); ++ nchar = QString::fromUcs4(replacedChars.data(), replacedChars.size()).size(); ++ ++ int start, len; ++ if (offset >= 0) { ++ start = cursor; ++ len = offset; ++ } else { ++ start = cursor; ++ len = -offset; ++ } ++ ++ QVector<uint> prefixedChars = ucsText.mid(start, len); ++ offset = QString::fromUcs4(prefixedChars.data(), prefixedChars.size()).size() * (offset >= 0 ? 1 : -1); ++ event.setCommitString("", offset, nchar); ++ sendEvent(event); ++ } + } + + void QFcitxInputContext::forwardKey(uint keyval, uint state, int type) diff --git a/app-i18n/fcitx/files/fcitx-4.2.9.1-tray_icon.patch b/app-i18n/fcitx/files/fcitx-4.2.9.1-tray_icon.patch new file mode 100644 index 000000000000..7bfbc6e9ade0 --- /dev/null +++ b/app-i18n/fcitx/files/fcitx-4.2.9.1-tray_icon.patch @@ -0,0 +1,145 @@ +https://github.com/fcitx/fcitx/issues/241 +https://github.com/fcitx/fcitx/commit/c737618fffa84bfe5a6caf55cee9b9288a791bbf +https://github.com/fcitx/fcitx/commit/353683e29be4ef26409b9a05e0cb647a5180fa8c +https://github.com/fcitx/fcitx/commit/fe2732db27a1c2e183400ceeb3283559e10a4ca8 +https://github.com/fcitx/fcitx/commit/440c431d29876a8e4871159d289bc9a573f9a41b + +--- /src/module/notificationitem/notificationitem.c ++++ /src/module/notificationitem/notificationitem.c +@@ -565,8 +565,17 @@ + + boolean FcitxNotificationItemEnable(FcitxNotificationItem* notificationitem, FcitxNotificationItemAvailableCallback callback, void* data) + { +- if (!callback || notificationitem->callback) ++ if (!callback) + return false; ++ ++ if (notificationitem->callback == callback) { ++ return true; ++ } ++ ++ if (notificationitem->callback) { ++ return false; ++ } ++ + if (notificationitem->serviceName) { + FcitxLog(ERROR, "This should not happen, please report bug."); + return false; +--- /src/ui/classic/TrayWindow.c ++++ /src/ui/classic/TrayWindow.c +@@ -48,7 +48,7 @@ + Display *dpy = classicui->dpy; + int iScreen = classicui->iScreen; + char strWindowName[] = "Fcitx Tray Window"; +- if (!classicui->bUseTrayIcon || classicui->isSuspend) ++ if (!classicui->bUseTrayIcon || classicui->isSuspend || classicui->notificationItemAvailable) + return; + + if (trayWindow->window == None && trayWindow->dockWindow != None) { +@@ -61,12 +61,12 @@ + wsa.colormap = colormap; + wsa.background_pixel = 0; + wsa.border_pixel = 0; +- trayWindow->window = XCreateWindow(dpy, p, -1, -1, 1, 1, ++ trayWindow->window = XCreateWindow(dpy, p, -1, -1, 22, 22, + 0, vi->depth, InputOutput, vi->visual, + CWBackPixmap | CWBackPixel | CWBorderPixel | CWColormap, &wsa); + } else { + trayWindow->window = XCreateSimpleWindow(dpy, DefaultRootWindow(dpy), +- -1, -1, 1, 1, 0, ++ -1, -1, 22, 22, 0, + BlackPixel(dpy, DefaultScreen(dpy)), + WhitePixel(dpy, DefaultScreen(dpy))); + XSetWindowBackgroundPixmap(dpy, trayWindow->window, ParentRelative); +@@ -74,6 +74,7 @@ + if (trayWindow->window == (Window) NULL) + return; + ++ trayWindow->size = 22; + XSizeHints size_hints; + size_hints.flags = PWinGravity | PBaseSize; + size_hints.base_width = trayWindow->size; +@@ -161,7 +162,7 @@ + png_surface = image->image; + + c = cairo_create(trayWindow->cs); +- cairo_set_source_rgba(c, 0, 0, 0, 0); ++ cairo_set_source_rgba(c, 1, 1, 1, 0); + cairo_set_operator(c, CAIRO_OPERATOR_SOURCE); + cairo_paint(c); + +@@ -226,8 +227,6 @@ + if (event->xclient.message_type == trayWindow->atoms[ATOM_MANAGER] + && event->xclient.data.l[1] == trayWindow->atoms[ATOM_SELECTION] + && trayWindow->dockWindow == None) { +- if (classicui->notificationItemAvailable) +- return true; + trayWindow->dockWindow = event->xclient.data.l[2]; + TrayWindowRelease(trayWindow); + TrayWindowInit(trayWindow); +@@ -245,6 +244,7 @@ + int size = event->xconfigure.height; + if (size != trayWindow->size) { + trayWindow->size = size; ++ XResizeWindow(dpy, trayWindow->window, size, size); + XSizeHints size_hints; + size_hints.flags = PWinGravity | PBaseSize; + size_hints.base_width = trayWindow->size; +@@ -286,6 +286,14 @@ + return true; + } + break; ++ case PropertyNotify: ++ if (event->xproperty.atom == trayWindow->atoms[ATOM_VISUAL] && ++ event->xproperty.window == trayWindow->dockWindow) { ++ TrayWindowRelease(trayWindow); ++ TrayWindowInit(trayWindow); ++ return true; ++ } ++ break; + } + return false; + } +--- /src/ui/classic/classicui.c ++++ /src/ui/classic/classicui.c +@@ -168,7 +168,7 @@ + void ClassicUIDelayedInitTray(void* arg) { + FcitxClassicUI* classicui = (FcitxClassicUI*) arg; + // FcitxLog(INFO, "yeah we delayed!"); +- if (!classicui->bUseTrayIcon) ++ if (!classicui->bUseTrayIcon || classicui->isSuspend) + return; + /* + * if this return false, something wrong happened and callback +@@ -187,7 +187,7 @@ + { + FcitxClassicUI* classicui = (FcitxClassicUI*) arg; + classicui->trayTimeout = 0; +- if (!classicui->bUseTrayIcon) ++ if (!classicui->bUseTrayIcon || classicui->isSuspend) + return; + + if (!classicui->trayWindow->bTrayMapped) { +--- /src/ui/classic/tray.c ++++ /src/ui/classic/tray.c +@@ -106,8 +106,9 @@ + + XWindowAttributes attr; + XGetWindowAttributes(dpy, DefaultRootWindow(dpy), &attr); +- if ((attr.your_event_mask & StructureNotifyMask) != StructureNotifyMask) { +- XSelectInput(dpy, DefaultRootWindow(dpy), attr.your_event_mask | StructureNotifyMask); // for MANAGER selection ++ int neededMask = StructureNotifyMask; ++ if ((attr.your_event_mask & neededMask) != neededMask) { ++ XSelectInput(dpy, DefaultRootWindow(dpy), attr.your_event_mask | neededMask); // for MANAGER selection + } + return True; + } +@@ -123,7 +124,7 @@ + Display* dpy = tray->owner->dpy; + + if (tray->dockWindow != None) { +- XSelectInput(dpy, tray->dockWindow, StructureNotifyMask); ++ XSelectInput(dpy, tray->dockWindow, PropertyChangeMask | StructureNotifyMask); + TraySendOpcode(tray, SYSTEM_TRAY_REQUEST_DOCK, tray->window, 0, 0); + tray->bTrayMapped = True; + return 1; diff --git a/app-i18n/fcitx/files/fcitx-4.2.9.2-scripts.patch b/app-i18n/fcitx/files/fcitx-4.2.9.2-scripts.patch new file mode 100644 index 000000000000..a3399767e7b0 --- /dev/null +++ b/app-i18n/fcitx/files/fcitx-4.2.9.2-scripts.patch @@ -0,0 +1,60 @@ +https://github.com/fcitx/fcitx/issues/342 +https://github.com/fcitx/fcitx/commit/de4bd3d535736afe061d9ac63fcc897e3ab3237e + +--- /cmake/fcitx-cmake-helper.sh ++++ /cmake/fcitx-cmake-helper.sh +@@ -1,4 +1,4 @@ +-#!/bin/bash ++#!/usr/bin/env bash + # Copyright (C) 2012~2013 by Yichao Yu + # yyc1992@gmail.com + # +--- /cmake/fcitx-merge-config.sh ++++ /cmake/fcitx-merge-config.sh +@@ -1,4 +1,4 @@ +-#!/bin/sh ++#!/usr/bin/env bash + # Copyright (C) 2012~2012 by Yichao Yu + # yyc1992@gmail.com + # +--- /data/icon/data/gen.sh ++++ /data/icon/data/gen.sh +@@ -1,4 +1,4 @@ +-#!/bin/sh ++#!/usr/bin/env bash + + a="$(find scabable/status/ -type f -name \*.svg)" + echo $a +--- /data/script/fcitx-configtool.sh ++++ /data/script/fcitx-configtool.sh +@@ -28,7 +28,7 @@ + } + fi + +-if type gettext > /dev/null 2>&1; then ++if which gettext > /dev/null 2>&1; then + _() { + gettext "$@" + } +--- /src/lib/fcitx-utils/gen-hotkey.sh ++++ /src/lib/fcitx-utils/gen-hotkey.sh +@@ -1,7 +1,6 @@ + #!/bin/sh + +-function download_file() +-{ ++download_file() { + if [ "x$3" != "xf" ]; then + if [ -f $1 ]; then + return +--- /src/ui/classic/fcitx-skin-installer.sh ++++ /src/ui/classic/fcitx-skin-installer.sh +@@ -25,7 +25,7 @@ + } + fi + +-if type gettext > /dev/null 2>&1; then ++if which gettext > /dev/null 2>&1; then + _() { + gettext "$@" + } diff --git a/app-i18n/fcitx/files/fcitx-4.2.9.3-restart.patch b/app-i18n/fcitx/files/fcitx-4.2.9.3-restart.patch new file mode 100644 index 000000000000..b71bdac9461a --- /dev/null +++ b/app-i18n/fcitx/files/fcitx-4.2.9.3-restart.patch @@ -0,0 +1,13 @@ +https://github.com/fcitx/fcitx/issues/362 +https://github.com/fcitx/fcitx/commit/82202f6b81361263693f07ae17c55c8ce048b220 + +--- /src/lib/fcitx/instance.c ++++ /src/lib/fcitx/instance.c +@@ -365,6 +365,7 @@ + setjmp(FcitxRecover); + + if (instance->destroy || instance->restart) { ++ FcitxInstanceEnd(instance); + FcitxInstanceRealEnd(instance); + break; + } diff --git a/app-i18n/fcitx/metadata.xml b/app-i18n/fcitx/metadata.xml new file mode 100644 index 000000000000..f6fcd96b889e --- /dev/null +++ b/app-i18n/fcitx/metadata.xml @@ -0,0 +1,25 @@ +<?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> + <use> + <flag name="autostart">Enable XDG-compatible autostart of Fcitx</flag> + <flag name="enchant">Enable Enchant backend (using <pkg>app-text/enchant</pkg>) for spelling hinting</flag> + <flag name="gtk2">Install input method module for GTK+ 2</flag> + <flag name="gtk3">Install input method module for GTK+ 3</flag> + <flag name="opencc">Enable OpenCC engine (using <pkg>app-i18n/opencc</pkg>) for converter between Simplified Chinese and Traditional Chinese</flag> + <flag name="pango">Enable support for <pkg>x11-libs/pango</pkg></flag> + <flag name="qt4">Install input method module for Qt 4</flag> + <flag name="table">Install table input methods for Simplified Chinese</flag> + </use> + <upstream> + <remote-id type="github">fcitx/fcitx</remote-id> + </upstream> +</pkgmetadata> |