emacs-devel
[Top][All Lists]
Advanced

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

Re: decision on moving core packages to ELPA; also move to obsolete?


From: Stephen Leake
Subject: Re: decision on moving core packages to ELPA; also move to obsolete?
Date: Thu, 07 Jan 2021 09:33:54 -0800
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (windows-nt)

Stephen Leake <stephen_leake@stephe-leake.org> writes:

> I'd like to close https://debbugs.gnu.org/39553 .

This provoked a discussion on how to distribute an Gnu ELPA package in
the Emacs tarball, with ada-mode as an example (see earlier messages in
this thread).

But we already have working examples of such packages; project, eldoc,
jsonrpc, etc. They are ":core" packages; apparently the Gnu ELPA
repository build code retrieves them from emacs.git instead of elpa.git.

So the simplest solution for ada-mode is to move it to emacs.git, and
make it a :core package. I would still maintain a separate upstream
repository in git.savannah.nongnu.org/git/ada-mode.git, and only update
emacs.git with releases (as I do currently for elpa.git).

This would have no effect on my current ada-mode release process, other
than the precise name of the publishing repository. It would also have
no effect on the current Emacs development process.

One possible problem with this; ada-mode contains one huge file
ada_lr1_parse_table.txt.gz; this is a full LR1 parse table for the Ada
language; it is about 5 MB compressed in ada-mode 7.1.4, and will grow
to about 23 MB in the next release (Ada 2020 has several new features).
The current emacs master .git is 804 MB, so that's not a huge increase,
but it is significant.

Another problem: currently :core only supports single files, so we
would need to extend it to a directory, and decide where that directory
lives in emacs.git (lisp/progmodes/ada-mode/ seems the obvious choice).

Another problem: ada-mode requires two external executables; the parser
and xref tools. If those executables are not present, every significant
ada-mode function results in an error message requesting that the user
install them. The current ada-mode ELPA package distributes a shell
script build.sh that builds and installs those executables, assuming the
user has an Ada compiler and the required libraries installed. That is
ok for an ELPA package that the user decides to install; it seems less
ok for a package included in the emacs tarball distribution. This
objection applies no matter where ada-mode code resides.

-- 
-- Stephe



reply via email to

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