From 2f7b4749e702e6952632e02d2a0791099e4f931e Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 22 Feb 2017 12:47:02 +0100 Subject: [PATCH] gnu: libxcb: Update to 1.12. * gnu/packages/patches/libxcb-python-3.5-compat.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/xorg.scm (libxcb): Update to 1.12. [source]: Add patch. Download from new home. [home-page]: Change to new xcb.fd.o home. --- gnu/local.mk | 1 + .../patches/libxcb-python-3.5-compat.patch | 64 +++++++++++++++++++ gnu/packages/xorg.scm | 10 +-- 3 files changed, 71 insertions(+), 4 deletions(-) create mode 100644 gnu/packages/patches/libxcb-python-3.5-compat.patch diff --git a/gnu/local.mk b/gnu/local.mk index dec231a08e..d0afedd6b1 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -724,6 +724,7 @@ dist_patch_DATA = \ %D%/packages/patches/libwmf-CVE-2015-0848+CVE-2015-4588.patch \ %D%/packages/patches/libwmf-CVE-2015-4695.patch \ %D%/packages/patches/libwmf-CVE-2015-4696.patch \ + %D%/packages/patches/libxcb-python-3.5-compat.patch \ %D%/packages/patches/libxml2-CVE-2016-4658.patch \ %D%/packages/patches/libxml2-CVE-2016-5131.patch \ %D%/packages/patches/libxslt-generated-ids.patch \ diff --git a/gnu/packages/patches/libxcb-python-3.5-compat.patch b/gnu/packages/patches/libxcb-python-3.5-compat.patch new file mode 100644 index 0000000000..f652498aad --- /dev/null +++ b/gnu/packages/patches/libxcb-python-3.5-compat.patch @@ -0,0 +1,64 @@ +Fix compatibility issue with Python 3.5. + +Patch copied from upstream source repository: + +https://cgit.freedesktop.org/xcb/libxcb/commit/?id=8740a288ca468433141341347aa115b9544891d3 + +From 8740a288ca468433141341347aa115b9544891d3 Mon Sep 17 00:00:00 2001 +From: Thomas Klausner +Date: Thu, 19 May 2016 17:31:18 +0200 +Subject: [PATCH] Fix inconsistent use of tabs vs. space. + +Needed for at least python-3.5.x. + +Signed-off-by: Thomas Klausner +Signed-off-by: Uli Schlachter +--- + src/c_client.py | 14 +++++++------- + 1 file changed, 7 insertions(+), 7 deletions(-) + +diff --git a/src/c_client.py b/src/c_client.py +index 57de3fb..043338d 100644 +--- a/src/c_client.py ++++ b/src/c_client.py +@@ -1364,7 +1364,7 @@ def _c_serialize(context, self): + _c(' unsigned int xcb_align_to = 0;') + if self.is_switch: + _c(' unsigned int xcb_padding_offset = %d;', +- self.get_align_offset() ) ++ self.get_align_offset() ) + prefix = [('_aux', '->', self)] + aux_ptr = 'xcb_out' + +@@ -1390,7 +1390,7 @@ def _c_serialize(context, self): + _c(' unsigned int xcb_align_to = 0;') + if self.is_switch: + _c(' unsigned int xcb_padding_offset = %d;', +- self.get_align_offset() ) ++ self.get_align_offset() ) + + elif 'sizeof' == context: + param_names = [p[2] for p in params] +@@ -1930,14 +1930,14 @@ def _c_accessors_list(self, field): + # from the request size and divide that by the member size + return '(((R->length * 4) - sizeof('+ self.c_type + '))/'+'sizeof('+field.type.member.c_wiretype+'))' + else: +- # use the accessor to get the start of the list, then +- # compute the length of it by subtracting it from ++ # use the accessor to get the start of the list, then ++ # compute the length of it by subtracting it from + # the adress of the first byte after the end of the + # request +- after_end_of_request = '(((char*)R) + R->length * 4)' +- start_of_list = '%s(R)' % (field.c_accessor_name) ++ after_end_of_request = '(((char*)R) + R->length * 4)' ++ start_of_list = '%s(R)' % (field.c_accessor_name) + bytesize_of_list = '%s - (char*)(%s)' % (after_end_of_request, start_of_list) +- return '(%s) / sizeof(%s)' % (bytesize_of_list, field.type.member.c_wiretype) ++ return '(%s) / sizeof(%s)' % (bytesize_of_list, field.type.member.c_wiretype) + else: + raise Exception( + "lengthless lists with varsized members are not supported. Fieldname '%s'" +-- +2.11.1 + diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 8bc54e6d52..115f9fb31b 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -4933,15 +4933,17 @@ protocol.") (define-public libxcb (package (name "libxcb") - (version "1.11.1") + (version "1.12") (source (origin (method url-fetch) - (uri (string-append "mirror://xorg/individual/xcb/" + (uri (string-append "https://xcb.freedesktop.org/dist/" name "-" version ".tar.bz2")) (sha256 (base32 - "0c4xyvdyx5adh8dzyhnrmvwwz24gri4z1czxmxqm63i0gmngs85p")))) + "0nvv0la91cf8p5qqlb3r5xnmg1jn2wphn4fb5jfbr6byqsvv3psa")) + (patches + (search-patches "libxcb-python-3.5-compat.patch")))) (build-system gnu-build-system) (propagated-inputs `(("libpthread-stubs" ,libpthread-stubs) @@ -4955,7 +4957,7 @@ protocol.") ("python" ,python-minimal-wrapper))) (arguments `(#:configure-flags '("--enable-xkb"))) - (home-page "https://www.x.org/wiki/") + (home-page "https://xcb.freedesktop.org/") (synopsis "The X C Binding (XCB) library") (description "libxcb provides an interface to the X Window System protocol, -- 2.20.1