public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
From: Takao Fujiwara <tfujiwar@redhat.com>
To: git-commits@fedoraproject.org
Subject: [rpms/ibus] autotool: Fix alive ibus-x11 with `Xephyr -query`
Date: Sun, 31 May 2026 02:08:10 GMT	[thread overview]
Message-ID: <178019329097.1.4073398842684720852.rpms-ibus-4d8deb73d39b@fedoraproject.org> (raw)

            A new commit has been pushed.

            Repo   : rpms/ibus
            Branch : autotool
            Commit : 4d8deb73d39bc39c7abb1ea97cc6ff4b33f91ece
            Author : Takao Fujiwara <tfujiwar@redhat.com>
            Date   : 2023-07-05T20:54:42+09:00
            Stats  : +850/-401 in 3 file(s)
            URL    : https://src.fedoraproject.org/rpms/ibus/c/4d8deb73d39bc39c7abb1ea97cc6ff4b33f91ece?branch=autotool

            Log:
            Fix alive ibus-x11 with `Xephyr -query`

- Delete upstreamed ibus-xx-cross-compile.patch
- Fix missing ibusenumtypes.h with parallel build
- Fix to build libibus-1.0.la twice

---
diff --git a/ibus-HEAD.patch b/ibus-HEAD.patch
index a1ca3f2..a691af7 100644
--- a/ibus-HEAD.patch
+++ b/ibus-HEAD.patch
@@ -1493,3 +1493,846 @@ index fc486692..c807c751 100644
 -- 
 2.40.0
 
+From f0492c86f7c42d35bedff1a1910075617243d1f0 Mon Sep 17 00:00:00 2001
+From: Matt Turner <mattst88@gmail.com>
+Date: Sun, 18 Jun 2023 10:59:35 +0900
+Subject: [PATCH] m4: Update m4 files
+
+- Revert .gitignore because m4 files cannot be added
+- Delete as-version.m4 which has been unused since 2010
+- Update the latest introspection.m4
+- Update the latest vapigen.m4
+
+Fixes: https://github.com/ibus/ibus/commit/d23bbdd
+Fixes: https://github.com/ibus/ibus/commit/3b3f56d
+
+BUG=https://github.com/ibus/ibus/pull/2527
+---
+ m4/Makefile.am      |  1 -
+ m4/as-version.m4    | 71 ---------------------------------------------
+ m4/introspection.m4 | 60 ++++++++++++++++++++++++++++++++++----
+ m4/vapigen.m4       | 19 +++++++-----
+ 5 files changed, 66 insertions(+), 86 deletions(-)
+ delete mode 100644 m4/as-version.m4
+
+diff --git a/m4/Makefile.am b/m4/Makefile.am
+index dcf84ac3..49ecbb89 100644
+--- a/m4/Makefile.am
++++ b/m4/Makefile.am
+@@ -21,7 +21,6 @@
+ # USA
+ 
+ EXTRA_DIST = \
+-    as-version.m4 \
+     ibuslocale.m4 \
+     vapigen.m4 \
+     $(NULL)
+diff --git a/m4/as-version.m4 b/m4/as-version.m4
+deleted file mode 100644
+index a5b43990..00000000
+--- a/m4/as-version.m4
++++ /dev/null
+@@ -1,71 +0,0 @@
+-dnl as-version.m4 0.2.0
+-
+-dnl autostars m4 macro for versioning
+-
+-dnl Thomas Vander Stichele <thomas at apestaart dot org>
+-
+-dnl $Id: as-version.m4,v 1.4 2004/06/01 09:40:05 thomasvs Exp $
+-
+-dnl AS_VERSION
+-
+-dnl example
+-dnl AS_VERSION
+-
+-dnl this macro
+-dnl - AC_SUBST's PACKAGE_VERSION_MAJOR, _MINOR, _MICRO
+-dnl - AC_SUBST's PACKAGE_VERSION_RELEASE,
+-dnl    which can be used for rpm release fields
+-dnl - doesn't call AM_INIT_AUTOMAKE anymore because it prevents
+-dnl   maintainer mode from running correctly
+-dnl
+-dnl don't forget to put #undef PACKAGE_VERSION_RELEASE in acconfig.h
+-dnl if you use acconfig.h
+-
+-AC_DEFUN([AS_VERSION],
+-[
+-  PACKAGE_VERSION_MAJOR=$(echo AC_PACKAGE_VERSION | cut -d'.' -f1)
+-  PACKAGE_VERSION_MINOR=$(echo AC_PACKAGE_VERSION | cut -d'.' -f2)
+-  PACKAGE_VERSION_MICRO=$(echo AC_PACKAGE_VERSION | cut -d'.' -f3)
+-
+-  AC_SUBST(PACKAGE_VERSION_MAJOR)
+-  AC_SUBST(PACKAGE_VERSION_MINOR)
+-  AC_SUBST(PACKAGE_VERSION_MICRO)
+-])
+-
+-dnl AS_NANO(ACTION-IF-NO-NANO, [ACTION-IF-NANO])
+-
+-dnl requires AC_INIT to be called before
+-dnl For projects using a fourth or nano number in your versioning to indicate
+-dnl development or prerelease snapshots, this macro allows the build to be
+-dnl set up differently accordingly.
+-
+-dnl this macro:
+-dnl - parses AC_PACKAGE_VERSION, set by AC_INIT, and extracts the nano number
+-dnl - sets the variable PACKAGE_VERSION_NANO
+-dnl - sets the variable PACKAGE_VERSION_RELEASE, which can be used
+-dnl   for rpm release fields
+-dnl - executes ACTION-IF-NO-NANO or ACTION-IF-NANO
+-    
+-dnl example:
+-dnl AS_NANO(RELEASE="yes", RELEASE="no")
+-
+-AC_DEFUN([AS_NANO],
+-[
+-  AC_MSG_CHECKING(nano version)
+-
+-  NANO=$(echo AC_PACKAGE_VERSION | cut -d'.' -f4)
+-
+-  if test x"$NANO" = x || test "x$NANO" = "x0" ; then
+-    AC_MSG_RESULT([0 (release)])
+-    NANO=0
+-    PACKAGE_VERSION_RELEASE=1
+-    ifelse([$1], , :, [$1])
+-  else
+-    AC_MSG_RESULT($NANO)
+-    PACKAGE_VERSION_RELEASE=0.`date +%Y%m%d.%H%M%S`
+-    ifelse([$2], , :, [$2])
+-  fi
+-  PACKAGE_VERSION_NANO=$NANO
+-  AC_SUBST(PACKAGE_VERSION_NANO)
+-  AC_SUBST(PACKAGE_VERSION_RELEASE)
+-])
+diff --git a/m4/introspection.m4 b/m4/introspection.m4
+index 589721c5..b0ccd689 100644
+--- a/m4/introspection.m4
++++ b/m4/introspection.m4
+@@ -8,6 +8,47 @@ dnl
+ 
+ # serial 1
+ 
++dnl This is a copy of AS_AC_EXPAND
++dnl
++dnl (C) 2003, 2004, 2005 Thomas Vander Stichele <thomas at apestaart dot org>
++dnl Copying and distribution of this file, with or without modification,
++dnl are permitted in any medium without royalty provided the copyright
++dnl notice and this notice are preserved.
++m4_define([_GOBJECT_INTROSPECTION_AS_AC_EXPAND],
++[
++  EXP_VAR=[$1]
++  FROM_VAR=[$2]
++
++  dnl first expand prefix and exec_prefix if necessary
++  prefix_save=$prefix
++  exec_prefix_save=$exec_prefix
++
++  dnl if no prefix given, then use /usr/local, the default prefix
++  if test "x$prefix" = "xNONE"; then
++    prefix="$ac_default_prefix"
++  fi
++  dnl if no exec_prefix given, then use prefix
++  if test "x$exec_prefix" = "xNONE"; then
++    exec_prefix=$prefix
++  fi
++
++  full_var="$FROM_VAR"
++  dnl loop until it doesn't change anymore
++  while true; do
++    new_full_var="`eval echo $full_var`"
++    if test "x$new_full_var" = "x$full_var"; then break; fi
++    full_var=$new_full_var
++  done
++
++  dnl clean up
++  full_var=$new_full_var
++  AC_SUBST([$1], "$full_var")
++
++  dnl restore prefix and exec_prefix
++  prefix=$prefix_save
++  exec_prefix=$exec_prefix_save
++])
++
+ m4_define([_GOBJECT_INTROSPECTION_CHECK_INTERNAL],
+ [
+     AC_BEFORE([AC_PROG_LIBTOOL],[$0])dnl setup libtool first
+@@ -41,6 +82,8 @@ m4_define([_GOBJECT_INTROSPECTION_CHECK_INTERNAL],
+     ],dnl
+     [auto],[dnl
+         PKG_CHECK_EXISTS([gobject-introspection-1.0 >= $1], found_introspection=yes, found_introspection=no)
++	dnl Canonicalize enable_introspection
++	enable_introspection=$found_introspection
+     ],dnl
+     [dnl	
+         AC_MSG_ERROR([invalid argument passed to --enable-introspection, should be one of @<:@no/auto/yes@:>@])
+@@ -48,20 +91,25 @@ m4_define([_GOBJECT_INTROSPECTION_CHECK_INTERNAL],
+ 
+     AC_MSG_RESULT([$found_introspection])
+ 
++    dnl expand datadir/libdir so we can pass them to pkg-config
++    dnl and get paths relative to our target directories
++    _GOBJECT_INTROSPECTION_AS_AC_EXPAND(_GI_EXP_DATADIR, "$datadir")
++    _GOBJECT_INTROSPECTION_AS_AC_EXPAND(_GI_EXP_LIBDIR, "$libdir")
++
+     INTROSPECTION_SCANNER=
+     INTROSPECTION_COMPILER=
+     INTROSPECTION_GENERATE=
+     INTROSPECTION_GIRDIR=
+     INTROSPECTION_TYPELIBDIR=
+     if test "x$found_introspection" = "xyes"; then
+-       INTROSPECTION_SCANNER=`$PKG_CONFIG --variable=g_ir_scanner gobject-introspection-1.0`
+-       INTROSPECTION_COMPILER=`$PKG_CONFIG --variable=g_ir_compiler gobject-introspection-1.0`
+-       INTROSPECTION_GENERATE=`$PKG_CONFIG --variable=g_ir_generate gobject-introspection-1.0`
+-       INTROSPECTION_GIRDIR=`$PKG_CONFIG --variable=girdir gobject-introspection-1.0`
+-       INTROSPECTION_TYPELIBDIR="$($PKG_CONFIG --variable=typelibdir gobject-introspection-1.0)"
++       INTROSPECTION_SCANNER=$PKG_CONFIG_SYSROOT_DIR`$PKG_CONFIG --variable=g_ir_scanner gobject-introspection-1.0`
++       INTROSPECTION_COMPILER=$PKG_CONFIG_SYSROOT_DIR`$PKG_CONFIG --variable=g_ir_compiler gobject-introspection-1.0`
++       INTROSPECTION_GENERATE=$PKG_CONFIG_SYSROOT_DIR`$PKG_CONFIG --variable=g_ir_generate gobject-introspection-1.0`
++       INTROSPECTION_GIRDIR=`$PKG_CONFIG --define-variable=datadir="${_GI_EXP_DATADIR}" --variable=girdir gobject-introspection-1.0`
++       INTROSPECTION_TYPELIBDIR="$($PKG_CONFIG --define-variable=libdir="${_GI_EXP_LIBDIR}" --variable=typelibdir gobject-introspection-1.0)"
+        INTROSPECTION_CFLAGS=`$PKG_CONFIG --cflags gobject-introspection-1.0`
+        INTROSPECTION_LIBS=`$PKG_CONFIG --libs gobject-introspection-1.0`
+-       INTROSPECTION_MAKEFILE=`$PKG_CONFIG --variable=datadir gobject-introspection-1.0`/gobject-introspection-1.0/Makefile.introspection
++       INTROSPECTION_MAKEFILE=$PKG_CONFIG_SYSROOT_DIR`$PKG_CONFIG --variable=datadir gobject-introspection-1.0`/gobject-introspection-1.0/Makefile.introspection
+     fi
+     AC_SUBST(INTROSPECTION_SCANNER)
+     AC_SUBST(INTROSPECTION_COMPILER)
+diff --git a/m4/vapigen.m4 b/m4/vapigen.m4
+index 051ccd2e..6228991a 100644
+--- a/m4/vapigen.m4
++++ b/m4/vapigen.m4
+@@ -16,15 +16,20 @@ dnl You should have received a copy of the GNU Lesser General Public
+ dnl License along with this library; if not, write to the Free Software
+ dnl Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA
+ 
+-# VAPIGEN_CHECK([VERSION], [API_VERSION], [FOUND-INTROSPECTION], [DEFAULT])
++# VAPIGEN_CHECK([VERSION], [API_VERSION], [FOUND_INTROSPECTION], [DEFAULT])
+ # --------------------------------------
+ # Check vapigen existence and version
+ #
+ # See http://live.gnome.org/Vala/UpstreamGuide for detailed documentation
+ AC_DEFUN([VAPIGEN_CHECK],
+ [
+-  AC_BEFORE([GOBJECT_INTROSPECTION_CHECK],[$0])
+-  AC_BEFORE([GOBJECT_INTROSPECTION_REQUIRE],[$0])
++  AS_IF([test "x$3" != "xyes"], [
++      m4_provide_if([GOBJECT_INTROSPECTION_CHECK], [], [
++          m4_provide_if([GOBJECT_INTROSPECTION_REQUIRE], [], [
++              AC_MSG_ERROR([[You must call GOBJECT_INTROSPECTION_CHECK or GOBJECT_INTROSPECTION_REQUIRE before using VAPIGEN_CHECK unless using the FOUND_INTROSPECTION argument is "yes"]])
++            ])
++        ])
++    ])
+ 
+   AC_ARG_ENABLE([vala],
+     [AS_HELP_STRING([--enable-vala[=@<:@no/auto/yes@:>@]],[build Vala bindings @<:@default=]ifelse($4,,auto,$4)[@:>@])],,[
+@@ -77,12 +82,12 @@ AC_DEFUN([VAPIGEN_CHECK],
+ 
+   AS_CASE([$enable_vala],
+     [yes], [
+-      VAPIGEN=`$PKG_CONFIG --variable=vapigen $vapigen_pkg_name`
+-      VAPIGEN_MAKEFILE=`$PKG_CONFIG --variable=datadir $vapigen_pkg_name`/vala/Makefile.vapigen
++      VAPIGEN=$PKG_CONFIG_SYSROOT_DIR`$PKG_CONFIG --variable=vapigen $vapigen_pkg_name`
++      VAPIGEN_MAKEFILE=$PKG_CONFIG_SYSROOT_DIR`$PKG_CONFIG --variable=datadir $vapigen_pkg_name`/vala/Makefile.vapigen
+       AS_IF([test "x$2" = "x"], [
+-          VAPIGEN_VAPIDIR=`$PKG_CONFIG --variable=vapidir $vapigen_pkg_name`
++          VAPIGEN_VAPIDIR=$PKG_CONFIG_SYSROOT_DIR`$PKG_CONFIG --variable=vapidir $vapigen_pkg_name`
+         ], [
+-          VAPIGEN_VAPIDIR=`$PKG_CONFIG --variable=vapidir_versioned $vapigen_pkg_name`
++          VAPIGEN_VAPIDIR=$PKG_CONFIG_SYSROOT_DIR`$PKG_CONFIG --variable=vapidir_versioned $vapigen_pkg_name`
+         ])
+     ])
+ 
+-- 
+2.41.0
+
+From 18f0d9f5f245f92dee086ce57a5bb94e63f1c222 Mon Sep 17 00:00:00 2001
+From: oreo639 <oreo6391@gmail.com>
+Date: Sun, 18 Jun 2023 11:08:59 +0900
+Subject: [PATCH] configure: Fix cross compiling
+
+Use AX_PROG_CC_FOR_BUILD to get build CC/CFLAGS/LDFLAGS/etc.
+Use PKG_PROG_PKG_CONFIG_FOR_BUILD to find build pkg-config binary.
+
+https://sourceware.org/autobook/autobook/autobook_143.html#Supporting-Cross-Compiler-in-Make
+
+BUG=https://github.com/ibus/ibus/issues/2479
+---
+ configure.ac               |  12 +++
+ m4/Makefile.am             |   2 +
+ m4/ax_prog_cc_for_build.m4 | 155 +++++++++++++++++++++++++++++++++++++
+ m4/pkg_config_for_build.m4 |  20 +++++
+ src/Makefile.am            |  67 ++++++++++++----
+ 5 files changed, 240 insertions(+), 16 deletions(-)
+ create mode 100644 m4/ax_prog_cc_for_build.m4
+ create mode 100644 m4/pkg_config_for_build.m4
+
+diff --git a/configure.ac b/configure.ac
+index cbdfbd05..fb51367f 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -129,6 +129,7 @@ AM_PROG_CC_C_O
+ AM_PROG_VALAC([0.20])
+ AC_PROG_INSTALL
+ AC_PROG_MAKE_SET
++AX_PROG_CC_FOR_BUILD
+ 
+ # i18n stuff
+ AM_GNU_GETTEXT_VERSION([0.19.8])
+@@ -150,6 +151,9 @@ AC_CHECK_FUNCS(daemon)
+ AC_CHECK_LIB(c, dlclose, LIBDL="", [AC_CHECK_LIB(dl, dlclose, LIBDL="-ldl")])
+ AC_SUBST(LIBDL)
+ 
++# Check if cross compiling.
++AM_CONDITIONAL(CROSS_COMPILING, test "x$cross_compiling" = xyes)
++
+ # Check endianness.
+ AC_C_BIGENDIAN([ENDIAN=big], [ENDIAN=little], [ENDIAN=unknown], [ENDIAN=big])
+ if test x"$ENDIAN" != xlittle  -a x"$ENDIAN" != xbig; then
+@@ -183,6 +187,14 @@ AH_BOTTOM([
+ #endif
+ ])
+ 
++if test "x$cross_compiling" = "xyes"; then
++PKG_PROG_PKG_CONFIG_FOR_BUILD
++GLIB_CFLAGS_FOR_BUILD=`$PKG_CONFIG_FOR_BUILD --cflags glib-2.0 gobject-2.0 gio-2.0 gio-unix-2.0 gthread-2.0`
++GLIB_LIBS_FOR_BUILD=`$PKG_CONFIG_FOR_BUILD --libs glib-2.0 gobject-2.0 gio-2.0 gio-unix-2.0 gthread-2.0`
++AC_SUBST(GLIB_CFLAGS_FOR_BUILD)
++AC_SUBST(GLIB_LIBS_FOR_BUILD)
++fi
++
+ # --disable-tests option.
+ AC_ARG_ENABLE(tests,
+     AS_HELP_STRING([--disable-tests],
+diff --git a/m4/Makefile.am b/m4/Makefile.am
+index 49ecbb89..8ea759e6 100644
+--- a/m4/Makefile.am
++++ b/m4/Makefile.am
+@@ -21,7 +21,9 @@
+ # USA
+ 
+ EXTRA_DIST = \
++    ax_prog_cc_for_build.m4 \
+     ibuslocale.m4 \
++    pkg_config_for_build.m4 \
+     vapigen.m4 \
+     $(NULL)
+ 
+diff --git a/m4/ax_prog_cc_for_build.m4 b/m4/ax_prog_cc_for_build.m4
+new file mode 100644
+index 00000000..1db8d73f
+--- /dev/null
++++ b/m4/ax_prog_cc_for_build.m4
+@@ -0,0 +1,155 @@
++# ===========================================================================
++#   https://www.gnu.org/software/autoconf-archive/ax_prog_cc_for_build.html
++# ===========================================================================
++#
++# SYNOPSIS
++#
++#   AX_PROG_CC_FOR_BUILD
++#
++# DESCRIPTION
++#
++#   This macro searches for a C compiler that generates native executables,
++#   that is a C compiler that surely is not a cross-compiler. This can be
++#   useful if you have to generate source code at compile-time like for
++#   example GCC does.
++#
++#   The macro sets the CC_FOR_BUILD and CPP_FOR_BUILD macros to anything
++#   needed to compile or link (CC_FOR_BUILD) and preprocess (CPP_FOR_BUILD).
++#   The value of these variables can be overridden by the user by specifying
++#   a compiler with an environment variable (like you do for standard CC).
++#
++#   It also sets BUILD_EXEEXT and BUILD_OBJEXT to the executable and object
++#   file extensions for the build platform, and GCC_FOR_BUILD to `yes' if
++#   the compiler we found is GCC. All these variables but GCC_FOR_BUILD are
++#   substituted in the Makefile.
++#
++# LICENSE
++#
++#   Copyright (c) 2008 Paolo Bonzini <bonzini@gnu.org>
++#
++#   Copying and distribution of this file, with or without modification, are
++#   permitted in any medium without royalty provided the copyright notice
++#   and this notice are preserved. This file is offered as-is, without any
++#   warranty.
++
++#serial 21
++
++AU_ALIAS([AC_PROG_CC_FOR_BUILD], [AX_PROG_CC_FOR_BUILD])
++AC_DEFUN([AX_PROG_CC_FOR_BUILD], [dnl
++AC_REQUIRE([AC_PROG_CC])dnl
++AC_REQUIRE([AC_PROG_CPP])dnl
++AC_REQUIRE([AC_CANONICAL_BUILD])dnl
++
++dnl Use the standard macros, but make them use other variable names
++dnl
++pushdef([ac_cv_prog_CPP], ac_cv_build_prog_CPP)dnl
++pushdef([ac_cv_prog_cc_c89], ac_cv_build_prog_cc_c89)dnl
++pushdef([ac_cv_prog_cc_c99], ac_cv_build_prog_cc_c99)dnl
++pushdef([ac_cv_prog_cc_c11], ac_cv_build_prog_cc_c11)dnl
++pushdef([ac_cv_prog_gcc], ac_cv_build_prog_gcc)dnl
++pushdef([ac_cv_prog_cc_works], ac_cv_build_prog_cc_works)dnl
++pushdef([ac_cv_prog_cc_cross], ac_cv_build_prog_cc_cross)dnl
++pushdef([ac_cv_prog_cc_g], ac_cv_build_prog_cc_g)dnl
++pushdef([ac_cv_c_compiler_gnu], ac_cv_build_c_compiler_gnu)dnl
++pushdef([ac_cv_exeext], ac_cv_build_exeext)dnl
++pushdef([ac_cv_objext], ac_cv_build_objext)dnl
++pushdef([ac_exeext], ac_build_exeext)dnl
++pushdef([ac_objext], ac_build_objext)dnl
++pushdef([CC], CC_FOR_BUILD)dnl
++pushdef([CPP], CPP_FOR_BUILD)dnl
++pushdef([GCC], GCC_FOR_BUILD)dnl
++pushdef([CFLAGS], CFLAGS_FOR_BUILD)dnl
++pushdef([CPPFLAGS], CPPFLAGS_FOR_BUILD)dnl
++pushdef([EXEEXT], BUILD_EXEEXT)dnl
++pushdef([LDFLAGS], LDFLAGS_FOR_BUILD)dnl
++pushdef([OBJEXT], BUILD_OBJEXT)dnl
++pushdef([host], build)dnl
++pushdef([host_alias], build_alias)dnl
++pushdef([host_cpu], build_cpu)dnl
++pushdef([host_vendor], build_vendor)dnl
++pushdef([host_os], build_os)dnl
++pushdef([ac_cv_host], ac_cv_build)dnl
++pushdef([ac_cv_host_alias], ac_cv_build_alias)dnl
++pushdef([ac_cv_host_cpu], ac_cv_build_cpu)dnl
++pushdef([ac_cv_host_vendor], ac_cv_build_vendor)dnl
++pushdef([ac_cv_host_os], ac_cv_build_os)dnl
++pushdef([ac_tool_prefix], ac_build_tool_prefix)dnl
++pushdef([am_cv_CC_dependencies_compiler_type], am_cv_build_CC_dependencies_compiler_type)dnl
++pushdef([am_cv_prog_cc_c_o], am_cv_build_prog_cc_c_o)dnl
++pushdef([cross_compiling], cross_compiling_build)dnl
++
++cross_compiling_build=no
++
++ac_build_tool_prefix=
++AS_IF([test -n "$build"],      [ac_build_tool_prefix="$build-"],
++      [test -n "$build_alias"],[ac_build_tool_prefix="$build_alias-"])
++
++AC_LANG_PUSH([C])
++
++dnl The pushdef([ac_cv_c_compiler_gnu], ...) currently does not cover
++dnl the use of this variable in _AC_LANG_COMPILER_GNU called by
++dnl AC_PROG_CC. Unset this cache variable temporarily as a workaround.
++was_set_c_compiler_gnu=${[ac_cv_c_compiler_gnu]+y}
++AS_IF([test ${was_set_c_compiler_gnu}],
++    [saved_c_compiler_gnu=$[ac_cv_c_compiler_gnu]
++    AS_UNSET([[ac_cv_c_compiler_gnu]])])
++
++AC_PROG_CC
++
++dnl Restore ac_cv_c_compiler_gnu
++AS_IF([test ${was_set_c_compiler_gnu}],
++  [[ac_cv_c_compiler_gnu]=$[saved_c_compiler_gnu]])
++
++_AC_COMPILER_EXEEXT
++_AC_COMPILER_OBJEXT
++AC_PROG_CPP
++
++dnl Restore the old definitions
++dnl
++popdef([cross_compiling])dnl
++popdef([am_cv_prog_cc_c_o])dnl
++popdef([am_cv_CC_dependencies_compiler_type])dnl
++popdef([ac_tool_prefix])dnl
++popdef([ac_cv_host_os])dnl
++popdef([ac_cv_host_vendor])dnl
++popdef([ac_cv_host_cpu])dnl
++popdef([ac_cv_host_alias])dnl
++popdef([ac_cv_host])dnl
++popdef([host_os])dnl
++popdef([host_vendor])dnl
++popdef([host_cpu])dnl
++popdef([host_alias])dnl
++popdef([host])dnl
++popdef([OBJEXT])dnl
++popdef([LDFLAGS])dnl
++popdef([EXEEXT])dnl
++popdef([CPPFLAGS])dnl
++popdef([CFLAGS])dnl
++popdef([GCC])dnl
++popdef([CPP])dnl
++popdef([CC])dnl
++popdef([ac_objext])dnl
++popdef([ac_exeext])dnl
++popdef([ac_cv_objext])dnl
++popdef([ac_cv_exeext])dnl
++popdef([ac_cv_c_compiler_gnu])dnl
++popdef([ac_cv_prog_cc_g])dnl
++popdef([ac_cv_prog_cc_cross])dnl
++popdef([ac_cv_prog_cc_works])dnl
++popdef([ac_cv_prog_cc_c89])dnl
++popdef([ac_cv_prog_gcc])dnl
++popdef([ac_cv_prog_CPP])dnl
++
++dnl restore global variables ac_ext, ac_cpp, ac_compile,
++dnl ac_link, ac_compiler_gnu (dependant on the current
++dnl language after popping):
++AC_LANG_POP([C])
++
++dnl Finally, set Makefile variables
++dnl
++AC_SUBST(BUILD_EXEEXT)dnl
++AC_SUBST(BUILD_OBJEXT)dnl
++AC_SUBST([CFLAGS_FOR_BUILD])dnl
++AC_SUBST([CPPFLAGS_FOR_BUILD])dnl
++AC_SUBST([LDFLAGS_FOR_BUILD])dnl
++])
+diff --git a/m4/pkg_config_for_build.m4 b/m4/pkg_config_for_build.m4
+new file mode 100644
+index 00000000..0422f482
+--- /dev/null
++++ b/m4/pkg_config_for_build.m4
+@@ -0,0 +1,20 @@
++# PKG_PROG_PKG_CONFIG_FOR_BUILD([MIN-VERSION])
++# ----------------------------------
++AC_DEFUN([PKG_PROG_PKG_CONFIG_FOR_BUILD],
++[m4_pattern_allow([^PKG_CONFIG_FOR_BUILD$])
++AC_ARG_VAR([PKG_CONFIG_FOR_BUILD], [path to build system's pkg-config utility])
++
++if test "x$ac_cv_env_PKG_CONFIG_FOR_BUILD_set" != "xset"; then
++	AC_PATH_PROG([PKG_CONFIG_FOR_BUILD], [pkg-config])
++fi
++if test -n "$PKG_CONFIG_FOR_BUILD"; then
++	_pkg_for_build_min_version=m4_default([$1], [0.9.0])
++	AC_MSG_CHECKING([build system's pkg-config is at least version $_pkg_min_version])
++	if $PKG_CONFIG_FOR_BUILD --atleast-pkgconfig-version $_pkg_min_version; then
++		AC_MSG_RESULT([yes])
++	else
++		AC_MSG_RESULT([no])
++		PKG_CONFIG_FOR_BUILD=""
++	fi
++fi[]dnl
++])# PKG_PROG_PKG_CONFIG_FOR_BUILD
+diff --git a/src/Makefile.am b/src/Makefile.am
+index adc7f04a..68dde2f3 100644
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -46,9 +46,6 @@ noinst_PROGRAMS = gen-internal-compose-table
+ # C preprocessor flags
+ AM_CPPFLAGS =                                           \
+     -DG_LOG_DOMAIN=\"IBUS\"                             \
+-    @GLIB2_CFLAGS@                                      \
+-    @GOBJECT2_CFLAGS@                                   \
+-    @GIO2_CFLAGS@                                       \
+     -DIBUS_CACHE_DIR=\""$(localstatedir)/cache/ibus"\"  \
+     -DIBUS_DATA_DIR=\"$(pkgdatadir)\"                   \
+     -DIBUS_DISABLE_DEPRECATION_WARNINGS                 \
+@@ -65,6 +62,11 @@ libibus_1_0_la_LIBADD =     \
+     @GOBJECT2_LIBS@         \
+     @GIO2_LIBS@             \
+     $(NULL)
++libibus_1_0_la_CFLAGS =     \
++    @GLIB2_CFLAGS@          \
++    @GOBJECT2_CFLAGS@       \
++    @GIO2_CFLAGS@           \
++    $(NULL)
+ libibus_1_0_la_LDFLAGS =            \
+     -no-undefined                   \
+     -export-symbols-regex "ibus_.*" \
+@@ -107,7 +109,7 @@ ibus_sources =              \
+     ibusxevent.c            \
+     ibusxml.c               \
+     $(NULL)
+-libibus_1_0_la_SOURCES =    \
++libibus_sources =           \
+     ibuscomposetable.c      \
+     ibusenumtypes.c         \
+     ibusmarshalers.c        \
+@@ -166,6 +168,7 @@ ibus_headers =              \
+     ibusxevent.h            \
+     ibusxml.h               \
+     $(NULL)
++libibus_1_0_la_SOURCES = $(libibus_sources)
+ ibusincludedir = $(includedir)/ibus-@IBUS_API_VERSION@
+ ibus_public_headers =       \
+     $(ibus_headers)         \
+@@ -188,6 +191,35 @@ noinst_HEADERS =            \
+     $(ibus_private_headers) \
+     $(NULL)
+ 
++if CROSS_COMPILING
++# Avoid libtool when building native libraries
++libnativeibus =
++parser_extra_sources = $(libibus_sources)
++
++glib_cflags = @GLIB_CFLAGS_FOR_BUILD@
++glib_libs = @GLIB_LIBS_FOR_BUILD@
++
++$(noinst_PROGRAMS): CC=$(CC_FOR_BUILD)
++$(noinst_PROGRAMS): CCLD=$(CC_FOR_BUILD)
++$(noinst_PROGRAMS): CFLAGS=$(CFLAGS_FOR_BUILD)
++$(noinst_PROGRAMS): CPPFLAGS=$(CPPFLAGS_FOR_BUILD)
++$(noinst_PROGRAMS): LDFLAGS=$(LDFLAGS_FOR_BUILD)
++else
++libnativeibus = $(libibus)
++parser_extra_sources =
++
++glib_libs =             \
++    @GLIB2_LIBS@        \
++    @GOBJECT2_LIBS@     \
++    @GIO2_LIBS@         \
++    $(NULL)
++glib_cflags =           \
++    @GLIB2_CFLAGS@      \
++    @GOBJECT2_CFLAGS@   \
++    @GIO2_CFLAGS@       \
++    $(NULL)
++endif
++
+ gen_internal_compose_table_SOURCES = \
+     gencomposetable.c   \
+     ibuscomposetable.c  \
+@@ -196,11 +228,12 @@ gen_internal_compose_table_SOURCES = \
+     ibuskeyuni.c        \
+     ibusenumtypes.h     \
+     $(NULL)
+-gen_internal_compose_table_CFLAGS = $(AM_CFLAGS)
++gen_internal_compose_table_CFLAGS =  \
++    $(AM_CFLAGS)        \
++    $(glib_cflags)      \
++    $(NULL)
+ gen_internal_compose_table_LDADD = \
+-    @GLIB2_LIBS@        \
+-    @GOBJECT2_LIBS@     \
+-    @GIO2_LIBS@         \
++    $(glib_libs)        \
+     $(NULL)
+ 
+ BUILT_SOURCES =                 \
+@@ -363,15 +396,15 @@ install-data-hook:
+ 
+ emoji_parser_SOURCES =          \
+     emoji-parser.c              \
++    $(parser_extra_sources)     \
+     $(NULL)
+ emoji_parser_CFLAGS =           \
+-    $(GLIB2_CFLAGS)             \
+-    $(GOBJECT2_CFLAGS)          \
++    $(AM_CFLAGS)                \
++    $(glib_cflags)              \
+     $(NULL)
+ emoji_parser_LDADD =            \
+-    $(libibus)                  \
+-    $(GLIB2_LIBS)               \
+-    $(GOBJECT2_LIBS)            \
++    $(libnativeibus)            \
++    $(glib_libs)                \
+     $(NULL)
+ endif
+ 
+@@ -408,13 +441,15 @@ ibusunicodegen.h:
+ 
+ unicode_parser_SOURCES =        \
+     unicode-parser.c            \
++    $(parser_extra_sources)     \
+     $(NULL)
+ unicode_parser_CFLAGS =         \
+-    $(GLIB2_CFLAGS)             \
++    $(AM_CFLAGS)                \
++    $(glib_cflags)              \
+     $(NULL)
+ unicode_parser_LDADD =          \
+-    $(GLIB2_LIBS)               \
+-    $(libibus)                  \
++    $(glib_libs)                \
++    $(libnativeibus)            \
+     $(NULL)
+ endif
+ 
+-- 
+2.41.0
+
+From 25a2dfc12410fff5f32a3caf793a958d7e41dc4c Mon Sep 17 00:00:00 2001
+From: fujiwarat <takao.fujiwara1@gmail.com>
+Date: Tue, 4 Jul 2023 22:46:31 +0900
+Subject: [PATCH] bus: Avoid to hang the process with SIGUSR1 signal
+
+Seems multiple `Xephyr -query` to a remote GDM login session causes
+to leave the some processes of ibus-daemon even if the Xephyr sessions
+are terminated and the issue is caused by calling bus_server_quit()
+with SIGUSR1 signal.
+
+I cannot reproduce the issue but calling the unsafe code from a signal
+handler might lead to hangs and this is another signal connection
+not to hang ibus-daemon.
+
+BUG=https://github.com/ibus/ibus/pull/2499
+---
+ bus/main.c | 11 ++++++-----
+ 1 file changed, 6 insertions(+), 5 deletions(-)
+
+diff --git a/bus/main.c b/bus/main.c
+index e80185b1..c4b8d651 100644
+--- a/bus/main.c
++++ b/bus/main.c
+@@ -2,8 +2,8 @@
+ /* vim:set et sts=4: */
+ /* ibus - The Input Bus
+  * Copyright (C) 2008-2013 Peng Huang <shawn.p.huang@gmail.com>
+- * Copyright (C) 2013-2018 Takao Fujiwara <takao.fujiwara1@gmail.com>
+- * Copyright (C) 2008-2018 Red Hat, Inc.
++ * Copyright (C) 2013-2023 Takao Fujiwara <takao.fujiwara1@gmail.com>
++ * Copyright (C) 2008-2023 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
+@@ -166,11 +166,12 @@ daemon (gint nochdir, gint noclose)
+ #endif
+ 
+ #ifdef HAVE_SYS_PRCTL_H
+-static void
+-_sig_usr1_handler (int sig)
++static gboolean
++_on_sigusr1 (void)
+ {
+     g_warning ("The parent process died.");
+     bus_server_quit (FALSE);
++    return G_SOURCE_REMOVE;
+ }
+ #endif
+ 
+@@ -350,7 +351,7 @@ main (gint argc, gchar **argv)
+         if (prctl (PR_SET_PDEATHSIG, SIGUSR1))
+             g_printerr ("Cannot bind SIGUSR1 for parent death\n");
+         else
+-            signal (SIGUSR1, _sig_usr1_handler);
++            g_unix_signal_add (SIGUSR1, (GSourceFunc)_on_sigusr1, NULL);
+ #endif
+     }
+     bus_server_run ();
+-- 
+2.41.0
+
+From be1f1d0da86006b019aaf78781d8c0c9c68fd46d Mon Sep 17 00:00:00 2001
+From: Matt Turner <mattst88@gmail.com>
+Date: Wed, 5 Jul 2023 13:33:25 +0900
+Subject: [PATCH 1/2] src: Fix missing ibusenumtypes.h with parallel build
+
+When `./autogen.sh && make -C src ibusresources.c -j2` runs,
+it causes a build failure due to no ibusenumtypes.h file.
+
+The chained dependencies are:
+ibusresources.c -> compose/sequences-$(ENDIAN)-endian
+-> gen-internal-compose-table -> gencomposetable.c
+
+gencomposetable.c includes ibus.h and it causes no ibusenumtypes.h with
+the parallel build with multi CPUs.
+
+ibusenumtypes.h is in BUILT_SOURCES so it is built (with other files in
+BUILT_SOURCES) before any other rules.
+But ibus.h is included by gencomposetable.c which is needed to generate
+ibusresources.c in BUILT_SOURCES.
+
+Since gencomposetable.c is an internal build source file and
+it doesn't have to include ibus.h but can include each ibus header
+files.
+Deleting ibus.h in gencomposetable.c can fix the build failure.
+
+BUG=https://github.com/ibus/ibus/pull/2523
+---
+ src/gencomposetable.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/gencomposetable.c b/src/gencomposetable.c
+index 6e52d6a6..35d6ce83 100644
+--- a/src/gencomposetable.c
++++ b/src/gencomposetable.c
+@@ -20,7 +20,7 @@
+  * USA
+  */
+ 
+-#include <ibus.h>
++/* #2523 Should not include <ibus.h> but each IBus header file. */
+ #include <glib.h>
+ #include <glib/gstdio.h>
+ #include <errno.h>
+-- 
+2.41.0
+
+From f25c48a1989be221e98b863c947e52eaf80dc4a3 Mon Sep 17 00:00:00 2001
+From: Matt Turner <mattst88@gmail.com>
+Date: Wed, 5 Jul 2023 13:41:33 +0900
+Subject: [PATCH 2/2] src: Fix to build libibus-1.0.la twice
+
+The purpose of autotools is to automatically handle dependencies. By
+calling $(MAKE) manually and without specifying any dependencies below,
+we are going out of our way to prevent automake from doing its job.
+
+    ibusunicodegen.h:
+           $(MAKE) $(AM_MAKEFLAGS) dicts/unicode-blocks.dict
+
+This avoids a build error whereby libibus-1.0.la is built twice
+simultaneously, races with itself, and breaks the build.
+
+    dicts/unicode-blocks.dict ibusunicodegen.h: unicode-parser
+
+The two build targets let `make ibusunicodegen.h` try to make
+`dicts/unicode-blocks.dict` and `ibusunicodegen.h` with unicode-parser.
+
+Unlike `ibusunicodegen.h`, we cannot add `ibusemojigen.h` to the rule
+that produces it (as a side-effect) because the rule is specified with
+GNU Make syntax:
+
+    dicts/emoji-%.dict: emoji-parser
+
+and doing so yields an error:
+
+    config.status: error: Something went wrong bootstrapping makefile
+        fragments for automatic dependency tracking.  If GNU make was
+        not used, consider re-running the configure script with
+        MAKE="gmake" (or whatever is necessary).  You can also try
+        re-running configure with the '--disable-dependency-tracking'
+        option to at least be able to build the package (albeit without
+        support for automatic dependency tracking).
+
+So instead, add a prerequisite to the rule.
+
+Both emoji-parser and unicode-parser has $(libibus) in LDADD
+and $(libibus) is built before emoji-parser and unicode-parser are
+built.
+
+BUG=https://github.com/ibus/ibus/pull/2523
+---
+ src/Makefile.am | 11 +++++------
+ 1 file changed, 5 insertions(+), 6 deletions(-)
+
+diff --git a/src/Makefile.am b/src/Makefile.am
+index 68dde2f3..fee0b3ee 100644
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -372,8 +372,9 @@ dicts/emoji-%.dict: emoji-parser
+ 	    echo "Skip $$plus_comment $@"; \
+ 	fi;
+ 
+-ibusemojigen.h:
+-	$(MAKE) $(AM_MAKEFLAGS) dicts/emoji-en.dict
++# #2523 Should use autotool dependency
++ibusemojigen.h: dicts/emoji-en.dict
++	$(MAKE) $(AM_MAKEFLAGS) $^
+ 
+ # We put dicts/emoji-%.dict as the make target for the parallel build
+ # and the make target has to be genarated even if the file size is zero.
+@@ -424,7 +425,8 @@ dicts/unicode-names.dict: unicode-parser
+ 	    echo "Generated $@"; \
+ 	fi;
+ 
+-dicts/unicode-blocks.dict: unicode-parser
++# #2523 Should use autotool dependency
++dicts/unicode-blocks.dict ibusunicodegen.h: unicode-parser
+ 	$(AM_V_at)input_file="$(UCD_DIR)/Blocks.txt"; \
+ 	if test ! -f "$$input_file" ; then \
+ 	    echo "WARNING: Not found $$input_file" 1>&2; \
+@@ -436,9 +438,6 @@ dicts/unicode-blocks.dict: unicode-parser
+ 	    echo "Generated $@"; \
+ 	fi;
+ 
+-ibusunicodegen.h:
+-	$(MAKE) $(AM_MAKEFLAGS) dicts/unicode-blocks.dict
+-
+ unicode_parser_SOURCES =        \
+     unicode-parser.c            \
+     $(parser_extra_sources)     \
+-- 
+2.41.0
+

diff --git a/ibus-xx-cross-compile.patch b/ibus-xx-cross-compile.patch
deleted file mode 100644
index 5ea1a53..0000000
--- a/ibus-xx-cross-compile.patch
+++ /dev/null
@@ -1,398 +0,0 @@
-From 3d69b8f402f954c5c832a564f9bcfba44d071a58 Mon Sep 17 00:00:00 2001
-From: oreo639 <oreo6391@gmail.com>
-Date: Fri, 12 May 2023 08:18:10 +0900
-Subject: [PATCH] configure: Fix cross compiling
-
-Use AX_PROG_CC_FOR_BUILD to get build CC/CFLAGS/LDFLAGS/etc.
-Use PKG_PROG_PKG_CONFIG_FOR_BUILD to find build pkg-config binary.
-
-https://sourceware.org/autobook/autobook/autobook_143.html#Supporting-Cross-Compiler-in-Make
-
-BUG=https://github.com/ibus/ibus/issues/2479
----
- configure.ac               |  12 +++
- m4/Makefile.am             |   2 +
- m4/ax_prog_cc_for_build.m4 | 155 +++++++++++++++++++++++++++++++++++++
- m4/pkg_config_for_build.m4 |  20 +++++
- src/Makefile.am            |  67 ++++++++++++----
- 5 files changed, 240 insertions(+), 16 deletions(-)
- create mode 100644 m4/ax_prog_cc_for_build.m4
- create mode 100644 m4/pkg_config_for_build.m4
-
-diff --git a/configure.ac b/configure.ac
-index b3eacbcb..b286c62f 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -130,6 +130,7 @@ AC_PROG_CC_STDC
- AM_PROG_VALAC([0.20])
- AC_PROG_INSTALL
- AC_PROG_MAKE_SET
-+AX_PROG_CC_FOR_BUILD
- 
- # i18n stuff
- AM_GNU_GETTEXT_VERSION([0.19.8])
-@@ -151,6 +152,9 @@ AC_CHECK_FUNCS(daemon)
- AC_CHECK_LIB(c, dlclose, LIBDL="", [AC_CHECK_LIB(dl, dlclose, LIBDL="-ldl")])
- AC_SUBST(LIBDL)
- 
-+# Check if cross compiling.
-+AM_CONDITIONAL(CROSS_COMPILING, test "x$cross_compiling" = xyes)
-+
- # Check endianness.
- AC_C_BIGENDIAN([ENDIAN=big], [ENDIAN=little], [ENDIAN=unknown], [ENDIAN=big])
- if test x"$ENDIAN" != xlittle  -a x"$ENDIAN" != xbig; then
-@@ -184,6 +188,14 @@ AH_BOTTOM([
- #endif
- ])
- 
-+if test "x$cross_compiling" = "xyes"; then
-+PKG_PROG_PKG_CONFIG_FOR_BUILD
-+GLIB_CFLAGS_FOR_BUILD=`$PKG_CONFIG_FOR_BUILD --cflags glib-2.0 gobject-2.0 gio-2.0 gio-unix-2.0 gthread-2.0`
-+GLIB_LIBS_FOR_BUILD=`$PKG_CONFIG_FOR_BUILD --libs glib-2.0 gobject-2.0 gio-2.0 gio-unix-2.0 gthread-2.0`
-+AC_SUBST(GLIB_CFLAGS_FOR_BUILD)
-+AC_SUBST(GLIB_LIBS_FOR_BUILD)
-+fi
-+
- # --disable-tests option.
- AC_ARG_ENABLE(tests,
-     AS_HELP_STRING([--disable-tests],
-diff --git a/m4/Makefile.am b/m4/Makefile.am
-index dcf84ac3..dcaaa350 100644
---- a/m4/Makefile.am
-+++ b/m4/Makefile.am
-@@ -22,7 +22,9 @@
- 
- EXTRA_DIST = \
-     as-version.m4 \
-+    ax_prog_cc_for_build.m4 \
-     ibuslocale.m4 \
-+    pkg_config_for_build.m4 \
-     vapigen.m4 \
-     $(NULL)
- 
-diff --git a/m4/ax_prog_cc_for_build.m4 b/m4/ax_prog_cc_for_build.m4
-new file mode 100644
-index 00000000..1db8d73f
---- /dev/null
-+++ b/m4/ax_prog_cc_for_build.m4
-@@ -0,0 +1,155 @@
-+# ===========================================================================
-+#   https://www.gnu.org/software/autoconf-archive/ax_prog_cc_for_build.html
-+# ===========================================================================
-+#
-+# SYNOPSIS
-+#
-+#   AX_PROG_CC_FOR_BUILD
-+#
-+# DESCRIPTION
-+#
-+#   This macro searches for a C compiler that generates native executables,
-+#   that is a C compiler that surely is not a cross-compiler. This can be
-+#   useful if you have to generate source code at compile-time like for
-+#   example GCC does.
-+#
-+#   The macro sets the CC_FOR_BUILD and CPP_FOR_BUILD macros to anything
-+#   needed to compile or link (CC_FOR_BUILD) and preprocess (CPP_FOR_BUILD).
-+#   The value of these variables can be overridden by the user by specifying
-+#   a compiler with an environment variable (like you do for standard CC).
-+#
-+#   It also sets BUILD_EXEEXT and BUILD_OBJEXT to the executable and object
-+#   file extensions for the build platform, and GCC_FOR_BUILD to `yes' if
-+#   the compiler we found is GCC. All these variables but GCC_FOR_BUILD are
-+#   substituted in the Makefile.
-+#
-+# LICENSE
-+#
-+#   Copyright (c) 2008 Paolo Bonzini <bonzini@gnu.org>
-+#
-+#   Copying and distribution of this file, with or without modification, are
-+#   permitted in any medium without royalty provided the copyright notice
-+#   and this notice are preserved. This file is offered as-is, without any
-+#   warranty.
-+
-+#serial 21
-+
-+AU_ALIAS([AC_PROG_CC_FOR_BUILD], [AX_PROG_CC_FOR_BUILD])
-+AC_DEFUN([AX_PROG_CC_FOR_BUILD], [dnl
-+AC_REQUIRE([AC_PROG_CC])dnl
-+AC_REQUIRE([AC_PROG_CPP])dnl
-+AC_REQUIRE([AC_CANONICAL_BUILD])dnl
-+
-+dnl Use the standard macros, but make them use other variable names
-+dnl
-+pushdef([ac_cv_prog_CPP], ac_cv_build_prog_CPP)dnl
-+pushdef([ac_cv_prog_cc_c89], ac_cv_build_prog_cc_c89)dnl
-+pushdef([ac_cv_prog_cc_c99], ac_cv_build_prog_cc_c99)dnl
-+pushdef([ac_cv_prog_cc_c11], ac_cv_build_prog_cc_c11)dnl
-+pushdef([ac_cv_prog_gcc], ac_cv_build_prog_gcc)dnl
-+pushdef([ac_cv_prog_cc_works], ac_cv_build_prog_cc_works)dnl
-+pushdef([ac_cv_prog_cc_cross], ac_cv_build_prog_cc_cross)dnl
-+pushdef([ac_cv_prog_cc_g], ac_cv_build_prog_cc_g)dnl
-+pushdef([ac_cv_c_compiler_gnu], ac_cv_build_c_compiler_gnu)dnl
-+pushdef([ac_cv_exeext], ac_cv_build_exeext)dnl
-+pushdef([ac_cv_objext], ac_cv_build_objext)dnl
-+pushdef([ac_exeext], ac_build_exeext)dnl
-+pushdef([ac_objext], ac_build_objext)dnl
-+pushdef([CC], CC_FOR_BUILD)dnl
-+pushdef([CPP], CPP_FOR_BUILD)dnl
-+pushdef([GCC], GCC_FOR_BUILD)dnl
-+pushdef([CFLAGS], CFLAGS_FOR_BUILD)dnl
-+pushdef([CPPFLAGS], CPPFLAGS_FOR_BUILD)dnl
-+pushdef([EXEEXT], BUILD_EXEEXT)dnl
-+pushdef([LDFLAGS], LDFLAGS_FOR_BUILD)dnl
-+pushdef([OBJEXT], BUILD_OBJEXT)dnl
-+pushdef([host], build)dnl
-+pushdef([host_alias], build_alias)dnl
-+pushdef([host_cpu], build_cpu)dnl
-+pushdef([host_vendor], build_vendor)dnl
-+pushdef([host_os], build_os)dnl
-+pushdef([ac_cv_host], ac_cv_build)dnl
-+pushdef([ac_cv_host_alias], ac_cv_build_alias)dnl
-+pushdef([ac_cv_host_cpu], ac_cv_build_cpu)dnl
-+pushdef([ac_cv_host_vendor], ac_cv_build_vendor)dnl
-+pushdef([ac_cv_host_os], ac_cv_build_os)dnl
-+pushdef([ac_tool_prefix], ac_build_tool_prefix)dnl
-+pushdef([am_cv_CC_dependencies_compiler_type], am_cv_build_CC_dependencies_compiler_type)dnl
-+pushdef([am_cv_prog_cc_c_o], am_cv_build_prog_cc_c_o)dnl
-+pushdef([cross_compiling], cross_compiling_build)dnl
-+
-+cross_compiling_build=no
-+
-+ac_build_tool_prefix=
-+AS_IF([test -n "$build"],      [ac_build_tool_prefix="$build-"],
-+      [test -n "$build_alias"],[ac_build_tool_prefix="$build_alias-"])
-+
-+AC_LANG_PUSH([C])
-+
-+dnl The pushdef([ac_cv_c_compiler_gnu], ...) currently does not cover
-+dnl the use of this variable in _AC_LANG_COMPILER_GNU called by
-+dnl AC_PROG_CC. Unset this cache variable temporarily as a workaround.
-+was_set_c_compiler_gnu=${[ac_cv_c_compiler_gnu]+y}
-+AS_IF([test ${was_set_c_compiler_gnu}],
-+    [saved_c_compiler_gnu=$[ac_cv_c_compiler_gnu]
-+    AS_UNSET([[ac_cv_c_compiler_gnu]])])
-+
-+AC_PROG_CC
-+
-+dnl Restore ac_cv_c_compiler_gnu
-+AS_IF([test ${was_set_c_compiler_gnu}],
-+  [[ac_cv_c_compiler_gnu]=$[saved_c_compiler_gnu]])
-+
-+_AC_COMPILER_EXEEXT
-+_AC_COMPILER_OBJEXT
-+AC_PROG_CPP
-+
-+dnl Restore the old definitions
-+dnl
-+popdef([cross_compiling])dnl
-+popdef([am_cv_prog_cc_c_o])dnl
-+popdef([am_cv_CC_dependencies_compiler_type])dnl
-+popdef([ac_tool_prefix])dnl
-+popdef([ac_cv_host_os])dnl
-+popdef([ac_cv_host_vendor])dnl
-+popdef([ac_cv_host_cpu])dnl
-+popdef([ac_cv_host_alias])dnl
-+popdef([ac_cv_host])dnl
-+popdef([host_os])dnl
-+popdef([host_vendor])dnl
-+popdef([host_cpu])dnl
-+popdef([host_alias])dnl
-+popdef([host])dnl
-+popdef([OBJEXT])dnl
-+popdef([LDFLAGS])dnl
-+popdef([EXEEXT])dnl
-+popdef([CPPFLAGS])dnl
-+popdef([CFLAGS])dnl
-+popdef([GCC])dnl
-+popdef([CPP])dnl
-+popdef([CC])dnl
-+popdef([ac_objext])dnl
-+popdef([ac_exeext])dnl
-+popdef([ac_cv_objext])dnl
-+popdef([ac_cv_exeext])dnl
-+popdef([ac_cv_c_compiler_gnu])dnl
-+popdef([ac_cv_prog_cc_g])dnl
-+popdef([ac_cv_prog_cc_cross])dnl
-+popdef([ac_cv_prog_cc_works])dnl
-+popdef([ac_cv_prog_cc_c89])dnl
-+popdef([ac_cv_prog_gcc])dnl
-+popdef([ac_cv_prog_CPP])dnl
-+
-+dnl restore global variables ac_ext, ac_cpp, ac_compile,
-+dnl ac_link, ac_compiler_gnu (dependant on the current
-+dnl language after popping):
-+AC_LANG_POP([C])
-+
-+dnl Finally, set Makefile variables
-+dnl
-+AC_SUBST(BUILD_EXEEXT)dnl
-+AC_SUBST(BUILD_OBJEXT)dnl
-+AC_SUBST([CFLAGS_FOR_BUILD])dnl
-+AC_SUBST([CPPFLAGS_FOR_BUILD])dnl
-+AC_SUBST([LDFLAGS_FOR_BUILD])dnl
-+])
-diff --git a/m4/pkg_config_for_build.m4 b/m4/pkg_config_for_build.m4
-new file mode 100644
-index 00000000..0422f482
---- /dev/null
-+++ b/m4/pkg_config_for_build.m4
-@@ -0,0 +1,20 @@
-+# PKG_PROG_PKG_CONFIG_FOR_BUILD([MIN-VERSION])
-+# ----------------------------------
-+AC_DEFUN([PKG_PROG_PKG_CONFIG_FOR_BUILD],
-+[m4_pattern_allow([^PKG_CONFIG_FOR_BUILD$])
-+AC_ARG_VAR([PKG_CONFIG_FOR_BUILD], [path to build system's pkg-config utility])
-+
-+if test "x$ac_cv_env_PKG_CONFIG_FOR_BUILD_set" != "xset"; then
-+	AC_PATH_PROG([PKG_CONFIG_FOR_BUILD], [pkg-config])
-+fi
-+if test -n "$PKG_CONFIG_FOR_BUILD"; then
-+	_pkg_for_build_min_version=m4_default([$1], [0.9.0])
-+	AC_MSG_CHECKING([build system's pkg-config is at least version $_pkg_min_version])
-+	if $PKG_CONFIG_FOR_BUILD --atleast-pkgconfig-version $_pkg_min_version; then
-+		AC_MSG_RESULT([yes])
-+	else
-+		AC_MSG_RESULT([no])
-+		PKG_CONFIG_FOR_BUILD=""
-+	fi
-+fi[]dnl
-+])# PKG_PROG_PKG_CONFIG_FOR_BUILD
-diff --git a/src/Makefile.am b/src/Makefile.am
-index adc7f04a..68dde2f3 100644
---- a/src/Makefile.am
-+++ b/src/Makefile.am
-@@ -46,9 +46,6 @@ noinst_PROGRAMS = gen-internal-compose-table
- # C preprocessor flags
- AM_CPPFLAGS =                                           \
-     -DG_LOG_DOMAIN=\"IBUS\"                             \
--    @GLIB2_CFLAGS@                                      \
--    @GOBJECT2_CFLAGS@                                   \
--    @GIO2_CFLAGS@                                       \
-     -DIBUS_CACHE_DIR=\""$(localstatedir)/cache/ibus"\"  \
-     -DIBUS_DATA_DIR=\"$(pkgdatadir)\"                   \
-     -DIBUS_DISABLE_DEPRECATION_WARNINGS                 \
-@@ -65,6 +62,11 @@ libibus_1_0_la_LIBADD =     \
-     @GOBJECT2_LIBS@         \
-     @GIO2_LIBS@             \
-     $(NULL)
-+libibus_1_0_la_CFLAGS =     \
-+    @GLIB2_CFLAGS@          \
-+    @GOBJECT2_CFLAGS@       \
-+    @GIO2_CFLAGS@           \
-+    $(NULL)
- libibus_1_0_la_LDFLAGS =            \
-     -no-undefined                   \
-     -export-symbols-regex "ibus_.*" \
-@@ -107,7 +109,7 @@ ibus_sources =              \
-     ibusxevent.c            \
-     ibusxml.c               \
-     $(NULL)
--libibus_1_0_la_SOURCES =    \
-+libibus_sources =           \
-     ibuscomposetable.c      \
-     ibusenumtypes.c         \
-     ibusmarshalers.c        \
-@@ -166,6 +168,7 @@ ibus_headers =              \
-     ibusxevent.h            \
-     ibusxml.h               \
-     $(NULL)
-+libibus_1_0_la_SOURCES = $(libibus_sources)
- ibusincludedir = $(includedir)/ibus-@IBUS_API_VERSION@
- ibus_public_headers =       \
-     $(ibus_headers)         \
-@@ -188,6 +191,35 @@ noinst_HEADERS =            \
-     $(ibus_private_headers) \
-     $(NULL)
- 
-+if CROSS_COMPILING
-+# Avoid libtool when building native libraries
-+libnativeibus =
-+parser_extra_sources = $(libibus_sources)
-+
-+glib_cflags = @GLIB_CFLAGS_FOR_BUILD@
-+glib_libs = @GLIB_LIBS_FOR_BUILD@
-+
-+$(noinst_PROGRAMS): CC=$(CC_FOR_BUILD)
-+$(noinst_PROGRAMS): CCLD=$(CC_FOR_BUILD)
-+$(noinst_PROGRAMS): CFLAGS=$(CFLAGS_FOR_BUILD)
-+$(noinst_PROGRAMS): CPPFLAGS=$(CPPFLAGS_FOR_BUILD)
-+$(noinst_PROGRAMS): LDFLAGS=$(LDFLAGS_FOR_BUILD)
-+else
-+libnativeibus = $(libibus)
-+parser_extra_sources =
-+
-+glib_libs =             \
-+    @GLIB2_LIBS@        \
-+    @GOBJECT2_LIBS@     \
-+    @GIO2_LIBS@         \
-+    $(NULL)
-+glib_cflags =           \
-+    @GLIB2_CFLAGS@      \
-+    @GOBJECT2_CFLAGS@   \
-+    @GIO2_CFLAGS@       \
-+    $(NULL)
-+endif
-+
- gen_internal_compose_table_SOURCES = \
-     gencomposetable.c   \
-     ibuscomposetable.c  \
-@@ -196,11 +228,12 @@ gen_internal_compose_table_SOURCES = \
-     ibuskeyuni.c        \
-     ibusenumtypes.h     \
-     $(NULL)
--gen_internal_compose_table_CFLAGS = $(AM_CFLAGS)
-+gen_internal_compose_table_CFLAGS =  \
-+    $(AM_CFLAGS)        \
-+    $(glib_cflags)      \
-+    $(NULL)
- gen_internal_compose_table_LDADD = \
--    @GLIB2_LIBS@        \
--    @GOBJECT2_LIBS@     \
--    @GIO2_LIBS@         \
-+    $(glib_libs)        \
-     $(NULL)
- 
- BUILT_SOURCES =                 \
-@@ -363,15 +396,15 @@ install-data-hook:
- 
- emoji_parser_SOURCES =          \
-     emoji-parser.c              \
-+    $(parser_extra_sources)     \
-     $(NULL)
- emoji_parser_CFLAGS =           \
--    $(GLIB2_CFLAGS)             \
--    $(GOBJECT2_CFLAGS)          \
-+    $(AM_CFLAGS)                \
-+    $(glib_cflags)              \
-     $(NULL)
- emoji_parser_LDADD =            \
--    $(libibus)                  \
--    $(GLIB2_LIBS)               \
--    $(GOBJECT2_LIBS)            \
-+    $(libnativeibus)            \
-+    $(glib_libs)                \
-     $(NULL)
- endif
- 
-@@ -408,13 +441,15 @@ ibusunicodegen.h:
- 
- unicode_parser_SOURCES =        \
-     unicode-parser.c            \
-+    $(parser_extra_sources)     \
-     $(NULL)
- unicode_parser_CFLAGS =         \
--    $(GLIB2_CFLAGS)             \
-+    $(AM_CFLAGS)                \
-+    $(glib_cflags)              \
-     $(NULL)
- unicode_parser_LDADD =          \
--    $(GLIB2_LIBS)               \
--    $(libibus)                  \
-+    $(glib_libs)                \
-+    $(libnativeibus)            \
-     $(NULL)
- endif
- 
--- 
-2.40.0
-

diff --git a/ibus.spec b/ibus.spec
index 021bc71..89789cd 100644
--- a/ibus.spec
+++ b/ibus.spec
@@ -50,7 +50,7 @@
 
 Name:           ibus
 Version:        1.5.28
-Release:        8%{?dist}
+Release:        9%{?dist}
 Summary:        Intelligent Input Bus for Linux OS
 License:        LGPL-2.0-or-later
 URL:            https://github.com/ibus/%name/wiki
@@ -65,8 +65,6 @@ Patch1:         %{name}-1385349-segv-bus-proxy.patch
 # Use mutter window manager in RHEL CI
 Patch2:         %{name}-xx-desktop-testing-mutter.patch
 %endif
-# https://github.com/ibus/ibus/issues/2479
-Patch3:         %{name}-xx-cross-compile.patch
 
 # autoreconf requires autopoint but not po.m4
 BuildRequires:  gettext-devel
@@ -559,6 +557,12 @@ dconf update || :
 %{_datadir}/installed-tests/ibus
 
 %changelog
+* Wed Jul 05 2023 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.28-9
+- Delete upstreamed ibus-xx-cross-compile.patch
+- Fix alive ibus-x11 with `Xephyr -query`
+- Fix missing ibusenumtypes.h with parallel build
+- Fix to build libibus-1.0.la twice
+
 * Thu Jun 15 2023 Python Maint <python-maint@redhat.com> - 1.5.28-8
 - Rebuilt for Python 3.12
 

                 reply	other threads:[~2026-05-31  2:08 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=178019329097.1.4073398842684720852.rpms-ibus-4d8deb73d39b@fedoraproject.org \
    --to=tfujiwar@redhat.com \
    --cc=git-commits@fedoraproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox