[PATCH] gnu: Add guile-filesystem.

  • Done
  • quality assurance status badge
Details
2 participants
  • Leo Prikler
  • Ludovic Courtès
Owner
unassigned
Submitted by
Leo Prikler
Severity
normal
L
L
Leo Prikler wrote on 27 Oct 2020 13:55
(address . guix-patches@gnu.org)
20201027125552.20573-1-leo.prikler@student.tugraz.at
* gnu/packages/guile-xyz.scm (guile-filesystem): New variable.
(guile2.0-filesystem guile2.2-filesystem): New variable.
---
gnu/packages/guile-xyz.scm | 40 ++++++++++++++++++++++++++++++++++++++
1 file changed, 40 insertions(+)

Toggle diff (60 lines)
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")
--
2.28.0
L
L
Ludovic Courtès wrote on 28 Oct 2020 16:21
(name . Leo Prikler)(address . leo.prikler@student.tugraz.at)(address . 44253-done@debbugs.gnu.org)
877dra1ilk.fsf@gnu.org
Hi,

Leo Prikler <leo.prikler@student.tugraz.at> skribis:

Toggle quote (3 lines)
> * 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’.
Closed
L
L
Leo Prikler wrote on 28 Oct 2020 16:43
(name . Ludovic Courtès)(address . ludo@gnu.org)(address . 44253-done@debbugs.gnu.org)
e581ddd7a2a361d2c3ab36f43117d8d7725baf34.camel@student.tugraz.at
Hi,

Am Mittwoch, den 28.10.2020, 16:21 +0100 schrieb Ludovic Courtès:
Toggle quote (12 lines)
> 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?

Toggle quote (4 lines)
> 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
Closed
L
L
Ludovic Courtès wrote on 30 Oct 2020 00:16
(name . Leo Prikler)(address . leo.prikler@student.tugraz.at)(address . 44253-done@debbugs.gnu.org)
87h7qczkpz.fsf@gnu.org
Hi Leo!

Leo Prikler <leo.prikler@student.tugraz.at> skribis:

Toggle quote (18 lines)
> 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.

Toggle quote (4 lines)
> 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. :-)

Toggle quote (8 lines)
>> 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.

Toggle quote (4 lines)
> 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’.
Closed
?