summaryrefslogtreecommitdiff
path: root/gnu/packages
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2020-11-12 10:47:25 +0100
committerLudovic Courtès <ludo@gnu.org>2020-11-12 10:47:25 +0100
commit07914def98ca0d148e3522466227304e45286786 (patch)
tree71f265728ced786cb70de2a5654c9beb45eb77c5 /gnu/packages
parenta13063d6ac7434beed1c608ce3eb6fb39c740b33 (diff)
parentef1107e2cca9a5b6f7129d019aabac2f0e89a238 (diff)
downloadguix-patches-07914def98ca0d148e3522466227304e45286786.tar
guix-patches-07914def98ca0d148e3522466227304e45286786.tar.gz
Merge branch 'version-1.2.0'
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/audio.scm10
-rw-r--r--gnu/packages/cross-base.scm15
-rw-r--r--gnu/packages/glib.scm3
-rw-r--r--gnu/packages/libffi.scm24
-rw-r--r--gnu/packages/patches/audiofile-check-number-of-coefficients.patch (renamed from gnu/packages/patches/audiofile-Check-the-number-of-coefficients.patch)0
-rw-r--r--gnu/packages/patches/audiofile-division-by-zero.patch (renamed from gnu/packages/patches/audiofile-division-by-zero-BlockCodec-runPull.patch)0
-rw-r--r--gnu/packages/patches/audiofile-function-signature.patch (renamed from gnu/packages/patches/audiofile-signature-of-multiplyCheckOverflow.patch)0
-rw-r--r--gnu/packages/patches/audiofile-multiply-overflow.patch (renamed from gnu/packages/patches/audiofile-Fix-multiply-overflow-sfconvert.patch)0
-rw-r--r--gnu/packages/patches/audiofile-overflow-in-MSADPCM.patch (renamed from gnu/packages/patches/audiofile-Fix-overflow-in-MSADPCM-decodeSam.patch)0
-rw-r--r--gnu/packages/patches/libffi-3.3-powerpc-fixes.patch138
-rw-r--r--gnu/packages/patches/python2-pygobject-2-deprecation.patch (renamed from gnu/packages/patches/python2-pygobject-2-gi-info-type-error-domain.patch)0
11 files changed, 173 insertions, 17 deletions
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 9f00392ebc..466d17f29d 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -862,16 +862,16 @@ tools.")
"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"
diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm
index b35a3cb40b..c1e5f2eb79 100644
--- a/gnu/packages/cross-base.scm
+++ b/gnu/packages/cross-base.scm
@@ -539,19 +539,20 @@ and the cross tool chain."
;; 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))))))
diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index bba9461d44..901222476a 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -698,8 +698,7 @@ useful for C++.")
(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)
diff --git a/gnu/packages/libffi.scm b/gnu/packages/libffi.scm
index ec8703ffdb..d324892330 100644
--- a/gnu/packages/libffi.scm
+++ b/gnu/packages/libffi.scm
@@ -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 @@
(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
diff --git a/gnu/packages/patches/audiofile-Check-the-number-of-coefficients.patch b/gnu/packages/patches/audiofile-check-number-of-coefficients.patch
index f9427cbe61..f9427cbe61 100644
--- a/gnu/packages/patches/audiofile-Check-the-number-of-coefficients.patch
+++ b/gnu/packages/patches/audiofile-check-number-of-coefficients.patch
diff --git a/gnu/packages/patches/audiofile-division-by-zero-BlockCodec-runPull.patch b/gnu/packages/patches/audiofile-division-by-zero.patch
index e001133916..e001133916 100644
--- a/gnu/packages/patches/audiofile-division-by-zero-BlockCodec-runPull.patch
+++ b/gnu/packages/patches/audiofile-division-by-zero.patch
diff --git a/gnu/packages/patches/audiofile-signature-of-multiplyCheckOverflow.patch b/gnu/packages/patches/audiofile-function-signature.patch
index 35627d3869..35627d3869 100644
--- a/gnu/packages/patches/audiofile-signature-of-multiplyCheckOverflow.patch
+++ b/gnu/packages/patches/audiofile-function-signature.patch
diff --git a/gnu/packages/patches/audiofile-Fix-multiply-overflow-sfconvert.patch b/gnu/packages/patches/audiofile-multiply-overflow.patch
index 0f17140d6b..0f17140d6b 100644
--- a/gnu/packages/patches/audiofile-Fix-multiply-overflow-sfconvert.patch
+++ b/gnu/packages/patches/audiofile-multiply-overflow.patch
diff --git a/gnu/packages/patches/audiofile-Fix-overflow-in-MSADPCM-decodeSam.patch b/gnu/packages/patches/audiofile-overflow-in-MSADPCM.patch
index 2be930b924..2be930b924 100644
--- a/gnu/packages/patches/audiofile-Fix-overflow-in-MSADPCM-decodeSam.patch
+++ b/gnu/packages/patches/audiofile-overflow-in-MSADPCM.patch
diff --git a/gnu/packages/patches/libffi-3.3-powerpc-fixes.patch b/gnu/packages/patches/libffi-3.3-powerpc-fixes.patch
new file mode 100644
index 0000000000..971ed26180
--- /dev/null
+++ b/gnu/packages/patches/libffi-3.3-powerpc-fixes.patch
@@ -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
+
diff --git a/gnu/packages/patches/python2-pygobject-2-gi-info-type-error-domain.patch b/gnu/packages/patches/python2-pygobject-2-deprecation.patch
index 6a08e56351..6a08e56351 100644
--- a/gnu/packages/patches/python2-pygobject-2-gi-info-type-error-domain.patch
+++ b/gnu/packages/patches/python2-pygobject-2-deprecation.patch