mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-12-24 05:18:07 -05:00
Merge branch 'version-1.2.0'
This commit is contained in:
commit
07914def98
33 changed files with 53124 additions and 31885 deletions
131
NEWS
131
NEWS
|
@ -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.4’s “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-JSON’s (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
|
||||
|
|
|
@ -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
|
||||
|
|
15
gnu/local.mk
15
gnu/local.mk
|
@ -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 \
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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))))))
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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
|
||||
|
|
138
gnu/packages/patches/libffi-3.3-powerpc-fixes.patch
Normal file
138
gnu/packages/patches/libffi-3.3-powerpc-fixes.patch
Normal 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
|
||||
|
|
@ -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))))
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)))))
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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))
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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)
|
||||
|
|
22267
po/doc/guix-manual.de.po
22267
po/doc/guix-manual.de.po
File diff suppressed because it is too large
Load diff
23616
po/doc/guix-manual.es.po
23616
po/doc/guix-manual.es.po
File diff suppressed because it is too large
Load diff
1200
po/guix/de.po
1200
po/guix/de.po
File diff suppressed because it is too large
Load diff
1411
po/guix/es.po
1411
po/guix/es.po
File diff suppressed because it is too large
Load diff
|
@ -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é.)~%"
|
||||
|
|
1182
po/guix/ta.po
1182
po/guix/ta.po
File diff suppressed because it is too large
Load diff
7854
po/packages/de.po
7854
po/packages/de.po
File diff suppressed because it is too large
Load diff
27015
po/packages/es.po
27015
po/packages/es.po
File diff suppressed because it is too large
Load diff
|
@ -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.
|
||||
|
|
Loading…
Reference in a new issue