guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

01/02: gnu: xcb-proto: Update to 1.12.


From: Marius Bakke
Subject: 01/02: gnu: xcb-proto: Update to 1.12.
Date: Wed, 22 Feb 2017 07:34:18 -0500 (EST)

mbakke pushed a commit to branch core-updates
in repository guix.

commit ba5e23d605dbbae7541d8d9a680e8fde3ad1d745
Author: Marius Bakke <address@hidden>
Date:   Wed Feb 22 12:42:52 2017 +0100

    gnu: xcb-proto: Update to 1.12.
    
    * gnu/packages/patches/xcb-proto-python3-print.patch,
      gnu/packages/patches/xcb-proto-python3-whitespace.patch: New files.
    * gnu/local.mk (dist_patch_DATA): Add them.
    * gnu/packages/xorg.scm (xcb-proto): Update to 1.12.
    [source]: Use patches. Download from new home.
    [home-page]: Change to new xcb.fd.o home.
---
 gnu/local.mk                                       |   2 +
 gnu/packages/patches/xcb-proto-python3-print.patch |  75 +++++++
 .../patches/xcb-proto-python3-whitespace.patch     | 217 +++++++++++++++++++++
 gnu/packages/xorg.scm                              |  11 +-
 4 files changed, 301 insertions(+), 4 deletions(-)

diff --git a/gnu/local.mk b/gnu/local.mk
index 1e919c8..dec231a 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -968,6 +968,8 @@ dist_patch_DATA =                                           
\
   %D%/packages/patches/wordnet-CVE-2008-2149.patch                     \
   %D%/packages/patches/wordnet-CVE-2008-3908-pt1.patch                 \
   %D%/packages/patches/wordnet-CVE-2008-3908-pt2.patch                 \
+  %D%/packages/patches/xcb-proto-python3-print.patch           \
+  %D%/packages/patches/xcb-proto-python3-whitespace.patch      \
   %D%/packages/patches/xdotool-fix-makefile.patch               \
   %D%/packages/patches/xf86-input-wacom-xorg-abi-25.patch      \
   %D%/packages/patches/xf86-video-ark-remove-mibstore.patch    \
diff --git a/gnu/packages/patches/xcb-proto-python3-print.patch 
b/gnu/packages/patches/xcb-proto-python3-print.patch
new file mode 100644
index 0000000..7d5dc9b
--- /dev/null
+++ b/gnu/packages/patches/xcb-proto-python3-print.patch
@@ -0,0 +1,75 @@
+Patch copied from upstream source repository:
+
+https://cgit.freedesktop.org/xcb/proto/commit/?id=bea5e1c85bdc0950913790364e18228f20395a3d
+
+From bea5e1c85bdc0950913790364e18228f20395a3d Mon Sep 17 00:00:00 2001
+From: Thomas Klausner <address@hidden>
+Date: Thu, 19 May 2016 17:30:05 +0200
+Subject: [PATCH] print() is a function and needs parentheses.
+
+Fixes build with python-3.x.
+
+Signed-off-by: Thomas Klausner <address@hidden>
+Signed-off-by: Uli Schlachter <address@hidden>
+---
+ xcbgen/xtypes.py | 12 ++++++------
+ 1 file changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/xcbgen/xtypes.py b/xcbgen/xtypes.py
+index c3b5758..b83b119 100644
+--- a/xcbgen/xtypes.py
++++ b/xcbgen/xtypes.py
+@@ -501,7 +501,7 @@ class ComplexType(Type):
+                 int(required_start_align_element.get('align', "4"), 0),
+                 int(required_start_align_element.get('offset', "0"), 0))
+             if verbose_align_log:
+-                print "Explicit start-align for %s: %s\n" % (self, 
self.required_start_align)
++                print ("Explicit start-align for %s: %s\n" % (self, 
self.required_start_align))
+ 
+     def resolve(self, module):
+         if self.resolved:
+@@ -592,7 +592,7 @@ class ComplexType(Type):
+                 if verbose_align_log:
+                     print ("calc_required_start_align: %s has start-align %s"
+                         % (str(self), str(self.required_start_align)))
+-                    print "Details:\n" + str(log)
++                    print ("Details:\n" + str(log))
+                 if self.required_start_align.offset != 0:
+                     print (("WARNING: %s\n\thas start-align with non-zero 
offset: %s"
+                         + "\n\tsuggest to add explicit definition with:"
+@@ -619,12 +619,12 @@ class ComplexType(Type):
+             for offset in range(0,align):
+                 align_candidate = Alignment(align, offset)
+                 if verbose_align_log:
+-                    print "trying %s for %s" % (str(align_candidate), 
str(self))
++                    print ("trying %s for %s" % (str(align_candidate), 
str(self)))
+                 my_log = AlignmentLog()
+                 if self.is_possible_start_align(align_candidate, callstack, 
my_log):
+                     log.append(my_log)
+                     if verbose_align_log:
+-                        print "found start-align %s for %s" % 
(str(align_candidate), str(self))
++                        print ("found start-align %s for %s" % 
(str(align_candidate), str(self)))
+                     return align_candidate
+                 else:
+                     my_ok_count = my_log.ok_count()
+@@ -641,7 +641,7 @@ class ComplexType(Type):
+         # none of the candidates applies
+         # this type has illegal internal aligns for all possible start_aligns
+         if verbose_align_log:
+-            print "didn't find start-align for %s" % str(self)
++            print ("didn't find start-align for %s" % str(self))
+         log.append(best_log)
+         return None
+ 
+@@ -900,7 +900,7 @@ class SwitchType(ComplexType):
+     # aux function for unchecked_get_alignment_after
+     def get_align_for_selected_case_field(self, case_field, start_align, 
callstack, log):
+         if verbose_align_log:
+-            print "get_align_for_selected_case_field: %s, case_field = %s" % 
(str(self), str(case_field))
++            print ("get_align_for_selected_case_field: %s, case_field = %s" % 
(str(self), str(case_field)))
+         total_align = start_align
+         for field in self.bitcases:
+             my_callstack = callstack[:]
+-- 
+2.11.1
+
diff --git a/gnu/packages/patches/xcb-proto-python3-whitespace.patch 
b/gnu/packages/patches/xcb-proto-python3-whitespace.patch
new file mode 100644
index 0000000..f050913
--- /dev/null
+++ b/gnu/packages/patches/xcb-proto-python3-whitespace.patch
@@ -0,0 +1,217 @@
+Fixes compatibility issue with python > 3.5.
+
+Patch copied from upstream source repository:
+
+https://cgit.freedesktop.org/xcb/proto/commit/?id=ea7a3ac6c658164690e0febb55f4467cb9e0bcac
+
+From ea7a3ac6c658164690e0febb55f4467cb9e0bcac Mon Sep 17 00:00:00 2001
+From: Thomas Klausner <address@hidden>
+Date: Thu, 19 May 2016 17:30:04 +0200
+Subject: [PATCH] Make whitespace use consistent.
+
+At least python-3.5.x complains about this forcefully.
+
+Signed-off-by: Thomas Klausner <address@hidden>
+Signed-off-by: Uli Schlachter <address@hidden>
+---
+ xcbgen/align.py | 96 ++++++++++++++++++++++++++++-----------------------------
+ 1 file changed, 48 insertions(+), 48 deletions(-)
+
+diff --git a/xcbgen/align.py b/xcbgen/align.py
+index 5e31838..d4c12ee 100644
+--- a/xcbgen/align.py
++++ b/xcbgen/align.py
+@@ -16,12 +16,12 @@ class Alignment(object):
+         return self.align == other.align and self.offset == other.offset
+ 
+     def __str__(self):
+-      return "(align=%d, offset=%d)" % (self.align, self.offset)
++        return "(align=%d, offset=%d)" % (self.align, self.offset)
+ 
+     @staticmethod
+     def for_primitive_type(size):
+-      # compute the required start_alignment based on the size of the type
+-      if size % 8 == 0:
++        # compute the required start_alignment based on the size of the type
++        if size % 8 == 0:
+             # do 8-byte primitives require 8-byte alignment in X11?
+             return Alignment(8,0)
+         elif size % 4 == 0:
+@@ -33,7 +33,7 @@ class Alignment(object):
+ 
+ 
+     def align_after_fixed_size(self, size):
+-      new_offset = (self.offset + size) % self.align
++        new_offset = (self.offset + size) % self.align
+         return Alignment(self.align, new_offset)
+ 
+ 
+@@ -41,7 +41,7 @@ class Alignment(object):
+         '''
+         Assuming the given external_align, checks whether
+         self is fulfilled for all cases.
+-      Returns True if yes, False otherwise.
++        Returns True if yes, False otherwise.
+         '''
+         if self.align == 1 and self.offset == 0:
+             # alignment 1 with offset 0 is always fulfilled
+@@ -55,9 +55,9 @@ class Alignment(object):
+             # the external align guarantees less alignment -> not guaranteed
+             return False
+ 
+-      if external_align.align % self.align != 0:
++        if external_align.align % self.align != 0:
+             # the external align cannot be divided by our align
+-          # -> not guaranteed
++            # -> not guaranteed
+             # (this can only happen if there are alignments that are not
+             # a power of 2, which is highly discouraged. But better be
+             # safe and check for it)
+@@ -72,7 +72,7 @@ class Alignment(object):
+ 
+     def combine_with(self, other):
+         # returns the alignment that is guaranteed when
+-      # both, self or other, can happen
++        # both, self or other, can happen
+         new_align = gcd(self.align, other.align)
+         new_offset_candidate1 = self.offset % new_align
+         new_offset_candidate2 = other.offset % new_align
+@@ -83,8 +83,8 @@ class Alignment(object):
+             new_align = gcd(new_align, offset_diff)
+             new_offset_candidate1 = self.offset % new_align
+             new_offset_candidate2 = other.offset % new_align
+-          assert new_offset_candidate1 == new_offset_candidate2
+-          new_offset = new_offset_candidate1
++            assert new_offset_candidate1 == new_offset_candidate2
++            new_offset = new_offset_candidate1
+         # return the result
+         return Alignment(new_align, new_offset)
+ 
+@@ -92,44 +92,44 @@ class Alignment(object):
+ class AlignmentLog(object):
+ 
+     def __init__(self):
+-      self.ok_list = []
+-      self.fail_list = []
+-      self.verbosity = 1
++        self.ok_list = []
++        self.fail_list = []
++        self.verbosity = 1
+ 
+     def __str__(self):
+-      result = ""
++        result = ""
+ 
+-      # output the OK-list
+-      for (align_before, field_name, type_obj, callstack, align_after) in 
self.ok_list:
+-          stacksize = len(callstack)
++        # output the OK-list
++        for (align_before, field_name, type_obj, callstack, align_after) in 
self.ok_list:
++            stacksize = len(callstack)
+             indent = '  ' * stacksize
+-          if self.ok_callstack_is_relevant(callstack):
++            if self.ok_callstack_is_relevant(callstack):
+                 if field_name is None or field_name == "":
+-                  result += ("    %sok: %s:\n\t%sbefore: %s, after: %s\n"
+-                      % (indent, str(type_obj), indent, str(align_before), 
str(align_after)))
+-              else:
+-                  result += ("    %sok: field \"%s\" in %s:\n\t%sbefore: %s, 
after: %s\n"
+-                      % (indent, str(field_name), str(type_obj),
+-                         indent, str(align_before), str(align_after)))
++                    result += ("    %sok: %s:\n\t%sbefore: %s, after: %s\n"
++                        % (indent, str(type_obj), indent, str(align_before), 
str(align_after)))
++                else:
++                    result += ("    %sok: field \"%s\" in %s:\n\t%sbefore: 
%s, after: %s\n"
++                        % (indent, str(field_name), str(type_obj),
++                           indent, str(align_before), str(align_after)))
+                 if self.verbosity >= 1:
+-                  result += self.callstack_to_str(indent, callstack)
++                    result += self.callstack_to_str(indent, callstack)
+ 
+-      # output the fail-list
+-      for (align_before, field_name, type_obj, callstack, reason) in 
self.fail_list:
+-          stacksize = len(callstack)
++        # output the fail-list
++        for (align_before, field_name, type_obj, callstack, reason) in 
self.fail_list:
++            stacksize = len(callstack)
+             indent = '  ' * stacksize
+-          if field_name is None or field_name == "":
+-              result += ("    %sfail: align %s is incompatible 
with\n\t%s%s\n\t%sReason: %s\n"
+-                  % (indent, str(align_before), indent, str(type_obj), 
indent, reason))
+-          else:
+-              result += ("    %sfail: align %s is incompatible 
with\n\t%sfield \"%s\" in %s\n\t%sReason: %s\n"
+-                  % (indent, str(align_before), indent, str(field_name), 
str(type_obj), indent, reason))
++            if field_name is None or field_name == "":
++                result += ("    %sfail: align %s is incompatible 
with\n\t%s%s\n\t%sReason: %s\n"
++                    % (indent, str(align_before), indent, str(type_obj), 
indent, reason))
++            else:
++                result += ("    %sfail: align %s is incompatible 
with\n\t%sfield \"%s\" in %s\n\t%sReason: %s\n"
++                    % (indent, str(align_before), indent, str(field_name), 
str(type_obj), indent, reason))
+ 
+             if self.verbosity >= 1:
+-              result += self.callstack_to_str(indent, callstack)
++                result += self.callstack_to_str(indent, callstack)
+ 
+ 
+-      return result
++        return result
+ 
+ 
+     def callstack_to_str(self, indent, callstack):
+@@ -137,41 +137,41 @@ class AlignmentLog(object):
+         for stack_elem in callstack:
+             result += "\t  %s%s\n" % (indent, str(stack_elem))
+         result += "\t%s]\n" % indent
+-      return result
++        return result
+ 
+ 
+     def ok_callstack_is_relevant(self, ok_callstack):
+         # determine whether an ok callstack is relevant for logging
+-      if self.verbosity >= 2:
+-          return True
++        if self.verbosity >= 2:
++            return True
+ 
+         # empty callstacks are always relevant
+-      if len(ok_callstack) == 0:
++        if len(ok_callstack) == 0:
+             return True
+ 
+-      # check whether the ok_callstack is a subset or equal to a 
fail_callstack
++        # check whether the ok_callstack is a subset or equal to a 
fail_callstack
+         for (align_before, field_name, type_obj, fail_callstack, reason) in 
self.fail_list:
+             if len(ok_callstack) <= len(fail_callstack):
+                 zipped = zip(ok_callstack, fail_callstack[:len(ok_callstack)])
+-              is_subset = all([i == j for i, j in zipped])
+-              if is_subset:
++                is_subset = all([i == j for i, j in zipped])
++                if is_subset:
+                     return True
+ 
+         return False
+ 
+ 
+     def ok(self, align_before, field_name, type_obj, callstack, align_after):
+-      self.ok_list.append((align_before, field_name, type_obj, callstack, 
align_after))
++        self.ok_list.append((align_before, field_name, type_obj, callstack, 
align_after))
+ 
+     def fail(self, align_before, field_name, type_obj, callstack, reason):
+-      self.fail_list.append((align_before, field_name, type_obj, callstack, 
reason))
++        self.fail_list.append((align_before, field_name, type_obj, callstack, 
reason))
+ 
+     def append(self, other):
+-      self.ok_list.extend(other.ok_list)
+-      self.fail_list.extend(other.fail_list)
++        self.ok_list.extend(other.ok_list)
++        self.fail_list.extend(other.fail_list)
+ 
+     def ok_count(self):
+-      return len(self.ok_list)
++        return len(self.ok_list)
+ 
+ 
+ 
+-- 
+2.11.1
+
diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm
index dc50064..8bc54e6 100644
--- a/gnu/packages/xorg.scm
+++ b/gnu/packages/xorg.scm
@@ -2053,21 +2053,24 @@ emulate a TI-30 or an HP-10C.")
 (define-public xcb-proto
   (package
     (name "xcb-proto")
-    (version "1.11")
+    (version "1.12")
     (source
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/individual/xcb/xcb-proto-"
+               "https://xcb.freedesktop.org/dist/xcb-proto-";
                version
                ".tar.bz2"))
         (sha256
           (base32
-            "0bp3f53l9fy5x3mn1rkj1g81aiyzl90wacwvqdgy831aa3kfxb5l"))))
+           "01j91946q8f34l1mbvmmgvyc393sm28ym4lxlacpiav4qsjan8jr"))
+        (patches
+         (search-patches "xcb-proto-python3-whitespace.patch"
+                         "xcb-proto-python3-print.patch"))))
     (build-system gnu-build-system)
     (native-inputs
       `(("pkg-config" ,pkg-config) ("python" ,python-minimal-wrapper)))
-    (home-page "https://www.x.org/wiki/";)
+    (home-page "https://xcb.freedesktop.org/";)
     (synopsis "XML-XCB protocol descriptions")
     (description
      "XCB-Proto provides the XML-XCB protocol descriptions that libxcb



reply via email to

[Prev in Thread] Current Thread [Next in Thread]