From aa28ecc40af91d7cdff2fb3ab4ad86ad10d43ab7 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sun, 27 Nov 2016 23:03:45 +0100 Subject: pull: Hack to allow compilation with older Guile-SSH packages. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Reported by iyzsong@member.fsf.org (宋文武) at . * build-aux/build-self.scm (build): Set 'LTDL_LIBRARY_PATH' when GUILE-SSH has a "0.9." version prefix. --- build-aux/build-self.scm | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'build-aux') 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 @@ (define builder (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 -- cgit v1.2.3 From dea91108cf6b9bb46071c8f65c9abf834c5b064d Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 7 Dec 2016 10:21:00 +0100 Subject: hydra: Add "i686-w64-mingw32" as a cross-compilation target. * build-aux/hydra/gnu-system.scm (%cross-targets): Add "i686-w64-mingw32". (hydra-jobs)[cross-jobs?](pointless?): New procedure. Use it. --- build-aux/hydra/gnu-system.scm | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'build-aux') diff --git a/build-aux/hydra/gnu-system.scm b/build-aux/hydra/gnu-system.scm index 26c7b3ca45..2fe42a3794 100644 --- a/build-aux/hydra/gnu-system.scm +++ b/build-aux/hydra/gnu-system.scm @@ -123,7 +123,8 @@ (define %packages-to-cross-build (define %cross-targets '("mips64el-linux-gnu" "mips64el-linux-gnuabi64" - "arm-linux-gnueabihf")) + "arm-linux-gnueabihf" + "i686-w64-mingw32")) (define (demo-os) "Return the \"demo\" 'operating-system' structure." @@ -278,6 +279,11 @@ (define (same? target) ;; 'mips64el-linux'. (string-contains target system)) + (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) (lambda (x) (or (proc1 x) (proc2 x)))) @@ -287,7 +293,8 @@ (define (either proc1 proc2) (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)) -- cgit v1.2.3 From 0a050ebc350b5ef2e7d2af6c007eba0e5a039212 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 7 Dec 2016 23:53:18 +0100 Subject: hydra: Use '%final-inputs' from base.scm, not commencement.scm. * build-aux/hydra/gnu-system.scm (package->job): Use the '%final-inputs' procedure from (gnu packages base). --- build-aux/hydra/gnu-system.scm | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'build-aux') diff --git a/build-aux/hydra/gnu-system.scm b/build-aux/hydra/gnu-system.scm index 2fe42a3794..dcab40dd85 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) @@ -241,7 +240,7 @@ (define package->job (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." -- cgit v1.2.3 From 530b8bda1f640ad0c222f0cddc9e15e4572fc459 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 7 Dec 2016 23:57:09 +0100 Subject: hydra: Adjust to make-bootstrap.scm change. This is a followup to commit f13f60cb2620433280ccb2132376b7c6d3dbc06f. * build-aux/hydra/gnu-system.scm (%core-packages): Call '%glibc-bootstrap-tarball' since it's now a thunk, not a package. --- build-aux/hydra/gnu-system.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'build-aux') diff --git a/build-aux/hydra/gnu-system.scm b/build-aux/hydra/gnu-system.scm index dcab40dd85..9ad8c8a94d 100644 --- a/build-aux/hydra/gnu-system.scm +++ b/build-aux/hydra/gnu-system.scm @@ -111,7 +111,7 @@ (define %core-packages 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)) -- cgit v1.2.3 From a69bc7071ec05ed896dcc14f613c88023b6b2f80 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 7 Dec 2016 23:58:15 +0100 Subject: hydra: Fix wrong-num-args error when computing the cross jobs. Fixes a regression introduced in dea91108cf6b9bb46071c8f65c9abf834c5b064d. * build-aux/hydra/gnu-system.scm (hydra-jobs)[cross-jobs](either): Add third parameter and honor it. --- build-aux/hydra/gnu-system.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'build-aux') diff --git a/build-aux/hydra/gnu-system.scm b/build-aux/hydra/gnu-system.scm index 9ad8c8a94d..cddda85eac 100644 --- a/build-aux/hydra/gnu-system.scm +++ b/build-aux/hydra/gnu-system.scm @@ -283,9 +283,9 @@ (define (pointless? target) (and (string-contains target "mingw") (not (string=? "x86_64-linux" system)))) - (define (either proc1 proc2) + (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) -- cgit v1.2.3 From 8a4c98889270c163581231692fef64d9433b101f Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sun, 18 Dec 2016 12:09:13 +0100 Subject: build: check-final-inputs-self-contained has an exception for 'bash:include'. Currently 'bash:include' of the final Bash depends on bootstrap stuff. * build-aux/check-final-inputs-self-contained.scm (final-inputs): Add clause for 'bash:include'. * gnu/packages/commencement.scm (bash-final): Add FIXME comment. --- build-aux/check-final-inputs-self-contained.scm | 7 ++++++- gnu/packages/commencement.scm | 1 + 2 files changed, 7 insertions(+), 1 deletion(-) (limited to 'build-aux') 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 @@ (define (final-inputs store system) (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/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index 2431babcad..c7aa59e9a2 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -783,6 +783,7 @@ (define %boot3-inputs (define bash-final ;; Link with `-static-libgcc' to make sure we don't retain a reference ;; to the bootstrap GCC. + ;; FIXME: This depends on 'bootstrap-binaries' via Makefile.in. (package-with-bootstrap-guile (package-with-explicit-inputs (static-libgcc-package bash) %boot3-inputs -- cgit v1.2.3 From a3a27745013f3e5a287de3bf0187b2f72beb6965 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sat, 31 Dec 2016 01:40:35 +0100 Subject: hydra: Remove 'qemu-image' job. As per the discussion at . * build-aux/hydra/gnu-system.scm (demo-os): Remove. (qemu-jobs): Remove 'qemu-image' job. * build-aux/hydra/demo-os.scm: Remove. --- build-aux/hydra/demo-os.scm | 84 ------------------------------------------ build-aux/hydra/gnu-system.scm | 15 +------- 2 files changed, 1 insertion(+), 98 deletions(-) delete mode 100644 build-aux/hydra/demo-os.scm (limited to 'build-aux') 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 -;;; -;;; 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 . - - -;;; -;;; 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 cddda85eac..e406ed94c5 100644 --- a/build-aux/hydra/gnu-system.scm +++ b/build-aux/hydra/gnu-system.scm @@ -125,12 +125,6 @@ (define %cross-targets "arm-linux-gnueabihf" "i686-w64-mingw32")) -(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")) @@ -156,14 +150,7 @@ (define MiB (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)) -- cgit v1.2.3