summary refs log tree commit diff
path: root/gnu/packages/guile-xyz.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2020-02-23 00:20:30 +0100
committerLudovic Courtès <ludo@gnu.org>2020-03-16 15:44:02 +0100
commitb6bee63bed4f013064c0d902e7c8b83ed7514ade (patch)
tree1cb6aa9aa4c33c81de656c46e9f671cffca56657 /gnu/packages/guile-xyz.scm
parentd8f78f54489eae44ffbee3f2af7bbc130e8c0c72 (diff)
downloadguix-b6bee63bed4f013064c0d902e7c8b83ed7514ade.tar.gz
gnu: Default to Guile 3.0.
This patch changes three things:

  1. package derivations are built using Guile 3.0;

  2. 'gexp->derivation' defaults to Guile 3.0;

  3. "guile3.0-" packages are deprecated aliases for the regular
     package, which now depends on Guile 3.0; "guile2.2-" packages are
     introduced; "guile-next" is renamed to "guile".

* gnu/packages/guile.scm (guile-2.0/fixed): Remove.
(guile-3.0/fixed): New variable.
(package-for-guile-3.0): Remove.
(package-for-guile-2.2): New variable.
(define-deprecated-guile3.0-package): New macro.
(guile-3.0)[name]: Change to "guile".
(guile-json-3)[native-inputs, inputs]: New fields.
(guile2.2-json): New variable.
(guile3.0-json): Deprecate.
(guile-gdbm-ffi)[native-inputs]: Switch to GUILE-3.0.
(guile2.2-gdbm-ffi): New variable.
(guile3.0-gdbm-ffi): Deprecate.
(guile-sqlite3): Switch to GUILE-3.0.
(guile2.2-sqlite3): New variable.
(guile3.0-sqlite3): Deprecate.
(guile-bytestructures): Switch to GUILE-3.0.
(guile2.2-bytestructures): New variable.
(guile3.0-bytestructures): Deprecate.
(guile-git): Switch to GUILE-3.0.
(guile2.2-git): New variable.
(guile3.0-git): Deprecate.
(guile-2.2/bug-fix):
* gnu/packages/ci.scm (cuirass): Switch to GUILE-3.0.
* gnu/packages/emacs-xyz.scm (emacs-guix): Switch to GUILE-3.0.
* gnu/packages/gtk.scm (guile-cairo)[arguments]: New field.
Switch to GUILE-3.0.
(guile2.2-cairo): New variable.
(guile3.0-cairo): Deprecate.
(guile-rsvg): Switch to GUILE-3.0.
(guile2.2-cairo): New variable.
(guile3.0-cairo): Deprecate.
(guile-present): Switch to GUILE-3.0.
(guile2.2-present): New variable.
(guile3.0-present): Deprecate.
(guile-gnome)[propagated-inputs]: Use GUILE2.2-CAIRO and GUILE2.2-LIB.
* gnu/packages/guile-xyz.scm (guile-fibers)[arguments]: Add #:configure-flags.
Switch to GUILE-3.0.
(guile2.2-fibers): New variable.
(guile3.0-fibers): Deprecate.
(guile-syntax-highlight): Switch to GUILE-3.0.
(guile2.2-syntax-highlight): New variable.
(guile3.0-syntax-highlight): Deprecate.
(guile-colorized): Switch to GUILE-3.0.
(guile2.2-colorized): New variable.
(guile3.0-colorized): Deprecate.
(guile-pfds): Switch to GUILE-3.0.
(guile2.2-pfds): New variable.
(guile3.0-pfds): Deprecate.
(guile-simple-zmq): Switch to GUILE-3.0.
(guile2.2-simple-zmq): New variable.
(guile3.0-simple-zmq): Deprecate.
(guile-newt): Switch to GUILE-3.0.
(guile2.2-newt): New variable.
(guile3.0-newt): Deprecate.
(guile-parted): Switch to GUILE-3.0.
(guile2.2-parted): New variable.
(guile3.0-parted): Deprecate.
(guile-config): Switch to GUILE-3.0.
(guile2.2-config): New variable.
(guile3.0-config): Deprecate.
(guile-hall): Switch to GUILE-3.0.
(guile2.2-hall): New variable.
(guile3.0-hall): Deprecate.
(guile-ics): Switch to GUILE-3.0.
(guile2.2-ics): New variable.
(guile3.0-ics): Deprecate.
(guile-wisp)[arguments]: Add 'support-guile-3.0' phase.
Switch to GUILE-3.0.
(guile2.2-wisp): New variable.
(guile3.0-wisp): Deprecate.
(guile-lib): Switch to GUILE-3.0.
(guile2.2-lib): New variable.
(guile3.0-lib): Deprecate.
(guile-minikanren): Switch to GUILE-3.0.
(guile2.2-minikanren): New variable.
(guile3.0-minikanren): Deprecate.
(guile-irregex): Switch to GUILE-3.0.
(guile2.2-irregex): New variable.
(guile3.0-irregex): Deprecate.
(haunt): Switch to GUILE-3.0, and remove GUILE-READER.
(guile2.2-haunt): New variable.
(guile3.0-haunt): Deprecate.
(guile-commonmark): Switch to GUILE-3.0.
(guile2.2-commonmark): New variable.
(guile3.0-commonmark): Deprecate.
(mcron): Switch to GUILE-3.0.
(guile2.0-mcron): New variable.
(guile3.0-mcron): Deprecate.
(guile-picture-language): Switch to GUILE-3.0.
(guile2.2-picture-language): New variable.
(guile3.0-picture-language): Deprecate.
(guile-gi): Switch to GUILE-3.0.
(guile2.2-gi): New variable.
(guile3.0-gi): Deprecate.
(guile-hashing): Switch to GUILE-3.0.
(guile2.2-hashing): New variable.
(guile3.0-hashing): Deprecate.
* gnu/packages/package-management.scm (guix): Switch to GUILE-3.0.
(guile2.2-guix): New variable.
(guile3.0-guix): Deprecate.
(gwl): Replace "guile3.0-" with "guile-".
(guix-jupyter)[source]: Adjust for Guile 3.0.
Switch to GUILE-3.0.
* gnu/packages/ssh.scm (guile-ssh): Switch to GUILE-3.0.
(guile2.2-ssh): New variable.
(guile3.0-ssh): Deprecate.
* gnu/packages/admin.scm (shepherd): Switch to GUILE-3.0.
(guile2.2-shepherd): New variable.
(guile3.0-shepherd): Deprecate.
* gnu/packages/mail.scm (mailutils): Switch to GUILE-3.0.
(guile2.2-mailutils): New variable.
(guile3.0-mailutils): Deprecate.
* gnu/packages/plotutils.scm (guile-charting): Switch to GUILE-3.0.
(guile2.2-charting): New variable.
(guile3.0-charting): Deprecate.
* gnu/packages/version-control.scm (libgit2): Switch to GUILE-3.0.
* gnu/packages/vpn.scm (vpnc-scripts): Switch to GUILE-3.0.
* gnu/packages/web.scm (guix-data-service): Switch to GUILE-3.0.
(hpcguix-web): Switch to GUILE-3.0.
* guix/self.scm (specification->package): Refer to the "guile-" variants
instead of "guile3.0-".
* guix/gexp.scm (default-guile): Change to GUILE-3.0.
* build-aux/build-self.scm (build): #:guile-version defaults to "3.0".
* gnu/packages/commencement.scm (guile-final): Base on GUILE-3.0/FIXED.
Diffstat (limited to 'gnu/packages/guile-xyz.scm')
-rw-r--r--gnu/packages/guile-xyz.scm269
1 files changed, 163 insertions, 106 deletions
diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm
index 9f8173657e..0ee712b6f5 100644
--- a/gnu/packages/guile-xyz.scm
+++ b/gnu/packages/guile-xyz.scm
@@ -523,7 +523,9 @@ Unix-style DSV format and RFC 4180 format.")
                   #t))))
     (build-system gnu-build-system)
     (arguments
-     '(#:phases (modify-phases %standard-phases
+     '(;; The code uses 'scm_t_uint64' et al., which are deprecated in 3.0.
+       #:configure-flags '("CFLAGS=-Wno-error=deprecated-declarations")
+       #:phases (modify-phases %standard-phases
                   (add-after 'install 'mode-guile-objects
                     (lambda* (#:key outputs #:allow-other-keys)
                       ;; .go files are installed to "lib/guile/X.Y/cache".
@@ -540,7 +542,7 @@ Unix-style DSV format and RFC 4180 format.")
      `(("texinfo" ,texinfo)
        ("pkg-config" ,pkg-config)))
     (inputs
-     `(("guile" ,guile-2.2)))
+     `(("guile" ,guile-3.0)))
     (synopsis "Lightweight concurrency facility for Guile")
     (description
      "Fibers is a Guile library that implements a a lightweight concurrency
@@ -556,15 +558,14 @@ is not available for Guile 2.0.")
     (home-page "https://github.com/wingo/fibers")
     (license license:lgpl3+)))
 
-(define-public guile3.0-fibers
+(define-public guile2.0-fibers
   (package
     (inherit guile-fibers)
-    (name "guile3.0-fibers")
-    (arguments
-     ;; The code uses 'scm_t_uint64' et al., which are deprecated in 3.0.
-     `(#:configure-flags '("CFLAGS=-Wno-error=deprecated-declarations")
-       ,@(package-arguments guile-fibers)))
-    (inputs `(("guile" ,guile-3.0)))))
+    (name "guile2.2-fibers")
+    (inputs `(("guile" ,guile-2.2)))))
+
+(define-public guile3.0-fibers
+  (deprecated-package "guile3.0-fibers" guile-fibers))
 
 (define-public guile-syntax-highlight
   (package
@@ -591,7 +592,7 @@ is not available for Guile 2.0.")
     (native-inputs
      `(("pkg-config" ,pkg-config)))
     (inputs
-     `(("guile" ,guile-2.2)))
+     `(("guile" ,guile-3.0)))
     (synopsis "General-purpose syntax highlighter for GNU Guile")
     (description "Guile-syntax-highlight is a general-purpose syntax
 highlighting library for GNU Guile.  It can parse code written in various
@@ -600,11 +601,14 @@ HTML (via SXML) or any other format for rendering.")
     (home-page "http://dthompson.us/projects/guile-syntax-highlight.html")
     (license license:lgpl3+)))
 
-(define-public guile3.0-syntax-highlight
+(define-public guile2.2-syntax-highlight
   (package
     (inherit guile-syntax-highlight)
-    (name "guile3.0-syntax-highlight")
-    (inputs `(("guile" ,guile-3.0)))))
+    (name "guile2.2-syntax-highlight")
+    (inputs `(("guile" ,guile-2.2)))))
+
+(define-public guile3.0-syntax-highlight
+  (deprecated-package "guile3.0-syntax-highlight" guile-syntax-highlight))
 
 (define-public guile-sjson
   (package
@@ -692,18 +696,21 @@ using Guile's foreign function interface.")
         (base32 "10mv8c63159r3qvwwdvsgnsvdg7nc2ghak85zapwqpv4ywrqp9zc"))))
     (build-system guile-build-system)
     (native-inputs
-     `(("guile" ,guile-2.2)))
+     `(("guile" ,guile-3.0)))
     (home-page "https://gitlab.com/NalaGinrut/guile-colorized")
     (synopsis "Colorized REPL for Guile")
     (description
      "Guile-colorized provides you with a colorized REPL for GNU Guile.")
     (license license:gpl3+)))
 
-(define-public guile3.0-colorized
+(define-public guile2.2-colorized
   (package
     (inherit guile-colorized)
-    (name "guile3.0-colorized")
-    (native-inputs `(("guile" ,guile-next)))))
+    (name "guile2.2-colorized")
+    (native-inputs `(("guile" ,guile-2.2)))))
+
+(define-public guile3.0-colorized
+  (deprecated-package "guile3.0-colorized" guile-colorized))
 
 (define-public guile-pfds
   (package
@@ -723,6 +730,14 @@ using Guile's foreign function interface.")
     (arguments
      '(#:source-directory "src"
        #:phases (modify-phases %standard-phases
+                  (add-after 'unpack 'work-around-guile-bug
+                    (lambda _
+                      ;; See bug #39210.
+                      (substitute* '("fingertrees.sls"
+                                     "queues/private/condition.sls"
+                                     "deques/private/condition.sls")
+                        (("&assertion") "&violation"))
+                      #t))
                   (add-after 'unpack 'move-files-around
                     (lambda _
                       ;; Move files under a pfds/ directory to reflect the
@@ -756,7 +771,7 @@ using Guile's foreign function interface.")
                                 (find-files "." "\\.sls$"))
                       #t)))))
     (native-inputs
-     `(("guile" ,guile-2.2)))
+     `(("guile" ,guile-3.0)))
     (synopsis "Purely functional data structures for Guile")
     (description
      "This package provides purely functional data structures written in R6RS
@@ -777,23 +792,19 @@ Vicare Scheme and IronScheme.  Right now it contains:
 @end itemize\n")
     (license license:bsd-3)))
 
-(define-public guile3.0-pfds
+(define-public guile2.2-pfds
   (package
     (inherit guile-pfds)
-    (name "guile3.0-pfds")
-    (native-inputs `(("guile" ,guile-3.0)))
+    (name "guile2.2-pfds")
+    (native-inputs `(("guile" ,guile-2.2)))
     (arguments
      (substitute-keyword-arguments (package-arguments guile-pfds)
        ((#:phases phases)
         `(modify-phases ,phases
-          (add-after 'unpack 'work-around-guile-bug
-            (lambda _
-              ;; See bug #39210.
-              (substitute* '("fingertrees.sls"
-                             "queues/private/condition.sls"
-                             "deques/private/condition.sls")
-                (("&assertion") "&violation"))
-              #t))))))))
+           (delete 'work-around-guile-bug)))))))
+
+(define-public guile3.0-pfds
+  (deprecated-package "guile3.0-pfds" guile-pfds))
 
 (define-public guile-aa-tree
   (package
@@ -847,7 +858,7 @@ convenient nested tree operations.")
                                    (assoc-ref inputs "zeromq"))))
                         #t)))))
       (native-inputs
-       `(("guile" ,guile-2.2)))
+       `(("guile" ,guile-3.0)))
       (inputs
        `(("zeromq" ,zeromq)))
       (home-page "https://github.com/jerry40/guile-simple-zmq")
@@ -857,11 +868,14 @@ convenient nested tree operations.")
 messaging library.")
       (license license:gpl3+))))
 
-(define-public guile3.0-simple-zmq
+(define-public guile2.2-simple-zmq
   (package
     (inherit guile-simple-zmq)
-    (name "guile3.0-simple-zmq")
-    (native-inputs `(("guile" ,guile-next)))))
+    (name "guile2.2-simple-zmq")
+    (native-inputs `(("guile" ,guile-2.2)))))
+
+(define-public guile3.0-simple-zmq
+  (deprecated-package "guile3.0-simple-zmq" guile-simple-zmq))
 
 (define-public jupyter-guile-kernel
   (let ((commit "a7db9245a886e104138474df46c3e88b95cff629")
@@ -1068,7 +1082,7 @@ format.")
      '(#:make-flags
        '("GUILE_AUTO_COMPILE=0"))) ;to prevent guild warnings
     (inputs
-     `(("guile" ,guile-2.2)
+     `(("guile" ,guile-3.0)
        ("newt" ,newt)))
     (native-inputs
      `(("autoconf" ,autoconf)
@@ -1082,13 +1096,16 @@ Scheme by using Guile’s foreign function interface.")
     (home-page "https://gitlab.com/mothacehe/guile-newt")
     (license license:gpl3+)))
 
-(define-public guile3.0-newt
+(define-public guile2.2-newt
   (package
     (inherit guile-newt)
-    (name "guile3.0-newt")
+    (name "guile2.2-newt")
     (inputs `(("guile" ,guile-next)
               ,@(alist-delete "guile" (package-inputs guile-newt))))))
 
+(define-public guile3.0-newt
+  (deprecated-package "guile3.0-newt" guile-newt))
+
 (define-public guile-mastodon
   (package
     (name "guile-mastodon")
@@ -1149,7 +1166,7 @@ microblogging service.")
      '(#:make-flags
        '("GUILE_AUTO_COMPILE=0"))) ;to prevent guild warnings
     (inputs
-     `(("guile" ,guile-2.2)
+     `(("guile" ,guile-3.0)
        ("parted" ,parted)))
     (propagated-inputs
      `(("guile-bytestructures" ,guile-bytestructures)))
@@ -1165,14 +1182,17 @@ written in pure Scheme by using Guile's foreign function interface.")
     (home-page "https://gitlab.com/mothacehe/guile-parted")
     (license license:gpl3+)))
 
-(define-public guile3.0-parted
+(define-public guile2.2-parted
   (package
     (inherit guile-parted)
-    (name "guile3.0-parted")
+    (name "guile2.2-parted")
     (inputs `(("guile" ,guile-next)
               ,@(alist-delete "guile" (package-inputs guile-parted))))
     (propagated-inputs
-     `(("guile-bytestructures" ,guile3.0-bytestructures)))))
+     `(("guile-bytestructures" ,guile2.2-bytestructures)))))
+
+(define-public guile3.0-parted
+  (deprecated-package "guile3.0-parted" guile-parted))
 
 (define-public guile-xosd
   (package
@@ -1359,7 +1379,7 @@ PostgreSQL.")
        ("automake" ,automake)
        ("pkg-config" ,pkg-config)
        ("texinfo" ,texinfo)))
-    (inputs `(("guile" ,guile-2.2)))
+    (inputs `(("guile" ,guile-3.0)))
     (synopsis
      "Guile application configuration parsing library.")
     (description
@@ -1374,13 +1394,16 @@ above command-line parameters.")
      "https://gitlab.com/a-sassmannshausen/guile-config")
     (license license:gpl3+)))
 
-(define-public guile3.0-config
+(define-public guile2.2-config
   (package
     (inherit guile-config)
-    (name "guile3.0-config")
-    (inputs `(("guile" ,guile-next)
+    (name "guile2.2-config")
+    (inputs `(("guile" ,guile-2.2)
               ,@(alist-delete "guile" (package-inputs guile-config))))))
 
+(define-public guile3.0-config
+  (deprecated-package "guile3.0-config" guile-config))
+
 (define-public guile-hall
   (package
     (name "guile-hall")
@@ -1447,7 +1470,7 @@ above command-line parameters.")
         ("automake" ,automake)
         ("pkg-config" ,pkg-config)
         ("texinfo" ,texinfo)))
-    (inputs `(("guile" ,guile-2.2)))
+    (inputs `(("guile" ,guile-3.0)))
     (propagated-inputs
      `(("guile-config" ,guile-config)))
     (synopsis "Guile project tooling")
@@ -1459,17 +1482,20 @@ provides tight coupling to Guix.")
     (home-page "https://gitlab.com/a-sassmannshausen/guile-hall")
     (license license:gpl3+)))
 
-(define-public guile3.0-hall
+(define-public guile2.2-hall
   (package
     (inherit guile-hall)
-    (name "guile3.0-hall")
-    (inputs `(("guile" ,guile-next)
+    (name "guile2.2-hall")
+    (inputs `(("guile" ,guile-2.2)
               ,@(alist-delete "guile" (package-inputs guile-hall))))
     (propagated-inputs
-     `(("guile-config" ,guile3.0-config)
+     `(("guile-config" ,guile2.2-config)
        ,@(alist-delete "guile-config"
                        (package-propagated-inputs guile-hall))))))
 
+(define-public guile3.0-hall
+  (deprecated-package "guile3.0-hall" guile-hall))
+
 (define-public guile-ics
   (package
     (name "guile-ics")
@@ -1499,7 +1525,7 @@ provides tight coupling to Guix.")
        ;; Gettext brings 'AC_LIB_LINKFLAGS_FROM_LIBS'.
        ("gettext" ,gettext-minimal)
        ("pkg-config" ,pkg-config)))
-    (inputs `(("guile" ,guile-2.2) ("which" ,which)))
+    (inputs `(("guile" ,guile-3.0) ("which" ,which)))
     (propagated-inputs `(("guile-lib" ,guile-lib)))
     (home-page "https://github.com/artyom-poptsov/guile-ics")
     (synopsis "Guile parser library for the iCalendar format")
@@ -1510,13 +1536,16 @@ pure Scheme.  The library can be used to read and write iCalendar data.
 The library is shipped with documentation in Info format and usage examples.")
     (license license:gpl3+)))
 
-(define-public guile3.0-ics
+(define-public guile2.2-ics
   (package
     (inherit guile-ics)
-    (name "guile3.0-ics")
-    (inputs `(("guile" ,guile-3.0)
+    (name "guile2.2-ics")
+    (inputs `(("guile" ,guile-2.2)
               ,@(alist-delete "guile" (package-inputs guile-ics))))
-    (propagated-inputs `(("guile-lib" ,guile3.0-lib)))))
+    (propagated-inputs `(("guile-lib" ,guile2.2-lib)))))
+
+(define-public guile3.0-ics
+  (deprecated-package "guile3.0-ics" guile-ics))
 
 (define-public guile-wisp
   (package
@@ -1543,6 +1572,12 @@ The library is shipped with documentation in Info format and usage examples.")
                            (guix build emacs-utils))
        #:phases
        (modify-phases %standard-phases
+         (add-after 'unpack 'support-guile-3.0
+           (lambda _
+             (substitute* "configure"
+               (("_guile_versions_to_search=\"2.2")
+                "_guile_versions_to_search=\"3.0 2.2"))
+             #t))
          (add-before 'configure 'patch-/usr/bin/env
            (lambda _
              (substitute* "Makefile.in"
@@ -1581,7 +1616,7 @@ The library is shipped with documentation in Info format and usage examples.")
            (assoc-ref emacs:%standard-phases 'make-autoloads)))))
     (home-page "https://www.draketo.de/english/wisp")
     (inputs
-     `(("guile" ,guile-2.2)))
+     `(("guile" ,guile-3.0)))
     (native-inputs
      `(("emacs" ,emacs-minimal)
        ("python" ,python)
@@ -1592,21 +1627,14 @@ whitespace-significant language.  It may be easier on the eyes for some
 users and in some situations.")
     (license license:gpl3+)))
 
-(define-public guile3.0-wisp
+(define-public guile2.2-wisp
   (package
     (inherit guile-wisp)
-    (name "guile3.0-wisp")
-    (inputs `(("guile" ,guile-3.0)))
-    (arguments
-     (substitute-keyword-arguments (package-arguments guile-wisp)
-       ((#:phases phases)
-        `(modify-phases ,phases
-           (add-after 'unpack 'support-guile-3.0
-             (lambda _
-               (substitute* "configure"
-                 (("_guile_versions_to_search=\"2.2")
-                  "_guile_versions_to_search=\"3.0 2.2"))
-               #t))))))))
+    (name "guile2.2-wisp")
+    (inputs `(("guile" ,guile-2.2)))))
+
+(define-public guile3.0-wisp
+  (deprecated-package "guile3.0-wisp" guile-wisp))
 
 (define-public guile-sly
   (package
@@ -1847,7 +1875,7 @@ library.")
 $(libdir)/guile/@GUILE_EFFECTIVE_VERSION@/site-ccache\n"))
              #t)))))
     (native-inputs `(("pkg-config" ,pkg-config)))
-    (inputs `(("guile" ,guile-2.2)))
+    (inputs `(("guile" ,guile-3.0)))
     (home-page "https://www.nongnu.org/guile-lib/")
     (synopsis "Collection of useful Guile Scheme modules")
     (description
@@ -1867,11 +1895,14 @@ for Guile\".")
     (name "guile2.0-lib")
     (inputs `(("guile" ,guile-2.0)))))
 
-(define-public guile3.0-lib
+(define-public guile2.2-lib
   (package
     (inherit guile-lib)
-    (name "guile3.0-lib")
-    (inputs `(("guile" ,guile-3.0)))))
+    (name "guile2.2-lib")
+    (inputs `(("guile" ,guile-2.2)))))
+
+(define-public guile3.0-lib
+  (deprecated-package "guile3.0-lib" guile-lib))
 
 (define-public guile-minikanren
   (package
@@ -1888,7 +1919,7 @@ for Guile\".")
                 "0r50jlpzi940jlmxyy3ddqqwmj5r12gb4bcv0ssini9v8km13xz6"))))
     (build-system guile-build-system)
     (native-inputs
-     `(("guile" ,guile-2.2)))
+     `(("guile" ,guile-3.0)))
     (home-page "https://github.com/ijp/minikanren")
     (synopsis "MiniKanren declarative logic system, packaged for Guile")
     (description
@@ -1909,11 +1940,14 @@ See http://minikanren.org/ for more on miniKanren generally.")
     (name "guile2.0-minikanren")
     (native-inputs `(("guile" ,guile-2.0)))))
 
-(define-public guile3.0-minikanren
+(define-public guile2.2-minikanren
   (package
     (inherit guile-minikanren)
-    (name "guile3.0-minikanren")
-    (native-inputs `(("guile" ,guile-next)))))
+    (name "guile2.2-minikanren")
+    (native-inputs `(("guile" ,guile-2.2)))))
+
+(define-public guile3.0-minikanren
+  (deprecated-package "guile3.0-minikanren" guile-minikanren))
 
 (define-public guile-irregex
   (package
@@ -1946,7 +1980,7 @@ See http://minikanren.org/ for more on miniKanren generally.")
                       #t)))
        #:source-directory "src"))
     (native-inputs
-     `(("guile" ,guile-2.2)))
+     `(("guile" ,guile-3.0)))
     (home-page "http://synthcode.com/scheme/irregex")
     (synopsis "S-expression based regular expressions")
     (description
@@ -1961,11 +1995,14 @@ inspired by the SCSH regular expression system.")
     (name "guile2.0-irregex")
     (native-inputs `(("guile" ,guile-2.0)))))
 
-(define-public guile3.0-irregex
+(define-public guile2.2-irregex
   (package
     (inherit guile-irregex)
-    (name "guile3.0-irregex")
-    (native-inputs `(("guile" ,guile-next)))))
+    (name "guile2.2-irregex")
+    (native-inputs `(("guile" ,guile-2.2)))))
+
+(define-public guile3.0-irregex
+  (deprecated-package "guile3.0-irregex" guile-irregex))
 
 (define-public haunt
   (package
@@ -2031,9 +2068,10 @@ inspired by the SCSH regular expression system.")
      `(("pkg-config" ,pkg-config)
        ("texinfo" ,texinfo)))
     (inputs
-     `(("guile" ,guile-2.2)))
+     `(("guile" ,guile-3.0)))
     (propagated-inputs
-     `(("guile-reader" ,guile-reader)
+     ;; XXX: Guile-Reader is currently unavailable for Guile 2.2 so strip it.
+     `(;;("guile-reader" ,guile-reader)
        ("guile-commonmark" ,guile-commonmark)))
     (synopsis "Functional static site generator")
     (description "Haunt is a static site generator written in Guile
@@ -2042,14 +2080,14 @@ interface for reading articles in any format.")
     (home-page "http://haunt.dthompson.us")
     (license license:gpl3+)))
 
-(define-public guile3.0-haunt
+(define-public guile2.2-haunt
   (package
     (inherit haunt)
-    (name "guile3.0-haunt")
-    (inputs `(("guile" ,guile-3.0)))
+    (name "guile2.2-haunt")
+    (inputs `(("guile" ,guile-2.2)))
     (propagated-inputs
-     ;; XXX: Guile-Reader is currently unavailable for Guile 3.0 so strip it.
-     `(("guile-commonmark" ,guile3.0-commonmark)))))
+     `(("guile-reader" ,guile-reader)
+       ("guile-commonmark" ,guile2.2-commonmark)))))
 
 (define-public guile2.0-haunt
   (package
@@ -2057,6 +2095,9 @@ interface for reading articles in any format.")
     (name "guile2.0-haunt")
     (inputs `(("guile" ,guile-2.0)))))
 
+(define-public guile3.0-haunt
+  (deprecated-package "guile3.0-haunt" haunt))
+
 (define-public guile-redis
   (package
     (name "guile-redis")
@@ -2112,7 +2153,7 @@ key-value cache and store.")
                   #t))))
     (build-system gnu-build-system)
     (inputs
-     `(("guile" ,guile-2.2)))
+     `(("guile" ,guile-3.0)))
     (native-inputs
      `(("pkg-config" ,pkg-config)))
     (synopsis "CommonMark parser for Guile")
@@ -2125,11 +2166,11 @@ is no support for parsing block and inline level HTML.")
     (home-page "https://github.com/OrangeShark/guile-commonmark")
     (license license:lgpl3+)))
 
-(define-public guile3.0-commonmark
+(define-public guile2.2-commonmark
   (package
     (inherit guile-commonmark)
-    (name "guile3.0-commonmark")
-    (inputs `(("guile" ,guile-3.0)))))
+    (name "guile2.2-commonmark")
+    (inputs `(("guile" ,guile-2.2)))))
 
 (define-public guile2.0-commonmark
   (package
@@ -2137,6 +2178,9 @@ is no support for parsing block and inline level HTML.")
     (name "guile2.0-commonmark")
     (inputs `(("guile" ,guile-2.0)))))
 
+(define-public guile3.0-commonmark
+  (deprecated-package "guile3.0-commonmark" guile-commonmark))
+
 (define-public mcron
   (package
     (name "mcron")
@@ -2174,7 +2218,7 @@ is no support for parsing block and inline level HTML.")
                       #t)))))
     (native-inputs `(("pkg-config" ,pkg-config)
                      ("tzdata" ,tzdata-for-tests)))
-    (inputs `(("guile" ,guile-2.2)))
+    (inputs `(("guile" ,guile-3.0)))
     (home-page "https://www.gnu.org/software/mcron/")
     (synopsis "Run jobs at scheduled times")
     (description
@@ -2184,11 +2228,14 @@ Guile, so its configuration can be written in Scheme; the original cron
 format is also supported.")
     (license license:gpl3+)))
 
-(define-public guile3.0-mcron
+(define-public guile2.2-mcron
   (package
     (inherit mcron)
-    (name "guile3.0-mcron")
-    (inputs `(("guile" ,guile-3.0)))))
+    (name "guile2.2-mcron")
+    (inputs `(("guile" ,guile-2.2)))))
+
+(define-public guile3.0-mcron
+  (deprecated-package "guile3.0-mcron" mcron))
 
 (define-public mcron2
   ;; This was mthl's mcron development branch, and it became mcron 1.1.
@@ -2211,7 +2258,7 @@ format is also supported.")
                   "1ydvw9dvssdvlvhh1dr8inyzy2x6m41qgp8hsivca1xysr4gc23a"))))
       (build-system gnu-build-system)
       (inputs
-       `(("guile" ,guile-2.2)))
+       `(("guile" ,guile-3.0)))
       (native-inputs
        `(("autoconf" ,autoconf)
          ("automake" ,automake)
@@ -2225,11 +2272,15 @@ format is also supported.")
 The picture values can directly be displayed in Geiser.")
       (license license:lgpl3+))))
 
-(define-public guile3.0-picture-language
+(define-public guile2.2-picture-language
   (package
     (inherit guile-picture-language)
-    (name "guile3.0-picture-language")
-    (inputs `(("guile" ,guile-3.0)))))
+    (name "guile2.2-picture-language")
+    (inputs `(("guile" ,guile-2.2)))))
+
+(define-public guile3.0-picture-language
+  (deprecated-package "guile3.0-picture-language"
+                      guile-picture-language))
 
 (define-public guile-studio
   (package
@@ -2526,7 +2577,7 @@ list of components.  This module takes care of that for you.")
        ("gtk+" ,gtk+)
        ("guile-lib" ,guile-lib)
        ("webkitgtk" ,webkitgtk)))
-    (inputs `(("guile" ,guile-2.2)))
+    (inputs `(("guile" ,guile-3.0)))
     (home-page "https://github.com/spk121/guile-gi")
     (synopsis "GObject bindings for Guile")
     (description
@@ -2535,14 +2586,17 @@ libraries, such as GTK+3.  Its README comes with the disclaimer: This is
 pre-alpha code.")
     (license license:gpl3+)))
 
-(define-public guile3.0-gi
+(define-public guile2.2-gi
   (package
     (inherit guile-gi)
-    (name "guile3.0-gi")
+    (name "guile2.2-gi")
     (native-inputs
-     `(("guile" ,guile-3.0)
+     `(("guile" ,guile-2.2)
        ,@(package-native-inputs guile-gi)))))
 
+(define-public guile3.0-gi
+  (deprecated-package "guile3.0-gi" guile-gi))
+
 (define-public guile-srfi-159
   (let ((commit "1bd98abda2ae4ef8f36761a167903e55c6bda7bb")
         (revision "0"))
@@ -3012,7 +3066,7 @@ the style of the Node Package Manager (NPM).")
                       (rename-file "private" "hashing/private")
                       #t)))))
     (native-inputs
-     `(("guile" ,guile-2.2)))
+     `(("guile" ,guile-3.0)))
     (synopsis "Cryprographic hash functions implemented in Scheme")
     (description
      "The @code{(hashing @dots{})} modules implement cryptographic hash
@@ -3020,13 +3074,16 @@ functions in pure R6RS Scheme: CRC, HMAC, MD5, SHA-1, and SHA-2 (SHA-256,
 SHA-512).")
     (license license:expat)))
 
-(define-public guile3.0-hashing
+(define-public guile2.2-hashing
   (package
     (inherit guile-hashing)
-    (name "guile3.0-hashing")
+    (name "guile2.2-hashing")
     (native-inputs
      `(("guile" ,guile-next)))))
 
+(define-public guile3.0-hashing
+  (deprecated-package "guile3.0-hashing" guile-hashing))
+
 (define-public guile-webutils
   (let ((commit "8541904f761066dc9c27b1153e9a838be9a55299")
         (revision "0"))