Message ID | 20201027125552.20573-1-leo.prikler@student.tugraz.at |
---|---|
State | Accepted |
Headers | show |
Series | [bug#44253] gnu: Add guile-filesystem. | expand |
Context | Check | Description |
---|---|---|
cbaines/submitting builds | success | |
cbaines/issue | success | View issue |
cbaines/comparison | success | View comparision |
cbaines/git branch | success | View Git branch |
cbaines/applying patch | success | View Laminar job |
Hi, Leo Prikler <leo.prikler@student.tugraz.at> skribis: > * gnu/packages/guile-xyz.scm (guile-filesystem): New variable. > (guile2.0-filesystem guile2.2-filesystem): New variable. Applied, thanks! However, note that I would not recommend adding 2.0/2.2 variants unless we have a clear use case for it in Guix. With my Guile hat on, I’d also recommend against using the (ice-9 …) name space, which is in Guile’s backyard. :-) Ludo’.
Hi, Am Mittwoch, den 28.10.2020, 16:21 +0100 schrieb Ludovic Courtès: > Hi, > > Leo Prikler <leo.prikler@student.tugraz.at> skribis: > > > * gnu/packages/guile-xyz.scm (guile-filesystem): New variable. > > (guile2.0-filesystem guile2.2-filesystem): New variable. > > Applied, thanks! > > However, note that I would not recommend adding 2.0/2.2 variants > unless > we have a clear use case for it in Guix. In this case I simply wanted to make sure, that people could include it in projects, whose other dependencies are still stuck on Guile 2.0 or Guile 2.2 in Guix. Not really a "clear use case", but that's my reasoning. On the topic of those variants, however, would it perhaps be wiser to make this a package-mapping instead, or is there a case where `--with- input=guile=guile@$EFFECTIVE_VERSION` would be ill-advised? > With my Guile hat on, I’d also recommend against using the (ice-9 …) > name space, which is in Guile’s backyard. :-) > > Ludo’. I thought poking into Guile's backyard was a best practice in order to get the attention of Guile maintainers, as with guile-readline and guile-colorized ;) My plan is also to contribute it to Guile proper at some point and then perhaps keep that repository as a backport for a while until all relevant versions of Guile have a "proper" filesystem module. Regards, Leo
Hi Leo! Leo Prikler <leo.prikler@student.tugraz.at> skribis: > Am Mittwoch, den 28.10.2020, 16:21 +0100 schrieb Ludovic Courtès: >> Hi, >> >> Leo Prikler <leo.prikler@student.tugraz.at> skribis: >> >> > * gnu/packages/guile-xyz.scm (guile-filesystem): New variable. >> > (guile2.0-filesystem guile2.2-filesystem): New variable. >> >> Applied, thanks! >> >> However, note that I would not recommend adding 2.0/2.2 variants >> unless >> we have a clear use case for it in Guix. > In this case I simply wanted to make sure, that people could include it > in projects, whose other dependencies are still stuck on Guile 2.0 or > Guile 2.2 in Guix. Not really a "clear use case", but that's my > reasoning. I guess that’s very valid use case for you as the upstream developer of ‘guile-filesystem’, but not so much for a downstream user of Guix. > On the topic of those variants, however, would it perhaps be wiser to > make this a package-mapping instead, or is there a case where `--with- > input=guile=guile@$EFFECTIVE_VERSION` would be ill-advised? Unfortunately, ‘--with-input=guile=…’ triggers a world rebuild because Guile appears deep down in the graph. Otherwise it would be a good use case. :-) >> With my Guile hat on, I’d also recommend against using the (ice-9 …) >> name space, which is in Guile’s backyard. :-) >> >> Ludo’. > I thought poking into Guile's backyard was a best practice in order to > get the attention of Guile maintainers, as with guile-readline and > guile-colorized ;) Heheh, true! But note that guile-readline is actually part of Guile. > My plan is also to contribute it to Guile proper at some point and then > perhaps keep that repository as a backport for a while until all > relevant versions of Guile have a "proper" filesystem module. Make sense. (I’d recommed “file system” as two words, then. :-)) Cheers, Ludo’.
diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index 12ded23990..4322d3028b 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -31,6 +31,7 @@ ;;; Copyright © 2020 Masaya Tojo <masaya@tojo.tokyo> ;;; Copyright © 2020 Jesse Gibbons <jgibbons2357@gmail.com> ;;; Copyright © 2020 Mike Rosset <mike.rosset@gmail.com> +;;; Copyright © 2020 Leo Prikler <leo.prikler@student.tugraz.at> ;;; ;;; This file is part of GNU Guix. ;;; @@ -620,6 +621,45 @@ is not available for Guile 2.0.") (define-public guile3.0-fibers (deprecated-package "guile3.0-fibers" guile-fibers)) +(define-public guile-filesystem + (package + (name "guile-filesystem") + (version "0.1.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.com/leoprikler/guile-filesystem.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1shmkc0y9r2sj3kw7hrsnamnp7y8xifkhf3m3rnfxczqg63k67vy")))) + (build-system gnu-build-system) + (native-inputs + `(("autoconf" ,autoconf-wrapper) + ("automake" ,automake) + ("pkg-config" ,pkg-config) + ("texinfo" ,texinfo))) + (inputs + `(("guile" ,guile-3.0))) + (home-page "https://gitlab.com/leoprikler/guile-filesystem") + (synopsis "Complementary library to Guile's built-in file system procedures") + (description "@code{guile-filesystem} provides a set of utility functions, +that augment Guile's support for handling files and their names.") + (license license:lgpl3+))) + +(define-public guile2.0-filesystem + (package + (inherit guile-filesystem) + (name "guile2.0-filesystem") + (inputs `(("guile" ,guile-2.0))))) + +(define-public guile2.2-filesystem + (package + (inherit guile-filesystem) + (name "guile2.2-filesystem") + (inputs `(("guile" ,guile-2.2))))) + (define-public guile-syntax-highlight (package (name "guile-syntax-highlight")