Homebrewで簡単にEmacsを入れよう
Emacs24.4が出ました。
やはり最新版を使いたいのですがどうも公式のインラインパッチがそのままでは当たらないみたい。個人的にはインラインパッチがないとストレスで死んでしまうことが判明したため、ちょっとスルーしてました。
しかし親切な方が24.4用に使えるようにパッチを修正してくださいました。その記事がこれです。
この記事を元に試したところ、とりあえずソースを落としてきてこのパッチ当ててビルドすることが出来ました。感謝感謝。
しかし、ビルドするのは楽しいけどやはり大変です。
Macでの標準のパッケージ管理であるHomebrewで入れられるようにすれば、もっと使える人が増えるんじゃないかと思いました。
てことでその方法を書いておきます。
Emacs24.4+IMEインラインパッチをHomebrewで入れられるようにする
(お約束:私はレシピいじるのもrubyもEmacsビルドもよくわかってないので問題があるかもしれません。以下の方法を実行するときは自己責任でお願いします。)
Homebrewのインストールは済んでいてビルド環境もあるものとします。
まずはemacsのレシピを編集。
1 |
brew edit emacs |
20行目あたりにパッチする処理を追加します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
# http://debbugs.gnu.org/cgi/bugreport.cgi?bug=18876 patch do url 'https://gist.githubusercontent.com/scotchi/66edaf426d7375c0f061/raw/4c5229a8a719f81fa6bd2e1e0c85d10b6f635765/emacs-fix-ns-antialias-text-mac-os.patch' sha1 'b63eab599a7ce69de03629494a727f45b310c166' end # ここから # 日本語IME inline patchをあてる patch :p1 do url "https://raw.githubusercontent.com/kskotetsu/emacs-24.4-inline-patch/master/emacs-24.4-inline.patch" end depends_on "autoconf" => :build depends_on "automake" => :build # ここまで追加 end bottle do |
(勝手ながら上記のパッチが圧縮されていたので、brewから簡単にアクセスできるようにリポジトリに上げました)
(自前ビルドの時は通ったのでパッチあてるだけでいいかと思ったんですが、なぜかautoconfとautomakeの追記ないとエラーが出ました)
HomebrewのEmacsが既にインストールされている場合は先にアンインストールしてください。
あとは普通にインストールができます。
1 2 |
brew uninstall emacs # 必要なら brew install emacs --cocoa --gnutls --imagemagick --with-xml2 --verbose |
(記事公開時は–srgbオプションが入っていましたが、現在は必要ないと教えてもらったので削除しました。pogin503さんありがとうございます)
(さらにgnutlsオプションをtypoしていました。namikisterさんご指摘ありがとうございます)
これでカーソルをIMEの状態で色を変えるのもできるし、日本語入力モードのままC-x 2とかやってあばばばとなったりしません。
ついでに以前自前でビルドしたのと違ってabout-emacsがカラーのロゴになってます。
やったね。
もしレシピをいじった後brew updateしたい場合はこの方法が使えました。
既知の問題
とりあえずこれで使えると思います。現在わかっている問題?気になってるところは次の通り。
- *elがEmacs.appの中に入っておらず、/usr/local/share/emacs/24/4/に入っている
- なので、Emacs.appだけを配布することが出来ないのです・・・残念
- インストール時のオプションの必要性がわからないので適当に指定した。
- HEADではパッチが当たらないみたい
- まだあまり使ってないので安定性は不明
ということで、いいEmacsライフを。
srgbオプションはupstreamに取り込まれたのでもう意味がないようです。
https://github.com/Homebrew/homebrew/commit/e465cb17e02111bb247d9f7c2eb2b8a26b16de3a
できればこちらの方も修正してもらえればと思います。
http://www.sevencredit.com/2014/07/02/580/
ご報告どうもありがとうございます。近いうちに修正させていただきますね。
修正・更新しました。
勘違いでしたら申し訳ございませんが、–gnutilsは–gnutlsの間違いでしょうか?
すいません、タイプミスしていましたので修正しました。どうもありがとうございます。