aboutsummaryrefslogtreecommitdiff
path: root/gnu/services/spice.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/services/spice.scm')
0 files changed, 0 insertions, 0 deletions
eam-origin origin)) (define file-name (string-append #$output "/" #$file-name)) (define profile #+(profile (content (packages->manifest (list disarchive))))) (mkdir-p (dirname file-name)) (setenv "PATH" (string-append profile "/bin")) (setenv "GUILE_LOAD_PATH" (string-append profile "/share/guile/site/" (effective-version))) (setenv "GUILE_LOAD_COMPILED_PATH" (string-append profile "/lib/guile/" (effective-version) "/site-ccache")) (guard (c ((invoke-error? c) ;; Sometimes Disarchive fails with "could not find Gzip ;; compressor". When that happens, produce an empty ;; directory instead of failing. (report-invoke-error c) (delete-file file-name))) (with-output-to-file file-name (lambda () ;; Disarchive records the tarball name in its output. Thus, ;; strip the hash from TARBALL. (let ((short-name (strip-store-file-name tarball))) (symlink tarball short-name) (invoke "disarchive" "disassemble" short-name)))))))) (computed-file (match (origin-actual-file-name origin) ((? string? str) (string-append str ".dis")) (#f "anonymous-tarball.dis")) build)) ;; The manifest containing Disarchive data. (let* ((origins (all-origins)) (disarchives (filter-map (lambda (origin) (and (tarball-origin? origin) ;; Dismiss origins with (sha256 #f) such as that of ;; IceCat. (and=> (origin-hash origin) content-hash-value) ;; FIXME: Exclude the Chromium tarball because it's ;; huge and "disarchive disassemble" exceeds the ;; max-silent timeout. (not (string-prefix? "chromium-" (origin-actual-file-name origin))) (manifest-entry (name (string-append (origin-actual-file-name origin) ".dis")) (version "0") (item (origin->disarchive origin))))) origins))) (manifest (cons (manifest-entry (name "disarchive-collection") (version (number->string (length origins))) (item (directory-union "disarchive-collection" (map manifest-entry-item disarchives) #:copy? #t))) ;; Cuirass can distribute derivation builds to build machines if and ;; only if it has one "job" per derivation. Thus, add them here in ;; addition to "disarchive-collection". disarchives)))