summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Jansa <Martin.Jansa@gmail.com>2019-04-22 11:18:11 +0000
committerMartin Jansa <Martin.Jansa@gmail.com>2019-04-22 12:39:19 +0000
commit84d647afc8fd96f6ca9ff1600cbaad130df998e4 (patch)
tree351d2650e1b9ee8926834f7269ee0c4518164857
parent3d60f9a4047979587624ad97776530cc807ef21c (diff)
downloadmeta-qt5-84d647afc8fd96f6ca9ff1600cbaad130df998e4.tar.gz
qtwayland: improve manual header installation
* allow to disable this completely with QTWAYLAND_INSTALL_PRIVATE_HEADERS_MANUALLY e.g. in case you already have your own bbappend resolving this differently * use SHRT_VER variable and allow to change it in .bbappend e.g. in webOS we have different version with different format without "+git" and 5.11.3-2 ended in upstream_pv which caused do_install to fail because ${D}${includedir}/QtWaylandClient/5.11.3-2 doesn't exist, split the PV by + as well - to cover both schemes and allow users to set SHRT_VER to something else if they have even weirder PV * install the QtCompositor headers in the same way as QtWaylandClient we have custom compositor and with 5.11 it was failing to build because of missing headers, so I had this in .bbappend already (I thought it was only our issue, because we were using 5.4 based QtWayland with 5.11, but the same happends with 5.6 based one and probably newer as well (I don't know what qtwayland version Andreas was using when first sending the previous qtwayland patch). * with 5.4 QtWayland and 5.11, I've updated sync.profile with %inject_headers and @private_headers built even with this sync.profile change the syncqt.pl in do_install doesn't install these 5.4 specific profile headers and qtwayland-webos and luna-surfacemanager fail to build. This is the diff between: recipe-sysroot-native/usr/bin/syncqt.pl -version 4.5.2 -showonly with Qt 5.6 and 5.11 @@ -1,6 +1,5 @@ -<srcbase> = BUILD/work/qemux86-webos-linux/qtwayland/5.4.2-119-r0/git -<bldbase> = BUILD/work/qemux86-webos-linux/qtwayland/5.4.2-119-r0/git -<outbase> = BUILD/work/qemux86-webos-linux/qtwayland/5.4.2-119-r0/git +<srcbase> = BUILD/work/qemux86-webos-linux/qtwayland/5.4.2-119-r0/git +<outbase> = BUILD/work/qemux86-webos-linux/qtwayland/5.4.2-119-r0/git pmtrace_qtwaylandclient_provider.h [QtWaylandClient] qtwaylandclienttracer.h [QtWaylandClient] qwaylandabstractdecoration_p.h [QtWaylandClient] @@ -34,34 +33,6 @@ qwaylandwlshellsurface_p.h [QtWaylandClient] qwaylandxdgshell_p.h [QtWaylandClient] qwaylandxdgsurface_p.h [QtWaylandClient] -qwayland-hardware-integration.h [QtWaylandClient] -qwayland-output-extension.h [QtWaylandClient] -qwayland-qt-windowmanager.h [QtWaylandClient] -qwayland-qtkey-extension.h [QtWaylandClient] -qwayland-server-buffer-extension.h [QtWaylandClient] -qwayland-sub-surface-extension.h [QtWaylandClient] -qwayland-surface-extension.h [QtWaylandClient] -qwayland-text.h [QtWaylandClient] -qwayland-text-input-unstable-v2.h [QtWaylandClient] -qwayland-touch-extension.h [QtWaylandClient] -qwayland-wayland.h [QtWaylandClient] -qwayland-windowmanager.h [QtWaylandClient] -qwayland-xdg-shell-unstable-v6.h [QtWaylandClient] -qwayland-xdg-shell.h [QtWaylandClient] -wayland-hardware-integration-client-protocol.h [QtWaylandClient] -wayland-output-extension-client-protocol.h [QtWaylandClient] -wayland-qt-windowmanager-client-protocol.h [QtWaylandClient] -wayland-qtkey-extension-client-protocol.h [QtWaylandClient] -wayland-server-buffer-extension-client-protocol.h [QtWaylandClient] -wayland-sub-surface-extension-client-protocol.h [QtWaylandClient] -wayland-surface-extension-client-protocol.h [QtWaylandClient] -wayland-text-client-protocol.h [QtWaylandClient] -wayland-text-input-unstable-v2-client-protocol.h [QtWaylandClient] -wayland-touch-extension-client-protocol.h [QtWaylandClient] -wayland-wayland-client-protocol.h [QtWaylandClient] -wayland-windowmanager-client-protocol.h [QtWaylandClient] -wayland-xdg-shell-client-protocol.h [QtWaylandClient] -wayland-xdg-shell-unstable-v6-client-protocol.h [QtWaylandClient] qwaylandclientbufferintegration_p.h [QtWaylandClient] qwaylandclientbufferintegrationfactory_p.h [QtWaylandClient] qwaylandclientbufferintegrationplugin_p.h [QtWaylandClient] @@ -84,38 +55,6 @@ SYMBOL: QWaylandEglWindow qwaylandglcontext.h [QtWaylandClient] SYMBOL: QWaylandGLContext -qwayland-server-wayland.h [QtCompositor] -qwayland-server-hardware-integration.h [QtCompositor] -qwayland-server-input-method.h [QtCompositor] -qwayland-server-ivi-application.h [QtCompositor] -qwayland-server-output-extension.h [QtCompositor] -qwayland-server-qt-windowmanager.h [QtCompositor] -qwayland-server-qtkey-extension.h [QtCompositor] -qwayland-server-server-buffer-extension.h [QtCompositor] -qwayland-server-sub-surface-extension.h [QtCompositor] -qwayland-server-surface-extension.h [QtCompositor] -qwayland-server-text.h [QtCompositor] -qwayland-server-text-input-unstable-v2.h [QtCompositor] -qwayland-server-touch-extension.h [QtCompositor] -qwayland-server-windowmanager.h [QtCompositor] -qwayland-server-xdg-shell-unstable-v6.h [QtCompositor] -qwayland-server-xdg-shell.h [QtCompositor] -wayland-hardware-integration-server-protocol.h [QtCompositor] -wayland-input-method-server-protocol.h [QtCompositor] -wayland-ivi-application-server-protocol.h [QtCompositor] -wayland-output-extension-server-protocol.h [QtCompositor] -wayland-qt-windowmanager-server-protocol.h [QtCompositor] -wayland-qtkey-extension-server-protocol.h [QtCompositor] -wayland-server-buffer-extension-server-protocol.h [QtCompositor] -wayland-sub-surface-extension-server-protocol.h [QtCompositor] -wayland-surface-extension-server-protocol.h [QtCompositor] -wayland-text-input-unstable-v2-server-protocol.h [QtCompositor] -wayland-text-server-protocol.h [QtCompositor] -wayland-touch-extension-server-protocol.h [QtCompositor] -wayland-wayland-server-protocol.h [QtCompositor] -wayland-windowmanager-server-protocol.h [QtCompositor] -wayland-xdg-shell-server-protocol.h [QtCompositor] -wayland-xdg-shell-unstable-v6-server-protocol.h [QtCompositor] pmtrace_qtwayland_provider.h [QtCompositor] qtwaylandtracer.h [QtCompositor] qwaylandbufferref.h [QtCompositor] Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
-rw-r--r--recipes-qt/qt5/qtwayland_git.bb18
1 files changed, 15 insertions, 3 deletions
diff --git a/recipes-qt/qt5/qtwayland_git.bb b/recipes-qt/qt5/qtwayland_git.bb
index f85fe356..478ddc9a 100644
--- a/recipes-qt/qt5/qtwayland_git.bb
+++ b/recipes-qt/qt5/qtwayland_git.bb
@@ -48,12 +48,24 @@ LDFLAGS_append = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-
48# Since version 5.11.2 some private headers are not installed. Work around 48# Since version 5.11.2 some private headers are not installed. Work around
49# until fixed upstream. See https://bugreports.qt.io/browse/QTBUG-71340 for 49# until fixed upstream. See https://bugreports.qt.io/browse/QTBUG-71340 for
50# further details 50# further details
51QTWAYLAND_INSTALL_PRIVATE_HEADERS_MANUALLY ?= "1"
52# First 6 characters before first + (e.g. 5.11.3-+git) or - (e.g. 5.11.3-2)
53SHRT_VER ?= "${@d.getVar('PV').split('+')[0].split('-')[0]}"
51do_install_append() { 54do_install_append() {
52 if [ -d "${B}/src/client" ]; then 55 if [ -d "${B}/src/client" -a "${QTWAYLAND_INSTALL_PRIVATE_HEADERS_MANUALLY}" = "1" ]; then
53 upstream_pv=`echo "${PV}" | sed 's:+git.*::g'`
54 for header in `find ${B}/src/client -name '*wayland-*.h'`; do 56 for header in `find ${B}/src/client -name '*wayland-*.h'`; do
55 header_base=`basename $header` 57 header_base=`basename $header`
56 dest="${D}${includedir}/QtWaylandClient/$upstream_pv/QtWaylandClient/private/$header_base" 58 dest="${D}${includedir}/QtWaylandClient/${SHRT_VER}/QtWaylandClient/private/$header_base"
59 if [ ! -e "$dest" ]; then
60 echo "Manual install: $header_base to $dest"
61 install -m 644 "$header" "$dest"
62 fi
63 done
64 fi
65 if [ -d "${B}/src/compositor" -a "${QTWAYLAND_INSTALL_PRIVATE_HEADERS_MANUALLY}" = "1" ]; then
66 for header in `find ${B}/src/compositor -name '*wayland-*.h'`; do
67 header_base=`basename $header`
68 dest="${D}${includedir}/QtCompositor/${SHRT_VER}/QtCompositor/private/$header_base"
57 if [ ! -e "$dest" ]; then 69 if [ ! -e "$dest" ]; then
58 echo "Manual install: $header_base to $dest" 70 echo "Manual install: $header_base to $dest"
59 install -m 644 "$header" "$dest" 71 install -m 644 "$header" "$dest"