Subject: [bug#77930] [PATCH] gnu: Add guile-slugify

From: Ludovic Courtès <[email-masked]>
Date: Thu, 24 Apr 2025 10:45:06 +0200

Hello,

Ayush Jha <[email-masked]> writes:

> Adds slugify library for guile versions 3.0 and 2.2
>
> Change-Id: I549000465584a7fe721aea17db5eb340ba8490b6
> Signed-off-by: Ayush Jha <[email-masked]>

Nice.  Bonus point if you write a commit log that follows our
conventions—you can use ‘./etc/committer.scm’ to do that, but otherwise
we can do it on your behalf.

> +(define-public guile-slugify
> +  (let ((commit "3fbf2684d02b1689ce61df2d6ad983d1b1bf452d")
> +        (revision "1"))

I suppose there’s no release tag?

> +                (snippet #~(for-each delete-file
> +                            '("guix.scm" "test.scm" "LICENSE" "README.md")))))

Why delete these files?  I would keep them unless there’s a good reason
to do this.

> +      (build-system guile-build-system)
> +      (native-inputs (list guile-3.0))
> +      (home-page "http://github.com/ayys/slugify.scm")
> +      (synopsis "A slugify library for Guile inspired by Django's slugify function")

Maybe “Produce URL-safe identifiers from arbitrary string”?  See
<https://guix.gnu.org/manual/devel/en/html_node/Synopses-and-Descriptions.html>.

> +      (description
> +     "A simple Guile Scheme implementation of `slugify`, inspired by Django’s slugify.
> +Converts human-readable text into clean, lowercase, URL-safe identifiers.")

Likewise, could you make it a full sentence?

> +(define-public guile2.2-slugify
> +  (package
> +    (inherit guile-slugify)
> +    (name "guile2.2-slugify")

Unless there’s a need for Guile 2.2 support, I would omit it.

Thanks,
Ludo’.