Subject: [bug#56204] Add guile-goblins

From: Christine Lemmer-Webber <[email-masked]>
Date: Fri, 24 Jun 2022 17:24:01 -0400

Finally! ;)

It's a pretty small change, just adding a leaf package, but I figured
since it's adding a package I maintain the project of, best to get
review.

 - Christine

>From a09c70dac11dcc133c8e86c3c7e953019942e00c Mon Sep 17 00:00:00 2001
From: Christine Lemmer-Webber <[email-masked]>
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 <[email-masked]>
 ;;; Copyright © 2014, 2015, 2018 Mark H Weaver <[email-masked]>
-;;; Copyright © 2015, 2017 Christine Lemmer-Webber <[email-masked]>
+;;; Copyright © 2015, 2017, 2022 Christine Lemmer-Webber <[email-masked]>
 ;;; Copyright © 2016 Alex Sassmannshausen <[email-masked]>
 ;;; Copyright © 2016, 2017, 2018, 2019, 2020, 2021, 2022 Ricardo Wurmus <[email-masked]>
 ;;; Copyright © 2016 Erik Edrosa <[email-masked]>
@@ -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