MacPorts と開発版 Inkscape (0.92pre3)
スポンサーリンク
普通に開発版のパッケージも提供されてるじゃないですか、MacPorts経由で。
なるほど、それでHomebrew向けの情報が無いのか……。
MacPortsだといくつかビルドしているサイトが見つかる。
しかもXQuartz非依存のパッケージを作るオプションも用意されてるという……。
なんか時代に逆行するようですが、Homebrew から MacPorts へ移行してみます。
Homebrew のアンインストール
公式サイトの指示に従う。
brew/FAQ.md at master · Homebrew/brew · GitHub
$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)"
実行すると、以下のように問い合わせてくるので、"y"と入力。
Are you sure you want to uninstall Homebrew? [y/N]
正常に終了すると以下のようなメッセージが出る。 最後に「下記のファイルは削除しないので自分で消してくれ」という趣旨のメッセージが表示されています。
しかしながら、他のソフト(VirtualBoxやDockerなどインストーラーを使用したもの)が作成したファイルがあるので/usr/local
配下のフォルダはそのままにしておく必要があります。
==> Homebrew uninstalled! The following possible Homebrew files were not deleted: /usr/local/bin/ /usr/local/etc/ /usr/local/share/ /usr/local/var/ You may wish to remove them yourself.
MacPorts のインストール
必要なもの
Homebrew をインストールしていたのであれば不要なはずですが、念のため。
$ xcode-select --install
あとはダイアログの指示に従う。
インストーラの実行
公式サイトから使用中のmacOSのバージョンに合わせたインストーラーをダウンロード。 Sierraの場合はMacPorts-2.3.5-10.12-Sierra.pkg
。
ダウンロードしたpkgファイルをダブルクリックしてインストール開始。
アップデート
$ sudo port -v selfupdate
パッケージのデータベースの更新と、必須パッケージのアップデート。
Inkscape 開発版パッケージ
inkscape-devel
という名前で開発版をインストールすることができるようなので、これを使います。RedHat系Linuxの場合、*-devel
というパッケージ名ははヘッダファイルとスタティック形式のライブラリファイルになりますが、MacPortsでは(少なくともInkscapeの場合は)命名規則が異なるようです。
ただし、この記事を書いている時点では(macOS側の仕様変更なのかよくわかりませんが)、SierraでビルドするとLANG=Cでしか起動しないバイナリが生成されルようです。
起動する際に、以下のようにすれば回避可能。
$ LANG=ja_JP inkscape
LANG=C
でもOKですが、LANG=ja_JP.UTF-8
の場合はダメ。
XQuartz (+x11) 版
$ sudo port install inkscape-devel
XQuartzに依存したバイナリが/opt/local
配下にインストールされます。.app
形式ではないので/opt/local/bin/inkscape
。
上記の問題の関係で、以下のように起動。
$ LANG=ja_JP inkscape
自動的にXQuartzが実行され、そのあとInkscapeが起動します。
ネイティブ版
XQuartzなしで動作するバージョンとしてビルドします。
依存ライブラリも+quartz
でビルドする必要があります。万全を期すために一度依存ライブラリをアンインストールします。一時的に依存ライブラリをdeactive
することもできるようですが、確実な方法を。
$ sudo port uninstall gtk2 gtkmm cairo pango gtkspell2 pangomm cairomm harfbuzz poppler gobject-introspection atk gdk-pixbuf2 atkmm
下記のコマンドで依存ライブラリも再構築される。
$ sudo port install inkscape-devel +quartz +svg2
実行時は上記と同様に。
$ LANG=ja_JP inkscape
XQuartzに依存していないので、OS側の日本語入力を使用できるようです。ただし相変わらず未確定の文字列は表示されませんが。
.app
形式にもチャレンジしてみたい今日この頃。
関連URL
ビルドエラーとかそういうの。+strict
つけちゃダメよってことのようです。
とりあえずここまで。