Skonfigurowałem lokalne archiwum pakietów (Emacs 24.5) przy użyciu package.el
, najpierw tworząc dwa katalogi pkgs
i local
. (Nazwy nie mają znaczenia.) Pliki wchodzące w skład twoich pakietów wchodzą pkgs
i local
kończą się przechowywaniem twojego archiwum. Jeśli chcesz udostępnić archiwum innym osobom, możesz udostępnić je local
za pomocą serwera WWW, ale proces jest taki sam jak w przypadku tworzenia lokalnego archiwum.
W moim init.el
pliku umieszczam:
(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)
Umieszczam moje archiwum w moim .emacs.d
katalogu (stąd user-emacs-directory
w expand-file-name
formularzu), ale możesz je umieścić w dowolnym miejscu.
Po dokonaniu oceny, uruchom M-x package-upload-file
i wprowadź nazwę pliku pakietu, który chcesz zainstalować. Spowoduje to wygenerowanie nowego pakietu w local
. Będzie można zobaczyć trzy nowe pliki w tam archive-contents
, yourpackagename-version.el
i yourpackagename-readme.txt
. Teraz powinieneś być w stanie to zrobić M-x package-list-packages
i zobaczyć swój pakiet na liście. Przy odrobinie szczęścia znajdą się na górze z oznaczeniem „nowy”. Możesz zainstalować pakiet jak zwykle, a zobaczysz, że pojawia się on w twoim .emacs.d/elpa
katalogu, tak jak każdy inny pakiet.
Powinno to działać od razu z Emacsem 24. Nie jestem pewien co do wcześniejszych wersji. Użytkownicy mogą uzyskać dostęp do pakietu w zwykły sposób, włączając
(require 'package)
(setq package-enable-at-startup nil)
(add-to-list 'package-archives
'("archive" . "http://yourdomain.com/path-to-local-dir/"))
(package-initialize)
w ich init.el
aktach.
Aby uzyskać informacje na temat pisania pakietu, patrz Przygotowanie kodu Lisp do dystrybucji w podręczniku GNU Emacs Lisp.