Browse Source

Merge pull request #5915

bb44d9e depends: fix a static qt5 crash when using certain versions of libxcb (Cory Fields)
0.13
Wladimir J. van der Laan 10 years ago
parent
commit
5bd3a92da2
No known key found for this signature in database
GPG Key ID: 74810B012346C9A6
  1. 7
      depends/packages/libxcb.mk
  2. 44
      depends/patches/qt/fix-xcb-include-order.patch

7
depends/packages/libxcb.mk

@ -13,8 +13,13 @@ define $(package)_preprocess_cmds
sed "s/pthread-stubs//" -i configure sed "s/pthread-stubs//" -i configure
endef endef
# Don't install xcb headers to the default path in order to work around a qt
# build issue: https://bugreports.qt.io/browse/QTBUG-34748
# When using qt's internal libxcb, it may end up finding the real headers in
# depends staging. Use a non-default path to avoid that.
define $(package)_config_cmds define $(package)_config_cmds
$($(package)_autoconf) $($(package)_autoconf) --includedir=$(host_prefix)/include/xcb-shared
endef endef
define $(package)_build_cmds define $(package)_build_cmds

44
depends/patches/qt/fix-xcb-include-order.patch

@ -1,21 +1,31 @@
--- old/qtbase/src/plugins/platforms/xcb/xcb-plugin.pro 2014-07-30 18:17:27.384458441 -0400 --- old/qtbase/src/plugins/platforms/xcb/xcb-plugin.pro 2015-03-17 02:06:42.705930685 +0000
+++ new/qtbase/src/plugins/platforms/xcb/xcb-plugin.pro 2014-07-30 18:18:28.620459303 -0400 +++ new/qtbase/src/plugins/platforms/xcb/xcb-plugin.pro 2015-03-17 02:08:41.281926351 +0000
@@ -101,10 +101,6 @@ @@ -103,7 +103,6 @@
}
}
-DEFINES += $$QMAKE_DEFINES_XCB DEFINES += $$QMAKE_DEFINES_XCB
-LIBS += $$QMAKE_LIBS_XCB LIBS += $$QMAKE_LIBS_XCB
-QMAKE_CXXFLAGS += $$QMAKE_CFLAGS_XCB -QMAKE_CXXFLAGS += $$QMAKE_CFLAGS_XCB
-
CONFIG += qpa/genericunixfontdatabase CONFIG += qpa/genericunixfontdatabase
contains(QT_CONFIG, dbus) { @@ -118,7 +117,8 @@
@@ -141,3 +137,7 @@ contains(QT_CONFIG, xcb-qt) {
INCLUDEPATH += ../../../3rdparty/xkbcommon/xkbcommon/ DEFINES += XCB_USE_RENDER
} XCB_DIR = ../../../3rdparty/xcb
} - INCLUDEPATH += $$XCB_DIR/include $$XCB_DIR/sysinclude
+ + QMAKE_CFLAGS += -I$$XCB_DIR/include -I$$XCB_DIR/sysinclude $$QMAKE_CFLAGS_XCB
+DEFINES += $$QMAKE_DEFINES_XCB + QMAKE_CXXFLAGS += -I$$XCB_DIR/include -I$$XCB_DIR/sysinclude $$QMAKE_CFLAGS_XCB
+LIBS += $$QMAKE_LIBS_XCB LIBS += -lxcb -L$$OUT_PWD/xcb-static -lxcb-static
+INCLUDEPATH += $$QMAKE_CFLAGS_XCB } else {
LIBS += -lxcb -lxcb-image -lxcb-icccm -lxcb-sync -lxcb-xfixes -lxcb-shm -lxcb-randr
--- old/qtbase/src/plugins/platforms/xcb/xcb-static/xcb-static.pro 2015-03-17 02:07:04.641929383 +0000
+++ new/qtbase/src/plugins/platforms/xcb/xcb-static/xcb-static.pro 2015-03-17 02:10:15.485922059 +0000
@@ -8,7 +8,7 @@
XCB_DIR = ../../../../3rdparty/xcb
-INCLUDEPATH += $$XCB_DIR/include $$XCB_DIR/include/xcb $$XCB_DIR/sysinclude
+QMAKE_CFLAGS += -I$$XCB_DIR/include -I$$XCB_DIR/include/xcb -I$$XCB_DIR/sysinclude $$QMAKE_CFLAGS_XCB
# ignore compiler warnings in 3rdparty code
QMAKE_CFLAGS_STATIC_LIB+=-w

Loading…
Cancel
Save