No description, website, or topics provided.
Objective-C C++ Shell Scheme C Python
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
Anthy
English.lproj
Icons
Japanese.lproj
M17NLib
MacUIM.xcodeproj
Mozc
PRIME
Package
Sources
UIM
Info-Helper.plist
Info-MacUIM.plist
Info-PrefPane.plist
README.ja
deploy
get_skkdic

README.ja

-*- mode: rd -*-

= MacUIM

== MacUIMビルド環境の構築

かなり複雑です。健闘を祈る!

MacUIM本体だけビルドしたい場合は「/opt/macuimのgettext」と「MenuCracker」
から実行すればOK。

以下を実行する前に/Library/Frameworks/UIM.framework, /opt/macuimを削除
しておく。

=== /opt/macuimの準備

gettext, pkgconfig, glib, saryをビルドし、/opt/macuimにインストールする。
これらはsary-rubyとprimeのビルド用で、ユーザーの環境にインストールする
必要はない。

 % sudo mkdir /opt/macuim

==== gettext

PRIMEディレクトリにgettex-0.14.5.tar.gzを展開する。
gettext-0.14.5ディレクトリでパッチを当ててから、build-gettextを実行する。

 % cd PRIME
 % tar zxvf gettext-0.14.5.tar.gz
 % cd gettext-0.14.5
 % patch -p1 < ../gettext-0.14.5-mac.patch
 % ../build-gettext
 
make installで/opt/macuimにインストールする。

 % sudo make install

==== pkgconfig

PRIMEディレクトリにpkgconfig-0.15.0.tar.gzを展開し、build-pkgconfigでビルド
する。

 % tar zxvf pkgconfig-0.15.0.tar.gz
 % cd pkgconfig-0.15.0
 % ../build-pkgconfig

make installで/opt/macuimにインストールする。

 % sudo make install

==== glib

PRIMEディレクトリにglib-2.12.0.tar.bz2を展開し、パッチを当ててから
build-glibでビルドする。

 % tar jxvf glib-2.12.0.tar.bz2
 % cd glib-2.12.0
 % patch -p1 < glib-2.12.0-mac.patch
 % ../build-glib

make installで/opt/macuimにインストールする。

 % sudo make install

==== sary

sary-?.?.?.tar.gzをhttp://sary.sourceforge.net/からダウンロードし、展
開して、以下のようにビルドする。

 % cd sary-1.2.0
 % ../build-sary

make installで/opt/macuimにインストールする。

 % sudo make install

=== PRIMEのビルド

==== rubyモジュールのビルド

(Mac OS 10.3以前のみ)

PRIME 0.9以降をRuby 1.6で使用するには、libiconv-rubyが必要である。
PRIMEをUNIXドメインソケット・モードで実行するためには、コンパイルし直
したsocketモジュールが必要である。

===== libiconv-ruby

(Mac OS 10.3以前のみ)

libiconv-ruby_0.4.5.orig.tar.gzを
http://higgs.djpig.de/ubuntu/www/hoary/source/libiconv-ruby
からダウンロードする。

libiconv-ruby_0.4.5.orig.tar.gzをPRIMEディレクトリに展開し、以下のよう
にインストールする。

 % cd iconv-0.4.5
 % ../build-iconv

これによって、Package/dest/Library/PRIME/lib/rubyにiconv.rbがコピーさ
れる。

===== socket

(Mac OS 10.3以前のみ)

Mac OS XのRuby 1.6.8に含まれるsocketモジュール(socket.bundle)はUNIXド
メインソケットが無効になっているため、コンパイルし直して使用する。
ruby-1.6.8のソースを適当な所からダウンロードし、展開してから、以下のよ
うにビルドする。

 % cd ruby-1.6.8/ext/socket
 % ruby extconf.rb
 % make

できたsocket.bundleをPackage/dest/Library/PRIME/lib/rubyにコピーする。

==== sary-ruby

sary-ruby-?.?.?.tar.gzをhttp://sary.sourceforge.net/からダウンロードし、
展開して、以下のようにビルドする。

 % cd sary-ruby-1.2.0
 % ../build-sary-ruby

これによって、sary.bundleがPackage/dest/Library/PRIME/lib/rubyにコピー
される。

==== ruby-progressbar

ruby-progressbar-0.9.tar.gzを
http://namazu.org/~satoru/ruby-progressbar/からダウンロードし、展開し
て、中に含まれるprogressbar.rbをPackage/dest/Library/PRIME/lib/rubyに
コピーする。

 % cd ruby-progressbar-0.9
 % cp progressbar.rb ../../Package/dest/Library/PRIME/lib/ruby

==== suikyo

suikyo-2.1.0.tar.gzをhttp://prime.sourceforge.jp/src/からダウンロー
ドし、展開して、以下のようにビルドする。

 % cd suikyo-2.1.0
 % ../build-suikyo

これによって、suikyoがPackage/dest/Library/PRIME/lib/rubyにインストー
ルされる。

==== prime

prime-x.x.x.tar.gzを展開して、以下のようにビルドする。

 % cd prime-x.x.x
 % patch -p1 < ../prime-1.0.0.1-crash.patch
 % ../build-prime

これによって、primeがPackage/dest/Library/PRIMEにインストールされる。

==== prime-dict

prime-dict-x.x.x.tar.gzを展開して、以下のようにビルドする。

 % cd prime-dict-x.x.x
 % ../build-prime-dict

これによって、prime-dictがPackage/dest/Library/PRIMEにインストールされ
る。

==== uimに必要なライブラリの準備

==== インストール

Package/dest/LibraryにあるPRIMEディレクトリを/Libraryにコピーする。

=== anthyのビルド

anthy-xxxxをダウンロードする(xxxxはバージョン番号)。

Anthyディレクトリにanthy-xxxxを展開する。

 MacUIM/
   Anthy/
     anthy-xxxx/

Anthy/anthy-xxxxディレクトリで以下を実行する。

 % ../build

Package/dest/Library/Anthyディレクトリが作成される。
このAnthyディレクトリを/Libraryにコピーする。

=== m17nlibのビルド

==== 準備

m17nlibのビルドにはX11が必要である。Mac OS Xにプリインストールされてい
ない場合、AppleからX11.appをダウンロードして入れるか、Finkを使ってイン
ストールする。

/Library/Frameworks/UIM.frameworkをゴミ箱に移動する。
Package/dest/Library/Frameworks/UIM.frameworkが存在する場合、それもゴ
ミ箱に移動する。

 % mv /Library/Frameworks/UIM.framework ~/.Trash
 % mv Package/dest/Library/Frameworks/UIM.framework ~/.Trash

mvの代わりにrmする場合、あらかじめMacUIMでない別の入力プログラム(こと
えりなど)に変更しておかないと、アプリが異常終了するので注意する。

==== ispell

M17NLibディレクトリにispell-x.x.x.tar.gzを展開し、パッチを当てる。

 % cd ispell-3.2.06
 % patch -p1 < ../ispell-3.2.06-mac.patch

以下のようにビルドし、インストールする。

 % ../build-ispell

/Library/M17NLibディレクトリとPackage/dest/Library/M17NLibディレクトリの両方
にインストールされる。

==== m17n-db

M17NLibディレクトリにm17n-db-x.x.x.tar.gzを展開する。

m17n-db-x.x.xディレクトリにglibc-x.x.x.tar.gzを展開する。
glibcは適当なFTPサイトからダウンロードする。

m17n-db-x.x.xディレクトリで以下を実行する。

 % ../build-db <glibc_version>

例)
 % ../build-db 2.3.3

/Library/M17NLibディレクトリとPackage/dest/Library/M17NLibディレクトリの両方
にインストールされる。

==== m17n-lib

M17NLibディレクトリにm17n-lib-x.x.x.tar.gzを展開する。

m17n-libディレクトリでパッチを当ててビルドする。

 % for i in ../*.patch; do patch -p1 < $i; done
 % ../build-lib

/Library/M17NLibディレクトリとPackage/dest/Library/M17NLibディレクトリの両方
にインストールされる。

=== pixman
=== libpng
=== atk
=== cairo
=== pango
=== gtk+2

=== uimのビルド

FinkなどでperlのXML::Parseモジュールをインストールしておく。

UIMディレクトリにuim-x.x.x.tar.gzを展開する。

 MacUIM/
   UIM/
     uim-x.x.x/

MacUIM用のパッチを当てる。
uim-x.x.xディレクトリで以下を実行する。

 % for i in ../uim*.patch; do patch -p1 < $i; done


続いて、以下のようにビルドする。

 % ../fwbuild <version> <build>

<version>のフォーマットは<major>.<minor>.<tiny>とし、uimのバージョン番
号に従う(例: 0.2.5)。
ただし、uimのバージョンがtiny以下を含む場合、tinyまでとする。
例えば、uim-0.2.5.2の場合、0.2.5とする。

<build>はuimのバージョンが上がるごとに1からカウントし直す(例: 1)。

これによって、Package/dest/Library/FrameworksにUIM.frameworkができる。
これを/Library/Frameworksにコピーする。

=== MenuCracker

Mac OS X 10.3は通常、MenuExtraの使用を許可していない。そのため、ヘルパー
アプレットを動作させるために、MenuCrackerを使用する必要がある。

以下のURLからMenuCrackerのソースをダウンロードし、ユニバーサルバイナリとしてビルドする。
http://menucracker.cvs.sourceforge.net/

 % cvs -d:pserver:anonymous@menucracker.cvs.sourceforge.net:/cvsroot/menucracker login
 % cvs -z3 -d:pserver:anonymous@menucracker.cvs.sourceforge.net:/cvsroot/menucracker co -P

MenuCracker.menuをMacUIM/Sources/MenuCrackerに置く。
以下のようなディレクトリ構成になる。

 MacUIM/
   Sources/
     MenuCracker/
       MenuCracker.menu

=== Growl

Growlでメッセージを通知するために使用。
http://growl.info/files/source/Growl-1.2.2-src.tbzをダウンロードし、パッチを当てGrowl.frameworkを作成。

 % cd Growl-1.2.2-src
 % patch -p0 < ../growl.diff
 % ../build-growl

以下のようなディレクトリ構成になる。

 MacUIM/
   Sources/
     Growl/
       Growl.framework

=== Mozc のビルド

Mozcディレクトリで
 % ./build --clear-patch && ./build --apply-patch && ./build
すると、Package/dest/Library/MozcにMozcConverter.appとMozcTool.app、
Package/dest/Library/LaunchAgents/org.mozc.inputmethod.Japanaes.Converter.plistが配置される。また、UIM.framework内にlibuim-mozc.so、mozc*.scmがコピーされる。

MozcTool.appの作成には、Qt4 (Carbon i386) framework が必要である。

== MacUIMのビルド

配布するバージョンをビルドする場合はdeployを実行する。
これによってMacUIMがPackage_contentsディレクトリに置かれる。
 
Input Methods/MacUIM.app     - MacUIM本体
PreferencePanes/MacUIM.prefPane - 環境設定

=== リリース用

トップディレクトリのdeployを実行すると、Releaseビルドスタイルでビル
ドされ、Package/Package_contentsディレクトリにMacUIMができる。

deployで作成したMacUIMはデバッグオプションが無効になっている。

=== デバッグ用

deployコマンドでなく、Xcodeで普通にビルドする。
buildディレクトリにMacUIMができる。

=== インストール

MacUIM.appを/Library/Input Methodsに、
MacUIM.prefPaneを/Library/PreferencePanesにコピーする。

== SKK辞書

get_skkdicを実行。
これによって Package/dest/Library/Dictionaries/SKK ディレクトリに
SKK-JISYO.[LMS]がダウンロードされる。

インストールする場合はSKKディレクトリを/Library/Dictionariesにコピーする。

== パッケージ作成

上記すべてを実行したら、PackageMakerでPackage/MacUIM.pmdocを開き、パッケージを
作成する(control + b)。
このとき、ファイル名はMacUIM-<source_version>-<release_version>.pkgとする。

パッケージファイル(.pkg)から.dmgファイルを作成し、リリースする。


== パッケージにせず、ローカルでテストする場合

UIM.frameworkを /Library/Frameworks に、MacUIM.appを
/Library/Input Methods にコピーし、ログインし直す。


== ログインし直すのが面倒な場合

killloginをPATHが通っている場所にインストールし、コマンドラインから
killloginとすることで、loginwindowがkillされ、自動的に再ログインされる。

Script Menuを使うこともできる。
Script Menuは /Applications/AppleScript/Install Script Menu.app を実行
しインストールする。
killloginを ~/Library/Scripts にコピーすることで、メニューバーからこれ
を実行することが可能になる。