Melpa+Cask 환경에서 개인 레시피를 사용하고 싶습니다.
소개
Emacs의 패키지를 만들면 MELPA에 등록하여 전세계에 공개하는 것이 좋네요. 다만 그렇게 말해도, 우선 적당히 만들어 Github에 등록해 버리면, MELPA에는 등록하지 않고 부족해 버리는 것도 현실입니다.
그래서 이번에는 로컬에 Melpa 리포지토리를 만들어 레시피를 등록하는 방법을 정리해 둡니다.
참고) htps : // 기주 b. 코 m / 메 l 파 / 메 l 파 / 우 키 / 쿠 s와 메 메 l 파 아 r ゔ
절차
cd ~/hoge
git clone --depth 1 https://github.com/milkypostman/melpa.git myrepo
cd myrepo
git checkout -b myrepo
git rm recipes/*
git commit -am 'removed all recipes'
mkdir recipes
원하는대로 ( '-') b
make packages packages/archive-contents
$which emacs
에서 이전 Emacs가 돌아 오면 Makefile의 EMACS_COMMAND
값에주의하십시오.Cask
(source "myrepo" "~/hoge/myrepo/packages")
또한, Cask 파일에는 등록한 개인용 레시피를
depends-on
로 통상대로 지정해 둡니다.결론
사실, 이런 일을하지 않고 Cask 파일의 depends-on
옵션 지정을 사용하면 좋은 이야기입니다.
(depends-on "hoge" :git "https://github.com/hoge/hoge.git")
다만 내 환경이라면, 여러가지 손을 넣고 있는 탓인지, 위의 옵션 지정에서는 에러가 나오게 되었기 때문에, 이번의 회피책을 취했다고 하는 오치였습니다.
(주의 사항) Cask 오류는 cask 명령이 오류를 발생하기 시작하면 방법으로 해결할 수 있습니다.
덤
만든 리포지토리를 웹에 게시하여 Cask 파일의 소스를 전역으로 옮길 수 있습니다. 변경점은 이하.
(전제) htps : // 푹신 푹신. 오 rg / me lpa에서 공개하고 싶다.
(depends-on "hoge" :git "https://github.com/hoge/hoge.git")
만든 리포지토리를 웹에 게시하여 Cask 파일의 소스를 전역으로 옮길 수 있습니다. 변경점은 이하.
(전제) htps : // 푹신 푹신. 오 rg / me lpa에서 공개하고 싶다.
html/index.html
<footer class="container">
<small>
- <a href="https://github.com/melpa/melpa/blob/master/html/js/melpa.js">Source code for this page →</a>
+ <a href="https://github.com/xx/melpa/blob/myrepo/html/js/melpa.js">Source code for this page →</a>
<br/>
<a href="jslicense.html" data-jslicense="1">JavaScript license information</a>
</small>
</footer>
html/js/melpa.js
melpa.packageList = m.sync([
- m.request({method: 'GET', url: "/recipes.json"}),
- m.request({method: 'GET', url: "/archive.json"}),
- m.request({method: 'GET', url: "/download_counts.json"})
+ m.request({method: 'GET', url: "/melpa/recipes.json"}),
+ m.request({method: 'GET', url: "/melpa/archive.json"}),
+ m.request({method: 'GET', url: "/melpa/download_counts.json"})
html/js/melpa.js
fetcher: recipe.fetcher,
- recipeURL: "https://github.com/melpa/melpa/blob/master/recipes/" + name,
+ recipeURL: "https://github.com/xx/melpa/blob/myrepo/recipes/" + name,
packageURL: "packages/" + name + "-" + version + "." + (built.type == "single" ? "el" : "tar"),
html/js/melpa.js
this.running = function() { return !this.completed(); }.bind(this);
- m.request({method: 'GET', url: "/build-status.json", background: true})
+ m.request({method: 'GET', url: "/melpa/build-status.json", background: true})
.then(function(status){
cd ~/hoge
make -j1
rsync -avh ./html/ myserver:/path/to/htsdocs/melpa/
rsync -avh ./packages/ myserver:/path/to/htsdocs/packages/
Cask
;; (source "myrepo" "~/devel/git/melpa/packages")
(source "myrepo" "https://hogehoge/melpa/packages/")
Reference
이 문제에 관하여(Melpa+Cask 환경에서 개인 레시피를 사용하고 싶습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/takaxp/items/ede36da846099d2e5cf2텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)