Zanurzyłem się dzisiaj i zacząłem poszukiwania najnowszej kompilacji programistów Emacsa - znanej pod nazwą Emacs Trunk - dla systemu MS-Windows.
Znalazłem starego bloga i przeszedłem procedurę, ale spotkałem się z komunikatem o błędzie informującym, że dana metoda nie jest już obsługiwana. Komunikat o błędzie skierował mnie do odczytu: .../emacs/nt/INSTALL
. Cóż, to wszystko w porządku i eleganckie, jeśli infrastruktura do budowy Emacsa została już zainstalowana / skonfigurowana.
Przydałoby się, gdyby istniał krok 1, 2, 3, który opisuje, jakie narzędzia są potrzebne i jak przejść do instalacji / konfiguracji, ze szczególnym uwzględnieniem tworzenia Emacsa na MS-Windows.
W przypadku, gdy ktoś chciałby przygotować szczegółowy opis, prosimy o odpowiedź. Jeśli nie, sam go napiszę, gdy wymyślę, jak to zrobić. Spotkałem się z dodatkowymi przeszkodami i w międzyczasie wysłałem raport o błędzie - jeszcze nie wiem, czy to ja, czy może błąd: https://debbugs.gnu.org/cgi/bugreport.cgi? błąd = 21582
Myślę, że więcej osób skłaniałoby się do tworzenia własnych Emacsów, gdyby istniała „ściągawka”, z której mogliby korzystać początkujący programiści lub hobbystycy tacy jak ja (którzy nie są programistami z zawodu).
źródło
Odpowiedzi:
Zaleca się, aby użytkownicy przeczytali cały
../emacs/nt/INSTALL
kod źródłowy Emacsa.Szybki start - 5 łatwych kroków :
Ta odpowiedź została przetestowana na WindowsXP - SP3. Ścieżki instalacji będą musiały zostać dostosowane w zależności od indywidualnych preferencji użytkownika. W tym przykładzie:
Pulpit to:
C:\Documents and Settings\lawlist\Desktop
git
Instalacji:C:\git
MinGW
Instalacji:C:\mingw
Lokalizacja pobierania git głównego oddziału Emacsa to:
C:\Documents and Settings\lawlist\Desktop\emacs
Celem instalacji Emacsa jest:
C:\Documents and Settings\lawlist\Desktop\trunk
Krok 1 : Zainstaluj
git
i pamiętaj, aby podczas instalacji wybrać opcję „sprawdź, jak jest, zatwierdz jak jest”:https://git-scm.com/download/win
Git-2.5.3-32-bit.exe
Uruchom instalatora.
Kolejny
Kolejny
Standardowy katalog instalacyjny to
C:\Program Files\Git
, ale zamiast tego wybrałem:c:\git
Wybierz komponenty: domyślnie jest w porządku, ale zamiast tego nic nie wybrałem.
Wybierz folder menu Start: domyślnie jest w porządku, ale postanowiłem nie tworzyć folderu zamiast.
Dostosowywanie środowiska PATH: ustawienie domyślne jest w porządku: używaj Git tylko z Bash.
;; W następnej sekcji zwróć szczególną uwagę na ustawienie domyślne - patrz błąd Emacsa # 21582.
Skonfiguruj konwersje kończące linię: Emacs wymaga niestandardowego ustawienia „kasy jak jest, zatwierdza jak jest”
Konfigurowanie emulatora terminala do używania z Git Bash: domyślnie jest w porządku: użyj MinTTY (domyślny terminal MSys2)
Konfigurowanie eksperymentalnych poprawek wydajności: NIE wybrałem „Włącz buforowanie systemu plików”.
Zakończ [w razie potrzeby wyświetl informacje o wersji]
UWAGA:
autogen.sh
(i być może niektóre programy innych firm) wymagają ustawieniagit
ŚCIEŻKI, aby można było wywoływać pliki wykonywalne bez użycia ścieżki bezwzględnej. Autor tej odpowiedzi ma osobiste preferencje do używania ścieżek bezwzględnych i nie modyfikowania ŚCIEŻKI; jednak większość ludzi woli modyfikować PATH dla bieżących i przyszłych sesji. Na przykład w systemie Windows XP zmienną PATH można ustawić za pomocą przycisku Panel sterowania / Właściwości systemu / zakładka Zaawansowane / Zmienne środowiskowe. Wydaje się, że istnieją dwa (2) widoki / opinie dotyczące tego, czy użytkownik powinien ustawić Zmienne użytkownika czy system Zmienne - ścieżki są oddzielone średnikami bez spacji. Ta odpowiedź po prostu ustawia ŚCIEŻKĘ na czas trwania sesji, używającexport
przedstawionych poniżej. Emacsautogen.sh
szukagit
dowodzić ŚCIEŻKĄ i narzeka, jeśli nie można jej znaleźć.Krok 2 : Zainstaluj
MinGW
http://www.mingw.org/wiki/Getting_Started
mingw-get-setup.exe
Krok numer 3 : Pobierz następujące
ezwinports
spakowane pakiety i rozpakuj je domingw
katalogu głównego .https://sourceforge.net/projects/ezwinports/files/
;; rozpakuj wszystkie poniższe pakiety ezwinports
c:/mingw
, zastępując wszelkie duplikaty.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
Krok 4 : Pobierz najnowsze pliki źródłowe głównego oddziału Emacsa za pomocą
git-bash
powłoki.Krok numer 5 : Zbuduj gałąź główną Emacsa i po zakończeniu skopiuj pliki .dll.
;; otwórz ogólny wiersz polecenia
Rozpakuj całą zawartość
gnutls-3.3.11-w32-bin.zip
doC:\Documents and Settings\lawlist\Desktop\trunk
RĘCZNA INSTALACJA - MinGW / MSYS / EZwinports
Dla tych odważnych dusz, które są zainteresowane ręczną instalacją MinGW / MSYS / EZwinports, poniższe pliki są używane przez tego autora w systemie Windows XP do utworzenia udanej 32-bitowej kompilacji z domyślnie włączonymi następującymi opcjami konfiguracji. Konfiguracja i konfiguracja będą się różnić w zależności od osobistych preferencji poszczególnych użytkowników i wykraczają poza zakres tej odpowiedzi.
EZWINPORTS
MINGW
MSYS
źródło
W zeszłym roku wypróbowałem instrukcje w emacs / nt / INSTALL dla kompilacji 32-bitowej, ale coś poszło nie tak (dokładnie nie pamiętam co dokładnie), więc ostatnio wypróbowałem instrukcje dla emacsbinw64 - działało bardzo dobrze i to łatwiej było również uzyskać niezbędne biblioteki. Używa MSYS2 i MinGW-w64 do kompilacji 64-bitowej - projekt emacsbinw64 zapewnia pliki binarne na https://sourceforge.net/projects/emacsbinw64/files/ .
Napisałem więc kilka instrukcji zgodnie z tym konspektem, z opiniami Eli Zaretskiego i autora Chrisa Zhenga - pełna wersja jest pod adresem http://git.savannah.gnu.org/cgit/emacs.git/plain/nt/INSTALL .W64? H = emacs-25 (obejmuje również kompilację z archiwum wydania).
Łącznie zajęło to około 90 minut w przypadku procesora Intel i3 i szybkiego łącza internetowego - YMMV. Pamiętaj, że większość pracy związanej z budowaniem w systemie Windows polega tylko na skonfigurowaniu środowiska kompilacji ...
Wymagania
Wymagane miejsce to 3 GB: 1,8 GB dla MSYS2 / MinGW-w64 i 1,2 GB dla Emacsa z pełnym repozytorium.
Pobierz i zainstaluj MinGW-w64 i MSYS2
Pobierz wersję MSYS2 x86_64 (tj. Msys2-x86_64-.exe) z https://sourceforge.net/projects/msys2/files/Base/x86_64 .
Uruchom ten plik, aby zainstalować MSYS2 w preferowanym katalogu, np. Domyślnym C: \ msys64 - spowoduje to również instalację MinGW-w64. Pamiętaj, że nazwy katalogów zawierające spacje mogą powodować problemy.
Następnie musisz dodać następujące katalogi do zmiennej środowiskowej PATH systemu Windows:
możesz to zrobić za pomocą Panelu sterowania / System i zabezpieczenia / System / Zaawansowane ustawienia systemu / Zmienne środowiskowe / Ścieżka edycji.
Dodanie tych katalogów do PATH informuje Emacsa, gdzie znaleźć biblioteki DLL, które musi uruchomić, oraz niektóre opcjonalne polecenia, takie jak grep i find. Te polecenia będą również dostępne w konsoli Windows.
Pobierz i zainstaluj niezbędne pakiety
Uruchom msys2_shell.bat w katalogu MSYS2, a zobaczysz otwarte okno BASH.
W wierszu BASH użyj następującego polecenia, aby zainstalować niezbędne pakiety (możesz skopiować i wkleić go do powłoki za pomocą Shift + Insert):
Masz teraz pełne środowisko kompilacji dla Emacsa.
Zainstaluj Git (opcjonalnie) i wyłącz autocrlf
Jeśli nie masz Git w swoim systemie, możesz zainstalować go w środowisku MSYS2 za pomocą:
Funkcja autocrlf Git może zakłócać plik konfiguracyjny, dlatego najlepiej wyłączyć tę funkcję, uruchamiając polecenie:
Pobierz kod źródłowy Emacsa
Aby pobrać repozytorium Git, wykonaj następujące czynności - spowoduje to umieszczenie źródła Emacsa w C: \ emacs \ emacs-25:
Buduj Emacsa
Teraz jesteś gotowy do budowania i instalowania Emacsa z autogenem, konfigurowania, tworzenia i instalacji.
Najpierw musimy przejść do środowiska MinGW-w64. Wyjdź z konsoli BASYS MSYS2 i uruchom plik mingw64_shell.bat w folderze C: \ msys64, a następnie wróć do katalogu źródłowego Emacsa, np .:
Uruchom autogen
Jeśli budujesz źródła programistyczne, uruchom autogen, aby wygenerować skrypt konfiguracyjny:
Uruchom konfigurację
Teraz możesz uruchomić config, który zbuduje różne Makefile.
Opcja „--prefix” określa lokalizację wynikowych plików binarnych, z których skorzysta „make install” - w tym przykładzie ustawiliśmy ją na C: \ emacs \ emacs-25. Jeśli prefiks nie zostanie określony, pliki zostaną umieszczone w standardowych katalogach uniksowych znajdujących się w katalogu C: \ msys64, ale nie jest to zalecane.
Pamiętaj również, że musimy wyłączyć Imagemagick, ponieważ Emacs nie obsługuje go jeszcze w systemie Windows.
Uruchom make
Spowoduje to kompilację Emacsa i kompilację plików wykonywalnych, umieszczając je w katalogu src:
Aby przyspieszyć proces, możesz spróbować uruchomić
gdzie N jest liczbą rdzeni w twoim systemie - jeśli twój MSYS2 obsługuje równoległe wykonywanie, będzie działał znacznie szybciej.
Uruchom make install
Teraz możesz uruchomić polecenie „make install”, które skopiuje plik wykonywalny i inne pliki do lokalizacji określonej w kroku konfiguracji. Spowoduje to utworzenie katalogów bin, libexec, share i var:
Możesz też powiedzieć
zainstalować je gdzie indziej.
Przetestuj Emacsa
Aby to przetestować, uruchom
a jeśli wszystko pójdzie dobrze, będziesz mieć nową 64-bitową wersję Emacsa.
Zrób skrót
Aby utworzyć skrót do uruchomienia nowego Emacsa, kliknij prawym przyciskiem myszy lokalizację, w której chcesz go umieścić, np. Pulpit, wybierz Nowy / Skrót, a następnie wybierz runemacs.exe w folderze bin nowego Emacsa i nadaj mu nazwę .
Możesz ustawić dowolne opcje wiersza poleceń, klikając prawym przyciskiem myszy wynikowy skrót, wybierz Właściwości, a następnie dodaj dowolne opcje do polecenia Cel, np. --Debug-init.
Kredyty
Podziękowania dla Chrisa Zhenga za oryginalny konspekt kompilacji używany w projekcie emacsbinw64, który znajduje się na stronie https://sourceforge.net/p/emacsbinw64/wiki/Build%20guideline%20for%20MSYS2-MinGW-w64%20system/ .
Licencja
Ten plik jest częścią GNU Emacs.
GNU Emacs jest wolnym oprogramowaniem: możesz go redystrybuować i / lub modyfikować zgodnie z warunkami Powszechnej Licencji Publicznej GNU opublikowanej przez Free Software Foundation, albo w wersji 3 Licencji, albo (według twojego wyboru) dowolnej późniejszej wersji.
GNU Emacs jest rozpowszechniany w nadziei, że będzie użyteczny, ale BEZ ŻADNEJ GWARANCJI; nawet bez dorozumianej gwarancji PRZYDATNOŚCI HANDLOWEJ lub PRZYDATNOŚCI DO OKREŚLONEGO CELU. Aby uzyskać więcej informacji, zobacz Powszechną Licencję Publiczną GNU.
Powinieneś otrzymać kopię Powszechnej Licencji Publicznej GNU wraz z GNU Emacs. Jeśli nie, zobacz http://www.gnu.org/licenses/ .
źródło
cp /c/msys64/mingw64/bin/*.dll bin
. Jednak niewiele wiem o gnutlach - czy istnieje prosty sposób, aby to sprawdzić?gnutls-available-p
Rozumiem powód prostoty, odnosząc się tylko do ścieżek systemowych, ale czasami ludzie mogą chcieć używać Emacsa na innym komputerze i będą się zastanawiać, dlaczego obrazy i inne rzeczy nie działają od razu po wyjęciu z pudełka. Istnieje wiele wątków, w których ludzie pytają, dlaczego pliki pdf wyglądają jak bełkot w zwykłym buforze (tj. Dlatego, że brak obsługi png) lub dlaczego nie mogą przeglądać dokumentów lub wyświetlać podglądu w AUCTeX (z tego samego powodu).gnutls-available-p
zwraca t używając tylko ustawienia PATH, więc założę, że teraz działa - prześlę łatkę z alternatywną metodą, aby skopiować biblioteki DLL, i prawdopodobnie exe gnutls, jeśli są potrzebne, i zaktualizuj tutaj później.