Merge branch 'version-1.2.0'

This commit is contained in:
Ludovic Courtès 2020-11-12 10:47:25 +01:00
commit 07914def98
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5
33 changed files with 53124 additions and 31885 deletions

131
NEWS
View file

@ -11,6 +11,137 @@ Copyright © 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
Please send Guix bug reports to bug-guix@gnu.org.
* Changes in 1.2.0 (since 1.1.0)
** Package management
*** guix pull now crytographically authenticates channels
*** guix describe -f channels now shows “channel introductions”
*** guix describe -f channels-sans-intro omits channel introductions
*** New guix git authenticate command, to authenticate Git checkouts
*** guix pull and guix system reconfigure detect attempts to downgrade
*** New --allow-downgrades option for guix pull and guix system
*** Guix build time reduced thanks to Guile 3.0.4s “baseline compiler”
*** New --with-debug-info package transformation option
*** New --with-c-toolchain package transformation option
*** New --without-tests package transformation option
*** --with-input & co. now also apply to implicit dependencies
*** Package transformation options are now recorded in profiles
*** New fakechroot “execution engine” for packs produced by guix pack -RR
*** New --cache-bypass-threshold option for guix publish
*** New --diff option for guix challenge, to compare substitutes
*** New --exclude option for guix lint, to exclude checkers
*** New check-for-collisions checker in guix lint
*** All of Guix and Guix System now runs on Guile 3.0
*** guix pull and --with-git-url now support authenticated SSH repos
*** guix pull now honors $http_proxy and $https_proxy
*** New --path option for guix graph, showing the shortest path
*** guix repl can now be passed a script to execute
*** guix help finally shows command descriptions
*** guix install etc. no longer list items to download by default
*** guix search etc. now automatically invoke the pager
*** New --hash option for guix hash
*** New --list-formats option for guix describe
*** New “Getting Started” section in the manual
** Distribution
*** Bootstrap binary seeds reduced to 60 MiB on x86_64/i686
*** New --target option for guix system, for cross-compilation
*** New --image-type option for guix system disk-image
*** New --label option for guix system disk-image
*** Guix System can now boot from a Btrfs subvolume
*** New hurd field of operating-system, for GNU/Hurd support
*** Guix System can be cross-compiled to GNU/Hurd with --target=i586-pc-gnu
*** New hurd-vm-service-type to spawn a GNU/Hurd VM on GNU/Linux
*** /etc/guix/acl on Guix System is now built from the OS configuration
*** rottlog-service-type is now part of %base-services
*** Linux-libre modules are now gzip-compressed
*** The efivarfs file system is now part of %base-file-systems
*** mcron job specs are now statically checked at OS build time
*** swap-devices field of operating-system can contains UUIDs and labels
*** Graphical installer uses UUIDs for unencrypted swap partitions
*** Graphical installer now supports NTFS file systems
*** New services
autossh, ganeti, gmnisrv, guix-build-coordinator,
guix-build-coordinator-agent, guix-build-coordinator-queue-builds, hostapd,
hurd-console, hurd-getty, hurd-vm, lxqt, rshiny, secret-service,
simulated-wifi, udev-rules, unattended-upgrade, webssh, zram
*** XXX new packages
*** XXX package updates
** Programming interfaces
*** New maven-build-system, for packages built with Maven
*** haskell-build-system now always adds a “static” output
*** New (gnu image) module, to build system images
*** New (guix git-authenticate) module, for Git checkout authentication
*** New (guix openpgp) module with a minimal OpenPGP implementation
*** New (guix transformations) module, for package transformations
*** New (gnu services hurd) module providing GNU/Hurd services
*** (guix json) removed in favor of Guile-JSONs (json) module
*** (guix zlib) and (guix lzlib) removed in favor of Guile-{Zlib,Lzlib}
*** local-file warns about non-literal relative file names
*** Daemon now supports more hash algorithms: SHA3 and BLAKE2s
*** New <content-hash> record type for use in origin
*** New let-system for in (guix gexp), for system-dependent code
*** New lowerable <profile> record type in (guix profiles)
*** (gnu build secret-service) can share secrets with a guest OS
*** “Programming Interface” section of the manual greatly expounded
** Noteworthy bug fixes
*** guix pull now shows a progress bar while fetching from Git
(<https://bugs.gnu.org/39260>)
*** guix copy and guix deploy show a progress bar while copying
*** Bootloader messages are now localized
(<https://issues.guix.gnu.org/35394>)
*** guix system reconfigure now starts services not currently running
(<https://bugs.gnu.org/43720>)
*** Offloading and copying small items is now much faster
(<https://issues.guix.gnu.org/43340>)
*** GCC switched back to C_INCLUDE_PATH & co. from CPATH
(<https://bugs.gnu.org/30756>)
*** Graphical installer no longer hangs while connecting to WiFi network
(<https://issues.guix.gnu.org/40682>)
*** GNU Aspell truly honors ASPELL_DICT_DIR (<https://bugs.gnu.org/29686>)
*** Fix overly aggressive memoization of “commencement” packages
(<https://bugs.gnu.org/40482>)
*** Duplicate /etc entries are now reported (<https://bugs.gnu.org/40729>)
*** guix pack -R wrapper correctly reports exit code
(<https://bugs.gnu.org/40816>)
*** Fix time travel to pre-Guile 3.0 revisions
(<https://bugs.gnu.org/41028>)
*** package-grafts returns grafts for all the relevant outputs
(<https://bugs.gnu.org/41796>)
*** guix pull and related commands authenticate Git checkouts
(<https://bugs.gnu.org/22883>)
*** Fix GNU libstdc++ misconfiguration in recent gcc-toolchain versions
(<https://bugs.gnu.org/42392>)
*** guix pack -R wraps propagated inputs as well
(<https://bugs.gnu.org/42510>)
*** guix pack -R wrapper leaves root available to child processes
(<https://bugs.gnu.org/44261>)
*** lib/guix/package.cache generated by guix pull is now bit-reproducible
(<https://bugs.gnu.org/42009>)
*** Graphical installer now properly detects disks containing an LVM partition
(<https://issues.guix.gnu.org/42683>)
*** Fix possible crash when copying store items over SSH
(<https://bugs.gnu.org/42740>)
*** gcc is now a “deprecated” alias for gcc-toolchain
(<https://bugs.gnu.org/43303>)
*** package-input-rewriting & co. no longer yield unnecessary rebuilds
(<https://bugs.gnu.org/42156>)
*** Offloading better normalizes build machine load
(<https://issues.guix.gnu.org/43773>)
*** guix build --check now honors --rounds
(<https://issues.guix.gnu.org/40144>)
*** guix-install.sh now installs shell completion files
(<https://bugs.gnu.org/43744>)
*** guix-install.sh now warns about lack of nscd
(<https://bugs.gnu.org/43744>)
** Native language support
*** TODO populate
* Changes in 1.1.0 (since 1.0.1)
** Package management
*** New guix deploy command to deploy several machines at once

View file

@ -49,6 +49,12 @@ (define %base-packages
'("bootstrap-tarballs" "gcc-toolchain" "nss-certs"
"openssh" "emacs" "vim" "python" "guile" "guix")))
(define %base-packages/hurd
;; XXX: For now we are less demanding of "i586-gnu".
(map specification->package
'("coreutils" "grep" "findutils" "gawk" "make"
"gcc-toolchain" "tar" "xz")))
(define %system-packages
;; Key packages proposed by the Guix System installer.
(append (map specification->package
@ -94,7 +100,9 @@ (define %base-manifest
(manifest
(append-map (lambda (system)
(map (cut package->manifest-entry* <> system)
%base-packages))
(if (string=? system "i586-gnu")
%base-packages/hurd
%base-packages)))
%hydra-supported-systems)))
(define %system-manifest

View file

@ -802,14 +802,14 @@ dist_patch_DATA = \
%D%/packages/patches/audiofile-CVE-2015-7747.patch \
%D%/packages/patches/audiofile-CVE-2018-13440.patch \
%D%/packages/patches/audiofile-CVE-2018-17095.patch \
%D%/packages/patches/audiofile-Check-the-number-of-coefficients.patch \
%D%/packages/patches/audiofile-check-number-of-coefficients.patch \
%D%/packages/patches/audiofile-Fail-on-error-in-parseFormat.patch \
%D%/packages/patches/audiofile-Fix-index-overflow-in-IMA.cpp.patch \
%D%/packages/patches/audiofile-Fix-multiply-overflow-sfconvert.patch \
%D%/packages/patches/audiofile-Fix-overflow-in-MSADPCM-decodeSam.patch \
%D%/packages/patches/audiofile-division-by-zero-BlockCodec-runPull.patch \
%D%/packages/patches/audiofile-hurd.patch \
%D%/packages/patches/audiofile-signature-of-multiplyCheckOverflow.patch \
%D%/packages/patches/audiofile-multiply-overflow.patch \
%D%/packages/patches/audiofile-overflow-in-MSADPCM.patch \
%D%/packages/patches/audiofile-division-by-zero.patch \
%D%/packages/patches/audiofile-hurd.patch \
%D%/packages/patches/audiofile-function-signature.patch \
%D%/packages/patches/automake-skip-amhello-tests.patch \
%D%/packages/patches/avahi-localstatedir.patch \
%D%/packages/patches/avogadro-boost148.patch \
@ -1196,6 +1196,7 @@ dist_patch_DATA = \
%D%/packages/patches/jsoncpp-fix-inverted-case.patch \
%D%/packages/patches/julia-SOURCE_DATE_EPOCH-mtime.patch \
%D%/packages/patches/kdbusaddons-kinit-file-name.patch \
%D%/packages/patches/libffi-3.3-powerpc-fixes.patch \
%D%/packages/patches/libvirt-create-machine-cgroup.patch \
%D%/packages/patches/libziparchive-add-includes.patch \
%D%/packages/patches/localed-xorg-keyboard.patch \
@ -1525,7 +1526,7 @@ dist_patch_DATA = \
%D%/packages/patches/python-paste-remove-timing-test.patch \
%D%/packages/patches/python-pycrypto-CVE-2013-7459.patch \
%D%/packages/patches/python-pycrypto-time-clock.patch \
%D%/packages/patches/python2-pygobject-2-gi-info-type-error-domain.patch \
%D%/packages/patches/python2-pygobject-2-deprecation.patch \
%D%/packages/patches/python-pygpgme-fix-pinentry-tests.patch \
%D%/packages/patches/python-robotframework-source-date-epoch.patch \
%D%/packages/patches/python-shouldbe-0.1.2-cpy3.8.patch \

View file

@ -37,6 +37,7 @@ (define-module (gnu machine ssh)
#:use-module (guix ssh)
#:use-module (guix store)
#:use-module (guix utils)
#:use-module ((guix self) #:select (make-config.scm))
#:use-module (gcrypt pk-crypto)
#:use-module (ice-9 format)
#:use-module (ice-9 match)
@ -353,8 +354,9 @@ (define bootable-kernel-arguments
(define remote-exp
(with-extensions (list guile-gcrypt)
(with-imported-modules (source-module-closure '((guix config)
(guix profiles)))
(with-imported-modules (source-module-closure
`(((guix config) => ,(make-config.scm))
(guix profiles)))
#~(begin
(use-modules (guix config)
(guix profiles)

View file

@ -862,16 +862,16 @@ (define-public audiofile
"audiofile-Fix-index-overflow-in-IMA.cpp.patch"
;; CVE-2017-6827, CVE-2017-6828, CVE-2017-6832, CVE-2017-6835,
;; CVE-2017-6837:
"audiofile-Check-the-number-of-coefficients.patch"
"audiofile-check-number-of-coefficients.patch"
;; CVE-2017-6839:
"audiofile-Fix-overflow-in-MSADPCM-decodeSam.patch"
"audiofile-overflow-in-MSADPCM.patch"
;; CVE-2017-6830, CVE-2017-6834, CVE-2017-6836, CVE-2017-6838:
"audiofile-Fix-multiply-overflow-sfconvert.patch"
"audiofile-signature-of-multiplyCheckOverflow.patch"
"audiofile-multiply-overflow.patch"
"audiofile-function-signature.patch"
;; CVE-2017-6831:
"audiofile-Fail-on-error-in-parseFormat.patch"
;; CVE-2017-6833:
"audiofile-division-by-zero-BlockCodec-runPull.patch"
"audiofile-division-by-zero.patch"
"audiofile-CVE-2018-13440.patch"
"audiofile-CVE-2018-17095.patch"))))
(properties `((lint-hidden-cve . ("CVE-2017-6829"

View file

@ -539,19 +539,20 @@ (define* (cross-libc target
;; FIXME: 'static-bash' should really be an input, not a native input, but
;; to do that will require building an intermediate cross libc.
(inputs '())
(inputs (if (hurd-triplet? target)
`(;; TODO: move to glibc in the next rebuild cycle
("hurd-mach-print.patch"
,(search-patch "glibc-hurd-mach-print.patch"))
("hurd-gettyent.patch"
,(search-patch "glibc-hurd-gettyent.patch")))
'()))
(native-inputs `(("cross-gcc" ,xgcc)
("cross-binutils" ,xbinutils)
,@(if (hurd-triplet? target)
`(("cross-mig"
,@(assoc-ref (package-native-inputs xheaders)
"cross-mig"))
;; TODO: move to glibc in the next rebuild cycle
("hurd-mach-print.patch"
,@(search-patches "glibc-hurd-mach-print.patch"))
("hurd-gettyent.patch"
,@(search-patches "glibc-hurd-gettyent.patch")))
"cross-mig")))
'())
,@(package-inputs libc) ;FIXME: static-bash
,@(package-native-inputs libc))))))

View file

@ -698,8 +698,7 @@ (define-public python2-pygobject-2
(sha256
(base32
"0nkam61rsn7y3wik3vw46wk5q2cjfh2iph57hl9m39rc8jijb7dv"))
(patches (search-patches
"python2-pygobject-2-gi-info-type-error-domain.patch"))))
(patches (search-patches "python2-pygobject-2-deprecation.patch"))))
(build-system gnu-build-system)
(native-inputs
`(("which" ,which)

View file

@ -1,8 +1,8 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013, 2014 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2012, 2013, 2014, 2020 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014 Federico Beffa <beffa@fbengineering.ch>
;;; Copyright © 2015, 2019 Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de>
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2017, 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2017 Ben Woodcroft <donttrustben@gmail.com>
;;; Copyright © 2017, 2019, 2020 Marius Bakke <marius@gnu.org>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
@ -55,7 +55,25 @@ (define-public libffi
(arguments
`(;; Prevent the build system from passing -march and -mtune to the
;; compiler. See "ax_cc_maxopt.m4" and "ax_gcc_archflag.m4".
#:configure-flags '("--enable-portable-binary" "--without-gcc-arch")))
#:configure-flags '("--enable-portable-binary" "--without-gcc-arch")
;; TODO: Inline patch on next rebuild cycle.
,@(if (string-prefix? "powerpc-" (or (%current-target-system)
(%current-system)))
'(#:phases (modify-phases %standard-phases
(add-after 'unpack 'apply-patch
(lambda* (#:key inputs #:allow-other-keys)
(let ((patch (assoc-ref inputs
"powerpc-patch")))
(invoke "patch" "--batch" "-p1"
"-i" patch))))))
'())))
(inputs
(if (string-prefix? "powerpc-" (or (%current-target-system)
(%current-system)))
`(("powerpc-patch" ,@(search-patches
"libffi-3.3-powerpc-fixes.patch")))
'()))
(outputs '("out" "debug"))
(synopsis "Foreign function call interface library")
(description

View file

@ -0,0 +1,138 @@
This is a combination of the following 4 commits:
https://github.com/libffi/libffi/commit/01a75ed76ea7e57f1b7a5c183e2b1e890e6aa0fd.patch
https://github.com/libffi/libffi/commit/6663047f56c2932a6b10a790f4ac6666dd181326.patch
https://github.com/libffi/libffi/commit/e50b9ef8b910fa642ef158f6642e60d54d7ad740.patch
https://github.com/libffi/libffi/commit/4d6d2866ae43e55325e8ee96561221804602cd7a.patch
From 2dbfa92a95e3bacabca431b89d2a5925e48a0e40 Mon Sep 17 00:00:00 2001
From: Sergei Trofimovich <slyfox@gentoo.org>
Date: Thu, 28 Nov 2019 12:42:41 +0000
powerpc: fix build failure on power7 and older (#532)
Build failure looks as:
```
libtool: compile: powerpc-unknown-linux-gnu-gcc \
-O2 -mcpu=powerpc -mtune=powerpc -pipe ... -c src/powerpc/ffi.c ...
In file included from src/powerpc/ffi.c:33:
src/powerpc/ffi_powerpc.h:65:9: error: '__int128' is not supported on this target
65 | typedef __int128 float128;
| ^~~~~~~~
```
The fix avoids using __int128 in favour of aligned char[16].
Closes: https://github.com/libffi/libffi/issues/531
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
Address platforms with no __int128.
powerpc64: Use memcpy to help platforms with no __int128. (#534)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Update powerpc sysv assembly for ffi_powerpc.h changes (#541)
Some of the flag bits were moved when adding powerpc64 vector support.
Fixes #536
---
src/powerpc/ffi_linux64.c | 12 ++++++------
src/powerpc/ffi_powerpc.h | 2 +-
src/powerpc/sysv.S | 12 +++++-------
3 files changed, 12 insertions(+), 14 deletions(-)
diff --git a/src/powerpc/ffi_linux64.c b/src/powerpc/ffi_linux64.c
index de0d033..4d50878 100644
--- a/src/powerpc/ffi_linux64.c
+++ b/src/powerpc/ffi_linux64.c
@@ -547,9 +547,9 @@ ffi_prep_args64 (extended_cif *ecif, unsigned long *const stack)
if (next_arg.ul == gpr_end.ul)
next_arg.ul = rest.ul;
if (vecarg_count < NUM_VEC_ARG_REGISTERS64 && i < nfixedargs)
- *vec_base.f128++ = **p_argv.f128;
+ memcpy (vec_base.f128++, *p_argv.f128, sizeof (float128));
else
- *next_arg.f128 = **p_argv.f128;
+ memcpy (next_arg.f128, *p_argv.f128, sizeof (float128));
if (++next_arg.f128 == gpr_end.f128)
next_arg.f128 = rest.f128;
vecarg_count++;
@@ -680,9 +680,9 @@ ffi_prep_args64 (extended_cif *ecif, unsigned long *const stack)
{
if (vecarg_count < NUM_VEC_ARG_REGISTERS64
&& i < nfixedargs)
- *vec_base.f128++ = *arg.f128++;
+ memcpy (vec_base.f128++, arg.f128, sizeof (float128));
else
- *next_arg.f128 = *arg.f128++;
+ memcpy (next_arg.f128, arg.f128++, sizeof (float128));
if (++next_arg.f128 == gpr_end.f128)
next_arg.f128 = rest.f128;
vecarg_count++;
@@ -986,9 +986,9 @@ ffi_closure_helper_LINUX64 (ffi_cif *cif,
do
{
if (pvec < end_pvec && i < nfixedargs)
- *to.f128 = *pvec++;
+ memcpy (to.f128, pvec++, sizeof (float128));
else
- *to.f128 = *from.f128;
+ memcpy (to.f128, from.f128, sizeof (float128));
to.f128++;
from.f128++;
}
diff --git a/src/powerpc/ffi_powerpc.h b/src/powerpc/ffi_powerpc.h
index 5ee2a70..8e2f2f0 100644
--- a/src/powerpc/ffi_powerpc.h
+++ b/src/powerpc/ffi_powerpc.h
@@ -62,7 +62,7 @@ typedef _Float128 float128;
#elif defined(__FLOAT128__)
typedef __float128 float128;
#else
-typedef __int128 float128;
+typedef char float128[16] __attribute__((aligned(16)));
#endif
void FFI_HIDDEN ffi_closure_SYSV (void);
diff --git a/src/powerpc/sysv.S b/src/powerpc/sysv.S
index 1474ce7..df97734 100644
--- a/src/powerpc/sysv.S
+++ b/src/powerpc/sysv.S
@@ -104,17 +104,16 @@ ENTRY(ffi_call_SYSV)
bctrl
/* Now, deal with the return value. */
- mtcrf 0x01,%r31 /* cr7 */
+ mtcrf 0x03,%r31 /* cr6-cr7 */
bt- 31,L(small_struct_return_value)
bt- 30,L(done_return_value)
#ifndef __NO_FPRS__
bt- 29,L(fp_return_value)
#endif
stw %r3,0(%r30)
- bf+ 28,L(done_return_value)
+ bf+ 27,L(done_return_value)
stw %r4,4(%r30)
- mtcrf 0x02,%r31 /* cr6 */
- bf 27,L(done_return_value)
+ bf 26,L(done_return_value)
stw %r5,8(%r30)
stw %r6,12(%r30)
/* Fall through... */
@@ -145,10 +144,9 @@ L(done_return_value):
#ifndef __NO_FPRS__
L(fp_return_value):
.cfi_restore_state
- bf 28,L(float_return_value)
+ bf 27,L(float_return_value)
stfd %f1,0(%r30)
- mtcrf 0x02,%r31 /* cr6 */
- bf 27,L(done_return_value)
+ bf 26,L(done_return_value)
stfd %f2,8(%r30)
b L(done_return_value)
L(float_return_value):
--
2.26.0

View file

@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017 Peter Mikkelsen <petermikkelsen10@gmail.com>
;;; Copyright © 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2020 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -21,6 +22,8 @@ (define-module (gnu services audio)
#:use-module (guix gexp)
#:use-module (gnu services)
#:use-module (gnu services shepherd)
#:use-module (gnu system shadow)
#:use-module (gnu packages admin)
#:use-module (gnu packages mpd)
#:use-module (guix records)
#:use-module (ice-9 match)
@ -135,19 +138,19 @@ (define (mpd-file-name config file)
(define (mpd-shepherd-service config)
(shepherd-service
(documentation "Run the MPD (Music Player Daemon)")
(requirement '(user-processes))
(provision '(mpd))
(start #~(make-forkexec-constructor
(list #$(file-append mpd "/bin/mpd")
"--no-daemon"
#$(mpd-config->file config))
#:pid-file #$(mpd-file-name config "pid")
#:environment-variables
;; Required to detect PulseAudio when run under a user account.
'(#$(string-append
"XDG_RUNTIME_DIR=/run/user/"
(number->string
(list (string-append
"XDG_RUNTIME_DIR=/run/user/"
(number->string
(passwd:uid
(getpwnam (mpd-configuration-user config))))))
(getpwnam #$(mpd-configuration-user config))))))
#:log-file #$(mpd-file-name config "log")))
(stop #~(make-kill-destructor))))
@ -158,10 +161,26 @@ (define (mpd-service-activation config)
(define %user
(getpw #$(mpd-configuration-user config)))
(let ((directory #$(mpd-file-name config "")))
(let ((directory #$(mpd-file-name config ".mpd")))
(mkdir-p directory)
(chown directory (passwd:uid %user) (passwd:gid %user))))))
(define %mpd-accounts
;; Default account and group for MPD.
(list (user-group (name "mpd") (system? #t))
(user-account
(name "mpd")
(group "mpd")
(system? #t)
(comment "Music Player Daemon (MPD) user")
;; Note: /var/run/mpd hosts one sub-directory per user, of which
;; /var/run/mpd/mpd corresponds to the "mpd" user.
(home-directory "/var/run/mpd/mpd")
(shell (file-append shadow "/sbin/nologin")))))
(define mpd-service-type
(service-type
(name 'mpd)
@ -169,6 +188,8 @@ (define mpd-service-type
(extensions
(list (service-extension shepherd-root-service-type
(compose list mpd-shepherd-service))
(service-extension account-service-type
(const %mpd-accounts))
(service-extension activation-service-type
mpd-service-activation)))
(default-value (mpd-configuration))))

View file

@ -224,6 +224,12 @@ (define builder
(use-modules (guix build utils)
(gnu build vm))
;; Allow non-ASCII file names--e.g., 'nss-certs'--to be decoded
;; by 'estimated-partition-size' below.
(setenv "GUIX_LOCPATH"
#+(file-append glibc-utf8-locales "/lib/locale"))
(setlocale LC_ALL "en_US.utf8")
(let* ((native-inputs
'#+(list qemu (canonical-package coreutils)))
(linux (string-append
@ -655,7 +661,14 @@ (define root-uuid
'dce)))
(let* ((os (operating-system (inherit os)
(let* ((os (operating-system
(inherit os)
;; As in 'virtualized-operating-system', use BIOS-style GRUB.
(bootloader (bootloader-configuration
(bootloader grub-bootloader)
(target "/dev/vda")))
;; Assume we have an initrd with the whole QEMU shebang.
;; Force our own root file system. Refer to it by UUID so that

View file

@ -28,9 +28,7 @@ (define-module (gnu tests audio)
(define %mpd-os
(simple-operating-system
(service mpd-service-type
(mpd-configuration
(user "root")))))
(service mpd-service-type)))
(define (run-mpd-test)
"Run tests in %mpd-os, which has mpd running."
@ -62,9 +60,14 @@ (define marionette
(start-service 'mpd))
marionette))
(test-assert "mpc connect"
(test-assert "mpd listening"
;; Wait until mpd is actually listening before spawning 'mpc'.
(wait-for-tcp-port 6600 marionette))
(test-equal "mpc connect"
0
(marionette-eval
'(zero? (system #$(file-append mpd-mpc "/bin/mpc")))
'(system* #$(file-append mpd-mpc "/bin/mpc"))
marionette))
(test-end)

View file

@ -27,8 +27,9 @@ (define-module (gnu tests docker)
#:use-module (gnu services networking)
#:use-module (gnu services docker)
#:use-module (gnu services desktop)
#:use-module (gnu packages docker)
#:use-module ((gnu packages base) #:select (glibc))
#:use-module (gnu packages guile)
#:use-module (gnu packages docker)
#:use-module (guix gexp)
#:use-module (guix grafts)
#:use-module (guix monads)
@ -206,7 +207,7 @@ (define vm
;; load' must be able to store the whole image into memory, hence the
;; huge memory requirements. We should avoid the volatile-root setup
;; instead.
(memory-size 3500)
(memory-size 4000)
(port-forwardings '())))
(define test
@ -298,5 +299,9 @@ (define %test-docker-system
(description "Run a system image as produced by @command{guix system
docker-image} inside Docker.")
(value (with-monad %store-monad
(>>= (system-docker-image (simple-operating-system))
(>>= (system-docker-image (operating-system
(inherit (simple-operating-system))
;; Use locales for a single libc to
;; reduce space requirements.
(locale-libcs (list glibc))))
run-docker-system-test)))))

View file

@ -404,7 +404,7 @@ (define client-marionette
(test-end)
(exit (= (test-runner-fail-count (test-runner-current)) 0)))))
(gexp->derivation "nfs-server-test" test))
(gexp->derivation "nfs-root-fs-test" test))
(define %test-nfs-root-fs
(system-test

View file

@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017, 2018 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2017, 2018, 2020 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2017, 2018 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2018 Christopher Baines <mail@cbaines.net>
;;;
@ -285,6 +285,10 @@ (define marionette
'(file-exists? "/srv/git/test")
marionette))
(test-assert "fcgiwrap listens"
;; Wait for fcgiwrap to be ready before cloning.
(wait-for-tcp-port 9000 marionette))
;; Make sure we can clone the repo from the host.
(test-equal "clone"
'#$README-contents

View file

@ -663,17 +663,11 @@ (define %distro-directory
(define (check-patch-file-names package)
"Emit a warning if the patches requires by PACKAGE are badly named or if the
patch could not be found."
(guard (c ((message-condition? c) ;raised by 'search-patch'
(list
;; Use %make-warning, as condition-mesasge is already
;; translated.
(%make-warning package (condition-message c)
#:field 'patch-file-names)))
((formatted-message? c)
(guard (c ((formatted-message? c) ;raised by 'search-patch'
(list (%make-warning package
(apply format #f
(G_ (formatted-message-string c))
(formatted-message-arguments c))))))
(formatted-message-string c)
(formatted-message-arguments c)
#:field 'source))))
(define patches
(match (package-source package)
((? origin? origin) (origin-patches origin))

View file

@ -891,6 +891,8 @@ (define (http-write server client response body)
client))
(port (begin
(force-output client)
(setsockopt client SOL_SOCKET
SO_SNDBUF (* 128 1024))
(nar-response-port response compression))))
;; XXX: Given our ugly workaround for <http://bugs.gnu.org/21093> in
;; 'render-nar', BODY here is just the file name of the store item.

View file

@ -435,6 +435,7 @@ (define (warn-about-load-error file module args) ;FIXME: factorize with ↑
(gettext (condition-message obj) %gettext-domain)))
((formatted-message? obj)
(warning (G_ "failed to load '~a': ~a~%")
file
(apply format #f
(gettext (formatted-message-string obj)
%gettext-domain)
@ -717,7 +718,7 @@ (define (port-filename* port)
(package-full-name package)
(build-system-name system))))
((gexp-input-error? c)
(let ((input (package-error-invalid-input c)))
(let ((input (gexp-error-invalid-input c)))
(leave (G_ "~s: invalid G-expression input~%")
(gexp-error-invalid-input c))))
((profile-not-found-error? c)

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -18,7 +18,7 @@ msgstr ""
"Project-Id-Version: guix 1.2.0-pre3\n"
"Report-Msgid-Bugs-To: bug-guix@gnu.org\n"
"POT-Creation-Date: 2020-11-05 17:27+0100\n"
"PO-Revision-Date: 2020-11-08 21:36+0100\n"
"PO-Revision-Date: 2020-11-09 16:46+0100\n"
"Last-Translator: Julien Lepiller <julien@lepiller.eu>\n"
"Language-Team: French <traduc@traduc.org>\n"
"Language: fr\n"
@ -4978,8 +4978,8 @@ msgstr "résolution de « ~a » à partir du répertoire actuel~%"
#, scheme-format
msgid "importing module~{ ~a~} from the host~%"
msgid_plural "importing modules~{ ~a~} from the host~%"
msgstr[0] "import du module~{ ~a~} à partir de l'hôte"
msgstr[1] "import des modules~{ ~a~} à partir de l'hôte"
msgstr[0] "import du module~{ ~a~} à partir de l'hôte~%"
msgstr[1] "import des modules~{ ~a~} à partir de l'hôte~%"
#: guix/gnu-maintenance.scm:699
msgid "Updater for GNU packages"
@ -6474,7 +6474,7 @@ msgstr "produit une sortie de déboguage"
#~ msgstr "argument non supporté pour le graphe de référence"
#~ msgid "~a: note: using ~a but ~a is available upstream~%"
#~ msgstr "~a: note: utilisation de ~a mais ~a est disponible en amont"
#~ msgstr "~a: note: utilisation de ~a mais ~a est disponible en amont~%"
#~ msgid "~a: not a number~%"
#~ msgstr "~a: pas un nombre~%"
@ -6486,7 +6486,7 @@ msgstr "produit une sortie de déboguage"
#~ msgstr "échec de la compilation du profil vide~%"
#~ msgid "nothing to do: already at the empty profile~%"
#~ msgstr "aucune action à faire: profil courant vide"
#~ msgstr "aucune action à faire: profil courant vide~%"
#~ msgid "(Please consider upgrading Guile to get proper progress report.)~%"
#~ msgstr "(Veuillez mettre Guile à jour pour obtenir le rapport de progression approprié.)~%"

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -315,6 +315,9 @@ guix system build "$tmpdir/config.scm" -n 2>&1 | \
guix system search tor | grep "^name: tor"
guix system search tor | grep "^shepherdnames: tor"
guix system search anonym network | grep "^name: tor"
guix system search . > "$tmpdir/search"
test $(wc -l < "$tmpdir/search") -gt 500
rm "$tmpdir/search"
# Below, use -n (--dry-run) for the tests because if we actually tried to
# build these images, the commands would take hours to run in the worst case.