पैकेज के साथ बाहरी कार्यक्रम प्रदान करने के लिए उचित दृष्टिकोण?


12

मैं कई विशिष्ट पैकेजों (जैसे कोडसर्च, एमएसीएस-वाईएमसीडी, ट्रैड) को बनाए रखता हूं जो कि कुछ उपयोगकर्ताओं के लिए उपयोग किए जाने वाले बाहरी कार्यक्रमों को स्थापित करने, समय बचाने और प्रयास करने में सक्षम होने से लाभान्वित होंगे। उदाहरण के लिए, codeearch.el के साथ उपयोगकर्ताओं के लिए कोडसर्च टूल (डाउनलोड करना, जाना जाना, अनिवार्य नहीं) को डाउनलोड करने, संकलित करने और स्थापित करने में सक्षम होना अच्छा होगा। यह पैकेज का उपयोग करने के लिए कम से कम एक अवरोध को हटा देगा।

क्या ऐसा करने के लिए कोई "सर्वोत्तम अभ्यास" है? उदाहरण के लिए, मुझे बाहरी कार्यक्रम कहां रखना चाहिए?

यदि आपके पास कोई प्रत्यक्ष सलाह नहीं है, तो क्या आप मुझे ऐसे किसी भी पैकेज का उल्लेख कर सकते हैं जो कुछ इस तरह से हो (और, आदर्श रूप से, यह अच्छी तरह से करता है)?


1
मुझे डर है कि यह बेहद मुश्किल और असंभव के बीच हो सकता है, यह देखते हुए कि आपके पास कोई नियंत्रण नहीं है कि उपयोगकर्ता के एमएसीएस ओएस बूटलोडर के रूप में लिनक्स, विंडोज या मैक ओएस का उपयोग करता है; ;-)।
18

2
मुझे डर है कि अधिकतम लचीलेपन के लिए एमएसीएस पैकेज से बाहरी कार्यक्रम को कम करना बेहतर है। Emacs पैकेज के साथ बाहरी सॉफ्टवेयर प्रदान करने का दृष्टिकोण रूबी / पायथन / TeX / ... जैसी फ़ाइलों के लिए सबसे अच्छा काम करता है। Emacs लिस्प कोड प्रदान करने के विपरीत दृष्टिकोण आपके सिस्टम के पैकेज मैनेजर (जैसे म्यू और नोटमच डू) के माध्यम से स्थापित पैकेज के साथ कम लचीला है, क्योंकि आपके पास ऑटोलोड नहीं हो सकता है।
वामासा

ऐसा लगता है कि आप दो सही हैं। केवल उदाहरण जो मुझे बाहरी निर्भरता प्रदान करने वाले emacs संकुल के मिल सकते हैं, उदाहरण के लिए jedi हैं जो कल्प पैकेज में कुछ अजगर लिपियों को बाँधते हैं।
अबिंघम

क्या यह ऐसा कुछ है जो हम डायनामिक-लोडिंग के साथ Emacs 25 में कर पाएंगे?
wdkrnls

जवाबों:


3

उसके लिए कोई "सर्वोत्तम अभ्यास" नहीं है, नहीं। न ही इसके लिए किसी तरह का मौजूदा समर्थन। मुझे लगता है कि अगर यह विशेष रूप से पैकेज फू के लिए स्थापित है, तो इसे स्थापित करने का स्थान पैकेज फू की निर्देशिका के भीतर होगा।

यह कैसे करना है के लिए के रूप में, अपने एलिस्प पैकेज को ईएलपीए के माध्यम से स्थापित किया गया है, तो आप अपनी मुख्य एलिस्प फाइल में कुछ जोड़ने की कोशिश करना चाहते हैं जैसे:

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

और फिर एक उपयुक्त मेकफाइल प्रदान करें। बेशक, इसके लिए "सबसे" प्लेटफार्मों में काम करने के लिए, आप शायद कुछ अधिक परिष्कृत चाहते हैं।


1

आप अपने पैकेज को स्थापित करने के लिए एल-प्राप्त नुस्खा प्रदान करना चाहते हैं ।

जानकारी फ़ाइल में अनुभाग 9 "संलेखन व्यंजनों" देखें ।

:build/system-typeयदि आपके पास विभिन्न प्लेटफार्मों में परिवर्तनशील आवश्यकताएं हैं, तो यह सुविधा विशेष रुचि हो सकती है। विवरण के लिए खंड 9.5 "बिल्ड" देखें।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.