diff --git a/README.md b/README.md index 05d70a41..e3766e73 100644 --- a/README.md +++ b/README.md @@ -24,9 +24,6 @@ sync with the site. The following arguments are accepted, - update - : update the epkgs repository - clear : clean out the `packages/` directory @@ -51,13 +48,43 @@ command-line to actually build the package(s). Alternatively you can load this file from within Emacs and issues commands from there. +## Package List +`pkglist` contains a list of all the currently known packages. Entries +are lisp data of the form, + + (name :url "" :fetcher [git|svn|darcs] [:files ("", ...)]) + +The `:files` entry is optional but is required for either single-file +packages or repositories which contain more than one package and +individual packages should be extracted. For example, the +[emacs-starter-kit](https://github.com/technomancy/emacs-starter-kit) +contains the *starter-kit* package along with extra packages in the +`modules` directory; *starter-kit-bindings*, *starter-kit-lisp*, etc. +The entry for *starter-kit* is, + + (starter-kit + :url "git://github.com/technomancy/emacs-starter-kit.git" + :fetcher git + :files ("starter-kit-defuns.el" + "starter-kit-misc.el" + "starter-kit.el")) + +Here the required elisp files are specified. All other information is +generated by the `package-build.el` script. This include the +*description*, *version*, and *requires*. In single-file packages the +metadata is parsed from the file itself just as `package.el` does. For +packages containing multiple files, metadata will be searched for in +`name-pkg.el`, `name.el`, and `name-pkg.el.in`. If the information +cannot be found the metadata is generated with *requires* set to +`nil`. ## Adding Packages -Feel free to open an Issue requesting packages and I'll see if they -build nicely. +Open an issue on Github and either paste in the relevant entry for +`pkglist` or add a bunch and send a pull request. + ## Developement @@ -71,13 +98,7 @@ This can be configured using the `package-build-archive-dir` variable. Repositories are checked out to the `working/` directory by default. This can be configured using the `package-build-working-dir` variable. -All metadata for building the packages is based off the git submodule -for the [`epkgs`][epkgs] repository generated by the -[emacsmirror][emacsmirror]. *However,* currently the site is not -keeping up-to-date so I have [mirrored the site][mepkgs]. - -[mepkgs]: https://github.com/milkypostman/epkgs -[emacsmirror]: https://github.com/emacsmirror/ -[epkgs]: https://github.com/emacsmirror/epkgs + +