J'ai franchi le pas aujourd'hui et j'ai commencé ma quête pour créer la plus récente version de développeur de branche principale Emacs - alias Emacs Trunk - pour MS-Windows.
J'ai trouvé un ancien blog et j'ai suivi la procédure, mais un message d'erreur m'a dit que cette méthode n'était plus prise en charge. Le message d'erreur m'a renvoyé comme suit: .../emacs/nt/INSTALL
. Eh bien, c'est très bien et dandy si l'infrastructure pour la construction d'Emacs a déjà été installée / configurée.
Il serait certainement utile s'il y avait une étape 1, 2, 3 qui décrit les outils nécessaires et comment procéder pour les installer / configurer avec un œil spécifique sur la création d'Emacs sur MS-Windows.
Dans le cas où quelqu'un voudrait préparer un article détaillé, n'hésitez pas à poster une réponse. Sinon, j'en rédigerai un moi-même une fois que je saurai comment le faire. J'ai rencontré des barrages routiers supplémentaires et j'ai soumis un rapport de bogue dans l'intervalle - je ne sais pas encore si c'est moi, ou peut-être un bogue: https://debbugs.gnu.org/cgi/bugreport.cgi? bug = 21582
Je pense que plus de gens seraient enclins à construire leurs propres Emacs s'il y avait une "feuille de triche" qui pourrait être utilisée par des programmeurs débutants ou des amateurs comme moi (qui ne sont pas des programmeurs de métier).
la source
Réponses:
Il est recommandé aux utilisateurs de lire l'intégralité du
../emacs/nt/INSTALL
contenu du code source d'Emacs.Démarrage rapide - 5 étapes faciles :
Cette réponse a été testée sur WindowsXP - SP3. Les chemins d'installation devront être ajustés en fonction des préférences individuelles de l'utilisateur. Dans cet exemple:
Le bureau est:
C:\Documents and Settings\lawlist\Desktop
L'
git
installation est:C:\git
L'
MinGW
installation est:C:\mingw
L'emplacement de téléchargement git de la branche principale d'Emacs est:
C:\Documents and Settings\lawlist\Desktop\emacs
L'objectif pour l'installation d'Emacs est:
C:\Documents and Settings\lawlist\Desktop\trunk
Étape numéro 1 : installez
git
et assurez-vous de sélectionner «retirer en l'état, valider tel quel» lors de l'installation:https://git-scm.com/download/win
Git-2.5.3-32-bit.exe
Exécutez le programme d'installation.
Prochain
Prochain
Le répertoire d'installation standard est
C:\Program Files\Git
, mais j'ai choisi à la place:c:\git
Sélectionnez les composants: la valeur par défaut est correcte, mais je n'ai rien choisi à la place.
Sélectionnez le dossier du menu Démarrer: la valeur par défaut est correcte, mais j'ai choisi de ne pas créer de dossier à la place.
Ajuster votre environnement PATH: la valeur par défaut est correcte: utilisez Git de Bash uniquement.
;; Pour cette section suivante, portez une attention particulière au paramètre non par défaut - voir le bogue Emacs # 21582.
Configurer les conversions de fin de ligne: Emacs nécessite un paramètre non par défaut de "check-as as-is, commit as-is"
Configuration de l'émulateur de terminal à utiliser avec Git Bash: la valeur par défaut est correcte: utilisez MinTTY (le terminal par défaut de MSys2)
Configuration des réglages expérimentaux des performances: j'ai choisi de NE PAS "Activer la mise en cache du système de fichiers".
Terminer [voir les notes de publication si vous le souhaitez]
REMARQUE:
autogen.sh
(et peut-être certains programmes tiers) nécessitent que legit
PATH soit défini pour que les exécutables puissent être appelés sans utiliser le chemin absolu. L'auteur de cette réponse a une préférence personnelle pour utiliser des chemins absolus et ne pas modifier le CHEMIN; cependant, la plupart des gens semblent préférer modifier le CHEMIN pour les sessions actuelles et futures. Sur Windows XP, par exemple, le CHEMIN peut être défini dans le Panneau de configuration / Propriétés système / onglet Avancé / bouton Variables d'environnement, et il semble y avoir deux (2) vues / opinions quant à savoir si un utilisateur doit définir les variables utilisateur ou le système Variables - les chemins sont séparés par des points-virgules sans espaces. Cette réponse définit simplement le CHEMIN pour la durée de la session en utilisant ce quiexport
est indiqué ci-dessous. L'Emacsautogen.sh
cherche legit
sur le CHEMIN et se plaint si elle est introuvable.Étape numéro 2 : installer
MinGW
http://www.mingw.org/wiki/Getting_Started
mingw-get-setup.exe
Étape numéro 3 : téléchargez les
ezwinports
packages zippés suivants et extrayez-les dans lemingw
répertoire racine .https://sourceforge.net/projects/ezwinports/files/
;; décompressez tous les packages ezwinports suivants dans
c:/mingw
, en remplaçant tous les doublons.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
Étape numéro 4 : Téléchargez les derniers fichiers source de la branche principale Emacs à l'aide d'un
git-bash
shell.Étape numéro 5 : créez la branche principale Emacs et copiez les fichiers .dll lorsque vous avez terminé.
;; ouvrir l'invite de commande générique
Décompressez le contenu de
gnutls-3.3.11-w32-bin.zip
laC:\Documents and Settings\lawlist\Desktop\trunk
INSTALLATION MANUELLE - MinGW / MSYS / EZwinports
Pour les âmes aventureuses qui souhaitent effectuer une installation manuelle de MinGW / MSYS / EZwinports, les fichiers suivants sont utilisés par cet auteur sur Windows XP pour créer une version 32 bits réussie avec les options de configuration suivantes activées par défaut. L'installation et la configuration varient en fonction des préférences personnelles de chaque utilisateur et dépassent le cadre de cette réponse.
EZWINPORTS
MINGW
MSYS
la source
J'avais essayé les instructions dans emacs / nt / INSTALL l'année dernière pour la version 32 bits, mais quelque chose s'est mal passé (je ne me souviens pas quoi, exactement), donc récemment j'ai essayé les instructions pour emacsbinw64 - cela a très bien fonctionné, et cela était aussi plus simple pour obtenir les bibliothèques nécessaires. Il utilise MSYS2 et MinGW-w64 pour une version 64 bits - le projet emacsbinw64 fournit des binaires à https://sourceforge.net/projects/emacsbinw64/files/ .
J'ai donc rédigé quelques instructions suivant ce plan, avec les commentaires d'Eli Zaretski et de l'auteur Chris Zheng - la version complète est disponible sur http://git.savannah.gnu.org/cgit/emacs.git/plain/nt/INSTALL .W64? H = emacs-25 (inclut également la construction à partir d'une archive tar de version).
Cela a pris environ 90 minutes au total sur une connexion Internet Intel i3 et haute vitesse - YMMV. Notez que la plupart du travail de construction sous Windows consiste simplement à configurer l'environnement de construction ...
Exigences
L'espace total requis est de 3 Go: 1,8 Go pour MSYS2 / MinGW-w64 et 1,2 Go pour Emacs avec le référentiel complet.
Téléchargez et installez MinGW-w64 et MSYS2
Téléchargez la version x86_64 de MSYS2 (c'est-à-dire msys2-x86_64-.exe) depuis https://sourceforge.net/projects/msys2/files/Base/x86_64 .
Exécutez ce fichier pour installer MSYS2 dans votre répertoire préféré, par exemple le C: \ msys64 par défaut - cela installera également MinGW-w64. Notez que les noms de répertoire contenant des espaces peuvent provoquer des problèmes.
Ensuite, vous devrez ajouter les répertoires suivants à votre variable d'environnement Windows PATH:
vous pouvez le faire via Panneau de configuration / Système et sécurité / Système / Paramètres système avancés / Variables d'environnement / Modifier le chemin.
L'ajout de ces répertoires à votre PATH indique à Emacs où trouver les DLL dont il a besoin pour s'exécuter, et certaines commandes facultatives comme grep et find. Ces commandes seront également disponibles sur la console Windows.
Téléchargez et installez les packages nécessaires
Exécutez msys2_shell.bat dans votre répertoire MSYS2 et vous verrez une fenêtre BASH ouverte.
Dans l'invite BASH, utilisez la commande suivante pour installer les packages nécessaires (vous pouvez le copier et le coller dans le shell avec Shift + Insert):
Vous disposez désormais d'un environnement de génération complet pour Emacs.
Installez Git (facultatif) et désactivez autocrlf
Si vous n'avez pas encore Git sur votre système, vous pouvez l'installer dans votre environnement MSYS2 avec:
La fonctionnalité autocrlf de Git peut interférer avec le fichier de configuration, il est donc préférable de désactiver cette fonctionnalité en exécutant la commande:
Obtenez le code source d'Emacs
Pour télécharger le référentiel Git, faites quelque chose comme ceci - cela placera la source Emacs dans C: \ emacs \ emacs-25:
Construire Emacs
Vous êtes maintenant prêt à construire et installer Emacs avec autogen, à configurer, à créer et à installer.
Nous devons d'abord passer à l'environnement MinGW-w64. Quittez la console MSYS2 BASH et exécutez mingw64_shell.bat dans le dossier C: \ msys64, puis retournez dans votre répertoire source Emacs, par exemple:
Exécutez autogen
Si vous créez les sources de développement, exécutez autogen pour générer le script de configuration:
Exécutez configure
Vous pouvez maintenant exécuter configure, qui construira les différents Makefiles.
L'option '--prefix' spécifie un emplacement pour les fichiers binaires résultants, que 'make install' utilisera - dans cet exemple, nous le définissons sur C: \ emacs \ emacs-25. Si aucun préfixe n'est spécifié, les fichiers seront placés dans les répertoires Unix standard situés dans votre répertoire C: \ msys64, mais ce n'est pas recommandé.
Notez également que nous devons désactiver Imagemagick car Emacs ne le prend pas encore en charge sous Windows.
Exécutez make
Cela compilera Emacs et construira les exécutables, en les plaçant dans le répertoire src:
Pour accélérer le processus, vous pouvez essayer d'exécuter
où N est le nombre de cœurs dans votre système - si votre marque MSYS2 prend en charge l'exécution parallèle, elle s'exécutera beaucoup plus rapidement.
Exécutez make install
Vous pouvez maintenant exécuter "make install", qui copiera l'exécutable et les autres fichiers à l'emplacement spécifié dans l'étape de configuration. Cela créera les répertoires bin, libexec, share et var:
Vous pouvez également dire
pour les installer ailleurs.
Testez Emacs
Pour le tester, exécutez
et si tout s'est bien passé, vous aurez une nouvelle version 64 bits d'Emacs.
Créer un raccourci
Pour créer un raccourci pour exécuter les nouveaux Emacs, faites un clic droit sur l'emplacement où vous souhaitez le placer, par exemple le bureau, sélectionnez Nouveau / Raccourci, puis sélectionnez runemacs.exe dans le dossier bin des nouveaux Emacs, et donnez-lui un nom .
Vous pouvez définir toutes les options de ligne de commande en cliquant avec le bouton droit sur le raccourci résultant, sélectionnez Propriétés, puis ajoutez des options à la commande Cible, par exemple --debug-init.
Crédits
Merci à Chris Zheng pour le plan de construction d'origine tel qu'il est utilisé par le projet emacsbinw64, situé à https://sourceforge.net/p/emacsbinw64/wiki/Build%20guideline%20for%20MSYS2-MinGW-w64%20system/ .
Licence
Ce fichier fait partie de GNU Emacs.
GNU Emacs est un logiciel libre: vous pouvez le redistribuer et / ou le modifier selon les termes de la licence publique générale GNU telle que publiée par la Free Software Foundation, soit la version 3 de la licence, soit (à votre choix) toute version ultérieure.
GNU Emacs est distribué dans l'espoir qu'il sera utile, mais SANS AUCUNE GARANTIE; sans même la garantie implicite de QUALITÉ MARCHANDE ou D'ADÉQUATION À UN USAGE PARTICULIER. Voir la Licence Publique Générale GNU pour plus de détails.
Vous devriez avoir reçu une copie de la licence publique générale GNU avec GNU Emacs. Sinon, voir http://www.gnu.org/licenses/ .
la source
cp /c/msys64/mingw64/bin/*.dll bin
. Je ne connais pas grand-chose aux gnutls - existe-t-il un moyen simple de le tester?gnutls-available-p
Je comprends la raison de la simplicité en se référant simplement aux chemins du système, mais parfois les gens peuvent vouloir utiliser la construction Emacs sur un ordinateur différent et ils se demanderont pourquoi les images et les trucs ne fonctionnent pas prêts à l'emploi. Il y a beaucoup de discussions avec des gens qui demandent pourquoi les fichiers pdf ressemblent à du charabia dans un tampon normal (c'est-à-dire parce que le support png manque), ou pourquoi ils ne peuvent pas faire de doc-view ou de prévisualisation dans AUCTeX (même raison).gnutls-available-p
renvoie t en utilisant uniquement le paramètre PATH, donc je suppose que cela fonctionne pour l'instant - je soumettrai un correctif avec la méthode alternative pour copier les DLL, et éventuellement les exes gnutls, si ceux-ci sont nécessaires, et les mettre à jour ici plus tard.