summary refs log tree commit diff
path: root/build-aux/hydra
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/hydra
parent92e779592d269ca1924f184496eb4ca832997b12 (diff)
parentaa21c764d65068783ae31febee2a92eb3d138a24 (diff)
downloadguix-74288230ea8b2310495dc2739f39ceadcc143fd0.tar.gz
Merge branch 'master' into core-updates
Diffstat (limited to 'build-aux/hydra')
-rw-r--r--build-aux/hydra/demo-os.scm84
-rw-r--r--build-aux/hydra/gnu-system.scm33
2 files changed, 13 insertions, 104 deletions
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))