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

Inkscape のmacOS向けパッケージ作成にトライした話

[2017/02/21 追記]

このページは古いので新しいページを参照してください。

a244.hateblo.jp

[追記ここまで]

f:id:atuyosi:20170108234633p:plain

前回のエントリに記載したとおり、今の所Mac向けのバイナリは提供されていません。「無いなら作ればいい」の精神で試しに自分で作ってみましたよ、というのがこのエントリ。

a244.hateblo.jp

どうせやるならOSXネイティブ版で作成しました。そもそもOSXネイティブ版は実験的な扱いのはずですが、公式ページにMacPortsのパッケージのインストール手順が記載される程度には

概要

いわゆるOSXネイティブ版です。XQuartzなしで動作します。

不完全ながら直接日本語の入力が可能です(後述)。環境によっては動作が軽いかもしれません。

結局何をしたのか

CMakeでビルドして、元から存在するパッケージ作成(バンドル形式)用のスクリプトを改造してみました。  

お世辞にもエレガントとは言えないシェルスクリプトを改造したらできました。

本来ならCMakeにバンドル形式のファイルを作成させるべきなのでしょうが、そもそもCMakeに詳しくないので。

とりあえずパッチなどは以下に置いています。

Dropbox - patches

手順はgistにあります。

Procedure for create App bundle and dmg for Inkscape 0.92 on Sierra/Mountain Lion · GitHub

Broken English です。お察しください*1あとで日本語に直す、と思っています。

日本語版:

Inkscapeパッケージ(macOS)作業メモ · GitHub

作成したもの

興味があれば以下からダウンロードできます。最低限の動作確認しかしていません。絶賛人柱募集中です。

リンク先に日付のフォルダがあるのでその中のInkscape.dmgをダウンロードしてダブルクリック、です。

Mountain Lion でビルドしたもの

Dropbox - MountainLion

Mountain LionとSierraで最低限の動作確認していますが、Mountain Lion より古いIntel版のMacでは動かないと思います。

Sierraでビルドしたもの

Dropbox - build_on_Sierra

基本的な違いはビルドした環境とコンパイラのオプションです。

どういうご利益があるのか不明ですが、Sierra版のみオプションパッケージのGnome VFSを有効にしています。

上記とは別の問題を回避するために起動スクリプトを修正しています。

こちらのパッケージはSierra以外ではテストしていません。一つ上のMountain Lion版を使ってください。

備考

なぜMountain Lionかというと、手元のMacBook Air にインストール可能な最も古いバージョンだからです。

外付けSSDにインストールして必要な時だけ切り替える運用です。

VirtualBoxなりVMware Fusion上にインストールするのも一つの方法ですが、Mountain Lion より古いインストーラーを入手できないので。

もし仮想環境でやるとすればリカバリモードを使わずにインストールする関係からして、Mavericks (10.9) になると思います。

既知の問題

  • Inkscapeを終了してもDockにアイコンが残り続ける(完全に終了しない?)
  • ファイルを右クリックしてプルダウンメニューから起動しても対象ファイルを開くことができない
  • テキストツールで未確定の日本語文字列が表示されない(ファイルの保存ダイアログや、画面右側の「テキストとフォント」ダイアログでは問題ない)
  • Mac固有のキーを認識しない(commandキー、かな、英数)
  • キーバインドLinux系のまま(Controlキーが中心)
  • dmgファイルの背景画像のバージョン表記が古いまま

その他、以前から存在するネィティブ版パッケージと同じバグがあります。

そのほか

何を血迷ったかInkscapeの開発者メーリングリストにパッケージ作ったよ的なメールを投稿済みです。
私の予測では、そのパッケージ作成スクリプトはメンテナンスしてないからやめとけという趣旨の返信が来ることでしょう。

もちろん「CMake(とotool)の知識がないから無理。これで精一杯」と言って逃げる予定です。

macOSのライブラリ周りって実は色々とめんどくさかったのか、ということを理解したのが一番の収穫。

結局、@rpathなどmacOS固有の仕組みがどういう動きをするのか理解できませんでしたが動いているのでひとまずおしまい。


macOS版ユーザー各位、もっと開発者メーリングリストに参加しましょう。

以上です。

できるクリエイター Inkscape 独習ナビ Windows&Mac対応

できるクリエイター Inkscape 独習ナビ Windows&Mac対応

ITエンジニアが覚えておきたい英語動詞30

ITエンジニアが覚えておきたい英語動詞30

*1:開発者メーリングリストにかちこむため