(use-modules (guix config)
(guix store)
(guix grafts)
+ (guix profiles)
(guix packages)
(guix derivations)
(guix monads)
((guix licenses) #:select (gpl3+))
((guix utils) #:select (%current-system))
((guix scripts system) #:select (read-operating-system))
+ ((guix scripts pack)
+ #:select (lookup-compressor self-contained-tarball))
(gnu packages)
(gnu packages gcc)
(gnu packages base)
;; chain.)
(list gcc-4.8 gcc-4.9 gcc-5 glibc binutils
gmp mpfr mpc coreutils findutils diffutils patch sed grep
- gawk gnu-gettext hello guile-2.0 zlib gzip xz
+ gawk gnu-gettext hello guile-2.0 guile-2.2 zlib gzip xz
%bootstrap-binaries-tarball
%binutils-bootstrap-tarball
(%glibc-bootstrap-tarball)
(run-with-store store
(mbegin %store-monad
(set-guile-for-build (default-guile))
- (self-contained-tarball))
+ (>>= (profile-derivation (packages->manifest (list guix)))
+ (lambda (profile)
+ (self-contained-tarball "guix-binary" profile
+ #:localstatedir? #t
+ #:compressor
+ (lookup-compressor "xz")))))
#:system system))))
(define job-name
;; Build everything, including replacements.
(let ((all (fold-packages
(lambda (package result)
- (if (package-replacement package)
- (cons* package
- (package-replacement package)
- result)
- (cons package result)))
+ (cond ((package-replacement package)
+ (cons* package
+ (package-replacement package)
+ result))
+ ((package-superseded package)
+ result) ;don't build it
+ (else
+ (cons package result))))
'()))
(job (lambda (package)
(package->job store package