[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#47661] [PATCH v2 01/33] profiles: Add hook for Emacs subdirs.
From: |
Leo Prikler |
Subject: |
[bug#47661] [PATCH v2 01/33] profiles: Add hook for Emacs subdirs. |
Date: |
Sat, 17 Apr 2021 19:06:16 +0200 |
* guix/profiles.scm (emacs-subdirs): New variable.
(%default-profile-hooks): Add it here.
* guix/status.scm (hook-message): Add a message for emacs-subdirs.
---
guix/profiles.scm | 41 +++++++++++++++++++++++++++++++++++++++++
guix/status.scm | 2 ++
2 files changed, 43 insertions(+)
diff --git a/guix/profiles.scm b/guix/profiles.scm
index 67d90532c1..26fe266a61 100644
--- a/guix/profiles.scm
+++ b/guix/profiles.scm
@@ -1115,6 +1115,46 @@ MANIFEST. Single-file bundles are required by programs
such as Git and Lynx."
`((type . profile-hook)
(hook . ca-certificate-bundle))))
+(define (emacs-subdirs manifest)
+ (define build
+ (with-imported-modules (source-module-closure
+ '((guix build profiles)
+ (guix build utils)))
+ #~(begin
+ (use-modules (guix build utils)
+ (guix build profiles)
+ (ice-9 ftw) ; scandir
+ (srfi srfi-1) ; append-map
+ (srfi srfi-26))
+
+ (let ((destdir (string-append #$output "/share/emacs/site-lisp"))
+ (subdirs
+ (append-map
+ (lambda (dir)
+ (filter
+ file-is-directory?
+ (map (cute string-append dir "/" <>)
+ (scandir dir (negate (cute member <> '("."
"..")))))))
+ (filter file-exists?
+ (map (cute string-append <> "/share/emacs/site-lisp")
+ '#$(manifest-inputs manifest))))))
+ (mkdir-p destdir)
+ (with-directory-excursion destdir
+ (call-with-output-file "subdirs.el"
+ (lambda (port)
+ (write
+ `(normal-top-level-add-to-load-path
+ (list ,@subdirs))
+ port)
+ (newline port)
+ #t)))))))
+ (gexp->derivation "emacs-subdirs" build
+ #:local-build? #t
+ #:substitutable? #f
+ #:properties
+ `((type . profile-hook)
+ (hook . emacs-subdirs))))
+
(define (glib-schemas manifest)
"Return a derivation that unions all schemas from manifest entries and
creates the Glib 'gschemas.compiled' file."
@@ -1672,6 +1712,7 @@ MANIFEST."
fonts-dir-file
ghc-package-cache-file
ca-certificate-bundle
+ emacs-subdirs
glib-schemas
gtk-icon-themes
gtk-im-modules
diff --git a/guix/status.scm b/guix/status.scm
index 362ae2882c..2683678201 100644
--- a/guix/status.scm
+++ b/guix/status.scm
@@ -379,6 +379,8 @@ the current build phase."
(G_ "building GHC package cache..."))
('ca-certificate-bundle
(G_ "building CA certificate bundle..."))
+ ('emacs-subdirs
+ (G_ "listing Emacs subdirs..."))
('glib-schemas
(G_ "generating GLib schema cache..."))
('gtk-icon-themes
--
2.31.1
- [bug#47661] [PATCH 21/33] gnu: emacs-pyim: Update to 3.6., (continued)
- [bug#47661] [PATCH 21/33] gnu: emacs-pyim: Update to 3.6., Leo Prikler, 2021/04/08
- [bug#47661] [PATCH 32/33] gnu: emacs-haskell-mode: Adjust to changes in emacs-build-system., Leo Prikler, 2021/04/08
- [bug#47661] [PATCH 30/33] gnu: emacs-w3m: Adjust to changes in emacs-build-system., Leo Prikler, 2021/04/08
- [bug#47661] [PATCH 29/33] gnu: emacs-dvc: Adjust to changes in emacs-build-system., Leo Prikler, 2021/04/08
- [bug#47661] [PATCH 33/33] gnu: emacs-julia-snail: Adjust to changes in emacs-build-system., Leo Prikler, 2021/04/08
- [bug#47661] [PATCH 22/33] gnu: emacs-realgud: Adjust to changes in emacs-build-system., Leo Prikler, 2021/04/08
- [bug#47661] [PATCH 27/33] gnu: guile-studio: Add missing input., Leo Prikler, 2021/04/08
- [bug#47661] [PATCH 26/33] gnu: emacs-flycheck-guile: Add missing input., Leo Prikler, 2021/04/08
- [bug#47661] [PATCH 31/33] gnu: emacs-wget: Port to emacs-build-system., Leo Prikler, 2021/04/08
- [bug#47661] [PATCH 28/33] gnu: geiser-gauche: Adjust to changes in emacs-build-system., Leo Prikler, 2021/04/08
- [bug#47661] [PATCH v2 01/33] profiles: Add hook for Emacs subdirs.,
Leo Prikler <=
- [bug#47661] [PATCH v2 04/33] build-system: emacs: Use subdirectories again., Leo Prikler, 2021/04/17
- [bug#47661] [PATCH v2 07/33] gnu: emacs-telega: Adjust to changes in emacs-build-system., Leo Prikler, 2021/04/17
- [bug#47661] [PATCH v2 08/33] gnu: Add emacs-telega-contrib., Leo Prikler, 2021/04/17
- [bug#47661] [PATCH v2 14/33] gnu: emacs-sly-stepper: Adjust to changes in emacs-build-system., Leo Prikler, 2021/04/17
- [bug#47661] [PATCH v2 03/33] gnu: emacs: Add coreutils and gzip to PATH., Leo Prikler, 2021/04/17
- [bug#47661] [PATCH v2 13/33] gnu: emacs-shroud: Adjust to changes in emacs-build-system., Leo Prikler, 2021/04/17
- [bug#47661] [PATCH v2 11/33] gnu: emacs-ert-runner: Adjust to changes in emacs-build-system., Leo Prikler, 2021/04/17
- [bug#47661] [PATCH v2 17/33] gnu: emacs-edbi: Adjust to changes in emacs-build-system., Leo Prikler, 2021/04/17
- [bug#47661] [PATCH v2 19/33] gnu: emacs-vterm: Adjust to changes in emacs-build-system., Leo Prikler, 2021/04/17
- [bug#47661] [PATCH v2 21/33] gnu: emacs-pyim: Update to 3.6., Leo Prikler, 2021/04/17