summaryrefslogtreecommitdiff
path: root/proto/xcb-proto
diff options
context:
space:
mode:
authorMatthieu Herrb <matthieu@cvs.openbsd.org>2020-05-16 08:49:01 +0000
committerMatthieu Herrb <matthieu@cvs.openbsd.org>2020-05-16 08:49:01 +0000
commit2b99abbf904b991354dd11894f89df4149d78452 (patch)
tree7115019219898a5af95ff5eab9dd2de4f64c23ed /proto/xcb-proto
parentcce403ce8a020b2a263b96cfadd870d153c1d618 (diff)
Update to libxcb 1.14 and xcb-proto 1.14. ok tb@
Diffstat (limited to 'proto/xcb-proto')
-rw-r--r--proto/xcb-proto/Makefile.am2
-rw-r--r--proto/xcb-proto/NEWS6
-rw-r--r--proto/xcb-proto/README.md (renamed from proto/xcb-proto/README)26
-rw-r--r--proto/xcb-proto/configure.ac4
-rw-r--r--proto/xcb-proto/py-compile8
-rw-r--r--proto/xcb-proto/src/screensaver.xml3
-rw-r--r--proto/xcb-proto/xcb-proto.pc.in4
-rw-r--r--proto/xcb-proto/xcbgen/state.py6
-rw-r--r--proto/xcb-proto/xcbgen/xtypes.py39
9 files changed, 55 insertions, 43 deletions
diff --git a/proto/xcb-proto/Makefile.am b/proto/xcb-proto/Makefile.am
index 6bc14ada0..0312e7ad8 100644
--- a/proto/xcb-proto/Makefile.am
+++ b/proto/xcb-proto/Makefile.am
@@ -3,4 +3,4 @@ SUBDIRS = src xcbgen
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = xcb-proto.pc
-EXTRA_DIST=doc xcb-proto.pc.in autogen.sh
+EXTRA_DIST=doc xcb-proto.pc.in autogen.sh README.md
diff --git a/proto/xcb-proto/NEWS b/proto/xcb-proto/NEWS
index efae961ab..9bab62be7 100644
--- a/proto/xcb-proto/NEWS
+++ b/proto/xcb-proto/NEWS
@@ -1,3 +1,9 @@
+Release 1.14 (2020-02-22)
+=========================
+* Fix size computation of imported lists
+* Allow access to the original type in the XML
+* Add sysroot prefix to pkgconfig file (Fixes #9)
+
Release 1.13 (2018-02-28)
=========================
* dri3: Add multi-plane/modifier protocol for v1.2
diff --git a/proto/xcb-proto/README b/proto/xcb-proto/README.md
index 22d7debca..5ee075cf1 100644
--- a/proto/xcb-proto/README
+++ b/proto/xcb-proto/README.md
@@ -24,24 +24,26 @@ install location to your Python path by creating a file with a `.pth'
extension in a directory that _is_ on the Python path, and put the
path to the install location in that file. For example, on my system
there is a file named 'local.pth' in /usr/lib/python2.5/site-packages,
-which contains '/usr/local/lib/python2.5/site-packages'. Note that
-this is only necessary on machines where XCB is being built.
+which contains '/usr/local/lib/python2.5/site-packages'. Note that
+this is only necessary on machines where XCB is being built.
-Please report any issues you find to the freedesktop.org bug tracker,
-at:
+Please report any issues you find to the freedesktop.org bug tracker at:
- <https://bugs.freedesktop.org/enter_bug.cgi?product=XCB>
+ https://gitlab.freedesktop.org/xorg/proto/xcbproto/issues
Discussion about XCB occurs on the XCB mailing list:
- <mailto:xcb at lists.freedesktop.org>
- <http://lists.freedesktop.org/mailman/listinfo/xcb>
+ https://lists.freedesktop.org/mailman/listinfo/xcb
-You can obtain the latest development versions of XCB using GIT.
-For anonymous checkouts, use:
+You can obtain the latest development versions of xcb-proto using GIT from
+the xcbproto code repository at:
- git clone git://anongit.freedesktop.org/git/xcb/proto
+ https://gitlab.freedesktop.org/xorg/proto/xcbproto
-For developers, use:
+ For anonymous checkouts, use:
- git clone git+ssh://git.freedesktop.org/git/xcb/proto
+ git clone https://gitlab.freedesktop.org/xorg/proto/xcbproto.git
+
+ For developers, use:
+
+ git clone git@gitlab.freedesktop.org:xorg/proto/xcbproto.git
diff --git a/proto/xcb-proto/configure.ac b/proto/xcb-proto/configure.ac
index 88b3439c9..14a7c2d08 100644
--- a/proto/xcb-proto/configure.ac
+++ b/proto/xcb-proto/configure.ac
@@ -3,10 +3,10 @@
AC_PREREQ(2.57)
AC_INIT([XCB Proto],
- 1.13,
+ 1.14,
[xcb@lists.freedesktop.org])
AC_CONFIG_SRCDIR([xcb-proto.pc.in])
-AM_INIT_AUTOMAKE([foreign dist-bzip2])
+AM_INIT_AUTOMAKE([foreign dist-xz])
AC_PATH_PROG(XMLLINT, xmllint, no)
AM_CONDITIONAL(HAVE_XMLLINT, test "x$XMLLINT" != "xno")
diff --git a/proto/xcb-proto/py-compile b/proto/xcb-proto/py-compile
index 3693d96b0..9f8baf7ab 100644
--- a/proto/xcb-proto/py-compile
+++ b/proto/xcb-proto/py-compile
@@ -1,9 +1,9 @@
#!/bin/sh
# py-compile - Compile a Python program
-scriptversion=2016-01-11.22; # UTC
+scriptversion=2018-03-07.03; # UTC
-# Copyright (C) 2000-2017 Free Software Foundation, Inc.
+# Copyright (C) 2000-2018 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -16,7 +16,7 @@ scriptversion=2016-01-11.22; # UTC
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
+# along with this program. If not, see <https://www.gnu.org/licenses/>.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
@@ -162,7 +162,7 @@ sys.stdout.write('\n')" 2>/dev/null || :
# Local Variables:
# mode: shell-script
# sh-indentation: 2
-# eval: (add-hook 'write-file-hooks 'time-stamp)
+# eval: (add-hook 'before-save-hook 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-time-zone: "UTC0"
diff --git a/proto/xcb-proto/src/screensaver.xml b/proto/xcb-proto/src/screensaver.xml
index 8d5abb43d..c546f9446 100644
--- a/proto/xcb-proto/src/screensaver.xml
+++ b/proto/xcb-proto/src/screensaver.xml
@@ -168,8 +168,7 @@ Draft Standard Version 1.1
<!-- version 1.1 -->
<request name="Suspend" opcode="5">
- <field type="BOOL" name="suspend" />
- <pad bytes="3" />
+ <field type="CARD32" name="suspend" />
</request>
<!-- Events -->
diff --git a/proto/xcb-proto/xcb-proto.pc.in b/proto/xcb-proto/xcb-proto.pc.in
index d312e6e5d..a35f0bd03 100644
--- a/proto/xcb-proto/xcb-proto.pc.in
+++ b/proto/xcb-proto/xcb-proto.pc.in
@@ -3,8 +3,8 @@ exec_prefix=@exec_prefix@
datarootdir=@datarootdir@
datadir=@datadir@
libdir=@libdir@
-xcbincludedir=@xcbincludedir@
-pythondir=@pythondir@
+xcbincludedir=${pc_sysrootdir}@xcbincludedir@
+pythondir=${pc_sysrootdir}@pythondir@
Name: XCB Proto
Description: X protocol descriptions for XCB
diff --git a/proto/xcb-proto/xcbgen/state.py b/proto/xcb-proto/xcbgen/state.py
index a8346bb20..0dbecdc7b 100644
--- a/proto/xcb-proto/xcbgen/state.py
+++ b/proto/xcb-proto/xcbgen/state.py
@@ -100,12 +100,12 @@ class Module(object):
self.add_type('INT16', '', ('int16_t',), tint16)
self.add_type('INT32', '', ('int32_t',), tint32)
self.add_type('INT64', '', ('int64_t',), tint64)
- self.add_type('BYTE', '', ('uint8_t',), tcard8)
- self.add_type('BOOL', '', ('uint8_t',), tcard8)
+ self.add_type('BYTE', '', ('uint8_t',), tbyte)
+ self.add_type('BOOL', '', ('uint8_t',), tbool)
self.add_type('char', '', ('char',), tchar)
self.add_type('float', '', ('float',), tfloat)
self.add_type('double', '', ('double',), tdouble)
- self.add_type('void', '', ('void',), tcard8)
+ self.add_type('void', '', ('void',), tvoid)
# This goes out and parses the rest of the XML
def register(self):
diff --git a/proto/xcb-proto/xcbgen/xtypes.py b/proto/xcb-proto/xcbgen/xtypes.py
index 1e270ae61..3afc812a4 100644
--- a/proto/xcb-proto/xcbgen/xtypes.py
+++ b/proto/xcb-proto/xcbgen/xtypes.py
@@ -192,12 +192,12 @@ class SimpleType(PrimitiveType):
Any type which is typedef'ed to cardinal will be one of these.
Public fields added:
- none
+ xml_type is the original string describing the type in the XML
'''
- def __init__(self, name, size):
+ def __init__(self, name, size, xml_type=None):
PrimitiveType.__init__(self, name, size)
self.is_simple = True
-
+ self.xml_type = xml_type
def resolve(self, module):
self.resolved = True
@@ -206,24 +206,27 @@ class SimpleType(PrimitiveType):
# Cardinal datatype globals. See module __init__ method.
-tcard8 = SimpleType(('uint8_t',), 1)
-tcard16 = SimpleType(('uint16_t',), 2)
-tcard32 = SimpleType(('uint32_t',), 4)
-tcard64 = SimpleType(('uint64_t',), 8)
-tint8 = SimpleType(('int8_t',), 1)
-tint16 = SimpleType(('int16_t',), 2)
-tint32 = SimpleType(('int32_t',), 4)
-tint64 = SimpleType(('int64_t',), 8)
-tchar = SimpleType(('char',), 1)
-tfloat = SimpleType(('float',), 4)
-tdouble = SimpleType(('double',), 8)
+tcard8 = SimpleType(('uint8_t',), 1, 'CARD8')
+tcard16 = SimpleType(('uint16_t',), 2, 'CARD16')
+tcard32 = SimpleType(('uint32_t',), 4, 'CARD32')
+tcard64 = SimpleType(('uint64_t',), 8, 'CARD64')
+tint8 = SimpleType(('int8_t',), 1, 'INT8')
+tint16 = SimpleType(('int16_t',), 2, 'INT16')
+tint32 = SimpleType(('int32_t',), 4, 'INT32')
+tint64 = SimpleType(('int64_t',), 8, 'INT64')
+tchar = SimpleType(('char',), 1, 'char')
+tfloat = SimpleType(('float',), 4, 'float')
+tdouble = SimpleType(('double',), 8, 'double')
+tbyte = SimpleType(('uint8_t',), 1, 'BYTE')
+tbool = SimpleType(('uint8_t',), 1, 'BOOL')
+tvoid = SimpleType(('uint8_t',), 1, 'void')
class FileDescriptor(SimpleType):
'''
Derived class which represents a file descriptor.
'''
def __init__(self):
- SimpleType.__init__(self, ('int'), 4)
+ SimpleType.__init__(self, ('int'), 4, 'fd')
self.is_fd = True
def fixed_size(self):
@@ -240,7 +243,7 @@ class Enum(SimpleType):
bits contains a list of (name, bitnum) tuples. items only appear if specified as a bit. bitnum is a number.
'''
def __init__(self, name, elt):
- SimpleType.__init__(self, name, 4)
+ SimpleType.__init__(self, name, 4, 'enum')
self.values = []
self.bits = []
self.doc = None
@@ -333,6 +336,9 @@ class ListType(Type):
self.member.resolve(module)
self.expr.resolve(module, self.parents)
+ # resolve() could have changed the size (ComplexType starts with size 0)
+ self.size = self.member.size if self.member.fixed_size() else None
+
self.required_start_align = self.member.required_start_align
# Find my length field again. We need the actual Field object in the expr.
@@ -506,7 +512,6 @@ class ComplexType(Type):
self.nmemb = 1
self.size = 0
self.lenfield_parent = [self]
- self.fds = []
# get required_start_alignment
required_start_align_element = elt.find("required_start_align")