From 9c3ad422d0f4f2e552dcb73aae98c7db1fc2e584 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Wed, 20 Dec 2017 19:53:40 -0500 Subject: gnu: libgxps: Fix CVE-2017-11590. * gnu/packages/patches/libgxps-CVE-2017-11590.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/gnome.scm (libgxps)[source]: Use it. --- gnu/local.mk | 1 + 1 file changed, 1 insertion(+) (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index 20b3c3e366..ea9c42449a 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -810,6 +810,7 @@ dist_patch_DATA = \ %D%/packages/patches/libgit2-0.25.1-mtime-0.patch \ %D%/packages/patches/libgdata-fix-tests.patch \ %D%/packages/patches/libgdata-glib-duplicate-tests.patch \ + %D%/packages/patches/libgxps-CVE-2017-11590.patch \ %D%/packages/patches/libffi-3.2.1-complex-alpha.patch \ %D%/packages/patches/libjxr-fix-function-signature.patch \ %D%/packages/patches/libjxr-fix-typos.patch \ -- cgit v1.2.3 From 9e3a8ed0ebc5b4095f1b64d85fd56ce7fb636580 Mon Sep 17 00:00:00 2001 From: Kei Kebreau Date: Mon, 4 Dec 2017 17:56:37 -0500 Subject: gnu: python-pillow: Update to 4.3.0. * gnu/packages/python.scm (python-pillow): Update to 4.3.0. [propagated-inputs]: Add python-olefile. * gnu/packages/patches/python-pillow-freetype-2.7-test-failure.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Remove it. Signed-off-by: Kei Kebreau --- gnu/local.mk | 1 - .../python-pillow-freetype-2.7-test-failure.patch | 75 ---------------------- gnu/packages/python.scm | 7 +- 3 files changed, 4 insertions(+), 79 deletions(-) delete mode 100644 gnu/packages/patches/python-pillow-freetype-2.7-test-failure.patch (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index ea9c42449a..b1cf3c3de5 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1025,7 +1025,6 @@ dist_patch_DATA = \ %D%/packages/patches/python-pandas-skip-failing-tests.patch \ %D%/packages/patches/python-paste-remove-website-test.patch \ %D%/packages/patches/python-paste-remove-timing-test.patch \ - %D%/packages/patches/python-pillow-freetype-2.7-test-failure.patch \ %D%/packages/patches/python-pygit2-disable-network-tests.patch \ %D%/packages/patches/python-pycrypto-CVE-2013-7459.patch \ %D%/packages/patches/python2-pygobject-2-gi-info-type-error-domain.patch \ diff --git a/gnu/packages/patches/python-pillow-freetype-2.7-test-failure.patch b/gnu/packages/patches/python-pillow-freetype-2.7-test-failure.patch deleted file mode 100644 index 18bc30bc79..0000000000 --- a/gnu/packages/patches/python-pillow-freetype-2.7-test-failure.patch +++ /dev/null @@ -1,75 +0,0 @@ -Fix some test failures when building with freetype-2.7. - -https://github.com/python-pillow/Pillow/issues/2116 -https://github.com/python-pillow/Pillow/pull/2286 - -Patch copied from upstream source repository: - -https://github.com/python-pillow/Pillow/commit/acf68c835c93ba144f83198306aa7e6082a43f43 - -From acf68c835c93ba144f83198306aa7e6082a43f43 Mon Sep 17 00:00:00 2001 -From: hugovk -Date: Mon, 12 Dec 2016 15:16:43 +0200 -Subject: [PATCH] Increase epsilon for FreeType 2.7 - ---- - Tests/test_imagefont.py | 15 ++++++++++----- - 1 file changed, 10 insertions(+), 5 deletions(-) - -diff --git a/Tests/test_imagefont.py b/Tests/test_imagefont.py -index de89ac92..5207dce3 100644 ---- a/Tests/test_imagefont.py -+++ b/Tests/test_imagefont.py -@@ -125,7 +125,9 @@ try: - - target = 'Tests/images/rectangle_surrounding_text.png' - target_img = Image.open(target) -- self.assert_image_similar(im, target_img, .5) -+ -+ # Epsilon ~.5 fails with FreeType 2.7 -+ self.assert_image_similar(im, target_img, 2.5) - - def test_render_multiline(self): - im = Image.new(mode='RGB', size=(300, 100)) -@@ -144,7 +146,7 @@ try: - # some versions of freetype have different horizontal spacing. - # setting a tight epsilon, I'm showing the original test failure - # at epsilon = ~38. -- self.assert_image_similar(im, target_img, .5) -+ self.assert_image_similar(im, target_img, 6.2) - - def test_render_multiline_text(self): - ttf = ImageFont.truetype(FONT_PATH, FONT_SIZE) -@@ -158,7 +160,8 @@ try: - target = 'Tests/images/multiline_text.png' - target_img = Image.open(target) - -- self.assert_image_similar(im, target_img, .5) -+ # Epsilon ~.5 fails with FreeType 2.7 -+ self.assert_image_similar(im, target_img, 6.2) - - # Test that text() can pass on additional arguments - # to multiline_text() -@@ -178,7 +181,8 @@ try: - target = 'Tests/images/multiline_text'+ext+'.png' - target_img = Image.open(target) - -- self.assert_image_similar(im, target_img, .5) -+ # Epsilon ~.5 fails with FreeType 2.7 -+ self.assert_image_similar(im, target_img, 6.2) - - def test_unknown_align(self): - im = Image.new(mode='RGB', size=(300, 100)) -@@ -227,7 +231,8 @@ try: - target = 'Tests/images/multiline_text_spacing.png' - target_img = Image.open(target) - -- self.assert_image_similar(im, target_img, .5) -+ # Epsilon ~.5 fails with FreeType 2.7 -+ self.assert_image_similar(im, target_img, 6.2) - - def test_rotated_transposed_font(self): - img_grey = Image.new("L", (100, 100)) --- -2.12.0 - diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index d3bd2078b0..9fd7d9f6be 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -3686,15 +3686,14 @@ the OleFileIO module from PIL, the Python Image Library.") (define-public python-pillow (package (name "python-pillow") - (version "3.3.3") + (version "4.3.0") (source (origin (method url-fetch) (uri (pypi-uri "Pillow" version)) - (patches (search-patches "python-pillow-freetype-2.7-test-failure.patch")) (sha256 (base32 - "0xkv0p1d73gz0a1qaasf0ai4262g8f334j07vd60bjrxs2wr3nmj")))) + "09xmn7rl6840sli2iz1k3fgxfgmri2nqz6vkinmb9mgg8ifp2z59")))) (build-system python-build-system) (native-inputs `(("python-nose" ,python-nose))) @@ -3706,6 +3705,8 @@ the OleFileIO module from PIL, the Python Image Library.") ("openjpeg" ,openjpeg) ("libtiff" ,libtiff) ("libwebp" ,libwebp))) + (propagated-inputs + `(("python-olefile" ,python-olefile))) (arguments `(#:phases (modify-phases %standard-phases (add-after -- cgit v1.2.3 From 79bffa3ec8c1a3783c9b0f12b948b6a076ec17f6 Mon Sep 17 00:00:00 2001 From: Kei Kebreau Date: Sat, 23 Dec 2017 09:03:50 -0500 Subject: gnu: chicken: Update to 4.13.0. * gnu/packages/scheme.scm (chicken): Update to 4.13.0. [source]: Remove obsolete patches. * gnu/packages/patches/chicken-CVE-2017-6949.patch, gnu/packages/patches/chicken-CVE-2017-11343.patch: Delete files. * gnu/local.mk (dist_patch_DATA): Remove them. --- gnu/local.mk | 2 - gnu/packages/patches/chicken-CVE-2017-11343.patch | 57 ---------- gnu/packages/patches/chicken-CVE-2017-6949.patch | 132 ---------------------- gnu/packages/scheme.scm | 7 +- 4 files changed, 2 insertions(+), 196 deletions(-) delete mode 100644 gnu/packages/patches/chicken-CVE-2017-11343.patch delete mode 100644 gnu/packages/patches/chicken-CVE-2017-6949.patch (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index b1cf3c3de5..3dae58f82f 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -570,8 +570,6 @@ dist_patch_DATA = \ %D%/packages/patches/ceph-disable-unittest-throttle.patch \ %D%/packages/patches/ceph-skip-collect-sys-info-test.patch \ %D%/packages/patches/ceph-skip-unittest_blockdev.patch \ - %D%/packages/patches/chicken-CVE-2017-6949.patch \ - %D%/packages/patches/chicken-CVE-2017-11343.patch \ %D%/packages/patches/chmlib-inttypes.patch \ %D%/packages/patches/clang-libc-search-path.patch \ %D%/packages/patches/clang-3.8-libc-search-path.patch \ diff --git a/gnu/packages/patches/chicken-CVE-2017-11343.patch b/gnu/packages/patches/chicken-CVE-2017-11343.patch deleted file mode 100644 index 1d46ad50d9..0000000000 --- a/gnu/packages/patches/chicken-CVE-2017-11343.patch +++ /dev/null @@ -1,57 +0,0 @@ -Fix CVE-2017-11343: - -https://lists.nongnu.org/archive/html/chicken-announce/2017-07/msg00000.html -https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-11343 - -Patch copied from upstream mailing list: - -http://lists.gnu.org/archive/html/chicken-hackers/2017-06/txtod8Pa1wGU0.txt - -From ae2633195cc5f4f61c9da4ac90f0c14c010dcc3d Mon Sep 17 00:00:00 2001 -From: Peter Bex -Date: Fri, 30 Jun 2017 15:39:45 +0200 -Subject: [PATCH 2/2] Initialize symbol table after setting up randomization - -Otherwise, the symbol table wouldn't be correctly randomized. ---- - NEWS | 3 +++ - runtime.c | 2 +- - 2 files changed, 4 insertions(+), 1 deletion(-) - -#diff --git a/NEWS b/NEWS -#index f4b0e041..6588b30e 100644 -#--- a/NEWS -#+++ b/NEWS -#@@ -96,6 +96,9 @@ -# buffer overrun and/or segfault (thanks to Lemonboy). -# - CVE-2017-9334: `length' no longer crashes on improper lists (fixes -# #1375, thanks to "megane"). -#+ - The randomization factor of the symbol table was set before -#+ the random seed was set, causing it to have a fixed value on many -#+ platforms. -# -# - Core Libraries -# - Unit "posix": If file-lock, file-lock/blocking or file-unlock are -diff --git a/runtime.c b/runtime.c -index 81c54dd2..a4580abc 100644 ---- a/runtime.c -+++ b/runtime.c -@@ -799,7 +799,6 @@ int CHICKEN_initialize(int heap, int stack, int symbols, void *toplevel) - C_initial_timer_interrupt_period = INITIAL_TIMER_INTERRUPT_PERIOD; - C_timer_interrupt_counter = INITIAL_TIMER_INTERRUPT_PERIOD; - memset(signal_mapping_table, 0, sizeof(int) * NSIG); -- initialize_symbol_table(); - C_dlerror = "cannot load compiled code dynamically - this is a statically linked executable"; - error_location = C_SCHEME_FALSE; - C_pre_gc_hook = NULL; -@@ -816,6 +815,7 @@ int CHICKEN_initialize(int heap, int stack, int symbols, void *toplevel) - callback_continuation_level = 0; - gc_ms = 0; - (void)C_randomize(C_fix(time(NULL))); -+ initialize_symbol_table(); - - if (profiling) { - #ifndef C_NONUNIX --- -2.11.0 - diff --git a/gnu/packages/patches/chicken-CVE-2017-6949.patch b/gnu/packages/patches/chicken-CVE-2017-6949.patch deleted file mode 100644 index 00552eec76..0000000000 --- a/gnu/packages/patches/chicken-CVE-2017-6949.patch +++ /dev/null @@ -1,132 +0,0 @@ -From: LemonBoy -Date: Fri, 10 Mar 2017 16:29:47 +0100 -Subject: [PATCH] Add bound checking to all srfi-4 vector allocations. - -Do what C_allocate_vector already does and prevent the creation of a -vector that's too big or too small. -We should be very careful to avoid the latter case because the -allocation size is directly fed into `malloc' as 'x + sizeof(C_header)' -thus making possible to successfully allocate a vector smaller than the -C_header structure and get C_block_header_init to write over -uninitialized memory. - -To reduce code duplication, type checking is moved from each of the -make-*vector procedures to the common "alloc" helper procedure. - -Signed-off-by: Peter Bex -Signed-off-by: Kooda ---- - srfi-4.scm | 34 +++++++++++++++------------------- - 1 file changed, 15 insertions(+), 19 deletions(-) - -diff --git a/srfi-4.scm b/srfi-4.scm -index 7f5412b..69f58ba 100644 ---- a/srfi-4.scm -+++ b/srfi-4.scm -@@ -255,24 +255,28 @@ EOF - - ;;; Basic constructors: - --(let* ([ext-alloc -- (foreign-lambda* scheme-object ([int bytes]) -- "C_word *buf = (C_word *)C_malloc(bytes + sizeof(C_header));" -+(let* ((ext-alloc -+ (foreign-lambda* scheme-object ((size_t bytes)) -+ "C_word *buf;" -+ "if (bytes > C_HEADER_SIZE_MASK) C_return(C_SCHEME_FALSE);" -+ "buf = (C_word *)C_malloc(bytes + sizeof(C_header));" - "if(buf == NULL) C_return(C_SCHEME_FALSE);" - "C_block_header_init(buf, C_make_header(C_BYTEVECTOR_TYPE, bytes));" -- "C_return(buf);") ] -- [ext-free -- (foreign-lambda* void ([scheme-object bv]) -- "C_free((void *)C_block_item(bv, 1));") ] -- [alloc -+ "C_return(buf);") ) -+ (ext-free -+ (foreign-lambda* void ((scheme-object bv)) -+ "C_free((void *)C_block_item(bv, 1));") ) -+ (alloc - (lambda (loc len ext?) -+ (##sys#check-exact len loc) -+ (when (fx< len 0) (##sys#error loc "size is negative" len)) - (if ext? -- (let ([bv (ext-alloc len)]) -+ (let ((bv (ext-alloc len))) - (or bv - (##sys#error loc "not enough memory - cannot allocate external number vector" len)) ) -- (let ([bv (##sys#allocate-vector len #t #f #t)]) ; this could be made better... -+ (let ((bv (##sys#allocate-vector len #t #f #t))) ; this could be made better... - (##core#inline "C_string_to_bytevector" bv) -- bv) ) ) ] ) -+ bv) ) ) ) ) - - (set! release-number-vector - (lambda (v) -@@ -282,7 +286,6 @@ EOF - - (set! make-u8vector - (lambda (len #!optional (init #f) (ext? #f) (fin? #t)) -- (##sys#check-exact len 'make-u8vector) - (let ((v (##sys#make-structure 'u8vector (alloc 'make-u8vector len ext?)))) - (when (and ext? fin?) (set-finalizer! v ext-free)) - (if (not init) -@@ -295,7 +298,6 @@ EOF - - (set! make-s8vector - (lambda (len #!optional (init #f) (ext? #f) (fin? #t)) -- (##sys#check-exact len 'make-s8vector) - (let ((v (##sys#make-structure 's8vector (alloc 'make-s8vector len ext?)))) - (when (and ext? fin?) (set-finalizer! v ext-free)) - (if (not init) -@@ -308,7 +310,6 @@ EOF - - (set! make-u16vector - (lambda (len #!optional (init #f) (ext? #f) (fin? #t)) -- (##sys#check-exact len 'make-u16vector) - (let ((v (##sys#make-structure 'u16vector (alloc 'make-u16vector (##core#inline "C_fixnum_shift_left" len 1) ext?)))) - (when (and ext? fin?) (set-finalizer! v ext-free)) - (if (not init) -@@ -321,7 +322,6 @@ EOF - - (set! make-s16vector - (lambda (len #!optional (init #f) (ext? #f) (fin? #t)) -- (##sys#check-exact len 'make-s16vector) - (let ((v (##sys#make-structure 's16vector (alloc 'make-s16vector (##core#inline "C_fixnum_shift_left" len 1) ext?)))) - (when (and ext? fin?) (set-finalizer! v ext-free)) - (if (not init) -@@ -334,7 +334,6 @@ EOF - - (set! make-u32vector - (lambda (len #!optional (init #f) (ext? #f) (fin? #t)) -- (##sys#check-exact len 'make-u32vector) - (let ((v (##sys#make-structure 'u32vector (alloc 'make-u32vector (##core#inline "C_fixnum_shift_left" len 2) ext?)))) - (when (and ext? fin?) (set-finalizer! v ext-free)) - (if (not init) -@@ -347,7 +346,6 @@ EOF - - (set! make-s32vector - (lambda (len #!optional (init #f) (ext? #f) (fin? #t)) -- (##sys#check-exact len 'make-s32vector) - (let ((v (##sys#make-structure 's32vector (alloc 'make-s32vector (##core#inline "C_fixnum_shift_left" len 2) ext?)))) - (when (and ext? fin?) (set-finalizer! v ext-free)) - (if (not init) -@@ -360,7 +358,6 @@ EOF - - (set! make-f32vector - (lambda (len #!optional (init #f) (ext? #f) (fin? #t)) -- (##sys#check-exact len 'make-f32vector) - (let ((v (##sys#make-structure 'f32vector (alloc 'make-f32vector (##core#inline "C_fixnum_shift_left" len 2) ext?)))) - (when (and ext? fin?) (set-finalizer! v ext-free)) - (if (not init) -@@ -375,7 +372,6 @@ EOF - - (set! make-f64vector - (lambda (len #!optional (init #f) (ext? #f) (fin? #t)) -- (##sys#check-exact len 'make-f64vector) - (let ((v (##sys#make-structure - 'f64vector - (alloc 'make-f64vector (##core#inline "C_fixnum_shift_left" len 3) ext?)))) --- -2.1.4 - diff --git a/gnu/packages/scheme.scm b/gnu/packages/scheme.scm index bafc3da332..f1d73c2a7d 100644 --- a/gnu/packages/scheme.scm +++ b/gnu/packages/scheme.scm @@ -336,17 +336,14 @@ mashups, office (web agendas, mail clients, ...), etc.") (define-public chicken (package (name "chicken") - (version "4.12.0") + (version "4.13.0") (source (origin (method url-fetch) (uri (string-append "https://code.call-cc.org/releases/" version "/chicken-" version ".tar.gz")) (sha256 (base32 - "12b9gaa9lqh39lj1v4wm48f6z8ww3jdkvc5bh9gqqvn6kd2wwnk0")) - (patches - (search-patches "chicken-CVE-2017-6949.patch" - "chicken-CVE-2017-11343.patch")))) + "0hvckhi5gfny3mlva6d7y9pmx7cbwvq0r7mk11k3sdiik9hlkmdd")))) (build-system gnu-build-system) (arguments `(#:modules ((guix build gnu-build-system) -- cgit v1.2.3 From 0b5eff847f8412aa53938a1c165c90848d0c87ca Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Mon, 25 Dec 2017 22:48:57 -0500 Subject: gnu: Move libupnp to (gnu packages upnp). * gnu/packages/libupnp.scm: Delete file. * gnu/local.mk (GNU_SYSTEM_MODULES): Remove it. * gnu/packages/upnp.scm (libupnp): New variable. --- gnu/local.mk | 1 - gnu/packages/libupnp.scm | 53 ------------------------------------------------ gnu/packages/upnp.scm | 30 +++++++++++++++++++++++++++ 3 files changed, 30 insertions(+), 54 deletions(-) delete mode 100644 gnu/packages/libupnp.scm (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index 3dae58f82f..8fa155924e 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -252,7 +252,6 @@ GNU_SYSTEM_MODULES = \ %D%/packages/libunistring.scm \ %D%/packages/libusb.scm \ %D%/packages/libunwind.scm \ - %D%/packages/libupnp.scm \ %D%/packages/lighting.scm \ %D%/packages/linux.scm \ %D%/packages/lirc.scm \ diff --git a/gnu/packages/libupnp.scm b/gnu/packages/libupnp.scm deleted file mode 100644 index 3d5110c918..0000000000 --- a/gnu/packages/libupnp.scm +++ /dev/null @@ -1,53 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2015 Federico Beffa -;;; -;;; This file is part of GNU Guix. -;;; -;;; GNU Guix is free software; you can redistribute it and/or modify it -;;; under the terms of the GNU General Public License as published by -;;; the Free Software Foundation; either version 3 of the License, or (at -;;; your option) any later version. -;;; -;;; GNU Guix is distributed in the hope that it will be useful, but -;;; WITHOUT ANY WARRANTY; without even the implied warranty of -;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -;;; GNU General Public License for more details. -;;; -;;; You should have received a copy of the GNU General Public License -;;; along with GNU Guix. If not, see . - -(define-module (gnu packages libupnp) - #:use-module (gnu packages) - #:use-module (guix licenses) - #:use-module (guix packages) - #:use-module (guix download) - #:use-module (guix build-system gnu)) - -(define-public libupnp - (package - (name "libupnp") - (version "1.6.24") - (source - (origin - (method url-fetch) - (uri (string-append "mirror://sourceforge/pupnp/pupnp/libUPnP%20" - version "/" name "-" version ".tar.bz2")) - (sha256 - (base32 - "15ngi1i7cvsv7g15fb9bkswvi99d1plz52x5qgjn4h5vyfddg0vx")))) - (build-system gnu-build-system) - (arguments - ;; The tests require a network device capable of multicasting which is - ;; not available in the build environment. See - ;; https://lists.gnu.org/archive/html/guix-devel/2015-01/msg00312.html. - `(#:tests? #f - #:configure-flags '("--enable-ipv6"))) - (home-page "http://pupnp.sourceforge.net") - (synopsis "Portable SDK for UPnP Devices") - (description - "The portable SDK for UPnP Devices (libupnp) provides developers with an -API and code for building control points, devices, and bridges that are -compliant with Version 1.0 of the Universal Plug and Play Device Architecture -Specification and support several operating systems like Linux, *BSD, Solaris -and others.") - (license bsd-3))) diff --git a/gnu/packages/upnp.scm b/gnu/packages/upnp.scm index f2669f11a8..41f9411281 100644 --- a/gnu/packages/upnp.scm +++ b/gnu/packages/upnp.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014 Sree Harsha Totakura +;;; Copyright © 2015 Federico Beffa ;;; Copyright © 2016, 2017 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. @@ -74,3 +75,32 @@ include peer-to-peer applications, active-mode FTP clients, DCC file transfers over IRC, instant messaging, network games, and most server software.") (license (x11-style "file://LICENSE" "See 'LICENSE' file in the distribution")))) + +(define-public libupnp + (package + (name "libupnp") + (version "1.6.24") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/pupnp/pupnp/libUPnP%20" + version "/" name "-" version ".tar.bz2")) + (sha256 + (base32 + "15ngi1i7cvsv7g15fb9bkswvi99d1plz52x5qgjn4h5vyfddg0vx")))) + (build-system gnu-build-system) + (arguments + ;; The tests require a network device capable of multicasting which is + ;; not available in the build environment. See + ;; https://lists.gnu.org/archive/html/guix-devel/2015-01/msg00312.html. + `(#:tests? #f + #:configure-flags '("--enable-ipv6"))) + (home-page "http://pupnp.sourceforge.net") + (synopsis "Portable SDK for UPnP Devices") + (description + "The portable SDK for UPnP Devices (libupnp) provides developers with an +API and code for building control points, devices, and bridges that are +compliant with Version 1.0 of the Universal Plug and Play Device Architecture +Specification and support several operating systems like Linux, *BSD, Solaris +and others.") + (license bsd-3))) -- cgit v1.2.3 From e8e860a5596659e0ce2ed8911dfa78663e216bf9 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Tue, 26 Dec 2017 20:44:48 -0500 Subject: gnu: icecat: Add more fixes from upstream mozilla-esr52. * gnu/packages/gnuzilla.scm (icecat)[source]: Add selected fixes from the upstream mozilla-esr52 repository. * gnu/packages/patches/icecat-bug-1414945.patch, gnu/packages/patches/icecat-bug-1424373-pt2.patch: New files. * gnu/local.mk (dist_patch_DATA): Add them. --- gnu/local.mk | 2 + gnu/packages/gnuzilla.scm | 30 +++- gnu/packages/patches/icecat-bug-1414945.patch | 73 +++++++++ gnu/packages/patches/icecat-bug-1424373-pt2.patch | 183 ++++++++++++++++++++++ 4 files changed, 287 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/icecat-bug-1414945.patch create mode 100644 gnu/packages/patches/icecat-bug-1424373-pt2.patch (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index 8fa155924e..586f023ee6 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -748,6 +748,8 @@ dist_patch_DATA = \ %D%/packages/patches/icecat-avoid-bundled-libraries.patch \ %D%/packages/patches/icecat-bug-1348660-pt5.patch \ %D%/packages/patches/icecat-bug-1415133.patch \ + %D%/packages/patches/icecat-bug-1414945.patch \ + %D%/packages/patches/icecat-bug-1424373-pt2.patch \ %D%/packages/patches/icu4c-CVE-2017-7867-CVE-2017-7868.patch \ %D%/packages/patches/icu4c-CVE-2017-14952.patch \ %D%/packages/patches/icu4c-reset-keyword-list-iterator.patch \ diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm index c53c316132..a31e93d499 100644 --- a/gnu/packages/gnuzilla.scm +++ b/gnu/packages/gnuzilla.scm @@ -482,7 +482,35 @@ security standards.") (mozilla-patch "icecat-bug-1404105.patch" "2909ba991f31" "126vssj57dc800347f075wlnjzcwamnxxmgxl9w78jpb0hj9gf16") (search-patch "icecat-bug-1415133.patch") (mozilla-patch "icecat-bug-1355576.patch" "cf34a0574e58" "1z7sa1d12hypgivm5xxn32s58afpjcij97jvnafcgnfvxywrgr1m") - (mozilla-patch "icecat-CVE-2017-7843.patch" "f6216ea8b8fc" "0jnhdkj0ch9mj01mzlvhjgf8zsxlbg6m7yvpq99qr7xmg0pzbgwl"))) + (mozilla-patch "icecat-CVE-2017-7843.patch" "f6216ea8b8fc" "0jnhdkj0ch9mj01mzlvhjgf8zsxlbg6m7yvpq99qr7xmg0pzbgwl") + (mozilla-patch "icecat-bug-1413741.patch" "4e00ce2897c4" "0k95vi31glia2i03djidkc0gkwp9qldy34fz1rxcj56a1iphbq7w") + (mozilla-patch "icecat-bug-1224396.patch" "92d450811409" "0xsvggnr0y65nd52nkbjvpcbs5nd84pvbayk5vinbx1mnk2wh2vy") + (mozilla-patch "icecat-bug-1415582.patch" "7eba7d14704a" "1vi17qmjzh3kji14iz370kvs4425asgp93ns2chf5ldlq5b9196g") + (mozilla-patch "icecat-bug-1417797.patch" "457d023c167e" "11g8hg8yp20lsn52dx1ym8r4yjsnsmx0h182d6nbl6ab9wp7d1m9") + (mozilla-patch "icecat-bug-1410134.patch" "5e7b16213198" "14c4x6c3mygf8p77n9bia5rndjpngbvik1r1ylk97k3ggy4fj6zh") + (mozilla-patch "icecat-bug-1419363.patch" "0712b6cbbdc8" "0rllsq6ckpms7g9k6qky1gr5rz1gav4widrha6w1s9f88cbrqgk5") + (mozilla-patch "icecat-bug-1408276.patch" "084c427ccf99" "0sjdy2iang09a9g6liavpjgry04dp6smjgj0y7lp5lfqijdr8q2d") + (mozilla-patch "icecat-bug-1382366.patch" "1bfb3d8d4510" "0c2dcxj74ijs6qf9sqcbj8w998hblic66vy41818z7xnw46j5j1j") + (mozilla-patch "icecat-bug-1414425.patch" "5623e01e63a8" "08dn3v96bsb61hy3wfxz43fhn1mk9vlm5ydvdjgi3wiqadvacgzs") + (mozilla-patch "icecat-bug-1409951.patch" "14a389d40329" "0f4gbak5bd2walxrxs3myig28v9lhvplf3a1nws1a4ajx80slzq1") + (mozilla-patch "icecat-bug-1415441.patch" "7339297cddb7" "017lbw0mn5rwzb2abfw6qrk07m3r96vwbj81cmqvdfnmprcjni5j") + (mozilla-patch "icecat-bug-1418922.patch" "aa55d4cdaee5" "1l3qwjfx0jsbbw2dg8bsnx7k47zibamgswndq0d1bchnmary62aw") + (mozilla-patch "icecat-bug-1382358.patch" "762f4e53889a" "0n61zrb6rz9bhhdsqs5ziwaiy81pq52c76p9qmi9hrxbn24ism1k") + (mozilla-patch "icecat-bug-1399520.patch" "0152d097672f" "16ybg718calvciv00kil8s97lhh11hj6gx0acf73r44xfkvm8nfg") + (search-patch "icecat-bug-1414945.patch") + (mozilla-patch "icecat-bug-1414452.patch" "079356ed5317" "107c0b93g2k743wvhwz2ps3j6p09qld7d0raljijv5y5n8q4wp92") + (mozilla-patch "icecat-bug-1418854.patch" "93e4994a892c" "00r2qxw3619529vy9d04dl9kcziqy3fv3iawgy9svzygyx1kj5wx") + (mozilla-patch "icecat-bug-1422389.patch" "f8a6e1864832" "1wbxn0v50637yjg8b8675k01x9cyx95jpjxpyqfaa97762qkznba") + (mozilla-patch "icecat-bug-1415598.patch" "0cc1c9068714" "1qmqpi14zs7c95k3c7396gpp6apb622k0mgv553kw4rr81nj1yac") + (mozilla-patch "icecat-bug-1418447.patch" "ce6f3fb2bf58" "1b1msb5d5jsgrqa2hkbsrm0n54qdmx1b2bf65v44v17appa03lra") + (mozilla-patch "icecat-bug-1423159.patch" "6b4d3c5d5e51" "074p93dhwr1ckhypkjpblnmg9hg44a9030g1glqffi9dyn3iq3k4") + (mozilla-patch "icecat-bug-1411745.patch" "1a510ee578a0" "1imb7glh2m1zwvvpvr4k4iddms5byqzr35j7kv3y5is77aiwl4z5") + (mozilla-patch "icecat-bug-1411708.patch" "34c968767eb7" "0l2jy201ikj3m3h66mvlsj4y0ki7cpm7x7nnfygbwnfxg42s1sip") + (mozilla-patch "icecat-bug-1423086.patch" "bc166be85bb4" "0w1lrjzfrfflaw4l6sfi3ir81iyi9gyfck5g41dwp0jc1b59jzvg") + (mozilla-patch "icecat-bug-1412145.patch" "66cfc3c4047d" "05j8ic4lv2d2ygr6d62rkdlfyg2rpljalwrkkhllinw2dfi3n15b") + (mozilla-patch "icecat-bug-1399400.patch" "3236ffdf0ced" "1kvk4qyslaj1ldgs1wpxnf79zajcihzcd1zvbrg990i3hgyn3gk3") + (mozilla-patch "icecat-bug-1424373-pt1.patch" "320032aaa068" "1ch282qibprz1q0f2imvynh4sg7gads6sf3ayhjcd62zjncpgyz7") + (search-patch "icecat-bug-1424373-pt2.patch"))) (modules '((guix build utils))) (snippet '(begin diff --git a/gnu/packages/patches/icecat-bug-1414945.patch b/gnu/packages/patches/icecat-bug-1414945.patch new file mode 100644 index 0000000000..3638ace1c4 --- /dev/null +++ b/gnu/packages/patches/icecat-bug-1414945.patch @@ -0,0 +1,73 @@ +Based on: + https://hg.mozilla.org/releases/mozilla-esr52/raw-rev/d303b3bb88c3 + +Adapted to apply cleanly to IceCat. + +# HG changeset patch +# User Philip Chimento +# Date 1510012155 28800 +# Node ID d303b3bb88c3345d3a089901e2b6fe883d148e44 +# Parent 0152d097672f7e99504815cf7b06d9f303419fba +Bug 1414945 - Don't use TimeDuration in static initializer. r=jandem, a=ritu + +On Darwin this would cause a race between two static initializers. + +diff --git a/js/src/shell/js.cpp b/js/src/shell/js.cpp +--- a/js/src/shell/js.cpp ++++ b/js/src/shell/js.cpp +@@ -138,17 +138,17 @@ static const size_t gMaxStackSize = 2 * + #else + static const size_t gMaxStackSize = 128 * sizeof(size_t) * 1024; + #endif + + /* + * Limit the timeout to 30 minutes to prevent an overflow on platfoms + * that represent the time internally in microseconds using 32-bit int. + */ +-static const TimeDuration MAX_TIMEOUT_INTERVAL = TimeDuration::FromSeconds(1800.0); ++static const double MAX_TIMEOUT_SECONDS = 1800.0; + + // SharedArrayBuffer and Atomics settings track IceCat. Choose a custom setting + // with --shared-memory={on,off}. + #ifndef RELEASE_OR_BETA + # define SHARED_MEMORY_DEFAULT 1 + #else + # define SHARED_MEMORY_DEFAULT 0 + #endif +@@ -3518,16 +3518,17 @@ Sleep_fn(JSContext* cx, unsigned argc, V + if (!ToNumber(cx, args[0], &t_secs)) + return false; + if (mozilla::IsNaN(t_secs)) { + JS_ReportErrorASCII(cx, "sleep interval is not a number"); + return false; + } + + duration = TimeDuration::FromSeconds(Max(0.0, t_secs)); ++ const TimeDuration MAX_TIMEOUT_INTERVAL = TimeDuration::FromSeconds(MAX_TIMEOUT_SECONDS); + if (duration > MAX_TIMEOUT_INTERVAL) { + JS_ReportErrorASCII(cx, "Excessive sleep interval"); + return false; + } + } + { + LockGuard guard(sc->watchdogLock); + TimeStamp toWakeup = TimeStamp::Now() + duration; +@@ -3675,16 +3676,17 @@ CancelExecution(JSContext* cx) + + static bool + SetTimeoutValue(JSContext* cx, double t) + { + if (mozilla::IsNaN(t)) { + JS_ReportErrorASCII(cx, "timeout is not a number"); + return false; + } ++ const TimeDuration MAX_TIMEOUT_INTERVAL = TimeDuration::FromSeconds(MAX_TIMEOUT_SECONDS); + if (TimeDuration::FromSeconds(t) > MAX_TIMEOUT_INTERVAL) { + JS_ReportErrorASCII(cx, "Excessive timeout value"); + return false; + } + GetShellContext(cx)->timeoutInterval = t; + if (!ScheduleWatchdog(cx, t)) { + JS_ReportErrorASCII(cx, "Failed to create the watchdog"); + return false; + diff --git a/gnu/packages/patches/icecat-bug-1424373-pt2.patch b/gnu/packages/patches/icecat-bug-1424373-pt2.patch new file mode 100644 index 0000000000..cdc7226bd3 --- /dev/null +++ b/gnu/packages/patches/icecat-bug-1424373-pt2.patch @@ -0,0 +1,183 @@ +Based on: + https://hg.mozilla.org/releases/mozilla-esr52/raw-rev/19ea736e7e3d + +Adapted to apply cleanly to IceCat. + +# HG changeset patch +# User Mike Conley +# Date 1513892173 18000 +# Node ID 19ea736e7e3d20555ee6633b9d7803c1225979e1 +# Parent 320032aaa06899f5585dcd0288059e5342118714 +Bug 1424373 - Rename crash report submission pref. r=Mossop a=jcristau + +diff --git a/browser/app/profile/icecat.js b/browser/app/profile/icecat.js +--- a/browser/app/profile/icecat.js ++++ b/browser/app/profile/icecat.js +@@ -1557,15 +1557,15 @@ pref("browser.crashReports.unsubmittedCh + pref("browser.crashReports.unsubmittedCheck.enabled", false); + #endif + + // chancesUntilSuppress is how many times we'll show the unsubmitted + // crash report notification across different days and shutdown + // without a user choice before we suppress the notification for + // some number of days. + pref("browser.crashReports.unsubmittedCheck.chancesUntilSuppress", 4); +-pref("browser.crashReports.unsubmittedCheck.autoSubmit", false); ++pref("browser.crashReports.unsubmittedCheck.autoSubmit2", false); + + #ifdef NIGHTLY_BUILD + // Enable the (fairly costly) client/server validation on nightly only. The other prefs + // controlling validation are located in /services/sync/services-sync.js + pref("services.sync.validation.enabled", true); + #endif +diff --git a/browser/base/content/test/tabcrashed/browser_autoSubmitRequest.js b/browser/base/content/test/tabcrashed/browser_autoSubmitRequest.js +--- a/browser/base/content/test/tabcrashed/browser_autoSubmitRequest.js ++++ b/browser/base/content/test/tabcrashed/browser_autoSubmitRequest.js +@@ -1,12 +1,12 @@ + "use strict"; + + const PAGE = "data:text/html,A%20regular,%20everyday,%20normal%20page."; +-const AUTOSUBMIT_PREF = "browser.crashReports.unsubmittedCheck.autoSubmit"; ++const AUTOSUBMIT_PREF = "browser.crashReports.unsubmittedCheck.autoSubmit2"; + + const {TabStateFlusher} = + Cu.import("resource:///modules/sessionstore/TabStateFlusher.jsm", {}); + + // On debug builds, crashing tabs results in much thinking, which + // slows down the test and results in intermittent test timeouts, + // so we'll pump up the expected timeout for this test. + requestLongerTimeout(2); +diff --git a/browser/components/preferences/in-content/advanced.xul b/browser/components/preferences/in-content/advanced.xul +--- a/browser/components/preferences/in-content/advanced.xul ++++ b/browser/components/preferences/in-content/advanced.xul +@@ -51,18 +51,18 @@ + #ifdef MOZ_TELEMETRY_REPORTING + + #endif + + + #ifdef MOZ_CRASHREPORTER +- + #endif + + + + + + + #endif + #ifdef MOZ_CRASHREPORTER + + + + + + + + +diff --git a/browser/components/sessionstore/test/browser_background_tab_crash.js b/browser/components/sessionstore/test/browser_background_tab_crash.js +--- a/browser/components/sessionstore/test/browser_background_tab_crash.js ++++ b/browser/components/sessionstore/test/browser_background_tab_crash.js +@@ -142,17 +142,17 @@ add_task(function* test_background_crash + /** + * Tests that if a content process crashes taking down only + * background tabs, and the user is configured to send backlogged + * crash reports automatically, that the tab crashed page is not + * shown. + */ + add_task(function* test_background_crash_autosubmit_backlogged() { + yield SpecialPowers.pushPrefEnv({ +- set: [["browser.crashReports.unsubmittedCheck.autoSubmit", true]], ++ set: [["browser.crashReports.unsubmittedCheck.autoSubmit2", true]], + }); + + yield setupBackgroundTabs(function*([tab1, tab2]) { + // Let's crash one of those background tabs now... + yield crashBackgroundTabs([tab1, tab2]); + + // Selecting the first tab should restore it. + let tabRestored = promiseTabRestored(tab1); +diff --git a/browser/modules/ContentCrashHandlers.jsm b/browser/modules/ContentCrashHandlers.jsm +--- a/browser/modules/ContentCrashHandlers.jsm ++++ b/browser/modules/ContentCrashHandlers.jsm +@@ -865,21 +865,21 @@ this.UnsubmittedCrashHandler = { + return nb.appendNotification(message, notificationID, + "chrome://browser/skin/tab-crashed.svg", + nb.PRIORITY_INFO_HIGH, buttons, + eventCallback); + }, + + get autoSubmit() { + return Services.prefs +- .getBoolPref("browser.crashReports.unsubmittedCheck.autoSubmit"); ++ .getBoolPref("browser.crashReports.unsubmittedCheck.autoSubmit2"); + }, + + set autoSubmit(val) { +- Services.prefs.setBoolPref("browser.crashReports.unsubmittedCheck.autoSubmit", ++ Services.prefs.setBoolPref("browser.crashReports.unsubmittedCheck.autoSubmit2", + val); + }, + + /** + * Attempt to submit reports to the crash report server. Each + * report will have the "SubmittedFromInfobar" extra key set + * to true. + * +diff --git a/browser/modules/test/browser_UnsubmittedCrashHandler.js b/browser/modules/test/browser_UnsubmittedCrashHandler.js +--- a/browser/modules/test/browser_UnsubmittedCrashHandler.js ++++ b/browser/modules/test/browser_UnsubmittedCrashHandler.js +@@ -344,17 +344,17 @@ add_task(function* test_can_submit_sever + clearPendingCrashReports(); + }); + + /** + * Tests that choosing "Send Always" flips the autoSubmit pref + * and sends the pending crash reports. + */ + add_task(function* test_can_submit_always() { +- let pref = "browser.crashReports.unsubmittedCheck.autoSubmit"; ++ let pref = "browser.crashReports.unsubmittedCheck.autoSubmit2"; + Assert.equal(Services.prefs.getBoolPref(pref), false, + "We should not be auto-submitting by default"); + + let reportIDs = yield createPendingCrashReports(1); + let notification = + yield UnsubmittedCrashHandler.checkForUnsubmittedCrashReports(); + Assert.ok(notification, "There should be a notification"); + +@@ -388,17 +388,17 @@ add_task(function* test_can_submit_alway + + /** + * Tests that if the user has chosen to automatically send + * crash reports that no notification is displayed to the + * user. + */ + add_task(function* test_can_auto_submit() { + yield SpecialPowers.pushPrefEnv({ set: [ +- ["browser.crashReports.unsubmittedCheck.autoSubmit", true], ++ ["browser.crashReports.unsubmittedCheck.autoSubmit2", true], + ]}); + + let reportIDs = yield createPendingCrashReports(3); + let promiseReports = waitForSubmittedReports(reportIDs); + let notification = + yield UnsubmittedCrashHandler.checkForUnsubmittedCrashReports(); + Assert.equal(notification, null, "There should be no notification"); + info("Waiting on reports to be received."); + -- cgit v1.2.3 From 15b60fc3138e9d601aff3e3317373ed465e6ea93 Mon Sep 17 00:00:00 2001 From: Kei Kebreau Date: Sun, 24 Dec 2017 16:23:50 -0500 Subject: gnu: python-pillow: Fix test failures on i686-linux and armhf-linux. * gnu/packages/patches/python-pillow-fix-failing-tests.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/python.scm (python-pillow)[source]: Use it. --- gnu/local.mk | 1 + .../patches/python-pillow-fix-failing-tests.patch | Bin 0 -> 112373 bytes gnu/packages/python.scm | 4 +++- 3 files changed, 4 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/python-pillow-fix-failing-tests.patch (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index 586f023ee6..2c4305d94c 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1016,6 +1016,7 @@ dist_patch_DATA = \ %D%/packages/patches/python-networkx2-reproducible-build.patch \ %D%/packages/patches/python-nose-timer-drop-ordereddict.patch \ %D%/packages/patches/python-parse-too-many-fields.patch \ + %D%/packages/patches/python-pillow-fix-failing-tests.patch \ %D%/packages/patches/python2-rdflib-drop-sparqlwrapper.patch \ %D%/packages/patches/python-statsmodels-fix-tests.patch \ %D%/packages/patches/python-scikit-learn-fix-test-non-determinism.patch \ diff --git a/gnu/packages/patches/python-pillow-fix-failing-tests.patch b/gnu/packages/patches/python-pillow-fix-failing-tests.patch new file mode 100644 index 0000000000..2575d6f612 Binary files /dev/null and b/gnu/packages/patches/python-pillow-fix-failing-tests.patch differ diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 7ff1e78bbe..ce3aa299bc 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -3739,7 +3739,9 @@ the OleFileIO module from PIL, the Python Image Library.") (uri (pypi-uri "Pillow" version)) (sha256 (base32 - "09xmn7rl6840sli2iz1k3fgxfgmri2nqz6vkinmb9mgg8ifp2z59")))) + "09xmn7rl6840sli2iz1k3fgxfgmri2nqz6vkinmb9mgg8ifp2z59")) + (patch-flags '("-p1" "--binary")) + (patches (search-patches "python-pillow-fix-failing-tests.patch")))) (build-system python-build-system) (native-inputs `(("python-nose" ,python-nose))) -- cgit v1.2.3 From c4556777d99fd9d491ff6e1669f680f15d5b4bcd Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sat, 30 Dec 2017 15:37:36 +0000 Subject: gnu: borg: Update to 1.1.4. * gnu/packages/backup.scm (borg): Update to 1.1.4. [source]: Remove obsolete patch. Remove bundled lz4 and zstd. [inputs]: Add zstd. [arguments]: Build with input versions of lz4 and zstd. * gnu/packages/patches/borg-fix-archive-corruption-bug.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Remove it. --- gnu/local.mk | 1 - gnu/packages/backup.scm | 41 +++++++------ .../patches/borg-fix-archive-corruption-bug.patch | 68 ---------------------- 3 files changed, 24 insertions(+), 86 deletions(-) delete mode 100644 gnu/packages/patches/borg-fix-archive-corruption-bug.patch (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index 2c4305d94c..346c8285e0 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -557,7 +557,6 @@ dist_patch_DATA = \ %D%/packages/patches/binutils-ld-new-dtags.patch \ %D%/packages/patches/binutils-loongson-workaround.patch \ %D%/packages/patches/blast+-fix-makefile.patch \ - %D%/packages/patches/borg-fix-archive-corruption-bug.patch \ %D%/packages/patches/byobu-writable-status.patch \ %D%/packages/patches/cairo-CVE-2016-9082.patch \ %D%/packages/patches/calibre-no-updates-dialog.patch \ diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm index 5156ac9167..2fba1a9e76 100644 --- a/gnu/packages/backup.scm +++ b/gnu/packages/backup.scm @@ -468,18 +468,22 @@ detection, and lossless compression.") (define-public borg (package (name "borg") - (version "1.1.3") - (source (origin - (method url-fetch) - (uri (pypi-uri "borgbackup" version)) - (patches (search-patches "borg-fix-archive-corruption-bug.patch")) - (sha256 - (base32 - "1rvn8b6clzd1r317r9jkvk34r31risi0dxfjc7jffhnwasck4anc")) - (modules '((guix build utils))) - (snippet - '(for-each - delete-file (find-files "borg" "^(c|h|p).*\\.c$"))))) + (version "1.1.4") + (source + (origin + (method url-fetch) + (uri (pypi-uri "borgbackup" version)) + (sha256 + (base32 "1cicqwh85wfp65y00qaq6q4i4jcyy9b66qz5gpl80qc880wab912")) + (modules '((guix build utils))) + (snippet + '(begin + (for-each delete-file + (find-files "borg" "^(c|h|p).*\\.c$")) + ;; Remove bundled shared libraries. + (with-directory-excursion "src/borg/algorithms" + (for-each delete-file-recursively + (list "lz4" "zstd"))))))) (build-system python-build-system) (arguments `(#:modules ((srfi srfi-26) ; for cut @@ -490,9 +494,11 @@ detection, and lossless compression.") (add-after 'unpack 'set-env (lambda* (#:key inputs #:allow-other-keys) (let ((openssl (assoc-ref inputs "openssl")) - (lz4 (assoc-ref inputs "lz4"))) + (lz4 (assoc-ref inputs "lz4")) + (zstd (assoc-ref inputs "zstd"))) (setenv "BORG_OPENSSL_PREFIX" openssl) - (setenv "BORG_LZ4_PREFIX" lz4) + (setenv "BORG_LIBLZ4_PREFIX" lz4) + (setenv "BORG_LIBZSTD_PREFIX" zstd) (setenv "PYTHON_EGG_CACHE" "/tmp") ;; The test 'test_return_codes[python]' fails when ;; HOME=/homeless-shelter. @@ -544,8 +550,8 @@ detection, and lossless compression.") (native-inputs `(("python-cython" ,python-cython) ("python-setuptools-scm" ,python-setuptools-scm) - ;; Borg 1.0.8's test suite uses 'tmpdir_factory', which was introduced in - ;; pytest 2.8. + ;; Borg >=1.0.8's test suite uses 'tmpdir_factory', which was introduced + ;; in pytest 2.8. ("python-pytest" ,python-pytest-3.0) ;; For generating the documentation. ("python-sphinx" ,python-sphinx) @@ -555,7 +561,8 @@ detection, and lossless compression.") ("lz4" ,lz4) ("openssl" ,openssl) ("python-llfuse" ,python-llfuse) - ("python-msgpack" ,python-msgpack))) + ("python-msgpack" ,python-msgpack) + ("zstd" ,zstd))) (synopsis "Deduplicated, encrypted, authenticated and compressed backups") (description "Borg is a deduplicating backup program. Optionally, it supports compression and authenticated encryption. The main goal of Borg is to diff --git a/gnu/packages/patches/borg-fix-archive-corruption-bug.patch b/gnu/packages/patches/borg-fix-archive-corruption-bug.patch deleted file mode 100644 index 0debf119be..0000000000 --- a/gnu/packages/patches/borg-fix-archive-corruption-bug.patch +++ /dev/null @@ -1,68 +0,0 @@ -Fix a bug in `borg check --repair` that corrupts existing archives: - -https://github.com/borgbackup/borg/issues/3444 - -Patches copied from upstream source repository: - -https://github.com/borgbackup/borg/commit/e09892caec8a63d59e909518c4e9c230dbd69774 -https://github.com/borgbackup/borg/commit/a68d28bfa4db30561150c83eb6a0dca5efa4d9e8 - -From a68d28bfa4db30561150c83eb6a0dca5efa4d9e8 Mon Sep 17 00:00:00 2001 -From: Thomas Waldmann -Date: Sat, 16 Dec 2017 01:11:40 +0100 -Subject: [PATCH 1/2] modify borg check unit test so it "hangs", see #3444 - -it doesn't infinitely hang, but slows down considerably. ---- - src/borg/testsuite/archiver.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/borg/testsuite/archiver.py b/src/borg/testsuite/archiver.py -index c7def2c7..b3383e97 100644 ---- a/src/borg/testsuite/archiver.py -+++ b/src/borg/testsuite/archiver.py -@@ -3006,7 +3006,7 @@ def test_missing_file_chunk(self): - def test_missing_archive_item_chunk(self): - archive, repository = self.open_archive('archive1') - with repository: -- repository.delete(archive.metadata.items[-5]) -+ repository.delete(archive.metadata.items[0]) - repository.commit() - self.cmd('check', self.repository_location, exit_code=1) - self.cmd('check', '--repair', self.repository_location, exit_code=0) --- -2.15.1 - - -From e09892caec8a63d59e909518c4e9c230dbd69774 Mon Sep 17 00:00:00 2001 -From: Thomas Waldmann -Date: Sat, 16 Dec 2017 01:16:05 +0100 -Subject: [PATCH 2/2] check --repair: fix malfunctioning validator, fixes #3444 - -the major problem was the ('path' in item) expression. -the dict has bytes-typed keys there, so it never succeeded as it -looked for a str key. this is a 1.1 regression, 1.0 was fine. - -the dict -> StableDict change is just for being more specific, -the check triggered correctly as StableDict subclasses dict, -it was just a bit too general. ---- - src/borg/archive.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/borg/archive.py b/src/borg/archive.py -index 239d00b7..be086800 100644 ---- a/src/borg/archive.py -+++ b/src/borg/archive.py -@@ -1457,7 +1457,7 @@ def robust_iterator(archive): - """ - item_keys = frozenset(key.encode() for key in self.manifest.item_keys) - required_item_keys = frozenset(key.encode() for key in REQUIRED_ITEM_KEYS) -- unpacker = RobustUnpacker(lambda item: isinstance(item, dict) and 'path' in item, -+ unpacker = RobustUnpacker(lambda item: isinstance(item, StableDict) and b'path' in item, - self.manifest.item_keys) - _state = 0 - --- -2.15.1 - -- cgit v1.2.3