試験運用中なLinux備忘録・旧記事

はてなダイアリーで公開していた2007年5月-2015年3月の記事を保存しています。

SCIM-BridgeでQt4 immoduleが/usr/plugins/inputmethods/以下に配置される件の対処

SCIM-Bridgeのバージョン0.4.13-r1のebuildをもとに0.4.14を入れたのだが、「x86_64版Gentoo Linux上のAdobe Reader 8.1.1で日本語を入力(SCIMを使用)」で行った、x86_64上で32bitのGTK+ 2 immoduleを単独でビルドするための修正に加え、Qt4のimmoduleが/usr/plugins/inputmethods/以下に置かれてしまう問題にも今回対処したので、両方の修正を含む差分を下に貼った。

--- /usr/portage/app-i18n/scim-bridge/scim-bridge-0.4.13-r1.ebuild
+++ /usr/portage/app-i18n/scim-bridge/scim-bridge-0.4.14.ebuild
@@ -11,7 +11,7 @@
 LICENSE="GPL-2 LGPL-2.1"
 SLOT="0"
 KEYWORDS="~amd64 ~hppa ~ppc64 ~sparc ~x86"
-IUSE="doc gtk qt3 qt4"
+IUSE="doc gtk qt3 qt4 noagent"
 
 RDEPEND=">=app-i18n/scim-1.4.6
 	gtk? (
@@ -44,12 +44,22 @@
 	fi
 }
 
+src_unpack() {
+	unpack "${A}"
+	cd "${S}"
+	use qt4 && sed -i "s|\(/plugins/inputmethods\)|/$(get_libdir)/qt4\1|" client-qt/qt4/Makefile.in
+}
+
 src_compile() {
 	econf \
+		$(use_enable !noagent agent) \
 		$(use_enable gtk gtk2-immodule) \
 		$(use_enable qt3 qt3-immodule) \
 		$(use_enable qt4 qt4-immodule) \
 		$(use_enable doc documents) || die
+	if use amd64 && [[ "${ABI}" = "x86" ]]; then
+		find . -name Makefile | xargs sed -i -e 's/lib64/lib32/g'
+	fi
 	emake || die
 }