From 17d2bf1cdd6a6b23a88a8e07dcb640e8f01115d2 Mon Sep 17 00:00:00 2001 From: Mikko Levonmaa Date: Tue, 4 Dec 2012 16:32:32 -0800 Subject: qtbase: mkspecs are now staged correctly They are placed under STAGING_DATADIR as they need to be kept separate from the native side. The reason for doing so is that some qt modules require native tools and the mkspecs in STAGING_DATADIR_NATIVE cannot be polluted with the target mkspecs There are still some packaging issues Signed-off-by: Mikko Levonmaa --- recipes-qt/qt5/files/0001-Always-build-uic.patch | 31 ---------------------- recipes-qt/qt5/qt5-native.inc | 1 + recipes-qt/qt5/qt5.inc | 27 ++++++++++--------- recipes-qt/qt5/qtbase/0001-Always-build-uic.patch | 31 ++++++++++++++++++++++ ...Allow-qt.conf-override-when-bootstrapping.patch | 31 ++++++++++++++++++++++ 5 files changed, 78 insertions(+), 43 deletions(-) delete mode 100644 recipes-qt/qt5/files/0001-Always-build-uic.patch create mode 100644 recipes-qt/qt5/qtbase/0001-Always-build-uic.patch create mode 100644 recipes-qt/qt5/qtbase/0003-qtbase-Allow-qt.conf-override-when-bootstrapping.patch (limited to 'recipes-qt/qt5') diff --git a/recipes-qt/qt5/files/0001-Always-build-uic.patch b/recipes-qt/qt5/files/0001-Always-build-uic.patch deleted file mode 100644 index 3f2e3fd9..00000000 --- a/recipes-qt/qt5/files/0001-Always-build-uic.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 1092de02d1ac256a8c56fb5b5e590a4df8188acb Mon Sep 17 00:00:00 2001 -From: Mikko Levonmaa -Date: Tue, 27 Nov 2012 12:46:44 -0800 -Subject: [PATCH] Always build uic - -Even if we are not building gui or widgets. This tool is needed later -as a native tool when compiling the target. - -Signed-off-by: Mikko Levonmaa ---- - src/tools/tools.pro | 4 ++-- - 1 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/tools/tools.pro b/src/tools/tools.pro -index c67d6bf..b6f3b39 100644 ---- a/src/tools/tools.pro -+++ b/src/tools/tools.pro -@@ -1,8 +1,8 @@ - TEMPLATE = subdirs - --TOOLS_SUBDIRS = src_tools_bootstrap src_tools_moc src_tools_rcc src_tools_qdoc -+TOOLS_SUBDIRS = src_tools_bootstrap src_tools_moc src_tools_rcc src_tools_qdoc src_tools_uic - contains(QT_CONFIG, dbus): TOOLS_SUBDIRS += src_tools_qdbusxml2cpp src_tools_qdbuscpp2xml --!contains(QT_CONFIG, no-widgets): TOOLS_SUBDIRS += src_tools_uic -+ - # Set subdir and respective target name - src_tools_bootstrap.subdir = $$PWD/bootstrap - src_tools_bootstrap.target = sub-tools-bootstrap --- -1.7.4.1 - diff --git a/recipes-qt/qt5/qt5-native.inc b/recipes-qt/qt5/qt5-native.inc index 040b6439..11cfcff0 100644 --- a/recipes-qt/qt5/qt5-native.inc +++ b/recipes-qt/qt5/qt5-native.inc @@ -14,6 +14,7 @@ FILESEXTRAPATHS =. "${FILE_DIRNAME}/qtbase:" SRC_URI += " \ file://0001-qlibraryinfo-Allow-the-specification-of-where-to-loa.patch \ + file://0003-qtbase-Allow-qt.conf-override-when-bootstrapping.patch \ file://0001-Always-build-uic.patch \ " diff --git a/recipes-qt/qt5/qt5.inc b/recipes-qt/qt5/qt5.inc index 9f29792c..af933dea 100644 --- a/recipes-qt/qt5/qt5.inc +++ b/recipes-qt/qt5/qt5.inc @@ -84,6 +84,9 @@ do_configure() { cp -f ${WORKDIR}/qplatformdefs.h mkspecs/${TARGET_OS}-oe-g++ bash ${WORKDIR}/qmake.conf.sh > mkspecs/${TARGET_OS}-oe-g++/qmake.conf + mkdir -p ${STAGING_DATADIR}/${QT_DIR_NAME} + cp -r ${STAGING_DATADIR_NATIVE}/${QT_DIR_NAME}/mkspecs ${STAGING_DATADIR}/${QT_DIR_NAME}/mkspecs + echo "[Paths]" > $QT_CONF_PATH echo "Binaries=${bindir}" >> $QT_CONF_PATH echo "Headers=${includedir}/${QT_DIR_NAME}" >> $QT_CONF_PATH @@ -95,7 +98,7 @@ do_configure() { echo "Settings=${sysconfdir}/${QT_DIR_NAME}" >> $QT_CONF_PATH echo "Examples=${bindir}/${QT_DIR_NAME}/examples" >> $QT_CONF_PATH echo "HostBinaries=${STAGING_BINDIR_NATIVE}" >> $QT_CONF_PATH - echo "HostData=${STAGING_DATADIR_NATIVE}/${QT_DIR_NAME}" >> $QT_CONF_PATH + echo "HostData=${STAGING_DATADIR}/${QT_DIR_NAME}" >> $QT_CONF_PATH ./configure -v \ -opensource -confirm-license \ @@ -114,13 +117,13 @@ do_configure() { -xplatform ${TARGET_OS}-oe-g++ \ ${QT_CONFIG_FLAGS} - ### Since we are utilizing the native tree for the mkspecs, update the target mkspecs there - if [ ! -e ${STAGING_DATADIR_NATIVE}/${QT_DIR_NAME}/mkspecs/${TARGET_OS}-oe-g++ ]; then - cp -rf mkspecs/${TARGET_OS}-oe-g++ ${STAGING_DATADIR_NATIVE}/${QT_DIR_NAME}/mkspecs/${TARGET_OS}-oe-g++ + ### Since we are pointing our host data we need to get them there before compile + if [ ! -e ${STAGING_DATADIR}/${QT_DIR_NAME}/mkspecs/${TARGET_OS}-oe-g++ ]; then + cp -rf mkspecs/${TARGET_OS}-oe-g++ ${STAGING_DATADIR}/${QT_DIR_NAME}/mkspecs/${TARGET_OS}-oe-g++ fi - ### qmodule.pri and qconfig.pri contain target specific stuff - cp -f mkspecs/qmodule.pri ${STAGING_DATADIR_NATIVE}/${QT_DIR_NAME}/mkspecs/qmodule.pri - cp -f mkspecs/qconfig.pri ${STAGING_DATADIR_NATIVE}/${QT_DIR_NAME}/mkspecs/qconfig.pri + ### qmodule.pri and qconfig.pri contain target specific stuff copy them over as well + cp -f mkspecs/qmodule.pri ${STAGING_DATADIR}/${QT_DIR_NAME}/mkspecs/qmodule.pri + cp -f mkspecs/qconfig.pri ${STAGING_DATADIR}/${QT_DIR_NAME}/mkspecs/qconfig.pri } do_compile() { @@ -150,11 +153,11 @@ do_install() { FILES_${PN} = "${libdir}/*.so.*" FILES_${PN}-dbg = "${libdir}/.debug/*.so.*" -FILES_${PN}-plugins = "${libdir}/${QT_DIR_NAME}/platforms/*.so" -FILES_${PN}-plugins-dbg = "${libdir}/${QT_DIR_NAME}/platforms/.debug/*.so" +FILES_${PN}-plugins = "${libdir}/${QT_DIR_NAME}/platforms/*" +FILES_${PN}-plugins-dbg = "${libdir}/${QT_DIR_NAME}/platforms/.debug/*" FILES_${PN}-dev = "${libdir}/cmake/* ${libdir}/pkgconfig/*.pc ${libdir}/*.la ${libdir}/*.prl ${includedir}/qt5/*" FILES_${PN}-staticdev = "${libdir}/libQt*.a" -FILES_${PN}-tools = "${bindir}/qmake" -FILES_${PN}-mkspecs = "${STAGING_DATADIR_NATIVE}/${QT_DIR_NAME}/mkspecs/*" -FILES_${PN}-doc = "${STAGING_DATADIR_NATIVE}/doc/*" +FILES_${PN}-tools = "${bindir}/*" +FILES_${PN}-mkspecs = "${STAGING_DATADIR}/${QT_DIR_NAME}/mkspecs/*" +FILES_${PN}-doc = "${STAGING_DATADIR}/doc/*" diff --git a/recipes-qt/qt5/qtbase/0001-Always-build-uic.patch b/recipes-qt/qt5/qtbase/0001-Always-build-uic.patch new file mode 100644 index 00000000..3f2e3fd9 --- /dev/null +++ b/recipes-qt/qt5/qtbase/0001-Always-build-uic.patch @@ -0,0 +1,31 @@ +From 1092de02d1ac256a8c56fb5b5e590a4df8188acb Mon Sep 17 00:00:00 2001 +From: Mikko Levonmaa +Date: Tue, 27 Nov 2012 12:46:44 -0800 +Subject: [PATCH] Always build uic + +Even if we are not building gui or widgets. This tool is needed later +as a native tool when compiling the target. + +Signed-off-by: Mikko Levonmaa +--- + src/tools/tools.pro | 4 ++-- + 1 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/tools/tools.pro b/src/tools/tools.pro +index c67d6bf..b6f3b39 100644 +--- a/src/tools/tools.pro ++++ b/src/tools/tools.pro +@@ -1,8 +1,8 @@ + TEMPLATE = subdirs + +-TOOLS_SUBDIRS = src_tools_bootstrap src_tools_moc src_tools_rcc src_tools_qdoc ++TOOLS_SUBDIRS = src_tools_bootstrap src_tools_moc src_tools_rcc src_tools_qdoc src_tools_uic + contains(QT_CONFIG, dbus): TOOLS_SUBDIRS += src_tools_qdbusxml2cpp src_tools_qdbuscpp2xml +-!contains(QT_CONFIG, no-widgets): TOOLS_SUBDIRS += src_tools_uic ++ + # Set subdir and respective target name + src_tools_bootstrap.subdir = $$PWD/bootstrap + src_tools_bootstrap.target = sub-tools-bootstrap +-- +1.7.4.1 + diff --git a/recipes-qt/qt5/qtbase/0003-qtbase-Allow-qt.conf-override-when-bootstrapping.patch b/recipes-qt/qt5/qtbase/0003-qtbase-Allow-qt.conf-override-when-bootstrapping.patch new file mode 100644 index 00000000..6c9affae --- /dev/null +++ b/recipes-qt/qt5/qtbase/0003-qtbase-Allow-qt.conf-override-when-bootstrapping.patch @@ -0,0 +1,31 @@ +From 40e6c0f88774b55111c63ed28bba626141797476 Mon Sep 17 00:00:00 2001 +From: Mikko Levonmaa +Date: Tue, 4 Dec 2012 15:32:33 -0800 +Subject: [PATCH 3/3] qtbase: Allow qt.conf override when bootstrapping + +Upstream-Status: Inappropriate [configuration] + +Signed-off-by: Mikko Levonmaa +--- + qmake/option.cpp | 5 +++++ + 1 files changed, 5 insertions(+), 0 deletions(-) + +diff --git a/qmake/option.cpp b/qmake/option.cpp +index 91c154a..a4f3a85 100644 +--- a/qmake/option.cpp ++++ b/qmake/option.cpp +@@ -647,6 +647,11 @@ qmakeAddCacheClear(qmakeCacheClearFunc func, void **data) + + QString qt_libraryInfoFile() + { ++ QString qtconfig = QFile::decodeName(getenv("QT_CONF_PATH")); ++ if (QFile::exists(qtconfig)) { ++ printf("Overriding with qt.conf from: %s\n", qtconfig.toLatin1().data()); ++ return qtconfig; ++ } + if (!Option::globals->qmake_abslocation.isEmpty()) + return QDir(QFileInfo(Option::globals->qmake_abslocation).absolutePath()).filePath("qt.conf"); + return QString(); +-- +1.7.4.1 + -- cgit v1.2.3-54-g00ecf