Tomei a iniciativa hoje e comecei minha missão de criar a mais recente versão do desenvolvedor do ramo mestre do Emacs - o Emacs Trunk - para MS-Windows.
Encontrei um blog antigo e segui o procedimento, apenas para receber uma mensagem de erro informando que um método específico não era mais suportado. A mensagem de erro remeteu-me para ler: .../emacs/nt/INSTALL
. Bem, está tudo bem e elegante se a infraestrutura para a construção do Emacs já tiver sido instalada / configurada.
Certamente seria útil se houvesse uma etapa 1, 2, 3 que descreva quais ferramentas são necessárias e como proceder para instalá-las / configurá-las com um olhar específico para a criação do Emacs no MS-Windows.
Caso alguém deseje preparar um artigo detalhado, sinta-se à vontade para postar uma resposta. Caso contrário, eu mesmo escreverei um assim que descobrir como fazê-lo. Fui recebido com bloqueios adicionais e enviei um relatório de bug nesse meio tempo - ainda não sei se sou eu, ou talvez seja um bug: https://debbugs.gnu.org/cgi/bugreport.cgi? bug = 21582
Eu acho que mais pessoas estariam inclinadas a construir seu próprio Emacs se houvesse um "truque" que pudesse ser usado por programadores iniciantes ou entusiastas como eu (que não são programadores por profissão).
fonte
Respostas:
É recomendável que os usuários leiam todo o
../emacs/nt/INSTALL
conteúdo do código-fonte do Emacs.Início rápido - 5 etapas fáceis :
Esta resposta foi testada no WindowsXP-SP3. Os caminhos da instalação precisarão ser ajustados com base nas preferências individuais do usuário. Neste exemplo:
A área de trabalho é:
C:\Documents and Settings\lawlist\Desktop
A
git
instalação é:C:\git
A
MinGW
instalação é:C:\mingw
O local do download git do ramo principal do Emacs é:
C:\Documents and Settings\lawlist\Desktop\emacs
O destino para a instalação do Emacs é:
C:\Documents and Settings\lawlist\Desktop\trunk
Etapa número 1 : instale
git
e certifique-se de selecionar "checkout como está, confirmar como está" durante a instalação:https://git-scm.com/download/win
Git-2.5.3-32-bit.exe
Execute o instalador.
Próximo
Próximo
O diretório de instalação padrão é
C:\Program Files\Git
, mas eu escolhi:c:\git
Selecionar componentes: o padrão é bom, mas não escolhi nada.
Selecione a pasta do menu Iniciar: o padrão é bom, mas optei por não criar uma pasta.
Ajustando seu ambiente PATH: o padrão é bom: use o Git apenas do Bash.
;; Para esta próxima seção, preste muita atenção à configuração não padrão - consulte o bug # 21582 do Emacs.
Configure as conversões de final de linha: O Emacs requer uma configuração não padrão de "check-out como está, confirmar como está"
Configurar o emulador de terminal para usar com o Git Bash: o padrão é bom: use MinTTY (o terminal padrão do MSys2)
Configurando ajustes de desempenho experimental: escolhi NÃO para "Ativar o cache do sistema de arquivos".
Concluir [veja as notas de versão, se desejar]
NOTA:
autogen.sh
(e talvez alguns programas de terceiros) exigem que ogit
PATH seja definido para que os executáveis possam ser chamados sem usar o caminho absoluto. O autor desta resposta tem uma preferência pessoal por usar caminhos absolutos e não modificar o PATH; no entanto, a maioria das pessoas parece preferir modificar o PATH para sessões atuais e futuras. No Windows XP, por exemplo, o PATH pode ser definido no painel Painel de Controle / Propriedades do Sistema / guia Avançado / botão Variáveis Ambientais, e parece haver duas (2) visualizações / opiniões sobre se um usuário deve definir as Variáveis do Usuário ou o Sistema Variáveis - os caminhos são separados por ponto e vírgula sem espaços. Esta resposta simplesmente define o CAMINHO para a duração da sessãoexport
, conforme estabelecido abaixo. O Emacsautogen.sh
procura ogit
comando no PATH e reclama se não puder ser encontrado.Etapa número 2 : instalar
MinGW
http://www.mingw.org/wiki/Getting_Started
mingw-get-setup.exe
Etapa número 3 : Faça o download dos seguintes
ezwinports
pacotes compactados e extraia para omingw
diretório raiz .https://sourceforge.net/projects/ezwinports/files/
;; descompacte todos os seguintes pacotes ezwinports em
c:/mingw
, substituindo quaisquer duplicatas.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
Etapa número 4 : Faça o download dos arquivos de origem da ramificação principal do Emacs mais recentes usando um
git-bash
shell.Etapa número 5 : crie a ramificação principal do Emacs e copie os arquivos .dll quando terminar.
;; Prompt de comando genérico aberto
Descompacte todo o conteúdo de
gnutls-3.3.11-w32-bin.zip
paraC:\Documents and Settings\lawlist\Desktop\trunk
INSTALAÇÃO MANUAL - MinGW / MSYS / EZwinports
Para as almas aventureiras que estão interessadas em fazer uma instalação manual do MinGW / MSYS / EZwinports, a seguir estão os arquivos usados por este autor no Windows XP para criar uma compilação de 32 bits bem-sucedida com as seguintes opções de configuração ativadas por padrão. A instalação e a configuração variarão de acordo com as preferências pessoais dos usuários individuais e estão além do escopo desta resposta.
EZWINPORTS
MINGW
MSYS
fonte
Eu tentei as instruções no emacs / nt / INSTALL no ano passado para a compilação de 32 bits, mas algo deu errado (não me lembro exatamente), então recentemente tentei as instruções para o emacsbinw64 - funcionou muito bem e era mais simples obter também as bibliotecas necessárias. Ele usa o MSYS2 e o MinGW-w64 para uma compilação de 64 bits - o projeto emacsbinw64 fornece binários em https://sourceforge.net/projects/emacsbinw64/files/ .
Então, eu escrevi algumas instruções seguindo esse esboço, com feedback de Eli Zaretski e do autor Chris Zheng - a versão completa está em http://git.savannah.gnu.org/cgit/emacs.git/plain/nt/INSTALL .W64? H = emacs-25 (inclui também a construção de um tarball de lançamento).
Isso levou cerca de 90 minutos no total em uma conexão com a Internet Intel i3 e alta velocidade - YMMV. Observe que a maior parte do trabalho de construção no Windows está apenas configurando o ambiente de compilação ...
Exigências
O espaço total necessário é de 3 GB: 1,8 GB para MSYS2 / MinGW-w64 e 1,2 GB para Emacs com o repositório completo.
Baixe e instale o MinGW-w64 e o MSYS2
Faça o download da versão x86_64 do MSYS2 (ou seja, msys2-x86_64-.exe) em https://sourceforge.net/projects/msys2/files/Base/x86_64 .
Execute esse arquivo para instalar o MSYS2 em seu diretório preferido, por exemplo, o C: \ msys64 padrão - isso instalará o MinGW-w64 também. Observe que os nomes de diretório que contêm espaços podem causar problemas.
Em seguida, você precisará adicionar os seguintes diretórios à sua variável de ambiente PATH do Windows:
você pode fazer isso no Painel de controle / Sistema e segurança / Sistema / Configurações avançadas do sistema / Variáveis de ambiente / Caminho de edição.
A adição desses diretórios ao PATH informa ao Emacs onde encontrar as DLLs que ele precisa executar e alguns comandos opcionais, como grep e find. Esses comandos também estarão disponíveis no console do Windows.
Baixe e instale os pacotes necessários
Execute o msys2_shell.bat no diretório MSYS2 e você verá uma janela BASH aberta.
No prompt do BASH, use o seguinte comando para instalar os pacotes necessários (você pode copiá-lo e colá-lo no shell com Shift + Insert):
Agora você tem um ambiente de compilação completo para o Emacs.
Instale o Git (opcional) e desative o autocrlf
Se você ainda não possui o Git no seu sistema, é possível instalá-lo no seu ambiente MSYS2 com:
O recurso autocrlf do Git pode interferir no arquivo de configuração, portanto, é melhor desativar esse recurso executando o comando:
Obtenha o código fonte do Emacs
Para baixar o repositório Git, faça algo como o seguinte - isso colocará a fonte do Emacs em C: \ emacs \ emacs-25:
Build Emacs
Agora você está pronto para criar e instalar o Emacs com autogen, configurar, fazer e instalar.
Primeiro, precisamos mudar para o ambiente MinGW-w64. Saia do console do MSYS2 BASH e execute mingw64_shell.bat na pasta C: \ msys64 e depois volte ao diretório de origem do Emacs, por exemplo:
Executar autogen
Se você estiver construindo as fontes de desenvolvimento, execute o autogen para gerar o script de configuração:
Execute o configure
Agora você pode executar o configure, que criará os vários Makefiles.
A opção '--prefix' especifica um local para os arquivos binários resultantes, que 'make install' usará - neste exemplo, definimos como C: \ emacs \ emacs-25. Se um prefixo não for especificado, os arquivos serão colocados nos diretórios Unix padrão localizados no diretório C: \ msys64, mas isso não é recomendado.
Observe também que precisamos desativar o Imagemagick porque o Emacs ainda não o suporta no Windows.
Run make
Isso irá compilar o Emacs e construir os executáveis, colocando-os no diretório src:
Para acelerar o processo, você pode tentar executar
onde N é o número de núcleos no seu sistema - se o seu MSYS2 suportar a execução paralela, ele será executado significativamente mais rápido.
Execute make install
Agora você pode executar "make install", que copiará os arquivos executáveis e outros para o local especificado na etapa de configuração. Isso criará os diretórios bin, libexec, share e var:
Você também pode dizer
para instalá-los em outro lugar.
Test Emacs
Para testá-lo, execute
e se tudo der certo, você terá uma nova versão de 64 bits do Emacs.
Faça um atalho
Para criar um atalho para executar o novo Emacs, clique com o botão direito do mouse no local em que deseja colocá-lo, por exemplo, na área de trabalho, selecione Novo / Atalho, depois selecione runemacs.exe na pasta bin do novo Emacs e dê um nome a ele .
Você pode definir qualquer opção de linha de comando clicando com o botão direito do mouse no atalho resultante, selecione Propriedades e adicione quaisquer opções ao comando Destino, por exemplo - --bug-init.
Créditos
Agradecemos a Chris Zheng pelo esquema de compilação original, conforme usado pelo projeto emacsbinw64, localizado em https://sourceforge.net/p/emacsbinw64/wiki/Build%20guideline%20for%20MSYS2-MinGW-w64%20system/ .
Licença
Este arquivo faz parte do GNU Emacs.
O GNU Emacs é um software livre: você pode redistribuí-lo e / ou modificá-lo sob os termos da GNU General Public License, publicada pela Free Software Foundation, versão 3 da licença ou (a seu critério) qualquer versão posterior.
O GNU Emacs é distribuído na esperança de que seja útil, mas SEM QUALQUER GARANTIA; sem sequer a garantia implícita de COMERCIALIZAÇÃO ou ADEQUAÇÃO A UM OBJETIVO ESPECÍFICO. Veja a Licença Pública Geral GNU para mais detalhes.
Você deveria ter recebido uma cópia da Licença Pública Geral GNU junto com o GNU Emacs. Caso contrário, consulte http://www.gnu.org/licenses/ .
fonte
cp /c/msys64/mingw64/bin/*.dll bin
. Eu não sei muito sobre gnutls - existe uma maneira simples de testá-lo?gnutls-available-p
Eu entendo o motivo da simplicidade ao me referir apenas aos caminhos do sistema, mas às vezes as pessoas podem querer usar o Emacs em outro computador e eles se perguntarão por que imagens e outras coisas não funcionam imediatamente. Existem muitos tópicos em que as pessoas perguntam por que os arquivos pdf parecem bobos em um buffer comum (ou seja, devido à falta de suporte a png) ou por que eles não podem exibir ou visualizar documentos no AUCTeX (mesmo motivo).gnutls-available-p
retorna t usando apenas a configuração PATH, portanto, assumirei que está funcionando por enquanto - enviarei um patch com o método alternativo para copiar as DLLs e, possivelmente, o gnutls exes, se necessário, e atualize aqui mais tarde.