Paketlerle birlikte harici programlar sağlamak için uygun yaklaşım?


12

Kullandıkları harici programları yükleyebilmekten ve bazı kullanıcılar için zamandan ve çabadan tasarruf etmekten fayda sağlayacak bir dizi elisp paketi (örn. Codesearch, emacs-ycmd, traad) kullanıyorum. Örneğin, codeearch.el ile kullanıcılar için kod arama araçlarını (elisp değil, yazılmış olarak) indirmek, derlemek ve kurmak güzel olurdu. Bu, paketi kullanmak için en az bir engeli kaldıracaktır.

Bunu yapmak için herhangi bir "en iyi uygulama" var mı? Örneğin, harici programları nereye koymalıyım?

Doğrudan bir tavsiyeniz yoksa, bana böyle bir şey yapan (ve ideal olarak iyi olan) herhangi bir pakete başvurabilir misiniz?


1
Korkarım ki, kullanıcının Emacs işletim sisteminin önyükleyici ;-) olarak Linux, Windows veya Mac OS kullanıp kullanmadığını kontrol edemediğiniz düşünülürse, son derece zor ve imkansız arasında bir yerde olabilir.
mbork

2
Maksimum esneklik için harici programı Emacs paketinden ayırmanın daha iyi olduğunu düşünüyorum. Harici yazılımı Emacs paketi ile sağlama yaklaşımı, yorumlanan Ruby / Python / TeX / ... dosyaları gibi şeyler için en iyi sonucu verir. Emacs Lisp koduna, sisteminizin paket yöneticisi (mu ve notmuch do gibi) aracılığıyla yüklenmiş bir paket sağlamanın tersi bir yaklaşım daha az esnektir, çünkü otomatik yükleriniz olamaz.
wasamasa

İkiniz haklısınız gibi görünüyor. Dış bağımlılıklar sağlayan emacs paketlerini bulabildiğim tek örnek, örneğin elpa paketindeki bazı python betiklerini bir araya getiren jedi.
abingham

Bu dinamik yükleme ile Emacs 25'te yapabileceğimiz bir şey mi?
wdkrnls

Yanıtlar:


3

Bunun için "en iyi uygulamalar" yok, hayır. Ne de mevcut herhangi bir destek. Eğer paket Foo için özel olarak kurulmuşsa, o zaman kurulacağı yer Foo paketinin dizini içinde olacağını düşünüyorum.

Nasıl yapılacağı konusunda, Elisp paketinizin ELPA aracılığıyla kurulduğunu varsayarak, ana Elisp dosyanıza aşağıdaki gibi bir şey eklemeyi deneyebilirsiniz:

(eval-when-compile (call-process "make"))

ve sonra uygun bir Makefile sağlayın. Tabii ki, "en" platformlarda çalışması için, muhtemelen biraz daha karmaşık bir şey isteyeceksiniz.


1

Paketinizi kurmak için el- tarifi almak isteyebilirsiniz .

Bilgi dosyasındaki 9.Bölüm "Yazma Tarifleri" başlığına bakın .

:build/system-typeEğer farklı platformlarda değişken gereksinimleri varsa tesis, özel ilgi olabilir. Ayrıntılar için bkz. Bölüm 9.5 "Yapım".

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.