Subject: [bug#37200] [PATCH] gnu: Add roswell.

From: Pierre Neidhardt <[email-masked]>
Date: Tue, 27 Aug 2019 17:33:04 +0200

* gnu/packages/lisp.scm (roswell): New variable.
---
 gnu/packages/lisp.scm | 50 ++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 49 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index d32f4b19bd..696bb393bc 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -10,7 +10,7 @@
 ;;; Copyright © 2017, 2019 Tobias Geerinckx-Rice <[email-masked]>
 ;;; Copyright © 2018 Benjamin Slade <[email-masked]>
 ;;; Copyright © 2018 Alex Vong <[email-masked]>
-;;; Copyright © 2018 Pierre Neidhardt <[email-masked]>
+;;; Copyright © 2018, 2019 Pierre Neidhardt <[email-masked]>
 ;;; Copyright © 2018, 2019 Pierre Langlois <[email-masked]>
 ;;; Copyright © 2019 Katherine Cox-Buday <[email-masked]>
 ;;; Copyright © 2019 Jesse Gildersleve <[email-masked]>
@@ -44,11 +44,13 @@
   #:use-module (guix build-system asdf)
   #:use-module (guix build-system trivial)
   #:use-module (gnu packages admin)
+  #:use-module (gnu packages autotools)
   #:use-module (gnu packages base)
   #:use-module (gnu packages bdw-gc)
   #:use-module (gnu packages bison)
   #:use-module (gnu packages c)
   #:use-module (gnu packages compression)
+  #:use-module (gnu packages curl)
   #:use-module (gnu packages ed)
   #:use-module (gnu packages flex)
   #:use-module (gnu packages fontutils)
@@ -679,6 +681,52 @@ libraries for Machine Learning, Neural Nets and statistical estimation.")
     (home-page "http://lush.sourceforge.net/")
     (license license:lgpl2.1+)))
 
+(define-public roswell
+  (package
+    (name "roswell")
+    (version "19.08.10.101")
+    (home-page "https://github.com/roswell/roswell/")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url home-page)
+             (commit (string-append "v" version))))
+       (sha256
+        (base32
+         "0i72vzzzjwi9lnzzl8y10pp3kq298vhzz3spvsmi8n1yalqwslbf"))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("intltool" ,intltool)))
+    (inputs
+     `(("curl" ,curl)))
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-before 'build 'patch-ssl-certs
+           (lambda _
+             ;; TODO: libcurl does not honor SSL_CERT_DIR et al.
+             ;; See https://issues.guix.gnu.org/issue/25240.
+             ;; Is the following workaround right?
+             (substitute* "src/download.c"
+               (("curl_easy_setopt\\(curl, CURLOPT_URL, uri\\);")
+                "curl_easy_setopt(curl, CURLOPT_URL, uri);
+curl_easy_setopt(curl, CURLOPT_CAINFO, \"/etc/ssl/certs/ca-certificates.crt\");"))
+             #t)))))
+    (synopsis "Common Lisp implementation manager, launcher, and more")
+    (description
+     "Roswell started out as a command-line tool with the aim to make
+installing and managing Common Lisp implementations really simple and easy.
+Roswell has now evolved into a full-stack environment for Common Lisp
+development, and has many features that makes it easy to test, share, and
+distribute your Lisp applications.
+
+Roswell is still in beta. Despite this, the basic interfaces are stable and
+not likely to change.")
+    (license license:expat)))
+
 (define-public sbcl-alexandria
   (let ((revision "1")
         (commit "926a066611b7b11cb71e26c827a271e500888c30"))
-- 
2.21.0