ToDo:
3.0.25以降にアップデートすると、lib/charcnv.c:init_iconv(*)で エラーが出る件だが、libiconvが正しくリンクされないのが原因 (libiconvへ依存関係を持つ libraryが有るので lddの出力 に現れるが、注意深く見れば現れる順番がおかしい)
で、原因だが configureスクリプト(正しくは aclocal.m4)がenbugしてます
--- aclocal.m4.orig Thu Mar 1 13:54:54 2007
+++ aclocal.m4 Mon Jun 18 11:59:54 2007
@@ -334,7 +334,7 @@
jm_cv_func_iconv=yes
jm_cv_lib_iconv="")
- if test "$jm_cv_lib_iconv" != yes; then
+ if test "x$jm_cv_lib_iconv" = x; then
jm_save_LIBS="$LIBS"
LIBS="$LIBS -lgiconv"
AC_TRY_LINK([#include <stdlib.h>
@@ -363,7 +363,7 @@
jm_cv_lib_iconv="iconv")
LIBS="$jm_save_LIBS"
- if test "$jm_cv_lib_iconv" != yes; then
+ if test "x$jm_cv_lib_iconv" = x; then
jm_save_LIBS="$LIBS"
LIBS="$LIBS -lbiconv"
AC_TRY_LINK([#include <stdlib.h>
libiconvをリンクしても、まだまともに動かないのはなぜ orz
テスト環境を作って動かしてみたが、lang/ruby18(ruby-1.8.7)では改変無しでは動かないようです
リリースノートには、ruby-1.8.7をサポートする最後のリリースとあるが、テストされていない?
と言うわけで、ruby-1.9.3をテスト環境に導入する必要有り
ruby-1.8.7からの移行プランとしては
acpi_call(ports/sysutils/acpi_call)を使って調べたが、 _SB_.PC00.GFX0.DD1F._BCMで内蔵液晶の輝度が変わる
設定値が0~13と14~100でacpiconf -i0が報告する電力と輝度が2値化する
低い方の設定だと、電力が1Wぐらい低下するがすごく暗くなる
1と13だと13の方が少し見やすいので明るくなってる?
13と14が違い過ぎるので滑らかな輝度制御は別の手段が必要な模様
# acpi_call -v -p '\_SB_.PC00.GFX0.DD1F._BCM' -i 13
packageで1.5.32から1.5.31_1へ巻き戻すと今まで通り、ktermも含め問題なくXIMが動作することを確認した
次に調べるべきは…
XIM + ktermの動作なんてニッチ環境の不具合レポートなんて、ibusのIssue Trackerにはあがってないに違いない… Orz
diff -dur /usr/ports/textproc/ibus/Makefile Makefile
--- /usr/ports/textproc/ibus/Makefile 2025-06-11 17:14:07.686474000 +0900
+++ Makefile 2025-07-01 09:59:02.972368000 +0900
@@ -1,5 +1,6 @@
PORTNAME= ibus
-DISTVERSION= 1.5.32
+DISTVERSION= 1.5.31
+PORTREVISION= 1
CATEGORIES= textproc
MASTER_SITES= https://github.com/${PORTNAME}/${PORTNAME}/releases/download/${DISTVERSION}/
@@ -31,6 +32,7 @@
CONFIGURE_ARGS= --disable-install-tests \
--disable-python2 \
--disable-systemd-services \
+ --disable-python-library --disable-systemd \
--with-html-dir=${PREFIX}/share/doc \
--with-ucd-dir=${LOCALBASE}/share/unicode/ucd
@@ -78,7 +80,6 @@
GTK3_IMPLIES= WAYLAND
GTK3_LIB_DEPENDS= libdbus-1.so:devel/dbus \
libnotify.so:devel/libnotify
-GTK3_USES= vala:build
GTK3_USE= GNOME=cairo,gtk30,pango
GTK3_CONFIGURE_ENABLE= gtk3 libnotify
GTK3_LIBS= -lX11
@@ -97,7 +98,6 @@
WAYLAND_LIB_DEPENDS= libwayland-client.so:graphics/wayland \
libxkbcommon.so:x11/libxkbcommon
WAYLAND_CONFIGURE_ENABLE= wayland
-XIM_IMPLIES= GTK3
XIM_CONFIGURE_ENABLE= xim
.include <bsd.port.pre.mk>
@@ -107,10 +107,6 @@
.else
PLIST_SUB+= COMPDIR="@comment "
.endif
-
-post-configure:
- # Clean pre-generated source code, which may not match the options selected.
- ${MAKE} -C ${WRKSRC}/ui/gtk3 maintainer-clean-generic
post-install:
${MKDIR} ${STAGEDIR}${PREFIX}/etc/xdg/autostart
clientソースの差分から怪しい変更を探してみた
--- ibus-1.5.31/client/x11/main.c 2024-11-08 19:35:46.000000000 +0900
+++ ibus-1.5.32/client/x11/main.c 2025-04-08 21:57:26.000000000 +0900
@@ -2,7 +2,7 @@
/* vim:set et sts=4: */
/* ibus
* Copyright (C) 2007-2015 Peng Huang <shawn.p.huang@gmail.com>
- * Copyright (C) 2015-2023 Takao Fujiwara <takao.fujiwara1@gmail.com>
+ * Copyright (C) 2015-2025 Takao Fujiwara <takao.fujiwara1@gmail.com>
* Copyright (C) 2007-2015 Red Hat, Inc.
*
* main.c:
@@ -1363,7 +1363,7 @@
gdk_set_allowed_backends ("x11");
#endif
- gtk_init (&argc, &argv);
+ gdk_init (&argc, &argv);
XSetErrorHandler (_xerror_handler);
XSetIOErrorHandler (_xerror_io_handler);
--- ibus-1.5.31/util/IMdkit/i18nOffsetCache.c 2024-11-08 19:35:46.000000000 +0900
+++ ibus-1.5.32/util/IMdkit/i18nOffsetCache.c 2025-04-08 21:57:26.000000000 +0900
@@ -1,6 +1,6 @@
/*
* Copyright (C) 2014 Peng Huang <shawn.p.huang@gmail.com>
- * Copyright (C) 2014 Red Hat, Inc.
+ * Copyright (C) 2014-2025 Red Hat, Inc.
*
* Permission to use, copy, modify, distribute, and sell this
* software and its documentation for any purpose is hereby granted
@@ -83,10 +83,12 @@
}
if (++offset_cache->size > offset_cache->capacity) {
- offset_cache->capacity *= OFFSET_CACHE_GROWTH_FACTOR;
- offset_cache->data = (Xi18nAtomOffsetPair *) realloc (data,
+ Xi18nAtomOffsetPair *pair = (Xi18nAtomOffsetPair *) realloc (data,
offset_cache->capacity * sizeof (Xi18nAtomOffsetPair));
- if (offset_cache->data == NULL) {
+ offset_cache->capacity *= OFFSET_CACHE_GROWTH_FACTOR;
+ if (pair) {
+ offset_cache->data = pair;
+ } else {
offset_cache->data = data;
--offset_cache->size;
}
i18n offset cacheの変更のみのロールバックでは挙動は変わらなかったが、gtk_initへロールバックしたら1.5.31同様にktermへEUC-JP経由のXIM入力が出来るようになった
おそらく、gtk_init -> gdk_initで省略される初期化項目にXIMのi18n関連の項目が含まれ、localeの初期化が不十分でXIMメッセージのUTF-8 -> ja_JP.eucJPの変換が機能しなくなったのではと思う…
カテゴリー: Admin | Emacs | EPICS | Fortran | FreeBSD | GCC | hgsubversion | IPv6 | KEKB | LHC | Lisp | LLVM | MADX | Ryzen | SAD | samba | tDiary | unix | WWW | YaSAI | お仕事 | イベント | 出張 | 宴会 | 数学 | 艦これ | 買いもの | 追記 | 雑記