diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm
index b6a193de1b544498a6cea4ab831812dd5151a542..1198eb7d0ea4222f91d4a094a982aa9938e6ad53 100644
--- a/gnu/packages/tls.scm
+++ b/gnu/packages/tls.scm
@@ -46,7 +46,8 @@ (define-module (gnu packages tls)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages python)
   #:use-module (gnu packages texinfo)
-  #:use-module (gnu packages base))
+  #:use-module (gnu packages base)
+  #:use-module (srfi srfi-1))
 
 (define-public libtasn1
   (package
@@ -227,6 +228,19 @@ (define gnutls-3.5.8                              ;fixes GNUTLS-SA-2017-{1,2}
                 "1zyl2z63s68hx1dpxqx0lykmlf3rwrzlrf44sq3h7dvjmr1z55qf"))))
     (replacement #f)))
 
+(define-public gnutls/guile-2.2
+  ;; GnuTLS for Guile 2.2.  This is supported by GnuTLS >= 3.5.5.
+  (package
+    (inherit gnutls-3.5.8)
+    (name "guile2.2-gnutls")
+    (arguments
+     ;; Remove '--with-guile-site-dir=…/2.0'.
+     (substitute-keyword-arguments (package-arguments gnutls-3.5.8)
+       ((#:configure-flags flags)
+        `(cdr ,flags))))
+    (inputs `(("guile" ,guile-next)
+              ,@(alist-delete "guile" (package-inputs gnutls-3.5.8))))))
+
 (define-public openssl
   (package
    (name "openssl")