summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dist/libxcb/ChangeLog138
-rw-r--r--dist/libxcb/Makefile.am1
-rw-r--r--dist/libxcb/NEWS7
-rw-r--r--dist/libxcb/README.md (renamed from dist/libxcb/README)29
-rw-r--r--dist/libxcb/configure.ac14
-rw-r--r--dist/libxcb/m4/libtool.m468
-rw-r--r--dist/libxcb/src/c_client.py2
-rw-r--r--dist/libxcb/src/xcb.h29
-rw-r--r--dist/libxcb/src/xcb_auth.c1
-rw-r--r--dist/libxcb/src/xcb_conn.c28
-rw-r--r--dist/libxcb/src/xcb_in.c3
-rw-r--r--dist/libxcb/src/xcbint.h2
-rw-r--r--dist/libxcb/tests/check_all.c9
-rw-r--r--dist/libxcb/tests/check_suites.h4
-rw-r--r--lib/libxcb/libxcb-screensaver/shlib_version4
-rw-r--r--lib/libxcb/libxcb/shlib_version2
-rw-r--r--lib/libxcb/src/Makefile4
-rw-r--r--lib/libxcb/src/screensaver.c6
-rw-r--r--lib/libxcb/src/screensaver.h7
-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
28 files changed, 347 insertions, 109 deletions
diff --git a/dist/libxcb/ChangeLog b/dist/libxcb/ChangeLog
index 2581a818a..b94abb472 100644
--- a/dist/libxcb/ChangeLog
+++ b/dist/libxcb/ChangeLog
@@ -1,3 +1,141 @@
+commit 4b40b44cb6d088b6ffa2fb5cf3ad8f12da588cef
+Author: Matt Turner <mattst88@gmail.com>
+Date: Sat Feb 22 12:10:53 2020 -0800
+
+ Release libxcb 1.14
+
+ Signed-off-by: Matt Turner <mattst88@gmail.com>
+
+commit 78c492deaa7ae3aad0b0eeb4b126bb291cc637a7
+Author: Matt Turner <mattst88@gmail.com>
+Date: Sat Feb 22 12:19:58 2020 -0800
+
+ Build xz tarballs instead of bzip2
+
+ Signed-off-by: Matt Turner <mattst88@gmail.com>
+
+commit 8f7e4c4e9fc6ee6b5b5498a7d8af79150be0d26a
+Author: Matt Turner <mattst88@gmail.com>
+Date: Sat Feb 22 11:24:11 2020 -0800
+
+ configure.ac: Depend on pthread-stubs only on not-Linux
+
+ Signed-off-by: Matt Turner <mattst88@gmail.com>
+
+commit f9f4b00aad69ff36e81c63089b1b16660eaca900
+Author: Sam Varshavchik <mrsam@courier-mta.com>
+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 <mrsam@courier-mta.com>
+
+commit 59e271e15bcecf0c461cd5c6c59081fb86b96c22
+Author: A. Wilcox <AWilcox@Wilcox-Tech.com>
+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 <martid0311@gmail.com>
+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 <martid0311@gmail.com>
+
+commit 656c08c5429a3cf53e7abd7fc56cd3c3a79c0f64
+Author: Jon Turney <jon.turney@dronecode.org.uk>
+Date: Sun Sep 14 00:05:27 2014 +0100
+
+ Include time.h before using time()
+
+ Signed-off-by: Jon Turney <jon.turney@dronecode.org.uk>
+
+commit be1745c8eb00defcb31d336ccc142de056e92bd8
+Author: Alan Coopersmith <alan.coopersmith@oracle.com>
+Date: Sun Feb 17 12:06:10 2019 -0800
+
+ Add README.md to EXTRA_DIST
+
+ Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
+
+commit 58f37377c851960cbf21fac1caf38ab1e66c7d6c
+Author: Eduardo Sánchez Muñoz <esm@eduardosm.net>
+Date: Sun Feb 17 13:33:12 2019 +0100
+
+ Add "ge.*" to src/.gitignore
+
+commit 7bac366953005233fc3c8736e6f1cd5798e65e28
+Author: Alan Coopersmith <alan.coopersmith@oracle.com>
+Date: Sat Feb 16 13:41:28 2019 -0800
+
+ Update README for gitlab migration
+
+ Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
+
+commit 02ff3eadf48e6affe3b59ef688312b4dab538e8b
+Author: Alan Coopersmith <alan.coopersmith@oracle.com>
+Date: Sat Feb 16 13:20:45 2019 -0800
+
+ Update configure.ac bug URL for gitlab migration
+
+ Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
+
+commit 542befe40a3a7c6a5d1dcb7f38fb9eb261b96b24
+Author: Alan Coopersmith <alan.coopersmith@oracle.com>
+Date: Mon Jan 7 14:42:53 2019 -0800
+
+ c_client: fix "adress" typo
+
+ Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
+
commit 8287ebd7b752c33b0cabc4982606fe4831106f7e
Author: Uli Schlachter <psychon@znc.in>
Date: Thu Sep 27 14:04:17 2018 +0200
diff --git a/dist/libxcb/Makefile.am b/dist/libxcb/Makefile.am
index 57c3a7b8a..fbf6e048b 100644
--- a/dist/libxcb/Makefile.am
+++ b/dist/libxcb/Makefile.am
@@ -99,6 +99,7 @@ tools/README \
tools/api_conv.pl \
tools/constants \
autogen.sh \
+README.md \
$(TESTS)
MAINTAINERCLEANFILES = ChangeLog INSTALL
diff --git a/dist/libxcb/NEWS b/dist/libxcb/NEWS
index b2ab096a6..224544b4d 100644
--- a/dist/libxcb/NEWS
+++ b/dist/libxcb/NEWS
@@ -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
diff --git a/dist/libxcb/README b/dist/libxcb/README.md
index 167c8aca6..a18c73c64 100644
--- a/dist/libxcb/README
+++ b/dist/libxcb/README.md
@@ -2,7 +2,7 @@ About libxcb
============
libxcb provides an interface to the X Window System protocol, which
-replaces the current Xlib interface. It has several advantages over
+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
@@ -10,27 +10,32 @@ Xlib, including:
- 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
+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:
-Please report any issues you find to the freedesktop.org bug tracker,
-at:
+ https://xcb.freedesktop.org/
- <https://bugs.freedesktop.org/enter_bug.cgi?product=XCB>
+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:
- <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 from
+the libxcb code repository at:
+
+ https://gitlab.freedesktop.org/xorg/lib/libxcb
-You can obtain the latest development versions of XCB using GIT.
-For anonymous checkouts, use:
+ For anonymous checkouts, use:
- git clone git://anongit.freedesktop.org/git/xcb/libxcb
+ git clone https://gitlab.freedesktop.org/xorg/lib/libxcb.git
-For developers, use:
+ For developers, use:
- git clone git+ssh://git.freedesktop.org/git/xcb/libxcb
+ git clone git@gitlab.freedesktop.org:xorg/lib/libxcb.git
diff --git a/dist/libxcb/configure.ac b/dist/libxcb/configure.ac
index 8a05bf1aa..adb48e789 100644
--- a/dist/libxcb/configure.ac
+++ b/dist/libxcb/configure.ac
@@ -2,8 +2,8 @@ dnl Process this file with autoconf to produce a configure script.
# 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"
diff --git a/dist/libxcb/m4/libtool.m4 b/dist/libxcb/m4/libtool.m4
index e67ed6997..ae7c90613 100644
--- a/dist/libxcb/m4/libtool.m4
+++ b/dist/libxcb/m4/libtool.m4
@@ -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], [dnl
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 | 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 | 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 C++ above.
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"; then
# 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"; then
# 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"; then
# 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"; then
# 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"; then
# 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"; then
# 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'
diff --git a/dist/libxcb/src/c_client.py b/dist/libxcb/src/c_client.py
index 2213a317d..39f162ea9 100644
--- a/dist/libxcb/src/c_client.py
+++ b/dist/libxcb/src/c_client.py
@@ -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)
diff --git a/dist/libxcb/src/xcb.h b/dist/libxcb/src/xcb.h
index cbc0f2bf2..dd7f532d0 100644
--- a/dist/libxcb/src/xcb.h
+++ b/dist/libxcb/src/xcb.h
@@ -600,6 +600,35 @@ uint32_t xcb_generate_id(xcb_connection_t *c);
/**
+ * @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);
+
+/**
* @}
*/
diff --git a/dist/libxcb/src/xcb_auth.c b/dist/libxcb/src/xcb_auth.c
index 29e2b6f84..26eebbb0c 100644
--- a/dist/libxcb/src/xcb_auth.c
+++ b/dist/libxcb/src/xcb_auth.c
@@ -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. */
diff --git a/dist/libxcb/src/xcb_conn.c b/dist/libxcb/src/xcb_conn.c
index 7d0963716..8dab6589b 100644
--- a/dist/libxcb/src/xcb_conn.c
+++ b/dist/libxcb/src/xcb_conn.c
@@ -287,6 +287,7 @@ static int write_vec(xcb_connection_t *c, struct iovec **vector, int *count)
return 0;
}
+ c->out.total_written += n;
for(; *count; --*count, ++*vector)
{
int cur = (*vector)->iov_len;
@@ -528,3 +529,30 @@ int _xcb_conn_wait(xcb_connection_t *c, pthread_cond_t *cond, struct iovec **vec
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;
+}
diff --git a/dist/libxcb/src/xcb_in.c b/dist/libxcb/src/xcb_in.c
index 58fe8962e..796b4e946 100644
--- a/dist/libxcb/src/xcb_in.c
+++ b/dist/libxcb/src/xcb_in.c
@@ -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 */
diff --git a/dist/libxcb/src/xcbint.h b/dist/libxcb/src/xcbint.h
index acce64657..cef9821a8 100644
--- a/dist/libxcb/src/xcbint.h
+++ b/dist/libxcb/src/xcbint.h
@@ -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;
diff --git a/dist/libxcb/tests/check_all.c b/dist/libxcb/tests/check_all.c
index 4393422e3..f4c909cda 100644
--- a/dist/libxcb/tests/check_all.c
+++ b/dist/libxcb/tests/check_all.c
@@ -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);
}
diff --git a/dist/libxcb/tests/check_suites.h b/dist/libxcb/tests/check_suites.h
index 499f1afaf..e66208427 100644
--- a/dist/libxcb/tests/check_suites.h
+++ b/dist/libxcb/tests/check_suites.h
@@ -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);
diff --git a/lib/libxcb/libxcb-screensaver/shlib_version b/lib/libxcb/libxcb-screensaver/shlib_version
index 893819d18..b52599a16 100644
--- a/lib/libxcb/libxcb-screensaver/shlib_version
+++ b/lib/libxcb/libxcb-screensaver/shlib_version
@@ -1,2 +1,2 @@
-major=1
-minor=1
+major=2
+minor=0
diff --git a/lib/libxcb/libxcb/shlib_version b/lib/libxcb/libxcb/shlib_version
index d9961ea9f..890c57389 100644
--- a/lib/libxcb/libxcb/shlib_version
+++ b/lib/libxcb/libxcb/shlib_version
@@ -1,2 +1,2 @@
major=4
-minor=0
+minor=1
diff --git a/lib/libxcb/src/Makefile b/lib/libxcb/src/Makefile
index 6064ffaa2..33b4fcca0 100644
--- a/lib/libxcb/src/Makefile
+++ b/lib/libxcb/src/Makefile
@@ -1,4 +1,4 @@
-# $OpenBSD: Makefile,v 1.11 2018/10/04 20:17:48 matthieu Exp $
+# $OpenBSD: Makefile,v 1.12 2020/05/16 08:49:00 matthieu Exp $
# This Makefile is used to generate the sources files with xcbgen
# The x11/py-xcbgen package needs to be installed
@@ -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 \
diff --git a/lib/libxcb/src/screensaver.c b/lib/libxcb/src/screensaver.c
index 67d761705..9d8457616 100644
--- a/lib/libxcb/src/screensaver.c
+++ b/lib/libxcb/src/screensaver.c
@@ -797,7 +797,7 @@ xcb_screensaver_unset_attributes (xcb_connection_t *c,
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_connection_t *c,
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_connection_t *c,
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_t *c,
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);
diff --git a/lib/libxcb/src/screensaver.h b/lib/libxcb/src/screensaver.h
index 1982f21e5..f6982ea00 100644
--- a/lib/libxcb/src/screensaver.h
+++ b/lib/libxcb/src/screensaver.h
@@ -193,8 +193,7 @@ typedef struct xcb_screensaver_suspend_request_t {
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_connection_t *c,
*/
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_connection_t *c,
*/
xcb_void_cookie_t
xcb_screensaver_suspend (xcb_connection_t *c,
- uint8_t suspend);
+ uint32_t suspend);
#ifdef __cplusplus
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")