Як створити головну гілку Emacs (aka trunk) на MS-Windows


11

Сьогодні я взявся за крок і розпочав свої пошуки, щоб створити найсвіжішу розробку головного розробника 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 для Windows декількома способами (тобто, швидше за все, MingW / MS VCC, але також, можливо, і кланг. Ви можете шукати тут список необхідних бібліотек (їх дуже багато) emacswiki.org/emacs / BuildingEmacsWithMinGW, але ця інформація, безумовно, датована (швидше за все, десять років і так!)
wvxvw

Для 64-бітної збірки є хороший запис з emacsbinw64 на sourceforge.net/p/emacsbinw64/wiki/… - він використовує MSYS2 та MinGW-w64. Можливо, примітки nt / INSTALL слід оновити, щоб включити і цю опцію?
Брайан Бернс

@ bburns.km - дякую за посилання. Мені було цікаво, як створити 64-розрядний, але не мав вільного часу вкладати незліченну кількість годин, розбираючись. Надалі я обов’язково перевірте посилання, щоб побачити, чи це щось, що є кроком 1, 2, 3, або просто контуром, де досвідчені програмісти знають, як заповнити пропуски, які відсутні. Інструкції, такі як nt / INSTALL, в принципі марні для початківця, як я - програмісту значущий, але для мене це практично нічого не означає - тоді як мої 5-ти легких кроків справді є справжніми 1,2, 3, що будь-хто може слідувати.
законник

@lawlist Так, це гарне записування - я спробував рік-два тому зробити 32-бітну збірку, але щось пішло не так і / або я загубився в ній - як ви кажете, це досить складний для того, хто не звик будувати речі з джерела. Але інструкції emacsbinw64 трохи простіші і працюють досить добре - достатньо декількох годин, щоб пройти все це і налагодити його роботу. Думаю, я запитаю у розробника про оновлення doc / INSTALL doc - може бути 32-бітний та 64-бітний розділи. Я почав писати документ, але зрозумів, що він не надто додає інструкції emacsbinw64, але він може бути використаний там.
Брайан Бернс

Відповіді:


9

Користувачам рекомендується прочитати все, що ../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

Git-2.5.3-32-bit.exe

Запустіть інсталятор.

Далі

Далі

Стандартний каталог інсталяції є C:\Program Files\Git, але я вибрав замість цього: c:\git

Виберіть компоненти: за замовчуванням це нормально, але я нічого не вибрав.

Виберіть папку меню "Пуск": за замовчуванням це нормально, біт я вибрав не створювати папку.

Налаштування середовища PATH: за замовчуванням нормально: Використовуйте лише Git від Bash.

;; У цьому наступному розділі зверніть пильну увагу на параметр, що не використовується за замовчуванням - див. Помилку Emacs № 21582.

Налаштування рядків, що закінчують конверсії: Emacs вимагає налаштування, яке не за замовчуванням є "замовлення як є, виконувати як є"

Налаштування емулятора терміналу для використання з Git Bash: за замовчуванням нормально: Використовуйте MinTTY (термінал MSys2 за замовчуванням)

Налаштування експериментальної зміни продуктивності: я вибрав НЕ "Включити кешування файлової системи".

Готово [переглянути примітки до випуску, якщо так бажано]

ПРИМІТКА. autogen.sh(І, можливо, деякі сторонні програми) вимагають встановити gitPATH так, щоб виконувані файли (и) можна було викликати без використання абсолютного шляху. Автор цієї відповіді має особисті переваги щодо використання абсолютних шляхів та не модифікації PATH; однак, здається, більшість людей вважають за краще змінювати PATH для поточних та майбутніх сесій. Наприклад, у Windows XP, PATH можна встановити на панелі керування / Властивості системи / вкладка Додатково / Кнопка екологічних змінних, і, як видається, два (2) погляди / думки щодо того, чи повинен користувач встановлювати Змінні користувача чи Систему Змінні - шляхи розділені крапками з комою без пробілів. Ця відповідь просто встановлює PATH протягом тривалості сеансу, використовуючи exportвикладені нижче. Emacs autogen.shшукаєgit команда PATH і скаржиться, якщо її не можна знайти.

Крок №2 : ВстановитиMinGW

http://www.mingw.org/wiki/Getting_Started

mingw-get-setup.exe

c:\mingw\bin\mingw-get install mingw32-base

c:\mingw\bin\mingw-get install msys-base

c:\mingw\bin\mingw-get install autoconf

c:\mingw\bin\mingw-get install automake

c:\mingw\bin\mingw-get install msys-coreutils

c:\mingw\bin\mingw-get remove mingw32-libiconv

c:\mingw\bin\mingw-get install "libiconv=1.13.1-1"

c:\mingw\msys\1.0\msys.bat

mount c:/mingw /mingw

Крок №3 : Завантажте наступні ezwinportsпакети, зшиті та витягніть у кореневий 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оболонки.

c:\git\git-bash.exe

cd /c/docume~1/lawlist/desktop/

git clone -b master git://git.sv.gnu.org/emacs.git

exit

Крок №5 : Створіть головну гілку Emacs та скопіюйте файли .dll, коли буде зроблено.

;; відкрити загальний командний рядок

c:\mingw\msys\1.0\msys.bat

export PATH=$PATH:/c/git/bin

cd /c/docume~1/lawlist/desktop/emacs

./autogen.sh

./configure --prefix=/c/docume~1/lawlist/desktop/trunk

make

make install

;; copy the following files to the `/bin` directory where `emacs.exe` is located.

cp /c/mingw/bin/libXpm-noX4.dll /c/docume~1/lawlist/desktop/trunk/bin/libXpm-noX4.dll

cp /c/mingw/bin/libpng16-16.dll /c/docume~1/lawlist/desktop/trunk/bin/libpng16-16.dll

cp /c/mingw/bin/libtiff-5.dll /c/docume~1/lawlist/desktop/trunk/bin/libtiff-5.dll

cp /c/mingw/bin/libjpeg-9.dll /c/docume~1/lawlist/desktop/trunk/bin/libjpeg-9.dll

cp /c/mingw/bin/libgif-7.dll /c/docume~1/lawlist/desktop/trunk/bin/libgif-7.dll

cp /c/mingw/bin/librsvg-2-2.dll /c/docume~1/lawlist/desktop/trunk/bin/librsvg-2-2.dll

cp /c/mingw/bin/libgdk_pixbuf-2.0-0.dll /c/docume~1/lawlist/desktop/trunk/bin/libgdk_pixbuf-2.0-0.dll

cp /c/mingw/bin/libglib-2.0-0.dll /c/docume~1/lawlist/desktop/trunk/bin/libglib-2.0-0.dll

cp /c/mingw/bin/libgobject-2.0-0.dll /c/docume~1/lawlist/desktop/trunk/bin/libgobject-2.0-0.dll

cp /c/mingw/bin/libxml2-2.dll /c/docume~1/lawlist/desktop/trunk/bin/libxml2-2.dll

cp /c/mingw/bin/zlib1.dll /c/docume~1/lawlist/desktop/trunk/bin/zlib1.dll

Розпакуйте весь вміст gnutls-3.3.11-w32-bin.zipдоC:\Documents and Settings\lawlist\Desktop\trunk


РУЧНА МОНТАЖ - MinGW / MSYS / EZwinports

Для тих пригодних душ, які зацікавлені зробити встановлення MinGW / MSYS / EZwinports вручну, наведені нижче файли, які використовуються цим автором у Windows XP для створення успішної 32-бітної збірки із наступними параметрами конфігурації, включеними за замовчуванням. Налаштування та конфігурація залежать від особистих уподобань окремих користувачів і виходять за рамки цієї відповіді.

Configured for 'i686-pc-mingw32'.
Where should the build process find the source code?    .
What compiler should emacs be built with?               gcc -std=gnu99  -g3 -O 2 -gdwarf-2
Should Emacs use the GNU version of malloc?             no
  (The GNU allocators don't work with this system configuration.)
Should Emacs use a relocating allocator for buffers?    no
Should Emacs use mmap(2) for buffer allocation?         yes
What window system should Emacs use?                    w32
What toolkit should Emacs use?                          none
Where do we find X Windows header files?                NONE
Where do we find X Windows libraries?                   NONE
Does Emacs use -lXaw3d?                                 no
Does Emacs use -lXpm?                                   yes
Does Emacs use -ljpeg?                                  yes
Does Emacs use -ltiff?                                  yes
Does Emacs use a gif library?                           yes
Does Emacs use a png library?                           yes
Does Emacs use -lrsvg-2?                                yes
Does Emacs use cairo?                                   no
Does Emacs use imagemagick?                             no
Does Emacs support sound?                               yes
Does Emacs use -lgpm?                                   no
Does Emacs use -ldbus?                                  no
Does Emacs use -lgconf?                                 no
Does Emacs use GSettings?                               no
Does Emacs use a file notification library?             yes (w32)
Does Emacs use access control lists?                    yes
Does Emacs use -lselinux?                               no
Does Emacs use -lgnutls?                                yes
Does Emacs use -lxml2?                                  yes
Does Emacs use -lfreetype?                              no
Does Emacs use -lm17n-flt?                              no
Does Emacs use -lotf?                                   no
Does Emacs use -lxft?                                   no
Does Emacs directly use zlib?                           yes
Does Emacs use toolkit scroll bars?                     yes

EZWINPORTS

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
libXpm-3.5.11-2-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
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

MINGW

autoconf-10-1-mingw32-bin.tar.lzma
autoconf-10-1-mingw32-lic.tar.lzma
autoconf2.1-2.13-4-mingw32-bin.tar.lzma
autoconf2.5-2.68-1-mingw32-bin.tar.lzma
automake-4-1-mingw32-bin.tar.lzma
automake-4-1-mingw32-lic.tar.lzma
automake1.10-1.10.2-1-mingw32-bin.tar.lzma
automake1.11-1.11.1-1-mingw32-bin.tar.lzma
automake1.4-1.4p6-1-mingw32-bin.tar.lzma
automake1.5-1.5-1-mingw32-bin.tar.lzma
automake1.6-1.6.3-1-mingw32-bin.tar.lzma
automake1.7-1.7.9-1-mingw32-bin.tar.lzma
automake1.8-1.8.5-1-mingw32-bin.tar.lzma
automake1.9-1.9.6-3-mingw32-bin.tar.lzma
binutils-2.25.1-1-mingw32-bin.tar.xz
gcc-core-4.8.1-4-mingw32-bin.tar.lzma
gcc-core-4.8.1-4-mingw32-dev.tar.lzma
gcc-core-4.8.1-4-mingw32-dll.tar.lzma
gcc-core-4.8.1-4-mingw32-lic.tar.lzma
gdb-7.6.1-1-mingw32-bin.tar.lzma
gmp-5.1.2-1-mingw32-dll.tar.lzma
libcharset-1.13.1-1-mingw32-dll-1.tar.lzma
libiconv-1.13.1-1-mingw32-bin.tar.lzma
libiconv-1.13.1-1-mingw32-dev.tar.lzma
libiconv-1.13.1-1-mingw32-dll-2.tar.lzma
libiconv-1.13.1-1-mingw32-doc.tar.lzma
libiconv-1.13.1-1-mingw32-lic.tar.lzma
libintl-0.17-1-mingw32-dll-8.tar.lzma
libmpc-1.0.2-mingw32-dll-3.tar.xz
make-3.82.90-2-mingw32-cvs-20120902-bin.tar.lzma
mingwrt-3.21.1-mingw32-dev.tar.xz
mingwrt-3.21.1-mingw32-dll.tar.xz
mpfr-3.1.2-2-mingw32-dll.tar.lzma
pthreads-w32-2.9.1-1-mingw32-dll.tar.lzma
w32api-3.17-2-mingw32-dev.tar.lzma

MSYS

bash-3.1.23-1-msys-1.0.18-bin.tar.xz
bzip2-1.0.6-1-msys-1.0.17-bin.tar.lzma
coreutils-5.97-3-msys-1.0.13-bin.tar.lzma
coreutils-5.97-3-msys-1.0.13-doc.tar.lzma
coreutils-5.97-3-msys-1.0.13-ext.tar.lzma
coreutils-5.97-3-msys-1.0.13-lang.tar.lzma
coreutils-5.97-3-msys-1.0.13-lic.tar.lzma
diffutils-2.8.7.20071206cvs-3-msys-1.0.13-bin.tar.lzma
dos2unix-7.2.3-1-msys-1.0.18-bin.tar.lzma
file-5.04-1-msys-1.0.13-bin.tar.lzma
findutils-4.4.2-2-msys-1.0.13-bin.tar.lzma
gawk-3.1.7-2-msys-1.0.13-bin.tar.lzma
grep-2.5.4-2-msys-1.0.13-bin.tar.lzma
gzip-1.3.12-2-msys-1.0.13-bin.tar.lzma
less-436-2-msys-1.0.13-bin.tar.lzma
libbz2-1.0.6-1-msys-1.0.17-dll-1.tar.lzma
libcrypt-1.1_1-3-msys-1.0.13-dll-0.tar.lzma
libexpat-2.0.1-1-msys-1.0.13-dll-1.tar.lzma
libgdbm-1.8.3-3-msys-1.0.13-dll-3.tar.lzma
libiconv-1.14-1-msys-1.0.17-dll-2.tar.lzma
libintl-0.18.1.1-1-msys-1.0.17-dll-8.tar.lzma
liblzma-5.0.3-1-msys-1.0.17-dll-5.tar.lzma
libmagic-5.04-1-msys-1.0.13-dll-1.tar.lzma
libregex-1.20090805-2-msys-1.0.13-dll-1.tar.lzma
libtermcap-0.20050421_1-2-msys-1.0.13-dll-0.tar.lzma
libxml2-2.7.6-1-msys-1.0.13-dll-2.tar.lzma
m4-1.4.16-2-msys-1.0.17-bin.tar.lzma
make-3.81-3-msys-1.0.13-bin.tar.lzma
msysCORE-1.0.18-1-msys-1.0.18-bin.tar.lzma
msysCORE-1.0.18-1-msys-1.0.18-doc.tar.lzma
msysCORE-1.0.18-1-msys-1.0.18-ext.tar.lzma
msysCORE-1.0.18-1-msys-1.0.18-lic.tar.lzma
perl-5.8.8-1-msys-1.0.17-bin.tar.lzma
sed-4.2.1-2-msys-1.0.13-bin.tar.lzma
tar-1.23-1-msys-1.0.13-bin.tar.lzma
termcap-0.20050421_1-2-msys-1.0.13-bin.tar.lzma
texinfo-4.13a-2-msys-1.0.13-bin.tar.lzma
xz-5.0.3-1-msys-1.0.17-bin.tar.lzma
zlib-1.2.7-1-msys-1.0.17-dll.tar.lzma

1

Я спробував інструкції в 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 (також включає також побудову з випуску тарболу).

Загалом на інтерфейсі Intel i3 та високошвидкісному Інтернеті - YMMV. Зауважте, що більша частина роботи над створенням Windows - це лише налаштування середовища збирання ...


Вимоги

Загальний необхідний простір становить 3 ГБ: 1,8 ГБ для MSYS2 / MinGW-w64 і 1,2 ГБ для Emacs з повним сховищем.

Завантажте та встановіть MinGW-w64 та MSYS2

Завантажте x86_64 версію MSYS2 (тобто msys2-x86_64-.exe) з https://sourceforge.net/projects/msys2/files/Base/x86_64 .

Запустіть цей файл, щоб встановити MSYS2 у вибраному каталозі, наприклад, за замовчуванням C: \ msys64 - це також встановить MinGW-w64. Зауважте, що імена каталогів, що містять пробіли, можуть спричинити проблеми.

Тоді вам потрібно буде додати наступні каталоги до змінної середовища Windows PATH:

c:\msys64\usr\bin;c:\msys64\mingw64\bin

це можна зробити за допомогою Панелі управління / Система та безпека / Система / Розширені налаштування системи / Змінні середовища / Шлях редагування.

Додавання цих каталогів у ваш PATH повідомляє Emacs, де знайти DLL-файли, які він повинен запускати, а також деякі необов'язкові команди, такі як grep and find. Ці команди також будуть доступні на консолі Windows.

Завантажте та встановіть необхідні пакети

Запустіть msys2_shell.bat у вашому каталозі MSYS2, і ви побачите відкрите вікно BASH.

У вікні BASH використовуйте таку команду, щоб встановити необхідні пакети (ви можете скопіювати та вставити її в оболонку за допомогою Shift + Insert):

pacman -S base-devel \
mingw-w64-x86_64-toolchain \
mingw-w64-x86_64-xpm-nox \
mingw-w64-x86_64-libtiff \
mingw-w64-x86_64-giflib \
mingw-w64-x86_64-libpng \
mingw-w64-x86_64-libjpeg-turbo \
mingw-w64-x86_64-librsvg \
mingw-w64-x86_64-libxml2 \
mingw-w64-x86_64-gnutls

Тепер у вас є повне середовище побудови для Emacs.

Встановіть Git (необов’язково) та відключіть autocrlf

Якщо у вас ще немає Git у вашій системі, ви можете встановити її у вашому середовищі MSYS2 за допомогою:

pacman -S git

Функція autocrlf Git може перешкоджати файлу налаштування, тому найкраще відключити цю функцію, виконавши команду:

git config core.autocrlf false

Отримайте вихідний код Emacs

Щоб завантажити сховище Git, зробіть щось на зразок наступного - це покладе джерело Emacs у C: \ emacs \ emacs-25:

mkdir /c/emacs
cd /c/emacs
git clone git://git.sv.gnu.org/emacs.git emacs-25

Побудувати Emacs

Тепер ви готові створити та встановити Emacs з autogen, налаштувати, зробити та встановити.

Спочатку нам потрібно перейти до середовища MinGW-w64. Вийдіть з консолі MSYS2 BASH і запустіть mingw64_shell.bat у папці C: \ msys64, а потім перейдіть до вашого вихідного каталогу Emacs, наприклад:

cd /c/emacs/emacs-25

Запустіть автоген

Якщо ви будуєте джерела розробки, запустіть autogen для створення сценарію налаштування:

./autogen.sh

Запустити налаштування

Тепер ви можете запустити конфігурацію, яка буде будувати різні Makefiles.

Параметр '--prefix' визначає місце для отриманих бінарних файлів, які використовуватиме 'встановити встановлення' - у цьому прикладі ми встановлюємо його на C: \ emacs \ emacs-25. Якщо префікс не вказаний, файли будуть розміщені у стандартних каталогах Unix, що знаходяться у вашому каталозі C: ​​\ msys64, але це не рекомендується.

Зауважте також, що нам потрібно відключити Imagemagick, оскільки Emacs ще не підтримує його в Windows.

PKG_CONFIG_PATH=/mingw64/lib/pkgconfig \
./configure --prefix=/c/emacs/emacs-25 --without-imagemagick

Виконати зробити

Це дозволить компілювати Emacs та створити виконувані файли, помістивши їх у каталог src:

make

Щоб прискорити процес, можна спробувати запустити

make -jN

де N - кількість ядер у вашій системі - якщо ваш MSYS2 підтримує паралельне виконання, він запуститься значно швидше.

Запустіть make install

Тепер ви можете запустити "make install", який скопіює виконувані файли та інші файли до місця, вказаного в кроці налаштування. Це створить каталоги bin, libexec, share та var:

make install

Ви також можете сказати

make install prefix=/c/somewhere

щоб встановити їх деінде.

Тест Emacs

Щоб перевірити це, запустіть

./bin/runemacs.exe -Q

і якщо все пішло добре, у вас буде нова 64-розрядна версія Emacs.

Зробіть ярлик

Щоб створити ярлик для запуску нового Emacs, клацніть правою кнопкою миші місце, де ви хочете його розмістити, наприклад робочий стіл, виберіть New / ярлик, а потім виберіть 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, опублікованих Фондом вільного програмного забезпечення, або версії 3 Ліцензії, або (за вашим бажанням) будь-якої пізнішої версії.

GNU Emacs поширюється з надією, що це стане в нагоді, але БЕЗ БЕЗ ЯКИХ ГАРАНТІЙ; навіть не маючи на увазі гарантії ПРОДАЖУВАННЯ або ФІТНІСНОСТІ ДЛЯ ДІЯЛЬНОЇ ЦІЛІ. Детальнішу інформацію див. У Загальній публічній ліцензії GNU.

Ви повинні були отримати копію Генеральної публічної ліцензії GNU разом із GNU Emacs. Якщо ні, див. Http://www.gnu.org/licenses/ .


Подумайте про додавання кроку для копіювання будь-яких файлів .dll, які потрібно розмістити у таких же безпосередньо, як і виконуваний файл Emacs, коли збірка завершена, так що Emacs не потребує посилання на визначений загальносистемний шлях, щоб знайти ці файли. Також, ймовірно, необхідно скопіювати виконувані файли для gnutls у виконавчий каталог Emacs. Останні кроки, ймовірно, повинні бути досить схожими на конструкцію Emacs 32 в альтернативній відповіді.
законник

Так, оригінальні інструкції були написані саме так, але Елі подумала, що краще використовувати PATH - list.gnu.org/archive/html/bug-gnu-emacs/2015-12/msg01476.html. Але це ще один варіант - якщо ви хочете зробити це саме так, ви можете просто скопіювати всі DLL-файли в C: \ msys64 \ mingw64 \ bin в папку bin emacs - вони лише близько 32 Мб cp /c/msys64/mingw64/bin/*.dll bin. Хоча я мало знаю про гнилі - чи є простий спосіб перевірити це?
Брайан Бернс

У самому загальному сенсі, не використовуючи його для електронної пошти чи чогось іншого, загальний тест - це функція, яку gnutls-available-p я розумію, що причина простоти, коли йдеться лише про системні шляхи, але іноді люди можуть захотіти використовувати побудову Emacs на іншому комп'ютері та вони зададуться питанням, чому зображення та інше не працюють нестандартно. Є багато тем, що люди запитують, чому pdf-файли виглядають як безглуздість у звичайному буфері (тобто через відсутність підтримки png) чи чому вони не можуть переглядати документи або попередній перегляд у AUCTeX (з тієї ж причини).
законник

Гаразд, gnutls-available-pповертається t, використовуючи лише налаштування PATH, тому я припускаю, що він працює зараз - я надішлю патч з альтернативним методом, щоб скопіювати DLL, хоча, і, можливо, gnutls exes, якщо такі потрібні, та оновіть тут пізніше.
Брайан Бернс
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.