Macでドット絵エディタAsepriteをビルドする
ほぼ自分用備忘録. Macでドット絵エディタAsepriteをビルドします.
Asepriteとは
クロスプラットフォームで動くドット絵エディタです. Steamで購入することもできます(1500円くらい,安い).
ソースコードがGithubで公開されており, 個人利用目的またはAsepriteへの貢献目的ならば自前でコンパイルして無料で利用可能なので, 今回はそっちに挑みます.
やること
基本的には作者様のGithubにまとまってます. ここの話を中心に,私の環境でやったこと,詰まったところを補足的に解説していきます.
xcodeとhomebrewのインストール
xcodeはアップルが提供している統合開発環境, homebrewは様々なパッケージを管理するツールです. 詳細は昔書きました. XcodeとHomebrewについて - しゃちの備忘録
今回はこれらを使い,Asepriteをビルドする環境を整えていきます. やることはコンソールを開いて次を入力するだけ.
$ xcode-select --install $ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
また,このあとAsepriteをビルドするために,AppStoreの方からxcodeの完全版をダウンロードしなければいけません(私はxcode-select --install
でコマンドラインツールしか入れてなかったので上の詰みました,詳細は後述).
4.5GBほどあるので気長に待ちながら,AppStoreからダウンロードしてください.
homebrew上での準備
homebrewを使い,Asepriteをコンパイルするために必要なものを揃えていきます.
使う直前に入れてもいいのですが,記述の関係で,ここにまとめて記述して起きます.
gitはバージョン管理システムと呼ばれるものです。これを入れることで特定のバージョンのAseprite
などをダウンロードしたりできます(意訳).
make, ninjaはAsepriteをビルドするために使います.
上で貼ったリンクではbrew install ninja
について言及はありませんでしたが,
私の環境ではそれのせいでビルドができなかったので,インストールしてます.(これについても後述)
$ brew install git $ brew install cmake $ brew install ninja
skiaのコンパイル
Asepriteでは画像処理用のライブラリとして,skiaというものを使っています.
なので,それをpythonを用いてコンパイルしてあげます.
ここまでにgit
のインストールは終えておいてください.
またここでは$HOME
以下にdeps
というフォルダを生成し,そこで作業を行います.
全てが終わったらまるっと消してしまっても大丈夫です(多分).
長いので丸ごとコピペしてあげると楽かもしれません.
mkdir $HOME/deps cd $HOME/deps git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git git clone https://github.com/aseprite/skia.git export PATH="${PWD}/depot_tools:${PATH}" cd skia git checkout aseprite-m55 python bin/sync-and-gyp ninja -C out/Release dm
Asepriteのダウンロードとビルド
いよいよAseprite本体のビルドを行います.
このステップを実行する前に,git
,cmake
,ninja
のインストールは終えておいてください.
今回はDownload
のフォルダで作業が行われます.
まずはダウンロードまで.
cd ~/Downloads git clone https://github.com/aseprite/aseprite.git cd aseprite
もし今後ビルドしていく中でusing:\n git submodule update --init --recursive”
のエラーを吐いた場合は,フォルダを消して再度すぐ上の3行ものを実行したあと,次の2行を加えた5行を実行してください.(エラー詳細は後述)
git pull git submodule update --init --recursive
では,Asepriteのビルドに移ります. まるっとピペして大丈夫です. 実行は上と続けて実行してください(cdのパスの関係)
mkdir build cd build cmake \ -DCMAKE_OSX_ARCHITECTURES=x86_64 \ -DCMAKE_OSX_DEPLOYMENT_TARGET=10.7 \ -DCMAKE_OSX_SYSROOT=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk \ -DUSE_ALLEG4_BACKEND=OFF \ -DUSE_SKIA_BACKEND=ON \ -DSKIA_DIR=$HOME/deps/skia \ -DWITH_HarfBuzz=OFF \ -G Ninja \ ..
長い実行の最後に
-- Generating done -- Build files have been written to: /**********/Downloads/aseprite/build
が出てれば大丈夫です.
ここまで来れたら最後に.
ninja aseprite
をして終了です.
ビルドが正しく完了して入れば,Aseprite/build/bin
というフォルダがこんな感じになってると思われます.
Asepriteを起動する
Aseprite/build/bin
のなかのaseprite
を起動すれば使用できます.
ひとまずお疲れ様でした.
Asepriteをアプリっぽくする
他のアプリと同じ使用感で使うために一工夫します.
まず適当な場所で,Aseprite
というフォルダを作成します.(ここでのフォルダ名はそのままアプリケーション名になってきます)
次に作成したフォルダ内にContents
というフォルダを作成します.
そしてその中に先ほど作成したbin
フォルダをフォルダこと格納してあげます.
格納し終わったら,bin
フォルダの名前路MacOS
に変更します.
ここまででこんな風になっているはずです.
最後にAseprite
のリネームを行います.
Aseprite
をAseprite.app
に変更してください.
このような警告が出ますが,追加
を押します.
するとこのようにフォルダが,アプリケーションに変わりました.
あとはアイコンを追加するなり,アプリケーションフォルダに追加するなりしてあげればいいと思います.
私体験したインストール時のエラーとその対策
私が遭遇したエラーとその対策をまとめて起きます. 一応遭遇し,解決した順です.
xcode関係のエラーを吐く
起きた箇所はAsepriteのビルド時,エラー文は以下の通りです.
code-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance
こんなエラーを複数吐きます.
これの原因は,xcodeの完全版が入っていないことなので, 上でも触れたようにAppStoreの方からxcodeの完全版をダウンロードしてください.
ちなみに上のエラーメッセージでぐぐると,xcode-select --install
をしろと言われますが,
今回のケースではそれでは解決しません.
FATAL_ERRORなんちゃら
起きた箇所はAsepriteのビルド時,エラー文は以下の通りです.
FATAL_ERROR “Your Aseprite repository is incomplete, initialize submodules using:\n git submodule update --init --recursive”
エラー文で検索してもクリティカルな情報は出てきませんでしたが,ざっくりいうとこれが言っている内容は,手持ちのファイルに欠損があるぞ的な内容です.
作者のインストール手順を見ると回答が書いてありました. これをすると正しく取得できました.
cd ~/Downloads git clone https://github.com/aseprite/aseprite.git cd aseprite git pull git submodule update --init --recursive
CMake was unable to find的なエラー
起きた箇所はAsepriteのビルド時,エラー文は以下の通りです.
CMake Error: CMake was unable to find a build program corresponding to "Ninja". CMAKE_MAKE_PROGRAM is not set. You probably need to select a different build tool. CMake Error: CMAKE_C_COMPILER not set, after EnableLanguage CMake Error: CMAKE_CXX_COMPILER not set, after EnableLanguage -- Configuring incomplete, errors occurred!
ninja
が入ってないよ,というエラーです.
$ brew install ninja
してから実行すれば解決するはずです.
おわりに
インストールまでにこけまくったので,その備忘録です. 大変でしたが,いろいろ勉強にもなりましたし,何よりビルドできてよかったです.
また,Aseprite作者様にも,この場を借りて感謝を申し上げます. ドット絵とAseprite,楽しみます.