~ruther/guix-local

6c41e4d180b38dffb8940a8bf966b8266191035c — Liliana Marie Prikler 8 months ago fcd191d
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’.
2 files changed, 42 insertions(+), 137 deletions(-)

M gnu/packages/emacs-xyz.scm
M guix/build/emacs-utils.scm
M gnu/packages/emacs-xyz.scm => gnu/packages/emacs-xyz.scm +34 -137
@@ 1683,12 1683,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")


@@ 2540,14 2535,8 @@ for filesystem and generic servers.")
     (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


@@ 6189,11 6178,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))


@@ 6273,12 6258,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")


@@ 14340,15 14320,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))


@@ 14441,11 14414,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")


@@ 14478,12 14448,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")


@@ 14863,12 14828,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))


@@ 20879,14 20839,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


@@ 20926,12 20880,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/")


@@ 20963,12 20912,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")


@@ 21423,12 21367,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))


@@ 21854,14 21793,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


@@ 28168,14 28101,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


@@ 32864,12 32791,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")


@@ 39544,14 39466,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


@@ 42429,15 42344,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")


@@ 43856,12 43764,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


@@ 44615,16 44518,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")


@@ 44744,12 44641,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))

M guix/build/emacs-utils.scm => guix/build/emacs-utils.scm +8 -0
@@ 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"))