UIM.framework 向けの uim trunk に対する diff です。パスとキーの細かい設定と、Rosetta 向けの小さな変更だけです。
Index: scm/skk-custom.scm
===================================================================
--- scm/skk-custom.scm (revision 5027)
+++ scm/skk-custom.scm (working copy)
@@ -386,8 +386,7 @@
(lambda ()
skk-use-skkserv?))
-(define-custom 'skk-dic-file-name (string-append (sys-datadir)
- "/skk/SKK-JISYO.L")
+(define-custom 'skk-dic-file-name "/Library/Dictionaries/SKK/SKK-JISYO.L"
'(skk-dict dict-files)
'(pathname regular-file)
(N_ "System dictionary file")
Index: scm/tutcode-key-custom.scm
===================================================================
--- scm/tutcode-key-custom.scm (revision 5027)
+++ scm/tutcode-key-custom.scm (working copy)
@@ -53,7 +53,7 @@
(N_ "[TUT-Code] off")
(N_ "long description will be here"))
-(define-custom 'tutcode-kana-toggle-key '("<IgnoreShift>'")
+(define-custom 'tutcode-kana-toggle-key '("<IgnoreShift>'" "Private2")
'(tutcode-keys1 mode-transition)
'(key)
(N_ "[TUT-Code] toggle hiragana/katakana mode")
Index: scm/generic-key-custom.scm
===================================================================
--- scm/generic-key-custom.scm (revision 5027)
+++ scm/generic-key-custom.scm (working copy)
@@ -41,13 +41,13 @@
(N_ "long description will be here."))
-(define-custom 'generic-on-key '("zenkaku-hankaku" "<Shift> ")
+(define-custom 'generic-on-key '("zenkaku-hankaku" "<Shift> " "Private2")
'(global-keys1)
'(key)
(N_ "[Global] on")
(N_ "long description will be here"))
-(define-custom 'generic-off-key '("zenkaku-hankaku" "<Shift> ")
+(define-custom 'generic-off-key '("zenkaku-hankaku" "<Shift> " "Private1")
'(global-keys1)
'(key)
(N_ "[Global] off")
Index: uim/prime.c
===================================================================
--- uim/prime.c (revision 5027)
+++ uim/prime.c (working copy)
@@ -61,7 +61,7 @@
static FILE *primer, *primew;
static pid_t prime_pid = 0;
-static char *prime_command = "prime";
+static char *prime_command = "/Library/PRIME/bin/prime";
static char *prime_ud_path;
static int prime_fd = -1;
Index: uim/uim-helper.c
===================================================================
--- uim/uim-helper.c (revision 5027)
+++ uim/uim-helper.c (working copy)
@@ -48,6 +48,8 @@
#include <errno.h>
#include <sys/stat.h>
+#include <libkern/OSByteOrder.h>
+
#include "uim-internal.h"
#include "uim-helper.h"
#include "uim-util.h"
@@ -205,6 +207,9 @@
perror("getpeereid failed");
return -1;
}
+ if (euid > INT32_MAX)
+ euid = OSSwapInt32(euid);
+
if ((euid != 0) && (euid != getuid())) {
fprintf(stderr, "uid mismatch\n");
return -1;
Index: uim.pc.in
===================================================================
--- uim.pc.in (revision 5027)
+++ uim.pc.in (working copy)
@@ -1,6 +1,6 @@
prefix=@prefix@
exec_prefix=@exec_prefix@
-includedir=@includedir@
+includedir=@prefix@/Headers
libdir=@libdir@
datarootdir=@datarootdir@
datadir=@datadir@
@@ -10,5 +10,5 @@
Name: uim
Description: multilingual input method library
Version: @VERSION@
-Cflags: -I${includedir}/uim
-Libs: -L${libdir} -luim-scm -luim @LIBINTL@ @LIBICONV@
+Cflags: -I${includedir}
+Libs: -framework UIM
次は、fwbuild スクリプトの diff です。ごちゃごちゃどうでもいい差分も含んでますが (すみません)、要点は新しく加わった、libuim-scm.la と libuim-bsdlook.la も UIM.framework に加えるということです。
diff -r fa605af03302 UIM/fwbuild
--- a/UIM/fwbuild Mon Jan 29 19:54:53 2007 +0900
+++ b/UIM/fwbuild Sun Oct 14 14:13:56 2007 +0900
@@ -19,9 +19,9 @@ cp -fv ../version.plist.in version.plist
cp -fv ../version.plist.in version.plist
export MACOSX_DEPLOYMENT_TARGET="10.3"
-PATH="${prefix}/bin:/Library/Anthy/bin:/Library/PRIME/bin:/Library/M17NLib/bin:/bin:/usr/bin"
+PATH="${prefix}/bin:/Library/Anthy/bin:/Library/PRIME/bin:/Library/M17NLib/bin:/sw/bin:/bin:/usr/bin:"
-#PATH="/opt/macuim/bin:$PATH" ./autogen.sh || exit 1
+PATH="/opt/macuim/bin:$PATH" ./autogen.sh || exit 1
perl -pi -e "s|\@VERSION\@|${version}|" *.plist
perl -pi -e "s|\@BUILD\@|${build}|" *.plist
@@ -34,13 +34,16 @@ CFLAGS="-I/opt/macuim/include -I/Library
CFLAGS="-I/opt/macuim/include -I/Library/M17NLib/include -I/Library/Anthy/include -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch i386 -arch ppc" \
PKG_CONFIG="/opt/macuim/bin/pkg-config" \
PKG_CONFIG_PATH="/Library/PRIME/lib/pkgconfig:/Library/Anthy/lib/pkgconfig:/Library/M17NLib/lib/pkgconfig" \
-./configure --prefix=${prefix} --exec-prefix=${prefix} --enable-debug \
+./configure --prefix=${prefix} --exec-prefix=${prefix} \
--without-gtk2 --disable-fep --disable-applet \
- --with-x --disable-dependency-tracking || exit 1
+ --without-x --disable-dependency-tracking \
+ --enable-maintainer-mode --disable-backtrace \
+ --disable-strict-argcheck \
+ --with-anthy-utf8 || exit 1
perl -pi -e 's|-Werror||' uim/Makefile
-#mkdir -p ${dest}${prefix}/lib
+mkdir -p ${dest}${prefix}/lib
cd sigscheme
ln -s src/config.h .
@@ -58,6 +61,8 @@ gcc -dynamiclib -undefined dynamic_looku
gcc -dynamiclib -undefined dynamic_lookup \
-o uim/.libs/UIM \
uim/.libs/libuim_la*.o uim/.libs/libuim_custom_la*.o replace/.libs/libreplace.a \
+uim/.libs/libuim_scm_la*.o \
+uim/.libs/libuim_bsdlook_la*.o \
sigscheme/libgcroots/.libs/*.o \
-L/opt/macuim/lib -liconv -ldl -lintl \
-isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch i386 -arch ppc \
@@ -68,6 +73,8 @@ cd uim
perl -pi -e "s|^library_names=.*$|library_names='UIM'|" libuim.la
perl -pi -e "s|^library_names=.*$|library_names='UIM'|" libuim-custom.la
+perl -pi -e "s|^library_names=.*$|library_names='UIM'|" libuim-scm.la
+perl -pi -e "s|^library_names=.*$|library_names='UIM'|" libuim-bsdlook.la
make -w pkglibdir=${prefix}/pkglib || exit 1
@@ -76,10 +83,10 @@ make -w DESTDIR=${dest} pkglibdir=${pref
make -w DESTDIR=${dest} pkglibdir=${prefix}/pkglib \
install || exit 1
-cd xim
-make -w CXX="g++ -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch i386 -arch ppc" || exit 1
-make -w DESTDIR=${dest} install || exit 1
-cd ..
+#cd xim
+#make -w CXX="g++ -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch i386 -arch ppc" || exit 1
+#make -w DESTDIR=${dest} install || exit 1
+#cd ..
cd ${dest}/${prefix}
mv include/uim Headers
ビルドの仕方ですが、MacUIM/UIM ディレクトリで、svn checkout http://uim.googlecode.com/svn/trunk/ uim して、その uim ディレクトリの中で、svn co http://uim.googlecode.com/svn/sigscheme-trunk/ sigscheme して、さらに sigscheme ディレクトリの中で、svn co http://uim.googlecode.com/svn/libgcroots-trunk/ libgcroots します。あとは autotools を用意して、それぞれのディレクトリで ./autogen.sh しておいてから、uim ディレクトリにおいて、パッチを当てた fwbuild スクリプトを ../fwbuild 1.5.0 1 とでも動かせばいいです。その前に、Anthy ディレクトリで anthy-9100c をビルドし、 /Library/Anthy にインストールしておけば anthy plugin も作られます。
ということで、dual screen パッチを適用して、 uim trunk とanthy-9100c で作った MacUIM-0.5.2-3を一応置いておきます。Tiger 用 の Universal Binary になってます (テストしてません)。
1月 29, 2008 4:05 pm |
お久しぶりです。
とうとうMacBookを入手したので、UB版MacUIMを使わせていただきました。(もうとても自分ではビルドできません)
総じてちゃんと動いております。uim-elも使えて嬉しいです。しかし、MS Office 2004ではMacUIMがグレーアウトされて使えないのですね。あと、uim-ximが入っていないみたいです。
もうすぐyatsuさんもUB版を公開されるようで、こんなところで報告してるべきじゃないのかもしれませんが。
1月 29, 2008 4:33 pm |
いりのさん、こんにちは。
手元の intel Mac, Mac OS X 10.4.11, Mac OS X 10.5.1 では Office 2004 でも MacUIM 使えているので、どこかで universal binary じゃないライブラリが使われちゃってるんでしょうかね?
ちなみに、http://people.freedesktop.org/~ekato/download/tmp/ に昨日の uim を使ったのを置いたのですが、これだとどうでしょう?
uim-xim そういえば MacUIM に入れてなかったです。こんどコンパイルするときは入れてみようかと思います。
1月 29, 2008 10:13 pm |
毎度お手数おかけして恐縮です。
OSX 10.5.1上のWord 11.3.8なんですが、MacUIM 0.5.2-5を試させてもらいましたが、やはり入力メソッドメニューの中でグレーアウトされて選ぶことができません。Excel, PowrPointでも同様です。
ちなみこの書き込みは、Firefox 2.0.0.11から快適にMacUIM-anthyで行っています。
う〜む、何が悪いんでしょう。
1月 29, 2008 10:28 pm |
もうちょっと色々試してみたら、rosettaで動くもの(rosettaで動かすUBアプリも)全部だめでした。
1月 30, 2008 12:20 am |
あらー、PPC バイナリで MacUIM 動きませんか。
/Library/Components/MacUIM.component/Contents/MacOS/MacUIM がリンクしているライブラリが universal binary であれば動くと思ってるんですが、実は良くわかっていません。
こちらの MS Word も 11.3.8 ですが MacUIM 動いています。Word 自体が何か intel only なライブラリとかプラグインでもリンクしてしまってるんでしょうか? (といっても Word 以外の PPC バイナリもダメとなるとこれはなさそうですね…)
1月 30, 2008 12:46 am |
そういえば、Rosetta での動作の確認に、例えば TextEdit.app を Finder の Get Info で ‘Open Using Rosetta’ にチェックを入れてから動かし、MacUIM が使えるかどうか試すという手もあります。
1月 30, 2008 1:10 am |
お騒がせしております。Open Using Rossettaにチェックを入れるのをやったら見事に動きませんでした。
しかし、解決しました。
結局、私がUB化したgettextを入れてないのが原因でした。(Finkで入れたUBじゃないlibintlが使われていたみたいです。)
gettextをソースからUBとしてビルドして、/Library/Frameworks/UIM.Framework/Versions/Current下にインストールしちゃいました。
ばっちり直りましたです。
「UBじゃないバイナリが使われているかも」というヒントを頂けなかったら気付けなかったです。ありがとうございました。
1月 30, 2008 10:51 am |
あれ不思議ですね。libintl はダイナミックにリンクしてないはずなんですけどね。
1月 30, 2008 11:57 am |
libintlは、使わせていただいているMacUIMパッケージ0.5.2-5の中には見当たらないのですが、本来どこに入っているものが使われるべきなのでしょうか?
MacUIMのソースを入手してxcodeプロジェクトを開いてみると、libintl.dylibとlibuim-custom.dylibが赤字になっていて、きっとUIM.Framework内にlibintl.dylibをインストールしなければいけないのだろうなあ、と思ってgettextをUBとしてビルド・インストールしてみたのでした。libuim-custom.dylibはなくてもいいのですね。
いつものことながら根本的に仕組みが分からずにやっているので、何か変なこと言ってるかもしれませんが。
1月 30, 2008 1:13 pm |
こちらでコンパイルしている MacUIM では libintl は static にリンクしているので見当たらないということになってます。
まあ状況はよくわからないのですけど、Fink でインストールしたライブラリが、何らかの理由で MacUIM からダイナミックにリンクされてしまって、Rosetta で使えないというのが一番あり得ますよね。こちらのパッケージだと libiconv であり得そうです。
あと、libuim-custom.dylib ですが、UIM.framework にまとめてしまっているので見当たらないだけで、実は中に含まれています。fwbuild スクリプトを見るとわかると思います。
2月 4, 2008 7:02 pm |
uim-xim を含めた 0.5.2-7 を置いてみました。
2月 5, 2008 9:19 am |
0.5.2-7使わせてもらいました。uim-ximばっちり動きました。uim-candwin-gtkも入っているんですね。どうやったらこんな凄いことができるのかもう私にはさっぱりです。
今回、自分で入れてたgettextをuninstallした上でMacUIMを更新したのですが、なぜかもうgettextを入れ直さなくてもrosettaなアプリケーションでの入力も問題なくできるようになってしまいました。一体どうなっているのやら?
ともあれ素晴らしいです。ありがとうございます。
2月 5, 2008 10:54 am |
力わざでuim-candwin-gtkに全部リンクさせてみました。
それにしても Rosetta よくわからないですよね (中身がわからないので)。何かアドレスのキャッシュとか関係しているのかもしれないです。あるきっかけでそれらが更新されると普通に動くとか…
2月 6, 2008 3:06 am |
[...] ここのコメントに書いたように、久しぶりに MacUIM (MacUIM-0.5.2-7 ) [...]