[UPDATE] xcb-proto and libxcb 1.14

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

[UPDATE] xcb-proto and libxcb 1.14

Matthieu Herrb-3
Hi,

the patch below updates XCB (xcb-proto and libxcb) to version 1.14.0.

I've been running this on amd64 for a while. Comments ? ok ?

Note that it goes together with an update to the x11/py-xcbgen port
that I'm sending to ports@ at the same time.

Index: dist/libxcb/ChangeLog
===================================================================
RCS file: /cvs/OpenBSD/xenocara/dist/libxcb/ChangeLog,v
retrieving revision 1.3
diff -u -p -u -r1.3 ChangeLog
--- dist/libxcb/ChangeLog 4 Oct 2018 20:17:48 -0000 1.3
+++ dist/libxcb/ChangeLog 8 Mar 2020 17:55:27 -0000
@@ -1,3 +1,141 @@
+commit 4b40b44cb6d088b6ffa2fb5cf3ad8f12da588cef
+Author: Matt Turner <[hidden email]>
+Date:   Sat Feb 22 12:10:53 2020 -0800
+
+    Release libxcb 1.14
+    
+    Signed-off-by: Matt Turner <[hidden email]>
+
+commit 78c492deaa7ae3aad0b0eeb4b126bb291cc637a7
+Author: Matt Turner <[hidden email]>
+Date:   Sat Feb 22 12:19:58 2020 -0800
+
+    Build xz tarballs instead of bzip2
+    
+    Signed-off-by: Matt Turner <[hidden email]>
+
+commit 8f7e4c4e9fc6ee6b5b5498a7d8af79150be0d26a
+Author: Matt Turner <[hidden email]>
+Date:   Sat Feb 22 11:24:11 2020 -0800
+
+    configure.ac: Depend on pthread-stubs only on not-Linux
+    
+    Signed-off-by: Matt Turner <[hidden email]>
+
+commit f9f4b00aad69ff36e81c63089b1b16660eaca900
+Author: Sam Varshavchik <[hidden email]>
+Date:   Sat Jan 4 10:43:59 2020 -0500
+
+    Implement xcb_total_read() and xcb_total_written().
+    
+    Returns raw byte counts that have been read or written to the
+    xcb_connection_t.
+    
+    I found it very useful when developing a high level widget toolkit, to
+    track down inefficient/sub-optimum code that generates a lot of X
+    protocol traffic.
+    
+    Signed-off-by: Sam Varshavchik <[hidden email]>
+
+commit 59e271e15bcecf0c461cd5c6c59081fb86b96c22
+Author: A. Wilcox <[hidden email]>
+Date:   Mon Dec 23 21:49:29 2019 -0600
+
+    tests: Support Check 0.13.0 API
+    
+    [mattst88]: Keep compatibility  with old API via preprocessor
+    
+    Fixes: #43
+
+commit 21324989b7e121c008a2c4fdf98547541cbf7b83
+Author: Martin Dørum <[hidden email]>
+Date:   Sun May 19 16:05:08 2019 +0200
+
+    Handle EINTR from recvmsg in _xcb_in_read
+    
+    I have a GTK application which occasionally crashes with an "interrupted
+    system call" g_message from gdk. After a lot of debugging, I've found
+    that the call to recvmsg in _xcb_in_read occasionally fails with EINTR,
+    and instead of retrying the system call, xcb would just shut down the
+    connection.
+    
+    This change makes _xcb_in_read treat EINTR the same as it would treat
+    EAGAIN; it returns 1 and libX11 ends up calling xcb_poll_for_event
+    again (from what I have understood).
+    
+    I have spoken with a few people who think recvmsg failing with EINTR in
+    this case shouldn't ever happen, and I don't know enough to agree or
+    disagree with that. In case anyone wants to dig further and try to
+    figure out why the recvmsg call sometimes fails with EINTR, here's the
+    backtrace from inside of _xcb_in_read where that happened:
+    
+    Thread 1 "beanbar" hit Breakpoint 1, _xcb_in_read (c=c@entry=0x55ecbe4aba80) at xcb_in.c:1059
+    1059                fprintf(stderr, "Hello World am %s:%i, errno is %s\n", __FILE__, __LINE__, strerror(errno));
+    (gdb) bt
+    0  0x00007fa48fa48639 in _xcb_in_read (c=c@entry=0x55ecbe4aba80) at xcb_in.c:1059
+    1  0x00007fa48fa489d8 in poll_for_next_event (c=0x55ecbe4aba80, queued=queued@entry=0) at xcb_in.c:352
+    2  0x00007fa48fa48a3d in poll_for_next_event (queued=0, c=<optimized out>) at xcb_in.c:722
+    3  0x00007fa48fa48a3d in xcb_poll_for_event (c=<optimized out>) at xcb_in.c:722
+    4  0x00007fa4908d1b7e in poll_for_event (dpy=dpy@entry=0x55ecbe4a9730, queued_only=queued_only@entry=0) at xcb_io.c:245
+    5  0x00007fa4908d1cf0 in poll_for_response (dpy=dpy@entry=0x55ecbe4a9730) at xcb_io.c:303
+    6  0x00007fa4908d1fed in _XEventsQueued (mode=2, dpy=0x55ecbe4a9730) at xcb_io.c:363
+    7  0x00007fa4908d1fed in _XEventsQueued (dpy=dpy@entry=0x55ecbe4a9730, mode=mode@entry=2) at xcb_io.c:344
+    8  0x00007fa4908c3d47 in XPending (dpy=0x55ecbe4a9730) at Pending.c:55
+    9  0x00007fa493cadbc7 in  () at /usr/lib/libgdk-3.so.0
+    10 0x00007fa49234d08a in g_main_context_prepare () at /usr/lib/libglib-2.0.so.0
+    11 0x00007fa49234d6e6 in  () at /usr/lib/libglib-2.0.so.0
+    12 0x00007fa49234d8ae in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
+    13 0x00007fa4938b920e in g_application_run () at /usr/lib/libgio-2.0.so.0
+    14 0x000055ecbc820af4 in main (argc=1, argv=0x7ffd06238098) at src/main.c:190
+    
+    Signed-off-by: Martin Dørum <[hidden email]>
+
+commit 656c08c5429a3cf53e7abd7fc56cd3c3a79c0f64
+Author: Jon Turney <[hidden email]>
+Date:   Sun Sep 14 00:05:27 2014 +0100
+
+    Include time.h before using time()
+    
+    Signed-off-by: Jon Turney <[hidden email]>
+
+commit be1745c8eb00defcb31d336ccc142de056e92bd8
+Author: Alan Coopersmith <[hidden email]>
+Date:   Sun Feb 17 12:06:10 2019 -0800
+
+    Add README.md to EXTRA_DIST
+    
+    Signed-off-by: Alan Coopersmith <[hidden email]>
+
+commit 58f37377c851960cbf21fac1caf38ab1e66c7d6c
+Author: Eduardo Sánchez Muñoz <[hidden email]>
+Date:   Sun Feb 17 13:33:12 2019 +0100
+
+    Add "ge.*" to src/.gitignore
+
+commit 7bac366953005233fc3c8736e6f1cd5798e65e28
+Author: Alan Coopersmith <[hidden email]>
+Date:   Sat Feb 16 13:41:28 2019 -0800
+
+    Update README for gitlab migration
+    
+    Signed-off-by: Alan Coopersmith <[hidden email]>
+
+commit 02ff3eadf48e6affe3b59ef688312b4dab538e8b
+Author: Alan Coopersmith <[hidden email]>
+Date:   Sat Feb 16 13:20:45 2019 -0800
+
+    Update configure.ac bug URL for gitlab migration
+    
+    Signed-off-by: Alan Coopersmith <[hidden email]>
+
+commit 542befe40a3a7c6a5d1dcb7f38fb9eb261b96b24
+Author: Alan Coopersmith <[hidden email]>
+Date:   Mon Jan 7 14:42:53 2019 -0800
+
+    c_client: fix "adress" typo
+    
+    Signed-off-by: Alan Coopersmith <[hidden email]>
+
 commit 8287ebd7b752c33b0cabc4982606fe4831106f7e
 Author: Uli Schlachter <[hidden email]>
 Date:   Thu Sep 27 14:04:17 2018 +0200
Index: dist/libxcb/Makefile.am
===================================================================
RCS file: /cvs/OpenBSD/xenocara/dist/libxcb/Makefile.am,v
retrieving revision 1.7
diff -u -p -u -r1.7 Makefile.am
--- dist/libxcb/Makefile.am 11 Sep 2018 19:34:56 -0000 1.7
+++ dist/libxcb/Makefile.am 8 Mar 2020 17:55:27 -0000
@@ -99,6 +99,7 @@ tools/README \
 tools/api_conv.pl \
 tools/constants \
 autogen.sh \
+README.md \
 $(TESTS)
 
 MAINTAINERCLEANFILES = ChangeLog INSTALL
Index: dist/libxcb/NEWS
===================================================================
RCS file: /cvs/OpenBSD/xenocara/dist/libxcb/NEWS,v
retrieving revision 1.14
diff -u -p -u -r1.14 NEWS
--- dist/libxcb/NEWS 4 Oct 2018 20:17:48 -0000 1.14
+++ dist/libxcb/NEWS 8 Mar 2020 17:55:27 -0000
@@ -1,3 +1,10 @@
+Release 1.14 (2020-02-22)
+=========================
+* Add xcb_total_read() and xcb_total_written() API
+* Support check >= 0.13 API (for make check)
+* Bug fix to handle EINTR from recvmsg
+* Only require pthread-stubs on non-Linux platforms
+
 Release 1.13.1 (2018-09-27)
 ===========================
 * Don't flag extra reply in xcb_take_socket
Index: dist/libxcb/README
===================================================================
RCS file: dist/libxcb/README
diff -N dist/libxcb/README
--- dist/libxcb/README 22 May 2009 15:55:46 -0000 1.1.1.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,36 +0,0 @@
-About libxcb
-============
-
-libxcb provides an interface to the X Window System protocol, which
-replaces the current Xlib interface. It has several advantages over
-Xlib, including:
-- size: small, simple library, and lower memory footprint
-- latency hiding: batch several requests and wait for the replies later
-- direct protocol access: interface and protocol correspond exactly
-- proven thread support: transparently access XCB from multiple threads
-- easy extension implementation: interfaces auto-generated from XML-XCB
-
-Xlib can also use XCB as a transport layer, allowing software to make
-requests and receive responses with both, which eases porting to XCB.
-However, client programs, libraries, and toolkits will gain the most
-benefit from a native XCB port.
-
-
-Please report any issues you find to the freedesktop.org bug tracker,
-at:
-
- <https://bugs.freedesktop.org/enter_bug.cgi?product=XCB>
-
-Discussion about XCB occurs on the XCB mailing list:
-
-        <mailto:xcb at lists.freedesktop.org>
-        <http://lists.freedesktop.org/mailman/listinfo/xcb>
-
-You can obtain the latest development versions of XCB using GIT.
-For anonymous checkouts, use:
-
-        git clone git://anongit.freedesktop.org/git/xcb/libxcb
-
-For developers, use:
-
-        git clone git+ssh://git.freedesktop.org/git/xcb/libxcb
Index: dist/libxcb/README.md
===================================================================
RCS file: dist/libxcb/README.md
diff -N dist/libxcb/README.md
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ dist/libxcb/README.md 8 Mar 2020 17:55:27 -0000
@@ -0,0 +1,41 @@
+About libxcb
+============
+
+libxcb provides an interface to the X Window System protocol, which
+replaces the traditional Xlib interface. It has several advantages over
+Xlib, including:
+- size: small, simple library, and lower memory footprint
+- latency hiding: batch several requests and wait for the replies later
+- direct protocol access: interface and protocol correspond exactly
+- proven thread support: transparently access XCB from multiple threads
+- easy extension implementation: interfaces auto-generated from XML-XCB
+
+Xlib also uses XCB as a transport layer, allowing software to make
+requests and receive responses with both, which eases porting to XCB.
+However, client programs, libraries, and toolkits will gain the most
+benefit from a native XCB port.
+
+More information about xcb is available from our website:
+
+  https://xcb.freedesktop.org/
+
+Please report any issues you find to the freedesktop.org bug tracker at:
+
+  https://gitlab.freedesktop.org/xorg/lib/libxcb/issues
+
+Discussion about XCB occurs on the XCB mailing list:
+
+  https://lists.freedesktop.org/mailman/listinfo/xcb
+
+You can obtain the latest development versions of XCB using GIT from
+the libxcb code repository at:
+
+  https://gitlab.freedesktop.org/xorg/lib/libxcb
+
+  For anonymous checkouts, use:
+
+    git clone https://gitlab.freedesktop.org/xorg/lib/libxcb.git
+
+  For developers, use:
+
+    git clone [hidden email]:xorg/lib/libxcb.git
Index: dist/libxcb/configure.ac
===================================================================
RCS file: /cvs/OpenBSD/xenocara/dist/libxcb/configure.ac,v
retrieving revision 1.14
diff -u -p -u -r1.14 configure.ac
--- dist/libxcb/configure.ac 4 Oct 2018 20:17:48 -0000 1.14
+++ dist/libxcb/configure.ac 8 Mar 2020 17:55:27 -0000
@@ -2,8 +2,8 @@ dnl Process this file with autoconf to p
 
 # Initialize Autoconf
 AC_PREREQ([2.60])
-AC_INIT([libxcb],[1.13.1],
-        [https://bugs.freedesktop.org/enter_bug.cgi?product=xcb],
+AC_INIT([libxcb],[1.14],
+        [https://gitlab.freedesktop.org/xorg/lib/libxcb/issues],
         [libxcb])
 AC_CONFIG_AUX_DIR([build-aux])
 AC_CONFIG_MACRO_DIR([m4])
@@ -11,7 +11,7 @@ AC_CONFIG_SRCDIR([xcb.pc.in])
 AC_CONFIG_HEADERS([src/config.h])
 
 # Initialize Automake
-AM_INIT_AUTOMAKE([foreign dist-bzip2])
+AM_INIT_AUTOMAKE([foreign dist-xz])
 AM_PATH_PYTHON([2.6])
 
 # Set common system defines for POSIX extensions, such as _GNU_SOURCE
@@ -50,8 +50,12 @@ fi
 AC_SUBST(HTML_CHECK_RESULT)
 
 # Checks for pkg-config packages
-PKG_CHECK_MODULES(XCBPROTO, xcb-proto >= 1.13)
-NEEDED="pthread-stubs xau >= 0.99.2"
+PKG_CHECK_MODULES(XCBPROTO, xcb-proto >= 1.14)
+NEEDED="xau >= 0.99.2"
+case $host_os in
+linux*) ;;
+     *) NEEDED="$NEEDED pthread-stubs" ;;
+esac
 PKG_CHECK_MODULES(NEEDED, $NEEDED)
 
 have_xdmcp="no"
Index: dist/libxcb/m4/libtool.m4
===================================================================
RCS file: /cvs/OpenBSD/xenocara/dist/libxcb/m4/libtool.m4,v
retrieving revision 1.5
diff -u -p -u -r1.5 libtool.m4
--- dist/libxcb/m4/libtool.m4 4 Oct 2018 20:17:48 -0000 1.5
+++ dist/libxcb/m4/libtool.m4 8 Mar 2020 17:55:27 -0000
@@ -728,6 +728,7 @@ _LT_CONFIG_SAVE_COMMANDS([
     cat <<_LT_EOF >> "$cfgfile"
 #! $SHELL
 # Generated automatically by $as_me ($PACKAGE) $VERSION
+# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
 # NOTE: Changes made to this file will be lost: look at ltmain.sh.
 
 # Provide generalized library-building support services.
@@ -1416,10 +1417,10 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*
   x86_64-*linux*)
     LD="${LD-ld} -m elf_x86_64"
     ;;
-  powerpcle-*linux*)
+  powerpcle-*linux*|powerpc64le-*linux*)
     LD="${LD-ld} -m elf64lppc"
     ;;
-  powerpc-*linux*)
+  powerpc-*linux*|powerpc64-*linux*)
     LD="${LD-ld} -m elf64ppc"
     ;;
   s390*-*linux*|s390*-*tpf*)
@@ -1707,6 +1708,11 @@ AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [d
     lt_cv_sys_max_cmd_len=8192;
     ;;
 
+  mint*)
+    # On MiNT this can take a long time and run out of memory.
+    lt_cv_sys_max_cmd_len=8192;
+    ;;
+
   amigaos*)
     # On AmigaOS with pdksh, this test takes hours, literally.
     # So we just punt and use a minimum line length of 8192.
@@ -2635,11 +2641,11 @@ darwin* | rhapsody*)
   version_type=darwin
   need_lib_prefix=no
   need_version=no
-  library_names_spec='$libname$release$major$shared_ext $libname$shared_ext'
+  library_names_spec='$libname$release$versuffix$shared_ext $libname$release$major$shared_ext $libname$shared_ext'
   soname_spec='$libname$release$major$shared_ext'
   shlibpath_overrides_runpath=yes
   shlibpath_var=DYLD_LIBRARY_PATH
-  shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
+  shrext_cmds='`test .$module = .yes && echo .bundle || echo .dylib`'
 m4_if([$1], [],[
   sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"])
   sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
@@ -2665,7 +2671,14 @@ freebsd* | dragonfly*)
     *) objformat=elf ;;
     esac
   fi
-  version_type=freebsd-$objformat
+  # Handle Gentoo/FreeBSD as it was Linux
+  case $host_vendor in
+    gentoo)
+      version_type=linux ;;
+    *)
+      version_type=freebsd-$objformat ;;
+  esac
+
   case $version_type in
     freebsd-elf*)
       library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
@@ -2677,6 +2690,12 @@ freebsd* | dragonfly*)
       library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
       need_version=yes
       ;;
+    linux)
+      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+      soname_spec='${libname}${release}${shared_ext}$major'
+      need_lib_prefix=no
+      need_version=no
+      ;;
   esac
   shlibpath_var=LD_LIBRARY_PATH
   case $host_os in
@@ -2886,18 +2905,6 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu
   dynamic_linker='GNU/Linux ld.so'
   ;;
 
-netbsdelf*-gnu)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  dynamic_linker='NetBSD ld.elf_so'
-  ;;
-
 netbsd*)
   version_type=sunos
   need_lib_prefix=no
@@ -3557,7 +3564,7 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu
   lt_cv_deplibs_check_method=pass_all
   ;;
 
-netbsd* | netbsdelf*-gnu)
+netbsd*)
   if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
     lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
   else
@@ -4435,7 +4442,7 @@ m4_if([$1], [CXX], [
     ;;
  esac
  ;;
-      netbsd* | netbsdelf*-gnu)
+      netbsd*)
  ;;
       *qnx* | *nto*)
         # QNX uses GNU C++, but need to define -shared option too, otherwise
@@ -4947,9 +4954,6 @@ m4_if([$1], [CXX], [
       ;;
     esac
     ;;
-  linux* | k*bsd*-gnu | gnu*)
-    _LT_TAGVAR(link_all_deplibs, $1)=no
-    ;;
   *)
     _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
     ;;
@@ -5012,9 +5016,6 @@ dnl Note also adjust exclude_expsyms for
   openbsd* | bitrig*)
     with_gnu_ld=no
     ;;
-  linux* | k*bsd*-gnu | gnu*)
-    _LT_TAGVAR(link_all_deplibs, $1)=no
-    ;;
   esac
 
   _LT_TAGVAR(ld_shlibs, $1)=yes
@@ -5269,7 +5270,7 @@ _LT_EOF
       fi
       ;;
 
-    netbsd* | netbsdelf*-gnu)
+    netbsd*)
       if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
  _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
  wlarc=
@@ -5790,7 +5791,6 @@ _LT_EOF
  if test yes = "$lt_cv_irix_exported_symbol"; then
           _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib'
  fi
- _LT_TAGVAR(link_all_deplibs, $1)=no
       else
  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
  _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -exports_file $export_symbols -o $lib'
@@ -5812,7 +5812,7 @@ _LT_EOF
       esac
       ;;
 
-    netbsd* | netbsdelf*-gnu)
+    netbsd*)
       if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
  _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
       else
@@ -6438,7 +6438,7 @@ if test yes != "$_lt_caught_CXX_error";
       # Commands to make compiler produce verbose output that lists
       # what "hidden" libraries, object files and flags are used when
       # linking a shared library.
-      output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"'
+      output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
 
     else
       GXX=no
@@ -6813,7 +6813,7 @@ if test yes != "$_lt_caught_CXX_error";
             # explicitly linking system object files so we need to strip them
             # from the output so that they don't get included in the library
             # dependencies.
-            output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP " \-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
+            output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
             ;;
           *)
             if test yes = "$GXX"; then
@@ -6878,7 +6878,7 @@ if test yes != "$_lt_caught_CXX_error";
     # explicitly linking system object files so we need to strip them
     # from the output so that they don't get included in the library
     # dependencies.
-    output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP " \-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
+    output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
     ;;
           *)
     if test yes = "$GXX"; then
@@ -7217,7 +7217,7 @@ if test yes != "$_lt_caught_CXX_error";
       # Commands to make compiler produce verbose output that lists
       # what "hidden" libraries, object files and flags are used when
       # linking a shared library.
-      output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"'
+      output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
 
     else
       # FIXME: insert proper C++ library support
@@ -7301,7 +7301,7 @@ if test yes != "$_lt_caught_CXX_error";
         # Commands to make compiler produce verbose output that lists
         # what "hidden" libraries, object files and flags are used when
         # linking a shared library.
-        output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"'
+        output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
       else
         # g++ 2.7 appears to require '-G' NOT '-shared' on this
         # platform.
@@ -7312,7 +7312,7 @@ if test yes != "$_lt_caught_CXX_error";
         # Commands to make compiler produce verbose output that lists
         # what "hidden" libraries, object files and flags are used when
         # linking a shared library.
-        output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"'
+        output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
       fi
 
       _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $wl$libdir'
Index: dist/libxcb/src/c_client.py
===================================================================
RCS file: /cvs/OpenBSD/xenocara/dist/libxcb/src/c_client.py,v
retrieving revision 1.10
diff -u -p -u -r1.10 c_client.py
--- dist/libxcb/src/c_client.py 11 Sep 2018 19:34:56 -0000 1.10
+++ dist/libxcb/src/c_client.py 8 Mar 2020 17:55:27 -0000
@@ -1933,7 +1933,7 @@ def _c_accessors_list(self, field):
                 else:
                     # 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
+                    # the address 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)
Index: dist/libxcb/src/xcb.h
===================================================================
RCS file: /cvs/OpenBSD/xenocara/dist/libxcb/src/xcb.h,v
retrieving revision 1.9
diff -u -p -u -r1.9 xcb.h
--- dist/libxcb/src/xcb.h 11 Sep 2018 19:34:56 -0000 1.9
+++ dist/libxcb/src/xcb.h 8 Mar 2020 17:55:27 -0000
@@ -600,6 +600,35 @@ uint32_t xcb_generate_id(xcb_connection_
 
 
 /**
+ * @brief Obtain number of bytes read from the connection.
+ * @param c The connection
+ * @return Number of bytes read from the server.
+ *
+ * Returns cumulative number of bytes received from the connection.
+ *
+ * This retrieves the total number of bytes read from this connection,
+ * to be used for diagnostic/monitoring/informative purposes.
+ */
+
+uint64_t
+xcb_total_read(xcb_connection_t *c);
+
+/**
+ *
+ * @brief Obtain number of bytes written to the connection.
+ * @param c The connection
+ * @return Number of bytes written to the server.
+ *
+ * Returns cumulative number of bytes sent to the connection.
+ *
+ * This retrieves the total number of bytes written to this connection,
+ * to be used for diagnostic/monitoring/informative purposes.
+ */
+
+uint64_t
+xcb_total_written(xcb_connection_t *c);
+
+/**
  * @}
  */
 
Index: dist/libxcb/src/xcb_auth.c
===================================================================
RCS file: /cvs/OpenBSD/xenocara/dist/libxcb/src/xcb_auth.c,v
retrieving revision 1.6
diff -u -p -u -r1.6 xcb_auth.c
--- dist/libxcb/src/xcb_auth.c 26 Jan 2015 21:32:11 -0000 1.6
+++ dist/libxcb/src/xcb_auth.c 8 Mar 2020 17:55:27 -0000
@@ -34,6 +34,7 @@
 #include <sys/param.h>
 #include <unistd.h>
 #include <stdlib.h>
+#include <time.h>
 
 #ifdef __INTERIX
 /* _don't_ ask. interix has INADDR_LOOPBACK in here. */
Index: dist/libxcb/src/xcb_conn.c
===================================================================
RCS file: /cvs/OpenBSD/xenocara/dist/libxcb/src/xcb_conn.c,v
retrieving revision 1.10
diff -u -p -u -r1.10 xcb_conn.c
--- dist/libxcb/src/xcb_conn.c 2 Sep 2016 10:09:43 -0000 1.10
+++ dist/libxcb/src/xcb_conn.c 8 Mar 2020 17:55:27 -0000
@@ -287,6 +287,7 @@ static int write_vec(xcb_connection_t *c
         return 0;
     }
 
+    c->out.total_written += n;
     for(; *count; --*count, ++*vector)
     {
         int cur = (*vector)->iov_len;
@@ -527,4 +528,31 @@ int _xcb_conn_wait(xcb_connection_t *c,
     --c->in.reading;
 
     return ret;
+}
+
+uint64_t xcb_total_read(xcb_connection_t *c)
+{
+    uint64_t n;
+
+    if (xcb_connection_has_error(c))
+        return 0;
+
+    pthread_mutex_lock(&c->iolock);
+    n = c->in.total_read;
+    pthread_mutex_unlock(&c->iolock);
+    return n;
+}
+
+uint64_t xcb_total_written(xcb_connection_t *c)
+{
+    uint64_t n;
+
+    if (xcb_connection_has_error(c))
+        return 0;
+
+    pthread_mutex_lock(&c->iolock);
+    n = c->out.total_written;
+    pthread_mutex_unlock(&c->iolock);
+
+    return n;
 }
Index: dist/libxcb/src/xcb_in.c
===================================================================
RCS file: /cvs/OpenBSD/xenocara/dist/libxcb/src/xcb_in.c,v
retrieving revision 1.13
diff -u -p -u -r1.13 xcb_in.c
--- dist/libxcb/src/xcb_in.c 4 Oct 2018 20:17:48 -0000 1.13
+++ dist/libxcb/src/xcb_in.c 8 Mar 2020 17:55:27 -0000
@@ -1025,6 +1025,7 @@ int _xcb_in_read(xcb_connection_t *c)
             }
         }
 #endif
+        c->in.total_read += n;
         c->in.queue_len += n;
     }
     while(read_packet(c))
@@ -1051,7 +1052,7 @@ int _xcb_in_read(xcb_connection_t *c)
     }
 #endif
 #ifndef _WIN32
-    if((n > 0) || (n < 0 && errno == EAGAIN))
+    if((n > 0) || (n < 0 && (errno == EAGAIN || errno == EINTR)))
 #else
     if((n > 0) || (n < 0 && WSAGetLastError() == WSAEWOULDBLOCK))
 #endif /* !_WIN32 */
Index: dist/libxcb/src/xcbint.h
===================================================================
RCS file: /cvs/OpenBSD/xenocara/dist/libxcb/src/xcbint.h,v
retrieving revision 1.8
diff -u -p -u -r1.8 xcbint.h
--- dist/libxcb/src/xcbint.h 30 Sep 2015 09:13:41 -0000 1.8
+++ dist/libxcb/src/xcbint.h 8 Mar 2020 17:55:27 -0000
@@ -103,6 +103,7 @@ typedef struct _xcb_out {
 
     uint64_t request;
     uint64_t request_written;
+    uint64_t total_written;
 
     pthread_mutex_t reqlenlock;
     enum lazy_reply_tag maximum_request_length_tag;
@@ -135,6 +136,7 @@ typedef struct _xcb_in {
     uint64_t request_expected;
     uint64_t request_read;
     uint64_t request_completed;
+    uint64_t total_read;
     struct reply_list *current_reply;
     struct reply_list **current_reply_tail;
 
Index: dist/libxcb/tests/check_all.c
===================================================================
RCS file: /cvs/OpenBSD/xenocara/dist/libxcb/tests/check_all.c,v
retrieving revision 1.1.1.1
diff -u -p -u -r1.1.1.1 check_all.c
--- dist/libxcb/tests/check_all.c 22 May 2009 15:56:14 -0000 1.1.1.1
+++ dist/libxcb/tests/check_all.c 8 Mar 2020 17:55:27 -0000
@@ -1,10 +1,19 @@
 #include <stdlib.h>
 #include "check_suites.h"
 
+#if CHECK_MAJOR_VERSION == 0 && CHECK_MINOR_VERSION < 13
 void suite_add_test(Suite *s, TFun tf, const char *name)
+#else
+void suite_add_test(Suite *s, const TTest *tt, const char *name)
+#endif
 {
  TCase *tc = tcase_create(name);
+
+#if CHECK_MAJOR_VERSION == 0 && CHECK_MINOR_VERSION < 13
  tcase_add_test(tc, tf);
+#else
+ tcase_add_test(tc, tt);
+#endif
  suite_add_tcase(s, tc);
 }
 
Index: dist/libxcb/tests/check_suites.h
===================================================================
RCS file: /cvs/OpenBSD/xenocara/dist/libxcb/tests/check_suites.h,v
retrieving revision 1.1.1.1
diff -u -p -u -r1.1.1.1 check_suites.h
--- dist/libxcb/tests/check_suites.h 22 May 2009 15:56:14 -0000 1.1.1.1
+++ dist/libxcb/tests/check_suites.h 8 Mar 2020 17:55:27 -0000
@@ -1,4 +1,8 @@
 #include <check.h>
 
+#if CHECK_MAJOR_VERSION == 0 && CHECK_MINOR_VERSION < 13
 void suite_add_test(Suite *s, TFun tf, const char *name);
+#else
+void suite_add_test(Suite *s, const TTest *tt, const char *name);
+#endif
 Suite *public_suite(void);
Index: lib/libxcb/libxcb/shlib_version
===================================================================
RCS file: /cvs/OpenBSD/xenocara/lib/libxcb/libxcb/shlib_version,v
retrieving revision 1.9
diff -u -p -u -r1.9 shlib_version
--- lib/libxcb/libxcb/shlib_version 2 Sep 2016 10:09:43 -0000 1.9
+++ lib/libxcb/libxcb/shlib_version 8 Mar 2020 17:55:27 -0000
@@ -1,2 +1,2 @@
 major=4
-minor=0
+minor=1
Index: lib/libxcb/libxcb-screensaver/shlib_version
===================================================================
RCS file: /cvs/OpenBSD/xenocara/lib/libxcb/libxcb-screensaver/shlib_version,v
retrieving revision 1.4
diff -u -p -u -r1.4 shlib_version
--- lib/libxcb/libxcb-screensaver/shlib_version 2 Sep 2016 10:09:43 -0000 1.4
+++ lib/libxcb/libxcb-screensaver/shlib_version 8 Mar 2020 17:55:27 -0000
@@ -1,2 +1,2 @@
-major=1
-minor=1
+major=2
+minor=0
Index: lib/libxcb/src/Makefile
===================================================================
RCS file: /cvs/OpenBSD/xenocara/lib/libxcb/src/Makefile,v
retrieving revision 1.11
diff -u -p -u -r1.11 Makefile
--- lib/libxcb/src/Makefile 4 Oct 2018 20:17:48 -0000 1.11
+++ lib/libxcb/src/Makefile 8 Mar 2020 17:55:27 -0000
@@ -6,7 +6,7 @@
 DATADIR= ${X11BASE}/share
 PYTHON= python${PYTHON_VERSION}
 
-MANOPTIONS= -c 'libxcb 1.13.1' -l 'X Version 11' -s 3
+MANOPTIONS= -c 'libxcb 1.14' -l 'X Version 11' -s 3
 
 SRCS= \
  bigreq.c \
Index: lib/libxcb/src/screensaver.c
===================================================================
RCS file: /cvs/OpenBSD/xenocara/lib/libxcb/src/screensaver.c,v
retrieving revision 1.5
diff -u -p -u -r1.5 screensaver.c
--- lib/libxcb/src/screensaver.c 2 Sep 2016 10:09:44 -0000 1.5
+++ lib/libxcb/src/screensaver.c 8 Mar 2020 17:55:27 -0000
@@ -797,7 +797,7 @@ xcb_screensaver_unset_attributes (xcb_co
 
 xcb_void_cookie_t
 xcb_screensaver_suspend_checked (xcb_connection_t *c,
-                                 uint8_t           suspend)
+                                 uint32_t          suspend)
 {
     static const xcb_protocol_request_t xcb_req = {
         .count = 2,
@@ -811,7 +811,6 @@ xcb_screensaver_suspend_checked (xcb_con
     xcb_screensaver_suspend_request_t xcb_out;
 
     xcb_out.suspend = suspend;
-    memset(xcb_out.pad0, 0, 3);
 
     xcb_parts[2].iov_base = (char *) &xcb_out;
     xcb_parts[2].iov_len = sizeof(xcb_out);
@@ -824,7 +823,7 @@ xcb_screensaver_suspend_checked (xcb_con
 
 xcb_void_cookie_t
 xcb_screensaver_suspend (xcb_connection_t *c,
-                         uint8_t           suspend)
+                         uint32_t          suspend)
 {
     static const xcb_protocol_request_t xcb_req = {
         .count = 2,
@@ -838,7 +837,6 @@ xcb_screensaver_suspend (xcb_connection_
     xcb_screensaver_suspend_request_t xcb_out;
 
     xcb_out.suspend = suspend;
-    memset(xcb_out.pad0, 0, 3);
 
     xcb_parts[2].iov_base = (char *) &xcb_out;
     xcb_parts[2].iov_len = sizeof(xcb_out);
Index: lib/libxcb/src/screensaver.h
===================================================================
RCS file: /cvs/OpenBSD/xenocara/lib/libxcb/src/screensaver.h,v
retrieving revision 1.5
diff -u -p -u -r1.5 screensaver.h
--- lib/libxcb/src/screensaver.h 2 Sep 2016 10:09:44 -0000 1.5
+++ lib/libxcb/src/screensaver.h 8 Mar 2020 17:55:27 -0000
@@ -193,8 +193,7 @@ typedef struct xcb_screensaver_suspend_r
     uint8_t  major_opcode;
     uint8_t  minor_opcode;
     uint16_t length;
-    uint8_t  suspend;
-    uint8_t  pad0[3];
+    uint32_t suspend;
 } xcb_screensaver_suspend_request_t;
 
 /** Opcode for xcb_screensaver_notify. */
@@ -492,7 +491,7 @@ xcb_screensaver_unset_attributes (xcb_co
  */
 xcb_void_cookie_t
 xcb_screensaver_suspend_checked (xcb_connection_t *c,
-                                 uint8_t           suspend);
+                                 uint32_t          suspend);
 
 /**
  *
@@ -504,7 +503,7 @@ xcb_screensaver_suspend_checked (xcb_con
  */
 xcb_void_cookie_t
 xcb_screensaver_suspend (xcb_connection_t *c,
-                         uint8_t           suspend);
+                         uint32_t          suspend);
 
 
 #ifdef __cplusplus
Index: proto/xcb-proto/Makefile.am
===================================================================
RCS file: /cvs/OpenBSD/xenocara/proto/xcb-proto/Makefile.am,v
retrieving revision 1.2
diff -u -p -u -r1.2 Makefile.am
--- proto/xcb-proto/Makefile.am 15 Mar 2014 17:24:19 -0000 1.2
+++ proto/xcb-proto/Makefile.am 8 Mar 2020 17:55:27 -0000
@@ -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
Index: proto/xcb-proto/NEWS
===================================================================
RCS file: /cvs/OpenBSD/xenocara/proto/xcb-proto/NEWS,v
retrieving revision 1.8
diff -u -p -u -r1.8 NEWS
--- proto/xcb-proto/NEWS 11 Sep 2018 19:31:11 -0000 1.8
+++ proto/xcb-proto/NEWS 8 Mar 2020 17:55:27 -0000
@@ -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
Index: proto/xcb-proto/README
===================================================================
RCS file: proto/xcb-proto/README
diff -N proto/xcb-proto/README
--- proto/xcb-proto/README 22 May 2009 15:48:38 -0000 1.1.1.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,47 +0,0 @@
-About xcb-proto
-===============
-
-xcb-proto provides the XML-XCB protocol descriptions that libxcb uses to
-generate the majority of its code and API. We provide them separately
-from libxcb to allow reuse by other projects, such as additional
-language bindings, protocol dissectors, or documentation generators.
-
-This separation between the XCB transport layer and the
-automatically-generated protocol layer also makes it far easier to write
-new extensions. With the Xlib infrastructure, client-side support for
-new extensions requires significant duplication of effort. With XCB and
-the XML-XCB protocol descriptions, client-side support for a new
-extension requires only an XML description of the extension, and not a
-single line of code.
-
-Python libraries: xcb-proto also contains language-independent Python
-libraries that are used to parse an XML description and create objects
-used by Python code generators in individual language bindings.  These
-libraries are installed into $(prefix)/lib/pythonX.X/site-packages.  If
-this location is not on your system's Python path, scripts that import
-them will fail with import errors.  In this case you must add the
-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.
-
-Please report any issues you find to the freedesktop.org bug tracker,
-at:
-
- <https://bugs.freedesktop.org/enter_bug.cgi?product=XCB>
-
-Discussion about XCB occurs on the XCB mailing list:
-
-        <mailto:xcb at lists.freedesktop.org>
-        <http://lists.freedesktop.org/mailman/listinfo/xcb>
-
-You can obtain the latest development versions of XCB using GIT.
-For anonymous checkouts, use:
-
-        git clone git://anongit.freedesktop.org/git/xcb/proto
-
-For developers, use:
-
-        git clone git+ssh://git.freedesktop.org/git/xcb/proto
Index: proto/xcb-proto/README.md
===================================================================
RCS file: proto/xcb-proto/README.md
diff -N proto/xcb-proto/README.md
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ proto/xcb-proto/README.md 8 Mar 2020 17:55:27 -0000
@@ -0,0 +1,49 @@
+About xcb-proto
+===============
+
+xcb-proto provides the XML-XCB protocol descriptions that libxcb uses to
+generate the majority of its code and API. We provide them separately
+from libxcb to allow reuse by other projects, such as additional
+language bindings, protocol dissectors, or documentation generators.
+
+This separation between the XCB transport layer and the
+automatically-generated protocol layer also makes it far easier to write
+new extensions. With the Xlib infrastructure, client-side support for
+new extensions requires significant duplication of effort. With XCB and
+the XML-XCB protocol descriptions, client-side support for a new
+extension requires only an XML description of the extension, and not a
+single line of code.
+
+Python libraries: xcb-proto also contains language-independent Python
+libraries that are used to parse an XML description and create objects
+used by Python code generators in individual language bindings.  These
+libraries are installed into $(prefix)/lib/pythonX.X/site-packages.  If
+this location is not on your system's Python path, scripts that import
+them will fail with import errors.  In this case you must add the
+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.
+
+Please report any issues you find to the freedesktop.org bug tracker at:
+
+  https://gitlab.freedesktop.org/xorg/proto/xcbproto/issues
+
+Discussion about XCB occurs on the XCB mailing list:
+
+  https://lists.freedesktop.org/mailman/listinfo/xcb
+
+You can obtain the latest development versions of xcb-proto using GIT from
+the xcbproto code repository at:
+
+  https://gitlab.freedesktop.org/xorg/proto/xcbproto
+
+  For anonymous checkouts, use:
+
+    git clone https://gitlab.freedesktop.org/xorg/proto/xcbproto.git
+
+  For developers, use:
+
+    git clone [hidden email]:xorg/proto/xcbproto.git
Index: proto/xcb-proto/configure.ac
===================================================================
RCS file: /cvs/OpenBSD/xenocara/proto/xcb-proto/configure.ac,v
retrieving revision 1.8
diff -u -p -u -r1.8 configure.ac
--- proto/xcb-proto/configure.ac 11 Sep 2018 19:31:11 -0000 1.8
+++ proto/xcb-proto/configure.ac 8 Mar 2020 17:55:27 -0000
@@ -3,10 +3,10 @@
 
 AC_PREREQ(2.57)
 AC_INIT([XCB Proto],
-        1.13,
+        1.14,
         [[hidden email]])
 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")
Index: proto/xcb-proto/py-compile
===================================================================
RCS file: /cvs/OpenBSD/xenocara/proto/xcb-proto/py-compile,v
retrieving revision 1.5
diff -u -p -u -r1.5 py-compile
--- proto/xcb-proto/py-compile 11 Sep 2018 19:31:11 -0000 1.5
+++ proto/xcb-proto/py-compile 8 Mar 2020 17:55:27 -0000
@@ -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"
Index: proto/xcb-proto/xcb-proto.pc.in
===================================================================
RCS file: /cvs/OpenBSD/xenocara/proto/xcb-proto/xcb-proto.pc.in,v
retrieving revision 1.2
diff -u -p -u -r1.2 xcb-proto.pc.in
--- proto/xcb-proto/xcb-proto.pc.in 27 Mar 2012 19:12:47 -0000 1.2
+++ proto/xcb-proto/xcb-proto.pc.in 8 Mar 2020 17:55:27 -0000
@@ -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
Index: proto/xcb-proto/src/screensaver.xml
===================================================================
RCS file: /cvs/OpenBSD/xenocara/proto/xcb-proto/src/screensaver.xml,v
retrieving revision 1.3
diff -u -p -u -r1.3 screensaver.xml
--- proto/xcb-proto/src/screensaver.xml 2 Sep 2016 10:09:44 -0000 1.3
+++ proto/xcb-proto/src/screensaver.xml 8 Mar 2020 17:55:27 -0000
@@ -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 -->
Index: proto/xcb-proto/xcbgen/state.py
===================================================================
RCS file: /cvs/OpenBSD/xenocara/proto/xcb-proto/xcbgen/state.py,v
retrieving revision 1.5
diff -u -p -u -r1.5 state.py
--- proto/xcb-proto/xcbgen/state.py 11 Sep 2018 19:31:11 -0000 1.5
+++ proto/xcb-proto/xcbgen/state.py 8 Mar 2020 17:55:27 -0000
@@ -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):
Index: proto/xcb-proto/xcbgen/xtypes.py
===================================================================
RCS file: /cvs/OpenBSD/xenocara/proto/xcb-proto/xcbgen/xtypes.py,v
retrieving revision 1.7
diff -u -p -u -r1.7 xtypes.py
--- proto/xcb-proto/xcbgen/xtypes.py 11 Sep 2018 19:31:11 -0000 1.7
+++ proto/xcb-proto/xcbgen/xtypes.py 8 Mar 2020 17:55:27 -0000
@@ -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")
Index: distrib/sets/lists/xbase/mi
===================================================================
RCS file: /cvs/OpenBSD/xenocara/distrib/sets/lists/xbase/mi,v
retrieving revision 1.125
diff -u -p -u -r1.125 mi
--- distrib/sets/lists/xbase/mi 4 Jan 2020 18:04:05 -0000 1.125
+++ distrib/sets/lists/xbase/mi 22 Mar 2020 19:05:03 -0000
@@ -358,7 +358,7 @@
 ./usr/X11R6/lib/libxcb-res.a
 ./usr/X11R6/lib/libxcb-res.so.1.1
 ./usr/X11R6/lib/libxcb-screensaver.a
-./usr/X11R6/lib/libxcb-screensaver.so.1.1
+./usr/X11R6/lib/libxcb-screensaver.so.2.0
 ./usr/X11R6/lib/libxcb-shape.a
 ./usr/X11R6/lib/libxcb-shape.so.1.1
 ./usr/X11R6/lib/libxcb-shm.a
@@ -388,7 +388,7 @@
 ./usr/X11R6/lib/libxcb-xvmc.a
 ./usr/X11R6/lib/libxcb-xvmc.so.1.0
 ./usr/X11R6/lib/libxcb.a
-./usr/X11R6/lib/libxcb.so.4.0
+./usr/X11R6/lib/libxcb.so.4.1
 ./usr/X11R6/lib/libxkbfile.a
 ./usr/X11R6/lib/libxkbfile.la
 ./usr/X11R6/lib/libxkbfile.so.6.0

--
Matthieu Herrb

Reply | Threaded
Open this post in threaded view
|

Re: [UPDATE] xcb-proto and libxcb 1.14

Matthieu Herrb-3
On Sun, Mar 22, 2020 at 08:13:11PM +0100, Matthieu Herrb wrote:
> Hi,
>
> the patch below updates XCB (xcb-proto and libxcb) to version 1.14.0.
>
> I've been running this on amd64 for a while. Comments ? ok ?
>
> Note that it goes together with an update to the x11/py-xcbgen port
> that I'm sending to ports@ at the same time.

Ping

--
Matthieu Herrb