emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: documentation on how to add packages to ELPA?


From: Stephen Leake
Subject: Re: documentation on how to add packages to ELPA?
Date: Sun, 22 Dec 2013 05:45:51 -0600
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (windows-nt)

Stefan Monnier <address@hidden> 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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]