[bug#76512] gnu: emacs-ws-butler: Update to 1.1 from new maintainer.

Message ID 8807437ea73b0a394e85849aa8927b006d026e0f.1740340448.git.liam@hpfr.net
State New
Headers
Series [bug#76512] gnu: emacs-ws-butler: Update to 1.1 from new maintainer. |

Commit Message

Liam Hupfer Feb. 23, 2025, 7:55 p.m. UTC
  The original author of ws-butler is largely inactive.  Sean Whitton has
taken over maintenance at NonGNU ELPA and applied several outstanding
patches.  ELPA tarballs do not deploy tests, so remove test support and
rely on upstream in alignment with other packages sourced from NonGNU
ELPA.

While we’re here, tidy the package docs and run guix style.

* gnu/packages/emacs-xyz.scm (emacs-ws-butler): Update to 1.1 from new
maintainer.

Link: https://github.com/lewang/ws-butler/issues/52
Link: https://github.com/lewang/ws-butler/issues/58
Change-Id: I09db3d855c4b15d2253090884106e00bc1719607
---
 gnu/packages/emacs-xyz.scm | 26 ++++++++++----------------
 1 file changed, 10 insertions(+), 16 deletions(-)


base-commit: 23b068c036223e70bdea9d7d579850a1cffc02a7
  

Comments

Ian Eure Feb. 24, 2025, 2:57 p.m. UTC | #1
Hi Liam,

Liam Hupfer <liam@hpfr.net> writes:

> The original author of ws-butler is largely inactive.  Sean 
> Whitton has
> taken over maintenance at NonGNU ELPA and applied several 
> outstanding
> patches.  ELPA tarballs do not deploy tests, so remove test 
> support and
> rely on upstream in alignment with other packages sourced from 
> NonGNU
> ELPA.
>
> While we’re here, tidy the package docs and run guix style.
>
> * gnu/packages/emacs-xyz.scm (emacs-ws-butler): Update to 1.1 
> from new
> maintainer.
>
> Link: https://github.com/lewang/ws-butler/issues/52
> Link: https://github.com/lewang/ws-butler/issues/58
> Change-Id: I09db3d855c4b15d2253090884106e00bc1719607
> ---
>  gnu/packages/emacs-xyz.scm | 26 ++++++++++----------------
>  1 file changed, 10 insertions(+), 16 deletions(-)
>
> diff --git a/gnu/packages/emacs-xyz.scm 
> b/gnu/packages/emacs-xyz.scm
> index 59c1927135..06b50cd40c 100644
> --- a/gnu/packages/emacs-xyz.scm
> +++ b/gnu/packages/emacs-xyz.scm
> @@ -22499,27 +22499,21 @@ (define-public emacs-hercules
>  (define-public emacs-ws-butler
>    (package
>      (name "emacs-ws-butler")
> -    (version "0.7")
> +    (version "1.1")
>      (source
>       (origin
> -       (method git-fetch)
> -       (uri (git-reference
> -             (url "https://github.com/lewang/ws-butler")
> -             (commit "v0.7")))
> -       (file-name (git-file-name name version))
> +       (method url-fetch)
> +       (uri (string-append 
> "https://elpa.nongnu.org/nongnu/ws-butler-" version
> +                           ".tar"))

Is there an upstream source repo?  If it’s reasonable to do so, 
it’s preferable to use that rather than M/ELPA URLs.

Everything else looks good to me.

Thanks,
  -- Ian
  
Liam Hupfer Feb. 25, 2025, 4:33 a.m. UTC | #2
Ian Eure <ian@retrospec.tv> writes:

> Is there an upstream source repo?  If it’s reasonable to do so, 
> it’s preferable to use that rather than M/ELPA URLs.

Sean seems to be maintaining it directly in the NonGNU ELPA repo:
<https://git.savannah.gnu.org/cgit/emacs/nongnu.git/?h=elpa/ws-butler>

I took a look at other packages from NonGNU ELPA in emacs-xyz and they
all seem to use the generated tarballs, so I followed suit here. I think
using the ELPA tarball means ‘guix refresh’ will work, which seems
noteworthy. I know upstream Git repos are preferable to MELPA, but I
think deploying to ELPA and NonGNU ELPA is more intentional on the
upstream maintainer’s part (focused on tagged releases).

> Everything else looks good to me.

Good to hear, thanks for reviewing!

—Liam
  
Ian Eure Feb. 25, 2025, 4:53 a.m. UTC | #3
Hi Liam,

Liam Hupfer <liam@hpfr.net> writes:

> Ian Eure <ian@retrospec.tv> writes:
>
>> Is there an upstream source repo?  If it’s reasonable to do so, 
>> it’s preferable to use that rather than M/ELPA URLs.
>
> Sean seems to be maintaining it directly in the NonGNU ELPA 
> repo:
> <https://git.savannah.gnu.org/cgit/emacs/nongnu.git/?h=elpa/ws-butler>
>
> I took a look at other packages from NonGNU ELPA in emacs-xyz 
> and they
> all seem to use the generated tarballs, so I followed suit 
> here. I think
> using the ELPA tarball means ‘guix refresh’ will work, which 
> seems
> noteworthy. I know upstream Git repos are preferable to MELPA, 
> but I
> think deploying to ELPA and NonGNU ELPA is more intentional on 
> the
> upstream maintainer’s part (focused on tagged releases).

Okay, that sure sounds like "not reasonable to do so" to me. 
Thank you for following up, I’ll push this momentarily.

  -- Ian
  

Patch

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 59c1927135..06b50cd40c 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -22499,27 +22499,21 @@  (define-public emacs-hercules
 (define-public emacs-ws-butler
   (package
     (name "emacs-ws-butler")
-    (version "0.7")
+    (version "1.1")
     (source
      (origin
-       (method git-fetch)
-       (uri (git-reference
-             (url "https://github.com/lewang/ws-butler")
-             (commit "v0.7")))
-       (file-name (git-file-name name version))
+       (method url-fetch)
+       (uri (string-append "https://elpa.nongnu.org/nongnu/ws-butler-" version
+                           ".tar"))
        (sha256
-        (base32 "17f73isx2wdwzjcxparyy7ngl4cha0g69da1d72b3yidzim1kh6h"))))
+        (base32 "1vy7g2ryg1drcz9zpn011d36zcd9a5b5yny5hwpjrllqj5dg73jx"))))
     (build-system emacs-build-system)
-    (arguments
-     `(#:tests? #t
-       #:test-command '("ert-runner" "tests")))
-    (native-inputs
-     (list emacs-ert-runner))
-    (home-page "https://github.com/lewang/ws-butler")
-    (synopsis "Trim spaces from end of lines")
+    (home-page "https://elpa.nongnu.org/nongnu/ws-butler.html")
+    (synopsis "Unobtrusively remove trailing whitespace")
     (description
-     "This Emacs package automatically and unobtrusively trims whitespace
-characters from end of lines.")
+     "ws-butler automatically trims trailing whitespace characters on save.
+In contrast with other whitespace cleanup solutions, only modified lines are
+trimmed.")
     (license license:gpl3+)))
 
 (define-public emacs-opencl-mode