summary refs log tree commit diff
path: root/build-aux
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2014-06-06 17:23:14 +0200
committerLudovic Courtès <ludo@gnu.org>2014-06-06 17:23:14 +0200
commit872c69d00e861f86fa4caaadbaa136f46c9db358 (patch)
treed50176869e67baf821b151d6bcc879ef0bd554fe /build-aux
parenta4d48cc24d0f6bc3c45adf92925d7d901f0763d3 (diff)
parentb15d79dfe65353f4101b0ad653c97e3ef0d4a8b7 (diff)
downloadguix-872c69d00e861f86fa4caaadbaa136f46c9db358.tar.gz
Merge branch 'master' into core-updates
Diffstat (limited to 'build-aux')
-rw-r--r--build-aux/hydra/demo-os.scm33
-rw-r--r--build-aux/hydra/gnu-system.scm47
-rwxr-xr-xbuild-aux/list-packages.scm5
3 files changed, 58 insertions, 27 deletions
diff --git a/build-aux/hydra/demo-os.scm b/build-aux/hydra/demo-os.scm
index 863371291e..bb8cd05fc2 100644
--- a/build-aux/hydra/demo-os.scm
+++ b/build-aux/hydra/demo-os.scm
@@ -24,23 +24,19 @@
 
 (use-modules (gnu)
 
-             (gnu packages zile)
              (gnu packages xorg)
-             (gnu packages admin)
-             (gnu packages guile)
-             (gnu packages bash)
-             (gnu packages linux)
-             (gnu packages less)
-             (gnu packages tor)
-             (gnu packages package-management)
+             (gnu packages avahi)
 
              (gnu services networking)
+             (gnu services avahi)
+             (gnu services dbus)
              (gnu services xorg))
 
 (operating-system
  (host-name "gnu")
  (timezone "Europe/Paris")
  (locale "en_US.UTF-8")
+
  (bootloader (grub-configuration
               (device "/dev/sda")))
  (file-systems
@@ -52,6 +48,7 @@
           (type "dummy"))
         ;; %fuse-control-file-system   ; needs fuse.ko
         %binary-format-file-system))
+
  (users (list (user-account
                (name "guest")
                (group "wheel")
@@ -67,6 +64,17 @@
                 (name "users")
                 (id 100)
                 (members '("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
+GNU dmd (http://www.gnu.org/software/dmd/).
+
+You can log in as 'guest' or 'root' with no password.
+")
+
  (services (cons* (slim-service #:auto-login? #t
                                 #:default-user "guest")
 
@@ -75,11 +83,12 @@
                                              #:name-servers '("10.0.2.3")
                                              #:gateway "10.0.2.2")
 
+                  (avahi-service)
+                  (dbus-service (list avahi))
+
                   %base-services))
  (pam-services
   ;; Explicitly allow for empty passwords.
   (base-pam-services #:allow-empty-passwords? #t))
- (packages (list bash coreutils findutils grep sed
-                 procps psmisc less
-                 guile-2.0 dmd guix util-linux inetutils
-                 xterm zile)))
+
+ (packages (cons* xterm avahi %base-packages)))
diff --git a/build-aux/hydra/gnu-system.scm b/build-aux/hydra/gnu-system.scm
index 28fad6a8e2..f02f1f48e6 100644
--- a/build-aux/hydra/gnu-system.scm
+++ b/build-aux/hydra/gnu-system.scm
@@ -55,6 +55,7 @@
              (gnu packages make-bootstrap)
              (gnu system)
              (gnu system vm)
+             (gnu system install)
              (srfi srfi-1)
              (srfi srfi-26)
              (ice-9 match))
@@ -114,6 +115,12 @@ SYSTEM."
   '("mips64el-linux-gnu"
     "mips64el-linux-gnuabi64"))
 
+(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 (qemu-jobs store system)
   "Return a list of jobs that build QEMU images for SYSTEM."
   (define (->alist drv)
@@ -130,24 +137,28 @@ system.")
                                (string->symbol system))))
       `(,name . ,(cut ->alist drv))))
 
-  (if (string=? system "x86_64-linux")
-      (let* ((dir  (dirname (assoc-ref (current-source-location) 'filename)))
-             (file (string-append dir "/demo-os.scm"))
-             (os   (read-operating-system file))
-             (size (* 1400 (expt 2 20))))         ; 1.4GiB
-        (if (operating-system? os)
-            (list (->job 'qemu-image
-                         (run-with-store store
-                           (system-qemu-image os
-                                              #:disk-image-size size))))
-            '()))
+  (define MiB
+    (expt 2 20))
+
+  (if (member system '("x86_64-linux" "i686-linux"))
+      (list (->job 'qemu-image
+                   (run-with-store store
+                     (system-qemu-image (demo-os)
+                                        #:disk-image-size
+                                        (* 1400 MiB)))) ; 1.4 GiB
+            (->job 'usb-image
+                   (run-with-store store
+                     (system-disk-image installation-os
+                                        #:disk-image-size
+                                        (* 630 MiB)))))
       '()))
 
 (define (hydra-jobs store arguments)
   "Return Hydra jobs."
   (define systems
     ;; Systems we want to build for.
-    '("x86_64-linux" "i686-linux"))
+    '("x86_64-linux" "i686-linux"
+      "mips64el-linux"))
 
   (define subset
     (match (assoc-ref arguments 'subset)
@@ -165,12 +176,22 @@ system.")
       (and (string-prefix? "i686-" system)
            (string-suffix? "64" target)))
 
+    (define (same? target)
+      ;; Return true if SYSTEM and TARGET are the same thing.  This is so we
+      ;; don't try to cross-compile to 'mips64el-linux-gnu' from
+      ;; 'mips64el-linux'.
+      (string-contains target system))
+
+    (define (either proc1 proc2)
+      (lambda (x)
+        (or (proc1 x) (proc2 x))))
+
     (append-map (lambda (target)
                   (map (lambda (package)
                          (package-cross-job store (job-name package)
                                             package target system))
                        %packages-to-cross-build))
-                (remove from-32-to-64? %cross-targets)))
+                (remove (either from-32-to-64? same?) %cross-targets)))
 
   ;; Return one job for each package, except bootstrap packages.
   (let ((base-packages (delete-duplicates
diff --git a/build-aux/list-packages.scm b/build-aux/list-packages.scm
index d832374a9c..96fe707233 100755
--- a/build-aux/list-packages.scm
+++ b/build-aux/list-packages.scm
@@ -4,7 +4,7 @@ exec guile -l "$0"                              \
              (cdr (command-line)))'
 !#
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2013, 2014 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2013 Alex Sassmannshausen <alex.sassmannshausen@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
@@ -148,7 +148,8 @@ decreasing, is 1."
 
     `(div "status: "
           ,(url "x86_64-linux") " "
-          ,(url "i686-linux")))
+          ,(url "i686-linux") " "
+          ,(url "mips64el-linux")))
 
   (define (package-logo name)
     (and=> (lookup-gnu-package name)