branch: elpa-admin commit f0b1b51fc76625e852f3f21945d4dc32ea9845ea Author: Philip Kaludercic <phil...@posteo.net> Commit: Philip Kaludercic <phil...@posteo.net>
Add support for GNU Guix * elpa-admin.el (elpaa--sandbox-ro-binds): Add /gnu to the list of read-only directories so that a "Guix" Emacs can access its site-lisp files. * elpa-manifest.scm: Add a Guix manifest file with all the necessary packages to use GNU ELPA. The manifest file is added to the admin branch, so that if elpa-admin.el requires a new dependency, the change can be made centrally and will be reflected in both elpa.git and nongnu.git. elpa-manifest.scm is symbolically linked into the repositories' respective root directories at initialisation, as is already the case with the GNUmakefile. By linking it, the file will be renamed to the more conventional "manifest.scm". We use "elpa-manifest.scm" here to avoid confusing a "guix shell" invocation, that is hard-coded to check for a "manifest.scm" and "guix.scm" file. --- elpa-admin.el | 2 +- elpa-manifest.scm | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/elpa-admin.el b/elpa-admin.el index 6e24440569..ecf4bc90d1 100644 --- a/elpa-admin.el +++ b/elpa-admin.el @@ -973,7 +973,7 @@ The INFILE and DISPLAY arguments are fixed as nil." "--tmpfs" "/tmp")) (defvar elpaa--sandbox-ro-binds - '("/lib" "/lib64" "/bin" "/usr" "/etc/alternatives" "/etc/emacs")) + '("/lib" "/lib64" "/bin" "/usr" "/etc/alternatives" "/etc/emacs" "/gnu")) (defun elpaa--call-sandboxed (destination &rest args) "Like ‘elpaa--call’ but sandboxed. diff --git a/elpa-manifest.scm b/elpa-manifest.scm new file mode 100644 index 0000000000..5dfc19941a --- /dev/null +++ b/elpa-manifest.scm @@ -0,0 +1,19 @@ +;; GNU Guix manifest for (Non)GNU ELPA +;; +;; This file specifies all the packages that are required for the ELPA +;; build system to function correctly. You can either use the "guix +;; shell" command to create an environment with everything prepared. + +(specifications->manifest + (list "bubblewrap" + "coreutils" + "emacs-minimal" + "git" + "grep" + "imagemagick" + "lzip" + "make" + "markdown" + "tar" + "texinfo")) +