forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
app-i18n/ibus: fix emoji input broken issue
Closes: https://bugs.gentoo.org/907764 Signed-off-by: Yixun Lan <dlan@gentoo.org>
- Loading branch information
Showing
2 changed files
with
241 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,4 @@ | ||
DIST ibus-1.5.26.tar.gz 3715263 BLAKE2B 80eb293b028d431b76c015c6d6d9fea92888554f6f34ec126853df189746d9976569ec2380146187d13337a011668b1f15fc57a95284658c8afc7824a67b5898 SHA512 923607c17114af673dcc36532fb44a278b61161ee1b7d4e01b2e0dcffc40c95eb91c6416acc9c0da0333e933863e15263e9a5ff1e467cfc02b71398d601b9714 | ||
DIST ibus-1.5.27.tar.gz 3779541 BLAKE2B e98f775cd62036ae02dafd984933343e99390a6a1e77b672feb4bc00dd1d423126227bded2d22b8bc9fa214e572ea906c407658de8ee20e036f8753836d68f46 SHA512 b5f3ae555d19eb780a416383e6351ed2cd8834fcc2bc4ebe4f4a194fc934dd055c5e782f9ec382fb21e1e2103c5409804174a79d192b5494a9018ce9081305e4 | ||
DIST ibus-1.5.28-upstream-patches-0.tar.xz 23820 BLAKE2B 773736257e166170060458ad66b99889d2e54ef480504fe86ee65bc41364243ddcb5c7625aaa66a3e266c735d024c4f6c51d559484214d1f1c04a30479ccba62 SHA512 5555162bcb129f9e07c135c921c778de080aeaec81d56bedcf62d3b568cf39515e41662790c5a3d34241586d58785b887bbbaa7a75f486338968e3a496aa6433 | ||
DIST ibus-1.5.28.tar.gz 3871246 BLAKE2B 7117c09e708df8a08e6684cc1096f38873503eb2c7937e0e3b02aeff678c96b3e2fc59fa4dfc7a11275b2e1b3349ae136041f8f4730aadc66339914b77c577d3 SHA512 5bfb9158a5810d38af900775ed30406823872c431ef4772b476afa7b58c120ef508a51b961620ea6003549f1f49cf05484992beee8677b138f1162afc73ab247 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,240 @@ | ||
# Copyright 1999-2023 Gentoo Authors | ||
# Distributed under the terms of the GNU General Public License v2 | ||
|
||
EAPI=7 | ||
|
||
PYTHON_COMPAT=( python3_{9..11} ) | ||
|
||
inherit autotools bash-completion-r1 gnome2-utils python-r1 toolchain-funcs vala virtualx xdg-utils | ||
|
||
UPSTREAM_VER=0 | ||
GENTOO_VER= | ||
DESCRIPTION="Intelligent Input Bus for Linux / Unix OS" | ||
HOMEPAGE="https://github.com/ibus/ibus/wiki" | ||
|
||
[[ -n ${UPSTREAM_VER} ]] && \ | ||
UPSTREAM_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${P}-upstream-patches-${UPSTREAM_VER}.tar.xz" | ||
[[ -n ${GENTOO_VER} ]] && \ | ||
GENTOO_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${P}-gentoo-patches-${GENTOO_VER}.tar.xz" | ||
SRC_URI="https://github.com/${PN}/${PN}/releases/download/${PV}/${P}.tar.gz | ||
${UPSTREAM_PATCHSET_URI} ${GENTOO_PATCHSET_URI}" | ||
|
||
LICENSE="LGPL-2.1" | ||
SLOT="0" | ||
KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86" | ||
IUSE="X appindicator +emoji gtk2 +gtk3 +gtk4 +gui +introspection libnotify nls +python systemd test +unicode vala wayland" | ||
RESTRICT="!test? ( test )" | ||
REQUIRED_USE=" | ||
appindicator? ( gtk3 ) | ||
python? ( | ||
${PYTHON_REQUIRED_USE} | ||
introspection | ||
) | ||
test? ( gtk3 ) | ||
vala? ( introspection ) | ||
X? ( gtk3 ) | ||
" | ||
DEPEND=" | ||
app-text/iso-codes | ||
>=dev-libs/glib-2.65.0:2 | ||
gnome-base/dconf | ||
gnome-base/librsvg:2 | ||
sys-apps/dbus[X?] | ||
X? ( | ||
x11-libs/libX11 | ||
>=x11-libs/libXfixes-6.0.0 | ||
) | ||
gtk2? ( x11-libs/gtk+:2 ) | ||
gtk3? ( x11-libs/gtk+:3 ) | ||
gtk4? ( gui-libs/gtk:4 ) | ||
gui? ( | ||
x11-libs/libX11 | ||
x11-libs/libXi | ||
) | ||
introspection? ( dev-libs/gobject-introspection ) | ||
libnotify? ( x11-libs/libnotify ) | ||
nls? ( virtual/libintl ) | ||
python? ( | ||
${PYTHON_DEPS} | ||
dev-python/pygobject:3[${PYTHON_USEDEP}] | ||
) | ||
wayland? ( | ||
dev-libs/wayland | ||
x11-libs/libxkbcommon | ||
)" | ||
RDEPEND="${DEPEND} | ||
python? ( | ||
gui? ( | ||
x11-libs/gtk+:3[introspection] | ||
) | ||
)" | ||
BDEPEND=" | ||
$(vala_depend) | ||
dev-libs/glib:2 | ||
dev-util/glib-utils | ||
virtual/pkgconfig | ||
x11-misc/xkeyboard-config | ||
emoji? ( | ||
app-i18n/unicode-cldr | ||
app-i18n/unicode-emoji | ||
) | ||
nls? ( sys-devel/gettext ) | ||
test? ( x11-apps/setxkbmap ) | ||
unicode? ( app-i18n/unicode-data )" | ||
|
||
src_prepare() { | ||
vala_src_prepare --ignore-use | ||
if ! has_version 'x11-libs/gtk+:3[wayland]'; then | ||
touch ui/gtk3/panelbinding.vala \ | ||
ui/gtk3/panel.vala \ | ||
ui/gtk3/emojierapp.vala || die | ||
fi | ||
if ! use emoji; then | ||
touch \ | ||
tools/main.vala \ | ||
ui/gtk3/panel.vala || die | ||
fi | ||
if ! use appindicator; then | ||
touch ui/gtk3/panel.vala || die | ||
fi | ||
|
||
if [[ -n ${UPSTREAM_VER} ]]; then | ||
einfo "Try to apply Upstream specific patch set" | ||
eapply "${WORKDIR}"/patches-upstream/*.patch | ||
fi | ||
|
||
if [[ -n ${GENTOO_VER} ]]; then | ||
einfo "Try to apply Gentoo specific patch set" | ||
eapply "${WORKDIR}"/patches-gentoo/*.patch | ||
fi | ||
|
||
# for multiple Python implementations | ||
sed -i "s/^\(PYGOBJECT_DIR =\).*/\1/" bindings/Makefile.am || die | ||
# fix for parallel install | ||
sed -i "/^if ENABLE_PYTHON2/,/^endif/d" bindings/pygobject/Makefile.am || die | ||
# require user interaction | ||
sed -i "/^TESTS_C += ibus-\(compose\|keypress\)/d" src/tests/Makefile.am || die | ||
|
||
sed -i "/^bash_completion/d" tools/Makefile.am || die | ||
|
||
default | ||
eautoreconf | ||
xdg_environment_reset | ||
} | ||
|
||
src_configure() { | ||
local unicodedir="${EPREFIX}"/usr/share/unicode | ||
local python_conf=() | ||
if use python; then | ||
python_setup | ||
python_conf+=( | ||
$(use_enable gui setup) | ||
--with-python=${EPYTHON} | ||
) | ||
else | ||
python_conf+=( --disable-setup ) | ||
fi | ||
|
||
if tc-is-cross-compiler && { use emoji || use unicode; }; then | ||
mkdir -p "${S}-build" | ||
pushd "${S}-build" >/dev/null 2>&1 || die | ||
ECONF_SOURCE=${S} econf_build --enable-static \ | ||
--disable-{dconf,gtk{2,3},python-library,shared,xim} \ | ||
ISOCODES_{CFLAG,LIB}S=-DSKIP \ | ||
$(use_enable emoji emoji-dict) \ | ||
$(use_enable unicode unicode-dict) \ | ||
$(use_with unicode ucd-dir "${EPREFIX}/usr/share/unicode-data") | ||
popd >/dev/null 2>&1 || die | ||
fi | ||
|
||
local myconf=( | ||
$(use_enable X xim) | ||
$(use_enable appindicator) | ||
$(use_enable emoji emoji-dict) | ||
$(use_with emoji unicode-emoji-dir "${unicodedir}"/emoji) | ||
$(use_with emoji emoji-annotation-dir "${unicodedir}"/cldr/common/annotations) | ||
$(use_enable gtk2) | ||
$(use_enable gtk3) | ||
$(use_enable gtk4) | ||
$(use_enable gui ui) | ||
$(use_enable introspection) | ||
$(use_enable libnotify) | ||
$(use_enable nls) | ||
$(use_enable systemd systemd-services) | ||
$(use_enable test tests) | ||
$(use_enable unicode unicode-dict) | ||
$(use_with unicode ucd-dir "${EPREFIX}/usr/share/unicode-data") | ||
$(use_enable vala) | ||
$(use_enable wayland) | ||
"${python_conf[@]}" | ||
) | ||
econf "${myconf[@]}" | ||
} | ||
|
||
src_compile() { | ||
if tc-is-cross-compiler && { use emoji || use unicode; }; then | ||
emake -C "${S}-build/src" \ | ||
$(usex emoji emoji-parser '') \ | ||
$(usex unicode unicode-parser '') | ||
emake -C src \ | ||
$(usex emoji emoji-parser '') \ | ||
$(usex unicode unicode-parser '') | ||
cp \ | ||
$(usex emoji "${S}-build/src/emoji-parser" '') \ | ||
$(usex unicode "${S}-build/src/unicode-parser" '') \ | ||
src || die | ||
fi | ||
emake | ||
} | ||
|
||
src_test() { | ||
unset DBUS_SESSION_BUS_ADDRESS | ||
virtx emake -j1 check | ||
} | ||
|
||
src_install() { | ||
default | ||
# Remove la files | ||
find "${ED}" -name '*.la' -delete || die | ||
|
||
# Remove stray python files generated by the build system | ||
find "${ED}" -name '*.pyc' -exec rm -f {} \; || die | ||
find "${ED}" -name '*.pyo' -exec rm -f {} \; || die | ||
|
||
if use python; then | ||
python_install() { | ||
emake -C bindings/pygobject \ | ||
pyoverridesdir="$(${EPYTHON} -c 'import gi; print(gi._overridesdir)')" \ | ||
DESTDIR="${D}" \ | ||
install | ||
|
||
python_optimize | ||
} | ||
python_foreach_impl python_install | ||
fi | ||
|
||
keepdir /usr/share/ibus/engine | ||
|
||
newbashcomp tools/${PN}.bash ${PN} | ||
|
||
insinto /etc/X11/xinit/xinput.d | ||
newins xinput-${PN} ${PN}.conf | ||
|
||
# Undo compression of man page | ||
find "${ED}"/usr/share/man -type f -name '*.gz' -exec gzip -d {} \; || die | ||
} | ||
|
||
pkg_postinst() { | ||
use gtk2 && gnome2_query_immodules_gtk2 | ||
use gtk3 && gnome2_query_immodules_gtk3 | ||
xdg_icon_cache_update | ||
gnome2_schemas_update | ||
dconf update | ||
} | ||
|
||
pkg_postrm() { | ||
use gtk2 && gnome2_query_immodules_gtk2 | ||
use gtk3 && gnome2_query_immodules_gtk3 | ||
xdg_icon_cache_update | ||
gnome2_schemas_update | ||
} |