読者です 読者をやめる 読者になる 読者になる

MacPorts と開発版 Inkscape (0.92pre3)

普通に開発版のパッケージも提供されてるじゃないですか、MacPorts経由で。

f:id:atuyosi:20161210213930p:plain

なるほど、それでHomebrew向けの情報が無いのか……。

MacPortsだといくつかビルドしているサイトが見つかる。

barry-tangram.blogspot.jp

しかも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
  • Command Line Tools
  • Xcodeの使用許諾条件に同意しておく(xcodebuild -license)
  • XQuartz
$ xcode-select --install

あとはダイアログの指示に従う。

インストーラの実行

公式サイトから使用中のmacOSのバージョンに合わせたインストーラーをダウンロード。 Sierraの場合はMacPorts-2.3.5-10.12-Sierra.pkg

The MacPorts Project -- Home

ダウンロードしたpkgファイルをダブルクリックしてインストール開始。

アップデート

$ sudo port -v selfupdate

パッケージのデータベースの更新と、必須パッケージのアップデート。

Inkscape 開発版パッケージ

inkscape-develという名前で開発版をインストールすることができるようなので、これを使います。RedHatLinuxの場合、*-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側の日本語入力を使用できるようです。ただし相変わらず未確定の文字列は表示されませんが。

f:id:atuyosi:20161210213013p:plain

.app形式にもチャレンジしてみたい今日この頃。

関連URL

ビルドエラーとかそういうの。+strictつけちゃダメよってことのようです。


とりあえずここまで。