Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package gcin for openSUSE:Factory checked in 
at 2026-10-20 12:37:16
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gcin (Old)
 and      /work/SRC/openSUSE:Factory/.gcin.new.3698736 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "gcin"

Tue Oct 20 12:37:16 2026 rev:45 rq:1386103 version:2.9.4

Changes:
--------
--- /work/SRC/openSUSE:Factory/gcin/gcin.changes        2025-06-24 
20:48:43.863264914 +0200
+++ /work/SRC/openSUSE:Factory/.gcin.new.3698736/gcin.changes   2026-10-20 
12:37:55.920545297 +0200
@@ -1,0 +2,18 @@
+Sat Oct 17 15:55:11 UTC 2026 - Martin Pluskal <[email protected]>
+
+- Update to version 2.9.4:
+  * Improved automatic word selection in phonetic input and cursor
+    placement after phrase selection
+  * Ubuntu 24.04 and desktop indicator support
+  * Fix a crash from garbled text when mistyping English input
+- Fix row-width mismatch with get_en_miss_cand() (fatal with gcc14
+  and later): gcin-en-miss-cand-fix.patch
+- Drop the new Wayland custom-surface block in win0.cpp, it uses
+  GDK APIs no longer present and its substance is commented out:
+  gcin-drop-wayland-block.patch
+- Fix heap overflow building the en-american table on aarch64
+  (length bytes must be read as signed char): tsa2d32-sign-fix.patch
+- Drop Group tags; fetch the tarball over https and use
+  pkgconfig-style BuildRequires with canonical build macros
+
+-------------------------------------------------------------------

Old:
----
  gcin-2.9.0.tar.xz

New:
----
  gcin-2.9.4.tar.xz
  gcin-drop-wayland-block.patch
  gcin-en-miss-cand-fix.patch
  tsa2d32-sign-fix.patch

----------(New B)----------
  New:  GDK APIs no longer present and its substance is commented out:
  gcin-drop-wayland-block.patch
- Fix heap overflow building the en-american table on aarch64
  New:- Fix row-width mismatch with get_en_miss_cand() (fatal with gcc14
  and later): gcin-en-miss-cand-fix.patch
- Drop the new Wayland custom-surface block in win0.cpp, it uses
  New:- Fix heap overflow building the en-american table on aarch64
  (length bytes must be read as signed char): tsa2d32-sign-fix.patch
- Drop Group tags; fetch the tarball over https and use
----------(New E)----------

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ gcin.spec ++++++
--- /var/tmp/diff_new_pack.Uh1Gh6/_old  2026-10-20 12:37:57.447609311 +0200
+++ /var/tmp/diff_new_pack.Uh1Gh6/_new  2026-10-20 12:37:57.450609437 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package gcin
 #
-# Copyright (c) 2025 SUSE LLC
+# Copyright (c) 2026 SUSE LLC and contributors
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -19,17 +19,14 @@
 %if ! %{defined _distconfdir}
 %define _distconfdir %{_sysconfdir}
 %endif
-
 %define build_qt4 0%{?is_opensuse} && 0%{?suse_version} < 1550 && 
0%{?sle_version} < 150300
-
 Name:           gcin
-Version:        2.9.0
+Version:        2.9.4
 Release:        0
 Summary:        Chinese input method server
 License:        LGPL-2.1-only
-Group:          System/I18n/Chinese
-URL:            http://hyperrate.com/dir.php?eid=67
-Source:         http://hyperrate.com/gcin-source/%{name}-%{version}.tar.xz
+URL:            https://hyperrate.com/dir.php?eid=67
+Source:         https://hyperrate.com/gcin-source/%{name}-%{version}.tar.xz
 Source1:        xim.d-gcin
 Source2:        gcin-README.suse
 Source3:        xim.gcin.suse.template
@@ -58,33 +55,38 @@
 Patch12:        gcin-gcc14-fix.patch
 # PATCH-FIX-UPSTREAM fix the build errors with gcc15
 Patch13:        gcin-2.9.0-gcc15.patch
-BuildRequires:  anthy-devel
+# PATCH-FIX-UPSTREAM fix row-width mismatch with get_en_miss_cand() (gcc14+ 
fatal)
+Patch14:        gcin-en-miss-cand-fix.patch
+# PATCH-FIX-UPSTREAM drop unbuildable Wayland custom-surface block (removed 
GDK APIs)
+Patch15:        gcin-drop-wayland-block.patch
+# PATCH-FIX-UPSTREAM read table length bytes as signed char (ARM char is 
unsigned)
+Patch16:        tsa2d32-sign-fix.patch
 BuildRequires:  fdupes
-BuildRequires:  gtk2-devel
-BuildRequires:  gtk3-devel
 BuildRequires:  libQt5Gui-private-headers-devel
 BuildRequires:  libQt5PlatformSupport-devel-static
-BuildRequires:  libXtst-devel
-BuildRequires:  libcurl-devel
 BuildRequires:  libjpeg-devel
-%if %{build_qt4}
-BuildRequires:  libqt4-devel
-%endif
 BuildRequires:  libqt5-qtbase-devel
-BuildRequires:  pkg-config
+BuildRequires:  pkgconfig
 BuildRequires:  update-desktop-files
 BuildRequires:  xz
+BuildRequires:  pkgconfig(anthy)
+BuildRequires:  pkgconfig(gtk+-2.0)
+BuildRequires:  pkgconfig(gtk+-3.0)
+BuildRequires:  pkgconfig(libcurl)
+BuildRequires:  pkgconfig(xtst)
 Requires:       %{name}-branding
 Requires:       %{name}-gtk2 = %{version}
 Requires:       %{name}-gtk3 = %{version}
-%if %{build_qt4}
-Requires:       %{name}-qt4 = %{version}
-%endif
 Requires:       %{name}-qt5 = %{version}
 Requires:       libgcin-im-client1 = %{version}
 Recommends:     libreoffice-gnome
 Provides:       locale(zh_TW;zh_HK;zh_MO)
-BuildRoot:      %{_tmppath}/%{name}-%{version}-build
+%if %{build_qt4}
+BuildRequires:  libqt4-devel
+%endif
+%if %{build_qt4}
+Requires:       %{name}-qt4 = %{version}
+%endif
 
 %description
 gcin is a Chinese input method server for traditional Chinese.
@@ -93,9 +95,10 @@
 %package branding-upstream
 Summary:        Upstream branding of gcin
 License:        LGPL-2.1-only
-Group:          System/I18n/Chinese
 Requires:       gcin = %{version}
-Supplements:    packageand(%{name}:branding-upstream)
+Supplements:    (%{name} and branding-upstream)
+# Keep the otherproviders form: a plain package-name Conflicts would also
+# match this subpackage's own provide of the branding symbol above.
 Conflicts:      otherproviders(%{name}-branding)
 Provides:       %{name}-branding = %{version}
 
@@ -105,7 +108,6 @@
 %package -n libgcin-im-client1
 Summary:        Share libraries of gcin
 License:        LGPL-2.1-only
-Group:          System/Libraries
 
 %description -n libgcin-im-client1
 This package provides runtime libraries for gcin.
@@ -113,7 +115,6 @@
 %package gtk2
 Summary:        Gcin gtk2 immodule
 License:        LGPL-2.1-only
-Group:          System/I18n/Chinese
 Requires:       %{name} = %{version}
 Provides:       %{name}-gtk2-immodule = %{version}
 Obsoletes:      %{name}-gtk2-immodule <= 2.8.4-77.16
@@ -126,7 +127,6 @@
 %package qt4
 Summary:        Gcin qt4 immodule
 License:        GPL-2.0-only
-Group:          System/I18n/Chinese
 Requires:       %{name} = %{version}
 Provides:       %{name}-qt4-immodule = %{version}
 Obsoletes:      %{name}-qt4-immodule <= 2.8.4-77.16
@@ -138,7 +138,6 @@
 %package qt5
 Summary:        Gcin qt5 immodule
 License:        GPL-2.0-only
-Group:          System/I18n/Chinese
 Requires:       %{name} = %{version}
 Provides:       %{name}-qt5-immodule = %{version}
 Obsoletes:      %{name}-qt5-immodule <= 2.8.4-77.16
@@ -149,7 +148,6 @@
 %package anthy
 Summary:        Gcin anthy module
 License:        LGPL-2.1-only
-Group:          System/I18n/Japanese
 Requires:       %{name} = %{version}
 Provides:       %{name}-anthy-module = %{version}
 Obsoletes:      %{name}-anthy-module <= 2.8.4-77.16
@@ -160,7 +158,6 @@
 %package gtk3
 Summary:        Gcin gtk3 immodule
 License:        LGPL-2.1-only
-Group:          System/I18n/Chinese
 Requires:       %{name} = %{version}
 Provides:       %{name}-gtk3-immodule = %{version}
 Obsoletes:      %{name}-gtk3-immodule <= 2.8.4-77.16
@@ -183,13 +180,13 @@
 %if "%{_lib}" == "lib64"
 sed -e "s,^LIB='lib',LIB=lib64," -i configure
 %endif
-CFLAGS="%{optflags}" %configure --prefix=/usr --use_i18n=Y \
+CFLAGS="%{optflags}" %configure --prefix=%{_prefix} --use_i18n=Y \
 --use_anthy=Y --doc_version_dir=N
 
-make %{?_smp_mflags}
+%make_build
 
 %install
-make DESTDIR=%{buildroot} install %{?_smp_mflags}
+%make_install
 
 mkdir -p %{buildroot}%{_distconfdir}/X11/xim.d/
 install -m 644 %{SOURCE1} %{buildroot}%{_distconfdir}/X11/xim.d/gcin
@@ -212,11 +209,8 @@
 %fdupes %{buildroot}
 
 %post -n libgcin-im-client1 -p /sbin/ldconfig
-
 %postun -n libgcin-im-client1 -p /sbin/ldconfig
-
 %post anthy -p /sbin/ldconfig
-
 %postun anthy -p /sbin/ldconfig
 
 %post gtk2
@@ -249,11 +243,11 @@
 %post qt4 -p /sbin/ldconfig
 %postun qt4 -p /sbin/ldconfig
 %endif
+
 %post qt5 -p /sbin/ldconfig
 %postun qt5 -p /sbin/ldconfig
 
 %files -f %{name}.lang
-%defattr(-,root,root)
 %license COPYING
 %doc README.html Changelog.html AUTHORS gcin-README.suse xim.gcin.suse.template
 %{_distconfdir}/X11/xim.d
@@ -264,7 +258,6 @@
 %dir %{_datadir}/icons/gcin/
 
 %files -n libgcin-im-client1
-%defattr(-,root,root)
 %dir %{_libdir}/gcin
 %{_libdir}/gcin/libgcin-im-client.so
 %{_libdir}/gcin/libgcin-im-client.so.1
@@ -274,28 +267,22 @@
 %{_libdir}/gcin/intcode-module.so
 
 %files branding-upstream
-%defattr(-,root,root)
 %{_datadir}/icons/gcin/*
 
 %files gtk2
-%defattr(-,root,root)
 %{_libdir}/gtk-2.0/2.10.0/immodules/im-gcin.so
 
 %if %{build_qt4}
 %files qt4
-%defattr(-,root,root)
 %{_libdir}/qt4/plugins/inputmethods/im-gcin.so
 %endif
 
 %files qt5
-%defattr(-,root,root)
 
%{_libdir}/qt5/plugins/platforminputcontexts/libgcinplatforminputcontextplugin.so
 
 %files anthy
-%defattr(-,root,root)
 %{_libdir}/gcin/anthy-module.so
 
 %files gtk3
-%defattr(-,root,root)
 %{_libdir}/gtk-3.0/3.0.0/immodules/im-gcin.so
 

++++++ gcin-2.9.0.tar.xz -> gcin-2.9.4.tar.xz ++++++
++++ 67312 lines of diff (skipped)

++++++ gcin-drop-wayland-block.patch ++++++
---
 win0.cpp |   30 +-----------------------------
 1 file changed, 1 insertion(+), 29 deletions(-)

--- a/win0.cpp
+++ b/win0.cpp
@@ -473,22 +473,6 @@
 void tsin_toggle_eng_ch();
 void set_no_focus();
 
-#if GTK_CHECK_VERSION(3,24,0)
-static void widget_realize_cb (GtkWidget *widget)
-{
-       dbg("widget_realize_cb %d\n", gtk_widget_get_realized(widget));
-  GdkWindow *window;
-  struct wl_surface *surface;
-  struct input_panel_surface *ip_surface;
-
-  window = gtk_widget_get_window (widget);
-  gdk_wayland_window_set_use_custom_surface (window);
-
-  surface = gdk_wayland_window_get_wl_surface (window);
-//  ip_surface = input_panel_get_input_panel_surface (input_panel, surface);
-//  input_panel_surface_set_panel (ip_surface);
-}
-#endif
 
 GtkWidget *create_no_focus_win()
 {
@@ -496,18 +480,6 @@
 //  GtkWidget *win = gtk_window_new (GTK_WINDOW_POPUP);
 //  gtk_window_set_has_resize_grip(GTK_WINDOW(win), FALSE);
 #if UNIX
-#if GTK_CHECK_VERSION(3,24,0)
-  if (!isX11()) 
-  {
-         dbg("Wayland create_no_focus_win!\n");
-         gtk_widget_realize (win);
-         widget_realize_cb(win);
-         gtk_container_set_border_width (GTK_CONTAINER (win), 0);
-         gtk_window_set_accept_focus(GTK_WINDOW(win), FALSE);   
-//       g_signal_connect (win, "realize", G_CALLBACK (widget_realize_cb), 
NULL);               
-         return win;
-  }
-#endif  
   gtk_window_set_resizable(GTK_WINDOW(win), FALSE);
 #endif
 #if WIN32

++++++ gcin-en-miss-cand-fix.patch ++++++
---
 gtab-buf.cpp |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- a/gtab-buf.cpp
+++ b/gtab-buf.cpp
@@ -1447,7 +1447,7 @@
                                en[j]=gbuf[i+j].ch[0];
                        en[len]=0;
                        dbg("pp8 '%s'\n", en);
-                       char best[10][MAX_PHRASE_LEN];
+                       char best[10][MAX_PHRASE_LEN+1];
                        get_en_miss_cand(en_hand.fph, en, len, best);
                        int n=0;
                        for(int i=0;i<10;i++) {

++++++ tsa2d32-sign-fix.patch ++++++
---
 tsa2d32.cpp |    8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

--- a/tsa2d32.cpp
+++ b/tsa2d32.cpp
@@ -88,7 +88,7 @@
 {
   int idxa=*((int *)a);  char *pa = (char *)&bf[idxa];
   int idxb=*((int *)b);  char *pb = (char *)&bf[idxb];
-  char lena,lenb, len;
+  signed char lena,lenb, len;
   usecount_t usecounta, usecountb;
 
   lena=*(pa++); if (lena < 0) lena = -lena; memcpy(&usecounta, pa, 
sizeof(usecount_t)); pa+= sizeof(usecount_t);
@@ -129,7 +129,7 @@
 {
   int idxa=*((int *)a);  char *pa = (char *)&bf[idxa];
   int idxb=*((int *)b);  char *pb = (char *)&bf[idxb];
-  char lena,lenb, len;
+  signed char lena,lenb, len;
 
   lena=*(pa++); if (lena < 0) lena = -lena; pa+= sizeof(usecount_t);
   char *ka = pa;
@@ -166,7 +166,7 @@
 {
   int idxa=*((int *)a);  char *pa = (char *)&sf[idxa];
   int idxb=*((int *)b);  char *pb = (char *)&sf[idxb];
-  char lena,lenb, len;
+  signed char lena,lenb, len;
   usecount_t usecounta, usecountb;
 
   lena=*(pa++); if (lena < 0) lena = -lena; memcpy(&usecounta, pa, 
sizeof(usecount_t)); pa+= sizeof(usecount_t);
@@ -664,7 +664,7 @@
   for(i=0;i<phcount;i++) {
     idx = phidx[i];
     sidx[j]=ofs;
-    len=bf[idx];
+    len=(signed char)bf[idx];
     gboolean en_has_str = FALSE;
     if (len < 0) {
       len = -len;

Reply via email to