Сборка Emacs под MacOS (rev.1)
Надоело всякий раз перечитывать опции конфигурации при сборке Emacs. Решил запечатлеть процесс в виде шпаргалки.
Зачем вообще собирать из сырцов? Затем, что если мы устанавливаем Имакс через менеджер пакетов, или с emacsformacosx.com, то мы получаем сборку с включением лишней функциональности (а функциональности, даже в базовой поставке, — много).
Также, не знаю с чем связано, но скачав на пробу последнюю версию с emacsformacosx.com — редактор стал зависать время от времени. Это побудило вернуться назад к идее самостоятельной сборки — полет нормальный.
Ниже приведен способ компактной сборки current-версии Emacs под MacOS. Идея заключается в том, чтобы по умолчанию отключить ВСЕ, а нужные опции перечислить явным образом. Пробуем.
Клонировать репозиторий, с переключением на master-ветку:
$ git clone -b master git://git.sv.gnu.org/emacs.git
$ cd emacs
Установить необходимые для сборки Emacs пакеты:
$ brew install git autogen autoconf automake gcc libgccjit libxml2 jansson texinfo tree-sitter
Сконфигурировать и собрать MacOS-приложение:
$ ./autogen
$ ./configure \
--disable-year2038 \
--enable-largefile \
--enable-link-time-optimization \
--without-all \
--with-ns \
--with-xml2 \
--with-json \
--with-zlib \
--with-gnutls \
--with-threads \
--with-tree-sitter \
--with-toolkit-scroll-bars \
--with-compress-install \
--with-native-compilation
$ make -j$(sysctl -n hw.ncpu)
$ make install
Выполнить установку пакета в каталог с приложениями:
$ cp -r nextstep/Emacs.app /Applications/
Готово!