How to build SunPinyin 2.0 on Mac

内容已过时,请参见Migrated sunpinyin-2.0’s repo to github

首先要说明的是,sunpinyin-2.0 for Mac版本还在开发中,目前的状况是,可以build并安装到系统中,并且能够进行输入,不过用户配置方面(从界面到代码)都还没有实现。

第一步,需要安装分布式版本管理工具mercurial,并安装MacPorts,以安装必要的autotools软件包:

$ sudo /opt/local/bin/port install glib2 intltool sqlite3
$ export PATH=$PATH:/Developer/usr/bin:/opt/local/bin
(为了将来方便,可将此行加入到~/.bash_profile中)

接下来,从OpenSolaris上check out项目的代码,这个会花费比较长的时间,需要耐心 :)

$ hg clone ssh://anon@hg.opensolaris.org/hg/nv-g11n/inputmethod

然后进入到sunpinyin2目录中,执行autogen.sh

$ cd sunpinyin2
$ cd data; ln -s ../../sunpinyin/ime/data/lm_sc.t3g.le lm_sc.t3g; cd -
$ ACLOCAL_FLAGS=-I/opt/local/share/aclocal ./autogen.sh \
  --disable-cle --disable-ibus

由于目前在autogen.sh里,hardcoded了--enable-ibus等选项,所以在执行configure时会出错,所以需要再用适当的选项重新执行一遍configure;另外需要使用MacPorts的glibtoolize重新生成一下libtool,否则无法进行链接,

$ /opt/local/bin/glibtoolize --force --copy
$ ./configure --enable-debug --disable-cle --disable-ibus

接下来需要build词表,

$ cd build; make genpyt; make lexicon; cd -

最后就是build基于IMKit的输入法前端了,

$ cd wrapper/macos
$ make clean; make
$ sudo make install

现在,sunpinyin-2.0应该已经安装到系统中了,需要re-login才可以看到这个输入法。

调试的时候,需要用ssh从另外一台机器远程登录到本机上。之后,如果要验证bug fixes,为了避免重复re-login,可以反复执行killall -9 SunPinyin,直至系统报告没有SunPinyin进程,然后也要重新启动用来测试的应用(例如textedit)。