mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-09-24 04:59:14 -07:00
app-i18n/ibus: Drop old versions
Signed-off-by: Matt Turner <mattst88@gentoo.org>
This commit is contained in:
@@ -1,6 +1,3 @@
|
||||
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
|
||||
DIST ibus-1.5.29-rc1.tar.gz 3989492 BLAKE2B c99f42fcd18bed240bf5e9f5b406bc879b05b12f3d0c14713e21b8c99fbcde32cd880dead1374731914289c022b1f160d9961bdbd9e9a0a3ced86949c5beb811 SHA512 776a01bcfd730be67e0f7d730f7b4b0a586d39744deb605359330a1786542acae52efbc085c39b8417b20164e45c259b40b29725f53fb1b69e2b340778ff28dc
|
||||
DIST ibus-1.5.29-rc2.tar.gz 3991416 BLAKE2B c185c0cf8af79a80ee04f414e13c4b58bd2f18891851d2f018713848b3bc0fe0516c8c0cf8f64204040f10b6b4a5304c8be6305449d7290b5d08412246d3af40 SHA512 47dd39c9615783b6c157a25e8a2506dc2e1f440d56aa649ee8cb95a390cb4efab9c95e72ac84b5d042c25e350599b4d352ddc66f1385af6660d4a7a296e44ca7
|
||||
|
||||
@@ -1,273 +0,0 @@
|
||||
https://github.com/ibus/ibus/issues/2387
|
||||
https://bugs.gentoo.org/843725
|
||||
|
||||
From 17648f0522910480b6c5dd4f5356ca1f6c160bf5 Mon Sep 17 00:00:00 2001
|
||||
From: Carlos Garnacho <carlosg@gnome.org>
|
||||
Date: Tue, 29 Mar 2022 22:48:19 +0200
|
||||
Subject: [PATCH] src: Fix refcounting issues
|
||||
|
||||
Commit 5a455b1ead attempted to fix both GLib warnings around
|
||||
floating references and other presumed refcounting issues. However
|
||||
it missed 2 kinds of bugs:
|
||||
|
||||
- The places that take an IBusText created from a static string
|
||||
were made to avoid freeing it afterwards, but the staticness refers
|
||||
to the string content, not the object itself.
|
||||
- The places that are documented to emit signals on floating object
|
||||
references used to do the following after signal emission:
|
||||
|
||||
if (g_object_is_floating (object))
|
||||
g_object_unref (object)
|
||||
|
||||
And did possibly trigger GLib warnings were changed to:
|
||||
|
||||
if (g_object_is_floating (object))
|
||||
g_object_sink_ref (object);
|
||||
g_object_unref (object);
|
||||
|
||||
Which fixes the GLib warning for floating references, but do
|
||||
unintendedly steal one reference away for non floating references.
|
||||
|
||||
This commit is essentially a revert of commit 5a455b1ead, but
|
||||
addressing both things differently:
|
||||
|
||||
- All label/tooltip/symbol IBusText properties in IBusProperty do
|
||||
now always sink the reference of the stored object.
|
||||
|
||||
- All places documented as maybe using objects with a floating reference
|
||||
on signals changed to doing:
|
||||
|
||||
if (g_object_is_floating (object)) {
|
||||
g_object_ref_sink (object);
|
||||
g_object_unref (object);
|
||||
}
|
||||
|
||||
So the floating reference is owned and unreferenced without warnings,
|
||||
but already owned references are left unchanged.
|
||||
|
||||
This addresses the possible GLib warnings, fixes the possible double
|
||||
unrefs happening on IBusText used in signals, and fixes the missing
|
||||
unrefs on IBusText objects created from static strings.
|
||||
|
||||
BUG=https://github.com/ibus/ibus/issues/2393
|
||||
BUG=https://github.com/ibus/ibus/issues/2387
|
||||
---
|
||||
src/ibusinputcontext.c | 35 +++++++++++++++++++++--------------
|
||||
src/ibusproperty.c | 32 +++++++++++++++++---------------
|
||||
2 files changed, 38 insertions(+), 29 deletions(-)
|
||||
|
||||
diff --git a/src/ibusinputcontext.c b/src/ibusinputcontext.c
|
||||
index 4b27551b..7981de38 100644
|
||||
--- a/src/ibusinputcontext.c
|
||||
+++ b/src/ibusinputcontext.c
|
||||
@@ -549,9 +549,10 @@ ibus_input_context_g_signal (GDBusProxy *proxy,
|
||||
g_variant_unref (variant);
|
||||
g_signal_emit (context, context_signals[COMMIT_TEXT], 0, text);
|
||||
|
||||
- if (g_object_is_floating (text))
|
||||
+ if (g_object_is_floating (text)) {
|
||||
g_object_ref_sink (text);
|
||||
- g_object_unref (text);
|
||||
+ g_object_unref (text);
|
||||
+ }
|
||||
return;
|
||||
}
|
||||
if (g_strcmp0 (signal_name, "UpdatePreeditText") == 0) {
|
||||
@@ -569,9 +570,10 @@ ibus_input_context_g_signal (GDBusProxy *proxy,
|
||||
cursor_pos,
|
||||
visible);
|
||||
|
||||
- if (g_object_is_floating (text))
|
||||
+ if (g_object_is_floating (text)) {
|
||||
g_object_ref_sink (text);
|
||||
- g_object_unref (text);
|
||||
+ g_object_unref (text);
|
||||
+ }
|
||||
return;
|
||||
}
|
||||
if (g_strcmp0 (signal_name, "UpdatePreeditTextWithMode") == 0) {
|
||||
@@ -592,9 +594,10 @@ ibus_input_context_g_signal (GDBusProxy *proxy,
|
||||
visible,
|
||||
mode);
|
||||
|
||||
- if (g_object_is_floating (text))
|
||||
+ if (g_object_is_floating (text)) {
|
||||
g_object_ref_sink (text);
|
||||
- g_object_unref (text);
|
||||
+ g_object_unref (text);
|
||||
+ }
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -621,9 +624,10 @@ ibus_input_context_g_signal (GDBusProxy *proxy,
|
||||
0,
|
||||
text,
|
||||
visible);
|
||||
- if (g_object_is_floating (text))
|
||||
+ if (g_object_is_floating (text)) {
|
||||
g_object_ref_sink (text);
|
||||
- g_object_unref (text);
|
||||
+ g_object_unref (text);
|
||||
+ }
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -640,9 +644,10 @@ ibus_input_context_g_signal (GDBusProxy *proxy,
|
||||
0,
|
||||
table,
|
||||
visible);
|
||||
- if (g_object_is_floating (table))
|
||||
+ if (g_object_is_floating (table)) {
|
||||
g_object_ref_sink (table);
|
||||
- g_object_unref (table);
|
||||
+ g_object_unref (table);
|
||||
+ }
|
||||
return;
|
||||
|
||||
}
|
||||
@@ -659,9 +664,10 @@ ibus_input_context_g_signal (GDBusProxy *proxy,
|
||||
0,
|
||||
prop_list);
|
||||
|
||||
- if (g_object_is_floating (prop_list))
|
||||
+ if (g_object_is_floating (prop_list)) {
|
||||
g_object_ref_sink (prop_list);
|
||||
- g_object_unref (prop_list);
|
||||
+ g_object_unref (prop_list);
|
||||
+ }
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -673,9 +679,10 @@ ibus_input_context_g_signal (GDBusProxy *proxy,
|
||||
|
||||
g_signal_emit (context, context_signals[UPDATE_PROPERTY], 0, prop);
|
||||
|
||||
- if (g_object_is_floating (prop))
|
||||
+ if (g_object_is_floating (prop)) {
|
||||
g_object_ref_sink (prop);
|
||||
- g_object_unref (prop);
|
||||
+ g_object_unref (prop);
|
||||
+ }
|
||||
return;
|
||||
}
|
||||
|
||||
diff --git a/src/ibusproperty.c b/src/ibusproperty.c
|
||||
index 6d4ed088..cd8a0e2a 100644
|
||||
--- a/src/ibusproperty.c
|
||||
+++ b/src/ibusproperty.c
|
||||
@@ -336,20 +336,17 @@ ibus_property_destroy (IBusProperty *prop)
|
||||
prop->priv->icon = NULL;
|
||||
|
||||
if (prop->priv->label) {
|
||||
- if (!ibus_text_get_is_static (prop->priv->label))
|
||||
- g_object_unref (prop->priv->label);
|
||||
+ g_object_unref (prop->priv->label);
|
||||
prop->priv->label = NULL;
|
||||
}
|
||||
|
||||
if (prop->priv->symbol) {
|
||||
- if (!ibus_text_get_is_static (prop->priv->symbol))
|
||||
- g_object_unref (prop->priv->symbol);
|
||||
+ g_object_unref (prop->priv->symbol);
|
||||
prop->priv->symbol = NULL;
|
||||
}
|
||||
|
||||
if (prop->priv->tooltip) {
|
||||
- if (!ibus_text_get_is_static (prop->priv->tooltip))
|
||||
- g_object_unref (prop->priv->tooltip);
|
||||
+ g_object_unref (prop->priv->tooltip);
|
||||
prop->priv->tooltip = NULL;
|
||||
}
|
||||
|
||||
@@ -404,7 +401,7 @@ ibus_property_deserialize (IBusProperty *prop,
|
||||
g_variant_get_child (variant, retval++, "u", &prop->priv->type);
|
||||
|
||||
GVariant *subvar = g_variant_get_child_value (variant, retval++);
|
||||
- if (prop->priv->label && !ibus_text_get_is_static (prop->priv->label)) {
|
||||
+ if (prop->priv->label) {
|
||||
g_object_unref (prop->priv->label);
|
||||
}
|
||||
prop->priv->label = IBUS_TEXT (ibus_serializable_deserialize (subvar));
|
||||
@@ -414,7 +411,7 @@ ibus_property_deserialize (IBusProperty *prop,
|
||||
ibus_g_variant_get_child_string (variant, retval++, &prop->priv->icon);
|
||||
|
||||
subvar = g_variant_get_child_value (variant, retval++);
|
||||
- if (prop->priv->tooltip && !ibus_text_get_is_static (prop->priv->tooltip)) {
|
||||
+ if (prop->priv->tooltip) {
|
||||
g_object_unref (prop->priv->tooltip);
|
||||
}
|
||||
prop->priv->tooltip = IBUS_TEXT (ibus_serializable_deserialize (subvar));
|
||||
@@ -435,7 +432,7 @@ ibus_property_deserialize (IBusProperty *prop,
|
||||
|
||||
/* Keep the serialized order for the compatibility when add new members. */
|
||||
subvar = g_variant_get_child_value (variant, retval++);
|
||||
- if (prop->priv->symbol && !ibus_text_get_is_static (prop->priv->symbol)) {
|
||||
+ if (prop->priv->symbol) {
|
||||
g_object_unref (prop->priv->symbol);
|
||||
}
|
||||
prop->priv->symbol = IBUS_TEXT (ibus_serializable_deserialize (subvar));
|
||||
@@ -567,7 +564,7 @@ ibus_property_set_label (IBusProperty *prop,
|
||||
g_assert (IBUS_IS_PROPERTY (prop));
|
||||
g_return_if_fail (label == NULL || IBUS_IS_TEXT (label));
|
||||
|
||||
- if (prop->priv->label && !ibus_text_get_is_static (prop->priv->label)) {
|
||||
+ if (prop->priv->label) {
|
||||
g_object_unref (prop->priv->label);
|
||||
}
|
||||
|
||||
@@ -575,8 +572,10 @@ ibus_property_set_label (IBusProperty *prop,
|
||||
prop->priv->label = ibus_text_new_from_static_string ("");
|
||||
}
|
||||
else {
|
||||
- prop->priv->label = g_object_ref_sink (label);
|
||||
+ prop->priv->label = label;
|
||||
}
|
||||
+
|
||||
+ g_object_ref_sink (prop->priv->label);
|
||||
}
|
||||
|
||||
void
|
||||
@@ -586,7 +585,7 @@ ibus_property_set_symbol (IBusProperty *prop,
|
||||
g_assert (IBUS_IS_PROPERTY (prop));
|
||||
g_return_if_fail (symbol == NULL || IBUS_IS_TEXT (symbol));
|
||||
|
||||
- if (prop->priv->symbol && !ibus_text_get_is_static (prop->priv->symbol)) {
|
||||
+ if (prop->priv->symbol) {
|
||||
g_object_unref (prop->priv->symbol);
|
||||
}
|
||||
|
||||
@@ -594,8 +593,10 @@ ibus_property_set_symbol (IBusProperty *prop,
|
||||
prop->priv->symbol = ibus_text_new_from_static_string ("");
|
||||
}
|
||||
else {
|
||||
- prop->priv->symbol = g_object_ref_sink (symbol);
|
||||
+ prop->priv->symbol = symbol;
|
||||
}
|
||||
+
|
||||
+ g_object_ref_sink (prop->priv->symbol);
|
||||
}
|
||||
|
||||
void
|
||||
@@ -615,7 +616,7 @@ ibus_property_set_tooltip (IBusProperty *prop,
|
||||
g_assert (IBUS_IS_PROPERTY (prop));
|
||||
g_assert (tooltip == NULL || IBUS_IS_TEXT (tooltip));
|
||||
|
||||
- if (prop->priv->tooltip && !ibus_text_get_is_static (prop->priv->tooltip)) {
|
||||
+ if (prop->priv->tooltip) {
|
||||
g_object_unref (prop->priv->tooltip);
|
||||
}
|
||||
|
||||
@@ -624,8 +625,9 @@ ibus_property_set_tooltip (IBusProperty *prop,
|
||||
}
|
||||
else {
|
||||
prop->priv->tooltip = tooltip;
|
||||
- g_object_ref_sink (prop->priv->tooltip);
|
||||
}
|
||||
+
|
||||
+ g_object_ref_sink (prop->priv->tooltip);
|
||||
}
|
||||
|
||||
void
|
||||
--
|
||||
2.35.1
|
||||
|
||||
@@ -1,227 +0,0 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python3_{9..10} )
|
||||
|
||||
inherit autotools bash-completion-r1 gnome2-utils python-r1 toolchain-funcs vala virtualx xdg-utils
|
||||
|
||||
GENTOO_VER=
|
||||
DESCRIPTION="Intelligent Input Bus for Linux / Unix OS"
|
||||
HOMEPAGE="https://github.com/ibus/ibus/wiki"
|
||||
|
||||
[[ -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
|
||||
${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 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 )
|
||||
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 )
|
||||
unicode? ( app-i18n/unicode-data )"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${P}-src-Fix-refcounting-issues.patch
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
vala_src_prepare --ignore-use
|
||||
sed -i "/UCD_DIR=/s/\$with_emoji_annotation_dir/\$with_ucd_dir/" configure.ac
|
||||
if ! has_version 'x11-libs/gtk+:3[wayland]'; then
|
||||
touch ui/gtk3/panelbinding.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 ${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 += 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 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
|
||||
find "${ED}" -name '*.la' -delete || 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
|
||||
}
|
||||
@@ -1,240 +0,0 @@
|
||||
# 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="~alpha ~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
|
||||
}
|
||||
@@ -1,231 +0,0 @@
|
||||
# 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
|
||||
|
||||
GENTOO_VER=
|
||||
DESCRIPTION="Intelligent Input Bus for Linux / Unix OS"
|
||||
HOMEPAGE="https://github.com/ibus/ibus/wiki"
|
||||
|
||||
[[ -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
|
||||
${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 ${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
|
||||
}
|
||||
Reference in New Issue
Block a user