Subject: bug#50896: emacs-beancount broken, moved to its own project

From: Christine Lemmer-Webber <[email-masked]>
Date: Wed, 29 Sep 2021 14:03:20 -0400

Hello... emacs-beancount is broken because it's no longer just bundled
in beancount.  However, I've attached a fix.

If nobody has any problem with this I'll just push it up to master.
Since it's a leaf package, and the current state is "it's broken" I
figure it's probably fine to push, but since it's a significant
refactoring thought I'd ask for a review before I did so.

From e6f150f3eb3f3f63455c2a21a9490690b59216f2 Mon Sep 17 00:00:00 2001
From: Christine Lemmer-Webber <[email-masked]>
Date: Wed, 29 Sep 2021 12:46:01 -0400
Subject: [PATCH] gnu: emacs-beancount: Restructure package, now independent of
 beancount.

* gnu/packages/finance.scm (emacs-beancount): Restructure package, now
independent of beancount and in its own git repository.  Note that there is no
version number for the now independent code tree, so unfortunately this might
look like a "version downgrade" to some users as it switched from being
beancount's revision number to being a git-derived version number.
---
 gnu/packages/finance.scm | 41 ++++++++++++++++++++++------------------
 1 file changed, 23 insertions(+), 18 deletions(-)

diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm
index 4aaab58906..e554d93535 100644
--- a/gnu/packages/finance.scm
+++ b/gnu/packages/finance.scm
@@ -1643,25 +1643,30 @@ define financial transaction records in a text file, read them in memory,
 generate a variety of reports from them, and provides a web interface.")
     (license license:gpl2)))
 
-;; The beancount source ships with elisp in a subdirectory
 (define-public emacs-beancount
-  (package
-    (inherit beancount)
-    (name "emacs-beancount")
-    (build-system emacs-build-system)
-    (arguments
-     `(#:tests? #f ;no tests
-       #:phases
-       (modify-phases %standard-phases
-         (add-before 'install 'chdir-emacs
-           (lambda _
-             (chdir "editors/emacs")
-             #t)))))
-    (inputs '())
-    (native-inputs '())
-    (synopsis "Emacs mode for beancount")
-    (description
-      "Emacs-beancount is an Emacs mode for the Beancount accounting tool.")))
+  (let ((commit "dbafe6a73d90c1f64d457b356b9dbb43499f70d5")
+        (revision "0"))
+    (package
+      (name "emacs-beancount")
+      (version (git-version "0.0.0" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/beancount/beancount-mode")
+               (commit commit)))
+         (sha256
+          (base32
+           "0v9bws2gv5b00x829p7hrcxqgdp7iwxvv1vhfjka81qrw6w1fvjw"))
+         (file-name (git-file-name name version))))
+      (build-system emacs-build-system)
+      (license license:gpl3+)
+      (home-page "https://github.com/beancount/beancount-mode")
+      (inputs '())
+      (native-inputs '())
+      (synopsis "Emacs mode for beancount")
+      (description
+       "Emacs-beancount is an Emacs mode for the Beancount accounting tool."))))
 
 (define-public hledger-web
   (package
-- 
2.33.0