Move the melpa.el package to a separate repo.

This commit is contained in:
Donald Curtis 2014-01-05 14:35:49 -08:00
parent fae2c55122
commit 6ff87cb0c2
5 changed files with 4 additions and 168 deletions

2
Cask
View file

@ -1,7 +1,5 @@
(source "melpa" "http://melpa.milkbox.net/packages/") (source "melpa" "http://melpa.milkbox.net/packages/")
(package-file "melpa.el")
(development (development
(depends-on "ecukes") (depends-on "ecukes")
(depends-on "espuds")) (depends-on "espuds"))

View file

@ -23,7 +23,6 @@ details.
* [Recipe Format](#recipe-format) * [Recipe Format](#recipe-format)
* [Build Scripts](#build-scripts) * [Build Scripts](#build-scripts)
* [API](#api) * [API](#api)
* [MELPA Package](#melpa-package)
* [About](#about) * [About](#about)
@ -432,58 +431,6 @@ This can be configured using the `package-build-archive-dir` variable.
Repositories are checked out to the `working/` directory by default. Repositories are checked out to the `working/` directory by default.
This can be configured using the `package-build-working-dir` variable. This can be configured using the `package-build-working-dir` variable.
## MELPA Package
The `melpa.el` package---available in MELPA--allows creating a
whitelist or blacklist of packages for a specific repository. This
allows for disabling all packages from a specific repository and only
enabling certain packages, or simply blacklist a certain subset of packages.
### Configuring
By default there are two variables that can be customized to specify
which packages will be enabled (whitelist packages only) or excluded
(blacklist of packages)
- `package-archive-enable-alist` : Optional Alist of enabled packages
used by `package-filter`. The format is (ARCHIVE . PACKAGE ...),
where ARCHIVE is a string matching an archive name in
`package-archives`, PACKAGE is a symbol of a package in ARCHIVE to
enable. If no ARCHIVE exists in the alist, all packages are
enabled.
If no ARCHIVE exists in the alist, all packages are enabled.
<!-- extra padding??? -->
- `package-archive-exclude-alist` : Alist of packages excluded by
`package-filter`. The format is (ARCHIVE . PACKAGE ...), where
ARCHIVE is a string matching an archive name in
`package-archives`, PACKAGE is a symbol of a package in that
archive to exclude. Any specified package is excluded regardless
of the value of `package-archive-enable-alist`
If a particular ARCHIVE has an entry in
`package-archive-enable-alist` then only packages
### Manual Installation
You can install the package manually by pasting this into your `*scratch*` buffer and evaluating it.
(progn
(switch-to-buffer
(url-retrieve-synchronously
"https://raw.github.com/milkypostman/melpa/master/melpa.el"))
(package-install-from-buffer (package-buffer-info) 'single))
## About ## About
*MELPA* is *Milkypostman's ELPA* or *Milkypostman's Experimental Lisp *MELPA* is *Milkypostman's ELPA* or *Milkypostman's Experimental Lisp

109
melpa.el
View file

@ -1,109 +0,0 @@
;;; melpa.el --- special handling for the MELPA repository
;;
;; Copyright 2012 Donald Ephraim Curtis
;;
;; Author: Donald Ephraim Curtis <dcurtis@milkbox.net>
;; URL: https://github.com/milkypostman/melpa
;; Version: 0.3
;;
;;
;; Credits:
;; Steve Purcell
;;
;;
;; Installation:
;;
;; (progn
;; (switch-to-buffer
;; (url-retrieve-synchronously
;; "https://raw.github.com/milkypostman/melpa/master/melpa.el"))
;; (package-install-from-buffer (package-buffer-info) 'single))
;;
;;
;;
;; Code goes here
;;
;;;###autoload
(defcustom package-archive-enable-alist nil
"Optional Alist of enabled packages used by `package-filter'.
The format is (ARCHIVE . PACKAGE ...), where ARCHIVE is a string
matching an archive name in `package-archives', PACKAGE is a
symbol of a package in ARCHIVE to enable.
If no ARCHIVE exists in the alist, all packages are enabled."
:group 'package
:type '(alist :key-type string :value-type (repeat symbol)))
;;;###autoload
(defcustom package-archive-exclude-alist nil
"Alist of packages excluded by `package-filter'.
The format is (ARCHIVE . PACKAGE ...), where ARCHIVE is a string
matching an archive name in `package-archives', PACKAGE is a
symbol of a package in that archive to exclude.
Any specified package is excluded regardless of the value of
`package-archive-enable-alist'"
:group 'package
:type '(alist :key-type string :value-type (repeat symbol)))
;;;###autoload
(defcustom package-filter-function 'package-filter
"Optional predicate function used to internally
filter packages used by package.el.
Return nil to filter a function from the list.
The function is called with the arguments PACKAGE VERSION ARCHIVE, where
PACKAGE is a symbol, VERSION is a vector as produced by `version-to-list', and
ARCHIVE is the string name of the package archive."
:group 'package
:type 'function)
;;;###autoload
(defadvice package-compute-transaction
(before
package-compute-transaction-reverse (package-list requirements)
activate compile)
"reverse the requirements"
(setq requirements (reverse requirements)))
;;;###autoload
(defadvice package--add-to-archive-contents
(around package-filter-add-to-archive-contents (package archive)
activate compile)
"Add filtering of available packages using `package-filter-function',
if non-nil."
(when (and package-filter-function
(funcall package-filter-function
(car package)
(package-desc-vers (cdr package))
archive))
ad-do-it))
;;;###autoload
(defun package-filter (package version archive)
"Check package against enabled and excluded list for the `archive'.
Filter packages not in the associated list for `archive' in
`package-archive-enable-alist'.
Filter packages in the associated list for `archive' in
`package-archive-exclude-alist'."
(let ((enable-rules (cdr (assoc archive package-archive-enable-alist)))
(exclude-rules (cdr (assoc archive package-archive-exclude-alist))))
(and (not (memq package exclude-rules))
(or (not enable-rules)
(memq package enable-rules)))))
(provide 'melpa)
;;; melpa.el ends here

View file

@ -1,4 +0,0 @@
(melpa :repo "milkypostman/melpa"
:fetcher github
:files ("melpa.el"))

4
recipes/package-filter Normal file
View file

@ -0,0 +1,4 @@
(package-filter :repo "milkypostman/package-filter"
:fetcher github
:files ("package-filter.el")
:old-names (package-filter))