aboutsummaryrefslogtreecommitdiff
path: root/build-aux
diff options
context:
space:
mode:
authorLeo Famulari <leo@famulari.name>2017-01-06 17:14:41 -0500
committerLeo Famulari <leo@famulari.name>2017-01-06 17:14:41 -0500
commit74288230ea8b2310495dc2739f39ceadcc143fd0 (patch)
tree73ba6c7c13d59c5f92b409c94dccfff159e08f4d /build-aux
parent92e779592d269ca1924f184496eb4ca832997b12 (diff)
parentaa21c764d65068783ae31febee2a92eb3d138a24 (diff)
downloadgnu-guix-74288230ea8b2310495dc2739f39ceadcc143fd0.tar
gnu-guix-74288230ea8b2310495dc2739f39ceadcc143fd0.tar.gz
Merge branch 'master' into core-updates
Diffstat (limited to 'build-aux')
-rw-r--r--build-aux/build-self.scm7
-rw-r--r--build-aux/check-final-inputs-self-contained.scm7
-rw-r--r--build-aux/hydra/demo-os.scm84
-rw-r--r--build-aux/hydra/gnu-system.scm33
4 files changed, 26 insertions, 105 deletions
diff --git a/build-aux/build-self.scm b/build-aux/build-self.scm
index 485f91b4c0..cc702490df 100644
--- a/build-aux/build-self.scm
+++ b/build-aux/build-self.scm
@@ -114,6 +114,13 @@ files."
(string-append #$guile-ssh "/lib/guile/2.0/site-ccache")
%load-compiled-path)))
+ ;; XXX: The 'guile-ssh' package prior to Guix commit 92b7258 was
+ ;; broken: libguile-ssh could not be found. Work around that.
+ ;; FIXME: We want Guile-SSH 0.10.2 or later anyway.
+ #$(if (string-prefix? "0.9." (package-version guile-ssh))
+ #~(setenv "LTDL_LIBRARY_PATH" (string-append #$guile-ssh "/lib"))
+ #t)
+
(build-guix #$output #$source
#:system #$%system
diff --git a/build-aux/check-final-inputs-self-contained.scm b/build-aux/check-final-inputs-self-contained.scm
index 255286be29..dc44c4b636 100644
--- a/build-aux/check-final-inputs-self-contained.scm
+++ b/build-aux/check-final-inputs-self-contained.scm
@@ -37,12 +37,17 @@
(let ((drv (package-derivation store package system)))
;; Libc's 'debug' output refers to gcc-cross-boot0, but it's
;; hard to avoid, so we tolerate it. This should be the
- ;; only exception.
+ ;; only exception. Likewise, 'bash:include' depends on
+ ;; bootstrap-binaries via its 'Makefile.inc' (FIXME).
(filter-map (match-lambda
(("debug" . directory)
(if (string=? "glibc" (package-name package))
#f
directory))
+ (("include" . directory)
+ (if (string=? "bash" (package-name package))
+ #f
+ directory))
((_ . directory) directory))
(derivation->output-paths drv)))))
%final-inputs))
diff --git a/build-aux/hydra/demo-os.scm b/build-aux/hydra/demo-os.scm
deleted file mode 100644
index d933bc8b25..0000000000
--- a/build-aux/hydra/demo-os.scm
+++ /dev/null
@@ -1,84 +0,0 @@
-;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2014, 2015 Ludovic Courtès <ludo@gnu.org>
-;;;
-;;; This file is part of GNU Guix.
-;;;
-;;; GNU Guix is free software; you can redistribute it and/or modify it
-;;; under the terms of the GNU General Public License as published by
-;;; the Free Software Foundation; either version 3 of the License, or (at
-;;; your option) any later version.
-;;;
-;;; GNU Guix is distributed in the hope that it will be useful, but
-;;; WITHOUT ANY WARRANTY; without even the implied warranty of
-;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;;; GNU General Public License for more details.
-;;;
-;;; You should have received a copy of the GNU General Public License
-;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
-
-
-;;;
-;;; This file defines an operating system configuration for the demo virtual
-;;; machine images that we build.
-;;;
-
-(use-modules (gnu))
-(use-service-modules desktop xorg networking avahi dbus)
-(use-package-modules linux xorg tor avahi)
-
-(operating-system
- (host-name "gnu")
- (timezone "Europe/Paris")
- (locale "en_US.utf8")
-
- (bootloader (grub-configuration
- (device "/dev/sda")))
- (file-systems
- ;; We provide a dummy file system for /, but that's OK because the VM build
- ;; code will automatically declare the / file system for us.
- (cons* (file-system
- (mount-point "/")
- (device "dummy")
- (type "dummy"))
- ;; %fuse-control-file-system ; needs fuse.ko
- ;; %binary-format-file-system ; needs binfmt.ko
- %base-file-systems))
-
- (users (list (user-account
- (name "guest")
- (group "users")
- (supplementary-groups '("wheel")) ; allow use of sudo
- (password "")
- (comment "Guest of GNU")
- (home-directory "/home/guest"))))
-
- (issue "
-This is an alpha preview of the GNU system. Welcome.
-
-This image features the GNU Guix package manager, which was used to
-build it (http://www.gnu.org/software/guix/). The init system is
-the GNU Shepherd (http://www.gnu.org/software/shepherd/).
-
-You can log in as 'guest' or 'root' with no password.
-")
-
- (services (cons* (slim-service #:auto-login? #t
- #:default-user "guest")
-
- ;; QEMU networking settings.
- (static-networking-service "eth0" "10.0.2.10"
- #:name-servers '("10.0.2.3")
- #:gateway "10.0.2.2")
-
- (avahi-service)
- (dbus-service)
- (tor-service)
-
- %base-services))
- (pam-services
- ;; Explicitly allow for empty passwords.
- (base-pam-services #:allow-empty-passwords? #t))
-
- (packages (cons* strace
- tor torsocks
- xterm avahi %base-packages)))
diff --git a/build-aux/hydra/gnu-system.scm b/build-aux/hydra/gnu-system.scm
index 10e0f89c4c..f5a37a2ca4 100644
--- a/build-aux/hydra/gnu-system.scm
+++ b/build-aux/hydra/gnu-system.scm
@@ -54,7 +54,6 @@
(gnu packages compression)
(gnu packages multiprecision)
(gnu packages make-bootstrap)
- (gnu packages commencement)
(gnu packages package-management)
(gnu system)
(gnu system vm)
@@ -112,7 +111,7 @@ SYSTEM."
gawk gnu-gettext hello guile-2.0 zlib gzip xz
%bootstrap-binaries-tarball
%binutils-bootstrap-tarball
- %glibc-bootstrap-tarball
+ (%glibc-bootstrap-tarball)
%gcc-bootstrap-tarball
%guile-bootstrap-tarball
%bootstrap-tarballs))
@@ -124,14 +123,9 @@ SYSTEM."
'("mips64el-linux-gnu"
"mips64el-linux-gnuabi64"
"arm-linux-gnueabihf"
+ "i686-w64-mingw32"
"powerpc-linux-gnu"))
-(define (demo-os)
- "Return the \"demo\" 'operating-system' structure."
- (let* ((dir (dirname (assoc-ref (current-source-location) 'filename)))
- (file (string-append dir "/demo-os.scm")))
- (read-operating-system file)))
-
(define %guixsd-supported-systems
'("x86_64-linux" "i686-linux"))
@@ -157,14 +151,7 @@ system.")
(expt 2 20))
(if (member system %guixsd-supported-systems)
- (list (->job 'qemu-image
- (run-with-store store
- (mbegin %store-monad
- (set-guile-for-build (default-guile))
- (system-qemu-image (demo-os)
- #:disk-image-size
- (* 1400 MiB))))) ; 1.4 GiB
- (->job 'usb-image
+ (list (->job 'usb-image
(run-with-store store
(mbegin %store-monad
(set-guile-for-build (default-guile))
@@ -241,7 +228,7 @@ all its dependencies, and ready to be installed on non-GuixSD distributions.")
(match (package-transitive-inputs package)
(((_ inputs _ ...) ...)
inputs))))
- %final-inputs))))
+ (%final-inputs)))))
(lambda (store package system)
"Return a job for PACKAGE on SYSTEM, or #f if this combination is not
valid."
@@ -279,16 +266,22 @@ valid."
;; 'mips64el-linux'.
(string-contains target system))
- (define (either proc1 proc2)
+ (define (pointless? target)
+ ;; Return #t if it makes no sense to cross-build to TARGET from SYSTEM.
+ (and (string-contains target "mingw")
+ (not (string=? "x86_64-linux" system))))
+
+ (define (either proc1 proc2 proc3)
(lambda (x)
- (or (proc1 x) (proc2 x))))
+ (or (proc1 x) (proc2 x) (proc3 x))))
(append-map (lambda (target)
(map (lambda (package)
(package-cross-job store (job-name package)
package target system))
%packages-to-cross-build))
- (remove (either from-32-to-64? same?) %cross-targets)))
+ (remove (either from-32-to-64? same? pointless?)
+ %cross-targets)))
;; Turn off grafts. Grafting is meant to happen on the user's machines.
(parameterize ((%graft? #f))