guix_mirror_bot pushed a commit to branch emacs-team
in repository guix.
commit 706a3aba152da32372c7b6a0262341595cecb339
Author: Liliana Marie Prikler <[email protected]>
AuthorDate: Thu Aug 14 10:08:25 2025 +0200
build: emacs-utils: Add emacs-makeinfo.
* guix/build/emacs-utils.scm (emacs-makeinfo): New variable.
* gnu/packages/emacs-xyz.scm (emacs-show-font, emacs-mct, emacs-corfu)
(emacs-cape, emacs-embark, emacs-orderless, emacs-consult, emacs-marginalia)
(emacs-logos, emacs-tmr, emacs-beframe, emacs-tempel, emacs-lin,
emacs-pulsar)
(emacs-dired-preview, emacs-modus-themes, emacs-org-glossary, emacs-vertico)
(emacs-org-margin, emacs-osm)[#:phases]<makeinfo>: Use it.
Move before ‘install’ if it was previously after ‘install’.
---
gnu/packages/emacs-xyz.scm | 171 +++++++++------------------------------------
guix/build/emacs-utils.scm | 8 +++
2 files changed, 42 insertions(+), 137 deletions(-)
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 503d014df6..674cc772b7 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -1628,12 +1628,7 @@ is based off of Slim mode.")
#:phases
#~(modify-phases %standard-phases
(add-before 'install 'makeinfo
- (lambda _
- (invoke "emacs"
- "--batch"
- "--eval=(require 'ox-texinfo)"
- "--eval=(find-file \"README.org\")"
- "--eval=(org-texinfo-export-to-info)"))))))
+ (lambda _ (emacs-makeinfo))))))
(native-inputs
(list texinfo))
(home-page "https://github.com/protesilaos/show-font")
@@ -2431,14 +2426,8 @@ code files.")
(list
#:phases
#~(modify-phases %standard-phases
- (add-after 'install 'makeinfo
- (lambda _
- (invoke "emacs"
- "--batch"
- "--eval=(require 'ox-texinfo)"
- "--eval=(find-file \"README.org\")"
- "--eval=(org-texinfo-export-to-info)")
- (install-file "mct.info" (string-append #$output
"/share/info")))))))
+ (add-before 'install 'makeinfo
+ (lambda _ (emacs-makeinfo))))))
(home-page "https://protesilaos.com/emacs/mct")
(synopsis "Enhancement of the default Emacs minibuffer completion UI")
(description "Minibuffer and Completions in Tandem, also known as MCT, or
@@ -6054,11 +6043,7 @@ of bibliographic references.")
(rename-file f (basename f)))
el-files))))
(add-after 'unpack 'makeinfo
- (lambda _
- (invoke "emacs" "--batch"
- "--eval=(require 'ox-texinfo)"
- "--eval=(find-file \"README.org\")"
- "--eval=(org-texinfo-export-to-info)"))))))
+ (lambda _ (emacs-makeinfo))))))
(native-inputs (list texinfo))
(propagated-inputs
(list emacs-compat))
@@ -6138,12 +6123,7 @@ be regarded as @code{emacs-company-quickhelp} for
@code{emacs-corfu}.")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'makeinfo
- (lambda _
- (invoke "emacs"
- "--batch"
- "--eval=(require 'ox-texinfo)"
- "--eval=(find-file \"README.org\")"
- "--eval=(org-texinfo-export-to-info)"))))))
+ (lambda _ (emacs-makeinfo))))))
(native-inputs (list texinfo))
(propagated-inputs (list emacs-compat))
(home-page "https://github.com/minad/cape")
@@ -14143,15 +14123,8 @@ them easier to distinguish from other, less important
buffers.")
(list
#:phases
#~(modify-phases %standard-phases
- (add-after 'install 'makeinfo
- (lambda* (#:key outputs #:allow-other-keys)
- (invoke "emacs"
- "--batch"
- "--eval=(require 'ox-texinfo)"
- "--eval=(find-file \"README.org\")"
- "--eval=(org-texinfo-export-to-info)")
- (install-file "embark.info"
- (string-append #$output "/share/info")))))))
+ (add-before 'install 'makeinfo
+ (lambda _ (emacs-makeinfo))))))
(native-inputs (list texinfo))
(propagated-inputs
(list emacs-avy emacs-consult))
@@ -14244,11 +14217,8 @@ interface.")
#:tests? #f
#:phases
#~(modify-phases %standard-phases
- (add-after 'install 'makeinfo
- (lambda _
- (invoke "makeinfo" "orderless.texi")
- (install-file "orderless.info"
- (string-append #$output "/share/info")))))))
+ (add-before 'install 'makeinfo
+ (lambda _ (emacs-makeinfo))))))
(native-inputs (list texinfo))
(propagated-inputs (list emacs-compat))
(home-page "https://github.com/oantolin/orderless")
@@ -14281,12 +14251,7 @@ style, or as multiple word prefixes.")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'makeinfo
- (lambda _
- (invoke "emacs"
- "--batch"
- "--eval=(require 'ox-texinfo)"
- "--eval=(find-file \"README.org\")"
- "--eval=(org-texinfo-export-to-info)"))))))
+ (lambda _ (emacs-makeinfo))))))
(native-inputs (list texinfo))
(propagated-inputs (list emacs-compat))
(home-page "https://github.com/minad/consult")
@@ -14666,12 +14631,7 @@ expansion and overwriting the marked region with a new
snippet completion.")
#:phases
#~(modify-phases %standard-phases
(add-before 'install 'makeinfo
- (lambda _
- (invoke "emacs"
- "--batch"
- "--eval=(require 'ox-texinfo)"
- "--eval=(find-file \"README.org\")"
- "--eval=(org-texinfo-export-to-info)"))))))
+ (lambda _ (emacs-makeinfo))))))
(native-inputs (list texinfo))
(propagated-inputs
(list emacs-compat))
@@ -20678,14 +20638,8 @@ graph. (Optional dependencies GraphViz, D3js, to be
acquired separately!)
(list
#:phases
#~(modify-phases %standard-phases
- (add-after 'install 'makeinfo
- (lambda* (#:key outputs #:allow-other-keys)
- (invoke "emacs"
- "--batch"
- "--eval=(require 'ox-texinfo)"
- "--eval=(find-file \"README.org\")"
- "--eval=(org-texinfo-export-to-info)")
- (install-file "logos.info" (string-append #$output
"/share/info")))))))
+ (add-before 'install 'makeinfo
+ (lambda _ (emacs-makeinfo))))))
(home-page "https://protesilaos.com/emacs/logos")
(synopsis "Simple focus mode for Emacs")
(description "This package provides a simple focus mode which can be
@@ -20725,12 +20679,7 @@ structure, or any other pattern.")
inputs
"share/sounds/freedesktop/stereo/alarm-clock-elapsed.oga")))))
(add-after 'unpack 'makeinfo
- (lambda _
- (invoke "emacs"
- "--batch"
- "--eval=(require 'ox-texinfo)"
- "--eval=(find-file \"README.org\")"
- "--eval=(org-texinfo-export-to-info)"))))))
+ (lambda _ (emacs-makeinfo))))))
(native-inputs (list texinfo))
(inputs (list ffmpeg sound-theme-freedesktop))
(home-page "https://protesilaos.com/emacs/tmr/")
@@ -20762,12 +20711,7 @@ using a convenient notation.")
#:phases
#~(modify-phases %standard-phases
(add-before 'install 'makeinfo
- (lambda _
- (invoke "emacs"
- "--batch"
- "--eval=(require 'ox-texinfo)"
- "--eval=(find-file \"README.org\")"
- "--eval=(org-texinfo-export-to-info)"))))))
+ (lambda _ (emacs-makeinfo))))))
(native-inputs
(list texinfo))
(home-page "https://protesilaos.com/emacs/beframe")
@@ -21222,12 +21166,7 @@ been adapted to also work with mu4e.")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'makeinfo
- (lambda _
- (invoke "emacs"
- "--batch"
- "--eval=(require 'ox-texinfo)"
- "--eval=(find-file \"README.org\")"
- "--eval=(org-texinfo-export-to-info)"))))))
+ (lambda _ (emacs-makeinfo))))))
(native-inputs (list texinfo))
(propagated-inputs
(list emacs-compat))
@@ -21649,14 +21588,8 @@ number on the left margin in Emacs.")
#:tests? #f ; no tests
#:phases
#~(modify-phases %standard-phases
- (add-after 'install 'makeinfo
- (lambda _
- (invoke "emacs"
- "--batch"
- "--eval=(require 'ox-texinfo)"
- "--eval=(find-file \"README.org\")"
- "--eval=(org-texinfo-export-to-info)")
- (install-file "lin.info" (string-append #$output
"/share/info")))))))
+ (add-before 'install 'makeinfo
+ (lambda _ (emacs-makeinfo))))))
(home-page "https://protesilaos.com/emacs/lin")
(synopsis "Make Hl Line mode more suitable for selection UIs")
(description
@@ -27926,14 +27859,8 @@ subscription.")
(list
#:phases
#~(modify-phases %standard-phases
- (add-after 'install 'makeinfo
- (lambda _
- (invoke "emacs"
- "--batch"
- "--eval=(require 'ox-texinfo)"
- "--eval=(find-file \"README.org\")"
- "--eval=(org-texinfo-export-to-info)")
- (install-file "pulsar.info" (string-append #$output
"/share/info")))))))
+ (add-before 'install 'makeinfo
+ (lambda _ (emacs-makeinfo))))))
(home-page "https://protesilaos.com/emacs/pulsar")
(synopsis "Pulse highlight line on demand or after running select
functions")
(description "This package temporarily highlights the current line after a
@@ -32593,12 +32520,7 @@ buffer displays recursive dir sizes.")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'makeinfo
- (lambda _
- (invoke "emacs"
- "--batch"
- "--eval=(require 'ox-texinfo)"
- "--eval=(find-file \"README.org\")"
- "--eval=(org-texinfo-export-to-info)"))))))
+ (lambda _ (emacs-makeinfo))))))
(native-inputs (list emacs-ert-runner texinfo))
(home-page "https://protesilaos.com/emacs/dired-preview")
(synopsis "Automatically preview file at point in Dired")
@@ -39193,14 +39115,7 @@ Emacs that integrate with major modes like Org-mode.")
#:phases
#~(modify-phases %standard-phases
(add-after 'install 'makeinfo
- (lambda _
- (invoke "emacs"
- "--batch"
- "--eval=(require 'ox-texinfo)"
- "--eval=(find-file \"doc/modus-themes.org\")"
- "--eval=(org-texinfo-export-to-info)")
- (install-file "doc/modus-themes.info"
- (string-append #$output "/share/info")))))))
+ (lambda _ (emacs-makeinfo))))))
(home-page "https://protesilaos.com/modus-themes/")
(synopsis "Accessible themes for Emacs (WCAG AAA standard)")
(description
@@ -42065,15 +41980,8 @@ org-mode templates.")
(list
#:phases
#~(modify-phases %standard-phases
- (add-after 'install 'makeinfo
- (lambda _
- (invoke "emacs"
- "--batch"
- "--eval=(require 'ox-texinfo)"
- "--eval=(find-file \"org-glossary.org\")"
- "--eval=(org-texinfo-export-to-info)")
- (install-file "org-glossary.info"
- (string-append #$output "/share/info")))))))
+ (add-before 'install 'makeinfo
+ (lambda _ (emacs-makeinfo "org-glossary.org"))))))
(native-inputs (list texinfo))
(home-page "https://git.tecosaur.net/tec/org-glossary")
(synopsis "Interact with glossary-like structures in Org documents")
@@ -43477,12 +43385,7 @@ and preferred services can easily be configured.")
(rename-file f (basename f)))
el-files))))
(add-after 'move-source-files 'makeinfo
- (lambda _
- (invoke "emacs"
- "--batch"
- "--eval=(require 'ox-texinfo)"
- "--eval=(find-file \"README.org\")"
- "--eval=(org-texinfo-export-to-info)"))))))
+ (lambda _ (emacs-makeinfo))))))
(native-inputs
(list texinfo))
(propagated-inputs
@@ -44236,16 +44139,10 @@ used with or without Org Modern mode.")
(list
#:phases
#~(modify-phases %standard-phases
- (add-after 'install 'makeinfo
+ (add-before 'install 'makeinfo
(lambda _
- (invoke "emacs"
- "--batch"
- "--eval=(require 'ox-texinfo)"
- "--eval=(find-file \"README.org\")"
- "--eval=(org-texinfo-export-to-info)")
- (rename-file "README.info" "org-margin.info")
- (install-file "org-margin.info"
- (string-append #$output "/share/info")))))))
+ (emacs-makeinfo)
+ (rename-file "README.info" "org-margin.info"))))))
(native-inputs (list texinfo))
(license license:gpl3+)
(home-page "https://github.com/rougier/org-margin")
@@ -44365,12 +44262,12 @@ hacker.")
space "\"")))))
(add-after 'unpack 'makeinfo
(lambda _
- (invoke "emacs"
- "--batch"
- "--eval=(require 'ox-texinfo)"
- "--eval=(setq org-export-with-broken-links t)"
- "--eval=(find-file \"README.org\")"
- "--eval=(org-texinfo-export-to-info)"))))))
+ (emacs-makeinfo
+ "README.org"
+ '(progn
+ (require 'ox-texinfo)
+ (setq org-texinfo-with-broken-links t)
+ (org-texinfo-export-to-info))))))))
(inputs (list curl))
(native-inputs (list texinfo))
(propagated-inputs (list emacs-compat))
diff --git a/guix/build/emacs-utils.scm b/guix/build/emacs-utils.scm
index 729dd2bdc4..41914e7dcb 100644
--- a/guix/build/emacs-utils.scm
+++ b/guix/build/emacs-utils.scm
@@ -36,6 +36,7 @@
emacs-batch-error?
emacs-batch-error-message
+ emacs-makeinfo
emacs-generate-autoloads
emacs-byte-compile-directory
emacs-compile-directory
@@ -107,6 +108,13 @@ If NATIVE?, only disable native compilation."
(message (read-string (car error-pipe)))))))
output))
+(define* (emacs-makeinfo #:optional
+ (file "README.org")
+ (expr '(progn
+ (require 'ox-texinfo)
+ (org-texinfo-export-to-info))))
+ (emacs-batch-edit-file file expr))
+
(define (emacs-generate-autoloads name directory)
"Generate autoloads for Emacs package NAME placed in DIRECTORY."
(let* ((file (string-append directory "/" name "-autoloads.el"))