Existem vários repositórios de pacotes disponíveis.
Oficial
GNU ELPA é o repositório oficial de pacotes. É pequeno e requer a atribuição de direitos autorais (de todos os autores de um pacote) para a FSF para contribuir com ele.
Pacotes no GNU ELPA são realmente apenas um repositório git . A vantagem de ser hospedado aqui é que a equipe principal tenta atualizar pacotes se o próprio Emacs adicionar ou descontinuar recursos.
Construído a partir da fonte
MELPA é o maior e mais rápido repositório de pacotes. Ele lança uma nova versão toda vez que uma nova versão é enviada para um repositório ou uma página do EmacsWiki é atualizada.
É uma vantagem, mas funciona muito bem na prática. O MELPA é organizado para evitar pacotes duplicados e para garantir que a casa canônica do pacote seja registrada (em vez de um fork aleatório).
O MELPA tem o problema de que as versões são apenas timestamps, por exemplo my-package-20131231.2359
. Isso significa que se você depende do meu pacote:
;; Package-Requires: ((my-package "1.2.3"))
então o Emacs pensará que qualquer versão do MELPA é nova o suficiente.
MELPA Estável é o mesmo que MELPA, mas, em vez de usar versões de data e hora, ele usa as versões nas tags git. Isso permite uma melhor resolução de dependência, mas tem problemas com a dependência dos pacotes wiki .
Uploads de usuários
Marmalade é muito mais como um repositório tradicional de outras linguagens de programação. O desenvolvedor do pacote faz o upload do pacote para o Marmalade quando ele faz um lançamento.
Em princípio, isso fornece aos pacotes um processo de liberação adequado (o Marmalade é anterior ao MELPA estável) e também evita o problema do número de versão gerado automaticamente. No entanto, não há verificação de identidade. Qualquer pessoa pode fazer upload de um pacote, mesmo que não o tenha escrito. Isso fica difícil se o mantenedor de my-package
descobrir que outra pessoa enviou my-package
e não pode posteriormente carregar novas versões.
O Marmalade costumava ser um aplicativo node.js. Agora está escrito em elisp. Ambas as versões tiveram problemas de tempo de atividade ocasionalmente.
Projeto específico
O ELPA em modo de organização é um repositório que apenas hospeda org
e org-plus-contrib
. O modo organizacional faz parte do núcleo do Emacs, mas é desenvolvido externamente e o código é sincronizado apenas com o tronco do Emacs periodicamente. Esse repositório permite que você tenha o modo organizacional de ponta.
O User42 ELPA é um repositório para um único desenvolvedor de pacotes que lançou diversos pacotes do Emacs . Se você gosta de algum dos pacotes dele, pode adicionar este repositório.
O Sunrise Commander ELPA é um repositório de extensões para o Sunrise Commander (um pacote Emacs para navegação de arquivos, inspirado no comandante da meia-noite).
Aposentado
O ELPA da Tromey foi o primeiro repo criado. Ele foi oficialmente substituído pelo GNU ELPA, mas não tinha os mesmos requisitos de atribuição de direitos autorais. A partir de 2010, ele não é mais atualizado.
O arquivo de pacotes Elpy continha vários pacotes desenvolvidos por Jorgen Schaefer para 'Elpy, o Emacs Python Development Environment' , mas que foi migrado para o MELPA Stable.