libxcb & xcb_proto: update to version 1.17.0.

These changes are mostly to help cleanup issues in HaikuPorter's
repo_consistency.txt report: some build-requires chains broken due to
`cmd:python` (2.x) not being available anymore.

libxcb build was failing due to import errors in xcb_proto (due to changes
in Python 3.5+), resolved in newer xcb_proto, which prompted the libxcb update
to keep them in sync.

---

While libxcb should not be needed in Haiku, some ported software (eg: `libfm_qt`)
depends at least at build time on it. Until those get patched to not require
libxcb... we're stuck with this.

Co-authored-by: Schrijvers Luc <begasus@gmail.com>
This commit is contained in:
Oscar Lesta
2025-08-06 07:09:03 -03:00
committed by OscarL
parent 5a4202a9c6
commit 4d970f724f
4 changed files with 58 additions and 87 deletions

View File

@@ -10,9 +10,9 @@ for one or the other."
HOMEPAGE="https://xcb.freedesktop.org/"
COPYRIGHT="2001-2006 Bart Massey, Jamey Sharp, and Josh Triplett"
LICENSE="MIT (no promotion)"
REVISION="2"
SOURCE_URI="https://xcb.freedesktop.org/dist/libxcb-$portVersion.tar.bz2"
CHECKSUM_SHA256="a89fb7af7a11f43d2ce84a844a4b38df688c092bf4b67683aef179cdf2a647c4"
REVISION="1"
SOURCE_URI="https://xcb.freedesktop.org/dist/libxcb-$portVersion.tar.xz"
CHECKSUM_SHA256="599ebf9996710fea71622e6e184f3a8ad5b43d0e5fa8c4e407123c88a59a6d55"
PATCHES="libxcb-$portVersion.patchset"
ARCHITECTURES="all !x86_gcc2"
@@ -20,6 +20,7 @@ SECONDARY_ARCHITECTURES="x86"
versionedXcbLibs="
libxcb
libxcb_dri3
libxcb_randr
libxcb_sync
libxcb_xinput
@@ -27,6 +28,7 @@ versionedXcbLibs="
"
libVersion=0.0.0
libxcbVersion=1.1.0
libxcb_dri3Version=0.1.0
libxcb_randrVersion=0.1.0
libxcb_syncVersion=1.0.0
libxcb_xinputVersion=0.1.0
@@ -37,9 +39,9 @@ done
otherXcbLibs="
libxcb_composite
libxcb_damage
libxcb_dbe
libxcb_dpms
libxcb_dri2
libxcb_dri3
libxcb_glx
libxcb_present
libxcb_record
@@ -61,9 +63,10 @@ PROVIDES="
lib:libxcb$secondaryArchSuffix = $libxcbVersionCompat
lib:libxcb_composite$secondaryArchSuffix = $libVersionCompat
lib:libxcb_damage$secondaryArchSuffix = $libVersionCompat
lib:libxcb_dbe$secondaryArchSuffix = $libVersionCompat
lib:libxcb_dpms$secondaryArchSuffix = $libVersionCompat
lib:libxcb_dri2$secondaryArchSuffix = $libVersionCompat
lib:libxcb_dri3$secondaryArchSuffix = $libVersionCompat
lib:libxcb_dri3$secondaryArchSuffix = $libxcb_dri3VersionCompat
lib:libxcb_glx$secondaryArchSuffix = $libVersionCompat
lib:libxcb_present$secondaryArchSuffix = $libVersionCompat
lib:libxcb_randr$secondaryArchSuffix = $libxcb_randrVersionCompat
@@ -95,9 +98,10 @@ PROVIDES_devel="
devel:libxcb$secondaryArchSuffix = $libxcbVersionCompat
devel:libxcb_composite$secondaryArchSuffix = $libVersionCompat
devel:libxcb_damage$secondaryArchSuffix = $libVersionCompat
devel:libxcb_dbe$secondaryArchSuffix = $libVersionCompat
devel:libxcb_dpms$secondaryArchSuffix = $libVersionCompat
devel:libxcb_dri2$secondaryArchSuffix = $libVersionCompat
devel:libxcb_dri3$secondaryArchSuffix = $libVersionCompat
devel:libxcb_dri3$secondaryArchSuffix = $libxcb_dri3VersionCompat
devel:libxcb_glx$secondaryArchSuffix = $libVersionCompat
devel:libxcb_present$secondaryArchSuffix = $libVersionCompat
devel:libxcb_randr$secondaryArchSuffix = $libxcb_randrVersionCompat
@@ -122,7 +126,7 @@ REQUIRES_devel="
devel:libpthread_stubs
devel:libXau$secondaryArchSuffix
devel:libXdmcp$secondaryArchSuffix
devel:xcb_proto
devel:xcb_proto == $portVersion
"
BUILD_REQUIRES="
@@ -132,24 +136,23 @@ BUILD_REQUIRES="
devel:libXau$secondaryArchSuffix
devel:libXdmcp$secondaryArchSuffix
devel:util_macros
devel:xcb_proto
devel:xcb_proto == $portVersion
devel:xproto
"
BUILD_PREREQUIRES="
cmd:aclocal
cmd:autoconf
# cmd:dot$secondaryArchSuffix
# cmd:doxygen
cmd:gcc$secondaryArchSuffix
cmd:libtoolize$secondaryArchSuffix
cmd:make
cmd:pkg_config$secondaryArchSuffix
cmd:python
cmd:python3
cmd:xsltproc
"
debugList=(
"$libDir"/libxcb.so.$libxcbVersion
"$libDir"/libxcb-dri3.so.$libxcb_dri3Version
"$libDir"/libxcb-randr.so.$libxcb_randrVersion
"$libDir"/libxcb-sync.so.$libxcb_syncVersion
"$libDir"/libxcb-xinput.so.$libxcb_xinputVersion
@@ -166,7 +169,6 @@ BUILD()
runConfigure --omit-dirs docDir ./configure \
--docdir=$developDocDir \
--disable-static
# doxygen -u doc/xcb.doxygen
make $jobArgs
}
@@ -174,7 +176,7 @@ INSTALL()
{
make install
install -d -m 755 "$developDocDir"
install -m 644 -t "$developDocDir" README
install -m 644 -t "$developDocDir" README.md
# remove libtool library files
rm $libDir/libxcb*.la
@@ -182,19 +184,12 @@ INSTALL()
prepareInstalledDevelLibs ${versionedXcbLibs//_/-} ${otherXcbLibs//_/-}
fixPkgconfig
if [ -n "$secondaryArchSuffix" ]; then
rm -rf $manDir
maybe_manDir_man3=
else
maybe_manDir_man3=$manDir/man3
fi
# devel package
packageEntries devel \
$developDir \
$maybe_manDir_man3
$manDir/man3
# remove the empty $documentationDir on primary architecture
# remove the empty $documentationDir on primary architecture
rm -fr $documentationDir
}

View File

@@ -1,61 +0,0 @@
From 002b746f8948f0618e686b5b76b229efa55009ee Mon Sep 17 00:00:00 2001
From: Jerome Duval <jerome.duval@gmail.com>
Date: Thu, 26 Oct 2017 14:53:57 +0200
Subject: Haiku patch
diff --git a/configure.ac b/configure.ac
index f880918..0a19ed2 100644
--- a/configure.ac
+++ b/configure.ac
@@ -87,8 +87,8 @@ AC_MSG_RESULT($XCBPROTO_XCBPYTHONDIR)
AC_SUBST(XCBPROTO_XCBPYTHONDIR)
AC_HEADER_STDC
-AC_SEARCH_LIBS(getaddrinfo, socket)
-AC_SEARCH_LIBS(connect, socket)
+AC_SEARCH_LIBS(getaddrinfo, [network socket])
+AC_SEARCH_LIBS(connect, [network socket])
# Find support for sending a message from a socket
AC_SEARCH_LIBS(sendmsg, socket, [have_sendmsg="yes"], [have_sendmsg="no"])
diff --git a/src/xcb_util.c b/src/xcb_util.c
index a16270c..017c337 100644
--- a/src/xcb_util.c
+++ b/src/xcb_util.c
@@ -439,7 +439,7 @@ static int _xcb_open_unix(char *protocol, const char *file)
strcpy(addr.sun_path, file);
addr.sun_family = AF_UNIX;
#ifdef HAVE_SOCKADDR_SUN_LEN
- addr.sun_len = SUN_LEN(&addr);
+ addr.sun_len = sizeof(&addr);
#endif
fd = _xcb_socket(AF_UNIX, SOCK_STREAM, 0);
if(fd == -1)
--
2.14.2
From d0fe33a095851988d674431efb1abe27ae7afd53 Mon Sep 17 00:00:00 2001
From: fbrosson <fbrosson@localhost>
Date: Sun, 25 Mar 2018 17:51:15 +0000
Subject: C89 fixes for gcc2 compatibility, needed since libxcb 1.12.
diff --git a/src/xcb_out.c b/src/xcb_out.c
index 3601a5f..11a5cf7 100644
--- a/src/xcb_out.c
+++ b/src/xcb_out.c
@@ -179,7 +179,8 @@ uint32_t xcb_get_maximum_request_length(xcb_connection_t *c)
static void close_fds(int *fds, unsigned int num_fds)
{
- for (unsigned int index = 0; index < num_fds; index++)
+ unsigned int index;
+ for (index = 0; index < num_fds; index++)
close(fds[index]);
}
--
2.16.3

View File

@@ -0,0 +1,37 @@
From 707d1d23dfdcc2a62366efb8bc6d2945ae05b53b Mon Sep 17 00:00:00 2001
From: Jerome Duval <jerome.duval@gmail.com>
Date: Thu, 26 Oct 2017 14:53:57 +0200
Subject: Haiku patch
diff --git a/configure.ac b/configure.ac
index 4e6f028..a9e3549 100644
--- a/configure.ac
+++ b/configure.ac
@@ -91,8 +91,8 @@ XCBPROTO_XCBPYTHONDIR=`$PKG_CONFIG --variable=pythondir xcb-proto`
AC_MSG_RESULT($XCBPROTO_XCBPYTHONDIR)
AC_SUBST(XCBPROTO_XCBPYTHONDIR)
-AC_SEARCH_LIBS(getaddrinfo, socket)
-AC_SEARCH_LIBS(connect, socket)
+AC_SEARCH_LIBS(getaddrinfo, [network socket])
+AC_SEARCH_LIBS(connect, [network socket])
# Find support for sending a message from a socket
AC_SEARCH_LIBS(sendmsg, socket, [have_sendmsg="yes"], [have_sendmsg="no"])
diff --git a/src/xcb_util.c b/src/xcb_util.c
index 5124d14..d2946d4 100644
--- a/src/xcb_util.c
+++ b/src/xcb_util.c
@@ -472,7 +472,7 @@ static int _xcb_open_unix(char *protocol, const char *file)
strcpy(addr.sun_path, file);
addr.sun_family = AF_UNIX;
#ifdef HAVE_SOCKADDR_SUN_LEN
- addr.sun_len = SUN_LEN(&addr);
+ addr.sun_len = sizeof(&addr);
#endif
fd = _xcb_socket(AF_UNIX, SOCK_STREAM, 0);
if(fd == -1)
--
2.48.1

View File

@@ -1,11 +1,11 @@
SUMMARY="X.Org's C Bindings protocol headers"
DESCRIPTION="The X C Bindings protocol headers."
HOMEPAGE="https://xcb.freedesktop.org/"
COPYRIGHT="2001-2018 Bart Massey, Jamey Sharp, and Josh Triplett."
COPYRIGHT="2001-2006 Bart Massey, Jamey Sharp, and Josh Triplett."
LICENSE="MIT (no promotion)"
REVISION="4"
SOURCE_URI="https://xcb.freedesktop.org/dist/xcb-proto-$portVersion.tar.bz2"
CHECKSUM_SHA256="7b98721e669be80284e9bbfeab02d2d0d54cd11172b72271e47a2fe875e2bde1"
REVISION="1"
SOURCE_URI="https://xcb.freedesktop.org/dist/xcb-proto-$portVersion.tar.xz"
CHECKSUM_SHA256="2c1bacd2110f4799f74de6ebb714b94cf6f80fb112316b1219480fd22562148c"
SOURCE_DIR="xcb-proto-$portVersion"
ARCHITECTURES="any"