From 198afcc7a8c9702287350e5c5a08a7eca927781f Mon Sep 17 00:00:00 2001 From: oreo639 Date: Sun, 26 Feb 2023 05:41:35 -0800 Subject: [PATCH] ibus: update to 1.5.28. --- srcpkgs/ibus/patches/fix-cross.patch | 384 +++++++++++++++++++++++++++ srcpkgs/ibus/template | 20 +- 2 files changed, 396 insertions(+), 8 deletions(-) create mode 100644 srcpkgs/ibus/patches/fix-cross.patch diff --git a/srcpkgs/ibus/patches/fix-cross.patch b/srcpkgs/ibus/patches/fix-cross.patch new file mode 100644 index 000000000000..afcf2a1b0561 --- /dev/null +++ b/srcpkgs/ibus/patches/fix-cross.patch @@ -0,0 +1,384 @@ +diff --git a/configure.ac b/configure.ac +index cba242df..f442bac8 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,10 +152,13 @@ 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_MSG_CHECKING([build system endianness]) + ENDIAN=unknown +-AC_RUN_IFELSE( ++AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM( + [[ + #include +@@ -165,7 +169,7 @@ AC_RUN_IFELSE( + )], + [ENDIAN=little] + ) +-AC_RUN_IFELSE( ++AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM( + [[ + #include +@@ -207,6 +211,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 ++# ++# 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 426376dd..06b45917 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -41,14 +41,19 @@ INTROSPECTION_COMPILER_ARGS = \ + $(NULL) + INTROSPECTION_GIRS = + CLEANFILES = ++ + noinst_PROGRAMS = gen-internal-compose-table + + # C preprocessor flags ++glib_cflags = \ ++ @GLIB2_CFLAGS@ \ ++ @GOBJECT2_CFLAGS@ \ ++ @GIO2_CFLAGS@ \ ++ $(NULL) ++ + AM_CPPFLAGS = \ + -DG_LOG_DOMAIN=\"IBUS\" \ +- @GLIB2_CFLAGS@ \ +- @GOBJECT2_CFLAGS@ \ +- @GIO2_CFLAGS@ \ ++ $(glib_cflags) \ + -DIBUS_CACHE_DIR=\""$(localstatedir)/cache/ibus"\" \ + -DIBUS_DATA_DIR=\"$(pkgdatadir)\" \ + -DIBUS_DISABLE_DEPRECATION_WARNINGS \ +@@ -57,6 +62,12 @@ AM_CPPFLAGS = \ + -DX11_DATA_PREFIX=\"$(X11_PREFIX)\" \ + $(NULL) + ++glib_libs = \ ++ @GLIB2_LIBS@ \ ++ @GOBJECT2_LIBS@ \ ++ @GIO2_LIBS@ \ ++ $(NULL) ++ + # ibus library + lib_LTLIBRARIES = $(libibus) + +@@ -107,7 +118,7 @@ ibus_sources = \ + ibusxevent.c \ + ibusxml.c \ + $(NULL) +-libibus_1_0_la_SOURCES = \ ++libibus_sources = \ + ibuscomposetable.c \ + ibusenumtypes.c \ + ibusmarshalers.c \ +@@ -166,6 +177,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 +200,25 @@ noinst_HEADERS = \ + $(ibus_private_headers) \ + $(NULL) + ++if CROSS_COMPILING ++# Avoid libtool when building native libraries ++libnativeibus = ++parser_extra_sources = $(libibus_sources) ++ ++glib_cflags_for_build = @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=$(GLIB_CFLAGS_FOR_BUILD) ++$(noinst_PROGRAMS): CPPFLAGS=$(CPPFLAGS_FOR_BUILD) ++$(noinst_PROGRAMS): LDFLAGS=$(LDFLAGS_FOR_BUILD) ++$(noinst_PROGRAMS): glib_cflags=$(glib_cflags_for_build) ++else ++libnativeibus = $(libibus) ++parser_extra_sources = ++endif ++ + gen_internal_compose_table_SOURCES = \ + gencomposetable.c \ + ibuscomposetable.c \ +@@ -197,9 +228,7 @@ gen_internal_compose_table_SOURCES = \ + $(NULL) + gen_internal_compose_table_CFLAGS = $(AM_CFLAGS) + gen_internal_compose_table_LDADD = \ +- @GLIB2_LIBS@ \ +- @GOBJECT2_LIBS@ \ +- @GIO2_LIBS@ \ ++ $(glib_libs) \ + $(NULL) + + BUILT_SOURCES = \ +@@ -362,15 +391,12 @@ install-data-hook: + + emoji_parser_SOURCES = \ + emoji-parser.c \ ++ $(parser_extra_sources) \ + $(NULL) +-emoji_parser_CFLAGS = \ +- $(GLIB2_CFLAGS) \ +- $(GOBJECT2_CFLAGS) \ +- $(NULL) ++emoji_parser_CFLAGS = $(AM_CFLAGS) + emoji_parser_LDADD = \ +- $(libibus) \ +- $(GLIB2_LIBS) \ +- $(GOBJECT2_LIBS) \ ++ $(libnativeibus) \ ++ $(glib_libs) \ + $(NULL) + endif + +@@ -407,13 +433,14 @@ ibusunicodegen.h: + + unicode_parser_SOURCES = \ + unicode-parser.c \ ++ $(parser_extra_sources) \ + $(NULL) + unicode_parser_CFLAGS = \ +- $(GLIB2_CFLAGS) \ ++ $(glib_cflags) \ + $(NULL) + unicode_parser_LDADD = \ +- $(GLIB2_LIBS) \ +- $(libibus) \ ++ $(glib_libs) \ ++ $(libnativeibus) \ + $(NULL) + endif + diff --git a/srcpkgs/ibus/template b/srcpkgs/ibus/template index 77a7a06a3037..ffe5ee881f94 100644 --- a/srcpkgs/ibus/template +++ b/srcpkgs/ibus/template @@ -1,7 +1,7 @@ # Template file for 'ibus' pkgname=ibus -version=1.5.27 -revision=2 +version=1.5.28 +revision=1 build_style=gnu-configure build_helper="gir" configure_args="--enable-ui --enable-gtk3 --enable-gtk4 @@ -11,7 +11,7 @@ configure_args="--enable-ui --enable-gtk3 --enable-gtk4 $(vopt_enable dicts emoji-dict) $(vopt_enable dicts unicode-dict) --enable-introspection --enable-vala $(vopt_enable ibus_setup setup)" hostmakedepends="pkg-config libtool gettext-devel intltool dconf - python3 glib-devel vala + python3 glib-devel vala automake gtk-doc $(vopt_if dicts 'cldr-emoji-annotation unicode-character-database unicode-emoji')" makedepends="dconf-devel gtk+-devel gtk+3-devel gtk4-devel hicolor-icon-theme iso-codes json-glib-devel libnotify-devel librsvg-devel python3-xdg @@ -23,15 +23,19 @@ maintainer="oreo639 " license="LGPL-2.1-or-later" homepage="https://github.com/ibus/ibus" distfiles="https://github.com/ibus/ibus/releases/download/${version}/ibus-${version}.tar.gz" -checksum=6efbda5adb96f607cf7108d1e270962c0729a59c9ea6d58eea2dde0e3cbb97df +checksum=6c9ff3a7576c3d61264f386030f47ee467eb7298c8104367002986e008765667 build_options="ibus_setup dicts" desc_option_ibus_setup="Enable support for building the ibus setup UI" -build_options_default="ibus_setup" +build_options_default="ibus_setup dicts" -if [ -z "$CROSS_BUILD" ]; then - build_options_default+=" dicts" -fi +pre_build() { + export GIR_EXTRA_LIBS_PATH="${wrksrc}/src/.libs" +} + +pre_configure() { + autoreconf -fi +} post_install() { vinstall bindings/pygobject/gi/overrides/IBus.py 644 ${py3_sitelib}/gi/overrides