[bug#34007,1/5] build: Require Guile 2.2.

Message ID 20190107104857.6456-1-ludo@gnu.org
State Accepted
Commit 0991fd53367907908fbd901a9fbe79540e4e4527
Headers show
Series Drop Guile 2.0 support | expand

Checks

Context Check Description
cbaines/package builds pending In Cuirass
cbaines/applying patch fail Apply failed
cbaines/applying patch fail Apply failed
cbaines/applying patch fail Apply failed
cbaines/applying patch fail Apply failed
cbaines/applying patch fail Apply failed

Commit Message

Ludovic Courtès Jan. 7, 2019, 10:48 a.m. UTC
* configure.ac: Require Guile 2.2.
* README: Adjust accordingly.
* doc/guix.texi (Requirements): Likewise.
* gnu/packages/package-management.scm (guile2.0-guix): Deprecate.
(guix-minimal): Inherit from GUIX, not from GUILE2.0-GUIX.
---
 README                              |  2 +-
 configure.ac                        |  6 +----
 doc/guix.texi                       |  5 ++--
 gnu/packages/package-management.scm | 39 ++++++++++-------------------
 4 files changed, 17 insertions(+), 35 deletions(-)

Patch

diff --git a/README b/README
index e7871917f2..296df41516 100644
--- a/README
+++ b/README
@@ -20,7 +20,7 @@  Guix is based on the [[https://nixos.org/nix/][Nix]] package manager.
 
 GNU Guix currently depends on the following packages:
 
-  - [[https://gnu.org/software/guile/][GNU Guile 2.2.x or 2.0.x]], version 2.0.13 or later
+  - [[https://gnu.org/software/guile/][GNU Guile 2.2.x]]
   - [[https://notabug.org/cwebber/guile-gcrypt][Guile-Gcrypt]] 0.1.0 or later
   - [[https://www.gnu.org/software/make/][GNU Make]]
   - [[https://www.gnutls.org][GnuTLS]] compiled with guile support enabled
diff --git a/configure.ac b/configure.ac
index 2817e6e24d..891fce28ae 100644
--- a/configure.ac
+++ b/configure.ac
@@ -93,16 +93,12 @@  m4_pattern_forbid([^GUIX_])
 
 dnl Search for 'guile' and 'guild'.  This macro defines
 dnl 'GUILE_EFFECTIVE_VERSION'.
-GUILE_PKG([2.2 2.0])
+GUILE_PKG([2.2])
 GUILE_PROGS
 if test "x$GUILD" = "x"; then
    AC_MSG_ERROR(['guild' binary not found; please check your guile-2.x installation.])
 fi
 
-if test "x$GUILE_EFFECTIVE_VERSION" = "x2.0"; then
-  PKG_CHECK_MODULES([GUILE], [guile-2.0 >= 2.0.13])
-fi
-
 dnl Installation directories for .scm and .go files.
 guilemoduledir="${datarootdir}/guile/site/$GUILE_EFFECTIVE_VERSION"
 guileobjectdir="${libdir}/guile/$GUILE_EFFECTIVE_VERSION/site-ccache"
diff --git a/doc/guix.texi b/doc/guix.texi
index fcb5b8c088..8376ce77a1 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -17,7 +17,7 @@ 
 @set SUBSTITUTE-SERVER ci.guix.info
 
 @copying
-Copyright @copyright{} 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès@*
+Copyright @copyright{} 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès@*
 Copyright @copyright{} 2013, 2014, 2016 Andreas Enge@*
 Copyright @copyright{} 2013 Nikita Karetnikov@*
 Copyright @copyright{} 2014, 2015, 2016 Alex Kost@*
@@ -641,8 +641,7 @@  in the Guix source tree for additional details.
 GNU Guix depends on the following packages:
 
 @itemize
-@item @url{http://gnu.org/software/guile/, GNU Guile}, version 2.0.13 or
-later, including 2.2.x;
+@item @url{http://gnu.org/software/guile/, GNU Guile}, version 2.2.x;
 @item @url{https://notabug.org/cwebber/guile-gcrypt, Guile-Gcrypt}, version
 0.1.0 or later;
 @item
diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm
index 85c95a75e9..8eb4e2eefe 100644
--- a/gnu/packages/package-management.scm
+++ b/gnu/packages/package-management.scm
@@ -1,5 +1,5 @@ 
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2015, 2017 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2017 Muriithi Frederick Muriuki <fredmanglis@gmail.com>
 ;;; Copyright © 2017, 2018 Oleg Pykhalov <go.wigust@gmail.com>
@@ -362,36 +362,23 @@  the Nix package manager.")
            (delete 'wrap-program)))))))
 
 (define-public guile2.0-guix
-  (package
-    (inherit guix)
-    (name "guile2.0-guix")
-    (inputs
-     `(("guile" ,guile-2.0)
-       ,@(alist-delete "guile" (package-inputs guix))))
-    (propagated-inputs
-     `(("gnutls" ,gnutls/guile-2.0)
-       ("guile-gcrypt" ,guile2.0-gcrypt)
-       ("guile-json" ,guile2.0-json)
-       ("guile-sqlite3" ,guile2.0-sqlite3)
-       ("guile-ssh" ,guile2.0-ssh)
-       ("guile-git" ,guile2.0-git)))))
+  (deprecated-package "guile2.0-guix" guix))
 
 (define-public guix-minimal
   ;; A version of Guix which is built with the minimal set of dependencies, as
   ;; outlined in the README "Requirements" section.  Intended as a CI job, so
   ;; marked as hidden.
-  (let ((guix guile2.0-guix))
-    (hidden-package
-     (package
-       (inherit guix)
-       (name "guix-minimal")
-       (inputs
-        `(("guile" ,guile-2.0.13)
-          ,@(alist-delete "guile" (package-inputs guix))))
-       (propagated-inputs
-        (fold alist-delete
-              (package-propagated-inputs guix)
-              '("guile-ssh")))))))
+  (hidden-package
+   (package
+     (inherit guix)
+     (name "guix-minimal")
+     (inputs
+      `(("guile" ,guile-2.2)
+        ,@(alist-delete "guile" (package-inputs guix))))
+     (propagated-inputs
+      (fold alist-delete
+            (package-propagated-inputs guix)
+            '("guile-ssh"))))))
 
 (define (source-file? file stat)
   "Return true if FILE is likely a source file, false if it is a typical