Como instalo o GnuTLS for Emacs 25.1 no Windows?

19

Acabei de atualizar o Emacs na minha máquina Windows 10 de 24.5 para 25.1. Para o Emacs 24.5, eu tinha o GnuTLS configurado corretamente e, para o 25.1, fiz o que achava que lembrava:

  1. Obtenha binários Emacs pré-criados na página de download do site GNU Emacs . Estou usando o Windows de 32 bits, então obtive a versão i686 do Emacs.

  2. Peguei uma cópia do GnuTLS no ezwinports e extraí o arquivo zip para o mesmo diretório do Emacs - a maneira como o zip do gnutls é organizado significa que, dessa forma, as DLLs e os exe de gnutls acabam no mesmo diretório que o Emacs. (Eu obtive a versão 3.3.11 dessa vez; não me lembro de qual versão do GnuTLS eu tinha quando tinha a versão 24.5 do Emacs.)

Isso não funcionou desta vez. gnutls-available-pretorna nil, o gerenciador de pacotes só pode se conectar aos repositórios http e não aos https, eww também não pode lidar com https.

Como eu configuro o GnuTLS para Emacs 25.1? Estou relembrando o que fiz por 24,5? Talvez os binários do site GNU Emacs sejam compilados sem o GnuTLS e, para a versão 24.5, eu consegui binários de outro lugar ...

Omar
fonte
Eu apaguei minha resposta original, pois ela não abordava sua versão do Emacs. Na sua pergunta, talvez você deva esclarecer que copiou os arquivos para ./bin
henning - restabelecer Monica
@henning: É isso que a frase "a forma como o gnutls zip é organizado significa que, dessa forma, tanto a DLL quanto o exe para gnutls acabam no mesmo diretório que o exe do Emacs" deveria transmitir, tentarei reformulá-la de uma maneira mais clara amanhã.
Omar
Parece mais um problema no Emacs 25.1 do que nas próprias gnutls, porque hoje eu baixei o Emacs 25.1 e tive o mesmo problema. O Emacs 24.1 chama gnutls com as opções: --insecure -p 443 --protocols ssl3, enquanto o 25.1 o chama com: -x509cafile nil -p 443. Pode ter algo a ver com essas diferentes opções de chamada.
Romario
2
Não tenho os detalhes em mãos, mas examinei brevemente isso antes. Eu acho que o Emacs 25.1 está esperando libgnutls-30.dll, mas apenas o libgnutls-28.dll é empacotado pelo ezwinports no momento.
Stuart Hickinbottom 21/09

Respostas:

29

O @StuartHickinbottom explicou o que eu estava fazendo de errado: usar libgnutls-28.dllquando o Emacs 25.1 exige o mais novo e incompatível libgnutls-30.dll. Depois, era uma questão de encontrar binários libgnutls-30.dlle outras bibliotecas necessárias. Felizmente, Phillip Lord compilou versões do Windows de todas as bibliotecas e dependências do GnuTLS e de muitas outras bibliotecas que você pode querer para o Emacs! Eles estão disponíveis aqui : obtenha emacs-25-i686-deps.zipse você usa Windows de 32 bits e obtenha emacs-25-x86_64-deps.zipse você usa 64 bits; descompacte na pasta raiz da instalação do Emacs (para que a binpasta dos arquivos zip seja descompactada na binpasta da instalação do Emacs, etc.)

EDIT: Eu descobri como descobrir qual versão de uma biblioteca o Emacs está esperando: procure na variável dynamic-library-alist.

Omar
fonte
1
Obrigado pela edição - eu nunca soube dessa variável, mas isso facilita muito o rastreamento desse tipo de coisa.
Stuart Hickinbottom 22/09
Na verdade, não compilei os binários, apenas os fechei. Todos eles devem funcionar. E preciso melhorar o README. É muito complicado.
Phil Lord
Então eu acho que eu quis dizer "compilado" no sentido de não-computador de montar uma lista de coisas a partir de várias fontes, @PhilLord :)
Omar
confirmado para trabalhar no Emacs 25.2
Lorenzo Gatti
1
@feklee Para o Emacs-26, basta descompactar o zíper e pronto - pelo menos essa é a teoria. Sim, concordou, o README precisa ser atualizado. Não há um no momento. Eu sendo lixo.
Phil Lord