Created attachment 259636 [details] Patch to update textproc/ibus - Update to 1.5.32 - Remove unneeded configure arguments Note: I need new patch, because the lastest GLib version (2.84.0) is not yet available in repository. Otherwise build fails (GLib 2.82.4_1,2).
Hi Olivier, thanks for the patch. The 'make test' fails: FAIL: ibus-bus PASS: ibus-config PASS: ibus-configservice PASS: ibus-factory PASS: ibus-inputcontext PASS: ibus-inputcontext-create PASS: ibus-keynames PASS: ibus-registry PASS: ibus-serializable FAIL: ibus-share PASS: ibus-util PASS: ibus-engine-switch FAIL: ibus-compose FAIL: ibus-keypress FAIL: xkb-latin-layouts ============================================================================ Testsuite summary for ibus 1.5.32 ============================================================================ # TOTAL: 15 # PASS: 10 # SKIP: 0 # XFAIL: 0 # FAIL: 5 # XPASS: 0 # ERROR: 0 Could you please check?
(In reply to Zsolt Udvari from comment #1) I'm looking into the failed test (ibus-bus) and I think the test itself might not be correct?... It basically kills the ibus daemon, expect it to restart, and it actually waits for the ibus socket file to 'change'. However, in the log we can see 2 events: first, the file is deleted, then it's created. That does not satisfy the 'expectation'. But the behavior seems correct to me: because the daemon is restarted, it seems reasonable for the file to be deleted first, then created again? I've tested the new version with text input, and it works fine, so I think the test failure does not really prevent us from updating it. I'm still running poudriere tests against it.
(In reply to Henry Hu from comment #2) Filed https://github.com/ibus/ibus/issues/2758 to the project.
Created attachment 260342 [details] poudriere log for 14.2-RELEASE
Okay, right. Should add a TESTING_UNSAFE knob. I think the options. IMHO the wayland option is redundant, because it implies gtk3 and gtk4, but gtk3 and gtk4 implies wayland too. My suggestion: remove the wayland option and add its dependencies to gtk3 and gtk4. Could you please use portlint, portfmt and portclippy too?
(In reply to Zsolt Udvari from comment #5) Wait, I don't know why WAYLAND implies GTK3 and GTK4. I didn't add it. I think it was added in the previous update, and I don't think that's correct: https://github.com/freebsd/freebsd-ports/commit/119972ab4161a441163969cbb86951bcc54f1080 I tried to disable GTK3, GTK4, VAPI (and APPINDICATOR options. The configure runs successfully, and gtk3 & gtk4 got disabled. Build & stage-qa also passed. Interestingly, ibus-x11 links to gtk2 in this case (see https://github.com/ibus/ibus/blob/b4f51b69f03b18fadf4bbd82abc7b7e92fae44f0/client/x11/Makefile.am#L29), so we should possibly add GTK2 into the dependency, if XIM is selected but GTK3 is not selected. In general, I don't think WAYLAND option is redundant; instead I think it should not imply GTK3 & GTK4.
(In reply to Henry Hu from comment #6) APPINDICATOR option is broken for long time! Why enable Gtk2, it is not maintained anymore by upstream.
(In reply to Henry Hu from comment #6) The commit log says: "Wayland is enabled by default in x11-toolkits/gtk{30,40}" IMHO you're right because the user can disable wayland in gtk3/4 and doesn't want install wayland-specific things with textproc/ibus.
So what are the current concerns? * We should remove WAYLAND_IMPLIES * When GTK3 is disabled, XIM enables GTK2; maybe we should just make XIM implies GTK3? anything else?
(In reply to Henry Hu from comment #9) IMHO should remove WAYLAND_IMPLIES. But you're its maintainer so it's important your thoughts.
Created attachment 261078 [details] new patch for 1.5.32 Updated patch. I've changed 3 things: 1. remove WAYLAND_IMPLIES 2. remove the patch. glib 2.84.1 is in ports now. 3. add XIM_IMPLIES=GTK3. We can do a more sophisticated thing (if XIM is enabled and GTK3 is not enabled, enable GTK2), which is the actual logic in the source code, but I don't really think anyone is still having only GTK2 but not GTK3 today. When testing the port, I noticed a small problem: if APPINDICATOR is disabled but GTK3 is enabled, build fails. I've traced this into certain #if statements, and I think it's an upstream bug, thus I've reported it: https://github.com/ibus/ibus/issues/2767 Meanwhile, I don't think it's a big deal - the default port option enables both of them, and typically when people wants a minimal build they disable both of them. Next version should have this fixed upstream, I hope.
Created attachment 261127 [details] updated patch for 1.5.32 updated patch: 1. make GTK3 depend on vala 2. run 'make -C ui/gtk3 maintainer-clean-generic' per upstream's suggestion ibus' release tarball contains .c files generated by vala from .vala files. When it's generated, the APPINDICATOR option is turned on. Even if we change the option during configure, the files are not generated. The benefit is that we don't need vala compiler for release tarball. However, if we build the port with this option off, the generated code would still try to link against appindicator code, but that code is not compiled in, resulting in linking error (https://github.com/ibus/ibus/issues/2767#issuecomment-2953520818). Filed this to upstream, upstream said that they want to keep the release tarball relying only on C compiler, so they don't want to change that. Upstream suggested that we should re-generate the files. It's reasonable in general - the port contains vala files, so a full-build should rely on vala compiler. Thus, added that to deps, and clean the pre-generated files after configure, so they'll be re-generated based on configure options.
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/ports/commit/?id=9a8011cba31c803297cdaea51ae2a51f8f24478a commit 9a8011cba31c803297cdaea51ae2a51f8f24478a Author: Henry Hu <henry.hu.sh@gmail.com> AuthorDate: 2025-06-10 18:40:57 +0000 Commit: Zsolt Udvari <uzsolt@FreeBSD.org> CommitDate: 2025-06-11 03:38:24 +0000 textproc/ibus: Update to 1.5.32 GTK3 option depends on vala because should re-generate the *.c source files in this case (see https://github.com/ibus/ibus/issues/2767#issuecomment-2953520818). Pet portlint, portfmt, portclippy. Changelog: https://github.com/ibus/ibus/releases/tag/1.5.32 PR: 286158 Reported by: Olivier Duchateau <duchateau.olivier@gmail.com> Approved by: submitter is maintainer textproc/ibus/Makefile | 134 +++++++++++++++++++++++++----------------------- textproc/ibus/distinfo | 6 +-- textproc/ibus/pkg-plist | 13 ++++- 3 files changed, 85 insertions(+), 68 deletions(-)
Thanks for your hard work, Henry! Committed.