[Fix #743] Add support for package pinning (#1048)

This commit is contained in:
Jennifer Page 2017-01-04 02:17:48 -05:00 committed by Bozhidar Batsov
parent e0ca7c7003
commit e0a86fcb02
3 changed files with 149 additions and 0 deletions

View file

@ -174,6 +174,15 @@ there are such).
Simply run <kbd>M-x prelude-update</kbd> from Emacs itself and restart Emacs afterwards. Simply run <kbd>M-x prelude-update</kbd> from Emacs itself and restart Emacs afterwards.
## Pinning packages
By default, Prelude will install packages from the melpa and gnu package
repositories. Occasionally package integration can break when upgrading packages.
This can be avoided by pinning packages to stable versions in other repositories.
To do so, copy `prelude-pinned-packages.el` from the sample directory to
Prelude's root directory and adjust the [variables](https://www.gnu.org/software/emacs/manual/html_node/emacs/Package-Installation.html)
inside accordingly.
## Enabling additional modules ## Enabling additional modules
By default most of the modules that ship with Prelude are not loaded. For more information on the functionality provided by these modules visit the [docs](modules/doc/README.md). By default most of the modules that ship with Prelude are not loaded. For more information on the functionality provided by these modules visit the [docs](modules/doc/README.md).

View file

@ -43,6 +43,11 @@
(add-to-list 'package-archives (add-to-list 'package-archives
'("melpa" . "https://melpa.org/packages/") t)) '("melpa" . "https://melpa.org/packages/") t))
;; load the pinned packages
(let ((prelude-pinned-packages-file (expand-file-name "prelude-pinned-packages.el" prelude-dir)))
(if (file-exists-p prelude-pinned-packages-file)
(load prelude-pinned-packages-file)))
;; set package-user-dir to be relative to Prelude install path ;; set package-user-dir to be relative to Prelude install path
(setq package-user-dir (expand-file-name "elpa" prelude-dir)) (setq package-user-dir (expand-file-name "elpa" prelude-dir))
(package-initialize) (package-initialize)

View file

@ -0,0 +1,135 @@
(add-to-list 'package-archives
'("melpa-stable" . "https://stable.melpa.org/packages/") t)
(setq package-pinned-packages
'(
(ace-window . "melpa-stable")
(alchemist . "melpa-stable")
(anaconda-mode . "melpa-stable")
(anzu . "melpa-stable")
(async . "melpa-stable")
(avy . "melpa-stable")
(browse-kill-ring . "melpa-stable")
(caml . "melpa-stable")
(cask-mode . "melpa-stable")
(cdlatex . "melpa-stable")
(cider . "melpa-stable")
(clojure-mode . "melpa-stable")
(cmake-mode . "melpa-stable")
(coffee-mode . "melpa-stable")
(company . "melpa-stable")
(company-anaconda . "melpa-stable")
(company-auctex . "melpa-stable")
(company-go . "melpa-stable")
(crux . "melpa-stable")
(cython-mode . "melpa-stable")
(d-mode . "melpa-stable")
(dart-mode . "melpa-stable")
(dash . "melpa-stable")
(diff-hl . "melpa-stable")
(diminish . "melpa-stable")
(discover-my-major . "melpa-stable")
(dockerfile-mode . "melpa-stable")
(easy-kill . "melpa-stable")
(elisp-slime-nav . "melpa-stable")
(elixir-mode . "melpa-stable")
(elm-mode . "melpa-stable")
(ensime . "melpa-stable")
(epl . "melpa-stable")
(erlang . "melpa-stable")
(evil . "melpa-stable")
(evil-numbers . "melpa-stable")
(evil-surround . "melpa-stable")
(evil-visualstar . "melpa-stable")
(exec-path-from-shell . "melpa-stable")
(expand-region . "melpa-stable")
(f . "melpa-stable")
(feature-mode . "melpa-stable")
(flx . "melpa-stable")
(flx-ido . "melpa-stable")
(flycheck . "melpa-stable")
(flycheck-ocaml . "melpa-stable")
(geiser . "melpa-stable")
(gh . "melpa-stable")
(gist . "melpa-stable")
(git-commit . "melpa-stable")
(git-timemachine . "melpa-stable")
(gitconfig-mode . "melpa-stable")
(gitignore-mode . "melpa-stable")
(go-eldoc . "melpa-stable")
(go-guru . "melpa-stable")
(go-mode . "melpa-stable")
(go-projectile . "melpa-stable")
(go-rename . "melpa-stable")
(gotest . "melpa-stable")
(goto-chg . "melpa-stable")
(grizzl . "melpa-stable")
(groovy-mode . "melpa-stable")
(guru-mode . "melpa-stable")
(haml-mode . "melpa-stable")
(haskell-mode . "melpa-stable")
(helm . "melpa-stable")
(helm-ag . "melpa-stable")
(helm-core . "melpa-stable")
(helm-descbinds . "melpa-stable")
(helm-projectile . "melpa-stable")
(ido-completing-read+ . "melpa-stable")
(ido-ubiquitous . "melpa-stable")
(imenu-anywhere . "melpa-stable")
(inf-ruby . "melpa-stable")
(js2-mode . "melpa-stable")
(json-mode . "melpa-stable")
(json-reformat . "melpa-stable")
(json-snatcher . "melpa-stable")
(kivy-mode . "melpa-stable")
(less-css-mode . "melpa-stable")
(logito . "melpa-stable")
(lua-mode . "melpa-stable")
(macrostep . "melpa-stable")
(magit . "melpa-stable")
(magit-popup . "melpa-stable")
(makey . "melpa-stable")
(markdown-mode . "melpa-stable")
(marshal . "melpa-stable")
(mediawiki . "melpa-stable")
(merlin . "melpa-stable")
(operate-on-number . "melpa-stable")
(ov . "melpa-stable")
(pcache . "melpa-stable")
(php-mode . "melpa-stable")
(pkg-info . "melpa-stable")
(pkgbuild-mode . "melpa-stable")
(popup . "melpa-stable")
(projectile . "melpa-stable")
(protobuf-mode . "melpa-stable")
(puppet-mode . "melpa-stable")
(pythonic . "melpa-stable")
(queue . "melpa-stable")
(rich-minority . "melpa-stable")
(ruby-tools . "melpa-stable")
(s . "melpa-stable")
(sass-mode . "melpa-stable")
(sbt-mode . "melpa-stable")
(scala-mode . "melpa-stable")
(scss-mode . "melpa-stable")
(slim-mode . "melpa-stable")
(slime . "melpa-stable")
(smart-mode-line . "melpa-stable")
(smartparens . "melpa-stable")
(smartrep . "melpa-stable")
(smex . "melpa-stable")
(spinner . "melpa-stable")
(stylus-mode . "melpa-stable")
(swift-mode . "melpa-stable")
(thrift . "melpa-stable")
(tuareg . "melpa-stable")
(utop . "melpa-stable")
(volatile-highlights . "melpa-stable")
(web-mode . "melpa-stable")
(which-key . "melpa-stable")
(with-editor . "melpa-stable")
(yaml-mode . "melpa-stable")
(yasnippet . "melpa-stable")
(zenburn-theme . "melpa-stable")
(zop-to-char . "melpa-stable")
))