From 85c3127fa9226ff9efa504dddffcf8442f54488d Mon Sep 17 00:00:00 2001
From: David Thompson <dthompson2@worcester.edu>
Date: Tue, 7 Jul 2015 21:58:15 -0400
Subject: [PATCH] build: file-systems: Import (guix build syscalls) for
 non-static Guiles.

* gnu/build/file-systems.scm: Import (guix build syscalls) when 'mount' is not
  defined.
* gnu/system.scm (operating-system-activation-script): Include (guix build
  syscalls) module in derivation.
---
 gnu/build/file-systems.scm | 7 +++++++
 gnu/system.scm             | 1 +
 2 files changed, 8 insertions(+)

diff --git a/gnu/build/file-systems.scm b/gnu/build/file-systems.scm
index 72c8bd59f34..04431ba5967 100644
--- a/gnu/build/file-systems.scm
+++ b/gnu/build/file-systems.scm
@@ -50,6 +50,13 @@ (define-module (gnu build file-systems)
 ;;;
 ;;; Code:
 
+;; 'mount' is already defined in the statically linked Guile used for initial
+;; RAM disks, but in all other cases the (guix build syscalls) module contains
+;; the mount binding.
+(unless (defined? 'mount)
+  (module-use! (current-module)
+               (resolve-interface '(guix build syscalls))))
+
 ;; Linux mount flags, from libc's <sys/mount.h>.
 (define MS_RDONLY 1)
 (define MS_NOSUID 2)
diff --git a/gnu/system.scm b/gnu/system.scm
index d63804a06c5..efad14596a5 100644
--- a/gnu/system.scm
+++ b/gnu/system.scm
@@ -689,6 +689,7 @@ (define %modules
       (gnu build linux-modules)
       (gnu build file-systems)
       (guix build utils)
+      (guix build syscalls)
       (guix elf)))
 
   (define (service-activations services)
-- 
GitLab