From: Stephen Leake <stephen_leake@stephe-leake.org>
To: emacs-devel@gnu.org
Subject: Re: documentation on how to add packages to ELPA?
Date: Sun, 22 Dec 2013 05:45:51 -0600 [thread overview]
Message-ID: <85lhzdw1lc.fsf@stephe-leake.org> (raw)
In-Reply-To: <jwva9ftcght.fsf-monnier+emacs@gnu.org> (Stefan Monnier's message of "Sun, 22 Dec 2013 05:46:23 -0500")
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
next prev parent reply other threads:[~2013-12-22 11:45 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
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 [this message]
2013-12-23 1:24 ` Stefan Monnier
2013-12-23 22:58 ` Xue Fuqiao
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=85lhzdw1lc.fsf@stephe-leake.org \
--to=stephen_leake@stephe-leake.org \
--cc=emacs-devel@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.