all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Leo Prikler <leo.prikler@student.tugraz.at>
To: 47661@debbugs.gnu.org
Subject: [bug#47661] [PATCH 01/33] profiles: Add hook for Emacs subdirs.
Date: Thu,  8 Apr 2021 19:49:35 +0200	[thread overview]
Message-ID: <20210408175007.13360-1-leo.prikler@student.tugraz.at> (raw)
In-Reply-To: <20210408174616.13112-1-leo.prikler@student.tugraz.at>

* 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





  reply	other threads:[~2021-04-08 17:51 UTC|newest]

Thread overview: 76+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-04-08 17:46 [bug#47661] [PATCH 00/33] Improve Emacs UX Leo Prikler
2021-04-08 17:49 ` Leo Prikler [this message]
2021-04-08 17:49   ` [bug#47661] [PATCH 02/33] gnu: emacs: Wrap EMACSLOADPATH Leo Prikler
2021-04-08 17:49   ` [bug#47661] [PATCH 03/33] gnu: emacs: Patch more program file names Leo Prikler
2021-04-08 17:49   ` [bug#47661] [PATCH 04/33] build-system: emacs: Use subdirectories again Leo Prikler
2021-04-08 17:49   ` [bug#47661] [PATCH 05/33] gnu: emacs-libgit: Adjust to changes in emacs-build-system Leo Prikler
2021-04-08 17:49   ` [bug#47661] [PATCH 06/33] gnu: emacs-guix: " Leo Prikler
2021-04-08 17:49   ` [bug#47661] [PATCH 07/33] gnu: emacs-telega: " Leo Prikler
2021-04-08 17:49   ` [bug#47661] [PATCH 08/33] gnu: Add emacs-telega-contrib Leo Prikler
2021-04-08 17:49   ` [bug#47661] [PATCH 09/33] gnu: emacs-emacsql: Adjust to changes in emacs-build-system Leo Prikler
2021-04-08 17:49   ` [bug#47661] [PATCH 10/33] gnu: emacs-howm: " Leo Prikler
2021-04-08 17:49   ` [bug#47661] [PATCH 11/33] gnu: emacs-ert-runner: " Leo Prikler
2021-04-08 17:49   ` [bug#47661] [PATCH 12/33] gnu: emacs-pdf-tools: " Leo Prikler
2021-04-08 17:49   ` [bug#47661] [PATCH 13/33] gnu: emacs-shroud: " Leo Prikler
2021-04-08 17:49   ` [bug#47661] [PATCH 14/33] gnu: emacs-sly-stepper: " Leo Prikler
2021-04-08 17:49   ` [bug#47661] [PATCH 15/33] gnu: emacs-sly-stepper: Remove generated sources Leo Prikler
2021-04-08 17:49   ` [bug#47661] [PATCH 16/33] gnu: emacs-org-contrib: Adjust to changes in emacs-build-system Leo Prikler
2021-04-08 17:49   ` [bug#47661] [PATCH 17/33] gnu: emacs-edbi: " Leo Prikler
2021-04-08 17:49   ` [bug#47661] [PATCH 18/33] gnu: emacs-scel: " Leo Prikler
2021-04-08 17:49   ` [bug#47661] [PATCH 19/33] gnu: emacs-vterm: " Leo Prikler
2021-04-08 17:49   ` [bug#47661] [PATCH 20/33] gnu: notmuch: " Leo Prikler
2021-04-08 17:49   ` [bug#47661] [PATCH 21/33] gnu: emacs-pyim: Update to 3.6 Leo Prikler
2021-04-08 17:49   ` [bug#47661] [PATCH 22/33] gnu: emacs-realgud: Adjust to changes in emacs-build-system Leo Prikler
2021-04-08 17:49   ` [bug#47661] [PATCH 23/33] gnu: emacs-geiser: Update to 0.13 Leo Prikler
2021-04-08 17:49   ` [bug#47661] [PATCH 24/33] gnu: Add emacs-geiser-guile Leo Prikler
2021-04-08 17:49   ` [bug#47661] [PATCH 25/33] gnu: emacs-guix: Update to 0.5.2-4.8ce6d21 Leo Prikler
2021-04-08 17:50   ` [bug#47661] [PATCH 26/33] gnu: emacs-flycheck-guile: Add missing input Leo Prikler
2021-04-08 17:50   ` [bug#47661] [PATCH 27/33] gnu: guile-studio: " Leo Prikler
2021-04-08 17:50   ` [bug#47661] [PATCH 28/33] gnu: geiser-gauche: Adjust to changes in emacs-build-system Leo Prikler
2021-04-08 17:50   ` [bug#47661] [PATCH 29/33] gnu: emacs-dvc: " Leo Prikler
2021-04-08 17:50   ` [bug#47661] [PATCH 30/33] gnu: emacs-w3m: " Leo Prikler
2021-04-08 17:50   ` [bug#47661] [PATCH 31/33] gnu: emacs-wget: Port to emacs-build-system Leo Prikler
2021-04-08 17:50   ` [bug#47661] [PATCH 32/33] gnu: emacs-haskell-mode: Adjust to changes in emacs-build-system Leo Prikler
2021-04-08 17:50   ` [bug#47661] [PATCH 33/33] gnu: emacs-julia-snail: " Leo Prikler
2021-04-17 17:06 ` [bug#47661] [PATCH v2 01/33] profiles: Add hook for Emacs subdirs Leo Prikler
2021-04-17 17:06   ` [bug#47661] [PATCH v2 02/33] gnu: emacs: Wrap EMACSLOADPATH Leo Prikler
2021-04-17 17:06   ` [bug#47661] [PATCH v2 03/33] gnu: emacs: Add coreutils and gzip to PATH Leo Prikler
2021-04-17 17:06   ` [bug#47661] [PATCH v2 04/33] build-system: emacs: Use subdirectories again Leo Prikler
2021-04-17 17:06   ` [bug#47661] [PATCH v2 05/33] gnu: emacs-libgit: Adjust to changes in emacs-build-system Leo Prikler
2021-04-17 17:06   ` [bug#47661] [PATCH v2 06/33] gnu: emacs-guix: " Leo Prikler
2021-04-17 17:06   ` [bug#47661] [PATCH v2 07/33] gnu: emacs-telega: " Leo Prikler
2021-04-17 17:06   ` [bug#47661] [PATCH v2 08/33] gnu: Add emacs-telega-contrib Leo Prikler
2021-04-17 17:06   ` [bug#47661] [PATCH v2 09/33] gnu: emacs-emacsql: Adjust to changes in emacs-build-system Leo Prikler
2021-04-17 17:06   ` [bug#47661] [PATCH v2 10/33] gnu: emacs-howm: " Leo Prikler
2021-04-17 17:06   ` [bug#47661] [PATCH v2 11/33] gnu: emacs-ert-runner: " Leo Prikler
2021-04-17 17:06   ` [bug#47661] [PATCH v2 12/33] gnu: emacs-pdf-tools: " Leo Prikler
2021-04-17 17:06   ` [bug#47661] [PATCH v2 13/33] gnu: emacs-shroud: " Leo Prikler
2021-04-17 17:06   ` [bug#47661] [PATCH v2 14/33] gnu: emacs-sly-stepper: " Leo Prikler
2021-04-17 17:06   ` [bug#47661] [PATCH v2 15/33] gnu: emacs-sly-stepper: Remove generated sources Leo Prikler
2021-04-17 17:06   ` [bug#47661] [PATCH v2 16/33] gnu: emacs-org-contrib: Adjust to changes in emacs-build-system Leo Prikler
2021-04-17 17:06   ` [bug#47661] [PATCH v2 17/33] gnu: emacs-edbi: " Leo Prikler
2021-04-17 17:06   ` [bug#47661] [PATCH v2 18/33] gnu: emacs-scel: " Leo Prikler
2021-04-17 17:06   ` [bug#47661] [PATCH v2 19/33] gnu: emacs-vterm: " Leo Prikler
2021-04-17 17:06   ` [bug#47661] [PATCH v2 20/33] gnu: notmuch: " Leo Prikler
2021-04-17 17:06   ` [bug#47661] [PATCH v2 21/33] gnu: emacs-pyim: Update to 3.6 Leo Prikler
2021-04-17 17:06   ` [bug#47661] [PATCH v2 22/33] gnu: emacs-realgud: Adjust to changes in emacs-build-system Leo Prikler
2021-04-17 17:06   ` [bug#47661] [PATCH v2 23/33] gnu: emacs-geiser: Update to 0.13 Leo Prikler
2021-04-17 17:06   ` [bug#47661] [PATCH v2 24/33] gnu: Add emacs-geiser-guile Leo Prikler
2021-04-17 17:06   ` [bug#47661] [PATCH v2 25/33] gnu: emacs-guix: Update to 0.5.2-4.8ce6d21 Leo Prikler
2021-04-17 17:06   ` [bug#47661] [PATCH v2 26/33] gnu: emacs-flycheck-guile: Add missing input Leo Prikler
2021-04-17 17:06   ` [bug#47661] [PATCH v2 27/33] gnu: guile-studio: " Leo Prikler
2021-04-17 17:06   ` [bug#47661] [PATCH v2 28/33] gnu: geiser-gauche: Adjust to changes in emacs-build-system Leo Prikler
2021-04-17 17:06   ` [bug#47661] [PATCH v2 29/33] gnu: emacs-dvc: " Leo Prikler
2021-04-17 17:06   ` [bug#47661] [PATCH v2 30/33] gnu: emacs-w3m: " Leo Prikler
2021-04-17 17:06   ` [bug#47661] [PATCH v2 31/33] gnu: emacs-wget: Port to emacs-build-system Leo Prikler
2021-04-17 17:06   ` [bug#47661] [PATCH v2 32/33] gnu: emacs-haskell-mode: Adjust to changes in emacs-build-system Leo Prikler
2021-04-17 17:06   ` [bug#47661] [PATCH v2 33/33] gnu: emacs-julia-snail: " Leo Prikler
2021-04-29 12:16 ` [bug#47661] [PATCH 00/33] Improve Emacs UX Xinglu Chen
2021-04-29 14:58   ` Leo Prikler
2021-04-30  8:25     ` Xinglu Chen
2021-05-01 18:45       ` bug#47661: " Leo Prikler
2021-05-04  5:13         ` [bug#47661] " Arun Isaac
2021-05-04  6:38           ` Leo Prikler
2021-05-04 21:02             ` Arun Isaac
2021-05-04 21:22               ` Leo Prikler
2021-05-05  7:47                 ` Arun Isaac

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=20210408175007.13360-1-leo.prikler@student.tugraz.at \
    --to=leo.prikler@student.tugraz.at \
    --cc=47661@debbugs.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/guix.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.