all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* Recursive substitute-keyword-arguments / setting default on build system
@ 2023-09-26 11:08 nils
  2023-09-27 14:13 ` Hilton Chain
  0 siblings, 1 reply; 3+ messages in thread
From: nils @ 2023-09-26 11:08 UTC (permalink / raw)
  To: help-guix@gnu.org

Hello,

I use a slightly customized emacs package, and want to use it as the package that is used in emacs-build-system for the emacs plugins I'm using.
The default emacs gets garbage collected and takes quite a while to reinstall, I would like to avoid that. Also, it seems cleaner to build the plugins with the exact version that they will be used with.

Here's what I have:

(define emacs-package
  ((const
     ((options->transformation
        '((with-configure-flag . "emacs=--program-transform-name='s/^ctags$/ctags.emacs/'")))
      emacs))))

(define (set-build-system-emacs plugin-package)
  (package
    (inherit plugin-package)
    (arguments
      (substitute-keyword-arguments (package-arguments plugin-package)
                                    ((#:emacs emacs) `,emacs-package)))))

(map set-build-system-emacs package-list)

From what I can tell this does work for the packages in package-list, but not for any inputs to those packages. That makes total sense to me, but I don't know how to solve it.
Any pointers? Or is it possible to set the default package for a build system, removing the need for this mapping altogether?

Nils


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2023-09-27 17:42 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-09-26 11:08 Recursive substitute-keyword-arguments / setting default on build system nils
2023-09-27 14:13 ` Hilton Chain
2023-09-27 17:41   ` nils

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.