summaryrefslogtreecommitdiffstats
path: root/recipes-qt
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2018-09-27 18:01:46 -0700
committerMartin Jansa <Martin.Jansa@gmail.com>2018-09-30 16:02:19 +0000
commit15a8c254c248104f8aa4a499f89fe78b763197f5 (patch)
tree0411cfcd3b27d15c322f05015495e3e16fff9dc4 /recipes-qt
parentf11e9420e995a2aeb4ea308a45ddab09cb644a59 (diff)
downloadmeta-qt5-15a8c254c248104f8aa4a499f89fe78b763197f5.tar.gz
qt5-creator: Pick native tools from native sysroot e.g. lrelease etc.
qtcreator's build system is not as creative when it comes to cross building, it assumes to find some of tools used during translations to be installed in bindir where its building on. In other words native build is assumed. This patch helps the build system to locate the right binaries during cross compilation Fix install as we do not need chrpath'ing anymore Fix cross-builds for non x86 systems Signed-off-by: Khem Raj <raj.khem@gmail.com>
Diffstat (limited to 'recipes-qt')
-rw-r--r--recipes-qt/qt5/qt5-creator/0001-Use-correct-path-prefix.patch32
-rw-r--r--recipes-qt/qt5/qt5-creator/0001-botan-Always-define-BOTAN_ARCH_SWITCH-when-cross-bui.patch26
-rw-r--r--recipes-qt/qt5/qt5-creator_git.bb17
3 files changed, 33 insertions, 42 deletions
diff --git a/recipes-qt/qt5/qt5-creator/0001-Use-correct-path-prefix.patch b/recipes-qt/qt5/qt5-creator/0001-Use-correct-path-prefix.patch
deleted file mode 100644
index c064a9a9..00000000
--- a/recipes-qt/qt5/qt5-creator/0001-Use-correct-path-prefix.patch
+++ /dev/null
@@ -1,32 +0,0 @@
1From 50443809cc261a3f466cdebd3fa2dd4dda6e6a28 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Tue, 25 Sep 2018 23:15:08 +0000
4Subject: [PATCH] Use correct path prefix
5
6Upstream-Status: Pending
7
8Signed-off-by: Khem Raj <raj.khem@gmail.com>
9Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
10---
11 share/qtcreator/translations/translations.pro | 8 ++++----
12 1 file changed, 4 insertions(+), 4 deletions(-)
13
14diff --git a/share/qtcreator/translations/translations.pro b/share/qtcreator/translations/translations.pro
15index 0df9762fcc..de09bc47ed 100644
16--- a/share/qtcreator/translations/translations.pro
17+++ b/share/qtcreator/translations/translations.pro
18@@ -12,10 +12,10 @@ defineReplace(prependAll) {
19 return($$result)
20 }
21
22-XMLPATTERNS = $$shell_path($$[QT_INSTALL_BINS]/xmlpatterns)
23-LUPDATE = $$shell_path($$[QT_INSTALL_BINS]/lupdate) -locations relative -no-ui-lines -no-sort
24-LRELEASE = $$shell_path($$[QT_INSTALL_BINS]/lrelease)
25-LCONVERT = $$shell_path($$[QT_INSTALL_BINS]/lconvert)
26+XMLPATTERNS = $$OE_QMAKE_PATH_EXTERNAL_HOST_BINS/xmlpatterns
27+LUPDATE = $$OE_QMAKE_PATH_EXTERNAL_HOST_BINS/lupdate -locations relative -no-ui-lines -no-sort
28+LRELEASE = $$OE_QMAKE_PATH_EXTERNAL_HOST_BINS/lrelease
29+LCONVERT = $$OE_QMAKE_PATH_EXTERNAL_HOST_BINS/lconvert
30
31 wd = $$replace(IDE_SOURCE_TREE, /, $$QMAKE_DIR_SEP)
32
diff --git a/recipes-qt/qt5/qt5-creator/0001-botan-Always-define-BOTAN_ARCH_SWITCH-when-cross-bui.patch b/recipes-qt/qt5/qt5-creator/0001-botan-Always-define-BOTAN_ARCH_SWITCH-when-cross-bui.patch
new file mode 100644
index 00000000..eebda742
--- /dev/null
+++ b/recipes-qt/qt5/qt5-creator/0001-botan-Always-define-BOTAN_ARCH_SWITCH-when-cross-bui.patch
@@ -0,0 +1,26 @@
1From 766e5b37a42b440b66823262eb553f9981940115 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Thu, 27 Sep 2018 20:48:17 -0700
4Subject: [PATCH] botan: Always define BOTAN_ARCH_SWITCH when cross-building
5
6this helps in compiling botan for non-x86 architectures
7
8Signed-off-by: Khem Raj <raj.khem@gmail.com>
9---
10 src/libs/botan/botan.pro | 2 ++
11 1 file changed, 2 insertions(+)
12
13diff --git a/src/libs/botan/botan.pro b/src/libs/botan/botan.pro
14index 0c939b2a30..6e1a85fe84 100644
15--- a/src/libs/botan/botan.pro
16+++ b/src/libs/botan/botan.pro
17@@ -18,6 +18,7 @@ else: clang: BOTAN_CC_TYPE = clang
18 else: BOTAN_CC_TYPE = gcc
19 contains(QT_ARCH, i386): BOTAN_ARCH_SWITCH = "--cpu=x86"
20 else: contains(QT_ARCH, x86_64): BOTAN_ARCH_SWITCH = "--cpu=x86_64"
21+else: BOTAN_ARCH_SWITCH = --cpu=$$QT_ARCH
22 BOTAN_MODULES = aes aes_ssse3 auto_rng bigint block cbc ctr des dh dsa ec_group ecdh ecdsa entropy \
23 filters hmac mode_pad pubkey rsa sha1 sha1_sse2 sha1_x86 sha2_32 sha2_32_x86 \
24 sha2_64 simd system_rng,emsa_pkcs1,pbes2,pbkdf2
25-- 2.19.0
26
diff --git a/recipes-qt/qt5/qt5-creator_git.bb b/recipes-qt/qt5/qt5-creator_git.bb
index 218609bd..45e6d8ac 100644
--- a/recipes-qt/qt5/qt5-creator_git.bb
+++ b/recipes-qt/qt5/qt5-creator_git.bb
@@ -14,7 +14,7 @@ LIC_FILES_CHKSUM = " \
14 14
15inherit qmake5 15inherit qmake5
16 16
17DEPENDS = "qtbase qtscript qtwebkit qtxmlpatterns qtx11extras qtdeclarative qttools qttools-native qtsvg chrpath-replacement-native" 17DEPENDS = "qtbase qtscript qtwebkit qtxmlpatterns qtx11extras qtdeclarative qttools qttools-native qtsvg"
18DEPENDS_append_libc-musl = " libexecinfo" 18DEPENDS_append_libc-musl = " libexecinfo"
19 19
20SRCREV = "8768e39d3c8e74e583eca3897cc6de53a99c3dde" 20SRCREV = "8768e39d3c8e74e583eca3897cc6de53a99c3dde"
@@ -24,8 +24,8 @@ PV = "4.7.1+git${SRCPV}"
24# 4.7.1.meta-qt5.1 24# 4.7.1.meta-qt5.1
25SRC_URI = " \ 25SRC_URI = " \
26 git://code.qt.io/qt-creator/qt-creator.git;branch=4.7 \ 26 git://code.qt.io/qt-creator/qt-creator.git;branch=4.7 \
27 file://0001-Use-correct-path-prefix.patch \
28 file://0002-botan.pro-pass-QMAKE_AR.patch \ 27 file://0002-botan.pro-pass-QMAKE_AR.patch \
28 file://0001-botan-Always-define-BOTAN_ARCH_SWITCH-when-cross-bui.patch \
29 file://qtcreator.desktop.in \ 29 file://qtcreator.desktop.in \
30" 30"
31SRC_URI_append_libc-musl = " file://0003-Link-with-libexecinfo-on-musl.patch" 31SRC_URI_append_libc-musl = " file://0003-Link-with-libexecinfo-on-musl.patch"
@@ -34,25 +34,22 @@ S = "${WORKDIR}/git"
34 34
35EXTRA_QMAKEVARS_PRE += "IDE_LIBRARY_BASENAME=${baselib}${QT_DIR_NAME}" 35EXTRA_QMAKEVARS_PRE += "IDE_LIBRARY_BASENAME=${baselib}${QT_DIR_NAME}"
36 36
37EXTRANATIVEPATH += "chrpath-native"
38
39do_configure_append() { 37do_configure_append() {
40 # Find native tools 38 # Find native tools
41 sed -i 's:${STAGING_BINDIR}.*/qdoc:${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}/qdoc:g' ${B}/Makefile 39 sed -i 's:${STAGING_BINDIR}.*/qdoc:${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}/qdoc:g' ${B}/Makefile
40 sed -i 's:${STAGING_BINDIR}.*/lrelease:${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}/lrelease:g' ${B}/share/qtcreator/translations/Makefile
41 sed -i 's:${STAGING_BINDIR}.*/lupdate:${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}/lupdate:g' ${B}/share/qtcreator/translations/Makefile
42 sed -i 's:${STAGING_BINDIR}.*/xmlpatterns:${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}/xmlpatterns:g' ${B}/share/qtcreator/translations/Makefile
43 sed -i 's:${STAGING_BINDIR}.*/lconvert:${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}/lconvert:g' ${B}/share/qtcreator/translations/Makefile
44
42} 45}
43 46
44do_install() { 47do_install() {
45 oe_runmake install INSTALL_ROOT=${D}${prefix} 48 oe_runmake install INSTALL_ROOT=${D}${prefix}
46 oe_runmake install_inst_qch_docs INSTALL_ROOT=${D}${prefix}
47 # install desktop and ensure that qt-creator finds qmake 49 # install desktop and ensure that qt-creator finds qmake
48 install -d ${D}${datadir}/applications 50 install -d ${D}${datadir}/applications
49 install -m 0644 ${WORKDIR}/qtcreator.desktop.in ${D}${datadir}/applications/qtcreator.desktop 51 install -m 0644 ${WORKDIR}/qtcreator.desktop.in ${D}${datadir}/applications/qtcreator.desktop
50 sed -i 's:@QT5_QMAKE@:${OE_QMAKE_PATH_QT_BINS}:g' ${D}${datadir}/applications/qtcreator.desktop 52 sed -i 's:@QT5_QMAKE@:${OE_QMAKE_PATH_QT_BINS}:g' ${D}${datadir}/applications/qtcreator.desktop
51 chrpath --delete ${D}${libexecdir}/qtcreator/qtcreator_process_stub
52 chrpath --delete ${D}${libexecdir}/qtcreator/qbs_processlauncher
53 chrpath --delete ${D}${libdir}/${QT_DIR_NAME}/qtcreator/libqbscore.so.*
54 test -e ${D}${libdir}/${QT_DIR_NAME}/qtcreator/plugins/qmldesigner/libcomponentsplugin.so && chrpath --delete ${D}${libdir}/${QT_DIR_NAME}/qtcreator/plugins/qmldesigner/libcomponentsplugin.so
55 test -e ${D}${libdir}/${QT_DIR_NAME}/qtcreator/plugins/qmldesigner/libqtquickplugin.so && chrpath --delete ${D}${libdir}/${QT_DIR_NAME}/qtcreator/plugins/qmldesigner/libqtquickplugin.so
56} 53}
57 54
58FILES_${PN} += " \ 55FILES_${PN} += " \