summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2022-12-05 15:51:04 +0100
committerLudovic Courtès <ludo@gnu.org>2022-12-05 15:51:04 +0100
commit7fde16671523f3fc3bda0c07a47a1fa33f8675b1 (patch)
treeeb4de00690836b426870ddf162d8ddd16502cb81
parentbcbf9713dae06e01d97ff61bc87a9f4d91571bac (diff)
parent241772d5c068fb7c4fa69d4673174254742eb410 (diff)
Merge branch 'version-1.4.0'
-rw-r--r--Makefile.am34
-rw-r--r--NEWS13
-rw-r--r--etc/release-manifest.scm2
-rw-r--r--gnu/installer.scm25
-rw-r--r--gnu/packages/package-management.scm8
-rw-r--r--guix/build/syscalls.scm7
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 \
diff --git a/NEWS b/NEWS
index 27ac11c13a..c35f1266cf 100644
--- a/NEWS
+++ b/NEWS
@@ -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