[bug#62503] emacs-beframe
Commit Message
Hello wonderful maintainer(s) of Guix,
Jamie Cullen here. This is my first ever patch, first ever commit, first
ever packaged package, first ever time doing anything mildly useful with
Git, etc etc. Excitement is tantamount here.
Please don't hesitate to tell me about even the smallest modification on
my side, and any length of an explanation here via mail. I'm ready to
put the work in to get this lovely package right. At all times during
the packaging process, I was vascillating between understanding 20-80%
of what I was doing.
We got there though, and everything seems to be passing the tests.
I couldn't check "guix edit", I think because my EDITOR environment
variable wasn't set up properly. I messed with it for ten minutes, it
wouldn't work, but I'm pretty sure it was just a thing on my side and
that the package is fine, because all other tests looked good -- after
loads of faffing around of course, and carefully developing a loving
relationship with the generous error messages being thrown at me :)
Thanks so much for all your work, you people are legends. I love Guix,
and can see worlds opening up to me. Keep up the good fight.
Jamie
Comments
Hello,
sourcepluck@posteo.net writes:
> Jamie Cullen here. This is my first ever patch, first ever commit,
> first ever packaged package, first ever time doing anything mildly
> useful with Git, etc etc. Excitement is tantamount here.
This sure is a good first patch. Since I had only nitpicks to write,
I applied it directly. Thank you!
> Please don't hesitate to tell me about even the smallest modification
> on my side, and any length of an explanation here via mail.
I wrote below what small changes I made to your package definition.
> +(define-public emacs-beframe
> + (package
> + (name "emacs-beframe")
> + (version "0.2.0")
> + (source (origin
> + (method git-fetch)
> + (uri (git-reference
> + (url "https://git.sr.ht/~protesilaos/beframe")
> + (commit "edfab6eefe4ac35cd8d1ed87fc7f670496d25e40")))
We don't usually insert commit hashes here, but rather bind hash to
`commit' and put (commit commit) above.
I a comment, I also mentioned the commit was actually a version bump,
which is the reason why there is no revision number.
> + (file-name (git-file-name name version))
> + (sha256
> + (base32
> + "0sd8r3icaj2gl7f62fyzlwkkb05mc3cwsqgicw0n1x07s5ir3129"))))
> + (build-system emacs-build-system)
> + (native-inputs (list texinfo))
Nitpick: native inputs are usually listed after arguments.
> + (arguments
> + (list
> + #:phases
> + #~(modify-phases
> + %standard-phases
> + (add-after 'install 'makeinfo
> + (lambda* (#:key outputs #:allow-other-keys)
Since you don't use `output' key, (lambda _ ...) is sufficient.
> + (install-file
> + "beframe.info"
> + (string-append #$output "/share/info")))))))
Nitpick: I think a better indentation is:
(install-file "beframe.info"
(string-append #$output "/share/info"))
> + (description
> + "Beframe enables a frame-oriented Emacs workflow where each frame has
> +access to the list of buffers visited therein. In the interest of brevity, we
> +call buffers that belong to frames \"beframed\". Producing multiple
> frames does
In Texinfo, double quotes are ``...'', not "...".
Regards,
From 379b0ae24c900d3bb129039921e5e5425db57692 Mon Sep 17 00:00:00 2001
From: Jamie Cullen <sourcepluck@posteo.net>
Date: Tue, 28 Mar 2023 15:36:48 +0200
Subject: [PATCH 1/1] gnu: Add emacs-beframe.
---
gnu/packages/emacs-xyz.scm | 41 ++++++++++++++++++++++++++++++++++++++
1 file changed, 41 insertions(+)
@@ -15931,6 +15931,47 @@ (define-public emacs-tmr
(license (list license:gpl3+
license:fdl1.3+)))) ;GFDLv1.3+ for the manual
+(define-public emacs-beframe
+ (package
+ (name "emacs-beframe")
+ (version "0.2.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://git.sr.ht/~protesilaos/beframe")
+ (commit "edfab6eefe4ac35cd8d1ed87fc7f670496d25e40")))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0sd8r3icaj2gl7f62fyzlwkkb05mc3cwsqgicw0n1x07s5ir3129"))))
+ (build-system emacs-build-system)
+ (native-inputs (list texinfo))
+ (arguments
+ (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
+ "beframe.info"
+ (string-append #$output "/share/info")))))))
+ (home-page "https://protesilaos.com/emacs/beframe")
+ (synopsis "Isolate Emacs buffers per frame")
+ (description
+ "Beframe enables a frame-oriented Emacs workflow where each frame has
+access to the list of buffers visited therein. In the interest of brevity, we
+call buffers that belong to frames \"beframed\". Producing multiple frames does
+not generate multiple buffer lists. There still is only one global list of
+buffers. Beframing them simply filters the list.")
+ (license (list license:gpl3+
+ license:fdl1.3+)))) ; GFDLv1.3+ for the manual
+
(define-public emacs-gn-mode
(package
(name "emacs-gn-mode")
--
2.39.2