From: Stefan Monnier <monnier@iro.umontreal.ca>
To: emacs-devel@gnu.org
Subject: Re: Core ELPA was: Testing fontification, indentation, and buffer manipulation
Date: Wed, 27 Feb 2019 18:05:01 -0500 [thread overview]
Message-ID: <jwv1s3sx33y.fsf-monnier+emacs@gnu.org> (raw)
In-Reply-To: 87o976p6xt.fsf_-_@russet.org.uk
> Wondering whether anyone had time to give me feedback on this. It
> provides a mechanism to have ELPA packages bundle with core Emacs.
Sorry for taking so long. I just took a look at it, and it looks fairly
simple and clean. But I think the main question is *if* we really want
to use this to build the official tarballs. I think we should, but IIRC
Eli wasn't quite as enthusiastic about it.
> - Doesn't use package.el (I think this is an anti-feature, but tried
> that before and no one liked it)
That doesn't ring a bell. Could you refresh our memory why no one
liked it?
> --- /dev/null
> +++ b/notes.org
> @@ -0,0 +1,84 @@
> +
> +
> +* Working on
> +
> +Have package checkout working for external
> +Next get it working for non external so we can template
Don't know what you mean by "can template"
> +* To Fix
> +Think we are running git fetch --all on every package.
Don't know what you're referring to here either.
> +1) Scripting?
> +Guess we have to use sh
Of course, we could also use Elisp ;-)
> +2) How to get specific directory of a repository
> +
> +
> +
> +git archive --remote=phillord@git.savannah.gnu.org:/srv/git/emacs/elpa.git master packages/hydra | tar xv --strip-components=1
> +
> +Currently, this requires a member login -- it doesn't work with http
> +or the current git server.
> +
> +Would also be possible to configure this from local.
I'm not familiar with `git archive` but does this require network access?
> +3) How to work out when a directory is out of date wrt to the make
> + file
Don't know what you mean here.
> +4) Heuristics for working out which files to copy to right place
> +
> +*-test.el
> +*-tests.el
> +/test/*.el
> +
> +to test
> +
> +All other *el to lisp
> +
> +Nothing else
Rather than heuristics, I'd go for a *rules* (which needs to be obeyed
before the package can be bundled).
But I'm not sure we should install those packages with a different
layout than for a "normal" ELPA install.
What's the advantage of using a different layout?
> +6) How to enable ELPA packages to customize the process
> +Add the option to run an core-deploy.sh file placed into the root of a
> +package.
Don't know what you mean here.
> +8) Support other repos
> +Org-mode effectively does this already
Don't know what you mean here.
> --- /dev/null
> +++ b/elpa/bin/extract-package.sh
> @@ -0,0 +1,55 @@
> +#!/bin/bash
> +
> +function grab_external {
> + rm -rf packages/$PACKAGE*
> + mkdir --parents $PACKAGE_LOC
> + cwd=`pwd`
> + cd $GIT_LOC
> + git archive $SHA \
> + | tar xv -C $cwd/$PACKAGE_LOC
> + cd $cwd
> + cp --no-clobber bin/package-makefile.mk $PACKAGE_LOC
Rather than `cd $cwd`, I generally prefer to use (...) to save&restore
the current directory:
cwd=`pwd`
(cd $GIT_LOC
git archive $SHA \
| tar xv -C $cwd/$PACKAGE_LOC)
cp --no-clobber bin/package-makefile.mk $PACKAGE_LOC
If we keep the layout unchanged, we could use `git worktree add`, which
has the advantage that when running Emacs in-place, jumping to the
source in `C-h f` and friends gives you access to the Git metainfo.
Stefan
next prev parent reply other threads:[~2019-02-27 23:05 UTC|newest]
Thread overview: 46+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-01-15 15:43 Testing fontification, indentation, and buffer manipulation Daniele Nicolodi
2019-01-15 18:45 ` Yuri Khan
2019-01-19 15:07 ` Daniele Nicolodi
2019-01-21 10:45 ` Jostein Kjønigsen
2019-01-21 20:57 ` Richard Stallman
2019-01-23 23:22 ` Phillip Lord
2019-01-24 2:09 ` Stefan Monnier
2019-01-24 10:29 ` Phillip Lord
2019-01-24 14:48 ` Ted Zlatanov
2019-01-26 0:46 ` Stefan Monnier
2019-01-26 7:17 ` Eli Zaretskii
2019-01-26 10:41 ` Phillip Lord
2019-02-20 19:59 ` Core ELPA was: " Phillip Lord
2019-02-27 23:05 ` Stefan Monnier [this message]
2019-03-01 15:55 ` Phillip Lord
2019-03-01 17:25 ` Stefan Monnier
2019-03-01 21:39 ` Phillip Lord
2019-03-01 22:07 ` Stefan Monnier
2019-03-02 11:14 ` Phillip Lord
2019-03-03 3:23 ` Stefan Monnier
2019-03-03 18:06 ` Phillip Lord
2019-03-08 2:51 ` Stefan Monnier
2019-03-10 11:45 ` Phillip Lord
2019-03-10 18:02 ` Stefan Monnier
2019-03-11 22:46 ` Phillip Lord
2019-03-12 1:11 ` Stefan Monnier
2019-03-12 23:02 ` Phillip Lord
2019-03-13 19:05 ` Stefan Monnier
2019-03-13 22:41 ` Phillip Lord
2019-03-02 3:36 ` Richard Stallman
2019-03-02 11:21 ` Phillip Lord
2019-03-03 3:00 ` Richard Stallman
2019-03-03 17:52 ` Phillip Lord
2019-03-04 3:27 ` Richard Stallman
2019-03-10 11:27 ` Phillip Lord
2019-03-11 1:23 ` Richard Stallman
2019-03-11 22:08 ` Phillip Lord
2019-03-12 3:38 ` Richard Stallman
2019-03-12 15:42 ` Eli Zaretskii
2019-03-12 15:52 ` Robert Pluim
2019-03-12 17:25 ` Eli Zaretskii
2019-03-12 22:49 ` Phillip Lord
2019-03-12 22:48 ` Phillip Lord
2019-03-12 18:37 ` XEmacs packages (was: Core ELPA was: Testing fontification, indentation, and buffer manipulation) Stefan Monnier
2019-03-13 3:32 ` Core ELPA was: Testing fontification, indentation, and buffer manipulation Richard Stallman
2019-01-16 7:58 ` Helmut Eller
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=jwv1s3sx33y.fsf-monnier+emacs@gnu.org \
--to=monnier@iro.umontreal.ca \
--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.