gnu: libxcb: Update to 1.12.
authorMarius Bakke <mbakke@fastmail.com>
Wed, 22 Feb 2017 11:47:02 +0000 (12:47 +0100)
committerMarius Bakke <mbakke@fastmail.com>
Wed, 22 Feb 2017 12:31:49 +0000 (13:31 +0100)
* 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
gnu/packages/patches/libxcb-python-3.5-compat.patch [new file with mode: 0644]
gnu/packages/xorg.scm

index dec231a..d0afedd 100644 (file)
@@ -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 (file)
index 0000000..f652498
--- /dev/null
@@ -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 <wiz@NetBSD.org>
+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 <wiz@NetBSD.org>
+Signed-off-by: Uli Schlachter <psychon@znc.in>
+---
+ 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
+
index 8bc54e6..115f9fb 100644 (file)
@@ -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,