Saya mengatur arsip paket lokal (Emacs 24.5) menggunakan package.eldengan terlebih dahulu membuat dua direktori, pkgsdan local. (Nama tidak masalah.) File-file yang terdiri dari paket Anda masuk pkgs, dan localpada akhirnya akan menyimpan arsip Anda. Jika Anda ingin membuat arsip tersedia untuk orang lain, Anda dapat mengekspos localmenggunakan server web, tetapi prosesnya sama dengan membangun arsip lokal.
Saya menaruh yang berikut ini di init.elfile saya :
(require 'package)
(setq package-enable-at-startup nil)
(require 'package-x)
(defvar local-archive
(expand-file-name "local/" user-emacs-directory)
"Location of the package archive.")
(setq package-archive-upload-base local-archive)
(add-to-list 'package-archives `("local" . ,local-archive) t)
(package-initialize)
Saya meletakkan arsip saya di .emacs.ddirektori saya (karena itu user-emacs-directorydalam expand-file-namebentuk) tetapi Anda dapat meletakkannya di mana saja Anda suka.
Setelah ini dievaluasi, jalankan M-x package-upload-filedan masukkan nama file paket Anda untuk diinstal. Ini akan menghasilkan paket baru di local. Anda akan melihat tiga file baru di sana, archive-contents, yourpackagename-version.el, dan yourpackagename-readme.txt. Sekarang Anda harus dapat melakukan M-x package-list-packagesdan melihat paket Anda terdaftar. Jika beruntung, mereka akan berada di puncak bertanda "baru". Anda dapat menginstal paket seperti biasa, dan Anda akan melihatnya muncul di .emacs.d/elpadirektori Anda sama seperti paket lainnya.
Ini seharusnya bekerja di luar kotak untuk Emacs 24. Saya tidak yakin tentang versi sebelumnya. Pengguna Anda dapat mengakses paket Anda dengan cara biasa dengan memasukkan
(require 'package)
(setq package-enable-at-startup nil)
(add-to-list 'package-archives
'("archive" . "http://yourdomain.com/path-to-local-dir/"))
(package-initialize)
dalam init.elfile mereka .
Untuk informasi tentang cara menulis paket, lihat Mempersiapkan kode Lisp untuk distribusi dalam manual GNU Emacs Lisp.