Ich habe heute den Sprung gewagt und mich auf die Suche nach dem neuesten Emacs Master Branch Developer Build - auch bekannt als Emacs Trunk - für MS-Windows gemacht.
Ich fand ein altes Blog und ging die Prozedur durch, nur um eine Fehlermeldung zu erhalten, die mir mitteilte, dass eine bestimmte Methode nicht mehr unterstützt wurde. Die Fehlermeldung verwies mich auf : .../emacs/nt/INSTALL
. Nun, das ist alles in Ordnung, wenn die Infrastruktur zum Erstellen von Emacs bereits installiert / konfiguriert wurde.
Es wäre sicher praktisch, wenn es einen Schritt 1, 2, 3 gäbe, in dem beschrieben wird, welche Tools benötigt werden und wie diese installiert und konfiguriert werden müssen, um Emacs unter MS-Windows zu erstellen.
Für den Fall, dass jemand eine ausführliche Beschreibung vorbereiten möchte, können Sie gerne eine Antwort posten. Wenn nicht, werde ich selbst eine aufschreiben, sobald ich herausgefunden habe, wie es geht. Ich bin auf zusätzliche Straßensperren gestoßen und habe in der Zwischenzeit einen Fehlerbericht eingereicht - ich weiß noch nicht, ob ich es bin oder vielleicht ein Fehler: https://debbugs.gnu.org/cgi/bugreport.cgi? Fehler = 21582
Ich denke, mehr Leute würden dazu neigen, ihre eigenen Emacs zu bauen, wenn es einen "Spickzettel" gäbe, der von beginnenden Programmierern oder Hobbyisten wie mir (die von Beruf keine Programmierer sind) verwendet werden könnte.
quelle
Antworten:
Es wird empfohlen, dass Benutzer den gesamten
../emacs/nt/INSTALL
im Emacs-Quellcode enthaltenen Code lesen .Schnellstart - 5 einfache Schritte :
Diese Antwort wurde unter Windows XP - SP3 getestet. Die Installationspfade müssen basierend auf den individuellen Vorlieben des Benutzers angepasst werden. In diesem Beispiel:
Der Desktop ist:
C:\Documents and Settings\lawlist\Desktop
Die
git
Installation ist:C:\git
Die
MinGW
Installation ist:C:\mingw
Der Git-Download-Speicherort der Emacs-Hauptniederlassung lautet:
C:\Documents and Settings\lawlist\Desktop\emacs
Das Ziel für die Emacs-Installation ist:
C:\Documents and Settings\lawlist\Desktop\trunk
Schritt Nummer 1 : Installieren Sie
git
und stellen Sie sicher, dass Sie während der Installation "Checkout as is is, Commit as as is" auswählen:https://git-scm.com/download/win
Git-2.5.3-32-bit.exe
Führen Sie das Installationsprogramm aus.
Nächster
Nächster
Standardinstallationsverzeichnis ist
C:\Program Files\Git
, aber ich wählte stattdessen:c:\git
Komponenten auswählen: Standard ist in Ordnung, aber ich habe stattdessen nichts ausgewählt.
Startmenüordner auswählen: Standard ist in Ordnung, aber ich habe mich dafür entschieden, stattdessen keinen Ordner zu erstellen.
Anpassen Ihrer PATH-Umgebung: Standard ist in Ordnung: Verwenden Sie Git nur von Bash.
;; Achten Sie in diesem nächsten Abschnitt genau auf die nicht standardmäßige Einstellung - siehe Emacs-Fehler Nr. 21582.
Konfigurieren der Konvertierungen für das Zeilenende: Emacs erfordert eine nicht standardmäßige Einstellung von "Checkout wie besehen, Commit wie es ist".
Konfigurieren des Terminalemulators für die Verwendung mit Git Bash: Standard ist in Ordnung: Verwenden Sie MinTTY (das Standardterminal von MSys2).
Konfigurieren von experimentellen Leistungsverbesserungen: Ich habe NICHT "Dateisystem-Caching aktivieren" ausgewählt.
Fertig stellen [ggf. Versionshinweise anzeigen]
HINWEIS:
autogen.sh
(und möglicherweise einige Programme von Drittanbietern) erforderngit
, dass der Pfad festgelegt wird, damit die ausführbare (n) Datei (en) aufgerufen werden können, ohne den absoluten Pfad zu verwenden. Der Autor dieser Antwort hat eine persönliche Präferenz dafür, absolute Pfade zu verwenden und den PFAD nicht zu ändern. Die meisten Leute scheinen es jedoch vorzuziehen, den PFAD für aktuelle und zukünftige Sitzungen zu ändern. Unter Windows XP kann der Pfad beispielsweise über die Schaltfläche Systemsteuerung / Systemeigenschaften / Registerkarte Erweitert / Umgebungsvariablen festgelegt werden, und es scheint zwei (2) Ansichten / Meinungen darüber zu geben, ob ein Benutzer die Benutzervariablen oder das System festlegen soll Variablen - Pfade werden durch Semikolons ohne Leerzeichen getrennt. Diese Antwort legt einfach den PFAD für die Dauer der Sitzung unter Verwendungexport
der unten angegebenen fest. Der Emacsautogen.sh
sucht dengit
Befehl auf dem Pfad und beschwert sich, wenn es nicht gefunden werden kann.Schritt Nummer 2 : Installieren
MinGW
http://www.mingw.org/wiki/Getting_Started
mingw-get-setup.exe
Schritt Nummer 3 : Laden Sie die folgenden
ezwinports
komprimierten Pakete herunter und extrahieren Sie sie in das Stammverzeichnismingw
.https://sourceforge.net/projects/ezwinports/files/
;; Entpacken Sie alle folgenden ezwinports-Pakete in
c:/mingw
und überschreiben Sie alle Duplikate.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
Schritt Nummer 4 : Laden Sie die neuesten Emacs-Master-Zweigquelldateien mithilfe einer
git-bash
Shell herunter .Schritt Nummer 5 : Erstellen Sie den Emacs-Hauptzweig und kopieren Sie die DLL-Dateien, wenn Sie fertig sind.
;; Öffnen Sie die generische Eingabeaufforderung
Entpacken Sie den gesamten Inhalt von
gnutls-3.3.11-w32-bin.zip
bisC:\Documents and Settings\lawlist\Desktop\trunk
MANUELLE INSTALLATION - MinGW / MSYS / EZwinports
Für diejenigen abenteuerlustigen Menschen, die an einer manuellen Installation von MinGW / MSYS / EZwinports interessiert sind, sind die folgenden Dateien, die dieser Autor unter Windows XP verwendet, um einen erfolgreichen 32-Bit-Build mit den folgenden standardmäßig aktivierten Konfigurationsoptionen zu erstellen. Die Einrichtung und Konfiguration hängt von den persönlichen Vorlieben der einzelnen Benutzer ab und geht über den Rahmen dieser Antwort hinaus.
EZWINPORTS
MINGW
MSYS
quelle
Ich hatte letztes Jahr die Anweisungen in emacs / nt / INSTALL für den 32-Bit-Build ausprobiert, aber etwas ist schiefgegangen (ich weiß nicht mehr genau, was), also habe ich kürzlich die Anweisungen für emacsbinw64 ausprobiert - es hat sehr gut funktioniert und es hat funktioniert war einfacher, auch die notwendigen Bibliotheken zu bekommen. Es verwendet MSYS2 und MinGW-w64 für einen 64-Bit-Build - das emacsbinw64-Projekt bietet Binärdateien unter https://sourceforge.net/projects/emacsbinw64/files/ .
Deshalb habe ich einige Anweisungen nach diesem Entwurf mit dem Feedback von Eli Zaretski und dem Autor Chris Zheng verfasst. Die Vollversion finden Sie unter http://git.savannah.gnu.org/cgit/emacs.git/plain/nt/INSTALL .W64? H = emacs-25 (beinhaltet auch das Bauen aus einem Release-Tarball).
Bei einer Intel i3- und Hochgeschwindigkeits-Internetverbindung (YMMV) dauerte dies insgesamt etwa 90 Minuten. Beachten Sie, dass der größte Teil der Arbeit zum Erstellen unter Windows darin besteht, nur die Build-Umgebung einzurichten ...
Bedarf
Der insgesamt benötigte Speicherplatz beträgt 3 GB: 1,8 GB für MSYS2 / MinGW-w64 und 1,2 GB für Emacs mit dem vollständigen Repository.
Laden Sie MinGW-w64 und MSYS2 herunter und installieren Sie es
Laden Sie die x86_64-Version von MSYS2 (dh msys2-x86_64-.exe) von https://sourceforge.net/projects/msys2/files/Base/x86_64 herunter .
Führen Sie diese Datei aus, um MSYS2 in Ihrem bevorzugten Verzeichnis zu installieren, z. B. das Standardverzeichnis C: \ msys64. Dadurch wird auch MinGW-w64 installiert. Beachten Sie, dass Verzeichnisnamen, die Leerzeichen enthalten, Probleme verursachen können.
Anschließend müssen Sie Ihrer Windows PATH-Umgebungsvariablen die folgenden Verzeichnisse hinzufügen:
Sie können dies über Systemsteuerung / System und Sicherheit / System / Erweiterte Systemeinstellungen / Umgebungsvariablen / Bearbeitungspfad tun.
Durch Hinzufügen dieser Verzeichnisse zu Ihrem PATH wird Emacs mitgeteilt, wo sich die DLLs befinden, die ausgeführt werden sollen, sowie einige optionale Befehle wie grep und find. Diese Befehle sind auch in der Windows-Konsole verfügbar.
Laden Sie die erforderlichen Pakete herunter und installieren Sie sie
Führen Sie msys2_shell.bat in Ihrem MSYS2-Verzeichnis aus, und ein BASH-Fenster wird geöffnet.
Verwenden Sie in der BASH-Eingabeaufforderung den folgenden Befehl, um die erforderlichen Pakete zu installieren (Sie können sie mit Umschalt + Einfügen kopieren und in die Shell einfügen):
Sie haben jetzt eine vollständige Build-Umgebung für Emacs.
Installieren Sie Git (optional) und deaktivieren Sie autocrlf
Wenn Sie Git noch nicht auf Ihrem System haben, können Sie es in Ihrer MSYS2-Umgebung installieren mit:
Die Autocrlf-Funktion von Git kann die Konfigurationsdatei beeinträchtigen. Deaktivieren Sie diese Funktion daher am besten, indem Sie den folgenden Befehl ausführen:
Holen Sie sich den Emacs-Quellcode
Gehen Sie wie folgt vor, um das Git-Repository herunterzuladen: Dadurch wird die Emacs-Quelle in C: \ emacs \ emacs-25 verschoben:
Baue Emacs
Jetzt können Sie Emacs mit Autogen erstellen und installieren, konfigurieren, erstellen und installieren.
Zuerst müssen wir zur MinGW-w64-Umgebung wechseln. Beenden Sie die MSYS2 BASH-Konsole und führen Sie mingw64_shell.bat im Ordner C: \ msys64 aus. Anschließend kehren Sie in Ihr Emacs-Quellverzeichnis zurück, z.
Führen Sie autogen aus
Wenn Sie die Entwicklungsquellen erstellen, führen Sie autogen aus, um das Konfigurationsskript zu generieren:
Führen Sie configure aus
Jetzt können Sie configure ausführen, wodurch die verschiedenen Makefiles erstellt werden.
Die Option '--prefix' gibt einen Speicherort für die resultierenden Binärdateien an, die von 'make install' verwendet werden. In diesem Beispiel setzen wir ihn auf C: \ emacs \ emacs-25. Wenn kein Präfix angegeben wird, werden die Dateien in den Standard-Unix-Verzeichnissen in Ihrem Verzeichnis C: \ msys64 abgelegt. Dies wird jedoch nicht empfohlen.
Beachten Sie auch, dass wir Imagemagick deaktivieren müssen, da Emacs es unter Windows noch nicht unterstützt.
Führen Sie make aus
Dadurch werden Emacs kompiliert, die ausführbaren Dateien erstellt und im Verzeichnis src abgelegt:
Um den Vorgang zu beschleunigen, können Sie versuchen, ihn auszuführen
Dabei ist N die Anzahl der Kerne in Ihrem System. Wenn Ihr MSYS2-Make die parallele Ausführung unterstützt, wird es erheblich schneller ausgeführt.
Führen Sie make install aus
Jetzt können Sie "make install" ausführen, wodurch die ausführbare Datei und andere Dateien an den im Konfigurationsschritt angegebenen Speicherort kopiert werden. Dadurch werden die Verzeichnisse bin, libexec, share und var erstellt:
Du kannst auch sagen
um sie woanders zu installieren.
Testen Sie Emacs
Führen Sie es aus, um es zu testen
und wenn alles gut gegangen ist, haben Sie eine neue 64-Bit-Version von Emacs.
Machen Sie eine Verknüpfung
Um eine Verknüpfung zum Ausführen der neuen Emacs zu erstellen, klicken Sie mit der rechten Maustaste auf den Speicherort, an dem Sie sie ablegen möchten, z. B. den Desktop, wählen Sie Neu / Verknüpfung aus, wählen Sie dann runemacs.exe im Ordner bin der neuen Emacs aus und geben Sie ihm einen Namen .
Sie können beliebige Befehlszeilenoptionen festlegen, indem Sie mit der rechten Maustaste auf die resultierende Verknüpfung klicken, Eigenschaften auswählen und dem Befehl Ziel beliebige Optionen hinzufügen, z. B. --debug-init.
Credits
Vielen Dank an Chris Zheng für die ursprüngliche Build-Gliederung, die vom emacsbinw64-Projekt unter https://sourceforge.net/p/emacsbinw64/wiki/Build%20guideline%20for%20MSYS2-MinGW-w64%20system/ verwendet wird .
Lizenz
Diese Datei ist Teil von GNU Emacs.
GNU Emacs ist freie Software: Sie können sie unter den Bedingungen der GNU General Public License, wie sie von der Free Software Foundation veröffentlicht wurde, entweder Version 3 der Lizenz oder (nach Ihrer Wahl) jeder späteren Version weitergeben und / oder ändern.
GNU Emacs wird in der Hoffnung verteilt, dass es nützlich sein wird, jedoch OHNE JEGLICHE GARANTIE; ohne auch nur die implizite Garantie der MARKTGÄNGIGKEIT oder EIGNUNG FÜR EINEN BESTIMMTEN ZWECK. Weitere Informationen finden Sie in der GNU General Public License.
Sie sollten eine Kopie der GNU General Public License zusammen mit GNU Emacs erhalten haben. Wenn nicht, siehe http://www.gnu.org/licenses/ .
quelle
cp /c/msys64/mingw64/bin/*.dll bin
. Ich weiß allerdings nicht viel über Gnutls - gibt es eine einfache Möglichkeit, es auszuprobieren?gnutls-available-p
ich verstehe, der Grund für die Einfachheit, wenn ich mich nur auf die Systempfade beziehe, aber manchmal möchten die Leute die Emacs verwenden, die auf einem anderen Computer und einem anderen Computer erstellt wurden Sie werden sich fragen, warum Bilder und andere Dinge nicht sofort funktionieren. Es gibt viele Threads mit Leuten, die fragen, warum PDF-Dateien in einem regulären Puffer wie Kauderwelsch aussehen (dh weil die PNG-Unterstützung fehlt) oder warum sie in AUCTeX keine Dokumentansicht oder Vorschau durchführen können (aus demselben Grund).gnutls-available-p
gibt t nur mit der PATH-Einstellung zurück, also gehe ich davon aus, dass es jetzt funktioniert - ich werde einen Patch mit der alternativen Methode zum Kopieren der DLLs und möglicherweise der gnutls-Exes einreichen, falls diese benötigt werden, und hier aktualisieren später.