[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.