[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Core ELPA was: Testing fontification, indentation, and buffer manipu
From: |
Stefan Monnier |
Subject: |
Re: Core ELPA was: Testing fontification, indentation, and buffer manipulation |
Date: |
Wed, 27 Feb 2019 18:05:01 -0500 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) |
> 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 address@hidden:/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