Сегодня я сделал решительный шаг и начал поиски самой последней сборки для главного ветки Emacs - так называемой Emacs Trunk - для MS-Windows.
Я нашел старый блог и прошел процедуру, только чтобы получить сообщение об ошибке, сообщающее, что конкретный метод больше не поддерживается. Сообщение об ошибке называют меня следующим образом: .../emacs/nt/INSTALL
. Что ж, это нормально, если инфраструктура для сборки Emacs уже установлена / настроена.
Это было бы удобно, если бы существовал шаг 1, 2, 3, который описывает, какие инструменты необходимы и как их установить / настроить, ориентируясь на сборку Emacs в MS-Windows.
Если кто-то захочет подготовить подробное описание, пожалуйста, оставьте ответ. Если нет, я сам напишу один раз, когда выясню, как это сделать. Я был встречен с дополнительными препятствиями и тем временем представил отчет об ошибке - я еще не знаю, это я или, возможно, ошибка: https://debbugs.gnu.org/cgi/bugreport.cgi? ошибка = 21582
Я думаю, что больше людей были бы склонны создавать свои собственные Emacs, если бы существовал «шпаргалка», которую могли бы использовать начинающие программисты или любители, такие как я (которые по профессии не программисты).
источник
Ответы:
Пользователям рекомендуется прочитать все
../emacs/nt/INSTALL
содержимое исходного кода Emacs.Быстрый старт - 5 простых шагов :
Этот ответ был протестирован на WindowsXP - SP3. Пути установки должны быть скорректированы в зависимости от индивидуальных предпочтений пользователя. В этом примере:
Рабочий стол это:
C:\Documents and Settings\lawlist\Desktop
git
Установка:C:\git
MinGW
Установка:C:\mingw
Расположение для загрузки git главной ветки Emacs:
C:\Documents and Settings\lawlist\Desktop\emacs
Цель для установки Emacs:
C:\Documents and Settings\lawlist\Desktop\trunk
Шаг № 1 : Установите
git
и обязательно выберите «оформить заказ как есть, зафиксировать как есть» во время установки:https://git-scm.com/download/win
Гит-2.5.3-32-bit.exe
Запустите установщик.
следующий
следующий
Стандартный каталог установки есть
C:\Program Files\Git
, но я выбрал вместо этого:c:\git
Выберите компоненты: по умолчанию все в порядке, но я ничего не выбрал.
Выберите папку меню «Пуск»: по умолчанию все в порядке, но я решил не создавать папку.
Настройка среды PATH: по умолчанию все в порядке: используйте Git только из Bash.
;; В этом следующем разделе обратите особое внимание на настройку не по умолчанию - см. Emacs bug # 21582.
Сконфигурируйте конечные преобразования строки: Emacs требует нестандартного параметра «оформить как есть, зафиксировать как есть»
Настройка эмулятора терминала для использования с Git Bash: по умолчанию все в порядке: используйте MinTTY (терминал по умолчанию для MSys2)
Настройка экспериментальных настроек производительности: я выбрал НЕ «Включить кэширование файловой системы».
Готово [см. Примечания к выпуску при желании]
ПРИМЕЧАНИЕ.
autogen.sh
(И, возможно, некоторые сторонние программы) требуют, чтобы значениеgit
PATH было установлено так, чтобы исполняемый файл (ы) можно было вызывать без использования абсолютного пути. Автор этого ответа имеет личное предпочтение использовать абсолютные пути и не изменять PATH; однако большинство людей предпочитают модифицировать PATH для текущих и будущих сессий. Например, в Windows XP значение PATH можно задать с помощью панели управления / «Свойства системы» / «Дополнительно» / кнопки «Переменные среды», и существует два (2) представления / мнения относительно того, должен ли пользователь устанавливать переменные пользователя или систему. Переменные - пути разделяются точкой с запятой без пробелов. Этот ответ просто устанавливает PATH для продолжительности сеанса с использованиемexport
изложенного ниже. Emacsautogen.sh
ищетgit
Команда на PATH и жалуется, если не может быть найден.Шаг № 2 : установка
MinGW
http://www.mingw.org/wiki/Getting_Started
MinGW-Get-setup.exe
Шаг № 3 : Загрузите следующие
ezwinports
zip-пакеты и распакуйте их в корневойmingw
каталог.https://sourceforge.net/projects/ezwinports/files/
;; разархивируйте все следующие пакеты ezwinports
c:/mingw
, перезаписав все дубликаты.cairo-1.12.16-w32-bin.zip
gdk-pixbuf-2.30.2-w32-bin.zip
giflib-5.1.0-w32-bin.zip
glib-2.38.2-w32-bin.zip
gnutls-3.3.11-w32-bin.zip
jpeg-v9a-w32-bin.zip
libpng-1.6.12-w32-bin.zip
librsvg-2.40.1-2-w32-bin.zip
libtasn1-4.2-w32-bin.zip
libxml2-2.7.8-w32-bin.zip
libXpm-3.5.11-2-w32-bin.zip
nettle-2.7.1-w32-bin.zip
p11-kit-0.9-w32-bin.zip
pixman-0.32.4-w32-bin.zip
pkg-config-0.28-w32-bin.zip
tiff-4.0.3-w32-bin.zip
zlib-1.2.8-2-w32-bin.zip
Шаг № 4 : Загрузите последние исходные файлы главной ветки Emacs с помощью
git-bash
оболочки.Шаг № 5 : Создайте главную ветку Emacs и скопируйте файлы .dll, когда закончите.
;; откройте общую командную строку
Распакуйте все содержимое
gnutls-3.3.11-w32-bin.zip
вC:\Documents and Settings\lawlist\Desktop\trunk
РУЧНАЯ УСТАНОВКА - MinGW / MSYS / EZwinports
Для тех искателей приключений, которые заинтересованы в ручной установке MinGW / MSYS / EZwinports, ниже приведены файлы, используемые этим автором в Windows XP для создания успешной 32-разрядной сборки со следующими параметрами конфигурации, включенными по умолчанию. Настройка и конфигурация будут варьироваться в зависимости от личных предпочтений отдельных пользователей и выходят за рамки этого ответа.
EZWINPORTS
MinGW
MSYS
источник
Я пробовал инструкции в emacs / nt / INSTALL в прошлом году для 32-битной сборки, но что-то пошло не так (точно не помню, что именно), поэтому недавно я попробовал инструкции для emacsbinw64 - он работал очень хорошо, и это Проще было также получить нужные библиотеки. Он использует MSYS2 и MinGW-w64 для 64-битной сборки - проект emacsbinw64 предоставляет двоичные файлы по адресу https://sourceforge.net/projects/emacsbinw64/files/ .
Поэтому я написал несколько инструкций, следуя этому плану, с отзывами Эли Зарецкого и автора Криса Чжэна - полная версия находится по адресу http://git.savannah.gnu.org/cgit/emacs.git/plain/nt/INSTALL .W64? H = emacs-25 (также включает сборку из релизного архива ).
Это заняло около 90 минут на Intel i3 и высокоскоростном интернет-соединении - YMMV. Обратите внимание, что большая часть работы по сборке в Windows - это просто настройка среды сборки ...
Требования
Общее требуемое пространство составляет 3 ГБ: 1,8 ГБ для MSYS2 / MinGW-w64 и 1,2 ГБ для Emacs с полным хранилищем.
Загрузите и установите MinGW-w64 и MSYS2
Загрузите версию MSYS2 для x86_64 (т.е. msys2-x86_64-.exe) с веб-сайта https://sourceforge.net/projects/msys2/files/Base/x86_64 .
Запустите этот файл, чтобы установить MSYS2 в выбранный вами каталог, например, по умолчанию C: \ msys64 - это также установит MinGW-w64. Обратите внимание, что имена каталогов, содержащие пробелы, могут вызвать проблемы.
Затем вам нужно добавить следующие каталоги в переменную среды Windows PATH:
Вы можете сделать это через Панель управления / Система и безопасность / Система / Дополнительные параметры системы / Переменные среды / Изменить путь.
Добавление этих каталогов в ваш PATH указывает Emacs, где искать библиотеки DLL, которые ему нужны для запуска, и некоторые необязательные команды, такие как grep и find. Эти команды также будут доступны на консоли Windows.
Скачайте и установите необходимые пакеты
Запустите msys2_shell.bat в вашем каталоге MSYS2, и вы увидите открытое окно BASH.
В приглашении BASH используйте следующую команду для установки необходимых пакетов (вы можете скопировать и вставить его в оболочку с помощью Shift + Insert):
Теперь у вас есть полная среда сборки для Emacs.
Установите Git (необязательно) и отключите autocrlf
Если у вас еще нет Git в вашей системе, вы можете установить его в вашей среде MSYS2 с помощью:
Функция autocrlf в Git может мешать файлу конфигурации, поэтому лучше отключить эту функцию, выполнив команду:
Получить исходный код Emacs
Чтобы загрузить Git-репозиторий, сделайте что-то вроде следующего - это поместит исходный код Emacs в C: \ emacs \ emacs-25:
Сборка Emacs
Теперь вы готовы собрать и установить Emacs с помощью autogen, настроить, выполнить и выполнить установку.
Сначала нам нужно переключиться на среду MinGW-w64. Выйдите из консоли MSYS2 BASH и запустите mingw64_shell.bat в папке C: \ msys64, а затем вернитесь в исходный каталог Emacs, например:
Запустить автоген
Если вы создаете источники разработки, запустите autogen, чтобы сгенерировать скрипт configure:
Запустите настройку
Теперь вы можете запустить configure, который будет собирать различные файлы Makefile.
Опция '--prefix' указывает местоположение для результирующих двоичных файлов, которые будет использовать 'make install' - в этом примере мы устанавливаем его в C: \ emacs \ emacs-25. Если префикс не указан, файлы будут помещены в стандартные каталоги Unix, расположенные в каталоге C: \ msys64, но это не рекомендуется.
Также обратите внимание, что нам нужно отключить Imagemagick, потому что Emacs пока не поддерживает его в Windows.
Запустить сделать
Это скомпилирует Emacs и соберет исполняемые файлы, поместив их в каталог src:
Чтобы ускорить процесс, вы можете попробовать запустить
где N - количество ядер в вашей системе - если ваш MSYS2 make поддерживает параллельное выполнение, он будет работать значительно быстрее.
Запустите make install
Теперь вы можете запустить «make install», которая скопирует исполняемый файл и другие файлы в папку, указанную на этапе настройки. Это создаст каталоги bin, libexec, share и var:
Вы также можете сказать
установить их где-нибудь еще.
Тест Emacs
Чтобы проверить это, запустите
и если все прошло хорошо, у вас будет новая 64-битная версия Emacs.
Сделать ярлык
Чтобы создать ярлык для запуска нового Emacs, щелкните правой кнопкой мыши место, куда вы хотите его поместить, например, Рабочий стол, выберите New / Shortcut, затем выберите runemacs.exe в папке bin нового Emacs и присвойте ему имя ,
Вы можете установить любые параметры командной строки, щелкнув правой кнопкой мыши по полученному ярлыку, выбрать «Свойства», а затем добавить любые параметры в команду «Цель», например, --debug-init.
кредиты
Спасибо Крису Чжэну за оригинальную схему сборки, используемую проектом emacsbinw64, расположенную по адресу https://sourceforge.net/p/emacsbinw64/wiki/Build%20guideline%20for%20MSYS2-MinGW-w64%20system/ .
Лицензия
Этот файл является частью GNU Emacs.
GNU Emacs является свободным программным обеспечением: вы можете распространять его и / или изменять его в соответствии с условиями Стандартной общественной лицензии GNU, опубликованной Free Software Foundation, либо версией 3 лицензии, либо (по вашему выбору) любой более поздней версией.
GNU Emacs распространяется в надежде, что он будет полезен, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ; даже без подразумеваемой гарантии ТОВАРНОГО ОБЕСПЕЧЕНИЯ или ПРИГОДНОСТИ ДЛЯ ОСОБЫХ ЦЕЛЕЙ. Смотрите GNU General Public License для более подробной информации.
Вы должны были получить копию Стандартной общественной лицензии GNU вместе с GNU Emacs. Если нет, см. Http://www.gnu.org/licenses/ .
источник
cp /c/msys64/mingw64/bin/*.dll bin
. Я не очень разбираюсь в гнатах - есть ли простой способ проверить это?gnutls-available-p
я понимаю, для простоты, когда просто ссылаюсь на системные пути, но иногда люди могут захотеть использовать сборку Emacs на другом компьютере и они будут удивляться, почему изображения и прочее не работают "из коробки". Существует множество потоков, в которых люди спрашивают, почему pdf-файлы выглядят как бред в обычном буфере (т. Е. Из-за отсутствия поддержки png), или почему они не могут просматривать или просматривать документы в AUCTeX (по той же причине).gnutls-available-p
возвращает t, используя только параметр PATH, поэтому я предполагаю, что он работает на данный момент - я отправлю патч с альтернативным методом для копирования DLL, и, возможно, exe-файлов gnutls, если они необходимы, и обновлю здесь позже.