以前の記事で、Emacs 25.3をビルドして使う記事を紹介したが、2018/5/28にEmacs 26.1が公開された。そこで、msys2環境の64bit環境(mingw64)でEmacsを26.1をビルドし動かしたので備忘録を残す。
以前は、msys2のmingw32環境で動かしていたが、今回はmingw64の64bit環境で動かす。
- Emacs 26では「
gnutls
」パッケージが必要なようで、未インストールならpacman -S mingw-w64-x86_64-gnutls
でインストールしておく。
ソースファイルの入手
IMEパッチをあててビルドが必要なので、下記からソースとパッチファイルを入手。
http://ftp.gnu.org/gnu/emacs/
上記サイトから、emacs-26.1.tar.xz
ファイルを取得
https://gist.github.com/rzl24ozi
上記サイトから、emacs-26.1-rc1-w32-ime.diff
ファイルを取得
Emacsソースファイルの展開とIMEパッチの適用
msys2のコンソール(mingw64.exe)から、上記で入手した2つのファイルを任意のフォルダに置き、下記コマンドを実行。
$ tar xvf emacs-26.1.tar.xz
$ cd emacs-26.1/
$ patch.exe -p0 < ../emacs-26.1-rc1-w32-ime.diff
ビルド
autogen.shとconfigureの実行
$ ./autogen.sh
$ CFLAGS='-Ofast -march=x86-64 -mtune=corei7 -static' ./configure --without-dbus --without-compress-install --with-modules
makeの実行
$ make bootstrap
インストール(以前のバージョンがある場合はアンインストールしておく)
$ make install-strip
msys2の各環境binフォルダ(c:/msys64/mingw64/bin
)にインストールされる。
案外素直にビルド出来た。
アンインストール
アンインストールしたい場合は、ビルドしたフォルダで下記コマンドを実行。
$ make uninstall
Emacsの起動
msys2のコンソールから、下記コマンドでバージョン確認できる。
$ emacs --version
GNU Emacs 26.1
Copyright (C) 2018 Free Software Foundation, Inc.
GNU Emacs comes with ABSOLUTELY NO WARRANTY.
You may redistribute copies of GNU Emacs
under the terms of the GNU General Public License.
For more information about these matters, see the file named COPYING.
Emacsの起動は
$ runemacs
尚、Emacsの終了は
C-x C-c
コマンドから抜けるには
C-g
Emacs初期設定ファイル(~/.emacs.d/)
私の使っているEmacs初期設定ファイル一式(~/.emacs.d/
)はGitHubに公開登録しGit管理しているので、それを下記コマンドでホームディレクトリにコピー。尚、macOS, msys2(Windows), Ubuntu(Linux)で共用。
Emacs 26.1でもそのまま利用できた。
$ git clone https://github.com/jr4qpv/dot.emacs.d.git ~/.emacs.d
cmigemoのインストール
ローマ字のまま日本語を検索できるように、cmigemoをmsys2にインストール。(下記記事参照)
不具合?
- 私はATOK2017を利用しているが、Emacsを最初に起動した直後にIMEのOn/Offしようとして[半角/全角]キーを押すと「
<enlw> is undefined
」と表示されてIMEの切り換えができない。(Emacs25の時は大丈夫だった)
調べてみると、Emacsのウインドウをマウスでドラッグして移動するとOKになる。根本原因はわからないが、とりあえずこれで使っていく事にする。何か対策がわかったら、また報告していきたい。
補足
- ビルドは、マシン性能にもよるが1時間くらいかかる。
- msys2では、emacsパッケージが利用できるが、試してみると私の環境では日本語入力が不便だったので、日本語IMEパッチをあててソースからビルドした。
- 64bit版を常駐していても、
emacsclient
コマンドさえ実行できれば、mingw32環境からでも利用できる。 - 64bit版の方が、32bit版に比べて体感できるくらい反応がよい。
- 最初「
configure: error: The following required libraries were not found: gnutls
」のエラーがでたので、mingw-w64-x86_64-gnutls
パッケージをmsys2に追加インストールした。
追記(2019/6/18)
Emacs 26.2では、オリジナルのソースコードに「簡易IME対応」が取り込まれたようなので、GNUで公開のものをそのままインストールして使う事にした。
参照記事
- 【Windows/msys2】Emacs 25.1を使う
- msys2でWindows上でのビルド環境をつくる
- 【Windows/msys2】EmacsをServerで自動起動(emacsclientで高速化)
コメント