Message ID | 87sfntlpns.fsf@dustycloud.org |
---|---|
State | Accepted |
Headers | show |
Series | [bug#56204] Add guile-goblins | expand |
Context | Check | Description |
---|---|---|
cbaines/comparison | success | View comparision |
cbaines/git branch | success | View Git branch |
cbaines/applying patch | fail | View Laminar job |
cbaines/issue | success | View issue |
Christine Lemmer-Webber schreef op vr 24-06-2022 om 17:24 [-0400]: > + (arguments > + `(#:phases > + (modify-phases %standard-phases > + (replace 'bootstrap > + (lambda _ > + (invoke "autoreconf" "-vif")))) I don't know if it works in this particular case, but I thought that normally 'bootstrap' would automatically do that already? > + #:make-flags > + ,#~(list "GUILE_AUTO_COMPILE=0"))) Nesting different forms of quasiquotation seems to be disliked (at least according to a mini poll I did on #guix some time ago), apparently (arguments (list #:phases #~(modify-phases ...) #:make-flags #~(list ...))) seems to be the way to go? > + (native-inputs > + (list autoconf automake pkg-config texinfo)) > + (inputs > + `(("guile" ,guile-3.0))) Can be simplified to (inputs (list guile-3.0))? > + "@code{guile-goblins} is the Guile version of > + @url{https://spritely.institute/goblins, Spritely Goblins}, > +a transactional, distributed programming environment following object > +capability security designs. Goblins is a general toolkit, and also > +the core layer of Spritely's work to support healthy distributed > +networked communities.") Maybe mention that it can network with non-Guile goblin peers as well (e.g. Racket?), assuming that's correct? Greetings, Maxime.
Hey Maxime! Maxime Devos <maximedevos@telenet.be> writes: > [[PGP Signed Part:Undecided]] > Christine Lemmer-Webber schreef op vr 24-06-2022 om 17:24 [-0400]: >> + (arguments >> + `(#:phases >> + (modify-phases %standard-phases >> + (replace 'bootstrap >> + (lambda _ >> + (invoke "autoreconf" "-vif")))) > > I don't know if it works in this particular case, but I thought that > normally 'bootstrap' would automatically do that already? Ah yeah, seems to work without it...! >> + #:make-flags >> + ,#~(list "GUILE_AUTO_COMPILE=0"))) > > Nesting different forms of quasiquotation seems to be disliked (at > least according to a mini poll I did on #guix some time ago), > apparently > > (arguments > (list #:phases > #~(modify-phases ...) > #:make-flags > #~(list ...))) > > seems to be the way to go? > >> + (native-inputs >> + (list autoconf automake pkg-config texinfo)) >> + (inputs >> + `(("guile" ,guile-3.0))) > > Can be simplified to (inputs (list guile-3.0))? Cool, done. For (inputs ...) anyway... the above native-inputs did still seem needed, presumably because we *are* running the bootstrap code in this case. >> + "@code{guile-goblins} is the Guile version of >> + @url{https://spritely.institute/goblins, Spritely Goblins}, >> +a transactional, distributed programming environment following object >> +capability security designs. Goblins is a general toolkit, and also >> +the core layer of Spritely's work to support healthy distributed >> +networked communities.") > > Maybe mention that it can network with non-Guile goblin peers as well > (e.g. Racket?), assuming that's correct? > > Greetings, > Maxime. It's true, but more accurately, it will be true in the next version, since guile-goblins v0.8 doesn't have finished networking support. But yes, that's coming, so I put this comment above the description: ;; In guile-goblins 0.9, OCapN support will be added (it already ;; exists in racket-goblins). At that point we should add the ;; following to this description: ;; ;; Goblins allows for cooperation between networked programs ;; in a mutually suspicious network through OCapN, the Object ;; Capability Network. This includes collaboration across ;; runtimes; for instance, programs written in the Guile and Racket ;; versions of Goblins are able to speak to each other. And we can do that then. As said in the other email, I don't think this is far away. Thanks to both Maxime and Ludo' for reviewing! I pushed it upstream. Happy hacking with guile-goblins... if someone does anything with it, let me know. The next release will be the first big guile-goblins release to celebrate, but was eager to get what we have up there. :)
Christine Lemmer-Webber schreef op vr 24-06-2022 om 17:24 [-0400]: > + (version "0.8") > + (source > + (origin > + (method git-fetch) > + (uri (git-reference > + (url "https://gitlab.com/spritely/guile-goblins/") > + (commit (string-append "v" version)))) > + (file-name (string-append name "-" version)) > + (sha256 > + (base32 > + "1mmyykh79jwhrfgnhhw94aw7a8m6qw249kj7k60ynj16mcfm5iyy")))) I'm not seeing "--target" in the invocation of "$(GUILE_TOOLS) compile", so I don't think that currently it will cross-compile correctly. Could you add a --target=... in the Makefile.am? Greetings, Maxime.
Maxime Devos <maximedevos@telenet.be> skribis: > Christine Lemmer-Webber schreef op vr 24-06-2022 om 17:24 [-0400]: >> + (version "0.8") >> + (source >> + (origin >> + (method git-fetch) >> + (uri (git-reference >> + (url "https://gitlab.com/spritely/guile-goblins/") >> + (commit (string-append "v" version)))) >> + (file-name (string-append name "-" version)) >> + (sha256 >> + (base32 >> + "1mmyykh79jwhrfgnhhw94aw7a8m6qw249kj7k60ynj16mcfm5iyy")))) > > > I'm not seeing "--target" in the invocation of "$(GUILE_TOOLS) > compile", so I don't think that currently it will cross-compile > correctly. Could you add a --target=... in the Makefile.am? That can come upstream in the next version of Goblins IMO. Ludo’.
Hello Christine, Christine Lemmer-Webber <cwebber@dustycloud.org> skribis: >>From a09c70dac11dcc133c8e86c3c7e953019942e00c Mon Sep 17 00:00:00 2001 > From: Christine Lemmer-Webber <cwebber@dustycloud.org> > Date: Fri, 24 Jun 2022 14:28:56 -0400 > Subject: [PATCH] gnu: Add guile-goblins. > > * gnu/packages/guile-xyz.scm (guile-goblins): New variable. Woohoo, awesome! I agree with the minor issues Maxime noted, but otherwise looks great to me! Go Spritely, go!! Ludo’.
From a09c70dac11dcc133c8e86c3c7e953019942e00c Mon Sep 17 00:00:00 2001 From: Christine Lemmer-Webber <cwebber@dustycloud.org> Date: Fri, 24 Jun 2022 14:28:56 -0400 Subject: [PATCH] gnu: Add guile-goblins. * gnu/packages/guile-xyz.scm (guile-goblins): New variable. --- gnu/packages/guile-xyz.scm | 42 +++++++++++++++++++++++++++++++++++++- 1 file changed, 41 insertions(+), 1 deletion(-) diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index 2ed6617fd2..853dfa832e 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2012-2022 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2014, 2015, 2018 Mark H Weaver <mhw@netris.org> -;;; Copyright © 2015, 2017 Christine Lemmer-Webber <cwebber@dustycloud.org> +;;; Copyright © 2015, 2017, 2022 Christine Lemmer-Webber <cwebber@dustycloud.org> ;;; Copyright © 2016 Alex Sassmannshausen <alex@pompo.co> ;;; Copyright © 2016, 2017, 2018, 2019, 2020, 2021, 2022 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2016 Erik Edrosa <erik.edrosa@gmail.com> @@ -5103,3 +5103,43 @@ (define-public guile-termios termios API is used. GNU Guile doesn't have an interface for that built in. This module implements this interface by use of Guile's dynamic FFI.") (license license:bsd-2))) + +(define-public guile-goblins + (package + (name "guile-goblins") + (version "0.8") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.com/spritely/guile-goblins/") + (commit (string-append "v" version)))) + (file-name (string-append name "-" version)) + (sha256 + (base32 + "1mmyykh79jwhrfgnhhw94aw7a8m6qw249kj7k60ynj16mcfm5iyy")))) + (build-system gnu-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'bootstrap + (lambda _ + (invoke "autoreconf" "-vif")))) + #:make-flags + ,#~(list "GUILE_AUTO_COMPILE=0"))) + (native-inputs + (list autoconf automake pkg-config texinfo)) + (inputs + `(("guile" ,guile-3.0))) + (propagated-inputs + (list guile-fibers guile-gcrypt)) + (home-page "https://spritely.institute/goblins") + (synopsis "Distributed programming environment for Guile") + (description + "@code{guile-goblins} is the Guile version of +@url{https://spritely.institute/goblins, Spritely Goblins}, +a transactional, distributed programming environment following object +capability security designs. Goblins is a general toolkit, and also +the core layer of Spritely's work to support healthy distributed +networked communities.") + (license license:asl2.0))) -- 2.36.1