Subject: [bug#48272] [PATCH] gnu: emacs-ledger-mode: Simplify build

From: [email-masked]
Date: Thu, 6 May 2021 20:30:11 -0400

From: Morgan Smith <[email-masked]>

* gnu/packages/finance.scm (emacs-ledger-mode)
[build-system]: Use emacs-build-system instead of cmake
[arguments]:
- Remove modules and imported-modules.
- Move patch-path phase to after unpack so that the substitution actually
causes a change.
- Remove generate-autoload phase as that's built into the build system.
- Remove patch-site-dir as that only affected cmake things
[native-inputs]: Remove emacs-minimal
---
 gnu/packages/finance.scm | 26 ++++----------------------
 1 file changed, 4 insertions(+), 22 deletions(-)

diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm
index b8ec4a9dc0..077fba9e27 100644
--- a/gnu/packages/finance.scm
+++ b/gnu/packages/finance.scm
@@ -400,22 +400,11 @@ (define-public emacs-ledger-mode
        (file-name (git-file-name name version))
        (sha256
         (base32 "1r5rcyxd6d1rqwamzpvqdbkbdf1zbj75aaciqijrklnm59ps244y"))))
-    (build-system cmake-build-system)
+    (build-system emacs-build-system)
     (arguments
-     `(#:modules ((guix build cmake-build-system)
-                  (guix build utils)
-                  (guix build emacs-utils))
-       #:imported-modules (,@%cmake-build-system-modules
-                           (guix build emacs-utils))
-       #:phases
+     `(#:phases
        (modify-phases %standard-phases
-         (add-after 'unpack 'patch-site-dir
-           (lambda _
-             (substitute* "CMakeLists.txt"
-               (("DESTINATION share/emacs/site-lisp/ledger-mode")
-                "DESTINATION share/emacs/site-lisp"))
-             #t))
-         (add-before 'build 'patch-path
+         (add-after 'unpack 'patch-path
            (lambda* (#:key inputs #:allow-other-keys)
              (let ((ledger (assoc-ref inputs "ledger")))
                (make-file-writable "ledger-exec.el")
@@ -430,12 +419,6 @@ (define-public emacs-ledger-mode
                (invoke "makeinfo" "-o" target
                        "../source/doc/ledger-mode.texi"))
              #t))
-         (add-after 'install 'generate-autoload
-           (lambda* (#:key outputs #:allow-other-keys)
-             (let* ((site-dir (string-append (assoc-ref outputs "out")
-                                             "/share/emacs/site-lisp")))
-               (emacs-generate-autoloads ,name site-dir))
-             #t))
          (replace 'check
            (lambda _
              (with-directory-excursion "../source/test"
@@ -443,8 +426,7 @@ (define-public emacs-ledger-mode
     (inputs
      `(("ledger" ,ledger)))
     (native-inputs
-     `(("emacs-minimal" ,emacs-minimal)
-       ("texinfo" ,texinfo)))
+     `(("texinfo" ,texinfo)))
     (home-page "https://ledger-cli.org/")
     (synopsis "Command-line double-entry accounting program")
     (description
-- 
2.31.1