Message ID | b1f9e67d6c0b16a07e4e90cbf49c463392d66390.1622973318.git.public@yoctocell.xyz |
---|---|
State | Accepted |
Headers | show |
Series | [bug#48867] gnu: Add guile-define. | expand |
Context | Check | Description |
---|---|---|
cbaines/comparison | success | View comparision |
cbaines/git branch | success | View Git branch |
cbaines/applying patch | success | View Laminar job |
cbaines/issue | success | View issue |
Hi, Xinglu Chen <public@yoctocell.xyz> skribis: > * gnu/packages/guile-xyz.scm (guile-define): New variable. [...] > + (native-inputs > + `(("guile" ,guile-3.0))) > + (home-page "https://hg.sr.ht/~bjoli/guile-define") > + (synopsis "Definitions in expression contexts for Guile") > + (description "This package provides a utility macro to allow > +@code{define}s in expression contexts of function bodies.") This may have been useful with Guile 2.x but it’s useless with 3.0, which already allows that: --8<---------------cut here---------------start------------->8--- scheme@(guile-user)> (version) $9 = "3.0.7" scheme@(guile-user)> (define (divide-minus-one a b) (when (= b 1) (error "We don't allow that here")) (define b* (- b 1)) (/ a b*)) scheme@(guile-user)> --8<---------------cut here---------------end--------------->8--- So either we make the package depend on 2.x, or we drop it. Dropping it is probably the best option if there are no dependents. Thoughts? Ludo’.
On Tue, Jun 08 2021, Ludovic Courtès wrote: > Hi, > > Xinglu Chen <public@yoctocell.xyz> skribis: > >> * gnu/packages/guile-xyz.scm (guile-define): New variable. > > [...] > >> + (native-inputs >> + `(("guile" ,guile-3.0))) >> + (home-page "https://hg.sr.ht/~bjoli/guile-define") >> + (synopsis "Definitions in expression contexts for Guile") >> + (description "This package provides a utility macro to allow >> +@code{define}s in expression contexts of function bodies.") > > This may have been useful with Guile 2.x but it’s useless with 3.0, > which already allows that: > > --8<---------------cut here---------------start------------->8--- > scheme@(guile-user)> (version) > $9 = "3.0.7" > scheme@(guile-user)> (define (divide-minus-one a b) > (when (= b 1) (error "We don't allow that here")) > (define b* (- b 1)) > (/ a b*)) > scheme@(guile-user)> > --8<---------------cut here---------------end--------------->8--- > > So either we make the package depend on 2.x, or we drop it. Dropping it > is probably the best option if there are no dependents. > > Thoughts? Oh, I didn’t know that, then I think it’s fine to drop the package.
diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index 6db5134344..6a84e5e052 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -1230,6 +1230,32 @@ using S-expressions.") tracker's SOAP service, such as @url{https://bugs.gnu.org}.") (license license:gpl3+))) +(define-public guile-define + (let ((changeset "76881ea2bb68") + (revision "0")) + (package + (name "guile-define") + (version (hg-version "0.0.0" revision changeset)) + (source + (origin + (method hg-fetch) + (uri (hg-reference + (url "https://hg.sr.ht/~bjoli/guile-define") + (changeset changeset))) + (file-name (hg-file-name name version)) + (sha256 + (base32 "1ns8p1j88x0ms8xalagz3qxjkzzvcg3dppz4balfcnr5pzy8zm4p")))) + (build-system guile-build-system) + (arguments + `(#:scheme-file-regexp "define\\.scm$")) + (native-inputs + `(("guile" ,guile-3.0))) + (home-page "https://hg.sr.ht/~bjoli/guile-define") + (synopsis "Definitions in expression contexts for Guile") + (description "This package provides a utility macro to allow +@code{define}s in expression contexts of function bodies.") + (license license:isc)))) + (define-public guile-email (package (name "guile-email")