[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
gnu: gnutls: Add gnutls-3.5.5 and gnutls-with-guile-next.
From: |
Christopher Allan Webber |
Subject: |
gnu: gnutls: Add gnutls-3.5.5 and gnutls-with-guile-next. |
Date: |
Tue, 10 Jan 2017 13:32:36 -0600 |
User-agent: |
mu4e 0.9.18; emacs 25.1.1 |
Hello! I was talking in #guile and realized that even though guile-next
now includes glorious https support via gnutls, few have tried it or
know how to use it.
It turns out you need a specially packaged version of gnutls! Or,
specially packaged until `guile-next' becomes just `guile'.
Here's a patch that will give you that package. You can give it a shot
like so:
$ guix environment --ad-hoc guile-next gnutls-with-guile-next --pure
$ guile
GNU Guile 2.1.5
Copyright (C) 1995-2016 Free Software Foundation, Inc.
Guile comes with ABSOLUTELY NO WARRANTY; for details type `,show w'.
This program is free software, and you are welcome to redistribute it
under certain conditions; type `,show c' for details.
Enter `,help' for help.
scheme@(guile-user)> (use-modules (web client) (web uri))
scheme@(guile-user)> (http-get (string->uri "https://fsf.org"))
$1 = #<<response> a long response here>
$2 = "the body, also long"
Have fun trying it with https://slashdot.org/ or whatever you feel like.
(Unless that thing is https://gnu.org/, which doesn't work, but
everything else seems to. Why is that?)
Have fun hacking with https support,
- Chris
>From e31e3e9784a978628655fcd7a1f3527e88d475ec Mon Sep 17 00:00:00 2001
From: Christopher Allan Webber <address@hidden>
Date: Tue, 10 Jan 2017 13:25:26 -0600
Subject: [PATCH] gnu: gnutls: Add gnutls-3.5.5 and gnutls-with-guile-next.
* gnu/packages/tls.scm (gnutls-3.5.5, gnutls-with-guile-next): New variables.
---
gnu/packages/tls.scm | 34 ++++++++++++++++++++++++++++++++++
1 file changed, 34 insertions(+)
diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm
index e577421fa..4d9d2135f 100644
--- a/gnu/packages/tls.scm
+++ b/gnu/packages/tls.scm
@@ -211,6 +211,40 @@ required structures.")
(properties '((ftp-server . "ftp.gnutls.org")
(ftp-directory . "/gcrypt/gnutls")))))
+(define-public gnutls-3.5.5
+ (package
+ (inherit gnutls)
+ (source
+ (let ((version "3.5.5"))
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnupg/gnutls/v"
+ (version-major+minor version)
+ "/gnutls-" version ".tar.xz"))
+ (sha256
+ (base32
+ "0ag5q3dfxzv0dmqy7q0a8y74yc3m5yzvjrp324l6vqafh3klz6c6")))))))
+
+(define-public gnutls-with-guile-next
+ (package
+ (inherit gnutls-3.5.5) ; 3.5.5 introduces guile 2.1 / 2.2 support
+ (name "gnutls-with-guile-next")
+ (build-system gnu-build-system)
+ ;; Unfortunately we're inheriting this whole thing just to
+ (arguments
+ (substitute-keyword-arguments (package-arguments gnutls)
+ ;; change the guile-site-dir to 2.2
+ ((#:configure-flags configure-flags)
+ '(list (string-append "--with-guile-site-dir="
+ (assoc-ref %outputs "out")
+ "/share/guile/site/2.2")
+ ;; See the gnutls definition for explaination of these.
+ "--with-default-trust-store-dir=/etc/ssl/certs"
+ "--without-p11-kit"))))
+ (inputs
+ `(("guile" ,guile-next) ; we want guile-next
+ ("perl" ,perl)))))
+
(define-public openssl
(package
(name "openssl")
--
2.11.0
- gnu: gnutls: Add gnutls-3.5.5 and gnutls-with-guile-next.,
Christopher Allan Webber <=