guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

01/01: installer: Only build if guile-ncurses is available.


From: Ricardo Wurmus
Subject: 01/01: installer: Only build if guile-ncurses is available.
Date: Mon, 20 Feb 2017 16:51:55 -0500 (EST)

rekado pushed a commit to branch wip-installer
in repository guix.

commit fad5f5fb8dffb4a1cbe40ee9d31a346b901305d1
Author: Ricardo Wurmus <address@hidden>
Date:   Mon Feb 20 17:26:35 2017 +0100

    installer: Only build if guile-ncurses is available.
    
    * configure.ac: Set HAVE_GUILE_NCURSES if Guile ncurses is available.
    * Makefile.am (MODULES): Add gurses modules only when HAVE_GUILE_NCURSES is
    true.
    * gnu/local.mk (GNU_SYSTEM_MODULES): Add the installer modules only when
    HAVE_GUILE_NCURSES is true.
    * guix/scripts/system.scm: Avoid loading the installer module.
---
 Makefile.am             | 14 +++++++++----
 configure.ac            |  4 ++++
 gnu/local.mk            | 55 +++++++++++++++++++++++++++----------------------
 guix/scripts/system.scm |  7 ++++++-
 4 files changed, 50 insertions(+), 30 deletions(-)

diff --git a/Makefile.am b/Makefile.am
index 2f9bf47..0a8c6a6 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -30,10 +30,6 @@ nodist_noinst_SCRIPTS =                              \
 include gnu/local.mk
 
 MODULES =                                      \
-  gurses/buttons.scm                            \
-  gurses/form.scm                               \
-  gurses/menu.scm                               \
-  gurses/stexi.scm                              \
   guix/base32.scm                              \
   guix/base64.scm                              \
   guix/cpio.scm                                        \
@@ -166,6 +162,16 @@ MODULES =                                  \
   guix.scm                                     \
   $(GNU_SYSTEM_MODULES)
 
+if HAVE_GUILE_NCURSES
+
+MODULES +=                                     \
+  gurses/buttons.scm                            \
+  gurses/form.scm                               \
+  gurses/menu.scm                              \
+  gurses/stexi.scm
+
+endif
+
 if HAVE_GUILE_JSON
 
 MODULES +=                                     \
diff --git a/configure.ac b/configure.ac
index 06b0618..3dff7cb 100644
--- a/configure.ac
+++ b/configure.ac
@@ -95,6 +95,10 @@ dnl guile-json is used for the PyPI package importer
 GUILE_MODULE_AVAILABLE([have_guile_json], [(json)])
 AM_CONDITIONAL([HAVE_GUILE_JSON], [test "x$have_guile_json" = "xyes"])
 
+dnl guile-ncurses is used for the system installer
+GUILE_MODULE_AVAILABLE([have_guile_ncurses], [(ncurses curses)])
+AM_CONDITIONAL([HAVE_GUILE_NCURSES], [test "x$have_guile_ncurses" = "xyes"])
+
 dnl Make sure we have a full-fledged Guile.
 GUIX_ASSERT_GUILE_FEATURES([regex posix socket net-db threads])
 
diff --git a/gnu/local.mk b/gnu/local.mk
index 67fe767..9c0f278 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -443,31 +443,6 @@ GNU_SYSTEM_MODULES =                               \
   %D%/system/shadow.scm                                \
   %D%/system/vm.scm                            \
                                                \
-  %D%/system/installer/filesystems.scm          \
-  %D%/system/installer/network.scm              \
-  %D%/system/installer/wireless.scm             \
-  %D%/system/installer/install.scm              \
-  %D%/system/installer/dialog.scm               \
-  %D%/system/installer/hostname.scm             \
-  %D%/system/installer/mount-point.scm          \
-  %D%/system/installer/guixsd-installer.scm     \
-  %D%/system/installer/disks.scm                \
-  %D%/system/installer/format.scm               \
-  %D%/system/installer/locale.scm               \
-  %D%/system/installer/levelled-stack.scm       \
-  %D%/system/installer/ping.scm                 \
-  %D%/system/installer/key-map.scm              \
-  %D%/system/installer/role.scm                 \
-  %D%/system/installer/user-edit.scm            \
-  %D%/system/installer/users.scm                \
-  %D%/system/installer/utils.scm                \
-  %D%/system/installer/page.scm                 \
-  %D%/system/installer/passphrase.scm           \
-  %D%/system/installer/configure.scm            \
-  %D%/system/installer/time-zone.scm            \
-  %D%/system/installer/misc.scm                 \
-  %D%/system/installer/partition-reader.scm     \
-               \
   %D%/build/activation.scm                     \
   %D%/build/cross-toolchain.scm                        \
   %D%/build/file-systems.scm                   \
@@ -490,6 +465,36 @@ GNU_SYSTEM_MODULES =                               \
   %D%/tests/ssh.scm                            \
   %D%/tests/web.scm
 
+if HAVE_GUILE_NCURSES
+
+GNU_SYSTEM_MODULES +=                          \
+  %D%/system/installer/filesystems.scm         \
+  %D%/system/installer/network.scm             \
+  %D%/system/installer/wireless.scm            \
+  %D%/system/installer/install.scm             \
+  %D%/system/installer/dialog.scm              \
+  %D%/system/installer/hostname.scm            \
+  %D%/system/installer/mount-point.scm         \
+  %D%/system/installer/guixsd-installer.scm    \
+  %D%/system/installer/disks.scm               \
+  %D%/system/installer/format.scm              \
+  %D%/system/installer/locale.scm              \
+  %D%/system/installer/levelled-stack.scm      \
+  %D%/system/installer/ping.scm                        \
+  %D%/system/installer/key-map.scm             \
+  %D%/system/installer/role.scm                        \
+  %D%/system/installer/user-edit.scm            \
+  %D%/system/installer/users.scm                \
+  %D%/system/installer/utils.scm               \
+  %D%/system/installer/page.scm                        \
+  %D%/system/installer/passphrase.scm          \
+  %D%/system/installer/configure.scm           \
+  %D%/system/installer/time-zone.scm           \
+  %D%/system/installer/misc.scm                        \
+  %D%/system/installer/partition-reader.scm
+
+endif
+
 
 patchdir = $(guilemoduledir)/%D%/packages/patches
 dist_patch_DATA =                                              \
diff --git a/guix/scripts/system.scm b/guix/scripts/system.scm
index 121bd4d..c4b91a9 100644
--- a/guix/scripts/system.scm
+++ b/guix/scripts/system.scm
@@ -40,7 +40,6 @@
   #:use-module (gnu system file-systems)
   #:use-module (gnu system linux-container)
   #:use-module (gnu system vm)
-  #:use-module (gnu system installer guixsd-installer)
   #:use-module (gnu system grub)
   #:use-module (gnu services)
   #:use-module (gnu services shepherd)
@@ -57,6 +56,12 @@
   #:export (guix-system
             read-operating-system))
 
+;; XXX: Use this hack instead of #:autoload to avoid compilation errors.
+;; See <http://bugs.gnu.org/12202>.
+(module-autoload! (current-module)
+                  '(gnu system installer guixsd-installer)
+                  '(guixsd-installer))
+
 
 ;;;
 ;;; Operating system declaration.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]