diff options
Diffstat (limited to 'guix')
| -rw-r--r-- | guix/derivations.scm | 13 | ||||
| -rw-r--r-- | guix/download.scm | 4 | ||||
| -rw-r--r-- | guix/gnu-maintenance.scm | 6 | ||||
| -rw-r--r-- | guix/scripts/pack.scm | 5 | ||||
| -rw-r--r-- | guix/ssh.scm | 1 | ||||
| -rw-r--r-- | guix/store.scm | 26 |
6 files changed, 34 insertions, 21 deletions
diff --git a/guix/derivations.scm b/guix/derivations.scm index 7a5c3bca94..cad77bdb06 100644 --- a/guix/derivations.scm +++ b/guix/derivations.scm @@ -982,12 +982,17 @@ recursively." (define* (build-derivations store derivations #:optional (mode (build-mode normal))) - "Build DERIVATIONS, a list of <derivation> objects or .drv file names, using -the specified MODE." + "Build DERIVATIONS, a list of <derivation> objects, .drv file names, or +derivation/output pairs, using the specified MODE." (build-things store (map (match-lambda + ((? derivation? drv) + (derivation-file-name drv)) ((? string? file) file) - ((and drv ($ <derivation>)) - (derivation-file-name drv))) + (((? derivation? drv) . output) + (cons (derivation-file-name drv) + output)) + (((? string? file) . output) + (cons file output))) derivations) mode)) diff --git a/guix/download.scm b/guix/download.scm index 11984cf671..cd5d61cd13 100644 --- a/guix/download.scm +++ b/guix/download.scm @@ -393,8 +393,8 @@ (module-autoload! (current-module) '(guix base16) '(bytevector->base16-string)) - (list (guix-publish "mirror.hydra.gnu.org") - (guix-publish "berlin.guixsd.org") + (list (guix-publish "ci.guix.gnu.org") + (guix-publish "mirror.hydra.gnu.org") (lambda (file algo hash) ;; 'tarballs.nixos.org' supports several algorithms. (string-append "https://tarballs.nixos.org/" diff --git a/guix/gnu-maintenance.scm b/guix/gnu-maintenance.scm index a434a39f2d..d63d44f629 100644 --- a/guix/gnu-maintenance.scm +++ b/guix/gnu-maintenance.scm @@ -621,9 +621,9 @@ releases are on gnu.org." (false-if-ftp-error (latest-ftp-release (package-upstream-name package) - #:server "mirrors.mit.edu" - #:directory - (string-append "/kde" (dirname (dirname (uri-path uri)))))))) + #:server "ftp.mirrorservice.org" + #:directory (string-append "/sites/ftp.kde.org/pub/kde/" + (dirname (dirname (uri-path uri)))))))) (define (latest-xorg-release package) "Return the latest release of PACKAGE, the name of an X.org package." diff --git a/guix/scripts/pack.scm b/guix/scripts/pack.scm index 5da23e038b..c90b777222 100644 --- a/guix/scripts/pack.scm +++ b/guix/scripts/pack.scm @@ -455,8 +455,9 @@ the image." #$profile #:database #+database #:system (or #$target (utsname:machine (uname))) - #:entry-point (string-append #$profile "/" - #$entry-point) + #:entry-point #$(and entry-point + #~(string-append #$profile "/" + #$entry-point)) #:symlinks '#$symlinks #:compressor '#$(compressor-command compressor) #:creation-time (make-time time-utc 0 1)))))) diff --git a/guix/ssh.scm b/guix/ssh.scm index 2b286a67b2..9b9baf54ea 100644 --- a/guix/ssh.scm +++ b/guix/ssh.scm @@ -33,6 +33,7 @@ #:use-module (srfi srfi-34) #:use-module (srfi srfi-35) #:use-module (ice-9 match) + #:use-module (ice-9 format) #:use-module (ice-9 binary-ports) #:export (open-ssh-session remote-inferior diff --git a/guix/store.scm b/guix/store.scm index 738c0fb5f3..8fa16499f8 100644 --- a/guix/store.scm +++ b/guix/store.scm @@ -1211,16 +1211,22 @@ an arbitrary directory layout in the store without creating a derivation." "Build THINGS, a list of store items which may be either '.drv' files or outputs, and return when the worker is done building them. Elements of THINGS that are not derivations can only be substituted and not built locally. -Return #t on success." - (parameterize ((current-store-protocol-version - (store-connection-version store))) - (if (>= (store-connection-minor-version store) 15) - (build store things mode) - (if (= mode (build-mode normal)) - (build/old store things) - (raise (condition (&store-protocol-error - (message "unsupported build mode") - (status 1)))))))))) +Alternately, an element of THING can be a derivation/output name pair, in +which case the daemon will attempt to substitute just the requested output of +the derivation. Return #t on success." + (let ((things (map (match-lambda + ((drv . output) (string-append drv "!" output)) + (thing thing)) + things))) + (parameterize ((current-store-protocol-version + (store-connection-version store))) + (if (>= (store-connection-minor-version store) 15) + (build store things mode) + (if (= mode (build-mode normal)) + (build/old store things) + (raise (condition (&store-protocol-error + (message "unsupported build mode") + (status 1))))))))))) (define-operation (add-temp-root (store-path path)) "Make PATH a temporary root for the duration of the current session. |
