* documentation on how to add packages to ELPA?
@ 2013-12-21 23:08 Stephen Leake
2013-12-21 23:34 ` Jambunathan K
` (2 more replies)
0 siblings, 3 replies; 7+ messages in thread
From: Stephen Leake @ 2013-12-21 23:08 UTC (permalink / raw)
To: emacs-devel
Is there any documentation on how to add packages to ELPA?
I've looked in Emacs 24.3 package.el,
http://www.emacswiki.org/emacs/ELPA, http://elpa.gnu.org/
package.el talks about creating a tar file, but doesn't say where to
put/send that tar file.
The wiki has a reference to a short gmane mailing list discussion of
ELPA policy, which mentions sending email to a couple people, but that's
pretty old so I'm wondering if it is up to date.
There has been mention here of packages in ELPA being automatically
updated somehow; where is that documented?
I'd like to add Ada mode 5.0 to ELPA, but I don't understand how to go
about doing that.
--
-- Stephe
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: documentation on how to add packages to ELPA?
2013-12-21 23:08 documentation on how to add packages to ELPA? Stephen Leake
@ 2013-12-21 23:34 ` Jambunathan K
2013-12-22 0:01 ` Xue Fuqiao
2013-12-22 10:46 ` Stefan Monnier
2 siblings, 0 replies; 7+ messages in thread
From: Jambunathan K @ 2013-12-21 23:34 UTC (permalink / raw)
To: Stephen Leake; +Cc: emacs-devel
Stephen Leake <stephen_leake@stephe-leake.org> writes:
> Is there any documentation on how to add packages to ELPA?
This is what I could find.
http://savannah.gnu.org/git/?group=emacs
http://git.savannah.gnu.org/cgit/emacs/elpa.git/tree/
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: documentation on how to add packages to ELPA?
2013-12-21 23:08 documentation on how to add packages to ELPA? Stephen Leake
2013-12-21 23:34 ` Jambunathan K
@ 2013-12-22 0:01 ` Xue Fuqiao
2013-12-22 10:46 ` Stefan Monnier
2 siblings, 0 replies; 7+ messages in thread
From: Xue Fuqiao @ 2013-12-22 0:01 UTC (permalink / raw)
To: Stephen Leake; +Cc: emacs-devel
On Sun, Dec 22, 2013 at 7:08 AM, Stephen Leake
<stephen_leake@stephe-leake.org> wrote:
> Is there any documentation on how to add packages to ELPA?
In (info "(elisp) Multi-file Packages"):
If the content directory contains a file named ‘dir’, this is assumed
to be an Info directory file made with ‘install-info’. *Note Invoking
install-info: (texinfo)Invoking install-info. The relevant Info files
should also be present in the content directory. In this case, Emacs
will automatically add the content directory to ‘Info-directory-list’
when the package is activated.
In README of the `elpa' branch:
** To add a package:
[...]
*** Add a multi-file package as a directory, packages/NAME.
*** Commit your changes the usual way ("git add", "git commit", etc).
AIUI you don't need to create the tar file.
--
http://www.gnu.org/software/emacs/
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: documentation on how to add packages to ELPA?
2013-12-21 23:08 documentation on how to add packages to ELPA? Stephen Leake
2013-12-21 23:34 ` Jambunathan K
2013-12-22 0:01 ` Xue Fuqiao
@ 2013-12-22 10:46 ` Stefan Monnier
2013-12-22 11:45 ` Stephen Leake
2 siblings, 1 reply; 7+ messages in thread
From: Stefan Monnier @ 2013-12-22 10:46 UTC (permalink / raw)
To: Stephen Leake; +Cc: emacs-devel
> Is there any documentation on how to add packages to ELPA?
If you mean GNU ELPA, then you just need to add its source code under
`packages' in the `elpa' Git branch. Don't add a "ada-pkg.el" file,
instead make sure that if your directory name is "ada-mode" you have an
"ada-mode.el" file with a "Version:" pseudo-header.
Stefan
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: documentation on how to add packages to ELPA?
2013-12-22 10:46 ` Stefan Monnier
@ 2013-12-22 11:45 ` Stephen Leake
2013-12-23 1:24 ` Stefan Monnier
0 siblings, 1 reply; 7+ messages in thread
From: Stephen Leake @ 2013-12-22 11:45 UTC (permalink / raw)
To: emacs-devel
Stefan Monnier <monnier@IRO.UMontreal.CA> writes:
>> Is there any documentation on how to add packages to ELPA?
>
> If you mean GNU ELPA, then you just need to add its source code under
> `packages' in the `elpa' Git branch. Don't add a "ada-pkg.el" file,
> instead make sure that if your directory name is "ada-mode" you have an
> "ada-mode.el" file with a "Version:" pseudo-header.
How do I specify package metadata such as min and max Emacs version,
since I don't write the define-package args?
Where is the "Version:" psuedo-header defined? Is it just
;; Version: 5.0
or more complex?
I actually have two modes, one minor mode, shared support files, and
tests in what I want to add:
build/
contains test drivers and two Makefiles
test/
all test input files
README
ada-build.el
ada-fix-error.el
ada-gnat-compile.el
ada-gnat-xref.el
Ada xref backend using gnatxref tool
ada-grammar-wy.el
ada-grammar.wy processed by external code
ada-grammar.wy
the Ada grammar for the indentation/navigation engine
ada-imenu.el
ada-indent-user-options.el
ada-mode.el
the main Ada mode file
ada-mode.texi
ada-skel.el
ada-wisi-opentoken.el
ada-wisi.el
An indentation/navigation engine for Ada mode, using wisi
ada_license.text
doclicense.texi
gnat-core.el
common interface to the GNAT compiler (multi-language build tool + gcc)
gnat-inspect.el
interface to the GNAT multi-language cross reference tool
gnatinspect, Ada xref backend using gnatinspect, and a minor mode
for non-Ada files
gpr-grammar-wy.el
gpr-grammar.wy
Grammar for the gpr GNAT configuration language
gpr-mode.el
main mode for GPR files
gpr-mode.texi
gpr-skel.el
gpr-wisi.el
wisi-compile.el
wisi-parse.el
wisi.el
the wisi generalized LALR parser
both gpr-mode and ada-mode use the wisi parser (although they have a
layer of indirection allowing another parser) and gnat-core.
ada-mode can use either ada-gnat-xref or gnat-inspect for cross
referencing.
gpr-mode uses parts of ada-mode (they should be migrated to gnat-core; I
work on that later).
gnat-inspect minor mode is useful with any language for which gcc
outputs .gli files
This could logically be four packages:
gnat
contains all files with gnat- prefix except gnat-inspect
gnat-inspect
contains gnat-inspect.el
requires gnat
ada-mode
contains all files with ada- prefix
requires gnat
requires wisi
optional gnat-inspect
gpr-mode
contains all files with gpr- prefix
requires ada-mode
requires gnat
requires wisi
wisi
contains all files with wisi- prefix
Or three packages; lump gnat-inspect with gnat. Except that needs to be
named 'gnat-inspect', to identify the minor mode?
It sounds like the Gnu ELPA machinery can cope with this, but not with a
single "package" containing two modes and one minor mode.
wisi is a pure support package; it provides no mode. Is that a problem?
I guess package.el doesn't actually care about modes or minor modes; it
just processes autoloads and metadata headers. In which case, two modes
in one package is not a problem?
Is there metadata support for "optional" as opposed to "required"
packages?
Should the build and test files be included in Gnu ELPA? It would not be
easy splitting those into four packages, but it could be done.
--
-- Stephe
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: documentation on how to add packages to ELPA?
2013-12-22 11:45 ` Stephen Leake
@ 2013-12-23 1:24 ` Stefan Monnier
2013-12-23 22:58 ` Xue Fuqiao
0 siblings, 1 reply; 7+ messages in thread
From: Stefan Monnier @ 2013-12-23 1:24 UTC (permalink / raw)
To: Stephen Leake; +Cc: emacs-devel
> How do I specify package metadata such as min and max Emacs version,
> since I don't write the define-package args?
The dependencies are specified in the "Package-Requires:" pseudo-header
(grep for it in elpa/packages/*.el to see examples).
> Where is the "Version:" psuedo-header defined? Is it just
> ;; Version: 5.0
Yes.
> or more complex?
No. It's the format understood by the lisp-mnt.el package, and used by
ELPA single-file packages.
> Is there metadata support for "optional" as opposed to "required"
> packages?
No. The purpose of "Package-Require" is to help the user install
the package. If it's optional, then it's simply not required.
> Should the build and test files be included in Gnu ELPA?
If at all possible (i.e. if the copyright status is clear), then please
do include them in the `elpa' branch, yes.
If you don't want all files included in the tarball distributed on GNU
ELPA, you can use a .elpaignore file (see js2-mode/.elpaignore for the
only existing example so far).
Stefan
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: documentation on how to add packages to ELPA?
2013-12-23 1:24 ` Stefan Monnier
@ 2013-12-23 22:58 ` Xue Fuqiao
0 siblings, 0 replies; 7+ messages in thread
From: Xue Fuqiao @ 2013-12-23 22:58 UTC (permalink / raw)
To: Stefan Monnier; +Cc: Stephen Leake, emacs-devel
On Mon, Dec 23, 2013 at 9:24 AM, Stefan Monnier
<monnier@iro.umontreal.ca> wrote:
> If you don't want all files included in the tarball distributed on GNU
> ELPA, you can use a .elpaignore file (see js2-mode/.elpaignore for the
> only existing example so far).
I only found a .gitignore in js2-mode/. Anyway, there's a .elpaignore
in diff-hl[fn:1].
Footnotes:
[fn:1] http://git.savannah.gnu.org/cgit/emacs/elpa.git/tree/packages/diff-hl/.elpaignore
--
http://www.gnu.org/software/emacs/
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2013-12-23 22:58 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-12-21 23:08 documentation on how to add packages to ELPA? Stephen Leake
2013-12-21 23:34 ` Jambunathan K
2013-12-22 0:01 ` Xue Fuqiao
2013-12-22 10:46 ` Stefan Monnier
2013-12-22 11:45 ` Stephen Leake
2013-12-23 1:24 ` Stefan Monnier
2013-12-23 22:58 ` Xue Fuqiao
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).