Ada beberapa repositori paket yang tersedia.
Resmi
GNU ELPA adalah repo paket resmi. Ini kecil, dan membutuhkan penugasan hak cipta (dari semua penulis paket) ke FSF untuk berkontribusi padanya.
Paket-paket pada GNU ELPA benar-benar hanya repo git . Keuntungan dari di-host di sini adalah bahwa tim inti mencoba memperbarui paket jika Emacs sendiri menambah atau mengurangi fitur.
Dibangun dari sumber
MELPA adalah repo paket terbesar dan paling cepat berkembang . Ini merilis versi baru setiap kali versi baru didorong ke repo, atau halaman EmacsWiki diperbarui.
Ini ujung yang berdarah, tetapi bekerja dengan sangat baik dalam praktik. MELPA dikuratori untuk menghindari paket duplikat, dan untuk memastikan bahwa rumah kanonik paket dicatat (bukan garpu acak).
MELPA memang memiliki masalah bahwa versi hanya cap waktu, misalnya my-package-20131231.2359
. Ini berarti jika Anda bergantung pada paket saya:
;; Package-Requires: ((my-package "1.2.3"))
maka Emacs akan berpikir bahwa versi apa pun pada MELPA cukup baru.
MELPA Stable sama dengan MELPA, tetapi daripada menggunakan versi datestamp, ia menggunakan versi dalam tag git. Ini memungkinkan resolusi ketergantungan yang lebih baik, tetapi memiliki masalah dengan bergantung pada paket wiki .
Unggahan pengguna
Marmalade jauh lebih mirip dengan repositori tradisional dari bahasa pemrograman lain. Pengembang paket mengunggah paket ke Marmalade ketika mereka melakukan rilis.
Pada prinsipnya, ini memberikan paket proses rilis yang tepat (Marmalade mendahului MELPA stable) dan juga menghindari masalah nomor versi yang di-autogenerasi. Namun, tidak ada verifikasi identitas. Siapa pun dapat mengunggah paket, bahkan jika mereka tidak menulisnya. Ini menjadi sulit jika pengelola my-package
menemukan bahwa orang lain mengunggah my-package
dan selanjutnya tidak dapat mengunggah versi baru.
Marmalade dulunya adalah aplikasi node.js, dan sekarang ditulis dalam elisp. Kedua versi terkadang mengalami masalah waktu aktif.
Khusus proyek
Org-mode ELPA adalah repo yang hanya menampung org
dan org-plus-contrib
. Org-mode adalah bagian dari inti Emacs, tetapi itu dikembangkan secara eksternal dan kode hanya disinkronkan dengan batang Emacs secara berkala. Repo ini memungkinkan Anda memiliki mode org yang berdarah.
User42 ELPA adalah repo untuk pengembang paket tunggal yang telah merilis cukup banyak paket Emacs . Jika Anda menyukai salah satu paketnya, Anda dapat menambahkan repo ini.
Sunrise Commander ELPA adalah repo untuk ekstensi untuk Sunrise Commander (paket Emacs untuk penelusuran file, terinspirasi oleh komandan tengah malam).
Pensiunan
ELPA Tromey adalah repo pertama yang didirikan. Secara resmi diganti dengan GNU ELPA, tetapi tidak memiliki persyaratan penugasan hak cipta yang sama. Pada 2010, tidak lagi diperbarui.
Arsip paket Elpy berisi berbagai paket yang dikembangkan oleh Jorgen Schaefer untuk 'Elpy, the Emacs Python Development Environment' , tetapi itu telah bermigrasi ke MELPA Stable.