diff options
-rw-r--r-- | Makefile.am | 34 | ||||
-rw-r--r-- | NEWS | 13 | ||||
-rw-r--r-- | etc/release-manifest.scm | 2 | ||||
-rw-r--r-- | gnu/installer.scm | 25 | ||||
-rw-r--r-- | gnu/packages/package-management.scm | 8 | ||||
-rw-r--r-- | guix/build/syscalls.scm | 7 |
6 files changed, 69 insertions, 20 deletions
diff --git a/Makefile.am b/Makefile.am index c0b2a3ee80..b54288c0fc 100644 --- a/Makefile.am +++ b/Makefile.am @@ -427,6 +427,7 @@ AUX_FILES = \ gnu/packages/aux-files/linux-libre/4.9-x86_64.conf \ gnu/packages/aux-files/pack-audit.c \ gnu/packages/aux-files/python/sanity-check.py \ + gnu/packages/aux-files/python/sanity-check-next.py \ gnu/packages/aux-files/python/sitecustomize.py \ gnu/packages/aux-files/renpy/renpy.in \ gnu/packages/aux-files/run-in-namespace.c @@ -754,20 +755,35 @@ endef # in <https://issues.guix.gnu.org/48963>. Each 'eval' call below creates a # 'make-*-go' phony target that builds the corresponding subset. -MODULES_CORE = guix.scm $(filter-out guix/scripts/%,$(filter guix/%,$(MODULES))) -MODULES_PACKAGES = $(filter gnu/packages/%,$(MODULES)) -MODULES_SYSTEM = gnu.scm $(filter-out gnu/packages/%,$(filter gnu/%,$(MODULES))) -MODULES_CLI = $(filter guix/scripts/%,$(MODULES)) -MODULES_PO = guix/build/po.scm +first_half := \ + gnu/packages/a% gnu/packages/b% gnu/packages/c% gnu/packages/d% \ + gnu/packages/e% gnu/packages/f% gnu/packages/g% gnu/packages/h% \ + gnu/packages/i% gnu/packages/j% gnu/packages/k% gnu/packages/l% + +MODULES_CORE := guix.scm $(filter-out guix/scripts/%,$(filter guix/%,$(MODULES))) +MODULES_PACKAGES1 := $(filter $(first_half),$(MODULES)) +MODULES_PACKAGES2 := $(filter-out $(first_half),$(filter gnu/packages/%,$(MODULES))) +MODULES_PACKAGES := $(MODULES_PACKAGES1) $(MODULES_PACKAGES2) +MODULES_SYSTEM := gnu.scm $(filter-out gnu/packages/%,$(filter gnu/%,$(MODULES))) +MODULES_CLI := $(filter guix/scripts/%,$(MODULES)) +MODULES_PO := guix/build/po.scm $(eval $(call guile-compilation-rule,make-core-go, \ $(MODULES_CORE) guix/config.scm $(dist_noinst_DATA), \ 0)) .PHONY: make-core-go -$(eval $(call guile-compilation-rule,make-packages-go, \ - $(MODULES_PACKAGES) make-core-go, \ +$(eval $(call guile-compilation-rule,make-packages1-go, \ + $(MODULES_PACKAGES1) make-core-go, \ $(words $(MODULES_CORE)))) +.PHONY: make-packages1-go + +$(eval $(call guile-compilation-rule,make-packages2-go, \ + $(MODULES_PACKAGES2) make-core-go make-packages1-go, \ + $(words $(MODULES_CORE) $(MODULES_PACKAGES1)))) +.PHONY: make-packages2-go + +make-packages-go: make-packages1-go make-packages2-go .PHONY: make-packages-go $(eval $(call guile-compilation-rule,make-system-go, \ @@ -990,7 +1006,7 @@ release: dist-with-updated-version all -v1 --no-grafts --fallback # Generate the ISO installation images. for system in $(GUIX_SYSTEM_SUPPORTED_SYSTEMS) ; do \ - GUIX_DISPLAYED_VERSION="`git describe --match=v* | sed -'es/^v//v'`" ; \ + GUIX_DISPLAYED_VERSION="`git describe --match=v* | sed -'es/^v//'`" ; \ image=`$(top_builddir)/pre-inst-env \ guix system image -t iso9660 \ --label="GUIX_$${system}_$(VERSION)" \ @@ -1006,7 +1022,7 @@ release: dist-with-updated-version all done # Generate the VM images. for system in $(GUIX_SYSTEM_VM_SYSTEMS) ; do \ - GUIX_DISPLAYED_VERSION="`git describe --match=v* | sed -'es/^v//v'`" ; \ + GUIX_DISPLAYED_VERSION="`git describe --match=v* | sed -'es/^v//'`" ; \ image=`$(top_builddir)/pre-inst-env \ guix system image -t qcow2 $(GUIX_SYSTEM_VM_IMAGE_FLAGS) \ --save-provenance \ @@ -34,6 +34,7 @@ Please send Guix bug reports to bug-guix@gnu.org. *** ‘guix shell’ has a new ‘--emulate-fhs’ option *** ‘guix shell’ has a new ‘--symlink’ option *** ‘--with-commit’ option now accepts strings returned by ‘git describe’ +*** ‘--with-source’ option now applied recursively *** Align tabular data output by commands like ‘guix package --list-available’ *** Improved ‘guix import go’ importer via a new PEG parser *** Improved Software Heritage downloader @@ -52,6 +53,7 @@ Please send Guix bug reports to bug-guix@gnu.org. *** GNOME is now at version 42 *** TeX Live is now at version 2021 *** Multiple TeX Live trees can now be used via GUIX_TEXMF +*** Python modules are searched in GUIX_PYTHONPATH instead of PYTHONPATH *** Python is now faster thanks to being built with optimizations *** The Rust bootstrap now starts from 1.54 instead of 1.19 *** Most Python 2 packages have been removed @@ -120,7 +122,6 @@ nar-herder, opendht, rasdaemon, samba, seatd, strongswan, wsdd (<https://issues.guix.gnu.org/51425>) *** Fonts can now be discovered in any profile via XDG_DATA_DIRS (<https://issues.guix.gnu.org/31403>) -*** Python modules are searched in GUIX_PYTHONPATH instead of PYTHONPATH *** Various Python reproducibility fixes *** The installer now supports MSDOS disk labels on UEFI systems (<https://issues.guix.gnu.org/47889>) @@ -128,10 +129,10 @@ nar-herder, opendht, rasdaemon, samba, seatd, strongswan, wsdd (<https://issues.guix.gnu.org/48419>) *** The installer no longer crashes when deleting a free space partition *** Emacs handles major upgrades better without a re-login - (<https://bugs.gnu.org/47458>) + (<https://issues.guix.gnu.org/47458>) *** The bootloader configuration now accepts multiple targets - (<https://issues.guix.gnu.org/40997>.) -*** A file system mount point is always created when ‘create?’ is true + (<https://issues.guix.gnu.org/40997>) +*** File system mount point is always created when ‘create?’ is true (<https://issues.guix.gnu.org/40158>) *** Build the man database only if ‘man-db’ is in the profile *** gdk-pixbuf now discovers pixbuf loaders via a search path @@ -142,10 +143,12 @@ nar-herder, opendht, rasdaemon, samba, seatd, strongswan, wsdd (https://issues.guix.gnu.org/38838) *** ‘chfn’ can now change the user's full name (https://issues.guix.gnu.org/52539) -*** Gnome settings Bluetooth panel is now working +*** GNOME Settings Bluetooth panel is now working (https://issues.guix.gnu.org/32166) *** Inferiors are now caching store connections (https://issues.guix.gnu.org/48007) +*** Retry downloads when a substitute has become unavailable + (https://issues.guix.gnu.org/57978) *** The installer doesn't segfault when removing an extended partition *** The installer doesn't ship an older Guix revision (https://issues.guix.gnu.org/53210) diff --git a/etc/release-manifest.scm b/etc/release-manifest.scm index 8ce8b7fce6..3ef3483300 100644 --- a/etc/release-manifest.scm +++ b/etc/release-manifest.scm @@ -61,7 +61,7 @@ TARGET." ;; XXX: For now we are less demanding of "i586-gnu". (map specification->package '("coreutils" "grep" "findutils" "gawk" "make" - "gcc-toolchain" "tar" "xz"))) + #;"gcc-toolchain" "tar" "xz"))) (define %system-packages ;; Key packages proposed by the Guix System installer. diff --git a/gnu/installer.scm b/gnu/installer.scm index 0e40b81224..d9b71e2ca8 100644 --- a/gnu/installer.scm +++ b/gnu/installer.scm @@ -27,6 +27,8 @@ #:use-module (guix utils) #:use-module (guix ui) #:use-module ((guix self) #:select (make-config.scm)) + #:use-module (guix describe) + #:use-module (guix channels) #:use-module (guix packages) #:use-module (guix git-download) #:use-module (gnu installer utils) @@ -52,6 +54,7 @@ #:use-module (gnu system locale) #:use-module (ice-9 match) #:use-module (srfi srfi-1) + #:use-module (web uri) #:export (installer-program)) (define module-to-import? @@ -315,6 +318,25 @@ selected keymap." ((installer-final-page current-installer) result prev-steps)))))))) +(define (provenance-sexp) + "Return an sexp representing the currently-used channels, for logging +purposes." + (match (match (current-channels) + (() (and=> (repository->guix-channel (dirname (current-filename))) + list)) + (channels channels)) + (#f + (warning (G_ "cannot determine installer provenance~%")) + 'unknown) + ((channels ...) + (map (lambda (channel) + (let* ((uri (string->uri (channel-url channel))) + (url (if (or (not uri) (eq? 'file (uri-scheme uri))) + "local checkout" + (channel-url channel)))) + `(channel ,(channel-name channel) ,url ,(channel-commit channel)))) + channels)))) + (define (installer-program) "Return a file-like object that runs the given INSTALLER." (define init-gettext @@ -429,6 +451,9 @@ selected keymap." (define current-installer newt-installer) (define steps (#$steps current-installer)) + (installer-log-line "installer provenance: ~s" + '#$(provenance-sexp)) + (dynamic-wind (installer-init current-installer) (lambda () diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index d25e4b999c..b5b6b3875c 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -164,9 +164,9 @@ ;; Latest version of Guix, which may or may not correspond to a release. ;; Note: the 'update-guix-package.scm' script expects this definition to ;; start precisely like this. - (let ((version "1.3.0") - (commit "682639c107908426fe6bf0a1b8404b98b7820290") - (revision 32)) + (let ((version "1.4.0rc1") + (commit "020184fd39c6244e0336db3c608d3946b8d20490") + (revision 0)) (package (name "guix") @@ -182,7 +182,7 @@ (commit commit))) (sha256 (base32 - "1ap8hfq46ncp7azhdvc9s64a9q9y74xfqpgfwlcgz6sw82a09yh0")) + "1489fdxdb86shx6bnfs8kihhvw44xqiv6fkx3b67cyw1dakxh1m4")) (file-name (string-append "guix-" version "-checkout")))) (build-system gnu-build-system) (arguments diff --git a/guix/build/syscalls.scm b/guix/build/syscalls.scm index 2a12567b15..0358960ff5 100644 --- a/guix/build/syscalls.scm +++ b/guix/build/syscalls.scm @@ -447,9 +447,14 @@ If an error occurs while creating the binding, defer the error report until the returned procedure is called." (catch #t (lambda () + ;; Note: When #:library is set, try it first and fall back to libc + ;; proper. This is because libraries like libutil.so have been subsumed + ;; by libc.so with glibc >= 2.34. (let ((ptr (dynamic-func name (if library - (dynamic-link library) + (or (false-if-exception + (dynamic-link library)) + (dynamic-link)) (dynamic-link))))) ;; The #:return-errno? facility was introduced in Guile 2.0.12. (pointer->procedure return-type ptr argument-types |