* [gentoo-commits] repo/gentoo:master commit in: app-i18n/ibus/, app-i18n/ibus/files/
@ 2018-08-28 12:57 Akinori Hattori
0 siblings, 0 replies; 6+ messages in thread
From: Akinori Hattori @ 2018-08-28 12:57 UTC (permalink / raw
To: gentoo-commits
commit: 02d5c896c9451a96c4b949ccb0286b8e5ca0073e
Author: Akinori Hattori <hattya <AT> gentoo <DOT> org>
AuthorDate: Tue Aug 28 12:55:22 2018 +0000
Commit: Akinori Hattori <hattya <AT> gentoo <DOT> org>
CommitDate: Tue Aug 28 12:57:29 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=02d5c896
app-i18n/ibus: new upstream release
Package-Manager: Portage-2.3.40, Repoman-2.3.9
app-i18n/ibus/Manifest | 1 +
app-i18n/ibus/files/ibus-1.5.19-gdk-wayland.patch | 88 ++++++++++
app-i18n/ibus/ibus-1.5.19.ebuild | 187 ++++++++++++++++++++++
3 files changed, 276 insertions(+)
diff --git a/app-i18n/ibus/Manifest b/app-i18n/ibus/Manifest
index 1290bc19446..8d1ff04e919 100644
--- a/app-i18n/ibus/Manifest
+++ b/app-i18n/ibus/Manifest
@@ -1,3 +1,4 @@
DIST ibus-1.5.12.tar.gz 2190284 BLAKE2B 57ac7f9e8e8f0419bad1bf3aa629282ef3c0188d29e98bc872e594955f69e0863020d600c674cabed56db156a85210b5b3c1fe137b135395a27d2535e4938164 SHA512 a443bf0d1b71a52c18e7d13a0c69f38c48f6924cfb1669912880b87be1bf41bcb7d8d6252aafd6799e43d41c081fd94cf334fd836a0505c93a4e5c5b68241c81
DIST ibus-1.5.16.tar.gz 2375719 BLAKE2B cf4cbd4556e43403c73da3cd2cb9f6da8e0baf5f90b3bc74f6d12c1bad057198ed828053dcbb3ddfd28c37d9011b6166e834385720aa827a68f594dbd4cf9298 SHA512 494ead69cf9c0111fd25fd1de27e796d89db4f08443afa1ec469f638469b25d8b19a59ea7ab0db0f3a130b9a89b3f2819667099ba38fc973d6efc61b367ce237
DIST ibus-1.5.18.tar.gz 2760121 BLAKE2B dfcf549362ac9ac0cb9adb9cedc3fd7146877a42e0e086ad7be18ccb6239868ed940d2c371d83c2e2706c7120702af0bcb0106da60889f0b3d5857b8929b9165 SHA512 34519c3464eaf2cac3320e1568fc76f4edb281afa70f335c015b828ff4e86b3224d77b95cdc0b2e76e42459c54b1044264ff226963fe739dd553ac7326d2f2d3
+DIST ibus-1.5.19.tar.gz 2842274 BLAKE2B a5aea4770c1c0a58a9e0b1aa26f47a8ab9eb5060a0c06179663984c5b531464ff4575a8ece2f2ee2122f777ca615296c1e46ad4833c68ba2da038f2b85dea374 SHA512 ddcd464c9afb6d081df1cfac65069506877eb4818c3ba5594bcf76f3c6795ef6c17177a778dc89b2ef69d10d87297aa12c8e04f156b750e500b51b32787bd9fc
diff --git a/app-i18n/ibus/files/ibus-1.5.19-gdk-wayland.patch b/app-i18n/ibus/files/ibus-1.5.19-gdk-wayland.patch
new file mode 100644
index 00000000000..8eed29daf39
--- /dev/null
+++ b/app-i18n/ibus/files/ibus-1.5.19-gdk-wayland.patch
@@ -0,0 +1,88 @@
+From aa0f4252ff965729b871c91b4ed089bf98963c0b Mon Sep 17 00:00:00 2001
+From: fujiwarat <takao.fujiwara1@gmail.com>
+Date: Fri, 10 Aug 2018 15:43:58 +0900
+Subject: [PATCH] ui/gtk3: Check if gdk-wayland is installed
+
+BUG=https://github.com/ibus/ibus/issues/2035
+---
+ configure.ac | 10 ++++++++++
+ ui/gtk3/Makefile.am | 5 ++++-
+ ui/gtk3/panelbinding.vala | 5 +++++
+ 3 files changed, 19 insertions(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 091e20f2..4b6a7a21 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -237,12 +237,21 @@ if test x"$enable_gtk3" = x"yes"; then
+ PKG_CHECK_MODULES(GTK3, [
+ gtk+-3.0
+ ])
++ PKG_CHECK_EXISTS([gdk-wayland-3.0],
++ [enable_gdk3_wayland=yes],
++ [enable_gdk3_wayland=no]
++ )
+
+ gtk3_binary_version=`$PKG_CONFIG --variable=gtk_binary_version gtk+-3.0`
+ GTK3_IM_MODULEDIR="$libdir"/gtk-3.0/$gtk3_binary_version/immodules
+ else
+ enable_gtk3="no (disabled, use --enable-gtk3 to enable)"
++ enable_gdk3_wayland=no
++fi
++if test x"$enable_gdk3_wayland" != x"yes"; then
++ enable_gdk3_wayland="no (disabled, need to install gdk-wayland-3.0.pc)"
+ fi
++AM_CONDITIONAL([ENABLE_GDK3_WAYLAND], [test x"$enable_gdk3_wayland" = x"yes"])
+
+ if test x"$enable_xim" = x"yes"; then
+ # Check for x11
+@@ -785,6 +794,7 @@ Build options:
+ Build gtk3 immodule $enable_gtk3
+ Build XIM agent server $enable_xim
+ Build wayland support $enable_wayland
++ Build gdk3 wayland support $enable_gdk3_wayland
+ Build appindicator support $enable_appindicator
+ Build appindicator engine icon $enable_appindicator_engine_icon
+ Build python library $enable_python_library
+diff --git a/ui/gtk3/Makefile.am b/ui/gtk3/Makefile.am
+index aaba7a4d..6ebc96ce 100644
+--- a/ui/gtk3/Makefile.am
++++ b/ui/gtk3/Makefile.am
+@@ -78,7 +78,6 @@ AM_VALAFLAGS = \
+ --pkg=ibus-1.0 \
+ --pkg=config \
+ --pkg=xi \
+- --pkg=gdk-wayland \
+ --target-glib="$(VALA_TARGET_GLIB_VERSION)" \
+ $(NULL)
+
+@@ -105,6 +104,10 @@ if ENABLE_APPINDICATOR_ENGINE_ICON
+ AM_VALAFLAGS += --define=INDICATOR_ENGINE_ICON
+ endif
+
++if ENABLE_GDK3_WAYLAND
++AM_VALAFLAGS += --pkg=gdk-wayland --define=USE_GDK_WAYLAND
++endif
++
+ libexec_PROGRAMS = ibus-ui-gtk3
+
+ ibus_ui_gtk3_SOURCES = \
+diff --git a/ui/gtk3/panelbinding.vala b/ui/gtk3/panelbinding.vala
+index 95115b13..981b5509 100644
+--- a/ui/gtk3/panelbinding.vala
++++ b/ui/gtk3/panelbinding.vala
+@@ -237,9 +237,14 @@ class PanelBinding : IBus.PanelService {
+ GLib.Object(connection : bus.get_connection(),
+ object_path : IBus.PATH_PANEL_EXTENSION_EMOJI);
+
++#if USE_GDK_WAYLAND
+ Type instance_type = Gdk.Display.get_default().get_type();
+ Type wayland_type = typeof(GdkWayland.Display);
+ m_is_wayland = instance_type.is_a(wayland_type);
++#else
++ m_is_wayland = false;
++ warning("Checking Wayland is disabled");
++#endif
+
+ m_bus = bus;
+ m_application = application;
diff --git a/app-i18n/ibus/ibus-1.5.19.ebuild b/app-i18n/ibus/ibus-1.5.19.ebuild
new file mode 100644
index 00000000000..f318087a003
--- /dev/null
+++ b/app-i18n/ibus/ibus-1.5.19.ebuild
@@ -0,0 +1,187 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} )
+VALA_MIN_API_VERSION="0.34"
+VALA_USE_DEPEND="vapigen"
+
+inherit autotools bash-completion-r1 gnome2-utils python-r1 vala virtualx xdg-utils
+
+DESCRIPTION="Intelligent Input Bus for Linux / Unix OS"
+HOMEPAGE="https://github.com/ibus/ibus/wiki"
+SRC_URI="https://github.com/${PN}/${PN}/releases/download/${PV}/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd"
+IUSE="+X +emoji gconf +gtk +gtk2 +introspection kde +libnotify nls +python test +unicode vala wayland"
+REQUIRED_USE="emoji? ( gtk )
+ gtk2? ( gtk )
+ kde? ( gtk )
+ libnotify? ( gtk )
+ python? (
+ ${PYTHON_REQUIRED_USE}
+ introspection
+ )
+ test? ( gtk )
+ vala? ( introspection )"
+
+CDEPEND="app-text/iso-codes
+ dev-libs/glib:2
+ gnome-base/dconf
+ gnome-base/librsvg:2
+ sys-apps/dbus[X?]
+ X? (
+ x11-libs/libX11
+ !gtk? ( x11-libs/gtk+:2 )
+ )
+ gconf? ( gnome-base/gconf:2 )
+ gtk? (
+ x11-libs/gtk+:3
+ x11-libs/libX11
+ x11-libs/libXi
+ gtk2? ( x11-libs/gtk+:2 )
+ )
+ introspection? ( dev-libs/gobject-introspection )
+ kde? ( dev-qt/qtgui:5 )
+ libnotify? ( x11-libs/libnotify )
+ nls? ( virtual/libintl )
+ python? (
+ ${PYTHON_DEPS}
+ dev-python/pygobject:3[${PYTHON_USEDEP}]
+ )
+ wayland? (
+ dev-libs/wayland
+ x11-libs/libxkbcommon
+ )"
+RDEPEND="${CDEPEND}
+ python? (
+ gtk? (
+ x11-libs/gtk+:3[introspection]
+ )
+ )"
+DEPEND="${CDEPEND}
+ $(vala_depend)
+ dev-util/intltool
+ virtual/pkgconfig
+ emoji? (
+ app-i18n/unicode-cldr
+ app-i18n/unicode-emoji
+ )
+ nls? ( sys-devel/gettext )
+ unicode? ( app-i18n/unicode-data )"
+
+PATCHES=( "${FILESDIR}"/${P}-gdk-wayland.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
+ fi
+ if ! use emoji; then
+ touch \
+ tools/main.vala \
+ ui/gtk3/panel.vala
+ fi
+ if ! use kde; then
+ touch ui/gtk3/panel.vala
+ fi
+ if ! use libnotify; then
+ touch ui/gtk3/panel.vala
+ fi
+ # for multiple Python implementations
+ sed -i "s/^\(PYGOBJECT_DIR =\).*/\1/" bindings/Makefile.am
+ # fix for parallel install
+ sed -i "/^if ENABLE_PYTHON2/,/^endif/d" bindings/pygobject/Makefile.am
+ # require user interaction
+ sed -i "/^TESTS += ibus-\(compose\|keypress\)/d" src/tests/Makefile.am
+
+ sed -i "/^bash_completion/d" tools/Makefile.am
+
+ 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 gtk setup)
+ --with-python=${EPYTHON}
+ )
+ else
+ python_conf+=( --disable-setup )
+ fi
+
+ econf \
+ $(use_enable X xim) \
+ $(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 gconf) \
+ $(use_enable gtk gtk3) \
+ $(use_enable gtk ui) \
+ $(use_enable gtk2) \
+ $(use_enable introspection) \
+ $(use_enable kde appindicator) \
+ $(use_enable libnotify) \
+ $(use_enable nls) \
+ $(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[@]}"
+}
+
+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_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
+}
+
+pkg_preinst() {
+ use gconf && gnome2_gconf_savelist
+}
+
+pkg_postinst() {
+ use gconf && gnome2_gconf_install
+ use gtk && gnome2_query_immodules_gtk3
+ use gtk2 && gnome2_query_immodules_gtk2
+ gnome2_icon_cache_update
+ gnome2_schemas_update
+ dconf update
+}
+
+pkg_postrm() {
+ use gtk && gnome2_query_immodules_gtk3
+ use gtk2 && gnome2_query_immodules_gtk2
+ gnome2_icon_cache_update
+ gnome2_schemas_update
+}
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-i18n/ibus/, app-i18n/ibus/files/
@ 2018-10-05 9:57 Naohiro Aota
0 siblings, 0 replies; 6+ messages in thread
From: Naohiro Aota @ 2018-10-05 9:57 UTC (permalink / raw
To: gentoo-commits
commit: 5cd01d132be45451a6ce59844c62b6d50242d5e9
Author: Naohiro Aota <naota <AT> gentoo <DOT> org>
AuthorDate: Thu Oct 4 21:47:46 2018 +0000
Commit: Naohiro Aota <naota <AT> gentoo <DOT> org>
CommitDate: Fri Oct 5 09:55:59 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5cd01d13
app-i18n/ibus: add patch to fix test failures
Add upstream patch to enable GSettings in the test.
https://github.com/ibus/ibus/commit/10cc30eac200d10b581d9d2122d5a732f4880943
Closes: https://bugs.gentoo.org/664804
Signed-off-by: Naohiro Aota <naota <AT> gentoo.org>
Package-Manager: Portage-2.3.50, Repoman-2.3.11
.../ibus-1.5.18-enable-gsettings-in-runtest.patch | 62 ++++++++++++++++++++++
app-i18n/ibus/ibus-1.5.18.ebuild | 4 +-
2 files changed, 65 insertions(+), 1 deletion(-)
diff --git a/app-i18n/ibus/files/ibus-1.5.18-enable-gsettings-in-runtest.patch b/app-i18n/ibus/files/ibus-1.5.18-enable-gsettings-in-runtest.patch
new file mode 100644
index 00000000000..24b5cd3f6a8
--- /dev/null
+++ b/app-i18n/ibus/files/ibus-1.5.18-enable-gsettings-in-runtest.patch
@@ -0,0 +1,62 @@
+From 4b4fe00cc2750713ef8d2bc0a9f396ab577c36fc Mon Sep 17 00:00:00 2001
+From: Naohiro Aota <naota@gentoo.org>
+Date: Thu, 4 Oct 2018 18:14:17 +0900
+Subject: [PATCH] src/tests: Enable GSettings in runtest in ibus-1.5.18
+
+This patch is based on:
+https://github.com/ibus/ibus/commit/10cc30eac200d10b581d9d2122d5a732f4880943
+
+Signed-off-by: Naohiro Aota <naota@gentoo.org>
+---
+ src/tests/runtest | 21 +++++++++++++++++++++
+ 1 file changed, 21 insertions(+)
+
+diff --git a/src/tests/runtest b/src/tests/runtest
+index 0e43fee..84d85ab 100755
+--- a/src/tests/runtest
++++ b/src/tests/runtest
+@@ -29,6 +29,7 @@ ibus-engine-switch
+ ibus-compose
+ test-stress
+ "
++IBUS_SCHEMA_FILE='org.freedesktop.ibus.gschema.xml'
+
+ # Portable replacement of basename.
+ func_basename () {
+@@ -80,6 +81,12 @@ trap 'func_cleanup $tstdir' 1 2 3 15
+ tst=$1; shift
+ tstdir=tmp-`func_basename $tst`
+
++# IBusEngine has GSettings
++if test ! -f "$top_builddir/data/dconf/$IBUS_SCHEMA_FILE" ; then
++ echo "NOT FOUND $top_builddir/data/dconf/$IBUS_SCHEMA_FILE"
++ exit -1
++fi
++
+ test -d $tstdir || mkdir $tstdir
+
+ ( cd $tstdir
+@@ -101,6 +108,20 @@ test -d $tstdir || mkdir $tstdir
+ IBUS_ADDRESS_FILE=$PWD/ibus-daemon.pid
+ export IBUS_ADDRESS_FILE
+
++ cp "../$top_builddir/data/dconf/$IBUS_SCHEMA_FILE" $PWD
++ glib-compile-schemas $PWD
++ if test $? -ne 0 ; then
++ echo "FAILED glib-compile-schemas"
++ retval=1
++ return
++ fi
++ if test ! -f $PWD/gschemas.compiled ; then
++ echo "NOT FOUND $PWD/gschemas.compiled"
++ retval=1
++ return
++ fi
++ export GSETTINGS_SCHEMA_DIR=$PWD
++
+ # Start ibus-daemon.
+ ../$top_builddir/bus/ibus-daemon \
+ --daemonize \
+--
+2.19.0
+
diff --git a/app-i18n/ibus/ibus-1.5.18.ebuild b/app-i18n/ibus/ibus-1.5.18.ebuild
index 4aff43a818d..d966417a8ef 100644
--- a/app-i18n/ibus/ibus-1.5.18.ebuild
+++ b/app-i18n/ibus/ibus-1.5.18.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
@@ -72,6 +72,8 @@ DEPEND="${CDEPEND}
nls? ( sys-devel/gettext )
unicode? ( app-i18n/unicode-data )"
+PATCHES=( "${FILESDIR}"/${P}-enable-gsettings-in-runtest.patch )
+
src_prepare() {
vala_src_prepare --ignore-use
sed -i "/UCD_DIR=/s/\$with_emoji_annotation_dir/\$with_ucd_dir/" configure.ac
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-i18n/ibus/, app-i18n/ibus/files/
@ 2020-03-16 15:14 Yixun Lan
0 siblings, 0 replies; 6+ messages in thread
From: Yixun Lan @ 2020-03-16 15:14 UTC (permalink / raw
To: gentoo-commits
commit: a274fc8a5fd7791e5292e72f48586de6e503ef48
Author: Yixun Lan <dlan <AT> gentoo <DOT> org>
AuthorDate: Tue Nov 19 06:15:46 2019 +0000
Commit: Yixun Lan <dlan <AT> gentoo <DOT> org>
CommitDate: Mon Mar 16 15:14:13 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a274fc8a
app-i18n/ibus: fix missing authorization error
Bug: https://bugs.gentoo.org/695526
Package-Manager: Portage-2.3.79, Repoman-2.3.18
Signed-off-by: Yixun Lan <dlan <AT> gentoo.org>
.../ibus/files/ibus-1.5.21-fix-authorization.patch | 175 +++++++++++++++++++++
.../{ibus-1.5.21.ebuild => ibus-1.5.21-r1.ebuild} | 1 +
2 files changed, 176 insertions(+)
diff --git a/app-i18n/ibus/files/ibus-1.5.21-fix-authorization.patch b/app-i18n/ibus/files/ibus-1.5.21-fix-authorization.patch
new file mode 100644
index 00000000000..8b7674cddea
--- /dev/null
+++ b/app-i18n/ibus/files/ibus-1.5.21-fix-authorization.patch
@@ -0,0 +1,175 @@
+From 3d442dbf936d197aa11ca0a71663c2bc61696151 Mon Sep 17 00:00:00 2001
+From: fujiwarat <takao.fujiwara1@gmail.com>
+Date: Fri, 13 Sep 2019 15:59:03 +0900
+Subject: [PATCH] bus: Implement GDBusAuthObserver callback
+
+ibus uses a GDBusServer with G_DBUS_SERVER_FLAGS_AUTHENTICATION_ALLOW_ANONYMOUS,
+and doesn't set a GDBusAuthObserver, which allows anyone who can connect
+to its AF_UNIX socket to authenticate and be authorized to send method calls.
+It also seems to use an abstract AF_UNIX socket, which does not have
+filesystem permissions, so the practical effect might be that a local
+attacker can connect to another user's ibus service and make arbitrary
+method calls.
+
+BUGS=rhbz#1717958
+---
+ bus/server.c | 89 ++++++++++++++++++++++++++++++++++++++++++----------
+ 1 file changed, 73 insertions(+), 16 deletions(-)
+
+diff --git a/bus/server.c b/bus/server.c
+index 3a626230..2439de14 100644
+--- a/bus/server.c
++++ b/bus/server.c
+@@ -2,7 +2,8 @@
+ /* vim:set et sts=4: */
+ /* bus - The Input Bus
+ * Copyright (C) 2008-2010 Peng Huang <shawn.p.huang@gmail.com>
+- * Copyright (C) 2008-2010 Red Hat, Inc.
++ * Copyright (C) 2011-2019 Takao Fujiwara <takao.fujiwara1@gmail.com>
++ * Copyright (C) 2008-2019 Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+@@ -69,17 +70,64 @@ _restart_server (void)
+ exit (-1);
+ }
+
++/**
++ * bus_allow_mechanism_cb:
++ * @observer: A #GDBusAuthObserver.
++ * @mechanism: The name of the mechanism.
++ * @user_data: always %NULL.
++ *
++ * Check if @mechanism can be used to authenticate the other peer.
++ * Returns: %TRUE if the peer's mechanism is allowed.
++ */
++static gboolean
++bus_allow_mechanism_cb (GDBusAuthObserver *observer,
++ const gchar *mechanism,
++ G_GNUC_UNUSED gpointer user_data)
++{
++ if (g_strcmp0 (mechanism, "EXTERNAL") == 0)
++ return TRUE;
++ return FALSE;
++}
++
++/**
++ * bus_authorize_authenticated_peer_cb:
++ * @observer: A #GDBusAuthObserver.
++ * @stream: A #GIOStream.
++ * @credentials: A #GCredentials.
++ * @user_data: always %NULL.
++ *
++ * Check if a peer who has already authenticated should be authorized.
++ * Returns: %TRUE if the peer's credential is authorized.
++ */
++static gboolean
++bus_authorize_authenticated_peer_cb (GDBusAuthObserver *observer,
++ GIOStream *stream,
++ GCredentials *credentials,
++ G_GNUC_UNUSED gpointer user_data)
++{
++ gboolean authorized = FALSE;
++ if (credentials) {
++ GCredentials *own_credentials = g_credentials_new ();
++ if (g_credentials_is_same_user (credentials, own_credentials, NULL))
++ authorized = TRUE;
++ g_object_unref (own_credentials);
++ }
++ return authorized;
++}
++
+ /**
+ * bus_new_connection_cb:
+- * @user_data: always NULL.
+- * @returns: TRUE when the function can handle the connection.
++ * @observer: A #GDBusAuthObserver.
++ * @dbus_connection: A #GDBusconnection.
++ * @user_data: always %NULL.
+ *
+ * Handle incoming connections.
++ * Returns: %TRUE when the function can handle the connection.
+ */
+ static gboolean
+-bus_new_connection_cb (GDBusServer *server,
+- GDBusConnection *dbus_connection,
+- gpointer user_data)
++bus_new_connection_cb (GDBusServer *server,
++ GDBusConnection *dbus_connection,
++ G_GNUC_UNUSED gpointer user_data)
+ {
+ BusConnection *connection = bus_connection_new (dbus_connection);
+ bus_dbus_impl_new_connection (dbus, connection);
+@@ -94,9 +142,9 @@ bus_new_connection_cb (GDBusServer *server,
+ }
+
+ static void
+-_server_connect_start_portal_cb (GObject *source_object,
+- GAsyncResult *res,
+- gpointer user_data)
++_server_connect_start_portal_cb (GObject *source_object,
++ GAsyncResult *res,
++ G_GNUC_UNUSED gpointer user_data)
+ {
+ GVariant *result;
+ GError *error = NULL;
+@@ -113,9 +161,9 @@ _server_connect_start_portal_cb (GObject *source_object,
+ }
+
+ static void
+-bus_acquired_handler (GDBusConnection *connection,
+- const gchar *name,
+- gpointer user_data)
++bus_acquired_handler (GDBusConnection *connection,
++ const gchar *name,
++ G_GNUC_UNUSED gpointer user_data)
+ {
+ g_dbus_connection_call (connection,
+ IBUS_SERVICE_PORTAL,
+@@ -136,14 +184,17 @@ void
+ bus_server_init (void)
+ {
+ GError *error = NULL;
++ GDBusServerFlags flags = G_DBUS_SERVER_FLAGS_NONE;
++ gchar *guid;
++ GDBusAuthObserver *observer;
+
+ dbus = bus_dbus_impl_get_default ();
+ ibus = bus_ibus_impl_get_default ();
+ bus_dbus_impl_register_object (dbus, (IBusService *)ibus);
+
+ /* init server */
+- GDBusServerFlags flags = G_DBUS_SERVER_FLAGS_AUTHENTICATION_ALLOW_ANONYMOUS;
+- gchar *guid = g_dbus_generate_guid ();
++ guid = g_dbus_generate_guid ();
++ observer = g_dbus_auth_observer_new ();
+ if (!g_str_has_prefix (g_address, "unix:tmpdir=") &&
+ !g_str_has_prefix (g_address, "unix:path=")) {
+ g_error ("Your socket address does not have the format unix:tmpdir=$DIR "
+@@ -152,7 +203,7 @@ bus_server_init (void)
+ server = g_dbus_server_new_sync (
+ g_address, /* the place where the socket file lives, e.g. /tmp, abstract namespace, etc. */
+ flags, guid,
+- NULL /* observer */,
++ observer,
+ NULL /* cancellable */,
+ &error);
+ if (server == NULL) {
+@@ -162,7 +213,13 @@ bus_server_init (void)
+ }
+ g_free (guid);
+
+- g_signal_connect (server, "new-connection", G_CALLBACK (bus_new_connection_cb), NULL);
++ g_signal_connect (observer, "allow-mechanism",
++ G_CALLBACK (bus_allow_mechanism_cb), NULL);
++ g_signal_connect (observer, "authorize-authenticated-peer",
++ G_CALLBACK (bus_authorize_authenticated_peer_cb), NULL);
++ g_object_unref (observer);
++ g_signal_connect (server, "new-connection",
++ G_CALLBACK (bus_new_connection_cb), NULL);
+
+ g_dbus_server_start (server);
+
+--
+2.24.0
+
diff --git a/app-i18n/ibus/ibus-1.5.21.ebuild b/app-i18n/ibus/ibus-1.5.21-r1.ebuild
similarity index 98%
rename from app-i18n/ibus/ibus-1.5.21.ebuild
rename to app-i18n/ibus/ibus-1.5.21-r1.ebuild
index 7d58048b667..16b7862de4c 100644
--- a/app-i18n/ibus/ibus-1.5.21.ebuild
+++ b/app-i18n/ibus/ibus-1.5.21-r1.ebuild
@@ -71,6 +71,7 @@ DEPEND="${CDEPEND}
nls? ( sys-devel/gettext )
unicode? ( app-i18n/unicode-data )"
+PATCHES=( "${FILESDIR}"/${P}-fix-authorization.patch )
src_prepare() {
vala_src_prepare --ignore-use
sed -i "/UCD_DIR=/s/\$with_emoji_annotation_dir/\$with_ucd_dir/" configure.ac
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-i18n/ibus/, app-i18n/ibus/files/
@ 2021-11-24 9:35 Yixun Lan
0 siblings, 0 replies; 6+ messages in thread
From: Yixun Lan @ 2021-11-24 9:35 UTC (permalink / raw
To: gentoo-commits
commit: 003bcb4ae9e303c8c491dac0e60ca8be2188e1c3
Author: Yixun Lan <dlan <AT> gentoo <DOT> org>
AuthorDate: Wed Nov 24 09:31:55 2021 +0000
Commit: Yixun Lan <dlan <AT> gentoo <DOT> org>
CommitDate: Wed Nov 24 09:33:36 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=003bcb4a
app-i18n/ibus: fix wrong candidate window position issue
Closes: https://bugs.gentoo.org/824494
Package-Manager: Portage-3.0.28, Repoman-3.0.3
Signed-off-by: Yixun Lan <dlan <AT> gentoo.org>
.../ibus/files/ibus-1.5.25-ibusimcontext.patch | 35 ++++
app-i18n/ibus/ibus-1.5.25-r1.ebuild | 194 +++++++++++++++++++++
2 files changed, 229 insertions(+)
diff --git a/app-i18n/ibus/files/ibus-1.5.25-ibusimcontext.patch b/app-i18n/ibus/files/ibus-1.5.25-ibusimcontext.patch
new file mode 100644
index 000000000000..6187ff77fbac
--- /dev/null
+++ b/app-i18n/ibus/files/ibus-1.5.25-ibusimcontext.patch
@@ -0,0 +1,35 @@
+https://github.com/ibus/ibus/issues/2337
+https://bugs.gentoo.org/824494
+---
+diff --git a/client/gtk2/ibusimcontext.c b/client/gtk2/ibusimcontext.c
+index da9a402..b1ccede 100644
+--- a/client/gtk2/ibusimcontext.c
++++ b/client/gtk2/ibusimcontext.c
+@@ -1497,7 +1497,10 @@ _set_cursor_location_internal (IBusIMContext *ibusimcontext)
+
+ #if GTK_CHECK_VERSION (3, 98, 4)
+ #elif GTK_CHECK_VERSION (2, 91, 0)
+- area.y += gdk_window_get_height (ibusimcontext->client_window);
++ if (area.x == -1 && area.y == -1 && area.width == 0 && area.height == 0) {
++ area.x = 0;
++ area.y += gdk_window_get_height (ibusimcontext->client_window);
++ }
+ #else
+ if (area.x == -1 && area.y == -1 && area.width == 0 && area.height == 0) {
+ gint w, h;
+diff --git a/client/gtk3/ibusimcontext.c b/client/gtk3/ibusimcontext.c
+index da9a402..b1ccede 100644
+--- a/client/gtk3/ibusimcontext.c
++++ b/client/gtk3/ibusimcontext.c
+@@ -1497,7 +1497,10 @@ _set_cursor_location_internal (IBusIMContext *ibusimcontext)
+
+ #if GTK_CHECK_VERSION (3, 98, 4)
+ #elif GTK_CHECK_VERSION (2, 91, 0)
+- area.y += gdk_window_get_height (ibusimcontext->client_window);
++ if (area.x == -1 && area.y == -1 && area.width == 0 && area.height == 0) {
++ area.x = 0;
++ area.y += gdk_window_get_height (ibusimcontext->client_window);
++ }
+ #else
+ if (area.x == -1 && area.y == -1 && area.width == 0 && area.height == 0) {
+ gint w, h;
diff --git a/app-i18n/ibus/ibus-1.5.25-r1.ebuild b/app-i18n/ibus/ibus-1.5.25-r1.ebuild
new file mode 100644
index 000000000000..e4d24fa2a59a
--- /dev/null
+++ b/app-i18n/ibus/ibus-1.5.25-r1.ebuild
@@ -0,0 +1,194 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{8..10} )
+VALA_MIN_API_VERSION="0.34"
+VALA_MAX_API_VERSION="0.50"
+VALA_USE_DEPEND="vapigen"
+
+inherit autotools bash-completion-r1 gnome2-utils python-r1 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="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
+IUSE="+X +emoji +gtk +gtk2 +introspection kde nls +python test +unicode vala wayland"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="emoji? ( gtk )
+ gtk2? ( gtk )
+ kde? ( gtk )
+ python? (
+ ${PYTHON_REQUIRED_USE}
+ introspection
+ )
+ test? ( gtk )
+ vala? ( introspection )"
+
+CDEPEND="app-text/iso-codes
+ dev-libs/glib:2
+ gnome-base/dconf
+ gnome-base/librsvg:2
+ sys-apps/dbus[X?]
+ X? (
+ x11-libs/libX11
+ >=x11-libs/libXfixes-6.0.0
+ !gtk? ( x11-libs/gtk+:2 )
+ )
+ gtk? (
+ x11-libs/gtk+:3
+ x11-libs/libX11
+ x11-libs/libXi
+ gtk2? ( x11-libs/gtk+:2 )
+ )
+ introspection? ( dev-libs/gobject-introspection )
+ kde? ( dev-qt/qtgui:5 )
+ nls? ( virtual/libintl )
+ python? (
+ ${PYTHON_DEPS}
+ dev-python/pygobject:3[${PYTHON_USEDEP}]
+ )
+ wayland? (
+ dev-libs/wayland
+ x11-libs/libxkbcommon
+ )"
+RDEPEND="${CDEPEND}
+ python? (
+ gtk? (
+ x11-libs/gtk+:3[introspection]
+ )
+ )"
+DEPEND="${CDEPEND}
+ $(vala_depend)
+ 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}-ibusimcontext.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
+ fi
+ if ! use emoji; then
+ touch \
+ tools/main.vala \
+ ui/gtk3/panel.vala
+ fi
+ if ! use kde; then
+ touch ui/gtk3/panel.vala
+ 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
+ # fix for parallel install
+ sed -i "/^if ENABLE_PYTHON2/,/^endif/d" bindings/pygobject/Makefile.am
+ # require user interaction
+ sed -i "/^TESTS += ibus-\(compose\|keypress\)/d" src/tests/Makefile.am
+
+ sed -i "/^bash_completion/d" tools/Makefile.am
+
+ 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 gtk setup)
+ --with-python=${EPYTHON}
+ )
+ else
+ python_conf+=( --disable-setup )
+ fi
+
+ econf \
+ $(use_enable X xim) \
+ $(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 gtk gtk3) \
+ $(use_enable gtk ui) \
+ $(use_enable gtk2) \
+ $(use_enable introspection) \
+ $(use_enable kde appindicator) \
+ $(use_enable nls) \
+ $(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[@]}"
+}
+
+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 gtk && gnome2_query_immodules_gtk3
+ use gtk2 && gnome2_query_immodules_gtk2
+ xdg_icon_cache_update
+ gnome2_schemas_update
+ dconf update
+}
+
+pkg_postrm() {
+ use gtk && gnome2_query_immodules_gtk3
+ use gtk2 && gnome2_query_immodules_gtk2
+ xdg_icon_cache_update
+ gnome2_schemas_update
+}
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-i18n/ibus/, app-i18n/ibus/files/
@ 2022-05-12 17:50 Matt Turner
0 siblings, 0 replies; 6+ messages in thread
From: Matt Turner @ 2022-05-12 17:50 UTC (permalink / raw
To: gentoo-commits
commit: a38330bcb61155bcb7897f71ce07ba34272d4b9f
Author: Matt Turner <mattst88 <AT> gentoo <DOT> org>
AuthorDate: Thu May 12 17:45:47 2022 +0000
Commit: Matt Turner <mattst88 <AT> gentoo <DOT> org>
CommitDate: Thu May 12 17:50:08 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a38330bc
app-i18n/ibus: Fix memory leak
Closes: https://bugs.gentoo.org/843725
Signed-off-by: Matt Turner <mattst88 <AT> gentoo.org>
.../ibus-1.5.26-src-Fix-refcounting-issues.patch | 273 +++++++++++++++++++++
.../{ibus-1.5.26.ebuild => ibus-1.5.26-r1.ebuild} | 4 +
2 files changed, 277 insertions(+)
diff --git a/app-i18n/ibus/files/ibus-1.5.26-src-Fix-refcounting-issues.patch b/app-i18n/ibus/files/ibus-1.5.26-src-Fix-refcounting-issues.patch
new file mode 100644
index 000000000000..5bd610024a1b
--- /dev/null
+++ b/app-i18n/ibus/files/ibus-1.5.26-src-Fix-refcounting-issues.patch
@@ -0,0 +1,273 @@
+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
+
diff --git a/app-i18n/ibus/ibus-1.5.26.ebuild b/app-i18n/ibus/ibus-1.5.26-r1.ebuild
similarity index 98%
rename from app-i18n/ibus/ibus-1.5.26.ebuild
rename to app-i18n/ibus/ibus-1.5.26-r1.ebuild
index 93ead550b71b..40de7864df87 100644
--- a/app-i18n/ibus/ibus-1.5.26.ebuild
+++ b/app-i18n/ibus/ibus-1.5.26-r1.ebuild
@@ -77,6 +77,10 @@ BDEPEND="
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
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-i18n/ibus/, app-i18n/ibus/files/
@ 2023-11-19 1:04 Matt Turner
0 siblings, 0 replies; 6+ messages in thread
From: Matt Turner @ 2023-11-19 1:04 UTC (permalink / raw
To: gentoo-commits
commit: af9760eed584f581e6bc26ca2e84b56c72c9c251
Author: Matt Turner <mattst88 <AT> gentoo <DOT> org>
AuthorDate: Sun Nov 19 01:04:20 2023 +0000
Commit: Matt Turner <mattst88 <AT> gentoo <DOT> org>
CommitDate: Sun Nov 19 01:04:50 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=af9760ee
app-i18n/ibus: Drop old versions
Signed-off-by: Matt Turner <mattst88 <AT> gentoo.org>
app-i18n/ibus/Manifest | 3 -
.../ibus-1.5.26-src-Fix-refcounting-issues.patch | 273 ---------------------
app-i18n/ibus/ibus-1.5.26-r1.ebuild | 227 -----------------
app-i18n/ibus/ibus-1.5.28-r1.ebuild | 240 ------------------
app-i18n/ibus/ibus-1.5.28.ebuild | 231 -----------------
5 files changed, 974 deletions(-)
diff --git a/app-i18n/ibus/Manifest b/app-i18n/ibus/Manifest
index 60ec683629d8..3fd054db1f2c 100644
--- a/app-i18n/ibus/Manifest
+++ b/app-i18n/ibus/Manifest
@@ -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
diff --git a/app-i18n/ibus/files/ibus-1.5.26-src-Fix-refcounting-issues.patch b/app-i18n/ibus/files/ibus-1.5.26-src-Fix-refcounting-issues.patch
deleted file mode 100644
index 5bd610024a1b..000000000000
--- a/app-i18n/ibus/files/ibus-1.5.26-src-Fix-refcounting-issues.patch
+++ /dev/null
@@ -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
-
diff --git a/app-i18n/ibus/ibus-1.5.26-r1.ebuild b/app-i18n/ibus/ibus-1.5.26-r1.ebuild
deleted file mode 100644
index 03751566910e..000000000000
--- a/app-i18n/ibus/ibus-1.5.26-r1.ebuild
+++ /dev/null
@@ -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
-}
diff --git a/app-i18n/ibus/ibus-1.5.28-r1.ebuild b/app-i18n/ibus/ibus-1.5.28-r1.ebuild
deleted file mode 100644
index 7bec97c52d98..000000000000
--- a/app-i18n/ibus/ibus-1.5.28-r1.ebuild
+++ /dev/null
@@ -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
-}
diff --git a/app-i18n/ibus/ibus-1.5.28.ebuild b/app-i18n/ibus/ibus-1.5.28.ebuild
deleted file mode 100644
index 41f883c5e2b9..000000000000
--- a/app-i18n/ibus/ibus-1.5.28.ebuild
+++ /dev/null
@@ -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
-}
^ permalink raw reply related [flat|nested] 6+ messages in thread
end of thread, other threads:[~2023-11-19 1:04 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-11-24 9:35 [gentoo-commits] repo/gentoo:master commit in: app-i18n/ibus/, app-i18n/ibus/files/ Yixun Lan
-- strict thread matches above, loose matches on Subject: below --
2023-11-19 1:04 Matt Turner
2022-05-12 17:50 Matt Turner
2020-03-16 15:14 Yixun Lan
2018-10-05 9:57 Naohiro Aota
2018-08-28 12:57 Akinori Hattori
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox