Надоело всякий раз перечитывать опции конфигурации при сборке 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/

Готово!