From 40f1b73c92731f4e18751d3a499f269c65c21a96 Mon Sep 17 00:00:00 2001 From: Martin Jansa Date: Fri, 27 Apr 2018 13:37:25 +0000 Subject: qt5: downgrade to 5.6 * webosose isn't compatible with newer Qt export COMP=qml-webos-framework; for i in `seq -w 1 999`; do echo $i; bitbake -v -v -DDDD -f -c compile ${COMP} 2>${COMP}-logerr.$i >${COMP}-log.$i; bitbake -v -v -DDDD -f -c package_qa ${COMP} 2>${COMP}-logerr.qa.$i >${COMP}-log.qa.$i || { cp -ra tmp-glibc/work/qemux86-oe-linux/${COMP}/ ${COMP}-workdir-$i; bitbake -c cleansstate ${COMP} ; } done in local.conf I have only this to reproduce the failures: PRSERV_HOST = "localhost:0" BB_NUMBER_THREADS = "8" PARALLEL_MAKE = "-j 32" DISTRO_FEATURES_append = " wayland opengl" ERROR_QA_append = " host-user-contaminated" Signed-off-by: Martin Jansa --- meta/classes/cmake_qt5.bbclass | 36 +++ meta/classes/populate_sdk_qt5.bbclass | 8 + meta/classes/populate_sdk_qt5_base.bbclass | 29 ++ meta/classes/qmake5.bbclass | 4 + meta/classes/qmake5_base.bbclass | 140 +++------ meta/recipes-qt/qt5/nativesdk-qtbase_git.bb | 138 ++++++--- meta/recipes-qt/qt5/ptest/run-ptest | 6 - .../qt5/qt3d/0001-Allow-a-tools-only-build.patch | 41 +-- ...2-Fix-BlenderDNA-for-clang-cross-compiler.patch | 44 --- meta/recipes-qt/qt5/qt3d_git.bb | 28 +- ...t-creator-to-build-on-arm-aarch32-and-aar.patch | 13 +- ...-Fix-compilation-with-QT_NO_ACCESSIBILITY.patch | 35 --- .../0003-Qmlpuppet-add-missing-includes.patch | 38 --- .../0004-Link-with-libexecinfo-on-musl.patch | 30 -- meta/recipes-qt/qt5/qt5-creator_3.5.1.bb | 16 +- meta/recipes-qt/qt5/qt5-git.inc | 11 +- meta/recipes-qt/qt5/qt5-native.inc | 7 + .../qt5/qt5-plugin-generic-vboxtouch_git.bb | 4 +- meta/recipes-qt/qt5/qt5-ptest.inc | 22 -- meta/recipes-qt/qt5/qt5.inc | 21 +- meta/recipes-qt/qt5/qtbase-native_git.bb | 92 +++--- .../qt5/qtbase/0001-Add-linux-oe-g-platform.patch | 338 +++++++++++++++++---- ...make-Use-OE_QMAKE_PATH_EXTERNAL_HOST_BINS.patch | 86 ------ ...o-allow-to-set-qt.conf-from-the-outside-u.patch | 36 +++ .../0003-Add-external-hostbindir-option.patch | 226 ++++++++++++++ ...o-allow-to-set-qt.conf-from-the-outside-u.patch | 36 --- ...ump-path-length-from-256-to-512-character.patch | 34 --- ...le-Fix-pkgconfig-and-libtool-replacements.patch | 106 +++++++ ...-unknown-features-instead-of-erroring-out.patch | 25 -- ...ump-path-length-from-256-to-512-character.patch | 33 ++ ...-wasn-t-found-if-OE_QMAKE_PATH_EXTERNAL_H.patch | 63 ---- .../0006-QOpenGLPaintDevice-sub-area-support.patch | 154 ++++++++++ .../0007-Delete-qlonglong-and-qulonglong.patch | 25 -- ...Invert-conditional-for-defining-QT_SOCKLE.patch | 32 ++ ...08-Replace-pthread_yield-with-sched_yield.patch | 60 ---- ...configure-paths-for-target-qmake-properly.patch | 75 +++++ ...-Add-OE-specific-specs-for-clang-compiler.patch | 69 ----- ...-wasn-t-found-if-OE_QMAKE_PATH_EXTERNAL_H.patch | 63 ++++ .../qt5/qtbase/0010-Always-build-uic.patch | 28 ++ ...-Invert-conditional-for-defining-QT_SOCKL.patch | 32 -- ...external-hostbindir-option-for-native-sdk.patch | 131 ++++++++ ..._qlocale-Enable-QT_USE_FENV-only-on-glibc.patch | 25 -- ...mon-gcc-base.conf-Use-I-instead-of-isyste.patch | 33 -- .../qtbase/0013-Always-build-uic-and-qvkgen.patch | 28 -- .../0014-Bootstrap-without-linkat-feature.patch | 27 -- meta/recipes-qt/qt5/qtbase_git.bb | 231 +++++++------- meta/recipes-qt/qt5/qtcanvas3d_git.bb | 4 +- meta/recipes-qt/qt5/qtcharts_git.bb | 15 - meta/recipes-qt/qt5/qtconnectivity_git.bb | 22 +- meta/recipes-qt/qt5/qtdatavis3d_git.bb | 11 - .../0001-qmltestexample-fix-link.patch | 85 ++++++ ...omparison-fix-QCoreApplication-has-not-be.patch | 25 ++ meta/recipes-qt/qt5/qtdeclarative_git.bb | 30 +- meta/recipes-qt/qt5/qtenginio_git.bb | 5 +- meta/recipes-qt/qt5/qtgamepad_git.bb | 17 -- meta/recipes-qt/qt5/qtgraphicaleffects_git.bb | 19 +- ...ats.pro-Make-the-dependencies-determinist.patch | 28 ++ meta/recipes-qt/qt5/qtimageformats_git.bb | 28 +- meta/recipes-qt/qt5/qtknx_git.bb | 14 - meta/recipes-qt/qt5/qtlocation_git.bb | 45 ++- meta/recipes-qt/qt5/qtmqtt_git.bb | 14 - ...1-Initial-porting-effort-to-GStreamer-1.0.patch | 56 ++++ ...tmultimedia-fix-a-conflicting-declaration.patch | 100 ------ meta/recipes-qt/qt5/qtmultimedia_git.bb | 47 +-- meta/recipes-qt/qt5/qtnetworkauth_git.bb | 12 - meta/recipes-qt/qt5/qtpurchasing_git.bb | 13 - meta/recipes-qt/qt5/qtquick1_git.bb | 14 +- ...fix-invalid-use-of-incomplete-type-class-.patch | 24 ++ meta/recipes-qt/qt5/qtquickcontrols2_git.bb | 8 +- meta/recipes-qt/qt5/qtquickcontrols_git.bb | 20 +- .../0001-Allow-a-tools-only-build.patch | 37 --- meta/recipes-qt/qt5/qtremoteobjects_git.bb | 29 -- meta/recipes-qt/qt5/qtscript_git.bb | 19 +- ...Use-external-host-bin-path-for-cmake-file.patch | 28 -- meta/recipes-qt/qt5/qtscxml_git.bb | 24 -- meta/recipes-qt/qt5/qtsensors_git.bb | 14 +- meta/recipes-qt/qt5/qtserialbus_git.bb | 14 - meta/recipes-qt/qt5/qtserialport_git.bb | 12 +- meta/recipes-qt/qt5/qtsvg_git.bb | 6 +- meta/recipes-qt/qt5/qtsystems_git.bb | 14 +- ...w-to-build-only-lrelease-lupdate-lconvert.patch | 158 ++++++++++ .../0001-add-noqtwebkit-configuration.patch | 48 --- ...t-help-fix-linking-of-dependent-libraries.patch | 29 ++ ...ols-cmake-allow-overriding-the-location-f.patch | 60 ---- .../0003-add-noqtwebkit-configuration.patch | 48 +++ ...ols-cmake-allow-overriding-the-location-f.patch | 60 ++++ meta/recipes-qt/qt5/qttools/run-ptest | 4 - meta/recipes-qt/qt5/qttools_git.bb | 35 +-- meta/recipes-qt/qt5/qttranslations_git.bb | 14 +- .../0001-include-sys-time.h-for-timeval.patch | 25 -- meta/recipes-qt/qt5/qtvirtualkeyboard_git.bb | 56 ---- meta/recipes-qt/qt5/qtwayland-native_git.bb | 30 ++ ...-qtwaylandscanner-tool-to-the-native-side.patch | 29 ++ ...yland-include-server-buffer-only-when-bui.patch | 28 ++ .../0001-fix-build-without-xkbcommon-evdev.patch | 68 ----- meta/recipes-qt/qt5/qtwayland_git.bb | 72 ++--- meta/recipes-qt/qt5/qtwebchannel_git.bb | 15 +- ...quickwebengineview_p_p.h-add-include-QCol.patch | 23 -- ...romium-Force-host-toolchain-configuration.patch | 33 -- ...se.gypi-include-atomicops_internals_x86_g.patch | 24 ++ ...rf-Don-t-match-QMAKE_EXT_CPP-or-QMAKE_EXT.patch | 27 ++ ...-dependency-to-QCoreApplication-translate.patch | 23 -- ...ange-false-to-FALSE-and-1-to-TRUE-FIX-qtw.patch | 63 ++++ ...um-workaround-for-too-long-.rps-file-name.patch | 42 --- ...rf-Make-sure-we-only-use-the-file-name-to.patch | 26 ++ .../0003-Force-host-toolchain-configuration.patch | 71 ----- ...sl-sandbox-Define-TEMP_FAILURE_RETRY-if-n.patch | 33 -- ...s.prf-allow-build-for-linux-oe-g-platform.patch | 30 ++ ...quickwebengineview_p_p.h-add-include-QCol.patch | 23 ++ ...sl-Avoid-mallinfo-APIs-on-non-glibc-linux.patch | 67 ---- ...use-pvalloc-as-it-s-not-available-on-musl.patch | 37 --- ...-dependency-to-QCoreApplication-translate.patch | 23 ++ ...-chromium-musl-include-fcntl.h-for-loff_t.patch | 22 -- .../0005-musl-link-against-libexecinfo.patch | 24 -- ...sl-use-off64_t-instead-of-the-internal-__.patch | 62 ---- ...ium-musl-linux-glibc-make-the-distinction.patch | 23 -- ...sl-allocator-Do-not-include-glibc_weak_sy.patch | 24 -- ...sl-Use-correct-member-name-__si_fields-fr.patch | 24 -- ...hromium-musl-Match-syscalls-to-match-musl.patch | 44 --- ...sl-Define-res_ninit-and-res_nclose-for-no.patch | 79 ----- ...hromium-musl-Do-not-define-__sbrk-on-musl.patch | 26 -- ...um-musl-Adjust-default-pthread-stack-size.patch | 47 --- ...sl-include-asm-generic-ioctl.h-for-TCGETS.patch | 22 -- ...sl-tcmalloc-Use-off64_t-insread-of-__off6.patch | 23 -- meta/recipes-qt/qt5/qtwebengine_git.bb | 158 ++++------ meta/recipes-qt/qt5/qtwebkit-examples_git.bb | 8 +- .../0001-qtwebkit-fix-QA-issue-bad-RPATH.patch | 2 +- ...ude-backtrace-API-for-non-glibc-libraries.patch | 35 --- .../qtwebkit/0002-Remove-TEXTREL-tag-in-x86.patch | 76 +++++ ...ude-backtrace-API-for-non-glibc-libraries.patch | 35 +++ meta/recipes-qt/qt5/qtwebkit_git.bb | 36 +-- meta/recipes-qt/qt5/qtwebsockets_git.bb | 12 +- meta/recipes-qt/qt5/qtwebview_git.bb | 22 -- meta/recipes-qt/qt5/qtx11extras_git.bb | 2 +- meta/recipes-qt/qt5/qtxmlpatterns_git.bb | 16 +- 135 files changed, 2837 insertions(+), 2921 deletions(-) create mode 100644 meta/classes/cmake_qt5.bbclass create mode 100644 meta/classes/populate_sdk_qt5.bbclass create mode 100644 meta/classes/populate_sdk_qt5_base.bbclass delete mode 100644 meta/recipes-qt/qt5/ptest/run-ptest delete mode 100644 meta/recipes-qt/qt5/qt3d/0002-Fix-BlenderDNA-for-clang-cross-compiler.patch delete mode 100644 meta/recipes-qt/qt5/qt5-creator/0002-Fix-compilation-with-QT_NO_ACCESSIBILITY.patch delete mode 100644 meta/recipes-qt/qt5/qt5-creator/0003-Qmlpuppet-add-missing-includes.patch delete mode 100644 meta/recipes-qt/qt5/qt5-creator/0004-Link-with-libexecinfo-on-musl.patch delete mode 100644 meta/recipes-qt/qt5/qt5-ptest.inc delete mode 100644 meta/recipes-qt/qt5/qtbase/0002-cmake-Use-OE_QMAKE_PATH_EXTERNAL_HOST_BINS.patch create mode 100644 meta/recipes-qt/qt5/qtbase/0002-qlibraryinfo-allow-to-set-qt.conf-from-the-outside-u.patch create mode 100644 meta/recipes-qt/qt5/qtbase/0003-Add-external-hostbindir-option.patch delete mode 100644 meta/recipes-qt/qt5/qtbase/0003-qlibraryinfo-allow-to-set-qt.conf-from-the-outside-u.patch delete mode 100644 meta/recipes-qt/qt5/qtbase/0004-configure-bump-path-length-from-256-to-512-character.patch create mode 100644 meta/recipes-qt/qt5/qtbase/0004-qt_module-Fix-pkgconfig-and-libtool-replacements.patch delete mode 100644 meta/recipes-qt/qt5/qtbase/0005-Disable-all-unknown-features-instead-of-erroring-out.patch create mode 100644 meta/recipes-qt/qt5/qtbase/0005-configure-bump-path-length-from-256-to-512-character.patch delete mode 100644 meta/recipes-qt/qt5/qtbase/0006-Pretend-Qt5-wasn-t-found-if-OE_QMAKE_PATH_EXTERNAL_H.patch create mode 100644 meta/recipes-qt/qt5/qtbase/0006-QOpenGLPaintDevice-sub-area-support.patch delete mode 100644 meta/recipes-qt/qt5/qtbase/0007-Delete-qlonglong-and-qulonglong.patch create mode 100644 meta/recipes-qt/qt5/qtbase/0007-linux-oe-g-Invert-conditional-for-defining-QT_SOCKLE.patch delete mode 100644 meta/recipes-qt/qt5/qtbase/0008-Replace-pthread_yield-with-sched_yield.patch create mode 100644 meta/recipes-qt/qt5/qtbase/0008-configure-paths-for-target-qmake-properly.patch delete mode 100644 meta/recipes-qt/qt5/qtbase/0009-Add-OE-specific-specs-for-clang-compiler.patch create mode 100644 meta/recipes-qt/qt5/qtbase/0009-Pretend-Qt5-wasn-t-found-if-OE_QMAKE_PATH_EXTERNAL_H.patch create mode 100644 meta/recipes-qt/qt5/qtbase/0010-Always-build-uic.patch delete mode 100644 meta/recipes-qt/qt5/qtbase/0010-linux-clang-Invert-conditional-for-defining-QT_SOCKL.patch create mode 100644 meta/recipes-qt/qt5/qtbase/0011-Add-external-hostbindir-option-for-native-sdk.patch delete mode 100644 meta/recipes-qt/qt5/qtbase/0011-tst_qlocale-Enable-QT_USE_FENV-only-on-glibc.patch delete mode 100644 meta/recipes-qt/qt5/qtbase/0012-mkspecs-common-gcc-base.conf-Use-I-instead-of-isyste.patch delete mode 100644 meta/recipes-qt/qt5/qtbase/0013-Always-build-uic-and-qvkgen.patch delete mode 100644 meta/recipes-qt/qt5/qtbase/0014-Bootstrap-without-linkat-feature.patch delete mode 100644 meta/recipes-qt/qt5/qtcharts_git.bb delete mode 100644 meta/recipes-qt/qt5/qtdatavis3d_git.bb create mode 100644 meta/recipes-qt/qt5/qtdeclarative/0001-qmltestexample-fix-link.patch create mode 100644 meta/recipes-qt/qt5/qtdeclarative/0002-qquickviewcomparison-fix-QCoreApplication-has-not-be.patch delete mode 100644 meta/recipes-qt/qt5/qtgamepad_git.bb create mode 100644 meta/recipes-qt/qt5/qtimageformats/0001-qtimageformats.pro-Make-the-dependencies-determinist.patch delete mode 100644 meta/recipes-qt/qt5/qtknx_git.bb delete mode 100644 meta/recipes-qt/qt5/qtmqtt_git.bb create mode 100644 meta/recipes-qt/qt5/qtmultimedia/0001-Initial-porting-effort-to-GStreamer-1.0.patch delete mode 100644 meta/recipes-qt/qt5/qtmultimedia/0001-qtmultimedia-fix-a-conflicting-declaration.patch delete mode 100644 meta/recipes-qt/qt5/qtnetworkauth_git.bb delete mode 100644 meta/recipes-qt/qt5/qtpurchasing_git.bb create mode 100644 meta/recipes-qt/qt5/qtquickcontrols/0001-texteditor-fix-invalid-use-of-incomplete-type-class-.patch delete mode 100644 meta/recipes-qt/qt5/qtremoteobjects/0001-Allow-a-tools-only-build.patch delete mode 100644 meta/recipes-qt/qt5/qtremoteobjects_git.bb delete mode 100644 meta/recipes-qt/qt5/qtscxml/0001-Use-external-host-bin-path-for-cmake-file.patch delete mode 100644 meta/recipes-qt/qt5/qtscxml_git.bb delete mode 100644 meta/recipes-qt/qt5/qtserialbus_git.bb create mode 100644 meta/recipes-qt/qt5/qttools/0001-Allow-to-build-only-lrelease-lupdate-lconvert.patch delete mode 100644 meta/recipes-qt/qt5/qttools/0001-add-noqtwebkit-configuration.patch create mode 100644 meta/recipes-qt/qt5/qttools/0002-assistant-help-fix-linking-of-dependent-libraries.patch delete mode 100644 meta/recipes-qt/qt5/qttools/0002-linguist-tools-cmake-allow-overriding-the-location-f.patch create mode 100644 meta/recipes-qt/qt5/qttools/0003-add-noqtwebkit-configuration.patch create mode 100644 meta/recipes-qt/qt5/qttools/0004-linguist-tools-cmake-allow-overriding-the-location-f.patch delete mode 100644 meta/recipes-qt/qt5/qttools/run-ptest delete mode 100644 meta/recipes-qt/qt5/qtvirtualkeyboard/0001-include-sys-time.h-for-timeval.patch delete mode 100644 meta/recipes-qt/qt5/qtvirtualkeyboard_git.bb create mode 100644 meta/recipes-qt/qt5/qtwayland-native_git.bb create mode 100644 meta/recipes-qt/qt5/qtwayland/0001-Install-the-qtwaylandscanner-tool-to-the-native-side.patch create mode 100644 meta/recipes-qt/qt5/qtwayland/0001-examples-wayland-include-server-buffer-only-when-bui.patch delete mode 100644 meta/recipes-qt/qt5/qtwayland/0001-fix-build-without-xkbcommon-evdev.patch delete mode 100644 meta/recipes-qt/qt5/qtwebengine/0001-WebEngine-qquickwebengineview_p_p.h-add-include-QCol.patch delete mode 100644 meta/recipes-qt/qt5/qtwebengine/0001-chromium-Force-host-toolchain-configuration.patch create mode 100644 meta/recipes-qt/qt5/qtwebengine/0001-chromium-base.gypi-include-atomicops_internals_x86_g.patch create mode 100644 meta/recipes-qt/qt5/qtwebengine/0001-functions.prf-Don-t-match-QMAKE_EXT_CPP-or-QMAKE_EXT.patch delete mode 100644 meta/recipes-qt/qt5/qtwebengine/0002-Include-dependency-to-QCoreApplication-translate.patch create mode 100644 meta/recipes-qt/qt5/qtwebengine/0002-chromium-Change-false-to-FALSE-and-1-to-TRUE-FIX-qtw.patch delete mode 100644 meta/recipes-qt/qt5/qtwebengine/0002-chromium-workaround-for-too-long-.rps-file-name.patch create mode 100644 meta/recipes-qt/qt5/qtwebengine/0002-functions.prf-Make-sure-we-only-use-the-file-name-to.patch delete mode 100644 meta/recipes-qt/qt5/qtwebengine/0003-Force-host-toolchain-configuration.patch delete mode 100644 meta/recipes-qt/qt5/qtwebengine/0003-chromium-musl-sandbox-Define-TEMP_FAILURE_RETRY-if-n.patch create mode 100644 meta/recipes-qt/qt5/qtwebengine/0003-functions.prf-allow-build-for-linux-oe-g-platform.patch create mode 100644 meta/recipes-qt/qt5/qtwebengine/0004-WebEngine-qquickwebengineview_p_p.h-add-include-QCol.patch delete mode 100644 meta/recipes-qt/qt5/qtwebengine/0004-chromium-musl-Avoid-mallinfo-APIs-on-non-glibc-linux.patch delete mode 100644 meta/recipes-qt/qt5/qtwebengine/0004-musl-don-t-use-pvalloc-as-it-s-not-available-on-musl.patch create mode 100644 meta/recipes-qt/qt5/qtwebengine/0005-Include-dependency-to-QCoreApplication-translate.patch delete mode 100644 meta/recipes-qt/qt5/qtwebengine/0005-chromium-musl-include-fcntl.h-for-loff_t.patch delete mode 100644 meta/recipes-qt/qt5/qtwebengine/0005-musl-link-against-libexecinfo.patch delete mode 100644 meta/recipes-qt/qt5/qtwebengine/0006-chromium-musl-use-off64_t-instead-of-the-internal-__.patch delete mode 100644 meta/recipes-qt/qt5/qtwebengine/0007-chromium-musl-linux-glibc-make-the-distinction.patch delete mode 100644 meta/recipes-qt/qt5/qtwebengine/0008-chromium-musl-allocator-Do-not-include-glibc_weak_sy.patch delete mode 100644 meta/recipes-qt/qt5/qtwebengine/0009-chromium-musl-Use-correct-member-name-__si_fields-fr.patch delete mode 100644 meta/recipes-qt/qt5/qtwebengine/0010-chromium-musl-Match-syscalls-to-match-musl.patch delete mode 100644 meta/recipes-qt/qt5/qtwebengine/0011-chromium-musl-Define-res_ninit-and-res_nclose-for-no.patch delete mode 100644 meta/recipes-qt/qt5/qtwebengine/0012-chromium-musl-Do-not-define-__sbrk-on-musl.patch delete mode 100644 meta/recipes-qt/qt5/qtwebengine/0013-chromium-musl-Adjust-default-pthread-stack-size.patch delete mode 100644 meta/recipes-qt/qt5/qtwebengine/0014-chromium-musl-include-asm-generic-ioctl.h-for-TCGETS.patch delete mode 100644 meta/recipes-qt/qt5/qtwebengine/0015-chromium-musl-tcmalloc-Use-off64_t-insread-of-__off6.patch delete mode 100644 meta/recipes-qt/qt5/qtwebkit/0002-Exclude-backtrace-API-for-non-glibc-libraries.patch create mode 100644 meta/recipes-qt/qt5/qtwebkit/0002-Remove-TEXTREL-tag-in-x86.patch create mode 100644 meta/recipes-qt/qt5/qtwebkit/0003-Exclude-backtrace-API-for-non-glibc-libraries.patch delete mode 100644 meta/recipes-qt/qt5/qtwebview_git.bb (limited to 'meta') diff --git a/meta/classes/cmake_qt5.bbclass b/meta/classes/cmake_qt5.bbclass new file mode 100644 index 0000000000..5d605a685d --- /dev/null +++ b/meta/classes/cmake_qt5.bbclass @@ -0,0 +1,36 @@ +inherit cmake +inherit qmake5_paths + +DEPENDS_prepend = "qtbase qtbase-native " + +EXTRA_OECMAKE_prepend = " \ + -DOE_QMAKE_PATH_PREFIX=${OE_QMAKE_PATH_PREFIX} \ + -DOE_QMAKE_PATH_HEADERS=${OE_QMAKE_PATH_HEADERS} \ + -DOE_QMAKE_PATH_LIBS=${OE_QMAKE_PATH_LIBS} \ + -DOE_QMAKE_PATH_ARCHDATA=${OE_QMAKE_PATH_ARCHDATA} \ + -DOE_QMAKE_PATH_DATA=${OE_QMAKE_PATH_DATA} \ + -DOE_QMAKE_PATH_BINS=${OE_QMAKE_PATH_BINS} \ + -DOE_QMAKE_PATH_LIBEXECS=${OE_QMAKE_PATH_LIBEXECS} \ + -DOE_QMAKE_PATH_PLUGINS=${OE_QMAKE_PATH_PLUGINS} \ + -DOE_QMAKE_PATH_IMPORTS=${OE_QMAKE_PATH_IMPORTS} \ + -DOE_QMAKE_PATH_QML=${OE_QMAKE_PATH_QML} \ + -DOE_QMAKE_PATH_TRANSLATIONS=${OE_QMAKE_PATH_TRANSLATIONS} \ + -DOE_QMAKE_PATH_DOCS=${OE_QMAKE_PATH_DOCS} \ + -DOE_QMAKE_PATH_SETTINGS=${OE_QMAKE_PATH_SETTINGS} \ + -DOE_QMAKE_PATH_EXAMPLES=${OE_QMAKE_PATH_EXAMPLES} \ + -DOE_QMAKE_PATH_TESTS=${OE_QMAKE_PATH_TESTS} \ + -DOE_QMAKE_PATH_HOST_PREFIX=${OE_QMAKE_PATH_HOST_PREFIX} \ + -DOE_QMAKE_PATH_HOST_BINS=${OE_QMAKE_PATH_HOST_BINS} \ + -DOE_QMAKE_PATH_HOST_DATA=${OE_QMAKE_PATH_HOST_DATA} \ + -DOE_QMAKE_PATH_HOST_LIBS=${OE_QMAKE_PATH_HOST_LIBS} \ + -DOE_QMAKE_PATH_EXTERNAL_HOST_BINS=${OE_QMAKE_PATH_EXTERNAL_HOST_BINS} \ + -DOE_QMAKE_PATH_QT_HEADERS=${OE_QMAKE_PATH_QT_HEADERS} \ + -DOE_QMAKE_PATH_QT_ARCHDATA=${OE_QMAKE_PATH_QT_ARCHDATA} \ + -DOE_QMAKE_PATH_QT_DATA=${OE_QMAKE_PATH_QT_DATA} \ + -DOE_QMAKE_PATH_QT_BINS=${OE_QMAKE_PATH_QT_BINS} \ + -DOE_QMAKE_PATH_QT_TRANSLATIONS=${OE_QMAKE_PATH_QT_TRANSLATIONS} \ + -DOE_QMAKE_PATH_QT_DOCS=${OE_QMAKE_PATH_QT_DOCS} \ + -DOE_QMAKE_PATH_QT_SETTINGS=${OE_QMAKE_PATH_QT_SETTINGS} \ + -DOE_QMAKE_PATH_QT_EXAMPLES=${OE_QMAKE_PATH_QT_EXAMPLES} \ + -DOE_QMAKE_PATH_QT_TESTS=${OE_QMAKE_PATH_QT_TESTS} \ +" diff --git a/meta/classes/populate_sdk_qt5.bbclass b/meta/classes/populate_sdk_qt5.bbclass new file mode 100644 index 0000000000..bbf137d78c --- /dev/null +++ b/meta/classes/populate_sdk_qt5.bbclass @@ -0,0 +1,8 @@ +# Copyright (C) 2014 O.S. Systems Software LTDA. + +inherit populate_sdk_qt5_base + +TOOLCHAIN_HOST_TASK += "nativesdk-packagegroup-qt5-toolchain-host" +TOOLCHAIN_TARGET_TASK += "packagegroup-qt5-toolchain-target" + +FEATURE_PACKAGES_qtcreator-debug = "packagegroup-qt5-qtcreator-debug" diff --git a/meta/classes/populate_sdk_qt5_base.bbclass b/meta/classes/populate_sdk_qt5_base.bbclass new file mode 100644 index 0000000000..b6ce596713 --- /dev/null +++ b/meta/classes/populate_sdk_qt5_base.bbclass @@ -0,0 +1,29 @@ +# This allow reuse of Qt paths +inherit qmake5_paths + +create_sdk_files_prepend () { + # Generate a qt.conf file to be deployed with the SDK + qtconf=${SDK_OUTPUT}/${SDKPATHNATIVE}${OE_QMAKE_PATH_HOST_BINS}/qt.conf + touch $qtconf + echo '[Paths]' >> $qtconf + echo 'Prefix = ${OE_QMAKE_PATH_PREFIX}' >> $qtconf + echo 'Headers = ${OE_QMAKE_PATH_QT_HEADERS}' >> $qtconf + echo 'Libraries = ${OE_QMAKE_PATH_LIBS}' >> $qtconf + echo 'ArchData = ${OE_QMAKE_PATH_QT_ARCHDATA}' >> $qtconf + echo 'Data = ${OE_QMAKE_PATH_QT_DATA}' >> $qtconf + echo 'Binaries = ${OE_QMAKE_PATH_QT_BINS}' >> $qtconf + echo 'LibraryExecutables = ${OE_QMAKE_PATH_LIBEXECS}' >> $qtconf + echo 'Plugins = ${OE_QMAKE_PATH_PLUGINS}' >> $qtconf + echo 'Imports = ${OE_QMAKE_PATH_IMPORTS}' >> $qtconf + echo 'Qml2Imports = ${OE_QMAKE_PATH_QML}' >> $qtconf + echo 'Translations = ${OE_QMAKE_PATH_QT_TRANSLATIONS}' >> $qtconf + echo 'Documentation = ${OE_QMAKE_PATH_QT_DOCS}' >> $qtconf + echo 'Settings = ${OE_QMAKE_PATH_QT_SETTINGS}' >> $qtconf + echo 'Examples = ${OE_QMAKE_PATH_QT_EXAMPLES}' >> $qtconf + echo 'Tests = ${OE_QMAKE_PATH_QT_TESTS}' >> $qtconf + echo 'HostPrefix = ${SDKPATHNATIVE}' >> $qtconf + echo 'HostData = ${SDKTARGETSYSROOT}${OE_QMAKE_PATH_QT_ARCHDATA}' >> $qtconf + echo 'HostBinaries = ${SDKPATHNATIVE}${OE_QMAKE_PATH_HOST_BINS}' >> $qtconf + echo 'HostLibraries = ${SDKPATHNATIVE}${OE_QMAKE_PATH_LIBS}' >> $qtconf + echo 'Sysroot = ${SDKTARGETSYSROOT}' >> $qtconf +} diff --git a/meta/classes/qmake5.bbclass b/meta/classes/qmake5.bbclass index 1a960e8f32..2b43f2e38b 100644 --- a/meta/classes/qmake5.bbclass +++ b/meta/classes/qmake5.bbclass @@ -17,3 +17,7 @@ do_install() { do_install_class-native() { qmake5_base_native_do_install } + +do_install_class-nativesdk() { + qmake5_base_nativesdk_do_install +} diff --git a/meta/classes/qmake5_base.bbclass b/meta/classes/qmake5_base.bbclass index 8f1d143a30..c2a849856f 100644 --- a/meta/classes/qmake5_base.bbclass +++ b/meta/classes/qmake5_base.bbclass @@ -1,9 +1,6 @@ # hardcode linux, because that's what 0001-Add-linux-oe-g-platform.patch adds -XPLATFORM_toolchain-clang = "linux-oe-clang" -XPLATFORM ?= "linux-oe-g++" - -OE_QMAKE_PLATFORM_NATIVE = "${XPLATFORM}" -OE_QMAKE_PLATFORM = "${XPLATFORM}" +OE_QMAKE_PLATFORM_NATIVE = "linux-oe-g++" +OE_QMAKE_PLATFORM = "linux-oe-g++" # Add -d to show debug output from every qmake call, but it prints *a lot*, better to add it only to debugged recipe OE_QMAKE_DEBUG_OUTPUT ?= "" @@ -29,61 +26,31 @@ EXTRA_OEMAKE = " \ OE_QMAKE_LDFLAGS='${OE_QMAKE_LDFLAGS}' \ OE_QMAKE_AR='${OE_QMAKE_AR}' \ OE_QMAKE_STRIP='${OE_QMAKE_STRIP}' \ + OE_QMAKE_WAYLAND_SCANNER='${OE_QMAKE_WAYLAND_SCANNER}' \ OE_QMAKE_INCDIR_QT='${STAGING_DIR_TARGET}/${OE_QMAKE_PATH_HEADERS}' \ " -OE_QMAKE_QMAKE = "${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}/qmake" -export OE_QMAKE_COMPILER = "${CC}" -export OE_QMAKE_CC = "${CC}" -export OE_QMAKE_CFLAGS = "${CFLAGS}" -export OE_QMAKE_CXX = "${CXX}" -export OE_QMAKE_CXXFLAGS = "${CXXFLAGS}" -export OE_QMAKE_LINK = "${CXX}" -export OE_QMAKE_LDFLAGS = "${LDFLAGS}" -export OE_QMAKE_AR = "${AR}" -export OE_QMAKE_STRIP = "echo" - -# qmake reads if from shell environment -export OE_QMAKE_QTCONF_PATH = "${WORKDIR}/qt.conf" +OE_QMAKESPEC = "${QMAKE_MKSPEC_PATH_NATIVE}/mkspecs/${OE_QMAKE_PLATFORM_NATIVE}" +OE_XQMAKESPEC = "${QMAKE_MKSPEC_PATH}/mkspecs/${OE_QMAKE_PLATFORM}" +OE_QMAKE_QMAKE = "${STAGING_BINDIR_NATIVE}${QT_DIR_NAME}/qmake" +OE_QMAKE_COMPILER = "${CC}" +OE_QMAKE_CC = "${CC}" +OE_QMAKE_CFLAGS = "${CFLAGS}" +OE_QMAKE_CXX = "${CXX}" +OE_QMAKE_CXXFLAGS = "${CXXFLAGS}" +OE_QMAKE_LINK = "${CXX}" +OE_QMAKE_LDFLAGS = "${LDFLAGS}" +OE_QMAKE_AR = "${AR}" +OE_QMAKE_STRIP = "echo" +OE_QMAKE_WAYLAND_SCANNER = "${STAGING_BINDIR_NATIVE}/wayland-scanner" + +# this one needs to be exported, because qmake reads it from shell env +export QT_CONF_PATH = "${WORKDIR}/qt.conf" inherit qmake5_paths remove-libtool -generate_target_qt_config_file() { - qtconf="$1" - cat > "${qtconf}" < ${OE_QMAKE_QTCONF_PATH} < ${QT_CONF_PATH} <> ${OE_QMAKE_QTCONF_PATH} </dev/null 2>/dev/null; then - sed -i "s@-L${STAGING_LIBDIR}@-L\${libdir}@g" ${D}${libdir}/pkgconfig/Qt5*.pc - fi } -qmake5_base_fix_install() { - STAGING_PATH=$1 - if [ -d ${D}${STAGING_PATH} ] ; then - echo "Some files are installed in wrong directory ${D}${STAGING_PATH}" - cp -ra ${D}${STAGING_PATH}/* ${D} - rm -rf ${D}${STAGING_PATH} - # remove empty dirs - TMP=`dirname ${D}${STAGING_PATH}` - while test ${TMP} != ${D}; do - rmdir ${TMP} - TMP=`dirname ${TMP}`; - done - fi +qmake5_base_nativesdk_do_install() { + # Fix install paths for all + find . -name "Makefile*" | xargs -r sed -i "s,(INSTALL_ROOT)${STAGING_DIR_HOST},(INSTALL_ROOT),g" + + oe_runmake install INSTALL_ROOT=${D} } qmake5_base_do_install() { # Fix install paths for all find . -name "Makefile*" | xargs -r sed -i "s,(INSTALL_ROOT)${STAGING_DIR_TARGET},(INSTALL_ROOT),g" - find . -name "Makefile*" | xargs -r sed -i "s,(INSTALL_ROOT)${STAGING_DIR_HOST},(INSTALL_ROOT),g" - find . -name "Makefile*" | xargs -r sed -i "s,(INSTALL_ROOT)${STAGING_DIR_NATIVE},(INSTALL_ROOT),g" oe_runmake install INSTALL_ROOT=${D} # everything except HostData and HostBinaries is prefixed with sysroot value, # but we cannot remove sysroot override, because that's useful for pkg-config etc - # concurrent builds may cause qmake to regenerate Makefiles and override the above - # sed changes. If that happens, move files manually to correct location. - qmake5_base_fix_install ${STAGING_DIR_TARGET} - qmake5_base_fix_install ${STAGING_DIR_HOST} - qmake5_base_fix_install ${STAGING_DIR_NATIVE} - - if ls ${D}${libdir}/pkgconfig/*.pc >/dev/null 2>/dev/null; then - sed -i ${D}${libdir}/pkgconfig/*.pc \ - -e "s@-L${STAGING_LIBDIR}@-L\${libdir}@g" \ - -e "s@${STAGING_DIR_TARGET}@@g" + # In some cases like QtQmlDevTools in qtdeclarative, the sed above does not work, + # fix them manually + if [ -d ${D}${STAGING_DIR_TARGET} ] ; then + echo "Some files are installed in wrong directory ${D}${STAGING_DIR_TARGET}" + cp -ra ${D}${STAGING_DIR_TARGET}/* ${D} + rm -rf ${D}${STAGING_DIR_TARGET} + # remove empty dirs + TMP=`dirname ${D}/${STAGING_DIR_TARGET}` + while test ${TMP} != ${D}; do + rmdir ${TMP} + TMP=`dirname ${TMP}`; + done fi } diff --git a/meta/recipes-qt/qt5/nativesdk-qtbase_git.bb b/meta/recipes-qt/qt5/nativesdk-qtbase_git.bb index 87da66e44f..a840f2d81f 100644 --- a/meta/recipes-qt/qt5/nativesdk-qtbase_git.bb +++ b/meta/recipes-qt/qt5/nativesdk-qtbase_git.bb @@ -3,19 +3,16 @@ DEPENDS = "nativesdk-zlib qtbase-native" SECTION = "libs" HOMEPAGE = "http://qt-project.org" -LICENSE = "GFDL-1.3 & BSD & ( GPL-3.0 & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( GPL-2.0+ | LGPL-3.0 | The-Qt-Company-Commercial )" +LICENSE = "GFDL-1.3 & BSD & (LGPL-2.1 & The-Qt-Company-Qt-LGPL-Exception-1.1 | LGPL-3.0)" LIC_FILES_CHKSUM = " \ - file://LICENSE.LGPL3;md5=e6a600fd5e1d9cbde2d983680233ad02 \ file://LICENSE.LGPLv21;md5=fb91571854638f10b2e5f36562661a5a \ file://LICENSE.LGPLv3;md5=a909b94c1c9674b2aa15ff03a86f518a \ - file://LICENSE.GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ - file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504 \ - file://LICENSE.GPL3-EXCEPT;md5=763d8c535a234d9a3fb682c7ecb6c073 \ file://LICENSE.GPLv3;md5=88e2b9117e6be406b5ed6ee4ca99a705 \ file://LGPL_EXCEPTION.txt;md5=9625233da42f9e0ce9d63651a9d97654 \ file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e \ " + QT_MODULE = "qtbase" require nativesdk-qt5.inc @@ -25,28 +22,26 @@ require qt5-git.inc FILESEXTRAPATHS =. "${FILE_DIRNAME}/qtbase:" # common for qtbase-native, qtbase-nativesdk and qtbase -# Patches from https://github.com/meta-qt5/qtbase/commits/b5.10-shared -# 5.10.meta-qt5-shared.2 +# Patches from https://github.com/meta-qt5/qtbase/commits/b5.6-shared +# 5.6.meta-qt5-shared.9 SRC_URI += "\ file://0001-Add-linux-oe-g-platform.patch \ - file://0002-cmake-Use-OE_QMAKE_PATH_EXTERNAL_HOST_BINS.patch \ - file://0003-qlibraryinfo-allow-to-set-qt.conf-from-the-outside-u.patch \ - file://0004-configure-bump-path-length-from-256-to-512-character.patch \ - file://0005-Disable-all-unknown-features-instead-of-erroring-out.patch \ - file://0006-Pretend-Qt5-wasn-t-found-if-OE_QMAKE_PATH_EXTERNAL_H.patch \ - file://0007-Delete-qlonglong-and-qulonglong.patch \ - file://0008-Replace-pthread_yield-with-sched_yield.patch \ - file://0009-Add-OE-specific-specs-for-clang-compiler.patch \ - file://0010-linux-clang-Invert-conditional-for-defining-QT_SOCKL.patch \ - file://0011-tst_qlocale-Enable-QT_USE_FENV-only-on-glibc.patch \ - file://0012-mkspecs-common-gcc-base.conf-Use-I-instead-of-isyste.patch \ + file://0002-qlibraryinfo-allow-to-set-qt.conf-from-the-outside-u.patch \ + file://0003-Add-external-hostbindir-option.patch \ + file://0004-qt_module-Fix-pkgconfig-and-libtool-replacements.patch \ + file://0005-configure-bump-path-length-from-256-to-512-character.patch \ + file://0006-QOpenGLPaintDevice-sub-area-support.patch \ + file://0007-linux-oe-g-Invert-conditional-for-defining-QT_SOCKLE.patch \ + file://0008-configure-paths-for-target-qmake-properly.patch \ + file://0009-Pretend-Qt5-wasn-t-found-if-OE_QMAKE_PATH_EXTERNAL_H.patch \ " # common for qtbase-native and nativesdk-qtbase -# Patches from https://github.com/meta-qt5/qtbase/commits/b5.10-native -# 5.10.meta-qt5-native.2 +# Patches from https://github.com/meta-qt5/qtbase/commits/b5.6-native +# 5.6.meta-qt5-native.9 SRC_URI += " \ - file://0013-Always-build-uic-and-qvkgen.patch \ + file://0010-Always-build-uic.patch \ + file://0011-Add-external-hostbindir-option-for-native-sdk.patch \ " # CMake's toolchain configuration of nativesdk-qtbase @@ -63,11 +58,10 @@ FILES_${PN}-tools-dev = " \ ${FILES_SOLIBSDEV} ${libdir}/*.la \ ${libdir}/*.prl \ ${OE_QMAKE_PATH_ARCHDATA}/mkspecs \ - ${OE_QMAKE_PATH_LIBS}/*.prl \ " FILES_${PN}-tools-staticdev = " \ - ${OE_QMAKE_PATH_LIBS}/*.a \ + ${libdir}/libQt5Bootstrap.a \ " FILES_${PN}-tools-dbg = " \ @@ -101,19 +95,71 @@ QT_CONFIG_FLAGS += " \ OE_QMAKE_PATH_HOST_DATA = "${libdir}${QT_DIR_NAME}" OE_QMAKE_PATH_HOST_LIBS = "${libdir}" -# for qtbase configuration we need default settings -# since we cannot set empty set filename to a not existent file -deltask generate_qt_config_file +do_generate_qt_config_file() { + cat > ${QT_CONF_PATH} <> ${QT_CONF_PATH} <> $script echo 'export OE_QMAKE_LINK=$CXX' >> $script echo 'export OE_QMAKE_AR=$AR' >> $script - echo 'export OE_QMAKE_STRIP=$STRIP' >> $script echo 'export QT_CONF_PATH=${OE_QMAKE_PATH_HOST_BINS}/qt.conf' >> $script echo 'export OE_QMAKE_LIBDIR_QT=`qmake -query QT_INSTALL_LIBS`' >> $script echo 'export OE_QMAKE_INCDIR_QT=`qmake -query QT_INSTALL_HEADERS`' >> $script @@ -209,7 +260,6 @@ fakeroot do_generate_qt_environment_file() { sed -i -e 's:${SDKPATHNATIVE}:$OECORE_NATIVE_SYSROOT:g' $script } -do_generate_qt_environment_file[umask] = "022" addtask generate_qt_environment_file after do_install before do_package -SRCREV = "6c6ace9d23f90845fd424e474d38fe30f070775e" +SRCREV = "e6f8b072d2bf15f8b82bede48ff29ce8ac8dbd9a" diff --git a/meta/recipes-qt/qt5/ptest/run-ptest b/meta/recipes-qt/qt5/ptest/run-ptest deleted file mode 100644 index 044f834d68..0000000000 --- a/meta/recipes-qt/qt5/ptest/run-ptest +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/sh - -for x in ` awk '{print $1}' tst_list `;do - ./${x}; -done - diff --git a/meta/recipes-qt/qt5/qt3d/0001-Allow-a-tools-only-build.patch b/meta/recipes-qt/qt5/qt3d/0001-Allow-a-tools-only-build.patch index 66c8017329..63db818420 100644 --- a/meta/recipes-qt/qt5/qt3d/0001-Allow-a-tools-only-build.patch +++ b/meta/recipes-qt/qt5/qt3d/0001-Allow-a-tools-only-build.patch @@ -1,25 +1,23 @@ -From 05562960b7a3ed7753c9a39a7032fea873fc4098 Mon Sep 17 00:00:00 2001 +From e46d749532d1ca5f74d5c4d8d690972675e5c638 Mon Sep 17 00:00:00 2001 From: Samuli Piippo Date: Wed, 10 Feb 2016 09:02:09 +0200 Subject: [PATCH] Allow a tools-only build --- - qt3d.pro | 7 ++++++- - src/3rdparty/assimp/assimp_dependency.pri | 2 +- - tools/tools.pro | 2 +- - 3 files changed, 8 insertions(+), 3 deletions(-) + qt3d.pro | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/qt3d.pro b/qt3d.pro -index 2cc347a..81cdeef 100644 +index a26e76d..016fb30 100644 --- a/qt3d.pro +++ b/qt3d.pro @@ -1,4 +1,4 @@ --requires(qtConfig(opengl)) -+!tools-only:requires(qtConfig(opengl)) +-requires(contains(QT_CONFIG, opengl)) ++!tools-only:requires(contains(QT_CONFIG, opengl)) - CONFIG += examples_need_tools - load(qt_parts) -@@ -14,3 +14,8 @@ load(qt_parts) + load(configure) + qtCompileTest(assimp) +@@ -17,3 +17,8 @@ load(qt_parts) OTHER_FILES += \ sync.profile @@ -28,24 +26,3 @@ index 2cc347a..81cdeef 100644 + sub_tools.depends -= sub_src + SUBDIRS = sub_tools +} -diff --git a/src/3rdparty/assimp/assimp_dependency.pri b/src/3rdparty/assimp/assimp_dependency.pri -index 8ba2d9a..e973d93 100644 ---- a/src/3rdparty/assimp/assimp_dependency.pri -+++ b/src/3rdparty/assimp/assimp_dependency.pri -@@ -1,5 +1,5 @@ - QT_FOR_CONFIG += 3dcore-private --qtConfig(system-assimp):!if(cross_compile:host_build) { -+!tools-only:qtConfig(system-assimp):!if(cross_compile:host_build) { - QMAKE_USE_PRIVATE += assimp - } else { - include(assimp.pri) -diff --git a/tools/tools.pro b/tools/tools.pro -index 8e973ae..ad51db5 100644 ---- a/tools/tools.pro -+++ b/tools/tools.pro -@@ -1,4 +1,4 @@ - TEMPLATE = subdirs - QT_FOR_CONFIG += 3dcore-private --!android:qtConfig(assimp):qtConfig(commandlineparser): \ -+!android:tools-only|qtConfig(assimp):qtConfig(commandlineparser): \ - SUBDIRS += qgltf diff --git a/meta/recipes-qt/qt5/qt3d/0002-Fix-BlenderDNA-for-clang-cross-compiler.patch b/meta/recipes-qt/qt5/qt3d/0002-Fix-BlenderDNA-for-clang-cross-compiler.patch deleted file mode 100644 index 3357fa3e85..0000000000 --- a/meta/recipes-qt/qt5/qt3d/0002-Fix-BlenderDNA-for-clang-cross-compiler.patch +++ /dev/null @@ -1,44 +0,0 @@ -From fc23039612ab9aed4f994b4390016e71ceee8165 Mon Sep 17 00:00:00 2001 -From: Kim Kulling -Date: Mon, 7 Nov 2016 17:19:49 +0100 -Subject: [PATCH] Fix BlenderDNA for clang cross compiler. - -Signed-off-by: Martin Jansa ---- - src/3rdparty/assimp/code/BlenderDNA.cpp | 16 ++++++++-------- - 1 file changed, 8 insertions(+), 8 deletions(-) - -diff --git a/src/3rdparty/assimp/code/BlenderDNA.cpp b/src/3rdparty/assimp/code/BlenderDNA.cpp -index 18ec9f2..5b0b209 100644 ---- a/src/3rdparty/assimp/code/BlenderDNA.cpp -+++ b/src/3rdparty/assimp/code/BlenderDNA.cpp -@@ -55,10 +55,10 @@ using namespace Assimp::Formatter; - - bool match4(StreamReaderAny& stream, const char* string) { - char tmp[] = { -- (stream).GetI1(), -- (stream).GetI1(), -- (stream).GetI1(), -- (stream).GetI1() -+ (const char)(stream).GetI1(), -+ (const char)(stream).GetI1(), -+ (const char)(stream).GetI1(), -+ (const char)(stream).GetI1() - }; - return (tmp[0]==string[0] && tmp[1]==string[1] && tmp[2]==string[2] && tmp[3]==string[3]); - } -@@ -345,10 +345,10 @@ void SectionParser :: Next() - stream.SetCurrentPos(current.start + current.size); - - const char tmp[] = { -- stream.GetI1(), -- stream.GetI1(), -- stream.GetI1(), -- stream.GetI1() -+ (const char)stream.GetI1(), -+ (const char)stream.GetI1(), -+ (const char)stream.GetI1(), -+ (const char)stream.GetI1() - }; - current.id = std::string(tmp,tmp[3]?4:tmp[2]?3:tmp[1]?2:1); - diff --git a/meta/recipes-qt/qt5/qt3d_git.bb b/meta/recipes-qt/qt5/qt3d_git.bb index dbd1b27916..5bf79f8e53 100644 --- a/meta/recipes-qt/qt5/qt3d_git.bb +++ b/meta/recipes-qt/qt5/qt3d_git.bb @@ -1,7 +1,7 @@ require qt5.inc require qt5-git.inc -LICENSE = "LGPL-3.0 | GPL-2.0 | The-Qt-Company-Commercial" +LICENSE = "LGPL-3.0 | GPL-2.0+" LIC_FILES_CHKSUM = " \ file://LICENSE.LGPLv3;md5=8211fde12cc8a4e2477602f5953f5b71 \ file://LICENSE.GPLv3;md5=88e2b9117e6be406b5ed6ee4ca99a705 \ @@ -11,32 +11,24 @@ LIC_FILES_CHKSUM = " \ DEPENDS += "qtbase" DEPENDS_class-target += "qtdeclarative qt3d-native" -# Patches from https://github.com/meta-qt5/qt3d/commits/b5.10 -# 5.10.meta-qt5.2 +# Patches from https://github.com/meta-qt5/qt3d/commits/b5.6 +# 5.6.meta-qt5.1 SRC_URI += " \ file://0001-Allow-a-tools-only-build.patch \ - file://0002-Fix-BlenderDNA-for-clang-cross-compiler.patch \ " PACKAGECONFIG ??= "" PACKAGECONFIG_class-native ??= "tools-only" PACKAGECONFIG_class-nativesdk ??= "tools-only" -PACKAGECONFIG[tools-only] = "" -PACKAGECONFIG[system-assimp] = "-feature-system-assimp,-no-feature-system-assimp,assimp" -PACKAGECONFIG[qtgamepad] = ",,qtgamepad" +PACKAGECONFIG[tools-only] = "CONFIG+=tools-only" -EXTRA_QMAKEVARS_CONFIGURE += "${PACKAGECONFIG_CONFARGS}" +EXTRA_QMAKEVARS_PRE += "${PACKAGECONFIG_CONFARGS}" -EXTRA_QMAKEVARS_PRE += "${@bb.utils.contains('PACKAGECONFIG', 'tools-only', 'CONFIG+=tools-only QMAKE_USE_PRIVATE+=zlib', '', d)}" -EXTRA_QMAKEVARS_PRE += "${@bb.utils.contains('PACKAGECONFIG', 'qtgamepad', 'CONFIG+=OE_QTGAMEPAD_ENABLED', '', d)}" - -do_configure_prepend() { - # disable qtgamepad test if it isn't enabled by PACKAGECONFIG - sed -e 's/^\(qtHaveModule(gamepad)\)/OE_QTGAMEPAD_ENABLED:\1/' -i \ - ${S}/src/input/frontend/frontend.pri \ - ${S}/src/quick3d/imports/input/importsinput.pro -} +FILES_${PN}-qmlplugins += " \ + ${OE_QMAKE_PATH_QML}/*/*/*.bez \ + ${OE_QMAKE_PATH_QML}/*/*/*.obj \ +" -SRCREV = "31f424bb81cd2583920d3d521e1e01f01c2d28e2" +SRCREV = "fc781fa42287a4f5db62a346ad6eb8bcbb9f49c0" BBCLASSEXTEND += "native nativesdk" diff --git a/meta/recipes-qt/qt5/qt5-creator/0001-Fix-Allow-qt-creator-to-build-on-arm-aarch32-and-aar.patch b/meta/recipes-qt/qt5/qt5-creator/0001-Fix-Allow-qt-creator-to-build-on-arm-aarch32-and-aar.patch index c4ee34bf9d..3ed8bc4587 100644 --- a/meta/recipes-qt/qt5/qt5-creator/0001-Fix-Allow-qt-creator-to-build-on-arm-aarch32-and-aar.patch +++ b/meta/recipes-qt/qt5/qt5-creator/0001-Fix-Allow-qt-creator-to-build-on-arm-aarch32-and-aar.patch @@ -1,7 +1,7 @@ -From 056bc88a15df06443a4a6bdea2b1ead045f89bf6 Mon Sep 17 00:00:00 2001 +From 748174788b318c6316e6d41ce323306120223e02 Mon Sep 17 00:00:00 2001 From: Greg Nietsky Date: Tue, 4 Mar 2014 11:33:40 +0200 -Subject: [PATCH] Fix: Allow qt-creator to build on arm aarch32 and aarch64 +Subject: [PATCH 1/2] Fix: Allow qt-creator to build on arm aarch32 and aarch64 Botan is imported hardwired for x86 this small patch allows it too operate on arm other platforms could be added. @@ -14,7 +14,7 @@ Change-Id: Iddea28f21c9fa1afd2fdd5d16a44e6c96a516a7a 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/src/libs/3rdparty/botan/botan.cpp b/src/libs/3rdparty/botan/botan.cpp -index e6a5f22..7b625ac 100644 +index b7a9ddf..c5b9826 100644 --- a/src/libs/3rdparty/botan/botan.cpp +++ b/src/libs/3rdparty/botan/botan.cpp @@ -1101,6 +1101,8 @@ class Montgomery_Exponentiator : public Modular_Exponentiator @@ -76,10 +76,10 @@ index e6a5f22..7b625ac 100644 * Helper Macros for x86 Assembly */ diff --git a/src/libs/3rdparty/botan/botan.h b/src/libs/3rdparty/botan/botan.h -index 2caa4a3..39b8079 100644 +index 2981d2c..1c8d828 100644 --- a/src/libs/3rdparty/botan/botan.h +++ b/src/libs/3rdparty/botan/botan.h -@@ -85,7 +85,9 @@ +@@ -82,7 +82,9 @@ #endif #define BOTAN_TARGET_CPU_IS_LITTLE_ENDIAN @@ -89,3 +89,6 @@ index 2caa4a3..39b8079 100644 #define BOTAN_TARGET_UNALIGNED_MEMORY_ACCESS_OK 1 #if defined(BOTAN_TARGET_CPU_IS_LITTLE_ENDIAN) || \ +-- +1.8.3.1 + diff --git a/meta/recipes-qt/qt5/qt5-creator/0002-Fix-compilation-with-QT_NO_ACCESSIBILITY.patch b/meta/recipes-qt/qt5/qt5-creator/0002-Fix-compilation-with-QT_NO_ACCESSIBILITY.patch deleted file mode 100644 index 8d953c99d9..0000000000 --- a/meta/recipes-qt/qt5/qt5-creator/0002-Fix-compilation-with-QT_NO_ACCESSIBILITY.patch +++ /dev/null @@ -1,35 +0,0 @@ -From fbae8e85e74976b79308c203d38839b364757302 Mon Sep 17 00:00:00 2001 -From: Eike Ziller -Date: Fri, 24 Jun 2016 10:23:24 +0200 -Subject: [PATCH] Fix compilation with QT_NO_ACCESSIBILITY - -Task-number: QTCREATORBUG-16446 -Change-Id: If75122c23a697f26ccf56391fe2e8d316aad6367 -Reviewed-by: hjk ---- - src/libs/utils/fancymainwindow.cpp | 7 +++++-- - 1 file changed, 5 insertions(+), 2 deletions(-) - -diff --git a/src/libs/utils/fancymainwindow.cpp b/src/libs/utils/fancymainwindow.cpp -index 9477f17..1ee425f 100644 ---- a/src/libs/utils/fancymainwindow.cpp -+++ b/src/libs/utils/fancymainwindow.cpp -@@ -159,13 +159,16 @@ public: - - m_floatButton = new DockWidgetTitleButton(this); - m_floatButton->setIcon(q->style()->standardIcon(QStyle::SP_TitleBarNormalButton, &opt, q)); -- m_floatButton->setAccessibleName(QDockWidget::tr("Float")); -- m_floatButton->setAccessibleDescription(QDockWidget::tr("Undocks and re-attaches the dock widget")); - - m_closeButton = new DockWidgetTitleButton(this); - m_closeButton->setIcon(q->style()->standardIcon(QStyle::SP_TitleBarCloseButton, &opt, q)); -+ -+#ifndef QT_NO_ACCESSIBILITY -+ m_floatButton->setAccessibleName(QDockWidget::tr("Float")); -+ m_floatButton->setAccessibleDescription(QDockWidget::tr("Undocks and re-attaches the dock widget")); - m_closeButton->setAccessibleName(QDockWidget::tr("Close")); - m_closeButton->setAccessibleDescription(QDockWidget::tr("Closes the dock widget")); -+#endif - - setActive(false); - diff --git a/meta/recipes-qt/qt5/qt5-creator/0003-Qmlpuppet-add-missing-includes.patch b/meta/recipes-qt/qt5/qt5-creator/0003-Qmlpuppet-add-missing-includes.patch deleted file mode 100644 index e64b6d9aa2..0000000000 --- a/meta/recipes-qt/qt5/qt5-creator/0003-Qmlpuppet-add-missing-includes.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 896624d715e20e658344ac85db91cd55d25e7211 Mon Sep 17 00:00:00 2001 -From: Marco Benelli -Date: Thu, 6 Jul 2017 09:31:41 +0200 -Subject: [PATCH] Qmlpuppet: add missing includes - -Task-number: QTCREATORBUG-18498 -Change-Id: Ie40a066508bb52f53b8ad528f9d4cf6969fc0632 -Reviewed-by: Thomas Hartmann ---- - .../qtcreator/qml/qmlpuppet/qml2puppet/instances/layoutnodeinstance.cpp | 2 ++ - .../qtcreator/qml/qmlpuppet/qml2puppet/instances/objectnodeinstance.cpp | 1 + - 2 files changed, 3 insertions(+) - -diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/layoutnodeinstance.cpp b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/layoutnodeinstance.cpp -index 3f9f148..160e5c4 100644 ---- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/layoutnodeinstance.cpp -+++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/layoutnodeinstance.cpp -@@ -29,6 +29,8 @@ - ****************************************************************************/ - #include "layoutnodeinstance.h" - -+#include -+ - namespace QmlDesigner { - namespace Internal { - -diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/objectnodeinstance.cpp b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/objectnodeinstance.cpp -index 5a9342f..bacbc12 100644 ---- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/objectnodeinstance.cpp -+++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/objectnodeinstance.cpp -@@ -33,6 +33,7 @@ - #include - #include - -+#include - #include - #include - #include diff --git a/meta/recipes-qt/qt5/qt5-creator/0004-Link-with-libexecinfo-on-musl.patch b/meta/recipes-qt/qt5/qt5-creator/0004-Link-with-libexecinfo-on-musl.patch deleted file mode 100644 index 59687e5516..0000000000 --- a/meta/recipes-qt/qt5/qt5-creator/0004-Link-with-libexecinfo-on-musl.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 7fb65b82d247123c7fdb61436183f1d76067b66b Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Tue, 16 Jan 2018 13:26:57 +0000 -Subject: [PATCH] Link with libexecinfo on musl - -Signed-off-by: Khem Raj -Signed-off-by: Martin Jansa ---- - src/plugins/debugger/debugger.pro | 1 + - src/plugins/qmldesigner/config.pri | 1 + - 2 files changed, 2 insertions(+) - -diff --git a/src/plugins/debugger/debugger.pro b/src/plugins/debugger/debugger.pro -index c40bd63..96ab542 100644 ---- a/src/plugins/debugger/debugger.pro -+++ b/src/plugins/debugger/debugger.pro -@@ -148,3 +148,4 @@ include(qml/qml.pri) - include(namedemangler/namedemangler.pri) - - include(shared/shared.pri) -+LIBS *= -lexecinfo -diff --git a/src/plugins/qmldesigner/config.pri b/src/plugins/qmldesigner/config.pri -index 1b559b2..b485b63 100644 ---- a/src/plugins/qmldesigner/config.pri -+++ b/src/plugins/qmldesigner/config.pri -@@ -9,3 +9,4 @@ equals(TMP_BAUHAUS_NO_OUTPUT, true):DEFINES += QT_NO_DEBUG_OUTPUT \ - DEFINES += ENABLE_TEXT_VIEW - - isEmpty($$(BAUHAUS_OUTPUT_IN_TEST)):DEFINES += QDEBUG_IN_TESTS WARNINGS_IN_TESTS -+LIBS *= -lexecinfo diff --git a/meta/recipes-qt/qt5/qt5-creator_3.5.1.bb b/meta/recipes-qt/qt5/qt5-creator_3.5.1.bb index fe9cb41404..2d8cee9d26 100644 --- a/meta/recipes-qt/qt5/qt5-creator_3.5.1.bb +++ b/meta/recipes-qt/qt5/qt5-creator_3.5.1.bb @@ -17,21 +17,12 @@ LIC_FILES_CHKSUM = " \ inherit qmake5 DEPENDS = "qtbase qtscript qtwebkit qtxmlpatterns qtx11extras qtdeclarative qttools qttools-native qtsvg qtquick1" -DEPENDS_append_libc-musl = " libexecinfo" -# Patches from https://github.com/meta-qt5/qtcreator/commits/b5.3.1 -# 5.3.1.meta-qt5.1 SRC_URI = " \ http://download.qt.io/official_releases/qtcreator/3.5/${PV}/qt-creator-opensource-src-${PV}.tar.gz \ file://0001-Fix-Allow-qt-creator-to-build-on-arm-aarch32-and-aar.patch \ - file://0002-Fix-compilation-with-QT_NO_ACCESSIBILITY.patch \ - file://0003-Qmlpuppet-add-missing-includes.patch \ file://qtcreator.desktop.in \ " - -SRC_URI_append_libc-musl = " file://0004-Link-with-libexecinfo-on-musl.patch" - - SRC_URI[md5sum] = "77aef7df837eba07c7ce6037ee504c05" SRC_URI[sha256sum] = "5925ac818a08be919094e0f28fb4c5d8896765e0975d54d353e4c50f13d63e65" @@ -39,11 +30,10 @@ S = "${WORKDIR}/qt-creator-opensource-src-${PV}" EXTRA_QMAKEVARS_PRE += "IDE_LIBRARY_BASENAME=${baselib}${QT_DIR_NAME}" -LDFLAGS_append_libc-musl = " -lexecinfo " do_configure_append() { # Find native tools - sed -i 's:${STAGING_BINDIR}.*/lrelease:${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}/lrelease:g' ${B}/share/qtcreator/translations/Makefile - sed -i 's:${STAGING_BINDIR}.*/qdoc:${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}/qdoc:g' ${B}/Makefile + sed -i 's:${STAGING_BINDIR}.*/lrelease:${STAGING_BINDIR_NATIVE}${QT_DIR_NAME}/lrelease:g' ${B}/share/qtcreator/translations/Makefile + sed -i 's:${STAGING_BINDIR}.*/qdoc:${STAGING_BINDIR_NATIVE}${QT_DIR_NAME}/qdoc:g' ${B}/Makefile # see qtbase-native.inc # sed -i 's:QT_INSTALL_DOCS=${docdir}:QT_INSTALL_DOCS=${STAGING_DATADIR_NATIVE}${QT_DIR_NAME}/doc:g' ${B}/Makefile @@ -60,7 +50,7 @@ do_install() { # install desktop and ensure that qt-creator finds qmake install -d ${D}${datadir}/applications install -m 0644 ${WORKDIR}/qtcreator.desktop.in ${D}${datadir}/applications/qtcreator.desktop - sed -i 's:@QT5_QMAKE@:${OE_QMAKE_PATH_QT_BINS}:g' ${D}${datadir}/applications/qtcreator.desktop + sed -i 's:@QT5_QMAKE@:${bindir}${QT_DIR_NAME}:g' ${D}${datadir}/applications/qtcreator.desktop } FILES_${PN} += " \ diff --git a/meta/recipes-qt/qt5/qt5-git.inc b/meta/recipes-qt/qt5/qt5-git.inc index beba913547..a17ec24763 100644 --- a/meta/recipes-qt/qt5/qt5-git.inc +++ b/meta/recipes-qt/qt5/qt5-git.inc @@ -1,17 +1,14 @@ # Copyright (C) 2012-2016 O.S. Systems Software LTDA. -# Copyright (C) 2013-2018 Martin Jansa +# Copyright (C) 2013-2014 Martin Jansa QT_MODULE ?= "${BPN}" -QT_MODULE_BRANCH ?= "5.10.1" -QT_MODULE_BRANCH_PARAM ?= "branch=${QT_MODULE_BRANCH}" +QT_MODULE_BRANCH ?= "5.6" # each module needs to define valid SRCREV SRC_URI = " \ - ${QT_GIT}/${QT_MODULE}.git;name=${QT_MODULE};${QT_MODULE_BRANCH_PARAM};protocol=${QT_GIT_PROTOCOL} \ + ${QT_GIT}/${QT_MODULE}.git;name=${QT_MODULE};branch=${QT_MODULE_BRANCH};protocol=${QT_GIT_PROTOCOL} \ " -CVE_PRODUCT = "qt" - S = "${WORKDIR}/git" -PV = "5.10.1+git${SRCPV}" +PV = "5.6.3+git${SRCPV}" diff --git a/meta/recipes-qt/qt5/qt5-native.inc b/meta/recipes-qt/qt5/qt5-native.inc index 76816027fe..853502889f 100644 --- a/meta/recipes-qt/qt5/qt5-native.inc +++ b/meta/recipes-qt/qt5/qt5-native.inc @@ -10,3 +10,10 @@ OE_QMAKE_PATH_DOCS = "${OE_QMAKE_PATH_QT_DOCS}" OE_QMAKE_PATH_SETTINGS = "${OE_QMAKE_PATH_QT_SETTINGS}" OE_QMAKE_PATH_EXAMPLES = "${OE_QMAKE_PATH_QT_EXAMPLES}" OE_QMAKE_PATH_TESTS = "${OE_QMAKE_PATH_QT_TESTS}" + +# Regenerate header files when they are included in source tarball +# Otherwise cmake files don't set PRIVATE_HEADERS correctly +do_configure_prepend() { + rm -rf ${S}/include + mkdir -p ${S}/.git || true +} diff --git a/meta/recipes-qt/qt5/qt5-plugin-generic-vboxtouch_git.bb b/meta/recipes-qt/qt5/qt5-plugin-generic-vboxtouch_git.bb index 383145beb3..2676bdd78e 100644 --- a/meta/recipes-qt/qt5/qt5-plugin-generic-vboxtouch_git.bb +++ b/meta/recipes-qt/qt5/qt5-plugin-generic-vboxtouch_git.bb @@ -9,7 +9,7 @@ LIC_FILES_CHKSUM = " \ file://evdevmousehandler.cpp;beginline=1;endline=40;md5=9081062f6e7f74b6e62ad7ecee4a71be \ " -PV = "1.1.4+gitr${SRCPV}" +PV = "1.1.3+gitr${SRCPV}" DEPENDS = "qtbase" @@ -17,7 +17,7 @@ DEPENDS = "qtbase" CXXFLAGS += "-Wno-narrowing" SRC_URI = "git://github.com/nemomobile/qt5-plugin-generic-vboxtouch.git" -SRCREV = "3f2bdb5a1d346f02d5ab185522271ba2288a42bb" +SRCREV = "d613ad1cc64d7a6a9b38df4d49146170be6876aa" S = "${WORKDIR}/git/vboxtouch" inherit qmake5 diff --git a/meta/recipes-qt/qt5/qt5-ptest.inc b/meta/recipes-qt/qt5/qt5-ptest.inc deleted file mode 100644 index 56efe10688..0000000000 --- a/meta/recipes-qt/qt5/qt5-ptest.inc +++ /dev/null @@ -1,22 +0,0 @@ -FILESEXTRAPATHS_append := ":${THISDIR}/ptest" -SRC_URI += "file://run-ptest" - -inherit ptest - -do_compile_ptest() { - mkdir -p ${B}/tests - cd ${B}/tests - ${OE_QMAKE_QMAKE} -o Makefile ${S}/tests/tests.pro - oe_runmake -} - -fakeroot do_install_ptest() { - mkdir -p ${D}${PTEST_PATH} - t=${D}${PTEST_PATH} - for var in ` find ${B}/tests/auto/ -name tst_*`; do - if [ -z ` echo ${var##*/} | grep '\.'` ]; then - echo ${var##*/} >> ${t}/tst_list - install -m 0644 ${var} ${t} - fi - done -} diff --git a/meta/recipes-qt/qt5/qt5.inc b/meta/recipes-qt/qt5/qt5.inc index 95e3854cb2..b066dded26 100644 --- a/meta/recipes-qt/qt5/qt5.inc +++ b/meta/recipes-qt/qt5/qt5.inc @@ -6,9 +6,7 @@ inherit qmake5 PACKAGECONFIG_OPENSSL ?= "openssl" PACKAGECONFIG[examples] = "" -PACKAGECONFIG[tests] = "" EXTRA_QMAKEVARS_PRE += "${@bb.utils.contains('PACKAGECONFIG', 'examples', 'QT_BUILD_PARTS+=examples', '', d)}" -EXTRA_QMAKEVARS_PRE += "${@bb.utils.contains('PACKAGECONFIG', 'tests', 'QT_BUILD_PARTS+=tests', '', d)}" # we don't want conflicts with qt4 OE_QMAKE_PATH_HEADERS = "${OE_QMAKE_PATH_QT_HEADERS}" @@ -35,6 +33,13 @@ python __anonymous() { d.setVar("PACKAGE_ARCH", tarch) } +# Regenerate header files when they are included in source tarball +# Otherwise cmake files don't set PRIVATE_HEADERS correctly +do_configure_prepend() { + rm -rf ${S}/include + mkdir -p ${S}/.git || true +} + # Many examples come with libraries installed outside of standard libdir, # suppress QA check complaining INSANE_SKIP_${PN}-dbg += "libdir" @@ -90,42 +95,32 @@ FILES_${PN}-qmldesigner += " \ ${OE_QMAKE_PATH_QML}/*/*/*/designer \ " -# qmlplugins 1-4 levels of subdirs qmldir + *{.so,*.qmltypes,*.qml,*.qmlc,*.js,*.jsc} +# qmlplugins 1-4 levels of subdirs qmldir + *{.so,*.qmltypes,*.qml,*js} FILES_${PN}-qmlplugins = " \ ${OE_QMAKE_PATH_QML}/*.qmltypes \ ${OE_QMAKE_PATH_QML}/*/*${SOLIBSDEV} \ ${OE_QMAKE_PATH_QML}/*/qmldir \ ${OE_QMAKE_PATH_QML}/*/*.qmltypes \ ${OE_QMAKE_PATH_QML}/*/*.qml \ - ${OE_QMAKE_PATH_QML}/*/*.qmlc \ ${OE_QMAKE_PATH_QML}/*/*.js \ - ${OE_QMAKE_PATH_QML}/*/*.jsc \ - ${OE_QMAKE_PATH_QML}/*/*.png \ ${OE_QMAKE_PATH_QML}/*/*/*${SOLIBSDEV} \ ${OE_QMAKE_PATH_QML}/*/*/qmldir \ ${OE_QMAKE_PATH_QML}/*/*/*.qmltypes \ ${OE_QMAKE_PATH_QML}/*/*/*.qml \ - ${OE_QMAKE_PATH_QML}/*/*/*.qmlc \ ${OE_QMAKE_PATH_QML}/*/*/*.js \ - ${OE_QMAKE_PATH_QML}/*/*/*.jsc \ - ${OE_QMAKE_PATH_QML}/*/*/*.png \ ${OE_QMAKE_PATH_QML}/*/*/*/*${SOLIBSDEV} \ ${OE_QMAKE_PATH_QML}/*/*/*/qmldir \ ${OE_QMAKE_PATH_QML}/*/*/*/images \ ${OE_QMAKE_PATH_QML}/*/*/*/*.qmltypes \ ${OE_QMAKE_PATH_QML}/*/*/*/*.qml \ - ${OE_QMAKE_PATH_QML}/*/*/*/*.qmlc \ ${OE_QMAKE_PATH_QML}/*/*/*/*.js \ - ${OE_QMAKE_PATH_QML}/*/*/*/*.jsc \ ${OE_QMAKE_PATH_QML}/*/*/*/*.png \ ${OE_QMAKE_PATH_QML}/*/*/*/*.metainfo \ ${OE_QMAKE_PATH_QML}/*/*/*/*/*${SOLIBSDEV} \ ${OE_QMAKE_PATH_QML}/*/*/*/*/qmldir \ ${OE_QMAKE_PATH_QML}/*/*/*/*/*.qmltypes \ ${OE_QMAKE_PATH_QML}/*/*/*/*/*.qml \ - ${OE_QMAKE_PATH_QML}/*/*/*/*/*.qmlc \ ${OE_QMAKE_PATH_QML}/*/*/*/*/*.js \ - ${OE_QMAKE_PATH_QML}/*/*/*/*/*.jsc \ ${OE_QMAKE_PATH_QML}/*/*/*/*/*/*.png \ ${OE_QMAKE_PATH_IMPORTS}/*.qmltypes \ ${OE_QMAKE_PATH_IMPORTS}/*/*${SOLIBSDEV} \ diff --git a/meta/recipes-qt/qt5/qtbase-native_git.bb b/meta/recipes-qt/qt5/qtbase-native_git.bb index 36eeae8936..ee1de4d8f3 100644 --- a/meta/recipes-qt/qt5/qtbase-native_git.bb +++ b/meta/recipes-qt/qt5/qtbase-native_git.bb @@ -2,15 +2,10 @@ DESCRIPTION = "Native version of Qt/[X11|Mac|Embedded]" DEPENDS = "zlib-native dbus-native" SECTION = "libs" HOMEPAGE = "http://qt-project.org" - -LICENSE = "GFDL-1.3 & BSD & ( GPL-3.0 & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( GPL-2.0+ | LGPL-3.0 | The-Qt-Company-Commercial )" +LICENSE = "GFDL-1.3 & BSD & (LGPL-2.1 & The-Qt-Company-Qt-LGPL-Exception-1.1 | LGPL-3.0)" LIC_FILES_CHKSUM = " \ - file://LICENSE.LGPL3;md5=e6a600fd5e1d9cbde2d983680233ad02 \ file://LICENSE.LGPLv21;md5=fb91571854638f10b2e5f36562661a5a \ file://LICENSE.LGPLv3;md5=a909b94c1c9674b2aa15ff03a86f518a \ - file://LICENSE.GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ - file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504 \ - file://LICENSE.GPL3-EXCEPT;md5=763d8c535a234d9a3fb682c7ecb6c073 \ file://LICENSE.GPLv3;md5=88e2b9117e6be406b5ed6ee4ca99a705 \ file://LGPL_EXCEPTION.txt;md5=9625233da42f9e0ce9d63651a9d97654 \ file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e \ @@ -20,45 +15,41 @@ require qt5-native.inc require qt5-git.inc # common for qtbase-native, qtbase-nativesdk and qtbase -# Patches from https://github.com/meta-qt5/qtbase/commits/b5.10-shared -# 5.10.meta-qt5-shared.2 +# Patches from https://github.com/meta-qt5/qtbase/commits/b5.6-shared +# 5.6.meta-qt5-shared.9 SRC_URI += "\ file://0001-Add-linux-oe-g-platform.patch \ - file://0002-cmake-Use-OE_QMAKE_PATH_EXTERNAL_HOST_BINS.patch \ - file://0003-qlibraryinfo-allow-to-set-qt.conf-from-the-outside-u.patch \ - file://0004-configure-bump-path-length-from-256-to-512-character.patch \ - file://0005-Disable-all-unknown-features-instead-of-erroring-out.patch \ - file://0006-Pretend-Qt5-wasn-t-found-if-OE_QMAKE_PATH_EXTERNAL_H.patch \ - file://0007-Delete-qlonglong-and-qulonglong.patch \ - file://0008-Replace-pthread_yield-with-sched_yield.patch \ - file://0009-Add-OE-specific-specs-for-clang-compiler.patch \ - file://0010-linux-clang-Invert-conditional-for-defining-QT_SOCKL.patch \ - file://0011-tst_qlocale-Enable-QT_USE_FENV-only-on-glibc.patch \ - file://0012-mkspecs-common-gcc-base.conf-Use-I-instead-of-isyste.patch \ + file://0002-qlibraryinfo-allow-to-set-qt.conf-from-the-outside-u.patch \ + file://0003-Add-external-hostbindir-option.patch \ + file://0004-qt_module-Fix-pkgconfig-and-libtool-replacements.patch \ + file://0005-configure-bump-path-length-from-256-to-512-character.patch \ + file://0006-QOpenGLPaintDevice-sub-area-support.patch \ + file://0007-linux-oe-g-Invert-conditional-for-defining-QT_SOCKLE.patch \ + file://0008-configure-paths-for-target-qmake-properly.patch \ + file://0009-Pretend-Qt5-wasn-t-found-if-OE_QMAKE_PATH_EXTERNAL_H.patch \ " # common for qtbase-native and nativesdk-qtbase -# Patches from https://github.com/meta-qt5/qtbase/commits/b5.10-native -# 5.10.meta-qt5-native.2 +# Patches from https://github.com/meta-qt5/qtbase/commits/b5.6-native +# 5.6.meta-qt5-native.9 SRC_URI += " \ - file://0013-Always-build-uic-and-qvkgen.patch \ -" - -# only for qtbase-native -SRC_URI += " \ - file://0014-Bootstrap-without-linkat-feature.patch \ + file://0010-Always-build-uic.patch \ + file://0011-Add-external-hostbindir-option-for-native-sdk.patch \ " CLEANBROKEN = "1" -XPLATFORM_toolchain-clang = "linux-oe-clang" -XPLATFORM ?= "linux-oe-g++" +QT_CONF_PATH = "${B}/qt.conf" + +do_generate_qt_config_file() { + : +} PACKAGECONFIG_CONFARGS = " \ + -prefix ${prefix} \ -sysroot ${STAGING_DIR_NATIVE} \ -no-gcc-sysroot \ -system-zlib \ - -qt-pcre \ -no-libjpeg \ -no-libpng \ -no-gif \ @@ -75,15 +66,11 @@ PACKAGECONFIG_CONFARGS = " \ -verbose \ -release \ -prefix ${OE_QMAKE_PATH_PREFIX} \ - -hostprefix ${OE_QMAKE_PATH_PREFIX} \ -bindir ${OE_QMAKE_PATH_BINS} \ - -hostbindir ${OE_QMAKE_PATH_BINS} \ -libdir ${OE_QMAKE_PATH_LIBS} \ - -hostlibdir ${OE_QMAKE_PATH_LIBS} \ -headerdir ${OE_QMAKE_PATH_HEADERS} \ -archdatadir ${OE_QMAKE_PATH_ARCHDATA} \ -datadir ${OE_QMAKE_PATH_DATA} \ - -hostdatadir ${QMAKE_MKSPEC_PATH_NATIVE} \ -docdir ${OE_QMAKE_PATH_DOCS} \ -sysconfdir ${OE_QMAKE_PATH_SETTINGS} \ -no-glib \ @@ -92,24 +79,23 @@ PACKAGECONFIG_CONFARGS = " \ -nomake examples \ -nomake tests \ -no-rpath \ - -no-feature-linkat \ - -platform ${XPLATFORM} \ + -platform linux-oe-g++ \ " -# for qtbase configuration we need default settings -# since we cannot set empty set filename to a not existent file -deltask generate_qt_config_file +# qtbase is exception, configure script is using our get(X)QEvalMakeConf and setBootstrapEvalVariable functions to read it from shell +export OE_QMAKE_COMPILER +export OE_QMAKE_CC +export OE_QMAKE_CFLAGS +export OE_QMAKE_CXX +export OE_QMAKE_CXXFLAGS +export OE_QMAKE_LINK +export OE_QMAKE_LDFLAGS +export OE_QMAKE_AR +export OE_QMAKE_STRIP do_configure_prepend() { - # Regenerate header files when they are included in source tarball - # Otherwise cmake files don't set PRIVATE_HEADERS correctly - rm -rf ${S}/include - mkdir -p ${S}/.git || true - - # Avoid qmake error "Cannot read [...]/usr/lib/qt5/mkspecs/oe-device-extra.pri: No such file or directory" - touch ${S}/mkspecs/oe-device-extra.pri - - MAKEFLAGS="${PARALLEL_MAKE}" ${S}/configure -${QT_EDITION} -confirm-license ${PACKAGECONFIG_CONFARGS} || die "Configuring qt failed. PACKAGECONFIG_CONFARGS was ${PACKAGECONFIG_CONFARGS}" + MAKEFLAGS="${PARALLEL_MAKE}" ${S}/configure -opensource -confirm-license ${PACKAGECONFIG_CONFARGS} || die "Configuring qt failed. PACKAGECONFIG_CONFARGS was ${PACKAGECONFIG_CONFARGS}" + bin/qmake ${OE_QMAKE_DEBUG_OUTPUT} ${S} -o Makefile || die "Configuring qt with qmake failed. PACKAGECONFIG_CONFARGS was ${PACKAGECONFIG_CONFARGS}" } do_install() { @@ -130,11 +116,9 @@ do_install() { done fi - install -m 755 ${B}/bin/qfloat16-tables ${D}${OE_QMAKE_PATH_BINS} - - # since 5.9.2 something sets a very strange path to mkspec ("${_qt5Core_install_prefix}/../../../../../../../../../../usr/lib/qt5//mkspecs/linux-oe-g++") - # override this until somebody finds a better way - echo 'set(_qt5_corelib_extra_includes "${_qt5Core_install_prefix}/lib${QT_DIR_NAME}/mkspecs/linux-oe-g++")' > ${D}${libdir}/cmake/Qt5Core/Qt5CoreConfigExtrasMkspecDir.cmake + # for modules which are still using syncqt and call qtPrepareTool(QMAKE_SYNCQT, syncqt) + # e.g. qt3d, qtwayland + ln -sf syncqt.pl ${D}${OE_QMAKE_PATH_QT_BINS}/syncqt } -SRCREV = "6c6ace9d23f90845fd424e474d38fe30f070775e" +SRCREV = "e6f8b072d2bf15f8b82bede48ff29ce8ac8dbd9a" diff --git a/meta/recipes-qt/qt5/qtbase/0001-Add-linux-oe-g-platform.patch b/meta/recipes-qt/qt5/qtbase/0001-Add-linux-oe-g-platform.patch index 07fc2f77b7..37ed1e6522 100644 --- a/meta/recipes-qt/qt5/qtbase/0001-Add-linux-oe-g-platform.patch +++ b/meta/recipes-qt/qt5/qtbase/0001-Add-linux-oe-g-platform.patch @@ -1,4 +1,4 @@ -From 1ed7a2e9a883fe1240d89b7b70fb0f296bb2b54f Mon Sep 17 00:00:00 2001 +From 5d1bf6c3e826af7282b858c192c62aad77095fc0 Mon Sep 17 00:00:00 2001 From: Martin Jansa Date: Mon, 15 Apr 2013 04:29:32 +0200 Subject: [PATCH] Add linux-oe-g++ platform @@ -7,78 +7,209 @@ Subject: [PATCH] Add linux-oe-g++ platform shell environment, because it's easier for qt recipes to export *FLAGS or CC specific for given recipe -* configure: extend setBootstrapVariable to convert $$(...) operator - to $(...) operator to work in qmake's Makefiles +* configure: add getQEvalMakeConf and getXQEvalMakeConf + Allow expansion of $(...) references from qmake.conf to generate + qmake environment from shell environment as exported by qmake5_base + +* configure: don't export SYSTEM_VARIABLES to .qmake.vars + linux-oe-g++ should handle this correctly and exporting LD as QMAKE_LINK is + causing issues as we need g++ to be used as linker * configure.prf: Allow to add extra arguments to make sometimes we would like to add -e or define some variable and respect it from both Makefiles used in configure tests and also Makefiles to build the application +* OE_QMAKE_CXX in order to allow compiler version check to succeed + which allows WebKit to be enabled. + +* Other variables in order to let config.tests to use our -platform + settings + +* Add setBootstrapEvalVariable to bootstrap qmake with our environment + too, this allows us to use -platform linux-oe-g++ also for native + recipe + +* disable gdb_dwarf_index + * qmake is trying to call native gdb and we don't depend on gdb-native + (or even provide gdb-native) + * fixes errors like this: + /bin/sh: gdb: command not found + /bin/sh: line 0: test: -gt: unary operator expected + which are not fatal, but still misleading in do_configure output + +* add -target suffix to qmake built in qtbase configure, this way we can + use qmake from qtbase-native, but then include qmake built for target + in qtbase-tools package (smilarly for nativesdk-qtbase). + Upstream-Status: Inappropriate [embedded specific] too OE specific, probably cannot be upstreamed Change-Id: I0591ed5da0d61d7cf1509d420e6b293582f1863c Signed-off-by: Martin Jansa --- - configure | 2 +- - mkspecs/features/configure.prf | 4 ++-- - mkspecs/features/qt_functions.prf | 2 +- - mkspecs/linux-oe-g++/qmake.conf | 42 ++++++++++++++++++++++++++++++++++++ - mkspecs/linux-oe-g++/qplatformdefs.h | 1 + - 5 files changed, 47 insertions(+), 4 deletions(-) + configure | 71 ++++++++++++++++--------- + mkspecs/features/configure.prf | 4 +- + mkspecs/linux-oe-g++/qmake.conf | 42 +++++++++++++++ + mkspecs/linux-oe-g++/qplatformdefs.h | 100 +++++++++++++++++++++++++++++++++++ + 4 files changed, 189 insertions(+), 28 deletions(-) create mode 100644 mkspecs/linux-oe-g++/qmake.conf create mode 100644 mkspecs/linux-oe-g++/qplatformdefs.h diff --git a/configure b/configure -index 08b49a8..5876721 100755 +index 6ebeab3..9e552c6 100755 --- a/configure +++ b/configure -@@ -712,7 +712,7 @@ fi - # is where the resulting variable is written to - setBootstrapVariable() +@@ -343,6 +343,16 @@ getQMakeConf() + getSingleQMakeVariable "$1" "$specvals" + } + ++# OE qmake.conf is reading some variables from shell env ++# read them from qmake.conf, replace qmake () syntax with shell and eval ++getQEvalMakeConf() ++{ ++ VAL=`getQMakeConf "$1" | sed -n 's/$[(]\([0-9a-zA-Z_]*\)[)]/$\1/pg'` ++ EVAL=`eval "echo ${VAL}"` ++# echo "Running getQEvalMakeConf: var='$1', val='`getQMakeConf \"$1\"`, val-sed='$VAL', eval='$EVAL'" >&2 ++ eval "echo ${VAL}" ++} ++ + getXQMakeConf() { -- getQMakeConf "$1" | echo ${2-$1} = `if [ -n "$3" ]; then sed "$3"; else cat; fi` >> "$mkfile" -+ getQMakeConf "$1" | sed 's:\$\$(:\$(:' | echo ${2-$1} = `if [ -n "$3" ]; then sed "$3"; else cat; fi` >> "$mkfile" + if [ -z "$xspecvals" ]; then +@@ -367,6 +377,16 @@ testXConfig() + esac } ++# OE qmake.conf is reading some variables from shell env ++# read them from qmake.conf, replace qmake () syntax with shell and eval ++getXQEvalMakeConf() ++{ ++ VAL=`getXQMakeConf "$1" | sed -n 's/$[(]\([0-9a-zA-Z_]*\)[)]/$\1/pg'` ++ EVAL=`eval "echo ${VAL}"` ++# echo "Running getXQEvalMakeConf: var='$1', val='`getXQMakeConf \"$1\"`, val-sed='$VAL', eval='$EVAL'" >&2 ++ eval "echo ${VAL}" ++} ++ + compilerSupportsFlag() + { + cat >conftest.cpp <&2 + fi'` + eval "$cmd" + done +@@ -3443,7 +3453,7 @@ if [ "$XPLATFORM_MAC" = "yes" ]; then + [ "$CFG_QGTKSTYLE" = "auto" ] && CFG_QGTKSTYLE=no + fi + +-QMAKE_CONF_COMPILER=`getXQMakeConf QMAKE_CXX` ++QMAKE_CONF_COMPILER=`getXQEvalMakeConf QMAKE_CXX` + + TEST_COMPILER=$QMAKE_CONF_COMPILER + +@@ -3504,7 +3514,7 @@ if [ "$XPLATFORM_SYMBIAN_SBSV2" = "no" ]; then + exit 1 + fi + fi +-TEST_COMPILER_CXXFLAGS=`getXQMakeConf QMAKE_CXXFLAGS` ++TEST_COMPILER_CXXFLAGS=`getXQEvalMakeConf QMAKE_CXXFLAGS` + + GCC_MACHINE_DUMP= + case "$TEST_COMPILER" in *g++) GCC_MACHINE_DUMP=$($TEST_COMPILER -dumpmachine);; esac +@@ -4005,6 +4015,14 @@ setBootstrapVariable() + getQMakeConf "$1" | echo ${2-$1} = `if [ -n "$3" ]; then sed "$3"; else cat; fi` >> "$mkfile" + } + ++# OE qmake.conf is reading some variables from shell env ++# read them from qmake.conf, replace qmake () syntax with shell and eval ++setBootstrapEvalVariable() ++{ ++ getQEvalMakeConf "$1" | echo ${2-$1} = `if [ -n "$3" ]; then sed "$3"; else cat; fi` >> "$mkfile" ++} ++ ++ # build qmake + if true; then ###[ '!' -f "$outpath/bin/qmake" ]; + echo "Creating qmake..." +@@ -4043,14 +4061,14 @@ if true; then ###[ '!' -f "$outpath/bin/qmake" ]; + fi + + [ "$CFG_SILENT" = "yes" ] && CC_TRANSFORM='s,^,\@,' || CC_TRANSFORM= +- setBootstrapVariable QMAKE_CC CC "$CC_TRANSFORM" +- setBootstrapVariable QMAKE_CXX CXX "$CC_TRANSFORM" +- setBootstrapVariable QMAKE_CFLAGS +- setBootstrapVariable QMAKE_CFLAGS_SPLIT_SECTIONS +- setBootstrapVariable QMAKE_CXXFLAGS +- setBootstrapVariable QMAKE_CXXFLAGS_SPLIT_SECTIONS +- setBootstrapVariable QMAKE_LFLAGS +- setBootstrapVariable QMAKE_LFLAGS_GCSECTIONS ++ setBootstrapEvalVariable QMAKE_CC CC "$CC_TRANSFORM" ++ setBootstrapEvalVariable QMAKE_CXX CXX "$CC_TRANSFORM" ++ setBootstrapEvalVariable QMAKE_CFLAGS ++ setBootstrapEvalVariable QMAKE_CFLAGS_SPLIT_SECTIONS ++ setBootstrapEvalVariable QMAKE_CXXFLAGS ++ setBootstrapEvalVariable QMAKE_CXXFLAGS_SPLIT_SECTIONS ++ setBootstrapEvalVariable QMAKE_LFLAGS ++ setBootstrapEvalVariable QMAKE_LFLAGS_GCSECTIONS + + if [ "$CFG_DEBUG" = "no" ] || [ "$CFG_RELEASE_TOOLS" = "yes" ]; then + setBootstrapVariable QMAKE_CFLAGS_RELEASE +@@ -4093,6 +4111,7 @@ if true; then ###[ '!' -f "$outpath/bin/qmake" ]; + \"\$(SOURCE_PATH)/src/corelib/io/qfsfileengine_unix.cpp\" \ + \"\$(SOURCE_PATH)/src/corelib/tools/qlocale_unix.cpp\"" + EXEEXT= ++ [ "$QT_CROSS_COMPILE" = "yes" ] && EXEEXT=-target + fi + if [ "$BUILD_ON_MAC" = "yes" ]; then + echo "COCOA_LFLAGS =-framework Foundation -framework CoreServices" >>"$mkfile" diff --git a/mkspecs/features/configure.prf b/mkspecs/features/configure.prf -index 934a18a..0f5b1b6 100644 +index a3ec227..eef6006 100644 --- a/mkspecs/features/configure.prf +++ b/mkspecs/features/configure.prf -@@ -46,14 +46,14 @@ defineTest(qtCompileTest) { +@@ -71,12 +71,12 @@ defineTest(qtCompileTest) { } # Clean up after previous run - exists($$test_out_dir/Makefile):qtRunLoggedCommand("$$test_cmd_base $$QMAKE_MAKE distclean") + exists($$test_out_dir/Makefile):qtRunLoggedCommand("$$test_cmd_base $$QMAKE_MAKE $$(QMAKE_MAKE_ARGS) distclean") - mkpath($$test_out_dir)|error() + mkpath($$test_out_dir)|error("Aborting.") - !isEmpty (QMAKE_QTCONF): qtconfarg = -qtconf $$QMAKE_QTCONF - - qtRunLoggedCommand("$$test_cmd_base $$system_quote($$system_path($$QMAKE_QMAKE)) $$qtconfarg -spec $$QMAKESPEC $$qmake_configs $$shell_quote($$test_dir)") { + qtRunLoggedCommand("$$test_cmd_base $$system_quote($$system_path($$QMAKE_QMAKE)) -spec $$QMAKESPEC $$qmake_configs $$shell_quote($$test_dir)") { - qtRunLoggedCommand("$$test_cmd_base $$QMAKE_MAKE") { + qtRunLoggedCommand("$$test_cmd_base $$QMAKE_MAKE $$(QMAKE_MAKE_ARGS)") { log("yes$$escape_expand(\\n)") msg = "test $$1 succeeded" write_file($$QMAKE_CONFIG_LOG, msg, append) -diff --git a/mkspecs/features/qt_functions.prf b/mkspecs/features/qt_functions.prf -index 1903e50..c093dd4 100644 ---- a/mkspecs/features/qt_functions.prf -+++ b/mkspecs/features/qt_functions.prf -@@ -69,7 +69,7 @@ defineTest(qtHaveModule) { - defineTest(qtPrepareTool) { - cmd = $$eval(QT_TOOL.$${2}.binary) - isEmpty(cmd) { -- cmd = $$[QT_HOST_BINS]/$$2 -+ cmd = $$[QT_HOST_BINS/get]/$$2 - exists($${cmd}.pl) { - $${1}_EXE = $${cmd}.pl - cmd = perl -w $$system_path($${cmd}.pl) diff --git a/mkspecs/linux-oe-g++/qmake.conf b/mkspecs/linux-oe-g++/qmake.conf new file mode 100644 -index 0000000..30d31ed +index 0000000..311ba04 --- /dev/null +++ b/mkspecs/linux-oe-g++/qmake.conf @@ -0,0 +1,42 @@ @@ -86,48 +217,147 @@ index 0000000..30d31ed +# qmake configuration for linux-g++ with modifications for building with OpenEmbedded +# + -+MAKEFILE_GENERATOR = UNIX ++MAKEFILE_GENERATOR = UNIX +CONFIG += incremental +QMAKE_INCREMENTAL_STYLE = sublib + +include(../common/linux.conf) + +# QMAKE_ (moc, uic, rcc) are gone, overwrite only ar and strip -+QMAKE_AR = $$(OE_QMAKE_AR) cqs -+QMAKE_STRIP = $$(OE_QMAKE_STRIP) ++QMAKE_AR = $(OE_QMAKE_AR) cqs ++QMAKE_STRIP = $(OE_QMAKE_STRIP) ++QMAKE_WAYLAND_SCANNER = $(OE_QMAKE_WAYLAND_SCANNER) + +include(../common/gcc-base-unix.conf) + +# *FLAGS from gcc-base.conf -+QMAKE_CFLAGS += $$(OE_QMAKE_CFLAGS) -+QMAKE_CXXFLAGS += $$(OE_QMAKE_CXXFLAGS) -+QMAKE_LFLAGS += $$(OE_QMAKE_LDFLAGS) ++QMAKE_CFLAGS += $(OE_QMAKE_CFLAGS) ++QMAKE_CXXFLAGS += $(OE_QMAKE_CXXFLAGS) ++QMAKE_LFLAGS += $(OE_QMAKE_LDFLAGS) + +include(../common/g++-unix.conf) + +# tc settings from g++-base.conf -+QMAKE_COMPILER = $$(OE_QMAKE_COMPILER) gcc -+QMAKE_CC = $$(OE_QMAKE_CC) -+QMAKE_CXX = $$(OE_QMAKE_CXX) ++QMAKE_COMPILER = $(OE_QMAKE_COMPILER) gcc ++QMAKE_CC = $(OE_QMAKE_CC) ++QMAKE_CXX = $(OE_QMAKE_CXX) + -+QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += $$(OE_QMAKE_CFLAGS) ++QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += $(OE_QMAKE_CFLAGS) + -+QMAKE_LINK = $$(OE_QMAKE_LINK) -+QMAKE_LINK_SHLIB = $$(OE_QMAKE_LINK) -+QMAKE_LINK_C = $$(OE_QMAKE_LINK) -+QMAKE_LINK_C_SHLIB = $$(OE_QMAKE_LINK) ++QMAKE_LINK = $(OE_QMAKE_LINK) ++QMAKE_LINK_SHLIB = $(OE_QMAKE_LINK) ++QMAKE_LINK_C = $(OE_QMAKE_LINK) ++QMAKE_LINK_C_SHLIB = $(OE_QMAKE_LINK) + +# for the SDK -+isEmpty(QMAKE_QT_CONFIG):QMAKE_QT_CONFIG = $$(OE_QMAKE_QT_CONFIG) ++isEmpty(QMAKE_QT_CONFIG):QMAKE_QT_CONFIG = $(OE_QMAKE_QT_CONFIG) + +include(../oe-device-extra.pri) + -+load(device_config) +load(qt_config) diff --git a/mkspecs/linux-oe-g++/qplatformdefs.h b/mkspecs/linux-oe-g++/qplatformdefs.h new file mode 100644 -index 0000000..5d22fb4 +index 0000000..dd12003 --- /dev/null +++ b/mkspecs/linux-oe-g++/qplatformdefs.h -@@ -0,0 +1 @@ -+#include "../linux-g++/qplatformdefs.h" +@@ -0,0 +1,100 @@ ++/**************************************************************************** ++** ++** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). ++** Contact: http://www.qt-project.org/legal ++** ++** This file is part of the qmake spec of the Qt Toolkit. ++** ++** $QT_BEGIN_LICENSE:LGPL$ ++** Commercial License Usage ++** Licensees holding valid commercial Qt licenses may use this file in ++** accordance with the commercial license agreement provided with the ++** Software or, alternatively, in accordance with the terms contained in ++** a written agreement between you and Digia. For licensing terms and ++** conditions see http://qt.digia.com/licensing. For further information ++** use the contact form at http://qt.digia.com/contact-us. ++** ++** GNU Lesser General Public License Usage ++** Alternatively, this file may be used under the terms of the GNU Lesser ++** General Public License version 2.1 as published by the Free Software ++** Foundation and appearing in the file LICENSE.LGPL included in the ++** packaging of this file. Please review the following information to ++** ensure the GNU Lesser General Public License version 2.1 requirements ++** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. ++** ++** In addition, as a special exception, Digia gives you certain additional ++** rights. These rights are described in the Digia Qt LGPL Exception ++** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. ++** ++** GNU General Public License Usage ++** Alternatively, this file may be used under the terms of the GNU ++** General Public License version 3.0 as published by the Free Software ++** Foundation and appearing in the file LICENSE.GPL included in the ++** packaging of this file. Please review the following information to ++** ensure the GNU General Public License version 3.0 requirements will be ++** met: http://www.gnu.org/copyleft/gpl.html. ++** ++** ++** $QT_END_LICENSE$ ++** ++****************************************************************************/ ++ ++#ifndef QPLATFORMDEFS_H ++#define QPLATFORMDEFS_H ++ ++// Get Qt defines/settings ++ ++#include "qglobal.h" ++ ++// Set any POSIX/XOPEN defines at the top of this file to turn on specific APIs ++ ++// 1) need to reset default environment if _BSD_SOURCE is defined ++// 2) need to specify POSIX thread interfaces explicitly in glibc 2.0 ++// 3) it seems older glibc need this to include the X/Open stuff ++#ifndef _GNU_SOURCE ++# define _GNU_SOURCE ++#endif ++ ++#include ++ ++ ++// We are hot - unistd.h should have turned on the specific APIs we requested ++ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#ifndef QT_NO_IPV6IFNAME ++#include ++#endif ++ ++#define QT_USE_XOPEN_LFS_EXTENSIONS ++#include "../common/posix/qplatformdefs.h" ++ ++#undef QT_SOCKLEN_T ++ ++#if defined(__GLIBC__) && (__GLIBC__ >= 2) ++#define QT_SOCKLEN_T socklen_t ++#else ++#define QT_SOCKLEN_T int ++#endif ++ ++#if defined(_XOPEN_SOURCE) && (_XOPEN_SOURCE >= 500) ++#define QT_SNPRINTF ::snprintf ++#define QT_VSNPRINTF ::vsnprintf ++#endif ++ ++#endif // QPLATFORMDEFS_H diff --git a/meta/recipes-qt/qt5/qtbase/0002-cmake-Use-OE_QMAKE_PATH_EXTERNAL_HOST_BINS.patch b/meta/recipes-qt/qt5/qtbase/0002-cmake-Use-OE_QMAKE_PATH_EXTERNAL_HOST_BINS.patch deleted file mode 100644 index fa59883490..0000000000 --- a/meta/recipes-qt/qt5/qtbase/0002-cmake-Use-OE_QMAKE_PATH_EXTERNAL_HOST_BINS.patch +++ /dev/null @@ -1,86 +0,0 @@ -From c7dd4e5de1fac8c35df79a86418b6cd552024bd0 Mon Sep 17 00:00:00 2001 -From: Martin Jansa -Date: Sat, 6 Apr 2013 13:15:07 +0200 -Subject: [PATCH] cmake: Use OE_QMAKE_PATH_EXTERNAL_HOST_BINS - -... to determine path to host binaries - -Upstream-Status: Inappropriate [OE specific] - -Signed-off-by: Martin Jansa -Signed-off-by: Simon Busch -Signed-off-by: Jonathan Liu - -Change-Id: Iacaa1c5531cd6dcc094891610c351673db55d7b2 ---- - src/corelib/Qt5CoreConfigExtras.cmake.in | 6 +++--- - src/dbus/Qt5DBusConfigExtras.cmake.in | 4 ++-- - src/widgets/Qt5WidgetsConfigExtras.cmake.in | 2 +- - 3 files changed, 6 insertions(+), 6 deletions(-) - -diff --git a/src/corelib/Qt5CoreConfigExtras.cmake.in b/src/corelib/Qt5CoreConfigExtras.cmake.in -index 545b9a3..c991a9b 100644 ---- a/src/corelib/Qt5CoreConfigExtras.cmake.in -+++ b/src/corelib/Qt5CoreConfigExtras.cmake.in -@@ -5,7 +5,7 @@ if (NOT TARGET Qt5::qmake) - !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE) - set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_BIN_DIR}qmake$$CMAKE_BIN_SUFFIX\") - !!ELSE -- set(imported_location \"$${CMAKE_BIN_DIR}qmake$$CMAKE_BIN_SUFFIX\") -+ set(imported_location \"${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}/qmake$$CMAKE_BIN_SUFFIX\") - !!ENDIF - _qt5_Core_check_file_exists(${imported_location}) - -@@ -20,7 +20,7 @@ if (NOT TARGET Qt5::moc) - !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE) - set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_BIN_DIR}moc$$CMAKE_BIN_SUFFIX\") - !!ELSE -- set(imported_location \"$${CMAKE_BIN_DIR}moc$$CMAKE_BIN_SUFFIX\") -+ set(imported_location \"${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}/moc$$CMAKE_BIN_SUFFIX\") - !!ENDIF - _qt5_Core_check_file_exists(${imported_location}) - -@@ -37,7 +37,7 @@ if (NOT TARGET Qt5::rcc) - !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE) - set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_BIN_DIR}rcc$$CMAKE_BIN_SUFFIX\") - !!ELSE -- set(imported_location \"$${CMAKE_BIN_DIR}rcc$$CMAKE_BIN_SUFFIX\") -+ set(imported_location \"${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}/rcc$$CMAKE_BIN_SUFFIX\") - !!ENDIF - _qt5_Core_check_file_exists(${imported_location}) - -diff --git a/src/dbus/Qt5DBusConfigExtras.cmake.in b/src/dbus/Qt5DBusConfigExtras.cmake.in -index 1d94715..301af8f 100644 ---- a/src/dbus/Qt5DBusConfigExtras.cmake.in -+++ b/src/dbus/Qt5DBusConfigExtras.cmake.in -@@ -5,7 +5,7 @@ if (NOT TARGET Qt5::qdbuscpp2xml) - !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE) - set(imported_location \"${_qt5DBus_install_prefix}/$${CMAKE_BIN_DIR}qdbuscpp2xml$$CMAKE_BIN_SUFFIX\") - !!ELSE -- set(imported_location \"$${CMAKE_BIN_DIR}qdbuscpp2xml$$CMAKE_BIN_SUFFIX\") -+ set(imported_location \"${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}/qdbuscpp2xml$$CMAKE_BIN_SUFFIX\") - !!ENDIF - _qt5_DBus_check_file_exists(${imported_location}) - -@@ -20,7 +20,7 @@ if (NOT TARGET Qt5::qdbusxml2cpp) - !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE) - set(imported_location \"${_qt5DBus_install_prefix}/$${CMAKE_BIN_DIR}qdbusxml2cpp$$CMAKE_BIN_SUFFIX\") - !!ELSE -- set(imported_location \"$${CMAKE_BIN_DIR}qdbusxml2cpp$$CMAKE_BIN_SUFFIX\") -+ set(imported_location \"${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}/qdbusxml2cpp$$CMAKE_BIN_SUFFIX\") - !!ENDIF - _qt5_DBus_check_file_exists(${imported_location}) - -diff --git a/src/widgets/Qt5WidgetsConfigExtras.cmake.in b/src/widgets/Qt5WidgetsConfigExtras.cmake.in -index 99d87e2..5621dc0 100644 ---- a/src/widgets/Qt5WidgetsConfigExtras.cmake.in -+++ b/src/widgets/Qt5WidgetsConfigExtras.cmake.in -@@ -5,7 +5,7 @@ if (NOT TARGET Qt5::uic) - !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE) - set(imported_location \"${_qt5Widgets_install_prefix}/$${CMAKE_BIN_DIR}uic$$CMAKE_BIN_SUFFIX\") - !!ELSE -- set(imported_location \"$${CMAKE_BIN_DIR}uic$$CMAKE_BIN_SUFFIX\") -+ set(imported_location \"${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}/uic$$CMAKE_BIN_SUFFIX\") - !!ENDIF - _qt5_Widgets_check_file_exists(${imported_location}) - diff --git a/meta/recipes-qt/qt5/qtbase/0002-qlibraryinfo-allow-to-set-qt.conf-from-the-outside-u.patch b/meta/recipes-qt/qt5/qtbase/0002-qlibraryinfo-allow-to-set-qt.conf-from-the-outside-u.patch new file mode 100644 index 0000000000..db8005572b --- /dev/null +++ b/meta/recipes-qt/qt5/qtbase/0002-qlibraryinfo-allow-to-set-qt.conf-from-the-outside-u.patch @@ -0,0 +1,36 @@ +From a5e43264353bafc2ea4ad6813dbab6b271aee388 Mon Sep 17 00:00:00 2001 +From: Holger Freyther +Date: Wed, 26 Sep 2012 17:22:30 +0200 +Subject: [PATCH] qlibraryinfo: allow to set qt.conf from the outside using the + environment + +Allow to set a qt.conf from the outside using the environment. This allows +to inject new prefixes and other paths into qmake. This is needed when using +the same qmake binary to build qt/x11 and qt/embedded + +Upstream-Status: Inappropriate [embedded specific] + again very OE specific to read everything from environment (reusing the same + qmake from sstate and replacing all configured paths in it with qt.conf from + environment). + +Signed-off-by: Martin Jansa +--- + src/corelib/global/qlibraryinfo.cpp | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/src/corelib/global/qlibraryinfo.cpp b/src/corelib/global/qlibraryinfo.cpp +index 14be4c3..1bddb53 100644 +--- a/src/corelib/global/qlibraryinfo.cpp ++++ b/src/corelib/global/qlibraryinfo.cpp +@@ -157,7 +157,10 @@ void QLibrarySettings::load() + + QSettings *QLibraryInfoPrivate::findConfiguration() + { +- QString qtconfig = QStringLiteral(":/qt/etc/qt.conf"); ++ QByteArray config = getenv("QT_CONF_PATH"); ++ QString qtconfig = QFile::decodeName(config); ++ if(!QFile::exists(qtconfig)) ++ qtconfig = QStringLiteral(":/qt/etc/qt.conf"); + if (QFile::exists(qtconfig)) + return new QSettings(qtconfig, QSettings::IniFormat); + #ifdef QT_BUILD_QMAKE diff --git a/meta/recipes-qt/qt5/qtbase/0003-Add-external-hostbindir-option.patch b/meta/recipes-qt/qt5/qtbase/0003-Add-external-hostbindir-option.patch new file mode 100644 index 0000000000..aead543a12 --- /dev/null +++ b/meta/recipes-qt/qt5/qtbase/0003-Add-external-hostbindir-option.patch @@ -0,0 +1,226 @@ +From 1e9313a736c9d381c70e723d8075c206bfaf47f5 Mon Sep 17 00:00:00 2001 +From: Martin Jansa +Date: Sat, 6 Apr 2013 13:15:07 +0200 +Subject: [PATCH] Add -external-hostbindir option + +* when cross-compiling it's sometimes useful to use existing tools from machine + (or in OpenEmbedded built with separate native recipe) when building for target + +* this way we can skip bootstraping tools we already have + +* qt_functions: temporary remove isEmpty check +* now we assume that every build will provide QT_EXTERNAL_HOST_BINS value +* isEmpty works correctly only with qmake variables (e.g. $$FOO - + isEmpty(FOO)), but doesn't work with system properties like $$[FOO]. + +* cmake: Use OE_QMAKE_PATH_EXTERNAL_HOST_BINS to determine path to host binaries + +Upstream-Status: Pending + is a lot better for upstreaming (and it was already sort of approved by + Oswald) but in 5.2.0 I've noticed that he added something similar for + android builds + +Signed-off-by: Martin Jansa +Signed-off-by: Simon Busch +Signed-off-by: Jonathan Liu + +Conflicts: + configure +--- + configure | 14 ++++++++++++++ + mkspecs/features/qt_functions.prf | 6 +++++- + mkspecs/features/qt_tool.prf | 5 +++-- + qtbase.pro | 13 ++++++++++--- + src/corelib/Qt5CoreConfigExtras.cmake.in | 6 +++--- + src/dbus/Qt5DBusConfigExtras.cmake.in | 4 ++-- + src/widgets/Qt5WidgetsConfigExtras.cmake.in | 2 +- + 7 files changed, 38 insertions(+), 12 deletions(-) + +diff --git a/configure b/configure +index 9e552c6..ae724d6 100755 +--- a/configure ++++ b/configure +@@ -826,6 +826,7 @@ QT_HOST_BINS= + QT_HOST_LIBS= + QT_HOST_DATA= + QT_EXT_PREFIX= ++QT_EXTERNAL_HOST_BINS= + + #flags for SQL drivers + QT_CFLAGS_PSQL= +@@ -945,6 +946,7 @@ while [ "$#" -gt 0 ]; do + -testsdir| \ + -hostdatadir| \ + -hostbindir| \ ++ -external-hostbindir| \ + -hostlibdir| \ + -extprefix| \ + -sysroot| \ +@@ -1175,6 +1177,9 @@ while [ "$#" -gt 0 ]; do + extprefix) + QT_EXT_PREFIX="$VAL" + ;; ++ external-hostbindir) ++ QT_EXTERNAL_HOST_BINS="$VAL" ++ ;; + pkg-config) + if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then + CFG_PKGCONFIG="$VAL" +@@ -2444,6 +2449,10 @@ Installation options: + -hostdatadir . Data used by qmake will be installed to + (default HOSTPREFIX) + ++ -external-hostbindir Use external host executables instead of building them ++ (not used by defaut) ++ ++ + Configure options: + + The defaults (*) are usually acceptable. A plus (+) denotes a default value +@@ -3195,6 +3204,11 @@ fi + # command line and environment validation + #------------------------------------------------------------------------------- + ++# default is empty, don't call makeabs if it is empty ++if [ ! -z "$QT_EXTERNAL_HOST_BINS" ]; then ++ QT_EXTERNAL_HOST_BINS=`"$relpath/config.tests/unix/makeabs" "$QT_EXTERNAL_HOST_BINS"` ++fi ++ + # update QT_CONFIG to show our current predefined configuration + CFG_QCONFIG_PATH=$relpath/src/corelib/global/qconfig-${CFG_QCONFIG}.h + case "$CFG_QCONFIG" in +diff --git a/mkspecs/features/qt_functions.prf b/mkspecs/features/qt_functions.prf +index 4a1d265..a2bdd29 100644 +--- a/mkspecs/features/qt_functions.prf ++++ b/mkspecs/features/qt_functions.prf +@@ -70,7 +70,11 @@ defineTest(qtHaveModule) { + defineTest(qtPrepareTool) { + cmd = $$eval(QT_TOOL.$${2}.binary) + isEmpty(cmd) { +- cmd = $$[QT_HOST_BINS]/$$2 ++ QT_EXTERNAL_HOST_BINS = $$[QT_EXTERNAL_HOST_BINS] ++ isEmpty(QT_EXTERNAL_HOST_BINS): \ ++ cmd = $$[QT_HOST_BINS]/$$2 ++ else: \ ++ cmd = $$[QT_EXTERNAL_HOST_BINS]/$$2 + exists($${cmd}.pl) { + cmd = perl -w $$system_path($${cmd}.pl) + } else: contains(QMAKE_HOST.os, Windows) { +diff --git a/mkspecs/features/qt_tool.prf b/mkspecs/features/qt_tool.prf +index 839c3d6..45934a0 100644 +--- a/mkspecs/features/qt_tool.prf ++++ b/mkspecs/features/qt_tool.prf +@@ -14,10 +14,11 @@ load(qt_app) + CONFIG += console + DEFINES *= QT_USE_QSTRINGBUILDER + ++QT_EXTERNAL_HOST_BINS = $$[QT_EXTERNAL_HOST_BINS] ++ + # If we are doing a prefix build, create a "module" pri which enables + # qtPrepareTool() to work with the non-installed build. +-# Non-bootstrapped tools always need this because of the environment setup. +-!build_pass:if(!host_build|!force_bootstrap|force_independent) { ++!build_pass:if(!host_build|!force_bootstrap|force_independent):isEmpty(QT_EXTERNAL_HOST_BINS) { + isEmpty(MODULE):MODULE = $$TARGET + + !host_build|!force_bootstrap: MODULE_DEPENDS = $$replace(QT, -private$, _private) +diff --git a/qtbase.pro b/qtbase.pro +index 78f9b3a..f4b7fc4 100644 +--- a/qtbase.pro ++++ b/qtbase.pro +@@ -37,12 +37,16 @@ CONFIG -= qt + + ### installations #### + ++QT_EXTERNAL_HOST_BINS = $$[QT_EXTERNAL_HOST_BINS] ++ + #qmake + qmake.path = $$[QT_HOST_BINS] ++qmake.files = $$OUT_PWD/bin/qmake ++!isEmpty(QT_EXTERNAL_HOST_BINS) { ++ qmake.files = $$[QT_EXTERNAL_HOST_BINS]/qmake ++} + equals(QMAKE_HOST.os, Windows) { +- qmake.files = $$OUT_PWD/bin/qmake.exe +-} else { +- qmake.files = $$OUT_PWD/bin/qmake ++ qmake.files = $${qmake.files}.exe + } + INSTALLS += qmake + +@@ -59,6 +63,9 @@ INSTALLS += fixqt4headers + #syncqt + syncqt.path = $$[QT_HOST_BINS] + syncqt.files = $$PWD/bin/syncqt.pl ++!isEmpty(QT_EXTERNAL_HOST_BINS) { ++ syncqt.files = $$[QT_EXTERNAL_HOST_BINS]/syncqt.pl ++} + INSTALLS += syncqt + + # If we are doing a prefix build, create a "module" pri which enables +diff --git a/src/corelib/Qt5CoreConfigExtras.cmake.in b/src/corelib/Qt5CoreConfigExtras.cmake.in +index 91a4eb6..25df27c 100644 +--- a/src/corelib/Qt5CoreConfigExtras.cmake.in ++++ b/src/corelib/Qt5CoreConfigExtras.cmake.in +@@ -5,7 +5,7 @@ if (NOT TARGET Qt5::qmake) + !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE) + set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_BIN_DIR}qmake$$CMAKE_BIN_SUFFIX\") + !!ELSE +- set(imported_location \"$${CMAKE_BIN_DIR}qmake$$CMAKE_BIN_SUFFIX\") ++ set(imported_location \"${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}/qmake$$CMAKE_BIN_SUFFIX\") + !!ENDIF + _qt5_Core_check_file_exists(${imported_location}) + +@@ -20,7 +20,7 @@ if (NOT TARGET Qt5::moc) + !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE) + set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_BIN_DIR}moc$$CMAKE_BIN_SUFFIX\") + !!ELSE +- set(imported_location \"$${CMAKE_BIN_DIR}moc$$CMAKE_BIN_SUFFIX\") ++ set(imported_location \"${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}/moc$$CMAKE_BIN_SUFFIX\") + !!ENDIF + _qt5_Core_check_file_exists(${imported_location}) + +@@ -37,7 +37,7 @@ if (NOT TARGET Qt5::rcc) + !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE) + set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_BIN_DIR}rcc$$CMAKE_BIN_SUFFIX\") + !!ELSE +- set(imported_location \"$${CMAKE_BIN_DIR}rcc$$CMAKE_BIN_SUFFIX\") ++ set(imported_location \"${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}/rcc$$CMAKE_BIN_SUFFIX\") + !!ENDIF + _qt5_Core_check_file_exists(${imported_location}) + +diff --git a/src/dbus/Qt5DBusConfigExtras.cmake.in b/src/dbus/Qt5DBusConfigExtras.cmake.in +index 1d94715..301af8f 100644 +--- a/src/dbus/Qt5DBusConfigExtras.cmake.in ++++ b/src/dbus/Qt5DBusConfigExtras.cmake.in +@@ -5,7 +5,7 @@ if (NOT TARGET Qt5::qdbuscpp2xml) + !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE) + set(imported_location \"${_qt5DBus_install_prefix}/$${CMAKE_BIN_DIR}qdbuscpp2xml$$CMAKE_BIN_SUFFIX\") + !!ELSE +- set(imported_location \"$${CMAKE_BIN_DIR}qdbuscpp2xml$$CMAKE_BIN_SUFFIX\") ++ set(imported_location \"${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}/qdbuscpp2xml$$CMAKE_BIN_SUFFIX\") + !!ENDIF + _qt5_DBus_check_file_exists(${imported_location}) + +@@ -20,7 +20,7 @@ if (NOT TARGET Qt5::qdbusxml2cpp) + !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE) + set(imported_location \"${_qt5DBus_install_prefix}/$${CMAKE_BIN_DIR}qdbusxml2cpp$$CMAKE_BIN_SUFFIX\") + !!ELSE +- set(imported_location \"$${CMAKE_BIN_DIR}qdbusxml2cpp$$CMAKE_BIN_SUFFIX\") ++ set(imported_location \"${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}/qdbusxml2cpp$$CMAKE_BIN_SUFFIX\") + !!ENDIF + _qt5_DBus_check_file_exists(${imported_location}) + +diff --git a/src/widgets/Qt5WidgetsConfigExtras.cmake.in b/src/widgets/Qt5WidgetsConfigExtras.cmake.in +index 99d87e2..5621dc0 100644 +--- a/src/widgets/Qt5WidgetsConfigExtras.cmake.in ++++ b/src/widgets/Qt5WidgetsConfigExtras.cmake.in +@@ -5,7 +5,7 @@ if (NOT TARGET Qt5::uic) + !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE) + set(imported_location \"${_qt5Widgets_install_prefix}/$${CMAKE_BIN_DIR}uic$$CMAKE_BIN_SUFFIX\") + !!ELSE +- set(imported_location \"$${CMAKE_BIN_DIR}uic$$CMAKE_BIN_SUFFIX\") ++ set(imported_location \"${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}/uic$$CMAKE_BIN_SUFFIX\") + !!ENDIF + _qt5_Widgets_check_file_exists(${imported_location}) + diff --git a/meta/recipes-qt/qt5/qtbase/0003-qlibraryinfo-allow-to-set-qt.conf-from-the-outside-u.patch b/meta/recipes-qt/qt5/qtbase/0003-qlibraryinfo-allow-to-set-qt.conf-from-the-outside-u.patch deleted file mode 100644 index cc0a330517..0000000000 --- a/meta/recipes-qt/qt5/qtbase/0003-qlibraryinfo-allow-to-set-qt.conf-from-the-outside-u.patch +++ /dev/null @@ -1,36 +0,0 @@ -From f1d359e60e76867cee1df636c5c834fe829f5316 Mon Sep 17 00:00:00 2001 -From: Holger Freyther -Date: Wed, 26 Sep 2012 17:22:30 +0200 -Subject: [PATCH] qlibraryinfo: allow to set qt.conf from the outside using the - environment - -Allow to set a qt.conf from the outside using the environment. This allows -to inject new prefixes and other paths into qmake. This is needed when using -the same qmake binary to build qt/x11 and qt/embedded - -Upstream-Status: Inappropriate [embedded specific] - again very OE specific to read everything from environment (reusing the same - qmake from sstate and replacing all configured paths in it with qt.conf from - environment). - -Signed-off-by: Martin Jansa ---- - src/corelib/global/qlibraryinfo.cpp | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -diff --git a/src/corelib/global/qlibraryinfo.cpp b/src/corelib/global/qlibraryinfo.cpp -index b4ba0b5..11d4c00 100644 ---- a/src/corelib/global/qlibraryinfo.cpp -+++ b/src/corelib/global/qlibraryinfo.cpp -@@ -172,7 +172,10 @@ void QLibrarySettings::load() - QSettings *QLibraryInfoPrivate::findConfiguration() - { - #ifdef QT_BUILD_QMAKE -- QString qtconfig = qmake_libraryInfoFile(); -+ QByteArray config = getenv("OE_QMAKE_QTCONF_PATH"); -+ QString qtconfig = QFile::decodeName(config); -+ if(!QFile::exists(qtconfig)) -+ qtconfig = qmake_libraryInfoFile(); - if (QFile::exists(qtconfig)) - return new QSettings(qtconfig, QSettings::IniFormat); - #else diff --git a/meta/recipes-qt/qt5/qtbase/0004-configure-bump-path-length-from-256-to-512-character.patch b/meta/recipes-qt/qt5/qtbase/0004-configure-bump-path-length-from-256-to-512-character.patch deleted file mode 100644 index 5a3dfea2f5..0000000000 --- a/meta/recipes-qt/qt5/qtbase/0004-configure-bump-path-length-from-256-to-512-character.patch +++ /dev/null @@ -1,34 +0,0 @@ -From cb813ec552f965208ecfc9750a0fbf10841322fb Mon Sep 17 00:00:00 2001 -From: Denys Dmytriyenko -Date: Tue, 25 Aug 2015 10:05:15 -0400 -Subject: [PATCH] configure: bump path length from 256 to 512 characters - -Increase the path length that gets hardcoded into generated config.cpp file -from 256 to 512 characters, as nativesdk path can be quite long. - -Also update length of EXT_PREFIX and HOST_PREFIX now. - -Change-Id: If98dd57160efe9c98c36148cdf872f50b3d38118 -Signed-off-by: Denys Dmytriyenko ---- - configure.pri | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/configure.pri b/configure.pri -index ea48255..0699701 100644 ---- a/configure.pri -+++ b/configure.pri -@@ -796,10 +796,10 @@ defineTest(qtConfOutput_preparePaths) { - "static const char qt_configure_installation [12+11] = \"qt_instdate=2012-12-20\";" \ - "" \ - "/* Installation Info */" \ -- "static const char qt_configure_prefix_path_str [12+256] = \"qt_prfxpath=$$config.input.prefix\";" \ -+ "static const char qt_configure_prefix_path_str [12+512] = \"qt_prfxpath=$$config.input.prefix\";" \ - "$${LITERAL_HASH}ifdef QT_BUILD_QMAKE" \ -- "static const char qt_configure_ext_prefix_path_str [12+256] = \"qt_epfxpath=$$config.input.extprefix\";" \ -- "static const char qt_configure_host_prefix_path_str [12+256] = \"qt_hpfxpath=$$config.input.hostprefix\";" \ -+ "static const char qt_configure_ext_prefix_path_str [12+512] = \"qt_epfxpath=$$config.input.extprefix\";" \ -+ "static const char qt_configure_host_prefix_path_str [12+512] = \"qt_hpfxpath=$$config.input.hostprefix\";" \ - "$${LITERAL_HASH}endif" \ - "" \ - "static const short qt_configure_str_offsets[] = {" \ diff --git a/meta/recipes-qt/qt5/qtbase/0004-qt_module-Fix-pkgconfig-and-libtool-replacements.patch b/meta/recipes-qt/qt5/qtbase/0004-qt_module-Fix-pkgconfig-and-libtool-replacements.patch new file mode 100644 index 0000000000..e29f85f9aa --- /dev/null +++ b/meta/recipes-qt/qt5/qtbase/0004-qt_module-Fix-pkgconfig-and-libtool-replacements.patch @@ -0,0 +1,106 @@ +From da99a6be6f55cce1363962ffa897b868a6009cd3 Mon Sep 17 00:00:00 2001 +From: Martin Jansa +Date: Sat, 27 Apr 2013 23:15:37 +0200 +Subject: [PATCH] qt_module: Fix pkgconfig and libtool replacements +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +* in situation like this: + QT_SYSROOT:/OE/oe-core/tmp-eglibc/sysroots/qemuarm + QT_INSTALL_LIBS:/OE/oe-core/tmp-eglibc/sysroots/qemuarm/usr/lib + QT_INSTALL_LIBS/raw:/usr/lib + QT_INSTALL_LIBS/get:/OE/oe-core/tmp-eglibc/work/armv5te-oe-linux-gnueabi/qtbase/5.0.0-r0.0/build/lib + + I don't want the replacement like this: + sed + -e "s,/OE/oe-core/tmp-eglibc/work/armv5te-oe-linux-gnueabi/qtbase/5.0.0-r0.0/build/include,/usr/include/qt5,g" + -e "s,/OE/oe-core/tmp-eglibc/work/armv5te-oe-linux-gnueabi/qtbase/5.0.0-r0.0/build/lib,/usr/lib,g" + "../../lib/pkgconfig/Qt5Core.pc" + >"/OE/oe-core/tmp-eglibc/work/armv5te-oe-linux-gnueabi/qtbase/5.0.0-r0.0/image/OE/oe-core/tmp-eglibc/sysroots/qemuarm/usr/lib/pkgconfig/Qt5Core.pc" + because that way I'll end with -L/usr/lib in .pc file which is + cross-compile unfriendly, keeping ${libdir}/${includedir} works better + in my case + +* qt_module: Fix paths in .prl files +* qmake does not prefix them with QT_SYSROOT when using them + so e.g. when building qtdeclarative we get -L/usr/lib to LINKAGE + variable, which is unsafe for cross-compilation +* writting QT_SYSROOT in .prl files is dangerous for sstate when + builds are in different directories, so we need + SSTATE_SCAN_FILES += "*.pri *.prl" + to make them relocateble + +* fix paths in packageconfig files + This reverts parts of: + + enable path replacement in installed prl files on all platforms + + Task-number: QTBUG-33794 + Change-Id: Id0d38715673b8a1c0c034e9c15783eb255c4315b + Reviewed-by: Joerg Bornemann + +* to debug this, rebuild qtbase and read build/src/corelib/Makefile +* this is example of broken install_target rule (added line feeds): + -$(SED) -e s,/OE/5.3.1-r0/build/lib,/usr/lib,g + -e 's,/OE/5.3.1-r0/build/include,$$\{includedir},g' + -e 's,/OE/5.3.1-r0/build/lib,$$\{libdir},g' + "../../lib/pkgconfig/Qt5Core.pc" + >"$(INSTALL_ROOT)/usr/lib/pkgconfig/Qt5Core.pc" + change .prf files, create copy of WORKDIR, re-excecute only + do_configure task and compare generated Makefile, repeat until + replace in generated Makefile works ok, then refresh patch and + try complete rebuild for qtbase +* if everything is ok, then try: + image $ grep -R "\-L/usr" . + image $ grep -R "\-I/usr" . + and it should return only few cases of + qmake.conf:QMAKE_LFLAGS_THREAD = -L/usr/lib/threads + for aix* platformas + +Change-Id: Ie1c94b15f2a4e736b65b4d0924d99eb2a7d92a6c +Signed-off-by: Martin Jansa +Signed-off-by: Andreas Müller +Signed-off-by: Jonathan Liu +--- + mkspecs/features/qt.prf | 13 +++++++++++++ + mkspecs/features/qt_common.prf | 2 +- + 2 files changed, 14 insertions(+), 1 deletion(-) + +diff --git a/mkspecs/features/qt.prf b/mkspecs/features/qt.prf +index ddf99da..9596b87 100644 +--- a/mkspecs/features/qt.prf ++++ b/mkspecs/features/qt.prf +@@ -318,6 +318,19 @@ contains(TEMPLATE, .*app) { + QTPLUGIN = $$manualplugs $$autoplugs + } + ++contains(TEMPLATE, .*lib) { ++ pkgconfig_prefix_replace.match = "prefix=$$[QT_SYSROOT]" ++ pkgconfig_prefix_replace.replace = "prefix=" ++ pkgconfig_prefix_replace.CONFIG = path ++ QMAKE_PKGCONFIG_INSTALL_REPLACE += pkgconfig_prefix_replace ++ ++ # drop -L/usr/lib in .prl files ++ prl_replace.match = "-L\$${libdir}" ++ prl_replace.replace = "" ++ prl_replace.CONFIG = path ++ QMAKE_PRL_INSTALL_REPLACE += prl_replace ++} ++ + QT_PLUGIN_VERIFY = DEPLOYMENT_PLUGIN + contains(QT_CONFIG, static) { + QT_PLUGIN_VERIFY += QTPLUGIN +diff --git a/mkspecs/features/qt_common.prf b/mkspecs/features/qt_common.prf +index 08b3f3e..8a667f3 100644 +--- a/mkspecs/features/qt_common.prf ++++ b/mkspecs/features/qt_common.prf +@@ -38,7 +38,7 @@ contains(TEMPLATE, .*lib) { + lib_replace.replace = + } else { + lib_replace.match = $$rplbase/lib +- lib_replace.replace = $$qqt_libdir ++ lib_replace.replace = "\$$\\{libdir}" + } + lib_replace.CONFIG = path + QMAKE_PRL_INSTALL_REPLACE += lib_replace diff --git a/meta/recipes-qt/qt5/qtbase/0005-Disable-all-unknown-features-instead-of-erroring-out.patch b/meta/recipes-qt/qt5/qtbase/0005-Disable-all-unknown-features-instead-of-erroring-out.patch deleted file mode 100644 index 2e261b813e..0000000000 --- a/meta/recipes-qt/qt5/qtbase/0005-Disable-all-unknown-features-instead-of-erroring-out.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 6cd8e808e0eb8fa26976da66dd3dfdd58c1d026a Mon Sep 17 00:00:00 2001 -From: Samuli Piippo -Date: Mon, 24 Oct 2016 09:45:18 +0300 -Subject: [PATCH] Disable all unknown features instead of erroring out - -Task-number: QTBUG-56656 -Change-Id: Ib884fe33cac74439f9592b145937f6b75ced8447 ---- - mkspecs/features/qt_configure.prf | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/mkspecs/features/qt_configure.prf b/mkspecs/features/qt_configure.prf -index d5dcda2..501151d 100644 ---- a/mkspecs/features/qt_configure.prf -+++ b/mkspecs/features/qt_configure.prf -@@ -1251,7 +1251,8 @@ defineReplace(qtConfEvaluateSingleExpression) { - error("Expression '$$1' is accessing field '$$var' of non-local feature $${feature}.") - return($$result) - } -- error("Unknown feature object $${feature} in expression '$${1}'.") -+ warning("Unknown feature object $${feature} in expression '$${1}'.") -+ result = false - } - !qtConfCheckFeature($$feature): \ - error("Expression '$$1' is accessing non-emitted feature $${feature}.") diff --git a/meta/recipes-qt/qt5/qtbase/0005-configure-bump-path-length-from-256-to-512-character.patch b/meta/recipes-qt/qt5/qtbase/0005-configure-bump-path-length-from-256-to-512-character.patch new file mode 100644 index 0000000000..7ac394a723 --- /dev/null +++ b/meta/recipes-qt/qt5/qtbase/0005-configure-bump-path-length-from-256-to-512-character.patch @@ -0,0 +1,33 @@ +From 8eaae5ee0e77b3783afd0f10a89004fd981f29b3 Mon Sep 17 00:00:00 2001 +From: Denys Dmytriyenko +Date: Tue, 25 Aug 2015 10:05:15 -0400 +Subject: [PATCH] configure: bump path length from 256 to 512 characters + +Increase the path length that gets hardcoded into generated config.cpp file +from 256 to 512 characters, as nativesdk path can be quite long. + +Also update length of EXT_PREFIX and HOST_PREFIX now. + +Signed-off-by: Denys Dmytriyenko +--- + configure | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/configure b/configure +index ae724d6..df089f2 100755 +--- a/configure ++++ b/configure +@@ -3959,10 +3959,10 @@ static const char qt_configure_licensed_products_str [256 + 12] = "qt_lcnsprod=$ + static const char qt_configure_installation [12+11] = "qt_instdate=2012-12-20"; + + /* Installation Info */ +-static const char qt_configure_prefix_path_str [256 + 12] = "qt_prfxpath=$QT_INSTALL_PREFIX"; ++static const char qt_configure_prefix_path_str [512 + 12] = "qt_prfxpath=$QT_INSTALL_PREFIX"; + #ifdef QT_BUILD_QMAKE +-static const char qt_configure_ext_prefix_path_str [256 + 12] = "qt_epfxpath=$QT_EXT_PREFIX"; +-static const char qt_configure_host_prefix_path_str [256 + 12] = "qt_hpfxpath=$QT_HOST_PREFIX"; ++static const char qt_configure_ext_prefix_path_str [512 + 12] = "qt_epfxpath=$QT_EXT_PREFIX"; ++static const char qt_configure_host_prefix_path_str [512 + 12] = "qt_hpfxpath=$QT_HOST_PREFIX"; + #endif + + static const short qt_configure_str_offsets[] = { diff --git a/meta/recipes-qt/qt5/qtbase/0006-Pretend-Qt5-wasn-t-found-if-OE_QMAKE_PATH_EXTERNAL_H.patch b/meta/recipes-qt/qt5/qtbase/0006-Pretend-Qt5-wasn-t-found-if-OE_QMAKE_PATH_EXTERNAL_H.patch deleted file mode 100644 index cf1a716f6e..0000000000 --- a/meta/recipes-qt/qt5/qtbase/0006-Pretend-Qt5-wasn-t-found-if-OE_QMAKE_PATH_EXTERNAL_H.patch +++ /dev/null @@ -1,63 +0,0 @@ -From e3fe48be51aa67227ac1b34c01e4c913d82866c2 Mon Sep 17 00:00:00 2001 -From: Pascal Bach -Date: Wed, 11 May 2016 15:20:41 +0200 -Subject: [PATCH] Pretend Qt5 wasn't found if OE_QMAKE_PATH_EXTERNAL_HOST_BINS - isn't set - -This prevents errors like: - -| The imported target "Qt5::Core" references the file -| -| "/qmake" -| -| but this file does not exist. Possible reasons include: - -Which happen if CMake is used without setting OE_QMAKE_PATH_EXTERNAL_HOST_BINS. -To achieve this a check for OE_QMAKE_PATH_EXTERNAL_HOST_BINS is added to each Qt5*Config.cmake -file. And in the case where the variable is not set we just return which is basically -equal to telling CMake that Qt5 wasn't found. - -Upstream-Status: Pending - The patch only makes sense in connection with other patches included here. - Specifically this are: - - 0003-Add-external-hostbindir-option.patch - - 0010-Add-external-hostbindir-option-for-native-sdk.patch - -Signed-off-by: Pascal Bach ---- - mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in | 5 +++++ - src/corelib/Qt5Config.cmake.in | 5 +++++ - 2 files changed, 10 insertions(+) - -diff --git a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in -index 55c74aa..f9ec328 100644 ---- a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in -+++ b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in -@@ -9,6 +9,11 @@ if (CMAKE_VERSION VERSION_LESS 3.0.0) - endif() - !!ENDIF - -+if(NOT DEFINED OE_QMAKE_PATH_EXTERNAL_HOST_BINS) -+ message(WARNING "Skipping because OE_QMAKE_PATH_EXTERNAL_HOST_BINS is not defined") -+ return() -+endif() -+ - !!IF !isEmpty(CMAKE_USR_MOVE_WORKAROUND) - !!IF !isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE) - set(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"$$[QT_INSTALL_PREFIX]\") -diff --git a/src/corelib/Qt5Config.cmake.in b/src/corelib/Qt5Config.cmake.in -index 75b5348..ed31888 100644 ---- a/src/corelib/Qt5Config.cmake.in -+++ b/src/corelib/Qt5Config.cmake.in -@@ -3,6 +3,11 @@ if (CMAKE_VERSION VERSION_LESS 2.8.9) - message(FATAL_ERROR \"Qt5 requires at least CMake version 2.8.9\") - endif() - -+if(NOT DEFINED OE_QMAKE_PATH_EXTERNAL_HOST_BINS) -+ message(WARNING "Skipping because OE_QMAKE_PATH_EXTERNAL_HOST_BINS is not defined") -+ return() -+endif() -+ - if (NOT Qt5_FIND_COMPONENTS) - set(Qt5_NOT_FOUND_MESSAGE \"The Qt5 package requires at least one component\") - set(Qt5_FOUND False) diff --git a/meta/recipes-qt/qt5/qtbase/0006-QOpenGLPaintDevice-sub-area-support.patch b/meta/recipes-qt/qt5/qtbase/0006-QOpenGLPaintDevice-sub-area-support.patch new file mode 100644 index 0000000000..3e6f459c90 --- /dev/null +++ b/meta/recipes-qt/qt5/qtbase/0006-QOpenGLPaintDevice-sub-area-support.patch @@ -0,0 +1,154 @@ +From b4be62e9ac936b110375492dcdc7aeccfe46bd29 Mon Sep 17 00:00:00 2001 +From: Jani Hautakangas +Date: Thu, 16 May 2013 09:52:07 +0300 +Subject: [PATCH] QOpenGLPaintDevice sub-area support + +Allows creating QOpenGLPaintDevice targetting sub-area +of binded framebuffer. + +Upstream-Status: Pending + +Change-Id: Ida2f079aa1ac0b87d36b54129e226399dbcdda80 + +Signed-off-by: Martin Jansa +--- + src/gui/opengl/qopenglpaintdevice.cpp | 11 +++++++++++ + src/gui/opengl/qopenglpaintdevice.h | 2 ++ + src/gui/opengl/qopenglpaintdevice_p.h | 1 + + src/gui/opengl/qopenglpaintengine.cpp | 9 +++++++-- + src/gui/opengl/qopenglpaintengine_p.h | 1 + + src/gui/opengl/qopengltextureglyphcache.cpp | 2 +- + 6 files changed, 23 insertions(+), 3 deletions(-) + +diff --git a/src/gui/opengl/qopenglpaintdevice.cpp b/src/gui/opengl/qopenglpaintdevice.cpp +index 17a3277..85425da 100644 +--- a/src/gui/opengl/qopenglpaintdevice.cpp ++++ b/src/gui/opengl/qopenglpaintdevice.cpp +@@ -135,6 +135,12 @@ QOpenGLPaintDevice::QOpenGLPaintDevice(int width, int height) + { + } + ++QOpenGLPaintDevice::QOpenGLPaintDevice(int x, int y, int width, int height) ++ : d_ptr(new QOpenGLPaintDevicePrivate(QSize(width, height))) ++{ ++ d_ptr->offset = QPoint(x,y); ++} ++ + /*! + \internal + */ +@@ -216,6 +222,11 @@ QOpenGLContext *QOpenGLPaintDevice::context() const + return d_ptr->ctx; + } + ++QPoint QOpenGLPaintDevice::offset() const ++{ ++ return d_ptr->offset; ++} ++ + /*! + Returns the pixel size of the paint device. + +diff --git a/src/gui/opengl/qopenglpaintdevice.h b/src/gui/opengl/qopenglpaintdevice.h +index 804e485..88b481a 100644 +--- a/src/gui/opengl/qopenglpaintdevice.h ++++ b/src/gui/opengl/qopenglpaintdevice.h +@@ -53,12 +53,14 @@ public: + QOpenGLPaintDevice(); + explicit QOpenGLPaintDevice(const QSize &size); + QOpenGLPaintDevice(int width, int height); ++ QOpenGLPaintDevice(int x, int y, int width, int height); + virtual ~QOpenGLPaintDevice(); + + int devType() const { return QInternal::OpenGL; } + QPaintEngine *paintEngine() const; + + QOpenGLContext *context() const; ++ QPoint offset() const; + QSize size() const; + void setSize(const QSize &size); + void setDevicePixelRatio(qreal devicePixelRatio); +diff --git a/src/gui/opengl/qopenglpaintdevice_p.h b/src/gui/opengl/qopenglpaintdevice_p.h +index 54ea092..f660143 100644 +--- a/src/gui/opengl/qopenglpaintdevice_p.h ++++ b/src/gui/opengl/qopenglpaintdevice_p.h +@@ -65,6 +65,7 @@ public: + + public: + QSize size; ++ QPoint offset; + QOpenGLContext *ctx; + + qreal dpmx; +diff --git a/src/gui/opengl/qopenglpaintengine.cpp b/src/gui/opengl/qopenglpaintengine.cpp +index 0b92bf4..f41e059 100644 +--- a/src/gui/opengl/qopenglpaintengine.cpp ++++ b/src/gui/opengl/qopenglpaintengine.cpp +@@ -2078,7 +2078,10 @@ bool QOpenGL2PaintEngineEx::begin(QPaintDevice *pdev) + for (int i = 0; i < QT_GL_VERTEX_ARRAY_TRACKED_COUNT; ++i) + d->vertexAttributeArraysEnabledState[i] = false; + ++ const QPoint offset = d->device->offset(); + const QSize sz = d->device->size(); ++ d->x = offset.x(); ++ d->y = offset.y(); + d->width = sz.width(); + d->height = sz.height(); + d->mode = BrushDrawingMode; +@@ -2165,7 +2168,7 @@ void QOpenGL2PaintEngineEx::ensureActive() + d->device->ensureActiveTarget(); + + d->transferMode(BrushDrawingMode); +- d->funcs.glViewport(0, 0, d->width, d->height); ++ d->funcs.glViewport(d->x, d->y, d->width, d->height); + d->needsSync = false; + d->shaderManager->setDirty(); + d->syncGlState(); +@@ -2207,6 +2210,7 @@ void QOpenGL2PaintEngineExPrivate::updateClipScissorTest() + if (bounds == QRect(0, 0, width, height)) { + funcs.glDisable(GL_SCISSOR_TEST); + } else { ++ bounds = QRect(bounds.x(), bounds.y(), bounds.width(), bounds.height()); + funcs.glEnable(GL_SCISSOR_TEST); + setScissor(bounds); + } +@@ -2215,12 +2219,13 @@ void QOpenGL2PaintEngineExPrivate::updateClipScissorTest() + + void QOpenGL2PaintEngineExPrivate::setScissor(const QRect &rect) + { +- const int left = rect.left(); ++ const int left = rect.left() + x; + const int width = rect.width(); + int bottom = height - (rect.top() + rect.height()); + if (device->paintFlipped()) { + bottom = rect.top(); + } ++ bottom += y; + const int height = rect.height(); + + funcs.glScissor(left, bottom, width, height); +diff --git a/src/gui/opengl/qopenglpaintengine_p.h b/src/gui/opengl/qopenglpaintengine_p.h +index f1ec669..6d302b8 100644 +--- a/src/gui/opengl/qopenglpaintengine_p.h ++++ b/src/gui/opengl/qopenglpaintengine_p.h +@@ -264,6 +264,7 @@ public: + QOpenGL2PaintEngineEx* q; + QOpenGLEngineShaderManager* shaderManager; + QOpenGLPaintDevice* device; ++ int x, y; + int width, height; + QOpenGLContext *ctx; + EngineMode mode; +diff --git a/src/gui/opengl/qopengltextureglyphcache.cpp b/src/gui/opengl/qopengltextureglyphcache.cpp +index c179143..fad68d5 100644 +--- a/src/gui/opengl/qopengltextureglyphcache.cpp ++++ b/src/gui/opengl/qopengltextureglyphcache.cpp +@@ -310,7 +310,7 @@ void QOpenGLTextureGlyphCache::resizeTextureData(int width, int height) + funcs->glBindFramebuffer(GL_FRAMEBUFFER, (GLuint)oldFbo); + + if (pex != 0) { +- funcs->glViewport(0, 0, pex->width, pex->height); ++ funcs->glViewport(pex->x, pex->y, pex->width, pex->height); + pex->updateClipScissorTest(); + } else { + if (m_vao.isCreated()) { diff --git a/meta/recipes-qt/qt5/qtbase/0007-Delete-qlonglong-and-qulonglong.patch b/meta/recipes-qt/qt5/qtbase/0007-Delete-qlonglong-and-qulonglong.patch deleted file mode 100644 index fd9a9e5a56..0000000000 --- a/meta/recipes-qt/qt5/qtbase/0007-Delete-qlonglong-and-qulonglong.patch +++ /dev/null @@ -1,25 +0,0 @@ -From efaae3535a1ac006ec1b3003258b83d905265fd3 Mon Sep 17 00:00:00 2001 -From: Huang Qiyu -Date: Wed, 7 Jun 2017 21:00:49 +0900 -Subject: [PATCH] Delete qlonglong and qulonglong - -Signed-off-by: Huang Qiyu ---- - tests/auto/corelib/thread/qatomicinteger/qatomicinteger.pro | 2 -- - 1 file changed, 2 deletions(-) - -diff --git a/tests/auto/corelib/thread/qatomicinteger/qatomicinteger.pro b/tests/auto/corelib/thread/qatomicinteger/qatomicinteger.pro -index 09458bd..59a120e 100644 ---- a/tests/auto/corelib/thread/qatomicinteger/qatomicinteger.pro -+++ b/tests/auto/corelib/thread/qatomicinteger/qatomicinteger.pro -@@ -5,10 +5,8 @@ SUBDIRS=\ - char32_t \ - int \ - long \ -- qlonglong \ - qptrdiff \ - quintptr \ -- qulonglong \ - schar \ - short \ - uchar \ diff --git a/meta/recipes-qt/qt5/qtbase/0007-linux-oe-g-Invert-conditional-for-defining-QT_SOCKLE.patch b/meta/recipes-qt/qt5/qtbase/0007-linux-oe-g-Invert-conditional-for-defining-QT_SOCKLE.patch new file mode 100644 index 0000000000..36a4b18147 --- /dev/null +++ b/meta/recipes-qt/qt5/qtbase/0007-linux-oe-g-Invert-conditional-for-defining-QT_SOCKLE.patch @@ -0,0 +1,32 @@ +From 6649a3df359d3d55b1caaa6601692a1dcc2ef92c Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Mon, 8 Jun 2015 13:59:25 -0700 +Subject: [PATCH] linux-oe-g++: Invert conditional for defining QT_SOCKLEN_T + +This helps to make sure that QT_SOCKLEN_T is defined to be 'int' +only when its glibc < 2 and not also for the libraries which may define +it as per standards but are not glibc, e.g. musl + +Signed-off-by: Khem Raj +--- + mkspecs/linux-oe-g++/qplatformdefs.h | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/mkspecs/linux-oe-g++/qplatformdefs.h b/mkspecs/linux-oe-g++/qplatformdefs.h +index dd12003..8623651 100644 +--- a/mkspecs/linux-oe-g++/qplatformdefs.h ++++ b/mkspecs/linux-oe-g++/qplatformdefs.h +@@ -86,10 +86,10 @@ + + #undef QT_SOCKLEN_T + +-#if defined(__GLIBC__) && (__GLIBC__ >= 2) +-#define QT_SOCKLEN_T socklen_t +-#else ++#if defined(__GLIBC__) && (__GLIBC__ < 2) + #define QT_SOCKLEN_T int ++#else ++#define QT_SOCKLEN_T socklen_t + #endif + + #if defined(_XOPEN_SOURCE) && (_XOPEN_SOURCE >= 500) diff --git a/meta/recipes-qt/qt5/qtbase/0008-Replace-pthread_yield-with-sched_yield.patch b/meta/recipes-qt/qt5/qtbase/0008-Replace-pthread_yield-with-sched_yield.patch deleted file mode 100644 index 81269d2e87..0000000000 --- a/meta/recipes-qt/qt5/qtbase/0008-Replace-pthread_yield-with-sched_yield.patch +++ /dev/null @@ -1,60 +0,0 @@ -From d79fecb4e8d2040efdc295d06c5e24bdf3cf6b60 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Thu, 27 Jul 2017 08:02:51 -0700 -Subject: [PATCH] Replace pthread_yield with sched_yield - -On Linux pthead_yield is same as sched_yield implementation wise -and sched_yield is available on all libc -implementations on Linux - -Signed-off-by: Khem Raj ---- - tests/auto/corelib/kernel/qmetatype/tst_qmetatype.cpp | 4 ++-- - tests/auto/network/socket/qtcpsocket/tst_qtcpsocket.cpp | 5 +++-- - 2 files changed, 5 insertions(+), 4 deletions(-) - -diff --git a/tests/auto/corelib/kernel/qmetatype/tst_qmetatype.cpp b/tests/auto/corelib/kernel/qmetatype/tst_qmetatype.cpp -index 076610a..cb8431f 100644 ---- a/tests/auto/corelib/kernel/qmetatype/tst_qmetatype.cpp -+++ b/tests/auto/corelib/kernel/qmetatype/tst_qmetatype.cpp -@@ -34,7 +34,7 @@ - #include "tst_qvariant_common.h" - - #ifdef Q_OS_LINUX --# include -+# include - #endif - - #include -@@ -199,7 +199,7 @@ protected: - const char *nm = name.constData(); - int tp = qRegisterMetaType(nm); - #if defined(Q_OS_LINUX) && !defined(Q_OS_ANDROID) -- pthread_yield(); -+ sched_yield(); - #endif - QMetaType info(tp); - if (!info.isValid()) { -diff --git a/tests/auto/network/socket/qtcpsocket/tst_qtcpsocket.cpp b/tests/auto/network/socket/qtcpsocket/tst_qtcpsocket.cpp -index e45eda2..e64f329 100644 ---- a/tests/auto/network/socket/qtcpsocket/tst_qtcpsocket.cpp -+++ b/tests/auto/network/socket/qtcpsocket/tst_qtcpsocket.cpp -@@ -78,6 +78,7 @@ - #include - #include - #include -+#include - #endif - - #include "private/qhostinfo_p.h" -@@ -2136,8 +2137,8 @@ public slots: - - #if defined(Q_OS_MAC) - pthread_yield_np(); --#elif defined Q_OS_LINUX && !defined Q_OS_ANDROID -- pthread_yield(); -+#elif defined Q_OS_LINUX -+ sched_yield(); - #endif - if (!sock->waitForConnected()) { - networkTimeout = true; diff --git a/meta/recipes-qt/qt5/qtbase/0008-configure-paths-for-target-qmake-properly.patch b/meta/recipes-qt/qt5/qtbase/0008-configure-paths-for-target-qmake-properly.patch new file mode 100644 index 0000000000..3375c8c3d1 --- /dev/null +++ b/meta/recipes-qt/qt5/qtbase/0008-configure-paths-for-target-qmake-properly.patch @@ -0,0 +1,75 @@ +From 5e8f8f44227fea48b84fd79e1fc4122d66776bf3 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20M=C3=BCller?= +Date: Fri, 13 Nov 2015 12:36:11 +0100 +Subject: [PATCH] configure paths for target qmake properly +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +to use this patch in all qtbase/qtbase-native(sdk) changes ore made +conditionally based on QT_CROSS_COMPILE + +Upstream-Status: Inappropriate [OE specific] + +Change-Id: I2b2f00c496216e98fbe14801f9e840ef5333c4b6 +Signed-off-by: Andreas Müller +Signed-off-by: Martin Jansa +--- + configure | 23 +++++++++++++++++++---- + 1 file changed, 19 insertions(+), 4 deletions(-) + +diff --git a/configure b/configure +index df089f2..224f9f5 100755 +--- a/configure ++++ b/configure +@@ -3904,8 +3904,13 @@ if [ "$CFG_COMPILE_EXAMPLES" = "yes" ]; then + QMAKE_CONFIG="$QMAKE_CONFIG compile_examples" + fi + +-shortxspec=`echo $XQMAKESPEC | sed "s,^${relpath}/mkspecs/,,"` +-shortspec=`echo $QMAKESPEC | sed "s,^${relpath}/mkspecs/,,"` ++if [ "$QT_CROSS_COMPILE" = "yes" ] ; then ++ shortxspec=linux-g++ ++ shortspec=linux-g++ ++else ++ shortxspec=`echo $XQMAKESPEC | sed "s,^${relpath}/mkspecs/,,"` ++ shortspec=`echo $QMAKESPEC | sed "s,^${relpath}/mkspecs/,,"` ++fi + + QT_CONFIGURE_STR_OFF=0 + +@@ -3938,7 +3943,11 @@ QT_CONFIGURE_STRS_ALL=$QT_CONFIGURE_STRS + + QT_CONFIGURE_STR_OFFSETS= + QT_CONFIGURE_STRS= +-addConfStr "$CFG_SYSROOT" ++if [ "$QT_CROSS_COMPILE" = "yes" ] ; then ++ addConfStr "" ++else ++ addConfStr "$CFG_SYSROOT" ++fi + addConfStr "$QT_REL_HOST_BINS" + addConfStr "$QT_REL_HOST_LIBS" + addConfStr "$QT_REL_HOST_DATA" +@@ -3950,6 +3959,12 @@ addConfStr "$shortspec" + #------------------------------------------------------------------------------- + [ -d "$outpath/src/corelib/global" ] || mkdir -p "$outpath/src/corelib/global" + ++if [ "$QT_CROSS_COMPILE" = "yes" ] ; then ++ QT_TARGET_PREFIX=$QT_EXT_PREFIX ++else ++ QT_TARGET_PREFIX=$QT_HOST_PREFIX ++fi ++ + cat > "$outpath/src/corelib/global/qconfig.cpp.new" < -Date: Sun, 3 Sep 2017 09:11:44 -0700 -Subject: [PATCH] Add OE specific specs for clang compiler - -Signed-off-by: Khem Raj ---- - mkspecs/linux-oe-clang/qmake.conf | 43 ++++++++++++++++++++++++++++++++++ - mkspecs/linux-oe-clang/qplatformdefs.h | 1 + - 2 files changed, 44 insertions(+) - create mode 100644 mkspecs/linux-oe-clang/qmake.conf - create mode 100644 mkspecs/linux-oe-clang/qplatformdefs.h - -diff --git a/mkspecs/linux-oe-clang/qmake.conf b/mkspecs/linux-oe-clang/qmake.conf -new file mode 100644 -index 0000000..ffc9f05 ---- /dev/null -+++ b/mkspecs/linux-oe-clang/qmake.conf -@@ -0,0 +1,43 @@ -+# -+# qmake configuration for linux-g++ with modifications for building with OpenEmbedded -+# -+ -+MAKEFILE_GENERATOR = UNIX -+CONFIG += incremental -+QMAKE_INCREMENTAL_STYLE = sublib -+ -+include(../common/linux.conf) -+ -+# QMAKE_ (moc, uic, rcc) are gone, overwrite only ar and strip -+QMAKE_AR = $$(OE_QMAKE_AR) cqs -+QMAKE_STRIP = $$(OE_QMAKE_STRIP) -+QMAKE_WAYLAND_SCANNER = $$(OE_QMAKE_WAYLAND_SCANNER) -+ -+include(../common/gcc-base-unix.conf) -+ -+# *FLAGS from gcc-base.conf -+QMAKE_CFLAGS += $$(OE_QMAKE_CFLAGS) -+QMAKE_CXXFLAGS += $$(OE_QMAKE_CXXFLAGS) -+QMAKE_LFLAGS += $$(OE_QMAKE_LDFLAGS) -+ -+include(../common/clang.conf) -+ -+# tc settings from g++-base.conf -+QMAKE_COMPILER = $$(OE_QMAKE_COMPILER) clang -+QMAKE_CC = $$(OE_QMAKE_CC) -+QMAKE_CXX = $$(OE_QMAKE_CXX) -+ -+QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += $$(OE_QMAKE_CFLAGS) -+ -+QMAKE_LINK = $$(OE_QMAKE_LINK) -+QMAKE_LINK_SHLIB = $$(OE_QMAKE_LINK) -+QMAKE_LINK_C = $$(OE_QMAKE_LINK) -+QMAKE_LINK_C_SHLIB = $$(OE_QMAKE_LINK) -+ -+# for the SDK -+isEmpty(QMAKE_QT_CONFIG):QMAKE_QT_CONFIG = $$(OE_QMAKE_QT_CONFIG) -+ -+include(../oe-device-extra.pri) -+ -+load(device_config) -+load(qt_config) -diff --git a/mkspecs/linux-oe-clang/qplatformdefs.h b/mkspecs/linux-oe-clang/qplatformdefs.h -new file mode 100644 -index 0000000..880c927 ---- /dev/null -+++ b/mkspecs/linux-oe-clang/qplatformdefs.h -@@ -0,0 +1 @@ -+#include "../linux-clang/qplatformdefs.h" diff --git a/meta/recipes-qt/qt5/qtbase/0009-Pretend-Qt5-wasn-t-found-if-OE_QMAKE_PATH_EXTERNAL_H.patch b/meta/recipes-qt/qt5/qtbase/0009-Pretend-Qt5-wasn-t-found-if-OE_QMAKE_PATH_EXTERNAL_H.patch new file mode 100644 index 0000000000..c04d0b8e9a --- /dev/null +++ b/meta/recipes-qt/qt5/qtbase/0009-Pretend-Qt5-wasn-t-found-if-OE_QMAKE_PATH_EXTERNAL_H.patch @@ -0,0 +1,63 @@ +From 34864cac45a112f27c2587ebfff7f10184607fad Mon Sep 17 00:00:00 2001 +From: Pascal Bach +Date: Wed, 11 May 2016 15:20:41 +0200 +Subject: [PATCH] Pretend Qt5 wasn't found if OE_QMAKE_PATH_EXTERNAL_HOST_BINS + isn't set + +This prevents errors like: + +| The imported target "Qt5::Core" references the file +| +| "/qmake" +| +| but this file does not exist. Possible reasons include: + +Which happen if CMake is used without setting OE_QMAKE_PATH_EXTERNAL_HOST_BINS. +To achieve this a check for OE_QMAKE_PATH_EXTERNAL_HOST_BINS is added to each Qt5*Config.cmake +file. And in the case where the variable is not set we just return which is basically +equal to telling CMake that Qt5 wasn't found. + +Upstream-Status: Pending + The patch only makes sense in connection with other patches included here. + Specifically this are: + - 0003-Add-external-hostbindir-option.patch + - 0010-Add-external-hostbindir-option-for-native-sdk.patch + +Signed-off-by: Pascal Bach +--- + mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in | 5 +++++ + src/corelib/Qt5Config.cmake.in | 5 +++++ + 2 files changed, 10 insertions(+) + +diff --git a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in +index d2358ca..feb73c0 100644 +--- a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in ++++ b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in +@@ -9,6 +9,11 @@ if (CMAKE_VERSION VERSION_LESS 3.0.0) + endif() + !!ENDIF + ++if(NOT DEFINED OE_QMAKE_PATH_EXTERNAL_HOST_BINS) ++ message(WARNING "Skipping because OE_QMAKE_PATH_EXTERNAL_HOST_BINS is not defined") ++ return() ++endif() ++ + !!IF !isEmpty(CMAKE_USR_MOVE_WORKAROUND) + !!IF !isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE) + set(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"$$[QT_INSTALL_PREFIX]\") +diff --git a/src/corelib/Qt5Config.cmake.in b/src/corelib/Qt5Config.cmake.in +index a872d0e..233d663 100644 +--- a/src/corelib/Qt5Config.cmake.in ++++ b/src/corelib/Qt5Config.cmake.in +@@ -3,6 +3,11 @@ if (CMAKE_VERSION VERSION_LESS 2.8.9) + message(FATAL_ERROR \"Qt5 requires at least CMake version 2.8.9\") + endif() + ++if(NOT DEFINED OE_QMAKE_PATH_EXTERNAL_HOST_BINS) ++ message(WARNING "Skipping because OE_QMAKE_PATH_EXTERNAL_HOST_BINS is not defined") ++ return() ++endif() ++ + if (NOT Qt5_FIND_COMPONENTS) + set(Qt5_NOT_FOUND_MESSAGE \"The Qt5 package requires at least one component\") + set(Qt5_FOUND False) diff --git a/meta/recipes-qt/qt5/qtbase/0010-Always-build-uic.patch b/meta/recipes-qt/qt5/qtbase/0010-Always-build-uic.patch new file mode 100644 index 0000000000..721f47d114 --- /dev/null +++ b/meta/recipes-qt/qt5/qtbase/0010-Always-build-uic.patch @@ -0,0 +1,28 @@ +From d3e797e0fa9bb9425bc50ac280685b541ed830c7 Mon Sep 17 00:00:00 2001 +From: Martin Jansa +Date: Sat, 16 Nov 2013 00:32:30 +0100 +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. + +Change-Id: I257668ac28c22b192e7ec7736e6c23fa3be6bab6 +Signed-off-by: Mikko Levonmaa +Signed-off-by: Martin Jansa +--- + src/src.pro | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/src.pro b/src/src.pro +index dd15559..b29a33c 100644 +--- a/src/src.pro ++++ b/src/src.pro +@@ -189,7 +189,7 @@ contains(QT_CONFIG, concurrent):SUBDIRS += src_concurrent + } + } + } +-SUBDIRS += src_plugins ++SUBDIRS += src_plugins src_tools_uic + + nacl: SUBDIRS -= src_network src_testlib + diff --git a/meta/recipes-qt/qt5/qtbase/0010-linux-clang-Invert-conditional-for-defining-QT_SOCKL.patch b/meta/recipes-qt/qt5/qtbase/0010-linux-clang-Invert-conditional-for-defining-QT_SOCKL.patch deleted file mode 100644 index 5fed2ff891..0000000000 --- a/meta/recipes-qt/qt5/qtbase/0010-linux-clang-Invert-conditional-for-defining-QT_SOCKL.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 7c7545fc64e78b2a4a411aa392df6f424ee27c5a Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Sun, 3 Sep 2017 09:44:48 -0700 -Subject: [PATCH] linux-clang: Invert conditional for defining QT_SOCKLEN_T - -This helps to make sure that QT_SOCKLEN_T is defined to be 'int' -only when its glibc < 2 and not for other libcswhich may define -it as per standards but are not glibc, e.g. musl - -Signed-off-by: Khem Raj ---- - mkspecs/linux-clang/qplatformdefs.h | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/mkspecs/linux-clang/qplatformdefs.h b/mkspecs/linux-clang/qplatformdefs.h -index d29225f..a0cdb57 100644 ---- a/mkspecs/linux-clang/qplatformdefs.h -+++ b/mkspecs/linux-clang/qplatformdefs.h -@@ -84,10 +84,10 @@ - - #undef QT_SOCKLEN_T - --#if defined(__GLIBC__) && (__GLIBC__ >= 2) --#define QT_SOCKLEN_T socklen_t --#else -+#if defined(__GLIBC__) && (__GLIBC__ < 2) - #define QT_SOCKLEN_T int -+#else -+#define QT_SOCKLEN_T socklen_t - #endif - - #if defined(_XOPEN_SOURCE) && (_XOPEN_SOURCE >= 500) diff --git a/meta/recipes-qt/qt5/qtbase/0011-Add-external-hostbindir-option-for-native-sdk.patch b/meta/recipes-qt/qt5/qtbase/0011-Add-external-hostbindir-option-for-native-sdk.patch new file mode 100644 index 0000000000..5d2b979bc4 --- /dev/null +++ b/meta/recipes-qt/qt5/qtbase/0011-Add-external-hostbindir-option-for-native-sdk.patch @@ -0,0 +1,131 @@ +From 1bea31d8abd34ab33daec6df91ffc0bc63b75f9e Mon Sep 17 00:00:00 2001 +From: Martin Jansa +Date: Sat, 6 Apr 2013 13:15:07 +0200 +Subject: [PATCH] Add -external-hostbindir option for native(sdk) + +* when cross-compiling it's sometimes useful to use existing tools from machine + (or in OpenEmbedded built with separate native recipe) when building for target + +* this way we can skip bootstraping tools we already have + +* qt_functions: temporary remove isEmpty check +* now we assume that every build will provide QT_EXTERNAL_HOST_BINS value +* isEmpty works correctly only with qmake variables (e.g. $$FOO - + isEmpty(FOO)), but doesn't work with system properties like $$[FOO]. + +* cmake: Use OE_QMAKE_PATH_EXTERNAL_HOST_BINS to determine path to host binaries + +Upstream-Status: Pending + is a lot better for upstreaming (and it was already sort of approved by + Oswald) but in 5.2.0 I've noticed that he added something similar for + android builds + +Change-Id: I4f6e634bf0b2cb96065ee5c38b9cd8a224c3bd37 +Signed-off-by: Martin Jansa +Signed-off-by: Simon Busch +Signed-off-by: Jonathan Liu +Signed-off-by: Martin Jansa + +Conflicts: + tools/configure/configureapp.cpp +--- + configure | 1 + + qmake/property.cpp | 1 + + src/corelib/global/qlibraryinfo.cpp | 3 ++- + src/corelib/global/qlibraryinfo.h | 1 + + tools/configure/configureapp.cpp | 11 +++++++++++ + 5 files changed, 16 insertions(+), 1 deletion(-) + +diff --git a/configure b/configure +index 224f9f5..271c4f4 100755 +--- a/configure ++++ b/configure +@@ -3951,6 +3951,7 @@ fi + addConfStr "$QT_REL_HOST_BINS" + addConfStr "$QT_REL_HOST_LIBS" + addConfStr "$QT_REL_HOST_DATA" ++addConfStr "$QT_EXTERNAL_HOST_BINS" + addConfStr "$shortxspec" + addConfStr "$shortspec" + +diff --git a/qmake/property.cpp b/qmake/property.cpp +index b9139d5..6725ab7 100644 +--- a/qmake/property.cpp ++++ b/qmake/property.cpp +@@ -69,6 +69,7 @@ static const struct { + { "QT_HOST_DATA", QLibraryInfo::HostDataPath, true, false }, + { "QT_HOST_BINS", QLibraryInfo::HostBinariesPath, true, false }, + { "QT_HOST_LIBS", QLibraryInfo::HostLibrariesPath, true, false }, ++ { "QT_EXTERNAL_HOST_BINS", QLibraryInfo::ExternalHostBinariesPath, true, false }, + { "QMAKE_SPEC", QLibraryInfo::HostSpecPath, true, true }, + { "QMAKE_XSPEC", QLibraryInfo::TargetSpecPath, true, true }, + }; +diff --git a/src/corelib/global/qlibraryinfo.cpp b/src/corelib/global/qlibraryinfo.cpp +index 1bddb53..cd0a666 100644 +--- a/src/corelib/global/qlibraryinfo.cpp ++++ b/src/corelib/global/qlibraryinfo.cpp +@@ -375,7 +375,7 @@ QLibraryInfo::isDebugBuild() + */ + + static const struct { +- char key[19], value[13]; ++ char key[21], value[13]; + } qtConfEntries[] = { + { "Prefix", "." }, + { "Documentation", "doc" }, // should be ${Data}/doc +@@ -400,6 +400,7 @@ static const struct { + { "HostBinaries", "bin" }, + { "HostLibraries", "lib" }, + { "HostData", "." }, ++ { "ExternalHostBinaries", "" }, + { "TargetSpec", "" }, + { "HostSpec", "" }, + { "HostPrefix", "" }, +diff --git a/src/corelib/global/qlibraryinfo.h b/src/corelib/global/qlibraryinfo.h +index 1ad7637..5a8b127 100644 +--- a/src/corelib/global/qlibraryinfo.h ++++ b/src/corelib/global/qlibraryinfo.h +@@ -81,6 +81,7 @@ public: + HostBinariesPath, + HostLibrariesPath, + HostDataPath, ++ ExternalHostBinariesPath, + TargetSpecPath, + HostSpecPath, + HostPrefixPath, +diff --git a/tools/configure/configureapp.cpp b/tools/configure/configureapp.cpp +index 2b7a1d6..77ba91e 100644 +--- a/tools/configure/configureapp.cpp ++++ b/tools/configure/configureapp.cpp +@@ -1267,6 +1267,13 @@ void Configure::parseCmdLine() + dictionary[ "QT_EXT_PREFIX" ] = configCmdLine.at(i); + } + ++ else if (configCmdLine.at(i) == "-external-hostbindir") { ++ ++i; ++ if (i == argCount) ++ break; ++ dictionary[ "QT_EXTERNAL_HOST_BINS" ] = configCmdLine.at(i); ++ } ++ + else if (configCmdLine.at(i) == "-make-tool") { + ++i; + if (i == argCount) +@@ -4269,6 +4276,9 @@ void Configure::generateQConfigCpp() + + if (dictionary["QT_REL_HOST_DATA"].isEmpty()) + dictionary["QT_REL_HOST_DATA"] = haveHpx ? "." : dictionary["QT_REL_INSTALL_ARCHDATA"]; ++ ++ if (dictionary["QT_EXTERNAL_HOST_BINS"].isEmpty()) ++ dictionary["QT_EXTERNAL_HOST_BINS"] = haveHpx ? "bin" : dictionary["QT_REL_INSTALL_BINS"]; + + confStringOff = 0; + addConfStr(0, dictionary["QT_REL_INSTALL_DOCS"]); +@@ -4288,6 +4298,7 @@ void Configure::generateQConfigCpp() + addConfStr(1, dictionary["QT_REL_HOST_BINS"]); + addConfStr(1, dictionary["QT_REL_HOST_LIBS"]); + addConfStr(1, dictionary["QT_REL_HOST_DATA"]); ++ addConfStr(1, dictionary["QT_EXTERNAL_HOST_BINS"]); + addConfStr(1, targSpec); + addConfStr(1, hostSpec); + diff --git a/meta/recipes-qt/qt5/qtbase/0011-tst_qlocale-Enable-QT_USE_FENV-only-on-glibc.patch b/meta/recipes-qt/qt5/qtbase/0011-tst_qlocale-Enable-QT_USE_FENV-only-on-glibc.patch deleted file mode 100644 index a0aaa520ee..0000000000 --- a/meta/recipes-qt/qt5/qtbase/0011-tst_qlocale-Enable-QT_USE_FENV-only-on-glibc.patch +++ /dev/null @@ -1,25 +0,0 @@ -From ba70f3ca46d921c20bebb5cb9d4b41e64bd02d8b Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Sun, 3 Sep 2017 10:11:50 -0700 -Subject: [PATCH] tst_qlocale: Enable QT_USE_FENV only on glibc - -musl does not have feenableexcept function - -Signed-off-by: Khem Raj ---- - tests/auto/corelib/tools/qlocale/tst_qlocale.cpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/tests/auto/corelib/tools/qlocale/tst_qlocale.cpp b/tests/auto/corelib/tools/qlocale/tst_qlocale.cpp -index d424e60..3eae828 100644 ---- a/tests/auto/corelib/tools/qlocale/tst_qlocale.cpp -+++ b/tests/auto/corelib/tools/qlocale/tst_qlocale.cpp -@@ -46,7 +46,7 @@ - #include - #include - --#if defined(Q_OS_LINUX) && !defined(__UCLIBC__) -+#if defined(Q_OS_LINUX) && defined(__GLIBC__) - # define QT_USE_FENV - #endif - diff --git a/meta/recipes-qt/qt5/qtbase/0012-mkspecs-common-gcc-base.conf-Use-I-instead-of-isyste.patch b/meta/recipes-qt/qt5/qtbase/0012-mkspecs-common-gcc-base.conf-Use-I-instead-of-isyste.patch deleted file mode 100644 index fe1fcf57ae..0000000000 --- a/meta/recipes-qt/qt5/qtbase/0012-mkspecs-common-gcc-base.conf-Use-I-instead-of-isyste.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 81fc64f7f3a8b0554fd8d1b96b113bc04b5f0b5c Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Wed, 14 Feb 2018 17:08:43 -0800 -Subject: [PATCH] mkspecs/common/gcc-base.conf: Use -I instead of -isystem - --isystem fails to build when code uses include_next on certain files e.g. - -qtbase/5.10.0+gitAUTOINC+50117d738a-r0/recipe-sysroot/usr/include/c++/7.3.0/cstdlib:75:15: fatal error: stdlib.h: No such file or directory - #include_next - ^~~~~~~~~~ -compilation terminated. -make[2]: *** [Makefile:11592: .obj/qgenericpluginfactory.o] Error 1 - -Upstream-Status: Pending - -Signed-off-by: Khem Raj ---- - mkspecs/common/gcc-base.conf | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/mkspecs/common/gcc-base.conf b/mkspecs/common/gcc-base.conf -index 234f71d..ee3da02 100644 ---- a/mkspecs/common/gcc-base.conf -+++ b/mkspecs/common/gcc-base.conf -@@ -46,7 +46,7 @@ QMAKE_CFLAGS_DEBUG += -g - QMAKE_CFLAGS_SHLIB += $$QMAKE_CFLAGS_PIC - QMAKE_CFLAGS_STATIC_LIB += $$QMAKE_CFLAGS_PIC - QMAKE_CFLAGS_APP += $$QMAKE_CFLAGS_PIC --QMAKE_CFLAGS_ISYSTEM = -isystem -+QMAKE_CFLAGS_ISYSTEM = -I - QMAKE_CFLAGS_YACC += -Wno-unused -Wno-parentheses - QMAKE_CFLAGS_HIDESYMS += -fvisibility=hidden - QMAKE_CFLAGS_EXCEPTIONS_OFF += -fno-exceptions diff --git a/meta/recipes-qt/qt5/qtbase/0013-Always-build-uic-and-qvkgen.patch b/meta/recipes-qt/qt5/qtbase/0013-Always-build-uic-and-qvkgen.patch deleted file mode 100644 index 3d40515f1a..0000000000 --- a/meta/recipes-qt/qt5/qtbase/0013-Always-build-uic-and-qvkgen.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 2ea3a1612452f1dc9c2febb4ae610194f67e39d6 Mon Sep 17 00:00:00 2001 -From: Martin Jansa -Date: Sat, 16 Nov 2013 00:32:30 +0100 -Subject: [PATCH] Always build uic and qvkgen - -Even if we are not building gui or widgets. This tool is needed later -as a native tool when compiling the target. - -Change-Id: I257668ac28c22b192e7ec7736e6c23fa3be6bab6 -Signed-off-by: Mikko Levonmaa -Signed-off-by: Martin Jansa ---- - src/src.pro | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/src.pro b/src/src.pro -index a73729a..c7668b5 100644 ---- a/src/src.pro -+++ b/src/src.pro -@@ -213,7 +213,7 @@ qtConfig(gui) { - } - } - } --SUBDIRS += src_plugins -+SUBDIRS += src_plugins src_tools_uic src_tools_qvkgen - - nacl: SUBDIRS -= src_network src_testlib - diff --git a/meta/recipes-qt/qt5/qtbase/0014-Bootstrap-without-linkat-feature.patch b/meta/recipes-qt/qt5/qtbase/0014-Bootstrap-without-linkat-feature.patch deleted file mode 100644 index c733c1566d..0000000000 --- a/meta/recipes-qt/qt5/qtbase/0014-Bootstrap-without-linkat-feature.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 77365eda4dd1c4c26803b3f0d1f411b7416ad531 Mon Sep 17 00:00:00 2001 -From: Samuli Piippo -Date: Fri, 24 Nov 2017 15:16:31 +0200 -Subject: [PATCH] Bootstrap without linkat feature - -qmake does not work together with pseudo when unnamed temporary files -are used with linkat. - -Upstream-Status: Inappropriate [OE specific] -[YOCTO #11996] ---- - src/corelib/global/qconfig-bootstrapped.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/corelib/global/qconfig-bootstrapped.h b/src/corelib/global/qconfig-bootstrapped.h -index dabb715..5b4ff86 100644 ---- a/src/corelib/global/qconfig-bootstrapped.h -+++ b/src/corelib/global/qconfig-bootstrapped.h -@@ -88,7 +88,7 @@ - #define QT_FEATURE_futimes -1 - #define QT_FEATURE_library -1 - #ifdef __linux__ --# define QT_FEATURE_linkat 1 -+# define QT_FEATURE_linkat -1 - #else - # define QT_FEATURE_linkat -1 - #endif diff --git a/meta/recipes-qt/qt5/qtbase_git.bb b/meta/recipes-qt/qt5/qtbase_git.bb index 6532dde212..f4fbfe6849 100644 --- a/meta/recipes-qt/qt5/qtbase_git.bb +++ b/meta/recipes-qt/qt5/qtbase_git.bb @@ -1,79 +1,54 @@ require qt5.inc require qt5-git.inc -require qt5-ptest.inc -LICENSE = "GFDL-1.3 & BSD & ( GPL-3.0 & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( GPL-2.0+ | LGPL-3.0 | The-Qt-Company-Commercial )" +LICENSE = "GFDL-1.3 & BSD & (LGPL-2.1 & The-Qt-Company-Qt-LGPL-Exception-1.1 | LGPL-3.0)" LIC_FILES_CHKSUM = " \ - file://LICENSE.LGPL3;md5=e6a600fd5e1d9cbde2d983680233ad02 \ file://LICENSE.LGPLv21;md5=fb91571854638f10b2e5f36562661a5a \ file://LICENSE.LGPLv3;md5=a909b94c1c9674b2aa15ff03a86f518a \ - file://LICENSE.GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ - file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504 \ - file://LICENSE.GPL3-EXCEPT;md5=763d8c535a234d9a3fb682c7ecb6c073 \ file://LICENSE.GPLv3;md5=88e2b9117e6be406b5ed6ee4ca99a705 \ file://LGPL_EXCEPTION.txt;md5=9625233da42f9e0ce9d63651a9d97654 \ file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e \ " # common for qtbase-native, qtbase-nativesdk and qtbase -# Patches from https://github.com/meta-qt5/qtbase/commits/b5.10-shared -# 5.10.meta-qt5-shared.2 +# Patches from https://github.com/meta-qt5/qtbase/commits/b5.6-shared +# 5.6.meta-qt5-shared.9 SRC_URI += "\ file://0001-Add-linux-oe-g-platform.patch \ - file://0002-cmake-Use-OE_QMAKE_PATH_EXTERNAL_HOST_BINS.patch \ - file://0003-qlibraryinfo-allow-to-set-qt.conf-from-the-outside-u.patch \ - file://0004-configure-bump-path-length-from-256-to-512-character.patch \ - file://0005-Disable-all-unknown-features-instead-of-erroring-out.patch \ - file://0006-Pretend-Qt5-wasn-t-found-if-OE_QMAKE_PATH_EXTERNAL_H.patch \ - file://0007-Delete-qlonglong-and-qulonglong.patch \ - file://0008-Replace-pthread_yield-with-sched_yield.patch \ - file://0009-Add-OE-specific-specs-for-clang-compiler.patch \ - file://0010-linux-clang-Invert-conditional-for-defining-QT_SOCKL.patch \ - file://0011-tst_qlocale-Enable-QT_USE_FENV-only-on-glibc.patch \ - file://0012-mkspecs-common-gcc-base.conf-Use-I-instead-of-isyste.patch \ + file://0002-qlibraryinfo-allow-to-set-qt.conf-from-the-outside-u.patch \ + file://0003-Add-external-hostbindir-option.patch \ + file://0004-qt_module-Fix-pkgconfig-and-libtool-replacements.patch \ + file://0005-configure-bump-path-length-from-256-to-512-character.patch \ + file://0006-QOpenGLPaintDevice-sub-area-support.patch \ + file://0007-linux-oe-g-Invert-conditional-for-defining-QT_SOCKLE.patch \ + file://0008-configure-paths-for-target-qmake-properly.patch \ + file://0009-Pretend-Qt5-wasn-t-found-if-OE_QMAKE_PATH_EXTERNAL_H.patch \ " +DEPENDS += "qtbase-native" + # LGPL-3.0 is used only in src/plugins/platforms/android/extract.cpp # for syncqt RDEPENDS_${PN}-tools += "perl" -# workaround for gold bug: -# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=842304 -# https://sourceware.org/bugzilla/show_bug.cgi?id=21712 -# it's triggered only in combination of gold and security_flags.inc, -# because security_flags.inc now enable pie by default. -# Adding -no-pie or changing -fuse-ld=gold to -fuse-ld=bfd -# works around this issue, will use -fuse-ld=bfd as it's considered -# binutils bug. -# OE @ ~/build/oe-core/tmp-glibc/work/i586-oe-linux/qtbase/5.9.0+gitAUTOINC+f6b36eaafe-r0/build/tests/auto/corelib/kernel/qmetatype $ i586-oe-linux-g++ -m32 -march=i586 --sysroot=/OE/build/oe-core/tmp-glibc/work/i586-oe-linux/qtbase/5.9.0+gitAUTOINC+f6b36eaafe-r0/recipe-sysroot -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed --sysroot=/OE/build/oe-core/tmp-glibc/work/i586-oe-linux/qtbase/5.9.0+gitAUTOINC+f6b36eaafe-r0/recipe-sysroot -Wl,-O1 -fuse-ld=gold -Wl,--enable-new-dtags -o tst_qmetatype .obj/tst_qmetatype.o -L/OE/build/oe-core/tmp-glibc/work/i586-oe-linux/qtbase/5.9.0+gitAUTOINC+f6b36eaafe-r0/build/lib -lQt5Test -lQt5Core -lpthread -# .obj/tst_qmetatype.o(.qtversion+0x0): error: unexpected reloc 3 against global symbol qt_version_tag without base register in object file when generating a position-independent output file -# collect2: error: ld returned 1 exit status -# -# with -no-pie: -# OE @ ~/build/oe-core/tmp-glibc/work/i586-oe-linux/qtbase/5.9.0+gitAUTOINC+f6b36eaafe-r0/build/tests/auto/corelib/kernel/qmetatype $ i586-oe-linux-g++ -no-pie -m32 -march=i586 --sysroot=/OE/build/oe-core/tmp-glibc/work/i586-oe-linux/qtbase/5.9.0+gitAUTOINC+f6b36eaafe-r0/recipe-sysroot -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed --sysroot=/OE/build/oe-core/tmp-glibc/work/i586-oe-linux/qtbase/5.9.0+gitAUTOINC+f6b36eaafe-r0/recipe-sysroot -Wl,-O1 -fuse-ld=gold -Wl,--enable-new-dtags -o tst_qmetatype .obj/tst_qmetatype.o -L/OE/build/oe-core/tmp-glibc/work/i586-oe-linux/qtbase/5.9.0+gitAUTOINC+f6b36eaafe-r0/build/lib -lQt5Test -lQt5Core -lpthread -# -# with -fuse-ld=gold replaced with -fuse-ld=bfd: -# OE @ ~/build/oe-core/tmp-glibc/work/i586-oe-linux/qtbase/5.9.0+gitAUTOINC+f6b36eaafe-r0/build/tests/auto/corelib/kernel/qmetatype $ i586-oe-linux-g++ -m32 -march=i586 --sysroot=/OE/build/oe-core/tmp-glibc/work/i586-oe-linux/qtbase/5.9.0+gitAUTOINC+f6b36eaafe-r0/recipe-sysroot -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed --sysroot=/OE/build/oe-core/tmp-glibc/work/i586-oe-linux/qtbase/5.9.0+gitAUTOINC+f6b36eaafe-r0/recipe-sysroot -Wl,-O1 -fuse-ld=bfd -Wl,--enable-new-dtags -o tst_qmetatype .obj/tst_qmetatype.o -L/OE/build/oe-core/tmp-glibc/work/i586-oe-linux/qtbase/5.9.0+gitAUTOINC+f6b36eaafe-r0/build/lib -lQt5Test -lQt5Core -lpthread -# -# http://errors.yoctoproject.org/Errors/Details/150329/ -QT_CONFIG_FLAGS_GOLD_x86 = "-no-use-gold-linker" -LDFLAGS_append_x86 = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}" - # separate some parts of PACKAGECONFIG which are often changed +# be aware that you need to add icu to build qtwebkit, default +# PACKAGECONFIG is kept rather minimal for people who don't need +# stuff like webkit (and it's easier to add options than remove) + PACKAGECONFIG_GL ?= "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gl', '', d)}" PACKAGECONFIG_FB ?= "${@bb.utils.contains('DISTRO_FEATURES', 'directfb', 'directfb', '', d)}" -PACKAGECONFIG_X11 ?= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'xcb xinput2 glib xkb xkbcommon-evdev', '', d)}" +PACKAGECONFIG_X11 ?= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'xcb xvideo xsync xshape xrender xrandr xfixes xinput2 xinput xinerama xcursor glib gtkstyle xkb', '', d)}" PACKAGECONFIG_FONTS ?= "" PACKAGECONFIG_SYSTEM ?= "jpeg libpng zlib" +PACKAGECONFIG_MULTIMEDIA ?= "${@bb.utils.contains('DISTRO_FEATURES', 'pulseaudio', 'pulseaudio', '', d)}" PACKAGECONFIG_DISTRO ?= "" # Either release or debug, can be overridden in bbappends PACKAGECONFIG_RELEASE ?= "release" # This is in qt5.inc, because qtwebkit-examples are using it to enable ca-certificates dependency # PACKAGECONFIG_OPENSSL ?= "openssl" -PACKAGECONFIG_DEFAULT ?= "dbus udev evdev widgets tools libs freetype tests \ - ${@bb.utils.contains('SELECTED_OPTIMIZATION', '-Os', 'optimize-size', '', d)} \ -" +PACKAGECONFIG_DEFAULT ?= "dbus udev evdev widgets tools libs" PACKAGECONFIG ?= " \ ${PACKAGECONFIG_RELEASE} \ @@ -84,38 +59,33 @@ PACKAGECONFIG ?= " \ ${PACKAGECONFIG_X11} \ ${PACKAGECONFIG_FONTS} \ ${PACKAGECONFIG_SYSTEM} \ + ${PACKAGECONFIG_MULTIMEDIA} \ ${PACKAGECONFIG_DISTRO} \ " PACKAGECONFIG[release] = "-release,-debug" -PACKAGECONFIG[debug] = "" PACKAGECONFIG[developer] = "-developer-build" -PACKAGECONFIG[qml-debug] = "-qml-debug,-no-qml-debug" -PACKAGECONFIG[optimize-size] = "-optimize-size" PACKAGECONFIG[sm] = "-sm,-no-sm" PACKAGECONFIG[tests] = "-make tests,-nomake tests" PACKAGECONFIG[examples] = "-make examples -compile-examples,-nomake examples" PACKAGECONFIG[tools] = "-make tools,-nomake tools" # only for completeness, configure will add libs even if you try to explicitly remove it -PACKAGECONFIG[libs] = "-make libs" +PACKAGECONFIG[libs] = "-make libs,-nomake libs" # accessibility is required to compile qtquickcontrols PACKAGECONFIG[accessibility] = "-accessibility,-no-accessibility" PACKAGECONFIG[glib] = "-glib,-no-glib,glib-2.0" # use either system freetype or bundled freetype, if you disable freetype completely # fontdatabases/basic/qbasicfontdatabase.cpp will fail to build and system freetype # works only together with fontconfig -PACKAGECONFIG[freetype] = "-system-freetype,-qt-freetype,freetype" +PACKAGECONFIG[freetype] = "-system-freetype,-freetype,freetype" PACKAGECONFIG[harfbuzz] = "-system-harfbuzz,-no-harfbuzz,harfbuzz" PACKAGECONFIG[jpeg] = "-system-libjpeg,-no-libjpeg,jpeg" PACKAGECONFIG[libpng] = "-system-libpng,-no-libpng,libpng" -PACKAGECONFIG[gif] = "-gif,-no-gif" -PACKAGECONFIG[ico] = "-ico,-no-ico" PACKAGECONFIG[zlib] = "-system-zlib,-qt-zlib,zlib" -PACKAGECONFIG[pcre] = "-system-pcre,-qt-pcre,pcre2" +PACKAGECONFIG[pcre] = "-system-pcre,-qt-pcre,pcre" PACKAGECONFIG[eglfs] = "-eglfs,-no-eglfs,drm" PACKAGECONFIG[gl] = "-opengl desktop,,virtual/libgl" PACKAGECONFIG[gles2] = "-opengl es2,,virtual/libgles2 virtual/egl" -PACKAGECONFIG[no-opengl] = "-no-opengl" PACKAGECONFIG[tslib] = "-tslib,-no-tslib,tslib" PACKAGECONFIG[cups] = "-cups,-no-cups,cups" PACKAGECONFIG[dbus] = "-dbus,-no-dbus,dbus" @@ -129,7 +99,17 @@ PACKAGECONFIG[sql-tds] = "-sql-tds,-no-sql-tds" PACKAGECONFIG[sql-db2] = "-sql-db2,-no-sql-db2" PACKAGECONFIG[sql-sqlite2] = "-sql-sqlite2,-no-sql-sqlite2,sqlite" PACKAGECONFIG[sql-sqlite] = "-sql-sqlite -system-sqlite,-no-sql-sqlite,sqlite3" +PACKAGECONFIG[xcursor] = "-xcursor,-no-xcursor,libxcursor" +PACKAGECONFIG[xinerama] = "-xinerama,-no-xinerama,libxinerama" +PACKAGECONFIG[xinput] = "-xinput,-no-xinput" PACKAGECONFIG[xinput2] = "-xinput2,-no-xinput2,libxi" +PACKAGECONFIG[xfixes] = "-xfixes,-no-xfixes,libxfixes" +PACKAGECONFIG[xrandr] = "-xrandr,-no-xrandr,libxrandr" +PACKAGECONFIG[xrender] = "-xrender,-no-xrender,libxrender" +PACKAGECONFIG[xshape] = "-xshape,-no-xshape" +PACKAGECONFIG[xsync] = "-xsync,-no-xsync" +PACKAGECONFIG[xvideo] = "-xvideo,-no-xvideo" +PACKAGECONFIG[openvg] = "-openvg,-no-openvg" PACKAGECONFIG[iconv] = "-iconv,-no-iconv,virtual/libiconv" PACKAGECONFIG[xkb] = "-xkb,-no-xkb -no-xkbcommon,libxkbcommon" PACKAGECONFIG[xkbcommon-evdev] = "-xkbcommon-evdev,-no-xkbcommon-evdev,libxkbcommon,xkeyboard-config" @@ -137,22 +117,22 @@ PACKAGECONFIG[evdev] = "-evdev,-no-evdev" PACKAGECONFIG[mtdev] = "-mtdev,-no-mtdev,mtdev" # depends on glib PACKAGECONFIG[fontconfig] = "-fontconfig,-no-fontconfig,fontconfig" -PACKAGECONFIG[gtk] = "-gtk,-no-gtk,gtk+3" +PACKAGECONFIG[gtkstyle] = "-gtkstyle,-no-gtkstyle,gtk+" PACKAGECONFIG[directfb] = "-directfb,-no-directfb,directfb" PACKAGECONFIG[linuxfb] = "-linuxfb,-no-linuxfb" +PACKAGECONFIG[mitshm] = "-mitshm,-no-mitshm,mitshm" PACKAGECONFIG[kms] = "-kms,-no-kms,drm virtual/egl" -PACKAGECONFIG[gbm] = "-gbm,-no-gbm,virtual/mesa" +# needed for qtwebkit PACKAGECONFIG[icu] = "-icu,-no-icu,icu" PACKAGECONFIG[udev] = "-libudev,-no-libudev,udev" PACKAGECONFIG[openssl] = "-openssl,-no-openssl,openssl,libssl" +PACKAGECONFIG[alsa] = "-alsa,-no-alsa,alsa-lib" +PACKAGECONFIG[pulseaudio] = "-pulseaudio,-no-pulseaudio,pulseaudio" PACKAGECONFIG[widgets] = "-widgets,-no-widgets" PACKAGECONFIG[libproxy] = "-libproxy,-no-libproxy,libproxy" PACKAGECONFIG[libinput] = "-libinput,-no-libinput,libinput" -PACKAGECONFIG[journald] = "-journald,-no-journald,systemd" -QT_CONFIG_FLAGS_GOLD = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', '-use-gold-linker', '-no-use-gold-linker', d)}" QT_CONFIG_FLAGS += " \ - ${QT_CONFIG_FLAGS_GOLD} \ -shared \ -silent \ -no-pch \ @@ -161,25 +141,44 @@ QT_CONFIG_FLAGS += " \ ${PACKAGECONFIG_CONFARGS} \ " -# for qtbase configuration we need default settings -# since we cannot set empty set filename to a not existent file -deltask generate_qt_config_file +do_generate_qt_config_file_append() { + cat >> ${QT_CONF_PATH} <> $conf - echo "# default compiler options which can be overwritten from the environment" >> $conf - echo "isEmpty(QMAKE_AR): QMAKE_AR = ${OE_QMAKE_AR} cqs" >> $conf - echo "isEmpty(QMAKE_CC): QMAKE_CC = $OE_QMAKE_CC_NO_SYSROOT" >> $conf - echo "isEmpty(QMAKE_CFLAGS): QMAKE_CFLAGS = ${OE_QMAKE_CFLAGS}" >> $conf - echo "isEmpty(QMAKE_CXX): QMAKE_CXX = $OE_QMAKE_CXX_NO_SYSROOT" >> $conf - echo "isEmpty(QMAKE_CXXFLAGS): QMAKE_CXXFLAGS = ${OE_QMAKE_CXXFLAGS}" >> $conf - echo "isEmpty(QMAKE_LINK): QMAKE_LINK = $OE_QMAKE_LINK_NO_SYSROOT" >> $conf - echo "isEmpty(QMAKE_LINK_SHLIB): QMAKE_LINK_SHLIB = $OE_QMAKE_LINK_NO_SYSROOT" >> $conf - echo "isEmpty(QMAKE_LINK_C): QMAKE_LINK_C = $OE_QMAKE_LINK_NO_SYSROOT" >> $conf - echo "isEmpty(QMAKE_LINK_C_SHLIB): QMAKE_LINK_C_SHLIB = $OE_QMAKE_LINK_NO_SYSROOT" >> $conf - echo "isEmpty(QMAKE_LFLAGS): QMAKE_LFLAGS = ${OE_QMAKE_LDFLAGS}" >> $conf - echo "isEmpty(QMAKE_STRIP): QMAKE_STRIP = ${TARGET_PREFIX}strip" >> $conf - - generate_target_qt_config_file ${D}${OE_QMAKE_PATH_BINS}/qt.conf } -# mkspecs have mac specific scripts that depend on perl and bash -INSANE_SKIP_${PN}-mkspecs += "file-rdeps" +PACKAGES =. " \ + ${PN}-fonts \ + ${PN}-fonts-ttf-vera \ + ${PN}-fonts-ttf-dejavu \ + ${PN}-fonts-pfa \ + ${PN}-fonts-pfb \ + ${PN}-fonts-qpf \ +" + +RRECOMMENDS_${PN}-fonts = " \ + ${PN}-fonts-ttf-vera \ + ${PN}-fonts-ttf-dejavu \ + ${PN}-fonts-pfa \ + ${PN}-fonts-pfb \ + ${PN}-fonts-qpf \ +" + +ALLOW_EMPTY_${PN}-fonts = "1" + +FILES_${PN}-fonts-ttf-vera = "${OE_QMAKE_PATH_QT_FONTS}/Vera*.ttf" +FILES_${PN}-fonts-ttf-dejavu = "${OE_QMAKE_PATH_QT_FONTS}/DejaVu*.ttf" +FILES_${PN}-fonts-pfa = "${OE_QMAKE_PATH_QT_FONTS}/*.pfa" +FILES_${PN}-fonts-pfb = "${OE_QMAKE_PATH_QT_FONTS}/*.pfb" +FILES_${PN}-fonts-qpf = "${OE_QMAKE_PATH_QT_FONTS}/*.qpf*" +FILES_${PN}-fonts = "${OE_QMAKE_PATH_QT_FONTS}/README \ + ${OE_QMAKE_PATH_QT_FONTS}/fontdir" RRECOMMENDS_${PN}-plugins += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'libx11-locale', '', d)}" -SRCREV = "6c6ace9d23f90845fd424e474d38fe30f070775e" +sysroot_stage_dirs_append() { + # $to is 2nd parameter passed to sysroot_stage_dir, e.g. ${SYSROOT_DESTDIR} passed from sysroot_stage_all + rm -rf $to${OE_QMAKE_PATH_QT_FONTS} +} + +SRCREV = "e6f8b072d2bf15f8b82bede48ff29ce8ac8dbd9a" diff --git a/meta/recipes-qt/qt5/qtcanvas3d_git.bb b/meta/recipes-qt/qt5/qtcanvas3d_git.bb index af0b1186ce..bfa45e55ca 100644 --- a/meta/recipes-qt/qt5/qtcanvas3d_git.bb +++ b/meta/recipes-qt/qt5/qtcanvas3d_git.bb @@ -1,7 +1,7 @@ require qt5.inc require qt5-git.inc -LICENSE = "LGPL-3.0 | GPL-3.0 | The-Qt-Company-Commercial" +LICENSE = "LGPL-3.0 | GPL-3.0" LIC_FILES_CHKSUM = " \ file://LICENSE.LGPLv3;md5=e0459b45c5c4840b353141a8bbed91f0 \ file://LICENSE.GPLv3;md5=88e2b9117e6be406b5ed6ee4ca99a705 \ @@ -10,4 +10,4 @@ LIC_FILES_CHKSUM = " \ DEPENDS = "qtdeclarative" -SRCREV = "0eecd96a7b83e8b1fc2811ec366b4ca1980296e0" +SRCREV = "8bbd832997841927e0d8a433f4ec20c82cdea203" diff --git a/meta/recipes-qt/qt5/qtcharts_git.bb b/meta/recipes-qt/qt5/qtcharts_git.bb deleted file mode 100644 index a2d4ced2b0..0000000000 --- a/meta/recipes-qt/qt5/qtcharts_git.bb +++ /dev/null @@ -1,15 +0,0 @@ -require qt5.inc -require qt5-git.inc - -LICENSE = "GPL-3.0 | The-Qt-Company-Commercial" -LIC_FILES_CHKSUM = " \ - file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504 \ -" - -DEPENDS += "qtbase qtdeclarative qtmultimedia" - -SRCREV = "9a4f99f518a49716cc9cc300eb456c6b13f9e8d1" - -# The same issue as in qtbase: -# http://errors.yoctoproject.org/Errors/Details/152641/ -LDFLAGS_append_x86 = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}" diff --git a/meta/recipes-qt/qt5/qtconnectivity_git.bb b/meta/recipes-qt/qt5/qtconnectivity_git.bb index 32ccdced5b..14272d54a1 100644 --- a/meta/recipes-qt/qt5/qtconnectivity_git.bb +++ b/meta/recipes-qt/qt5/qtconnectivity_git.bb @@ -1,13 +1,14 @@ require qt5.inc require qt5-git.inc -LICENSE = "GFDL-1.3 & BSD & ( GPL-3.0 & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( GPL-2.0+ | LGPL-3.0 | The-Qt-Company-Commercial )" +LICENSE = "GFDL-1.3 & BSD & (LGPL-2.1 & The-Qt-Company-Qt-LGPL-Exception-1.1 | LGPL-3.0) | GPL-2.0" LIC_FILES_CHKSUM = " \ - file://LICENSE.LGPL3;md5=e6a600fd5e1d9cbde2d983680233ad02 \ - file://LICENSE.GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ - file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504 \ - file://LICENSE.GPL3-EXCEPT;md5=763d8c535a234d9a3fb682c7ecb6c073 \ + file://LICENSE.LGPLv21;md5=4bfd28363f541b10d9f024181b8df516 \ + file://LICENSE.LGPLv3;md5=e0459b45c5c4840b353141a8bbed91f0 \ + file://LICENSE.GPLv3;md5=88e2b9117e6be406b5ed6ee4ca99a705 \ + file://LGPL_EXCEPTION.txt;md5=9625233da42f9e0ce9d63651a9d97654 \ file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e \ + file://LICENSE.GPLv2;md5=c96076271561b0e3785dad260634eaa8 \ " DEPENDS += "qtbase qtdeclarative" @@ -15,8 +16,13 @@ DEPENDS += "qtbase qtdeclarative" inherit bluetooth PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez', '', d)}" -PACKAGECONFIG[bluez] = "-feature-bluez,-no-feature-bluez,${BLUEZ}" +PACKAGECONFIG[bluez] = "CONFIG+=OE_BLUEZ_ENABLED,,${BLUEZ}" -EXTRA_QMAKEVARS_CONFIGURE += "${PACKAGECONFIG_CONFARGS}" +EXTRA_QMAKEVARS_PRE += "${PACKAGECONFIG_CONFARGS}" -SRCREV = "2331b915d207fe794a07b834ec2bf8578965bc4d" +do_configure_prepend() { + # disable bluez test if it isn't enabled by PACKAGECONFIG + sed -i 's/^qtCompileTest(bluez)/OE_BLUEZ_ENABLED:qtCompileTest(bluez)/g' ${S}/qtconnectivity.pro +} + +SRCREV = "12b5e352c312a88518d6db34673350a70cd53616" diff --git a/meta/recipes-qt/qt5/qtdatavis3d_git.bb b/meta/recipes-qt/qt5/qtdatavis3d_git.bb deleted file mode 100644 index ea0ba59d27..0000000000 --- a/meta/recipes-qt/qt5/qtdatavis3d_git.bb +++ /dev/null @@ -1,11 +0,0 @@ -require qt5.inc -require qt5-git.inc - -LICENSE = "GPL-3.0 | The-Qt-Company-Commercial" -LIC_FILES_CHKSUM = " \ - file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504 \ -" - -DEPENDS += "qtbase qtdeclarative qtmultimedia qtxmlpatterns" - -SRCREV = "397e50147407c16a16b6505558992ca3180f9aff" diff --git a/meta/recipes-qt/qt5/qtdeclarative/0001-qmltestexample-fix-link.patch b/meta/recipes-qt/qt5/qtdeclarative/0001-qmltestexample-fix-link.patch new file mode 100644 index 0000000000..a23bfe50e5 --- /dev/null +++ b/meta/recipes-qt/qt5/qtdeclarative/0001-qmltestexample-fix-link.patch @@ -0,0 +1,85 @@ +From bf1357512cd31b20f4f974e17e52f8a842b65317 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Eric=20B=C3=A9nard?= +Date: Sun, 26 May 2013 14:26:19 +0200 +Subject: [PATCH] qmltestexample: fix link +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +else we get : +ld: warning: libQt5Quick.so.5, needed by libQt5QuickTest.so, not found + +Upstream-Status: Inappropriate + +Change-Id: I63088ff73bec6a8559dfae132f8bd40b62487450 +Signed-off-by: Eric Bénard +Signed-off-by: Martin Jansa +--- + examples/qmltest/qmltest/qmltest.pro | 2 +- + tests/auto/qml/qjsengine/qjsengine.pro | 2 +- + tests/auto/qml/qtqmlmodules/qtqmlmodules.pro | 2 +- + tests/auto/qmltest/qmltest.pro | 1 + + tools/qmltestrunner/qmltestrunner.pro | 2 +- + 5 files changed, 5 insertions(+), 4 deletions(-) + +diff --git a/examples/qmltest/qmltest/qmltest.pro b/examples/qmltest/qmltest/qmltest.pro +index b5893c5..1b00e6c 100644 +--- a/examples/qmltest/qmltest/qmltest.pro ++++ b/examples/qmltest/qmltest/qmltest.pro +@@ -14,7 +14,7 @@ TESTDATA += tst_basic.qml tst_item.qml + # This code exists solely for the purpose of building this example + # inside the examples/ hierarchy. + +-QT += qml qmltest ++QT += qml qmltest quick + + macx: CONFIG -= app_bundle + +diff --git a/tests/auto/qml/qjsengine/qjsengine.pro b/tests/auto/qml/qjsengine/qjsengine.pro +index fc2452c..919710f 100644 +--- a/tests/auto/qml/qjsengine/qjsengine.pro ++++ b/tests/auto/qml/qjsengine/qjsengine.pro +@@ -1,7 +1,7 @@ + CONFIG += testcase + CONFIG += parallel_test + TARGET = tst_qjsengine +-QT += qml qml-private widgets testlib gui-private ++QT += qml qml-private widgets testlib gui-private quick + macx:CONFIG -= app_bundle + SOURCES += tst_qjsengine.cpp + RESOURCES += qjsengine.qrc +diff --git a/tests/auto/qml/qtqmlmodules/qtqmlmodules.pro b/tests/auto/qml/qtqmlmodules/qtqmlmodules.pro +index c6d442e..3181dcd 100644 +--- a/tests/auto/qml/qtqmlmodules/qtqmlmodules.pro ++++ b/tests/auto/qml/qtqmlmodules/qtqmlmodules.pro +@@ -8,5 +8,5 @@ macx:CONFIG -= app_bundle + + TESTDATA = data/* + +-QT += core-private qml-private testlib gui gui-private ++QT += core-private qml-private testlib gui gui-private quick + DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0 +diff --git a/tests/auto/qmltest/qmltest.pro b/tests/auto/qmltest/qmltest.pro +index 175ed42..83e5d7d 100644 +--- a/tests/auto/qmltest/qmltest.pro ++++ b/tests/auto/qmltest/qmltest.pro +@@ -4,6 +4,7 @@ CONFIG += qmltestcase + CONFIG += console + SOURCES += tst_qmltest.cpp + ++QT += quick + + importFiles.files = borderimage buttonclick createbenchmark events qqmlbinding selftests + +diff --git a/tools/qmltestrunner/qmltestrunner.pro b/tools/qmltestrunner/qmltestrunner.pro +index 1bb913e..56f2dd5 100644 +--- a/tools/qmltestrunner/qmltestrunner.pro ++++ b/tools/qmltestrunner/qmltestrunner.pro +@@ -1,6 +1,6 @@ + SOURCES += main.cpp + +-QT += qml qmltest ++QT += qml qmltest quick + CONFIG += no_import_scan + + load(qt_tool) diff --git a/meta/recipes-qt/qt5/qtdeclarative/0002-qquickviewcomparison-fix-QCoreApplication-has-not-be.patch b/meta/recipes-qt/qt5/qtdeclarative/0002-qquickviewcomparison-fix-QCoreApplication-has-not-be.patch new file mode 100644 index 0000000000..e8227587ef --- /dev/null +++ b/meta/recipes-qt/qt5/qtdeclarative/0002-qquickviewcomparison-fix-QCoreApplication-has-not-be.patch @@ -0,0 +1,25 @@ +From da7f84900e7efb6ce1e6914861beb1636b99347c Mon Sep 17 00:00:00 2001 +From: Denys Dmytriyenko +Date: Thu, 31 Mar 2016 19:38:58 -0400 +Subject: [PATCH] qquickviewcomparison: fix QCoreApplication has not been + declared error + +Upstream-Status: Pending + +Signed-off-by: Denys Dmytriyenko +--- + examples/quick/quickwidgets/qquickviewcomparison/mainwindow.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/examples/quick/quickwidgets/qquickviewcomparison/mainwindow.h b/examples/quick/quickwidgets/qquickviewcomparison/mainwindow.h +index 5b86c93..e77514e 100644 +--- a/examples/quick/quickwidgets/qquickviewcomparison/mainwindow.h ++++ b/examples/quick/quickwidgets/qquickviewcomparison/mainwindow.h +@@ -44,6 +44,7 @@ + #include + #include + #include ++#include + + QT_FORWARD_DECLARE_CLASS(QRadioButton) + QT_FORWARD_DECLARE_CLASS(QCheckBox) diff --git a/meta/recipes-qt/qt5/qtdeclarative_git.bb b/meta/recipes-qt/qt5/qtdeclarative_git.bb index d6f468fc2d..eb18ae5ec1 100644 --- a/meta/recipes-qt/qt5/qtdeclarative_git.bb +++ b/meta/recipes-qt/qt5/qtdeclarative_git.bb @@ -1,19 +1,27 @@ require qt5.inc require qt5-git.inc -require qt5-ptest.inc -HOMEPAGE = "http://www.qt.io" -LICENSE = "GFDL-1.3 & BSD & ( GPL-3.0 & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( GPL-2.0+ | LGPL-3.0 | The-Qt-Company-Commercial )" +# There are no LGPLv3-only licensed files in this component. +LICENSE = "GFDL-1.3 & BSD & (LGPL-2.1 & The-Qt-Company-Qt-LGPL-Exception-1.1 | LGPL-3.0)" LIC_FILES_CHKSUM = " \ - file://LICENSE.LGPL3;md5=e6a600fd5e1d9cbde2d983680233ad02 \ - file://LICENSE.GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ - file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504 \ - file://LICENSE.GPL3-EXCEPT;md5=763d8c535a234d9a3fb682c7ecb6c073 \ + file://LICENSE.LGPLv21;md5=4bfd28363f541b10d9f024181b8df516 \ + file://LICENSE.LGPLv3;md5=e0459b45c5c4840b353141a8bbed91f0 \ + file://LICENSE.GPLv3;md5=88e2b9117e6be406b5ed6ee4ca99a705 \ + file://LGPL_EXCEPTION.txt;md5=9625233da42f9e0ce9d63651a9d97654 \ file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e \ " DEPENDS += "qtbase" +# Patches from https://github.com/meta-qt5/qtdeclarative/commits/b5.6 +# 5.6.meta-qt5.7 +SRC_URI += " \ + file://0001-qmltestexample-fix-link.patch \ + file://0002-qquickviewcomparison-fix-QCoreApplication-has-not-be.patch \ +" + +EXTRA_OEMAKE += "QMAKE_SYNCQT=${STAGING_BINDIR_NATIVE}${QT_DIR_NAME}/syncqt" + PACKAGECONFIG ??= "qtxmlpatterns" PACKAGECONFIG[qtxmlpatterns] = ",,qtxmlpatterns" @@ -21,15 +29,13 @@ do_configure_prepend() { # disable qtxmlpatterns test if it isn't enabled by PACKAGECONFIG sed -e 's/^\(qtHaveModule(xmlpatterns)\)/OE_QTXMLPATTERNS_ENABLED:\1/' -i ${S}/src/imports/imports.pro sed -e 's/^\(!qtHaveModule(xmlpatterns)\)/!OE_QTXMLPATTERNS_ENABLED|\1/' -i ${S}/tests/auto/quick/quick.pro -} -do_install_append_class-nativesdk() { - # qml files not needed in nativesdk - rm -rf ${D}${OE_QMAKE_PATH_QML} + #set the path for syncqt properly + echo "QT_TOOL.syncqt.binary = \"${STAGING_BINDIR_NATIVE}${QT_DIR_NAME}/syncqt\"" > ${B}/.qmake.cache } EXTRA_QMAKEVARS_PRE += "${@bb.utils.contains('PACKAGECONFIG', 'qtxmlpatterns', 'CONFIG+=OE_QTXMLPATTERNS_ENABLED', '', d)}" -SRCREV = "3e91062877c0853aff693799bc5e33cdf7aaad42" +SRCREV = "bb01612a8809efd268903e41b9e3a17cff48f1c0" BBCLASSEXTEND =+ "native nativesdk" diff --git a/meta/recipes-qt/qt5/qtenginio_git.bb b/meta/recipes-qt/qt5/qtenginio_git.bb index 30d5eeae06..6135898b24 100644 --- a/meta/recipes-qt/qt5/qtenginio_git.bb +++ b/meta/recipes-qt/qt5/qtenginio_git.bb @@ -1,7 +1,7 @@ require qt5.inc require qt5-git.inc -LICENSE = "GFDL-1.3 & BSD & ( GPL-3.0 & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( GPL-2.0+ | LGPL-3.0 | The-Qt-Company-Commercial )" +LICENSE = "BSD & (LGPL-2.1 & The-Qt-Company-Qt-LGPL-Exception-1.1 | LGPL-3.0)" LIC_FILES_CHKSUM = " \ file://LICENSE.LGPLv21;md5=4bfd28363f541b10d9f024181b8df516 \ file://LICENSE.LGPLv3;md5=e0459b45c5c4840b353141a8bbed91f0 \ @@ -12,5 +12,4 @@ LIC_FILES_CHKSUM = " \ DEPENDS += "qtbase qtdeclarative qtxmlpatterns" -QT_MODULE_BRANCH = "dev" -SRCREV = "23603a3b088178d8ec92fddb240e5a5c55d77d5a" +SRCREV = "6c37300c667e3049178f049a5b86e7ea955c9671" diff --git a/meta/recipes-qt/qt5/qtgamepad_git.bb b/meta/recipes-qt/qt5/qtgamepad_git.bb deleted file mode 100644 index e91754cd36..0000000000 --- a/meta/recipes-qt/qt5/qtgamepad_git.bb +++ /dev/null @@ -1,17 +0,0 @@ -require qt5.inc -require qt5-git.inc - -LICENSE = "GPL-3.0 | LGPL-3.0 | The-Qt-Company-Commercial" -LIC_FILES_CHKSUM = " \ - file://LICENSE.LGPLv3;md5=c4fe8c6de4eef597feec6e90ed62e962 \ - file://LICENSE.GPL;md5=d32239bcb673463ab874e80d47fae504 \ -" - -DEPENDS += "qtbase qtxmlpatterns qtdeclarative" - -PACKAGECONFIG ??= "sdl2" -PACKAGECONFIG[sdl2] = "-feature-sdl2,-no-feature-sdl2,libsdl2" - -EXTRA_QMAKEVARS_CONFIGURE += "${PACKAGECONFIG_CONFARGS}" - -SRCREV = "e6f366618dc9a3d232446197d6fea7c814e53828" diff --git a/meta/recipes-qt/qt5/qtgraphicaleffects_git.bb b/meta/recipes-qt/qt5/qtgraphicaleffects_git.bb index 658420b522..861b9ac0cb 100644 --- a/meta/recipes-qt/qt5/qtgraphicaleffects_git.bb +++ b/meta/recipes-qt/qt5/qtgraphicaleffects_git.bb @@ -1,21 +1,20 @@ require qt5.inc require qt5-git.inc -LICENSE = "GFDL-1.3 & BSD & ( GPL-3.0 & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( GPL-2.0+ | LGPL-3.0 | The-Qt-Company-Commercial )" +# There are no LGPLv3-only licensed files in this component. +# There are no GPLv2 licensed files in this component. +LICENSE = "GFDL-1.3 & BSD & (LGPL-2.1 & The-Qt-Company-Qt-LGPL-Exception-1.1 | LGPL-3.0)" LIC_FILES_CHKSUM = " \ + file://LICENSE.LGPLv21;md5=4bfd28363f541b10d9f024181b8df516 \ + file://LICENSE.LGPLv3;md5=e0459b45c5c4840b353141a8bbed91f0 \ + file://LICENSE.GPLv3;md5=88e2b9117e6be406b5ed6ee4ca99a705 \ + file://LGPL_EXCEPTION.txt;md5=9625233da42f9e0ce9d63651a9d97654 \ file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e \ - file://LICENSE.GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ - file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504 \ - file://LICENSE.GPL3-EXCEPT;md5=763d8c535a234d9a3fb682c7ecb6c073 \ - file://LICENSE.LGPL3;md5=e6a600fd5e1d9cbde2d983680233ad02 \ + file://LICENSE.GPLv2;md5=c96076271561b0e3785dad260634eaa8 \ " DEPENDS += "qtdeclarative" RDEPENDS_${PN}-dev = "" -# The same issue as in qtbase: -# http://errors.yoctoproject.org/Errors/Build/44912/ -LDFLAGS_append_x86 = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}" - -SRCREV = "a38c4da7b598f5a185d7c9f824482d418353e6bf" +SRCREV = "bf13dd5ca02d861c3a554743948c939a339d5061" diff --git a/meta/recipes-qt/qt5/qtimageformats/0001-qtimageformats.pro-Make-the-dependencies-determinist.patch b/meta/recipes-qt/qt5/qtimageformats/0001-qtimageformats.pro-Make-the-dependencies-determinist.patch new file mode 100644 index 0000000000..5f3ab499fd --- /dev/null +++ b/meta/recipes-qt/qt5/qtimageformats/0001-qtimageformats.pro-Make-the-dependencies-determinist.patch @@ -0,0 +1,28 @@ +From 93c115856aa0d07f10dd308723af9c2453b1b29e Mon Sep 17 00:00:00 2001 +From: Martin Jansa +Date: Mon, 4 Aug 2014 19:19:05 +0200 +Subject: [PATCH] qtimageformats.pro: Make the dependencies deterministic + +Signed-off-by: Martin Jansa +--- + qtimageformats.pro | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/qtimageformats.pro b/qtimageformats.pro +index 8382e5c..63d13ce 100644 +--- a/qtimageformats.pro ++++ b/qtimageformats.pro +@@ -1,9 +1,9 @@ + requires(qtHaveModule(gui)) + + load(configure) +-qtCompileTest(jasper) +-qtCompileTest(libmng) +-qtCompileTest(libtiff) +-qtCompileTest(libwebp) ++OE_JASPER_ENABLED:qtCompileTest(jasper) ++OE_LIBMNG_ENABLED:qtCompileTest(libmng) ++OE_LIBTIFF_ENABLED:qtCompileTest(libtiff) ++OE_LIBWEBP_ENABLED:qtCompileTest(libwebp) + + load(qt_parts) diff --git a/meta/recipes-qt/qt5/qtimageformats_git.bb b/meta/recipes-qt/qt5/qtimageformats_git.bb index d804b0194d..2ade382436 100644 --- a/meta/recipes-qt/qt5/qtimageformats_git.bb +++ b/meta/recipes-qt/qt5/qtimageformats_git.bb @@ -1,29 +1,33 @@ require qt5.inc require qt5-git.inc -LICENSE = "GFDL-1.3 & BSD & ( GPL-3.0 & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( GPL-2.0+ | LGPL-3.0 | The-Qt-Company-Commercial )" +LICENSE = "GFDL-1.3 & BSD & (LGPL-2.1 & Digia-Qt-LGPL-Exception-1.1 | LGPL-3.0) | GPL-2.0" LIC_FILES_CHKSUM = " \ - file://LICENSE.LGPL3;md5=e6a600fd5e1d9cbde2d983680233ad02 \ file://LICENSE.LGPLv21;md5=4bfd28363f541b10d9f024181b8df516 \ file://LICENSE.LGPLv3;md5=e0459b45c5c4840b353141a8bbed91f0 \ - file://LICENSE.GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ - file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504 \ - file://LICENSE.GPL3-EXCEPT;md5=763d8c535a234d9a3fb682c7ecb6c073 \ - file://LICENSE.GPLv2;md5=c96076271561b0e3785dad260634eaa8 \ file://LICENSE.GPLv3;md5=88e2b9117e6be406b5ed6ee4ca99a705 \ file://LGPL_EXCEPTION.txt;md5=9625233da42f9e0ce9d63651a9d97654 \ file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e \ + file://LICENSE.GPLv2;md5=c96076271561b0e3785dad260634eaa8 \ " DEPENDS += "qtbase" +ALLOW_EMPTY_${PN} = "1" + +# Patches from https://github.com/meta-qt5/qtimageformats/commits/b5.6 +# 5.6.meta-qt5.1 +SRC_URI += "file://0001-qtimageformats.pro-Make-the-dependencies-determinist.patch" PACKAGECONFIG ?= "libtiff" # Currently we don't have recipe for libmng, but lock it anyway so qtimageformats stay deterministic even when libmng is introduced -PACKAGECONFIG[jasper] = ",CONFIG+=done_config_jasper,jasper" -PACKAGECONFIG[libmng] = ",CONFIG+=done_config_libmng,libmng" -PACKAGECONFIG[libtiff] = ",CONFIG+=done_config_libtiff,tiff" -PACKAGECONFIG[libwebp] = ",CONFIG+=done_config_libwebp,libwebp" +PACKAGECONFIG[jasper] = ",,jasper" +PACKAGECONFIG[libmng] = ",,libmng" +PACKAGECONFIG[libtiff] = ",,tiff" +PACKAGECONFIG[libwebp] = ",,libwebp" -EXTRA_QMAKEVARS_PRE += "${PACKAGECONFIG_CONFARGS}" +EXTRA_QMAKEVARS_PRE += "${@bb.utils.contains('PACKAGECONFIG', 'libmng', 'CONFIG+=OE_LIBMNG_ENABLED', '', d)}" +EXTRA_QMAKEVARS_PRE += "${@bb.utils.contains('PACKAGECONFIG', 'jasper', 'CONFIG+=OE_JASPER_ENABLED', '', d)}" +EXTRA_QMAKEVARS_PRE += "${@bb.utils.contains('PACKAGECONFIG', 'libtiff', 'CONFIG+=OE_LIBTIFF_ENABLED', '', d)}" +EXTRA_QMAKEVARS_PRE += "${@bb.utils.contains('PACKAGECONFIG', 'libwebp', 'CONFIG+=OE_LIBWEBP_ENABLED', '', d)}" -SRCREV = "892d4a0df7dccc6e70586835bb1211cf1b79bc69" +SRCREV = "a7a998ee6e328babaa0edfee0d156fb28cf1b385" diff --git a/meta/recipes-qt/qt5/qtknx_git.bb b/meta/recipes-qt/qt5/qtknx_git.bb deleted file mode 100644 index fa981abb73..0000000000 --- a/meta/recipes-qt/qt5/qtknx_git.bb +++ /dev/null @@ -1,14 +0,0 @@ -require qt5.inc -require qt5-git.inc - -LICENSE = "(GPL-3.0 & The-Qt-Company-GPL-Exception-1.0) | The-Qt-Company-Commercial" -LIC_FILES_CHKSUM = " \ - file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504 \ - file://LICENSE.GPL3-EXCEPT;md5=763d8c535a234d9a3fb682c7ecb6c073 \ -" - -DEPENDS += "qtbase" - -QT_MODULE_BRANCH = "5.10" - -SRCREV = "29c34e8f072afd01002ed3847d752b4e065f977e" diff --git a/meta/recipes-qt/qt5/qtlocation_git.bb b/meta/recipes-qt/qt5/qtlocation_git.bb index 03f3aca097..b1ce1f3654 100644 --- a/meta/recipes-qt/qt5/qtlocation_git.bb +++ b/meta/recipes-qt/qt5/qtlocation_git.bb @@ -1,37 +1,32 @@ require qt5.inc require qt5-git.inc -LICENSE = "Apache-2.0 & MIT & openssl & BSL-1.0 & GFDL-1.3 & BSD & ( GPL-3.0 & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( GPL-2.0+ | LGPL-3.0 | The-Qt-Company-Commercial )" +LICENSE = "GFDL-1.3 & BSD & (LGPL-2.1 & The-Qt-Company-Qt-LGPL-Exception-1.1 | LGPL-3.0) | GPL-2.0" LIC_FILES_CHKSUM = " \ - file://LICENSE.LGPL3;md5=e6a600fd5e1d9cbde2d983680233ad02 \ + file://LICENSE.LGPLv21;md5=4bfd28363f541b10d9f024181b8df516 \ file://LICENSE.LGPLv3;md5=e0459b45c5c4840b353141a8bbed91f0 \ - file://LICENSE.GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ - file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504 \ file://LICENSE.GPLv3;md5=88e2b9117e6be406b5ed6ee4ca99a705 \ - file://LICENSE.GPL3-EXCEPT;md5=763d8c535a234d9a3fb682c7ecb6c073 \ + file://LGPL_EXCEPTION.txt;md5=9625233da42f9e0ce9d63651a9d97654 \ file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e \ - file://src/3rdparty/mapbox-gl-native/LICENSE.md;md5=0ab9025299bcee16858021d557f09449 \ + file://LICENSE.GPLv2;md5=c96076271561b0e3785dad260634eaa8 \ " DEPENDS += "qtbase qtxmlpatterns qtdeclarative qtquickcontrols" PACKAGECONFIG ??= "" -# older geoclue 0.12.99 is needed -PACKAGECONFIG[geoclue] = ",,geoclue" -PACKAGECONFIG[gypsy] = "-feature-gypsy,-no-feature-gypsy,gconf gypsy" -PACKAGECONFIG[geoservices_mapboxgl] = "-feature-geoservices_mapboxgl,-no-feature-geoservices_mapboxgl" - -EXTRA_QMAKEVARS_CONFIGURE += "${PACKAGECONFIG_CONFARGS}" - -# The same issue as in qtbase: -# http://errors.yoctoproject.org/Errors/Details/152640/ -LDFLAGS_append_x86 = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}" - -SRC_URI += " \ - ${QT_GIT}/qtlocation-mapboxgl.git;name=qtlocation-mapboxgl;branch=upstream/qt-staging;protocol=${QT_GIT_PROTOCOL};destsuffix=git/src/3rdparty/mapbox-gl-native \ -" - -SRCREV_qtlocation = "ec00ff89bee900a1b8925e227a892bc57839cd60" -SRCREV_qtlocation-mapboxgl = "8c1be4ec01ef46bf453856531ebf53b48ce3dbe7" - -SRCREV_FORMAT = "qtlocation_qtlocation-mapboxgl" +# older geoclue 0.x is needed +PACKAGECONFIG[geoclue] = "OE_GEOCLUE_ENABLED,,gconf geoclue" +PACKAGECONFIG[gypsy] = "OE_GYPSY_ENABLED,,gconf gypsy" + +do_configure_prepend() { + # disable geoclue tests if it isn't enabled by PACKAGECONFIG + sed -i -e 's/^\(qtCompileTest(geoclue)\)/OE_GEOCLUE_ENABLED:\1/' ${S}/qtlocation.pro + sed -i -e 's/^\(qtCompileTest(geoclue-satellite)\)/OE_GEOCLUE_ENABLED:\1/' ${S}/qtlocation.pro + # disable gypsy test if it isn't enabled by PACKAGECONFIG + sed -i -e 's/^\(qtCompileTest(gypsy)\)/OE_GYPSY_ENABLED:\1/' ${S}/qtlocation.pro +} + +EXTRA_QMAKEVARS_PRE += "${@bb.utils.contains('PACKAGECONFIG', 'geoclue', 'CONFIG+=OE_GEOCLUE_ENABLED', '', d)}" +EXTRA_QMAKEVARS_PRE += "${@bb.utils.contains('PACKAGECONFIG', 'gypsy', 'CONFIG+=OE_GYPSY_ENABLED', '', d)}" + +SRCREV = "35348e80145305778a89923d3bfe50d7baba7690" diff --git a/meta/recipes-qt/qt5/qtmqtt_git.bb b/meta/recipes-qt/qt5/qtmqtt_git.bb deleted file mode 100644 index 90c255d721..0000000000 --- a/meta/recipes-qt/qt5/qtmqtt_git.bb +++ /dev/null @@ -1,14 +0,0 @@ -require qt5.inc -require qt5-git.inc - -LICENSE = "(GPL-3.0 & The-Qt-Company-GPL-Exception-1.0) | The-Qt-Company-Commercial" -LIC_FILES_CHKSUM = " \ - file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504 \ - file://LICENSE.GPL3-EXCEPT;md5=763d8c535a234d9a3fb682c7ecb6c073 \ -" - -DEPENDS += "qtbase" - -QT_MODULE_BRANCH = "5.10" - -SRCREV = "2c3c2a41c55a179332ec2a076856990f36dd5ef9" diff --git a/meta/recipes-qt/qt5/qtmultimedia/0001-Initial-porting-effort-to-GStreamer-1.0.patch b/meta/recipes-qt/qt5/qtmultimedia/0001-Initial-porting-effort-to-GStreamer-1.0.patch new file mode 100644 index 0000000000..1a629652b4 --- /dev/null +++ b/meta/recipes-qt/qt5/qtmultimedia/0001-Initial-porting-effort-to-GStreamer-1.0.patch @@ -0,0 +1,56 @@ +From d8911e0db56151d39f7c8c6d9f32349ca54e8c48 Mon Sep 17 00:00:00 2001 +From: Yoann Lopes +Date: Thu, 31 Oct 2013 15:06:30 +0100 +Subject: [PATCH] Initial porting effort to GStreamer 1.0. + +* It's already included in 5.5 with this commit: + commit 108dda7a90bd0f0337358b0db47ae55acd16dea6 + Author: Yoann Lopes + Date: Thu Nov 20 17:54:18 2014 +0100 + GStreamer: port to 1.0. +* here we restore only the done_config_gstreamer variable + to explicitly disable it from OE build + +Signed-off-by: Martin Jansa +--- + qtmultimedia.pro | 26 ++++++++++++++------------ + 1 file changed, 14 insertions(+), 12 deletions(-) + +diff --git a/qtmultimedia.pro b/qtmultimedia.pro +index e58ae1d..81e6ce8 100644 +--- a/qtmultimedia.pro ++++ b/qtmultimedia.pro +@@ -17,19 +17,21 @@ win32 { + contains(QT_CONFIG, alsa):qtCompileTest(alsa) + contains(QT_CONFIG, pulseaudio):qtCompileTest(pulseaudio) + +- isEmpty(GST_VERSION) { +- contains(QT_CONFIG, gstreamer-0.10) { +- GST_VERSION = 0.10 +- } else: contains(QT_CONFIG, gstreamer-1.0) { +- GST_VERSION = 1.0 ++ !done_config_gstreamer { ++ isEmpty(GST_VERSION) { ++ contains(QT_CONFIG, gstreamer-0.10) { ++ GST_VERSION = 0.10 ++ } else: contains(QT_CONFIG, gstreamer-1.0) { ++ GST_VERSION = 1.0 ++ } ++ } ++ cache(GST_VERSION, set) ++ !isEmpty(GST_VERSION):qtCompileTest(gstreamer) { ++ qtCompileTest(gstreamer_photography) ++ qtCompileTest(gstreamer_encodingprofiles) ++ qtCompileTest(gstreamer_appsrc) ++ qtCompileTest(linux_v4l) + } +- } +- cache(GST_VERSION, set) +- !isEmpty(GST_VERSION):qtCompileTest(gstreamer) { +- qtCompileTest(gstreamer_photography) +- qtCompileTest(gstreamer_encodingprofiles) +- qtCompileTest(gstreamer_appsrc) +- qtCompileTest(linux_v4l) + } + + qtCompileTest(resourcepolicy) diff --git a/meta/recipes-qt/qt5/qtmultimedia/0001-qtmultimedia-fix-a-conflicting-declaration.patch b/meta/recipes-qt/qt5/qtmultimedia/0001-qtmultimedia-fix-a-conflicting-declaration.patch deleted file mode 100644 index 4fb0f7241f..0000000000 --- a/meta/recipes-qt/qt5/qtmultimedia/0001-qtmultimedia-fix-a-conflicting-declaration.patch +++ /dev/null @@ -1,100 +0,0 @@ -From ec1740a7bce48435e65ede530e0b96593ac619ea Mon Sep 17 00:00:00 2001 -From: Wenlin Kang -Date: Thu, 8 Sep 2016 12:18:13 +0800 -Subject: [PATCH] qtmultimedia: fix a conflicting declaration - -Use lgl2.h instead of gl2.h and gl2ext.h, -fix a "conflicting declaration" error. - -Signed-off-by: Wenlin Kang ---- - src/plugins/videonode/imx6/lgl2.h | 46 ++++++++++++++++++++++ - .../videonode/imx6/qsgvivantevideomaterial.cpp | 5 ++- - src/plugins/videonode/imx6/qsgvivantevideonode.cpp | 5 ++- - 3 files changed, 52 insertions(+), 4 deletions(-) - create mode 100644 src/plugins/videonode/imx6/lgl2.h - -diff --git a/src/plugins/videonode/imx6/lgl2.h b/src/plugins/videonode/imx6/lgl2.h -new file mode 100644 -index 0000000..2423697 ---- /dev/null -+++ b/src/plugins/videonode/imx6/lgl2.h -@@ -0,0 +1,46 @@ -+#ifndef __L_GL2_H__ -+#define __L_GL2_H__ -+ -+// this file comes from and , -+// it's a light gl2.h. -+ -+/*------------------------------------------------------------------------- -+ * Definition of KHRONOS_APIENTRY -+ *------------------------------------------------------------------------- -+ * This follows the return type of the function and precedes the function -+ * name in the function prototype. -+ */ -+#if defined(_WIN32) && !defined(_WIN32_WCE) && !defined(__SCITECH_SNAP__) -+ /* Win32 but not WinCE */ -+# define KHRONOS_APIENTRY __stdcall -+#else -+# define KHRONOS_APIENTRY -+#endif -+ -+#ifndef GL_APIENTRY -+# define GL_APIENTRY KHRONOS_APIENTRY -+#endif -+ -+#ifndef GL_APIENTRYP -+# define GL_APIENTRYP GL_APIENTRY* -+#endif -+ -+typedef void GLvoid; -+typedef unsigned int GLenum; -+typedef unsigned int GLuint; -+typedef int GLsizei; -+ -+#define GL_VIV_YV12 0x8FC0 -+#define GL_VIV_NV12 0x8FC1 -+#define GL_VIV_YUY2 0x8FC2 -+#define GL_VIV_UYVY 0x8FC3 -+#define GL_VIV_NV21 0x8FC4 -+#define GL_VIV_I420 0x8FC5 -+ -+typedef void (GL_APIENTRYP PFNGLTEXDIRECTVIVMAPPROC) (GLenum Target, GLsizei Width, GLsizei Height, GLenum Format, GLvoid ** Logical, const GLuint * Physical); -+typedef void (GL_APIENTRYP PFNGLTEXDIRECTMAPVIVPROC) (GLenum Target, GLsizei Width, GLsizei Height, GLenum Format, GLvoid ** Logical, const GLuint * Physical); -+typedef void (GL_APIENTRYP PFNGLTEXDIRECTVIVPROC) (GLenum Target, GLsizei Width, GLsizei Height, GLenum Format, GLvoid ** Pixels); -+typedef void (GL_APIENTRYP PFNGLTEXDIRECTINVALIDATEVIVPROC) (GLenum Target); -+typedef void (GL_APIENTRYP PFNGLTEXDIRECTTILEDMAPVIVPROC) (GLenum Target, GLsizei Width, GLsizei Height, GLenum Format, GLvoid ** Logical, const GLuint * Physical); -+ -+#endif -diff --git a/src/plugins/videonode/imx6/qsgvivantevideomaterial.cpp b/src/plugins/videonode/imx6/qsgvivantevideomaterial.cpp -index 465ccfa..40e7592 100644 ---- a/src/plugins/videonode/imx6/qsgvivantevideomaterial.cpp -+++ b/src/plugins/videonode/imx6/qsgvivantevideomaterial.cpp -@@ -37,8 +37,9 @@ - ** - ****************************************************************************/ - --#include --#include -+// use lgl2.h instead of and , -+// fixes a conflicting declaration issue. -+#include "lgl2.h" - - #include "qsgvivantevideomaterial.h" - #include "qsgvivantevideomaterialshader.h" -diff --git a/src/plugins/videonode/imx6/qsgvivantevideonode.cpp b/src/plugins/videonode/imx6/qsgvivantevideonode.cpp -index c8d83b4..5b1b8f2 100644 ---- a/src/plugins/videonode/imx6/qsgvivantevideonode.cpp -+++ b/src/plugins/videonode/imx6/qsgvivantevideonode.cpp -@@ -37,8 +37,9 @@ - ** - ****************************************************************************/ - --#include --#include -+// use lgl2.h instead of and , -+// fixes a conflicting declaration issue. -+#include "lgl2.h" - - #include "qsgvivantevideonode.h" - #include "qsgvivantevideomaterialshader.h" diff --git a/meta/recipes-qt/qt5/qtmultimedia_git.bb b/meta/recipes-qt/qt5/qtmultimedia_git.bb index efe848f005..10b90a65bb 100644 --- a/meta/recipes-qt/qt5/qtmultimedia_git.bb +++ b/meta/recipes-qt/qt5/qtmultimedia_git.bb @@ -1,12 +1,13 @@ require qt5.inc require qt5-git.inc -LICENSE = "GFDL-1.3 & BSD & ( GPL-3.0 & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( GPL-2.0+ | LGPL-3.0 | The-Qt-Company-Commercial )" +# There are no LGPLv3-only licensed files in this component. +LICENSE = "GFDL-1.3 & BSD & (LGPL-2.1 & The-Qt-Company-Qt-LGPL-Exception-1.1 | LGPL-3.0)" LIC_FILES_CHKSUM = " \ - file://LICENSE.LGPL3;md5=e6a600fd5e1d9cbde2d983680233ad02 \ - file://LICENSE.GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ - file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504 \ - file://LICENSE.GPL3-EXCEPT;md5=763d8c535a234d9a3fb682c7ecb6c073 \ + file://LICENSE.LGPLv21;md5=4bfd28363f541b10d9f024181b8df516 \ + file://LICENSE.LGPLv3;md5=e0459b45c5c4840b353141a8bbed91f0 \ + file://LICENSE.GPLv3;md5=88e2b9117e6be406b5ed6ee4ca99a705 \ + file://LGPL_EXCEPTION.txt;md5=9625233da42f9e0ce9d63651a9d97654 \ file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e \ " @@ -14,26 +15,26 @@ DEPENDS += "qtdeclarative" PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'alsa', 'alsa', '', d)} \ ${@bb.utils.contains('DISTRO_FEATURES', 'pulseaudio', 'pulseaudio', '', d)}" -PACKAGECONFIG[alsa] = "-alsa,-no-alsa,alsa-lib" -PACKAGECONFIG[pulseaudio] = "-pulseaudio,-no-pulseaudio,pulseaudio" -PACKAGECONFIG[openal] = "-feature-openal,-no-feature-openal,openal-soft" -PACKAGECONFIG[gstreamer] = "-gstreamer 1.0,,gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad" -PACKAGECONFIG[gstreamer010] = "-gstreamer 0.10,,gstreamer gst-plugins-base gst-plugins-bad" - -EXTRA_QMAKEVARS_CONFIGURE += "${PACKAGECONFIG_CONFARGS}" - +PACKAGECONFIG[alsa] = ",,alsa-lib" +PACKAGECONFIG[pulseaudio] = ",,pulseaudio" +PACKAGECONFIG[openal] = ",,openal-soft" +PACKAGECONFIG[gstreamer] = ",,gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad" +PACKAGECONFIG[gstreamer010] = ",,gstreamer gst-plugins-base gst-plugins-bad" + +EXTRA_QMAKEVARS_PRE += "${@bb.utils.contains('PACKAGECONFIG', 'alsa', '', 'CONFIG+=done_config_alsa', d)}" +EXTRA_QMAKEVARS_PRE += "${@bb.utils.contains('PACKAGECONFIG', 'pulseaudio', '', 'CONFIG+=done_config_pulseaudio', d)}" +EXTRA_QMAKEVARS_PRE += "${@bb.utils.contains('PACKAGECONFIG', 'openal', '', 'CONFIG+=done_config_openal', d)}" + +# Handles GStreamer support +EXTRA_QMAKEVARS_PRE += "${@bb.utils.contains('PACKAGECONFIG', 'gstreamer', 'GST_VERSION=1.0', '', d)}" +EXTRA_QMAKEVARS_PRE += "${@bb.utils.contains('PACKAGECONFIG', 'gstreamer010', 'GST_VERSION=0.10', '', d)}" # Disable GStreamer if completely disabled -EXTRA_QMAKEVARS_CONFIGURE += "${@bb.utils.contains_any('PACKAGECONFIG', 'gstreamer gstreamer010', '', '-no-gstreamer', d)}" +EXTRA_QMAKEVARS_PRE += "${@bb.utils.contains_any('PACKAGECONFIG', 'gstreamer gstreamer010', '', 'CONFIG+=done_config_gstreamer', d)}" -CXXFLAGS += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', '', '-DMESA_EGL_NO_X11_HEADERS=1', d)}" -# Patches from https://github.com/meta-qt5/qtmultimedia/commits/b5.10 -# 5.10.meta-qt5.2 +# Patches from https://github.com/meta-qt5/qtmultimedia/commits/b5.6 +# 5.6.meta-qt5.1 SRC_URI += "\ - file://0001-qtmultimedia-fix-a-conflicting-declaration.patch \ + file://0001-Initial-porting-effort-to-GStreamer-1.0.patch \ " -# The same issue as in qtbase: -# http://errors.yoctoproject.org/Errors/Build/44914/ -LDFLAGS_append_x86 = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}" - -SRCREV = "038716bb1f2d9b95f2d638e2d61d297563343af9" +SRCREV = "4dd780a81e886a8a5eb86d1a045716ac4194eba1" diff --git a/meta/recipes-qt/qt5/qtnetworkauth_git.bb b/meta/recipes-qt/qt5/qtnetworkauth_git.bb deleted file mode 100644 index 0180376e3e..0000000000 --- a/meta/recipes-qt/qt5/qtnetworkauth_git.bb +++ /dev/null @@ -1,12 +0,0 @@ -LICENSE = "BSD & GPL-3.0 & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial" -LIC_FILES_CHKSUM = " \ - file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504 \ - file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e \ -" - -require qt5.inc -require qt5-git.inc - -DEPENDS += "qtbase" - -SRCREV = "8f4f2e0cae642ff5eb0b87ae1d4e9c5e6ccf2bd8" diff --git a/meta/recipes-qt/qt5/qtpurchasing_git.bb b/meta/recipes-qt/qt5/qtpurchasing_git.bb deleted file mode 100644 index adda211c13..0000000000 --- a/meta/recipes-qt/qt5/qtpurchasing_git.bb +++ /dev/null @@ -1,13 +0,0 @@ -require qt5.inc -require qt5-git.inc - -HOMEPAGE = "http://www.qt.io" -LICENSE = "Apache-2.0 & BSD & ( LGPL-3.0 | GPL-3.0 | The-Qt-Company-Commercial )" -LIC_FILES_CHKSUM = " \ - file://LICENSE.LGPLv3;md5=b8c75190712063cde04e1f41b6fdad98 \ - file://LICENSE.GPLv3;md5=40f9bf30e783ddc201497165dfb32afb \ -" - -DEPENDS += "qtbase qtdeclarative" - -SRCREV = "d925245573a76b23b231a93fa4674fb340f226a7" diff --git a/meta/recipes-qt/qt5/qtquick1_git.bb b/meta/recipes-qt/qt5/qtquick1_git.bb index 85b8462931..0c5d2cb692 100644 --- a/meta/recipes-qt/qt5/qtquick1_git.bb +++ b/meta/recipes-qt/qt5/qtquick1_git.bb @@ -1,15 +1,17 @@ require qt5.inc require qt5-git.inc -require qt5-ptest.inc -HOMEPAGE = "http://www.qt.io" -LICENSE = "GFDL-1.3 & BSD & ( GPL-3.0 & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( GPL-2.0+ | LGPL-3.0 | The-Qt-Company-Commercial )" +# There are no LGPLv3-only licensed files in this component. +# There are no GPLv2 licensed files in this component. +# Note that some files are LGPL-2.1 only without The-Qt-Company-Qt-LGPL-Exception-1.1. +LICENSE = "GFDL-1.3 & BSD & (LGPL-2.1 & The-Qt-Company-Qt-LGPL-Exception-1.1 | LGPL-3.0)" LIC_FILES_CHKSUM = " \ file://LICENSE.LGPLv21;md5=4bfd28363f541b10d9f024181b8df516 \ file://LICENSE.LGPLv3;md5=e0459b45c5c4840b353141a8bbed91f0 \ - file://LICENSE.GPLv2;md5=c96076271561b0e3785dad260634eaa8 \ + file://LICENSE.GPLv3;md5=88e2b9117e6be406b5ed6ee4ca99a705 \ file://LGPL_EXCEPTION.txt;md5=9625233da42f9e0ce9d63651a9d97654 \ file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e \ + file://LICENSE.GPLv2;md5=c96076271561b0e3785dad260634eaa8 \ " DEPENDS += "qtscript qtsvg qtxmlpatterns" @@ -24,6 +26,4 @@ do_configure_prepend() { sed -i 's#^qtHaveModule(webkitwidgets):#qtHaveModule(webkitwidgets):!contains(CONFIG, noqtwebkit):#g' ${S}/src/imports/imports.pro } -QT_MODULE_BRANCH = "dev" - -SRCREV = "b2476dcd53f0dea1e9eb38df5add3a771d64c4a1" +SRCREV = "b934c54583adc4f9021de2753f99836f60a96688" diff --git a/meta/recipes-qt/qt5/qtquickcontrols/0001-texteditor-fix-invalid-use-of-incomplete-type-class-.patch b/meta/recipes-qt/qt5/qtquickcontrols/0001-texteditor-fix-invalid-use-of-incomplete-type-class-.patch new file mode 100644 index 0000000000..7aae248a97 --- /dev/null +++ b/meta/recipes-qt/qt5/qtquickcontrols/0001-texteditor-fix-invalid-use-of-incomplete-type-class-.patch @@ -0,0 +1,24 @@ +From 61dfc0e7b4c78ba7296e8e6c3a1da0c688b73513 Mon Sep 17 00:00:00 2001 +From: Denys Dmytriyenko +Date: Thu, 31 Mar 2016 19:57:01 -0400 +Subject: [PATCH] texteditor: fix invalid use of incomplete type 'class QDebug' + +Upstream-Status: Pending + +Signed-off-by: Denys Dmytriyenko +--- + examples/quickcontrols/controls/texteditor/src/documenthandler.cpp | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/examples/quickcontrols/controls/texteditor/src/documenthandler.cpp b/examples/quickcontrols/controls/texteditor/src/documenthandler.cpp +index b07099e..6a34e55 100644 +--- a/examples/quickcontrols/controls/texteditor/src/documenthandler.cpp ++++ b/examples/quickcontrols/controls/texteditor/src/documenthandler.cpp +@@ -44,6 +44,7 @@ + #include + #include + #include ++#include + + DocumentHandler::DocumentHandler() + : m_target(0) diff --git a/meta/recipes-qt/qt5/qtquickcontrols2_git.bb b/meta/recipes-qt/qt5/qtquickcontrols2_git.bb index d922cd68cb..bfb957e8b7 100644 --- a/meta/recipes-qt/qt5/qtquickcontrols2_git.bb +++ b/meta/recipes-qt/qt5/qtquickcontrols2_git.bb @@ -1,13 +1,13 @@ require qt5.inc require qt5-git.inc -LICENSE = "GFDL-1.3 & BSD & LGPL-3.0 | GPL-3.0 | The-Qt-Company-Commercial" +LICENSE = "GFDL-1.3 & BSD & LGPL-3.0 | GPL-3.0" LIC_FILES_CHKSUM = " \ file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e \ - file://LICENSE.LGPLv3;md5=382747d0119037529ec2b98b24038eb0 \ - file://LICENSE.GPLv3;md5=dce746aa5261707df6d6999ab9958d8b \ + file://LICENSE.LGPLv3;md5=a37e6cd7102174853307e03e6edc5f30 \ + file://LICENSE.GPLv3;md5=88e2b9117e6be406b5ed6ee4ca99a705 \ " DEPENDS += "qtdeclarative" -SRCREV = "e693ad2c4ae22f8813befd5fe825c855537497ed" +SRCREV = "0593bd577168cdf8b4318d4e46ea463f433f8bb2" diff --git a/meta/recipes-qt/qt5/qtquickcontrols_git.bb b/meta/recipes-qt/qt5/qtquickcontrols_git.bb index 17dd0fc1d0..95d205f864 100644 --- a/meta/recipes-qt/qt5/qtquickcontrols_git.bb +++ b/meta/recipes-qt/qt5/qtquickcontrols_git.bb @@ -1,20 +1,22 @@ require qt5.inc require qt5-git.inc -LICENSE = "GFDL-1.3 & BSD & ( GPL-3.0 & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( GPL-2.0+ | LGPL-3.0 | The-Qt-Company-Commercial )" +LICENSE = "GFDL-1.3 & BSD & LGPL-3.0 | GPL-2.0" LIC_FILES_CHKSUM = " \ - file://LICENSE.LGPL3;md5=e6a600fd5e1d9cbde2d983680233ad02 \ - file://LICENSE.GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ - file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504 \ - file://LICENSE.GPL3-EXCEPT;md5=763d8c535a234d9a3fb682c7ecb6c073 \ + file://LICENSE.LGPLv3;md5=e0459b45c5c4840b353141a8bbed91f0 \ + file://LICENSE.GPLv2;md5=c96076271561b0e3785dad260634eaa8 \ + file://LICENSE.GPLv3;md5=88e2b9117e6be406b5ed6ee4ca99a705 \ file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e \ " DEPENDS += "qtdeclarative" -FILES_${PN}-qmlplugins += " \ - ${OE_QMAKE_PATH_QML}/QtQuick/Controls/Shaders \ - ${OE_QMAKE_PATH_QML}/QtQuick/Dialogs/qml/icons.ttf \ +RDEPENDS_${PN}-dev = "" + +# Patches from https://github.com/meta-qt5/qtquickcontrols/commits/b5.6 +# 5.6.meta-qt5.1 +SRC_URI += " \ + file://0001-texteditor-fix-invalid-use-of-incomplete-type-class-.patch \ " -SRCREV = "09ebb25aa686fc3f47f860905c2abb32a95c75d1" +SRCREV = "b66f6b05c5f8024ddd9f8c46f33ccb618323999e" diff --git a/meta/recipes-qt/qt5/qtremoteobjects/0001-Allow-a-tools-only-build.patch b/meta/recipes-qt/qt5/qtremoteobjects/0001-Allow-a-tools-only-build.patch deleted file mode 100644 index 19b526c992..0000000000 --- a/meta/recipes-qt/qt5/qtremoteobjects/0001-Allow-a-tools-only-build.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 6235a3fdd0807205c818d70582033970ee008013 Mon Sep 17 00:00:00 2001 -From: Samuli Piippo -Date: Wed, 7 Jun 2017 15:17:12 +0300 -Subject: [PATCH] Allow a tools-only build - -Change-Id: I3b33fc1c8877fc82568bd386b063e7a0aa57b706 ---- - mkspecs/features/repccommon.pri | 2 +- - qtremoteobjects.pro | 5 +++++ - 2 files changed, 6 insertions(+), 1 deletion(-) - -diff --git a/mkspecs/features/repccommon.pri b/mkspecs/features/repccommon.pri -index 5e88bf8..6efd19e 100644 ---- a/mkspecs/features/repccommon.pri -+++ b/mkspecs/features/repccommon.pri -@@ -3,7 +3,7 @@ cmd = $${QT.remoteobjects.bins}/repc - contains(QMAKE_HOST.os, Windows) { - cmd = $$system_path($${cmd}.exe) - } --exists($$cmd): QT_TOOL.repc.binary = $$cmd -+false:exists($$cmd): QT_TOOL.repc.binary = $$cmd - - # qtPrepareTool honors QT_TOOL.repc.binary if set - qtPrepareTool(QMAKE_REPC, repc) -diff --git a/qtremoteobjects.pro b/qtremoteobjects.pro -index c2e2b6b..93c2bb5 100644 ---- a/qtremoteobjects.pro -+++ b/qtremoteobjects.pro -@@ -2,3 +2,8 @@ CONFIG += examples_need_tools tests_need_tools - load(qt_parts) - - SUBDIRS += mkspecs -+ -+tools-only { -+ sub_tools.depends -= sub_src -+ SUBDIRS = sub_tools -+} diff --git a/meta/recipes-qt/qt5/qtremoteobjects_git.bb b/meta/recipes-qt/qt5/qtremoteobjects_git.bb deleted file mode 100644 index e70579abcf..0000000000 --- a/meta/recipes-qt/qt5/qtremoteobjects_git.bb +++ /dev/null @@ -1,29 +0,0 @@ -LICENSE = "BSD & ( GPL-3.0 & The-Qt-Company-GPL-Exception-1.0 ) & ( GPL-2.0+ | LGPL-3.0 ) | The-Qt-Company-Commercial" -LIC_FILES_CHKSUM = " \ - file://LICENSE.GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ - file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504 \ - file://LICENSE.GPL3-EXCEPT;md5=763d8c535a234d9a3fb682c7ecb6c073 \ - file://LICENSE.LGPL3;md5=e6a600fd5e1d9cbde2d983680233ad02 \ -" - -require qt5.inc -require qt5-git.inc - -DEPENDS += "qtbase qtdeclarative qtremoteobjects-native" - -# Patches from https://github.com/meta-qt5/qtremoteobjects/commits/b5.10 -# 5.10.meta-qt5.2 -SRC_URI += " \ - file://0001-Allow-a-tools-only-build.patch \ -" - -PACKAGECONFIG ??= "" -PACKAGECONFIG_class-native ??= "tools-only" -PACKAGECONFIG_class-nativesdk ??= "tools-only" -PACKAGECONFIG[tools-only] = "CONFIG+=tools-only" - -EXTRA_QMAKEVARS_PRE += "${PACKAGECONFIG_CONFARGS}" - -SRCREV = "61d2de26db7b90ad0ed3923b5deecd1c5b3be46a" - -BBCLASSEXTEND += "native nativesdk" diff --git a/meta/recipes-qt/qt5/qtscript_git.bb b/meta/recipes-qt/qt5/qtscript_git.bb index d73eb44eb6..6e2327aae6 100644 --- a/meta/recipes-qt/qt5/qtscript_git.bb +++ b/meta/recipes-qt/qt5/qtscript_git.bb @@ -1,14 +1,15 @@ require qt5.inc require qt5-git.inc -HOMEPAGE = "http://www.qt.io" -LICENSE = "GFDL-1.3 & BSD & ( GPL-3.0 & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( GPL-2.0+ | LGPL-3.0 | The-Qt-Company-Commercial )" +# There are no LGPLv3-only licensed files in this component. +# Note that some files are LGPL-2.1 only without The-Qt-Company-Qt-LGPL-Exception-1.1. +LICENSE = "GFDL-1.3 & BSD & (LGPL-2.1 & The-Qt-Company-Qt-LGPL-Exception-1.1 | LGPL-3.0)" LIC_FILES_CHKSUM = " \ + file://LICENSE.LGPLv21;md5=4bfd28363f541b10d9f024181b8df516 \ + file://LICENSE.LGPLv3;md5=e0459b45c5c4840b353141a8bbed91f0 \ + file://LICENSE.GPLv3;md5=88e2b9117e6be406b5ed6ee4ca99a705 \ + file://LGPL_EXCEPTION.txt;md5=9625233da42f9e0ce9d63651a9d97654 \ file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e \ - file://LICENSE.GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ - file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504 \ - file://LICENSE.GPL3-EXCEPT;md5=763d8c535a234d9a3fb682c7ecb6c073 \ - file://LICENSE.LGPL3;md5=e6a600fd5e1d9cbde2d983680233ad02 \ " # qemuarm build fails with: @@ -26,8 +27,4 @@ ARM_INSTRUCTION_SET_armv5 = "arm" DEPENDS += "qtbase" -# The same issue as in qtbase: -# http://errors.yoctoproject.org/Errors/Build/44915/ -LDFLAGS_append_x86 = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}" - -SRCREV = "76bcf9b526f96edb35469e9de4b032a112a2b1c0" +SRCREV = "8196140bedcaca11dbe0e06342e942e52e9d69eb" diff --git a/meta/recipes-qt/qt5/qtscxml/0001-Use-external-host-bin-path-for-cmake-file.patch b/meta/recipes-qt/qt5/qtscxml/0001-Use-external-host-bin-path-for-cmake-file.patch deleted file mode 100644 index e734cf32f2..0000000000 --- a/meta/recipes-qt/qt5/qtscxml/0001-Use-external-host-bin-path-for-cmake-file.patch +++ /dev/null @@ -1,28 +0,0 @@ -From f83817b29477f33ee3b4abf8468a7b01bb347d2b Mon Sep 17 00:00:00 2001 -From: Samuli Piippo -Date: Tue, 10 Jan 2017 15:28:26 +0200 -Subject: [PATCH] Use external host bin path for cmake file - -Need to use ${OE_QMAKE_PATH_EXTERNAL_HOST_BINS} for cmake to find the -qscxmlc tool from correct sysroot path. - -Upstream-Status: Inappropriate [OE specific] -Signed-off-by: Samuli Piippo -Change-Id: Idb814be705e9cbaad7f1e68b5d7cdb79c4b65008 ---- - src/scxml/Qt5ScxmlConfigExtras.cmake.in | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/scxml/Qt5ScxmlConfigExtras.cmake.in b/src/scxml/Qt5ScxmlConfigExtras.cmake.in -index edb320a..ce7f2df 100644 ---- a/src/scxml/Qt5ScxmlConfigExtras.cmake.in -+++ b/src/scxml/Qt5ScxmlConfigExtras.cmake.in -@@ -40,7 +40,7 @@ if (NOT TARGET Qt5::qscxmlc) - !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE) - set(imported_location \"${_qt5Scxml_install_prefix}/$${CMAKE_BIN_DIR}qscxmlc$$CMAKE_BIN_SUFFIX\") - !!ELSE -- set(imported_location \"$${CMAKE_BIN_DIR}qscxmlc$$CMAKE_BIN_SUFFIX\") -+ set(imported_location \"${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}/qscxmlc$$CMAKE_BIN_SUFFIX\") - !!ENDIF - _qt5_Scxml_check_file_exists(${imported_location}) - diff --git a/meta/recipes-qt/qt5/qtscxml_git.bb b/meta/recipes-qt/qt5/qtscxml_git.bb deleted file mode 100644 index feb333fe20..0000000000 --- a/meta/recipes-qt/qt5/qtscxml_git.bb +++ /dev/null @@ -1,24 +0,0 @@ -LICENSE = "LGPL-3.0 & BSD & GPL-3.0 & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial" -LIC_FILES_CHKSUM = " \ - file://LICENSE.LGPL3;md5=e6a600fd5e1d9cbde2d983680233ad02 \ - file://LICENSE.GPL3-EXCEPT;md5=763d8c535a234d9a3fb682c7ecb6c073 \ - file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e \ -" - -require qt5.inc -require qt5-git.inc - -DEPENDS += "qtbase qtdeclarative qtxmlpatterns qtscxml-native" - -SRCREV = "d9b2f8c56d162c108d5427769a8e496dd7a3b62e" - -# Patches from https://github.com/meta-qt5/qtscxml/commits/b5.10 -# 5.10.meta-qt5.2 -SRC_URI += "file://0001-Use-external-host-bin-path-for-cmake-file.patch" - -do_install_append_class-nativesdk() { - # qml files not needed in nativesdk - rm -rf ${D}${OE_QMAKE_PATH_QML} -} - -BBCLASSEXTEND =+ "native nativesdk" diff --git a/meta/recipes-qt/qt5/qtsensors_git.bb b/meta/recipes-qt/qt5/qtsensors_git.bb index 09e8e8b9f6..c46c4969df 100644 --- a/meta/recipes-qt/qt5/qtsensors_git.bb +++ b/meta/recipes-qt/qt5/qtsensors_git.bb @@ -1,15 +1,17 @@ require qt5.inc require qt5-git.inc -LICENSE = "GFDL-1.3 & BSD & ( GPL-3.0 & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( GPL-2.0+ | LGPL-3.0 | The-Qt-Company-Commercial )" +# There are no LGPLv3-only licensed files in this component. +# There are no GPLv2 licensed files in this component. +LICENSE = "GFDL-1.3 & BSD & (LGPL-2.1 & The-Qt-Company-Qt-LGPL-Exception-1.1 | LGPL-3.0)" LIC_FILES_CHKSUM = " \ + file://LICENSE.LGPLv21;md5=4bfd28363f541b10d9f024181b8df516 \ + file://LICENSE.LGPLv3;md5=e0459b45c5c4840b353141a8bbed91f0 \ + file://LICENSE.GPLv3;md5=88e2b9117e6be406b5ed6ee4ca99a705 \ + file://LGPL_EXCEPTION.txt;md5=9625233da42f9e0ce9d63651a9d97654 \ file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e \ - file://LICENSE.GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ - file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504 \ - file://LICENSE.GPL3-EXCEPT;md5=763d8c535a234d9a3fb682c7ecb6c073 \ - file://LICENSE.LGPL3;md5=e6a600fd5e1d9cbde2d983680233ad02 \ " DEPENDS += "qtbase qtdeclarative" -SRCREV = "d5a94c5595170fed9a0f7d3d42ef4b0216909d0d" +SRCREV = "099b3a7442a553aedf4d5bb8955dabcae4dae66c" diff --git a/meta/recipes-qt/qt5/qtserialbus_git.bb b/meta/recipes-qt/qt5/qtserialbus_git.bb deleted file mode 100644 index 85c4669ff9..0000000000 --- a/meta/recipes-qt/qt5/qtserialbus_git.bb +++ /dev/null @@ -1,14 +0,0 @@ -require qt5.inc -require qt5-git.inc - -LICENSE = "GFDL-1.3 & (LGPL-3.0 | GPL-2.0+) | The-Qt-Company-Commercial" -LIC_FILES_CHKSUM = " \ - file://LICENSE.LGPLv3;md5=e0459b45c5c4840b353141a8bbed91f0 \ - file://LICENSE.GPLv2;md5=c96076271561b0e3785dad260634eaa8 \ - file://LICENSE.GPLv3;md5=88e2b9117e6be406b5ed6ee4ca99a705 \ - file://LICENSE.FDL;md5=f70ee9a6c44ae8917586fea34dff0ab5 \ -" - -DEPENDS += "qtbase qtserialport" - -SRCREV = "d5d35d64d06729322c80327de40badaf553df87e" diff --git a/meta/recipes-qt/qt5/qtserialport_git.bb b/meta/recipes-qt/qt5/qtserialport_git.bb index ddc6957ad4..e3a71ddc79 100644 --- a/meta/recipes-qt/qt5/qtserialport_git.bb +++ b/meta/recipes-qt/qt5/qtserialport_git.bb @@ -3,16 +3,16 @@ require qt5-git.inc # text of LGPL_EXCEPTION.txt and LICENSE.FDL is slightly different than what # other qt* components use :/ -LICENSE = "GFDL-1.3 & BSD & ( GPL-3.0 & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( GPL-2.0+ | LGPL-3.0 | The-Qt-Company-Commercial )" +LICENSE = "GFDL-1.3 & BSD & (LGPL-2.1 & The-Qt-Company-Qt-LGPL-Exception-1.1 | LGPL-3.0)" LIC_FILES_CHKSUM = " \ - file://LICENSE.LGPL3;md5=e6a600fd5e1d9cbde2d983680233ad02 \ - file://LICENSE.GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ - file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504 \ - file://LICENSE.GPL3-EXCEPT;md5=763d8c535a234d9a3fb682c7ecb6c073 \ + file://LICENSE.LGPLv21;md5=4bfd28363f541b10d9f024181b8df516 \ + file://LICENSE.LGPLv3;md5=e0459b45c5c4840b353141a8bbed91f0 \ + file://LICENSE.GPLv3;md5=88e2b9117e6be406b5ed6ee4ca99a705 \ file://LGPL_EXCEPTION.txt;md5=bb426f3367c4805d1e12fad05bd0b750 \ file://LICENSE.FDL;md5=3801d7932fdc07fd9efe89f9854a6caa \ + file://LICENSE.GPLv2;md5=c96076271561b0e3785dad260634eaa8 \ " DEPENDS += "qtbase" -SRCREV = "fa688ac5c36a16aa3b44d4ca1509f9386e670a89" +SRCREV = "2f7b2533b323644289c60370f68492aea6b1a625" diff --git a/meta/recipes-qt/qt5/qtsvg_git.bb b/meta/recipes-qt/qt5/qtsvg_git.bb index 12fcff1f4e..e4a0b72261 100644 --- a/meta/recipes-qt/qt5/qtsvg_git.bb +++ b/meta/recipes-qt/qt5/qtsvg_git.bb @@ -1,8 +1,8 @@ require qt5.inc require qt5-git.inc -HOMEPAGE = "http://www.qt.io" -LICENSE = "GFDL-1.3 & BSD & ( GPL-3.0 & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( GPL-2.0+ | LGPL-3.0 | The-Qt-Company-Commercial )" +# There are no LGPLv3-only licensed files in this component. +LICENSE = "GFDL-1.3 & BSD & (LGPL-2.1 & The-Qt-Company-Qt-LGPL-Exception-1.1 | LGPL-3.0)" LIC_FILES_CHKSUM = " \ file://LICENSE.LGPLv21;md5=4bfd28363f541b10d9f024181b8df516 \ file://LICENSE.LGPLv3;md5=e0459b45c5c4840b353141a8bbed91f0 \ @@ -13,4 +13,4 @@ LIC_FILES_CHKSUM = " \ DEPENDS += "qtbase" -SRCREV = "af35137016f082c3fa15e61414f3c78c73ac322f" +SRCREV = "cf5fa755ecd07b0f52a151ea322d52fe1bfd8d76" diff --git a/meta/recipes-qt/qt5/qtsystems_git.bb b/meta/recipes-qt/qt5/qtsystems_git.bb index 0bda2e9970..de316a5561 100644 --- a/meta/recipes-qt/qt5/qtsystems_git.bb +++ b/meta/recipes-qt/qt5/qtsystems_git.bb @@ -1,13 +1,12 @@ require qt5.inc require qt5-git.inc -LICENSE = "GFDL-1.3 & BSD & ( GPL-3.0 & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( GPL-2.0+ | LGPL-3.0 | The-Qt-Company-Commercial )" +LICENSE = "GFDL-1.3 & LGPL-2.1 | GPL-3.0" LIC_FILES_CHKSUM = " \ + file://LICENSE.LGPLv21;md5=4193e7f1d47a858f6b7c0f1ee66161de \ + file://LICENSE.GPLv3;md5=d32239bcb673463ab874e80d47fae504 \ + file://LGPL_EXCEPTION.txt;md5=0145c4d1b6f96a661c2c139dfb268fb6 \ file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e \ - file://LICENSE.GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ - file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504 \ - file://LICENSE.GPL3-EXCEPT;md5=763d8c535a234d9a3fb682c7ecb6c073 \ - file://LICENSE.LGPL3;md5=e6a600fd5e1d9cbde2d983680233ad02 \ " DEPENDS += "qtbase qtdeclarative udev gconf" @@ -31,4 +30,7 @@ do_install_append() { QT_MODULE_BRANCH = "dev" -SRCREV = "66e45676f5f5c6251ccab36906c6324fd0065e08" +# qtsystems wasn't released yet, last tag before this SRCREV is 5.0.0-beta1 +# qt5-git PV is only to indicate that this recipe is compatible with qt5 5.6 + +SRCREV = "434af789f0d56ca7a521ca2d9ec8cf3b1057fd37" diff --git a/meta/recipes-qt/qt5/qttools/0001-Allow-to-build-only-lrelease-lupdate-lconvert.patch b/meta/recipes-qt/qt5/qttools/0001-Allow-to-build-only-lrelease-lupdate-lconvert.patch new file mode 100644 index 0000000000..9a3e9e2afb --- /dev/null +++ b/meta/recipes-qt/qt5/qttools/0001-Allow-to-build-only-lrelease-lupdate-lconvert.patch @@ -0,0 +1,158 @@ +From 517561c76fcd0d5174d6b138d1c5d3ca5ee48981 Mon Sep 17 00:00:00 2001 +From: Martin Jansa +Date: Wed, 11 Sep 2013 18:30:08 +0200 +Subject: [PATCH] Allow to build only lrelease + lupdate + lconvert + +This is useful e.g. when cross compiling with OpenEmbedded where qtbase-native +is built without GUI support (no-png is set) and we still want to build +native lrelease + lupdate + lconvert tools. + +Upstream-Status: Pending + +Signed-off-by: Martin Jansa +--- + examples/examples.pro | 3 ++- + src/designer/src/src.pro | 18 ++++++++++-------- + src/linguist/linguist.pro | 2 +- + src/src.pro | 16 +++++++++------- + tests/auto/auto.pro | 24 +++++++++++++----------- + 5 files changed, 35 insertions(+), 28 deletions(-) + +diff --git a/examples/examples.pro b/examples/examples.pro +index 69365d1..da7b38b 100644 +--- a/examples/examples.pro ++++ b/examples/examples.pro +@@ -1,4 +1,5 @@ + TEMPLATE = subdirs +-qtHaveModule(widgets): SUBDIRS += help designer linguist uitools assistant ++!linguistonly:qtHaveModule(widgets): SUBDIRS += help designer assistant ++qtHaveModule(widgets): SUBDIRS += linguist uitools + + winrt: SUBDIRS -= assistant designer +diff --git a/src/designer/src/src.pro b/src/designer/src/src.pro +index 6915e34..3ff2eca 100644 +--- a/src/designer/src/src.pro ++++ b/src/designer/src/src.pro +@@ -1,13 +1,15 @@ + TEMPLATE = subdirs + +-SUBDIRS = \ +- uiplugin \ +- uitools \ +- lib \ +- components \ +- designer ++!linguistonly { ++ SUBDIRS = \ ++ uiplugin \ ++ lib \ ++ components \ ++ designer ++} ++SUBDIRS += uitools + +-contains(QT_CONFIG, shared): SUBDIRS += plugins ++!linguistonly:contains(QT_CONFIG, shared): SUBDIRS += plugins + + uitools.depends = uiplugin + lib.depends = uiplugin +@@ -15,7 +17,7 @@ components.depends = lib + designer.depends = components + plugins.depends = lib + +-qtNomakeTools( \ ++!linguistonly:qtNomakeTools( \ + lib \ + components \ + designer \ +diff --git a/src/linguist/linguist.pro b/src/linguist/linguist.pro +index 3a70580..a977878 100644 +--- a/src/linguist/linguist.pro ++++ b/src/linguist/linguist.pro +@@ -3,7 +3,7 @@ SUBDIRS = \ + lrelease \ + lupdate \ + lconvert +-!no-png:qtHaveModule(widgets): SUBDIRS += linguist ++!linguistonly:!no-png:qtHaveModule(widgets): SUBDIRS += linguist + + qtNomakeTools( \ + linguist \ +diff --git a/src/src.pro b/src/src.pro +index 387d54f..56b7d0c 100644 +--- a/src/src.pro ++++ b/src/src.pro +@@ -4,19 +4,21 @@ qtHaveModule(widgets) { + no-png { + message("Some graphics-related tools are unavailable without PNG support") + } else { +- SUBDIRS = assistant \ ++ !linguistonly { ++ SUBDIRS = assistant \ + pixeltool \ +- qtestlib \ +- designer ++ qtestlib ++ } ++ SUBDIRS += designer + + linguist.depends = designer + } + } + + SUBDIRS += linguist \ +- qdoc \ + qtplugininfo +-if(!android|android_app):!ios: SUBDIRS += qtpaths ++!linguistonly: SUBDIRS += qdoc ++if(!android|android_app):!ios:!linguistonly: SUBDIRS += qtpaths + + mac { + SUBDIRS += macdeployqt +@@ -26,11 +28,11 @@ android { + SUBDIRS += androiddeployqt + } + +-qtHaveModule(dbus): SUBDIRS += qdbus ++!linguistonly:qtHaveModule(dbus): SUBDIRS += qdbus + + win32|winrt:SUBDIRS += windeployqt + winrt:SUBDIRS += winrtrunner +-qtHaveModule(gui):!android:!ios:!qnx:!wince*:!winrt*:SUBDIRS += qtdiag ++!linguistonly:qtHaveModule(gui):!android:!ios:!qnx:!wince*:!winrt*:SUBDIRS += qtdiag + + qtNomakeTools( \ + pixeltool \ +diff --git a/tests/auto/auto.pro b/tests/auto/auto.pro +index 20b5fec..8a42d1f 100644 +--- a/tests/auto/auto.pro ++++ b/tests/auto/auto.pro +@@ -1,15 +1,17 @@ + TEMPLATE=subdirs +-SUBDIRS=\ +- linguist \ +- qhelpcontentmodel \ +- qhelpenginecore \ +- qhelpgenerator \ +- qhelpindexmodel \ +- qhelpprojectdata \ +- cmake \ +- installed_cmake \ +- qtdiag \ +- windeployqt ++!linguistonly { ++ SUBDIRS=\ ++ linguist \ ++ qhelpcontentmodel \ ++ qhelpenginecore \ ++ qhelpgenerator \ ++ qhelpindexmodel \ ++ qhelpprojectdata \ ++ cmake \ ++ installed_cmake \ ++ qtdiag \ ++ windeployqt ++} + + installed_cmake.depends = cmake + diff --git a/meta/recipes-qt/qt5/qttools/0001-add-noqtwebkit-configuration.patch b/meta/recipes-qt/qt5/qttools/0001-add-noqtwebkit-configuration.patch deleted file mode 100644 index 7a081a1cfe..0000000000 --- a/meta/recipes-qt/qt5/qttools/0001-add-noqtwebkit-configuration.patch +++ /dev/null @@ -1,48 +0,0 @@ -From 9557b7b0100c335b42503c3f3b6a9a193c3bf9cf Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Andreas=20M=C3=BCller?= -Date: Wed, 4 Jun 2014 11:28:16 +0200 -Subject: [PATCH] add noqtwebkit configuration -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Upstream-Status: Inappropiate [configuration] - -Signed-off-by: Andreas Müller -Signed-off-by: Martin Jansa ---- - src/assistant/assistant/assistant.pro | 4 ++-- - src/designer/src/plugins/plugins.pro | 2 +- - 2 files changed, 3 insertions(+), 3 deletions(-) - -diff --git a/src/assistant/assistant/assistant.pro b/src/assistant/assistant/assistant.pro -index 1374c07..28c45a2 100644 ---- a/src/assistant/assistant/assistant.pro -+++ b/src/assistant/assistant/assistant.pro -@@ -1,4 +1,4 @@ --qtHaveModule(webkitwidgets):!contains(QT_CONFIG, static) { -+qtHaveModule(webkitwidgets):!contains(QT_CONFIG, static):!contains(CONFIG, noqtwebkit) { - BROWSER = qtwebkit - } else { - BROWSER = qtextbrowser -@@ -75,7 +75,7 @@ SOURCES += aboutdialog.cpp \ - openpagesmanager.cpp \ - openpagesswitcher.cpp - --equals(BROWSER, "qtwebkit") { -+equals(BROWSER, "qtwebkit"):!contains(CONFIG, noqtwebkit) { - DEFINES += BROWSER_QTWEBKIT - QT += webkitwidgets - SOURCES += helpviewer_qwv.cpp -diff --git a/src/designer/src/plugins/plugins.pro b/src/designer/src/plugins/plugins.pro -index 500a153..b60fa2d 100644 ---- a/src/designer/src/plugins/plugins.pro -+++ b/src/designer/src/plugins/plugins.pro -@@ -1,6 +1,6 @@ - TEMPLATE = subdirs - - # qtHaveModule(opengl): SUBDIRS += tools/view3d --qtHaveModule(webkitwidgets): SUBDIRS += qwebview -+qtHaveModule(webkitwidgets):!contains(CONFIG, noqtwebkit): SUBDIRS += qwebview - win32: qtHaveModule(axcontainer): SUBDIRS += activeqt - qtHaveModule(quickwidgets): SUBDIRS += qquickwidget diff --git a/meta/recipes-qt/qt5/qttools/0002-assistant-help-fix-linking-of-dependent-libraries.patch b/meta/recipes-qt/qt5/qttools/0002-assistant-help-fix-linking-of-dependent-libraries.patch new file mode 100644 index 0000000000..57a995691c --- /dev/null +++ b/meta/recipes-qt/qt5/qttools/0002-assistant-help-fix-linking-of-dependent-libraries.patch @@ -0,0 +1,29 @@ +From 3e79a7ac0e1f77544283efe73baa98b2e205e7e0 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20M=C3=BCller?= +Date: Fri, 17 Jan 2014 14:33:19 +0100 +Subject: [PATCH] assistant/help: fix linking of dependent libraries +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +else we get: +| ...ld: warning: libQt5CLucene.so.5, needed by ...libQt5Help.so, not found (try using -rpath or -rpath-link) +| ...undefined reference to `QCLucenePhraseQuery::getTerms() const' + +Upstream-Status: Inappropriate [configuration] + +Signed-off-by: Andreas Müller +--- + src/assistant/help/help.pro | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/src/assistant/help/help.pro b/src/assistant/help/help.pro +index 37d5ba4..8de8763 100644 +--- a/src/assistant/help/help.pro ++++ b/src/assistant/help/help.pro +@@ -60,3 +60,5 @@ HEADERS += qhelpsearchindexwriter_clucene_p.h \ + qhelpsearchindexreader_clucene_p.h + + load(qt_module) ++ ++LIBS += -lQt5CLucene diff --git a/meta/recipes-qt/qt5/qttools/0002-linguist-tools-cmake-allow-overriding-the-location-f.patch b/meta/recipes-qt/qt5/qttools/0002-linguist-tools-cmake-allow-overriding-the-location-f.patch deleted file mode 100644 index a4909f75fd..0000000000 --- a/meta/recipes-qt/qt5/qttools/0002-linguist-tools-cmake-allow-overriding-the-location-f.patch +++ /dev/null @@ -1,60 +0,0 @@ -From a260d3a5b1664027e09c7de368ee5e94d22ff8bf Mon Sep 17 00:00:00 2001 -From: Cody P Schafer -Date: Thu, 9 Jul 2015 11:28:19 -0400 -Subject: [PATCH] linguist-tools cmake: allow overriding the location for - lupdate and lrelease - ---- - src/linguist/Qt5LinguistToolsConfig.cmake.in | 15 +++------------ - 1 file changed, 3 insertions(+), 12 deletions(-) - -diff --git a/src/linguist/Qt5LinguistToolsConfig.cmake.in b/src/linguist/Qt5LinguistToolsConfig.cmake.in -index 4318b16..2e3b70f 100644 ---- a/src/linguist/Qt5LinguistToolsConfig.cmake.in -+++ b/src/linguist/Qt5LinguistToolsConfig.cmake.in -@@ -26,6 +26,9 @@ get_filename_component(_qt5_linguisttools_install_prefix \"${CMAKE_CURRENT_LIST_ - !!ELSE - set(_qt5_linguisttools_install_prefix \"$$[QT_INSTALL_PREFIX]\") - !!ENDIF -+if (OE_QMAKE_PATH_HOST_PREFIX) -+ set(_qt5_linguisttools_install_prefix \"${OE_QMAKE_PATH_HOST_PREFIX}\") -+endif() - - macro(_qt5_LinguistTools_check_file_exists file) - if(NOT EXISTS \"${file}\" ) -@@ -44,11 +47,7 @@ endmacro() - if (NOT TARGET Qt5::lrelease) - add_executable(Qt5::lrelease IMPORTED) - --!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE) - set(imported_location \"${_qt5_linguisttools_install_prefix}/$${CMAKE_BIN_DIR}lrelease$$CMAKE_BIN_SUFFIX\") --!!ELSE -- set(imported_location \"$${CMAKE_BIN_DIR}lrelease$$CMAKE_BIN_SUFFIX\") --!!ENDIF - _qt5_LinguistTools_check_file_exists(${imported_location}) - - set_target_properties(Qt5::lrelease PROPERTIES -@@ -59,11 +58,7 @@ endif() - if (NOT TARGET Qt5::lupdate) - add_executable(Qt5::lupdate IMPORTED) - --!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE) - set(imported_location \"${_qt5_linguisttools_install_prefix}/$${CMAKE_BIN_DIR}lupdate$$CMAKE_BIN_SUFFIX\") --!!ELSE -- set(imported_location \"$${CMAKE_BIN_DIR}lupdate$$CMAKE_BIN_SUFFIX\") --!!ENDIF - _qt5_LinguistTools_check_file_exists(${imported_location}) - - set_target_properties(Qt5::lupdate PROPERTIES -@@ -74,11 +69,7 @@ endif() - if (NOT TARGET Qt5::lconvert) - add_executable(Qt5::lconvert IMPORTED) - --!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE) - set(imported_location \"${_qt5_linguisttools_install_prefix}/$${CMAKE_BIN_DIR}lconvert$$CMAKE_BIN_SUFFIX\") --!!ELSE -- set(imported_location \"$${CMAKE_BIN_DIR}lconvert$$CMAKE_BIN_SUFFIX\") --!!ENDIF - _qt5_LinguistTools_check_file_exists(${imported_location}) - - set_target_properties(Qt5::lconvert PROPERTIES diff --git a/meta/recipes-qt/qt5/qttools/0003-add-noqtwebkit-configuration.patch b/meta/recipes-qt/qt5/qttools/0003-add-noqtwebkit-configuration.patch new file mode 100644 index 0000000000..1c6d8b82aa --- /dev/null +++ b/meta/recipes-qt/qt5/qttools/0003-add-noqtwebkit-configuration.patch @@ -0,0 +1,48 @@ +From 8058b3f26003a3fae25db08694ee0fe671c96bc5 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20M=C3=BCller?= +Date: Wed, 4 Jun 2014 11:28:16 +0200 +Subject: [PATCH] add noqtwebkit configuration +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Upstream-Status: Inappropiate [configuration] + +Signed-off-by: Andreas Müller +Signed-off-by: Martin Jansa +--- + src/assistant/assistant/assistant.pro | 4 ++-- + src/designer/src/plugins/plugins.pro | 2 +- + 2 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/src/assistant/assistant/assistant.pro b/src/assistant/assistant/assistant.pro +index ef5c595..9c2dc1c 100644 +--- a/src/assistant/assistant/assistant.pro ++++ b/src/assistant/assistant/assistant.pro +@@ -1,4 +1,4 @@ +-qtHaveModule(webkitwidgets):!contains(QT_CONFIG, static) { ++qtHaveModule(webkitwidgets):!contains(QT_CONFIG, static):!contains(CONFIG, noqtwebkit) { + BROWSER = qtwebkit + } else { + BROWSER = qtextbrowser +@@ -75,7 +75,7 @@ SOURCES += aboutdialog.cpp \ + openpagesmanager.cpp \ + openpagesswitcher.cpp + +-equals(BROWSER, "qtwebkit") { ++equals(BROWSER, "qtwebkit"):!contains(CONFIG, noqtwebkit) { + DEFINES += BROWSER_QTWEBKIT + QT += webkitwidgets + SOURCES += helpviewer_qwv.cpp +diff --git a/src/designer/src/plugins/plugins.pro b/src/designer/src/plugins/plugins.pro +index 500a153..b60fa2d 100644 +--- a/src/designer/src/plugins/plugins.pro ++++ b/src/designer/src/plugins/plugins.pro +@@ -1,6 +1,6 @@ + TEMPLATE = subdirs + + # qtHaveModule(opengl): SUBDIRS += tools/view3d +-qtHaveModule(webkitwidgets): SUBDIRS += qwebview ++qtHaveModule(webkitwidgets):!contains(CONFIG, noqtwebkit): SUBDIRS += qwebview + win32: qtHaveModule(axcontainer): SUBDIRS += activeqt + qtHaveModule(quickwidgets): SUBDIRS += qquickwidget diff --git a/meta/recipes-qt/qt5/qttools/0004-linguist-tools-cmake-allow-overriding-the-location-f.patch b/meta/recipes-qt/qt5/qttools/0004-linguist-tools-cmake-allow-overriding-the-location-f.patch new file mode 100644 index 0000000000..440539d5b2 --- /dev/null +++ b/meta/recipes-qt/qt5/qttools/0004-linguist-tools-cmake-allow-overriding-the-location-f.patch @@ -0,0 +1,60 @@ +From 1c5dd153433fed55e70ef208a3068075fa38f006 Mon Sep 17 00:00:00 2001 +From: Cody P Schafer +Date: Thu, 9 Jul 2015 11:28:19 -0400 +Subject: [PATCH] linguist-tools cmake: allow overriding the location for + lupdate and lrelease + +--- + src/linguist/Qt5LinguistToolsConfig.cmake.in | 15 +++------------ + 1 file changed, 3 insertions(+), 12 deletions(-) + +diff --git a/src/linguist/Qt5LinguistToolsConfig.cmake.in b/src/linguist/Qt5LinguistToolsConfig.cmake.in +index 4318b16..2e3b70f 100644 +--- a/src/linguist/Qt5LinguistToolsConfig.cmake.in ++++ b/src/linguist/Qt5LinguistToolsConfig.cmake.in +@@ -26,6 +26,9 @@ get_filename_component(_qt5_linguisttools_install_prefix \"${CMAKE_CURRENT_LIST_ + !!ELSE + set(_qt5_linguisttools_install_prefix \"$$[QT_INSTALL_PREFIX]\") + !!ENDIF ++if (OE_QMAKE_PATH_HOST_PREFIX) ++ set(_qt5_linguisttools_install_prefix \"${OE_QMAKE_PATH_HOST_PREFIX}\") ++endif() + + macro(_qt5_LinguistTools_check_file_exists file) + if(NOT EXISTS \"${file}\" ) +@@ -44,11 +47,7 @@ endmacro() + if (NOT TARGET Qt5::lrelease) + add_executable(Qt5::lrelease IMPORTED) + +-!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE) + set(imported_location \"${_qt5_linguisttools_install_prefix}/$${CMAKE_BIN_DIR}lrelease$$CMAKE_BIN_SUFFIX\") +-!!ELSE +- set(imported_location \"$${CMAKE_BIN_DIR}lrelease$$CMAKE_BIN_SUFFIX\") +-!!ENDIF + _qt5_LinguistTools_check_file_exists(${imported_location}) + + set_target_properties(Qt5::lrelease PROPERTIES +@@ -59,11 +58,7 @@ endif() + if (NOT TARGET Qt5::lupdate) + add_executable(Qt5::lupdate IMPORTED) + +-!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE) + set(imported_location \"${_qt5_linguisttools_install_prefix}/$${CMAKE_BIN_DIR}lupdate$$CMAKE_BIN_SUFFIX\") +-!!ELSE +- set(imported_location \"$${CMAKE_BIN_DIR}lupdate$$CMAKE_BIN_SUFFIX\") +-!!ENDIF + _qt5_LinguistTools_check_file_exists(${imported_location}) + + set_target_properties(Qt5::lupdate PROPERTIES +@@ -74,11 +69,7 @@ endif() + if (NOT TARGET Qt5::lconvert) + add_executable(Qt5::lconvert IMPORTED) + +-!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE) + set(imported_location \"${_qt5_linguisttools_install_prefix}/$${CMAKE_BIN_DIR}lconvert$$CMAKE_BIN_SUFFIX\") +-!!ELSE +- set(imported_location \"$${CMAKE_BIN_DIR}lconvert$$CMAKE_BIN_SUFFIX\") +-!!ENDIF + _qt5_LinguistTools_check_file_exists(${imported_location}) + + set_target_properties(Qt5::lconvert PROPERTIES diff --git a/meta/recipes-qt/qt5/qttools/run-ptest b/meta/recipes-qt/qt5/qttools/run-ptest deleted file mode 100644 index 5cd5e27eb4..0000000000 --- a/meta/recipes-qt/qt5/qttools/run-ptest +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh - -./tst_qtdiag -./tst_qtattributionsscanner diff --git a/meta/recipes-qt/qt5/qttools_git.bb b/meta/recipes-qt/qt5/qttools_git.bb index df15d88b11..1c8be91f4e 100644 --- a/meta/recipes-qt/qt5/qttools_git.bb +++ b/meta/recipes-qt/qt5/qttools_git.bb @@ -1,41 +1,38 @@ require qt5.inc require qt5-git.inc -require qt5-ptest.inc -HOMEPAGE = "http://www.qt.io" -LICENSE = "GFDL-1.3 & BSD & ( GPL-3.0 & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( GPL-2.0+ | LGPL-3.0 | The-Qt-Company-Commercial )" +LICENSE = "GFDL-1.3 & BSD & (LGPL-2.1 & The-Qt-Company-Qt-LGPL-Exception-1.1 | LGPL-3.0)" LIC_FILES_CHKSUM = " \ - file://LICENSE.LGPL3;md5=e6a600fd5e1d9cbde2d983680233ad02 \ - file://LICENSE.GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ - file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504 \ - file://LICENSE.GPL3-EXCEPT;md5=763d8c535a234d9a3fb682c7ecb6c073 \ + file://LICENSE.LGPLv21;md5=fb91571854638f10b2e5f36562661a5a \ + file://LICENSE.LGPLv3;md5=a909b94c1c9674b2aa15ff03a86f518a \ + file://LICENSE.GPLv3;md5=bfdd8aa675169432d6d9b63d056de148 \ + file://LGPL_EXCEPTION.txt;md5=9625233da42f9e0ce9d63651a9d97654 \ file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e \ " DEPENDS += "qtbase qtdeclarative qtxmlpatterns" -# Patches from https://github.com/meta-qt5/qttools/commits/b5.10 -# 5.10.meta-qt5.2 +# Patches from https://github.com/meta-qt5/qttools/commits/b5.6 +# 5.6.meta-qt5.1 SRC_URI += " \ - file://0001-add-noqtwebkit-configuration.patch \ - file://0002-linguist-tools-cmake-allow-overriding-the-location-f.patch \ + file://0001-Allow-to-build-only-lrelease-lupdate-lconvert.patch \ + file://0002-assistant-help-fix-linking-of-dependent-libraries.patch \ + file://0003-add-noqtwebkit-configuration.patch \ + file://0004-linguist-tools-cmake-allow-overriding-the-location-f.patch \ " FILES_${PN}-tools += "${datadir}${QT_DIR_NAME}/phrasebooks" FILES_${PN}-examples = "${datadir}${QT_DIR_NAME}/examples" PACKAGECONFIG ??= "" +PACKAGECONFIG_class-native ??= "linguistonly" +PACKAGECONFIG_class-nativesdk ??= "linguistonly" +PACKAGECONFIG[linguistonly] = "" PACKAGECONFIG[qtwebkit] = ",,qtwebkit" EXTRA_QMAKEVARS_PRE += "${@bb.utils.contains('PACKAGECONFIG', 'qtwebkit', '', 'CONFIG+=noqtwebkit', d)}" +EXTRA_QMAKEVARS_PRE += "${@bb.utils.contains('PACKAGECONFIG', 'linguistonly', 'CONFIG+=linguistonly', '', d)}" -SRCREV = "03ebf1c3d6ceae715c696a171920a0204c58dd0a" +SRCREV = "56dbabb7a64a4d416e8cf7b61e068208fd032355" BBCLASSEXTEND = "native nativesdk" - -do_install_ptest() { - mkdir -p ${D}${PTEST_PATH} - t=${D}${PTEST_PATH} - cp ${B}/tests/auto/qtdiag/tst_tdiag $t - cp ${B}/tests/auto/qtattributionsscanner/tst_qtattributionsscanner $t -} diff --git a/meta/recipes-qt/qt5/qttranslations_git.bb b/meta/recipes-qt/qt5/qttranslations_git.bb index a8c7166865..99aac0159a 100644 --- a/meta/recipes-qt/qt5/qttranslations_git.bb +++ b/meta/recipes-qt/qt5/qttranslations_git.bb @@ -1,9 +1,12 @@ require qt5.inc require qt5-git.inc -LICENSE = "GPL-3.0 & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial" +LICENSE = "(LGPL-2.1 & The-Qt-Company-Qt-LGPL-Exception-1.1 | LGPL-3.0)" LIC_FILES_CHKSUM = " \ - file://LICENSE.GPL3-EXCEPT;md5=763d8c535a234d9a3fb682c7ecb6c073 \ + file://LICENSE.LGPLv21;md5=4bfd28363f541b10d9f024181b8df516 \ + file://LICENSE.LGPLv3;md5=e0459b45c5c4840b353141a8bbed91f0 \ + file://LICENSE.GPLv3;md5=88e2b9117e6be406b5ed6ee4ca99a705 \ + file://LGPL_EXCEPTION.txt;md5=9625233da42f9e0ce9d63651a9d97654 \ " DEPENDS += "qtbase qttools-native" @@ -22,6 +25,7 @@ PACKAGES =. " \ ${PN}-qtwebsockets \ ${PN}-qtwebengine \ ${PN}-qtxmlpatterns \ + ${PN}-qtconfig \ ${PN}-qtquick1 \ ${PN}-qtscript \ ${PN}-qtserialport \ @@ -82,6 +86,10 @@ FILES_${PN}-qtxmlpatterns = " \ ${OE_QMAKE_PATH_TRANSLATIONS}/qtxmlpatterns_*.qm \ " +FILES_${PN}-qtconfig = " \ + ${OE_QMAKE_PATH_TRANSLATIONS}/qtconfig_*.qm \ +" + FILES_${PN}-qtquick1 = " \ ${OE_QMAKE_PATH_TRANSLATIONS}/qtquick1_*.qm \ " @@ -106,4 +114,4 @@ FILES_${PN}-qt = " \ ${OE_QMAKE_PATH_TRANSLATIONS}/qt_*.qm \ " -SRCREV = "c3486e072ebc704f9c82c005044143b07bb88f12" +SRCREV = "df316bf7e6508ae1360247feb08780a77ea4210e" diff --git a/meta/recipes-qt/qt5/qtvirtualkeyboard/0001-include-sys-time.h-for-timeval.patch b/meta/recipes-qt/qt5/qtvirtualkeyboard/0001-include-sys-time.h-for-timeval.patch deleted file mode 100644 index 1e50d5ad87..0000000000 --- a/meta/recipes-qt/qt5/qtvirtualkeyboard/0001-include-sys-time.h-for-timeval.patch +++ /dev/null @@ -1,25 +0,0 @@ -From d479fe395566ed84cde2579011e2ca2358f22c41 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Wed, 12 Jul 2017 23:59:52 -0700 -Subject: [PATCH] include sys/time.h for timeval - -Musl exposes this issue since its not indirectly -including sys/time.h like glibc - -Signed-off-by: Khem Raj ---- - src/virtualkeyboard/3rdparty/pinyin/include/userdict.h | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/virtualkeyboard/3rdparty/pinyin/include/userdict.h b/src/virtualkeyboard/3rdparty/pinyin/include/userdict.h -index 1b9673f..924be7b 100644 ---- a/src/virtualkeyboard/3rdparty/pinyin/include/userdict.h -+++ b/src/virtualkeyboard/3rdparty/pinyin/include/userdict.h -@@ -24,6 +24,7 @@ - // Debug performance for operations - // #define ___DEBUG_PERF___ - -+#include - #ifdef _WIN32 - #include // timeval - #else diff --git a/meta/recipes-qt/qt5/qtvirtualkeyboard_git.bb b/meta/recipes-qt/qt5/qtvirtualkeyboard_git.bb deleted file mode 100644 index 0029170fd3..0000000000 --- a/meta/recipes-qt/qt5/qtvirtualkeyboard_git.bb +++ /dev/null @@ -1,56 +0,0 @@ -require qt5.inc -require qt5-git.inc - -LICENSE = "GPL-3.0 | The-Qt-Company-Commercial" -LIC_FILES_CHKSUM = " \ - file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504 \ -" - -# Patches from https://github.com/meta-qt5/qtvirtualkeyboard/commits/b5.10 -# 5.10.meta-qt5.2 -SRC_URI += "file://0001-include-sys-time.h-for-timeval.patch" - -# To enabled Nuance T9 Write support, you need to provide the licensed components -# and enable "t9write" in PACKAGECONFIG. This can be done in a separate .bbappend file. -# for example: -#T9WRITEPACKAGE = "${HOME}/Downloads/zzEval_QT_T9Write_Alpha_v750_20150916.zip" -#SRC_URI += "file://${T9WRITEPACKAGE};subdir=git/src/virtualkeyboard/3rdparty/t9write" -#PACKAGECONFIG = "t9write lang-all" - -PACKAGECONFIG ?= "lang-all lipi-toolkit" -PACKAGECONFIG[hunspell] = ",CONFIG+=disable-hunspell,hunspell" -PACKAGECONFIG[t9write] = "CONFIG+=t9write" -PACKAGECONFIG[lipi-toolkit] = "CONFIG+=lipi-toolkit" -PACKAGECONFIG[lang-all] = "CONFIG+=lang-all" -PACKAGECONFIG[lang-ar_AR] = "CONFIG+=lang-ar_AR" -PACKAGECONFIG[lang-da_DK] = "CONFIG+=lang-da_DK" -PACKAGECONFIG[lang-de_DE] = "CONFIG+=lang-de_DE" -PACKAGECONFIG[lang-en_GB] = "CONFIG+=lang-en_GB" -PACKAGECONFIG[lang-es_ES] = "CONFIG+=lang-es_ES" -PACKAGECONFIG[lang-fa_FA] = "CONFIG+=lang-fa_FA" -PACKAGECONFIG[lang-fi_FI] = "CONFIG+=lang-fi_FI" -PACKAGECONFIG[lang-fr_FR] = "CONFIG+=lang-fr_FR" -PACKAGECONFIG[lang-hi_IN] = "CONFIG+=lang-hi_IN" -PACKAGECONFIG[lang-it_IT] = "CONFIG+=lang-it_IT" -PACKAGECONFIG[lang-ja_JP] = "CONFIG+=lang-ja_JP" -PACKAGECONFIG[lang-ko_KR] = "CONFIG+=lang-ko_KR" -PACKAGECONFIG[lang-nb_NO] = "CONFIG+=lang-nb_NO" -PACKAGECONFIG[lang-pl_PL] = "CONFIG+=lang-pl_PL" -PACKAGECONFIG[lang-pt_PT] = "CONFIG+=lang-pt_PT" -PACKAGECONFIG[lang-ro_RO] = "CONFIG+=lang-ro_RO" -PACKAGECONFIG[lang-ru_RU] = "CONFIG+=lang-ru_RU" -PACKAGECONFIG[lang-sv_SE] = "CONFIG+=lang-sv_SE" -PACKAGECONFIG[lang-zh_CN] = "CONFIG+=lang-zh_CN" -PACKAGECONFIG[lang-zh_TW] = "CONFIG+=lang-zh_TW" - -EXTRA_QMAKEVARS_PRE += "${PACKAGECONFIG_CONFARGS}" -EXTRA_QMAKEVARS_PRE += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', '', 'CONFIG+=disable-desktop', d)}" - -PACKAGES += "${PN}-dictionaries" -RRECOMMENDS_${PN} += "${PN}-dictionaries" -FILES_${PN}-dictionaries = "${OE_QMAKE_PATH_DATA}/qtvirtualkeyboard/*/*.dat" -FILES_${PN} += "${OE_QMAKE_PATH_DATA}/qtvirtualkeyboard/lipi_toolkit" - -DEPENDS += "qtbase qtdeclarative qtmultimedia qtquickcontrols qtsvg qtxmlpatterns" - -SRCREV = "85d35bb12235dd6b92c898ddb6d6e84703d25d48" diff --git a/meta/recipes-qt/qt5/qtwayland-native_git.bb b/meta/recipes-qt/qt5/qtwayland-native_git.bb new file mode 100644 index 0000000000..4a4c605f8a --- /dev/null +++ b/meta/recipes-qt/qt5/qtwayland-native_git.bb @@ -0,0 +1,30 @@ +require qt5-native.inc +require qt5-git.inc + +# There are no LGPLv3-only licensed files in this component. +LICENSE = "BSD & (LGPL-2.1 & The-Qt-Company-Qt-LGPL-Exception-1.1 | LGPL-3.0)" +LIC_FILES_CHKSUM = " \ + file://LICENSE.LGPLv21;md5=4bfd28363f541b10d9f024181b8df516 \ + file://LICENSE.LGPLv3;md5=e0459b45c5c4840b353141a8bbed91f0 \ + file://LICENSE.GPLv3;md5=88e2b9117e6be406b5ed6ee4ca99a705 \ + file://LGPL_EXCEPTION.txt;md5=9625233da42f9e0ce9d63651a9d97654 \ + file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e \ +" + +DEPENDS = "qtbase-native wayland-native" + +# Patches from https://github.com/meta-qt5/qtwayland/commits/b5.6-native +# 5.6.meta-qt5-native.1 +SRC_URI += " \ + file://0001-Install-the-qtwaylandscanner-tool-to-the-native-side.patch \ +" + +do_configure() { + ${OE_QMAKE_QMAKE} ${OE_QMAKE_DEBUG_OUTPUT} -r ${S}/src/qtwaylandscanner +} + +do_install() { + oe_runmake install INSTALL_ROOT=${D} +} + +SRCREV = "70575643cfece4f0aca4b40e77ac5d7c0e8042a2" diff --git a/meta/recipes-qt/qt5/qtwayland/0001-Install-the-qtwaylandscanner-tool-to-the-native-side.patch b/meta/recipes-qt/qt5/qtwayland/0001-Install-the-qtwaylandscanner-tool-to-the-native-side.patch new file mode 100644 index 0000000000..078f2ac4a6 --- /dev/null +++ b/meta/recipes-qt/qt5/qtwayland/0001-Install-the-qtwaylandscanner-tool-to-the-native-side.patch @@ -0,0 +1,29 @@ +From 07ec1f1728be3dff2f93f939065b7fb58f1df434 Mon Sep 17 00:00:00 2001 +From: Simon Busch +Date: Fri, 19 Jul 2013 13:35:14 +0000 +Subject: [PATCH] Install the qtwaylandscanner tool to the native side + +Upstream-Status: Inappropiate [configuration] + +Signed-off-by: Simon Busch +--- + src/qtwaylandscanner/qtwaylandscanner.pro | 8 ++++++-- + 1 file changed, 6 insertions(+), 2 deletions(-) + +diff --git a/src/qtwaylandscanner/qtwaylandscanner.pro b/src/qtwaylandscanner/qtwaylandscanner.pro +index ac2d07b..7a46a24 100644 +--- a/src/qtwaylandscanner/qtwaylandscanner.pro ++++ b/src/qtwaylandscanner/qtwaylandscanner.pro +@@ -1,6 +1,10 @@ + option(host_build) + +-SOURCES += qtwaylandscanner.cpp ++TARGET = qtwaylandscanner$$qtPlatformTargetSuffix() ++CONFIG += console warn_off ++QT = core + +-load(qt_tool) ++SOURCES += qtwaylandscanner.cpp + ++target.path = $$[QT_HOST_BINS] ++INSTALLS += target diff --git a/meta/recipes-qt/qt5/qtwayland/0001-examples-wayland-include-server-buffer-only-when-bui.patch b/meta/recipes-qt/qt5/qtwayland/0001-examples-wayland-include-server-buffer-only-when-bui.patch new file mode 100644 index 0000000000..5ea0bdafa5 --- /dev/null +++ b/meta/recipes-qt/qt5/qtwayland/0001-examples-wayland-include-server-buffer-only-when-bui.patch @@ -0,0 +1,28 @@ +From a714384fa9bba88d2536d644121587ca06fc010c Mon Sep 17 00:00:00 2001 +From: Martin Jansa +Date: Sat, 22 Feb 2014 17:47:44 +0100 +Subject: [PATCH] examples/wayland: include server-buffer only when building + with opengles2 + +* it's using glBindBuffer in + server-buffer/client/serverbufferrenderer.cpp + +Change-Id: I8412dfd4ebb95c147328ac6e4dfff14a0cff4e78 +Signed-off-by: Martin Jansa +--- + examples/wayland/wayland.pro | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/examples/wayland/wayland.pro b/examples/wayland/wayland.pro +index d633fb9..643c7cd 100644 +--- a/examples/wayland/wayland.pro ++++ b/examples/wayland/wayland.pro +@@ -9,5 +9,7 @@ contains(CONFIG, wayland-compositor) { + SUBDIRS += qml-compositor + } + +- SUBDIRS += server-buffer ++ contains(QT_CONFIG, opengles2) { ++ SUBDIRS += server-buffer ++ } + } diff --git a/meta/recipes-qt/qt5/qtwayland/0001-fix-build-without-xkbcommon-evdev.patch b/meta/recipes-qt/qt5/qtwayland/0001-fix-build-without-xkbcommon-evdev.patch deleted file mode 100644 index 04ae7e0e87..0000000000 --- a/meta/recipes-qt/qt5/qtwayland/0001-fix-build-without-xkbcommon-evdev.patch +++ /dev/null @@ -1,68 +0,0 @@ -From e41bc392aa79073926aba917796e836f5b0d9f32 Mon Sep 17 00:00:00 2001 -From: Raphael Freudiger -Date: Tue, 10 Jan 2017 15:49:55 +0100 -Subject: [PATCH] fix build without xkbcommon-evdev -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Change-Id: I4f52c4ad741fdd7063a18b67f5777b52f03726fe -Signed-off-by: Raphael Freudiger -Signed-off-by: Gordan Markuš ---- - src/client/client.pro | 2 ++ - src/compositor/compositor.pro | 2 ++ - src/compositor/compositor_api/qwaylandkeyboard.cpp | 13 +++++++------ - 3 files changed, 11 insertions(+), 6 deletions(-) - -diff --git a/src/client/client.pro b/src/client/client.pro -index eae7ad5..0bb7b18 100644 ---- a/src/client/client.pro -+++ b/src/client/client.pro -@@ -147,3 +147,5 @@ MODULE_PLUGIN_TYPES = \ - wayland-decoration-client \ - wayland-shell-integration - load(qt_module) -+ -+LIBS += -lxkbcommon -diff --git a/src/compositor/compositor.pro b/src/compositor/compositor.pro -index dc9000d..4eebfd6 100644 ---- a/src/compositor/compositor.pro -+++ b/src/compositor/compositor.pro -@@ -32,3 +32,5 @@ include ($$PWD/extensions/extensions.pri) - MODULE_PLUGIN_TYPES = \ - wayland-graphics-integration-server - load(qt_module) -+ -+LIBS += -lxkbcommon -diff --git a/src/compositor/compositor_api/qwaylandkeyboard.cpp b/src/compositor/compositor_api/qwaylandkeyboard.cpp -index c30f7b1..e6f1a0b 100644 ---- a/src/compositor/compositor_api/qwaylandkeyboard.cpp -+++ b/src/compositor/compositor_api/qwaylandkeyboard.cpp -@@ -349,12 +349,6 @@ void QWaylandKeyboardPrivate::createXKBState(xkb_keymap *keymap) - xkb_state = xkb_state_new(keymap); - } - --uint QWaylandKeyboardPrivate::toWaylandXkbV1Key(const uint nativeScanCode) --{ -- const uint offset = 8; -- Q_ASSERT(nativeScanCode >= offset); -- return nativeScanCode - offset; --} - - void QWaylandKeyboardPrivate::createXKBKeymap() - { -@@ -384,6 +378,13 @@ void QWaylandKeyboardPrivate::createXKBKeymap() - } - #endif - -+uint QWaylandKeyboardPrivate::toWaylandXkbV1Key(const uint nativeScanCode) -+{ -+ const uint offset = 8; -+ Q_ASSERT(nativeScanCode >= offset); -+ return nativeScanCode - offset; -+} -+ - void QWaylandKeyboardPrivate::sendRepeatInfo() - { - Q_FOREACH (Resource *resource, resourceMap()) { diff --git a/meta/recipes-qt/qt5/qtwayland_git.bb b/meta/recipes-qt/qt5/qtwayland_git.bb index 91ffcd771b..2934e3ade4 100644 --- a/meta/recipes-qt/qt5/qtwayland_git.bb +++ b/meta/recipes-qt/qt5/qtwayland_git.bb @@ -1,53 +1,41 @@ require qt5.inc require qt5-git.inc -DEPENDS += "qtbase qtdeclarative wayland wayland-native qtwayland-native" -DEPENDS_append_class-target = " libxkbcommon" - -LICENSE = "GFDL-1.3 & BSD & ( GPL-3.0 & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( GPL-2.0+ | LGPL-3.0 | The-Qt-Company-Commercial )" +# There are no LGPLv3-only licensed files in this component. +LICENSE = "BSD & (LGPL-2.1 & The-Qt-Company-Qt-LGPL-Exception-1.1 | LGPL-3.0)" LIC_FILES_CHKSUM = " \ - file://LICENSE.LGPL3;md5=e6a600fd5e1d9cbde2d983680233ad02 \ - file://LICENSE.GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ - file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504 \ - file://LICENSE.GPL3-EXCEPT;md5=763d8c535a234d9a3fb682c7ecb6c073 \ + file://LICENSE.LGPLv21;md5=4bfd28363f541b10d9f024181b8df516 \ + file://LICENSE.LGPLv3;md5=e0459b45c5c4840b353141a8bbed91f0 \ + file://LICENSE.GPLv3;md5=88e2b9117e6be406b5ed6ee4ca99a705 \ + file://LGPL_EXCEPTION.txt;md5=9625233da42f9e0ce9d63651a9d97654 \ file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e \ " -PACKAGECONFIG ?= " \ - wayland-client \ - wayland-server \ - wayland-egl \ - ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'xcomposite-egl xcomposite-glx', '', d)} \ +# wayland-native is already in wayland DEPENDS, but add it here +# explicitly, because it's native wayland-scanner we're looking for +# libxkbcommon isn't mandatory make it easier to remove by .bbappend +# (e.g. for building qtwayland with danny which doesn't have libxkbcommon in oe-core). +XKB_DEPENDS = "libxkbcommon xproto" +DEPENDS += "qtbase qtdeclarative wayland wayland-native qtwayland-native ${XKB_DEPENDS}" + +QT_WAYLAND_CONFIG ?= "wayland-compositor" +QT_WAYLAND_DEFINES ?= "" + +EXTRA_QMAKEVARS_PRE += "CONFIG+=${QT_WAYLAND_CONFIG}" +EXTRA_QMAKEVARS_PRE += "DEFINES+=${QT_WAYLAND_DEFINES}" + +FILES_${PN}-plugins += " \ + ${OE_QMAKE_PATH_PLUGINS}/*/*/*${SOLIBSDEV} \ +" + +FILES_${PN}-plugins-dbg += " \ + ${OE_QMAKE_PATH_PLUGINS}/*/*/.debug/* \ " -PACKAGECONFIG_class-native ?= "" -PACKAGECONFIG_class-nativesdk ?= "" -QMAKE_PROFILES_class-native = "${S}/src/qtwaylandscanner" -QMAKE_PROFILES_class-nativesdk = "${S}/src/qtwaylandscanner" -B_class-native = "${SEPB}/src/qtwaylandscanner" -B_class-nativesdk = "${SEPB}/src/qtwaylandscanner" - -PACKAGECONFIG[wayland-client] = "-feature-wayland-client,-no-feature-wayland-client" -PACKAGECONFIG[wayland-server] = "-feature-wayland-server,-no-feature-wayland-server" -PACKAGECONFIG[xcomposite-egl] = "-feature-xcomposite-egl,-no-feature-xcomposite-egl,libxcomposite" -PACKAGECONFIG[xcomposite-glx] = "-feature-xcomposite-glx,-no-feature-xcomposite-glx,virtual/mesa" -PACKAGECONFIG[wayland-egl] = "-feature-wayland-egl,-no-feature-wayland-egl,virtual/egl" -PACKAGECONFIG[wayland-brcm] = "-feature-wayland-brcm,-no-feature-wayland-brcm,virtual/egl" -PACKAGECONFIG[drm-egl-server] = "-feature-drm-egl-server,-no-feature-drm-egl-server,libdrm virtual/egl" -PACKAGECONFIG[libhybris-egl-server] = "-feature-libhybris-egl-server,-no-feature-libhybris-egl-server,libhybris" - -EXTRA_QMAKEVARS_CONFIGURE += "${PACKAGECONFIG_CONFARGS}" - -SRCREV = "db36bc0d9ccae21e84cd54be3e18ae539542eadc" - -# Patches from https://github.com/meta-qt5/qtwayland/commits/b5.10 -# 5.10.meta-qt5.2 -# From https://bugreports.qt.io/browse/QTBUG-57767 + +# Patches from https://github.com/meta-qt5/qtwayland/commits/b5.6 +# 5.6.meta-qt5.1 SRC_URI += " \ - file://0001-fix-build-without-xkbcommon-evdev.patch \ + file://0001-examples-wayland-include-server-buffer-only-when-bui.patch \ " -BBCLASSEXTEND =+ "native nativesdk" - -# The same issue as in qtbase: -# http://errors.yoctoproject.org/Errors/Details/152641/ -LDFLAGS_append_x86 = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}" +SRCREV = "70575643cfece4f0aca4b40e77ac5d7c0e8042a2" diff --git a/meta/recipes-qt/qt5/qtwebchannel_git.bb b/meta/recipes-qt/qt5/qtwebchannel_git.bb index 2b4a4875c7..81f409cbaf 100644 --- a/meta/recipes-qt/qt5/qtwebchannel_git.bb +++ b/meta/recipes-qt/qt5/qtwebchannel_git.bb @@ -1,15 +1,18 @@ require qt5.inc require qt5-git.inc -LICENSE = "GFDL-1.3 & BSD & ( GPL-3.0 & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( GPL-2.0+ | LGPL-3.0 | The-Qt-Company-Commercial )" +# There are no LGPLv3-only licensed files in this component. +# There are no GPLv2 licensed files in this component. +LICENSE = "GFDL-1.3 & BSD & (LGPL-2.1 & The-Qt-Company-Qt-LGPL-Exception-1.1 | LGPL-3.0)" LIC_FILES_CHKSUM = " \ + file://LICENSE.LGPLv21;md5=4bfd28363f541b10d9f024181b8df516 \ + file://LICENSE.LGPLv3;md5=e0459b45c5c4840b353141a8bbed91f0 \ + file://LICENSE.GPLv2;md5=c96076271561b0e3785dad260634eaa8 \ + file://LICENSE.GPLv3;md5=88e2b9117e6be406b5ed6ee4ca99a705 \ + file://LGPL_EXCEPTION.txt;md5=9625233da42f9e0ce9d63651a9d97654 \ file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e \ - file://LICENSE.GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ - file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504 \ - file://LICENSE.GPL3-EXCEPT;md5=763d8c535a234d9a3fb682c7ecb6c073 \ - file://LICENSE.LGPL3;md5=e6a600fd5e1d9cbde2d983680233ad02 \ " DEPENDS += "qtdeclarative qtwebsockets" -SRCREV = "7540a85c82cd940b7da3ea75eccad7e733bd0ae6" +SRCREV = "065afc22e9cc61364968aafc74ff2ca4524fab56" diff --git a/meta/recipes-qt/qt5/qtwebengine/0001-WebEngine-qquickwebengineview_p_p.h-add-include-QCol.patch b/meta/recipes-qt/qt5/qtwebengine/0001-WebEngine-qquickwebengineview_p_p.h-add-include-QCol.patch deleted file mode 100644 index a324dc6450..0000000000 --- a/meta/recipes-qt/qt5/qtwebengine/0001-WebEngine-qquickwebengineview_p_p.h-add-include-QCol.patch +++ /dev/null @@ -1,23 +0,0 @@ -From a70b6d2183934e4d9a3ad00167acfaf0a78a90a9 Mon Sep 17 00:00:00 2001 -From: Cleiton Bueno -Date: Fri, 25 Dec 2015 18:16:05 -0200 -Subject: [PATCH] WebEngine qquickwebengineview_p_p.h add include QColor - -Signed-off-by: Cleiton Bueno ---- - src/webengine/api/qquickwebengineview_p_p.h | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/src/webengine/api/qquickwebengineview_p_p.h b/src/webengine/api/qquickwebengineview_p_p.h -index 1b8edc8..03d6558 100644 ---- a/src/webengine/api/qquickwebengineview_p_p.h -+++ b/src/webengine/api/qquickwebengineview_p_p.h -@@ -59,6 +59,8 @@ - #include - #include - #include -+#include -+ - - namespace QtWebEngineCore { - class WebContentsAdapter; diff --git a/meta/recipes-qt/qt5/qtwebengine/0001-chromium-Force-host-toolchain-configuration.patch b/meta/recipes-qt/qt5/qtwebengine/0001-chromium-Force-host-toolchain-configuration.patch deleted file mode 100644 index 69e05660b3..0000000000 --- a/meta/recipes-qt/qt5/qtwebengine/0001-chromium-Force-host-toolchain-configuration.patch +++ /dev/null @@ -1,33 +0,0 @@ -From d760fcdd764985f05a480ba475855f92844a6f0d Mon Sep 17 00:00:00 2001 -From: Samuli Piippo -Date: Wed, 15 Mar 2017 13:53:28 +0200 -Subject: [PATCH] chromium: Force host toolchain configuration - -Force gcc/g++ to be used for parts using host toolchain, since -the option(host_build) does not work in yocto builds. - -Upstream-Status: Inappropriate [OE specific] -Signed-off-by: Samuli Piippo -Signed-off-by: Martin Jansa ---- - chromium/tools/gn/bootstrap/bootstrap.py | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/chromium/tools/gn/bootstrap/bootstrap.py b/chromium/tools/gn/bootstrap/bootstrap.py -index b1ff7e7..bccabbb 100755 ---- a/chromium/tools/gn/bootstrap/bootstrap.py -+++ b/chromium/tools/gn/bootstrap/bootstrap.py -@@ -318,10 +318,10 @@ def write_gn_ninja(path, root_gen_dir, options): - ld = os.environ.get('LD', cxx) - ar = os.environ.get('AR', 'ar -X64') - else: -- cc = os.environ.get('CC', 'cc') -- cxx = os.environ.get('CXX', 'c++') -+ cc = os.environ.get('CC_host', 'gcc') -+ cxx = os.environ.get('CXX_host', 'g++') - ld = cxx -- ar = os.environ.get('AR', 'ar') -+ ar = os.environ.get('AR_host', 'ar') - - # QTBUG-64759 - # cflags = os.environ.get('CFLAGS', '').split() diff --git a/meta/recipes-qt/qt5/qtwebengine/0001-chromium-base.gypi-include-atomicops_internals_x86_g.patch b/meta/recipes-qt/qt5/qtwebengine/0001-chromium-base.gypi-include-atomicops_internals_x86_g.patch new file mode 100644 index 0000000000..111becb742 --- /dev/null +++ b/meta/recipes-qt/qt5/qtwebengine/0001-chromium-base.gypi-include-atomicops_internals_x86_g.patch @@ -0,0 +1,24 @@ +From af1bd58f69ac6b292a840401b676f6ba29b8764c Mon Sep 17 00:00:00 2001 +From: Martin Jansa +Date: Fri, 3 Oct 2014 03:52:11 +0200 +Subject: [PATCH] base.gypi: include atomicops_internals_x86_gcc.cc + when building for x64 arch + +Signed-off-by: Martin Jansa +--- + chromium/base/base.gypi | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/chromium/base/base.gypi b/chromium/base/base.gypi +index 63c3f76..331c975 100644 +--- a/chromium/base/base.gypi ++++ b/chromium/base/base.gypi +@@ -801,7 +801,7 @@ + ['include', '^nix/'], + ], + }], +- ['use_qt==1 and target_arch=="ia32"', { ++ ['use_qt==1 and target_arch=="ia32" or target_arch=="x64"', { + 'sources/': [ + ['include', 'atomicops_internals_x86_gcc.cc'], + ], diff --git a/meta/recipes-qt/qt5/qtwebengine/0001-functions.prf-Don-t-match-QMAKE_EXT_CPP-or-QMAKE_EXT.patch b/meta/recipes-qt/qt5/qtwebengine/0001-functions.prf-Don-t-match-QMAKE_EXT_CPP-or-QMAKE_EXT.patch new file mode 100644 index 0000000000..03248a3f6b --- /dev/null +++ b/meta/recipes-qt/qt5/qtwebengine/0001-functions.prf-Don-t-match-QMAKE_EXT_CPP-or-QMAKE_EXT.patch @@ -0,0 +1,27 @@ +From 66cc10051d1379d1696276ca64c01f2ac7efc3ef Mon Sep 17 00:00:00 2001 +From: Martin Jansa +Date: Mon, 30 Jun 2014 20:08:17 +0200 +Subject: [PATCH] functions.prf: Don't match QMAKE_EXT_CPP or QMAKE_EXT_H + anywhere in path, but at the end + +Signed-off-by: Martin Jansa +--- + tools/qmake/mkspecs/features/functions.prf | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/tools/qmake/mkspecs/features/functions.prf b/tools/qmake/mkspecs/features/functions.prf +index c8fd278..6cf49f4 100644 +--- a/tools/qmake/mkspecs/features/functions.prf ++++ b/tools/qmake/mkspecs/features/functions.prf +@@ -182,9 +182,9 @@ defineReplace(mocOutput) { + out = $$1 + # The order is important, since the output of the second replace would end up accidentaly transformed by the first one + for(ext, $$list($${QMAKE_EXT_CPP})): \ +- out = $$replace(out, ^(.*)($$re_escape($${ext})), $${QMAKE_CPP_MOD_MOC}\\1$${QMAKE_EXT_CPP_MOC}) ++ out = $$replace(out, ^(.*)($$re_escape($${ext}))$, $${QMAKE_CPP_MOD_MOC}\\1$${QMAKE_EXT_CPP_MOC}) + for(ext, $$list($${QMAKE_EXT_H})): \ +- out = $$replace(out, ^(.*)($$re_escape($${ext})), $${QMAKE_H_MOD_MOC}\\1$${first(QMAKE_EXT_CPP)}) ++ out = $$replace(out, ^(.*)($$re_escape($${ext}))$, $${QMAKE_H_MOD_MOC}\\1$${first(QMAKE_EXT_CPP)}) + return($$out) + } + diff --git a/meta/recipes-qt/qt5/qtwebengine/0002-Include-dependency-to-QCoreApplication-translate.patch b/meta/recipes-qt/qt5/qtwebengine/0002-Include-dependency-to-QCoreApplication-translate.patch deleted file mode 100644 index e41636a315..0000000000 --- a/meta/recipes-qt/qt5/qtwebengine/0002-Include-dependency-to-QCoreApplication-translate.patch +++ /dev/null @@ -1,23 +0,0 @@ -From 838bb0afe93321ae3d225988728a5736cd4844fc Mon Sep 17 00:00:00 2001 -From: Cleiton Bueno -Date: Thu, 24 Dec 2015 15:59:51 -0200 -Subject: [PATCH] Include dependency to QCoreApplication::translate() - -Signed-off-by: Cleiton Bueno ---- - src/core/media_capture_devices_dispatcher.h | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/src/core/media_capture_devices_dispatcher.h b/src/core/media_capture_devices_dispatcher.h -index 579d159..0904c46 100644 ---- a/src/core/media_capture_devices_dispatcher.h -+++ b/src/core/media_capture_devices_dispatcher.h -@@ -45,6 +45,8 @@ - #include - #include - -+#include -+ - #include "web_contents_adapter_client.h" - - #include "base/callback.h" diff --git a/meta/recipes-qt/qt5/qtwebengine/0002-chromium-Change-false-to-FALSE-and-1-to-TRUE-FIX-qtw.patch b/meta/recipes-qt/qt5/qtwebengine/0002-chromium-Change-false-to-FALSE-and-1-to-TRUE-FIX-qtw.patch new file mode 100644 index 0000000000..d74c0e92af --- /dev/null +++ b/meta/recipes-qt/qt5/qtwebengine/0002-chromium-Change-false-to-FALSE-and-1-to-TRUE-FIX-qtw.patch @@ -0,0 +1,63 @@ +From 3c3e4d07a9950e818798d585ec797667a72c531f Mon Sep 17 00:00:00 2001 +From: Cleiton Bueno +Date: Thu, 24 Dec 2015 12:46:58 -0200 +Subject: [PATCH] chromium: Change false to FALSE and 1 to TRUE, FIX + qtwebengine compile + +Signed-off-by: Cleiton Bueno +Signed-off-by: Martin Jansa +--- + chromium/ui/gfx/codec/jpeg_codec.cc | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +diff --git a/chromium/ui/gfx/codec/jpeg_codec.cc b/chromium/ui/gfx/codec/jpeg_codec.cc +index 8a08fe0..32b2a05 100644 +--- a/chromium/ui/gfx/codec/jpeg_codec.cc ++++ b/chromium/ui/gfx/codec/jpeg_codec.cc +@@ -120,7 +120,7 @@ boolean EmptyOutputBuffer(jpeg_compress_struct* cinfo) { + // tell libjpeg where to write the next data + cinfo->dest->next_output_byte = &(*state->out)[state->image_buffer_used]; + cinfo->dest->free_in_buffer = state->out->size() - state->image_buffer_used; +- return 1; ++ return TRUE; + } + + // Cleans up the JpegEncoderState to prepare for returning in the final form. +@@ -261,7 +261,7 @@ bool JPEGCodec::Encode(const unsigned char* input, ColorFormat format, + cinfo.data_precision = 8; + + jpeg_set_defaults(&cinfo); +- jpeg_set_quality(&cinfo, quality, 1); // quality here is 0-100 ++ jpeg_set_quality(&cinfo, quality, TRUE); // quality here is 0-100 + + // set up the destination manager + jpeg_destination_mgr destmgr; +@@ -273,7 +273,7 @@ bool JPEGCodec::Encode(const unsigned char* input, ColorFormat format, + JpegEncoderState state(output); + cinfo.client_data = &state; + +- jpeg_start_compress(&cinfo, 1); ++ jpeg_start_compress(&cinfo, TRUE); + + // feed it the rows, doing necessary conversions for the color format + #ifdef JCS_EXTENSIONS +@@ -359,7 +359,7 @@ void InitSource(j_decompress_ptr cinfo) { + // set to a positive value if TRUE is returned. A FALSE return should only + // be used when I/O suspension is desired." + boolean FillInputBuffer(j_decompress_ptr cinfo) { +- return false; ++ return FALSE; + } + + // Skip data in the buffer. Since we have all the data at once, this operation +@@ -487,8 +487,8 @@ bool JPEGCodec::Decode(const unsigned char* input, size_t input_size, + cinfo.client_data = &state; + + // fill the file metadata into our buffer +- if (jpeg_read_header(&cinfo, true) != JPEG_HEADER_OK) +- return false; ++ if (jpeg_read_header(&cinfo, TRUE) != JPEG_HEADER_OK) ++ return FALSE; + + // we want to always get RGB data out + switch (cinfo.jpeg_color_space) { diff --git a/meta/recipes-qt/qt5/qtwebengine/0002-chromium-workaround-for-too-long-.rps-file-name.patch b/meta/recipes-qt/qt5/qtwebengine/0002-chromium-workaround-for-too-long-.rps-file-name.patch deleted file mode 100644 index 592a30f37a..0000000000 --- a/meta/recipes-qt/qt5/qtwebengine/0002-chromium-workaround-for-too-long-.rps-file-name.patch +++ /dev/null @@ -1,42 +0,0 @@ -From d76853bd469881625bedc85afabc69d36ecb05ed Mon Sep 17 00:00:00 2001 -From: Samuli Piippo -Date: Thu, 30 Mar 2017 11:37:24 +0300 -Subject: [PATCH] chromium: workaround for too long .rps file name - -Ninja may fail when the build directory is too long: - -ninja: error: WriteFile(__third_party_WebKit_Source_bindings_modules_\ -interfaces_info_individual_modules__home_qt_work_build_build-nitrogen\ -6x_tmp_work_cortexa9hf-neon-mx6qdl-poky-linux-gnueabi_qtwebengine_5.9\ -.0_gitAUTOINC_29afdb0a34_049134677a-r0_build_src_toolchain_target__ru\ -le.rsp): Unable to create file. File name too long - -Task-number: QTBUG-59769 -Change-Id: I73c5e64ae5174412be2a675e35b0b6047f2bf4c1 ---- - chromium/tools/gn/ninja_action_target_writer.cc | 9 +++++++++ - 1 file changed, 9 insertions(+) - -diff --git a/chromium/tools/gn/ninja_action_target_writer.cc b/chromium/tools/gn/ninja_action_target_writer.cc -index eaf1b3d..ddf456e 100644 ---- a/chromium/tools/gn/ninja_action_target_writer.cc -+++ b/chromium/tools/gn/ninja_action_target_writer.cc -@@ -118,9 +118,18 @@ std::string NinjaActionTargetWriter::WriteRuleDefinition() { - // strictly necessary for regular one-shot actions, but it's easier to - // just always define unique_name. - std::string rspfile = custom_rule_name; -+ -+ //quick workaround if filename length > 255 - ".rsp", just cut the dirs starting from the end -+ //please note ".$unique_name" is not used at the moment -+ int pos = 0; -+ std::string delimiter("_"); -+ while (rspfile.length() > 251 && (pos = rspfile.find_last_of(delimiter)) != std::string::npos) -+ rspfile = rspfile.substr(0,pos); -+ - if (!target_->sources().empty()) - rspfile += ".$unique_name"; - rspfile += ".rsp"; -+ - out_ << " rspfile = " << rspfile << std::endl; - - // Response file contents. diff --git a/meta/recipes-qt/qt5/qtwebengine/0002-functions.prf-Make-sure-we-only-use-the-file-name-to.patch b/meta/recipes-qt/qt5/qtwebengine/0002-functions.prf-Make-sure-we-only-use-the-file-name-to.patch new file mode 100644 index 0000000000..c5a057c056 --- /dev/null +++ b/meta/recipes-qt/qt5/qtwebengine/0002-functions.prf-Make-sure-we-only-use-the-file-name-to.patch @@ -0,0 +1,26 @@ +From 35805156dff632f05a85cd0a30e4707d9ba2e093 Mon Sep 17 00:00:00 2001 +From: Simon Busch +Date: Tue, 18 Nov 2014 10:38:18 +0100 +Subject: [PATCH] functions.prf: Make sure we only use the file name to + generate it's moc'ed abbreviation + +Signed-off-by: Simon Busch +Signed-off-by: Martin Jansa +--- + tools/qmake/mkspecs/features/functions.prf | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/tools/qmake/mkspecs/features/functions.prf b/tools/qmake/mkspecs/features/functions.prf +index 6cf49f4..1287799 100644 +--- a/tools/qmake/mkspecs/features/functions.prf ++++ b/tools/qmake/mkspecs/features/functions.prf +@@ -179,7 +179,8 @@ defineReplace(findIncludedMocFiles) { + } + + defineReplace(mocOutput) { +- out = $$1 ++ in = $$1 ++ out = $$basename(in) + # The order is important, since the output of the second replace would end up accidentaly transformed by the first one + for(ext, $$list($${QMAKE_EXT_CPP})): \ + out = $$replace(out, ^(.*)($$re_escape($${ext}))$, $${QMAKE_CPP_MOD_MOC}\\1$${QMAKE_EXT_CPP_MOC}) diff --git a/meta/recipes-qt/qt5/qtwebengine/0003-Force-host-toolchain-configuration.patch b/meta/recipes-qt/qt5/qtwebengine/0003-Force-host-toolchain-configuration.patch deleted file mode 100644 index 84e430b732..0000000000 --- a/meta/recipes-qt/qt5/qtwebengine/0003-Force-host-toolchain-configuration.patch +++ /dev/null @@ -1,71 +0,0 @@ -From 36657d556e4f97d06aa44d874d7256c970cdad3c Mon Sep 17 00:00:00 2001 -From: Samuli Piippo -Date: Wed, 15 Mar 2017 13:53:28 +0200 -Subject: [PATCH] Force host toolchain configuration - -Force gcc/g++ to be used for parts using host toolchain, since -the option(host_build) does not work in yocto builds. - -Don't use QT_ARCH for the host architecture, since that's always -the target architecture in bitbake builds, instead ask specifically -for the qmakes's host architecture. - -Upstream-Status: Inappropriate [OE specific] -Signed-off-by: Samuli Piippo ---- - src/buildtools/configure_host.pro | 14 +++++++------- - src/core/config/linux.pri | 2 +- - 2 files changed, 8 insertions(+), 8 deletions(-) - -diff --git a/src/buildtools/configure_host.pro b/src/buildtools/configure_host.pro -index dd0d3e3..70161c8 100644 ---- a/src/buildtools/configure_host.pro -+++ b/src/buildtools/configure_host.pro -@@ -4,7 +4,7 @@ TEMPLATE = aux - # Pick up the host toolchain - option(host_build) - --GN_HOST_CPU = $$gnArch($$QT_ARCH) -+GN_HOST_CPU = $$gnArch($$QMAKE_HOST.arch) - !isEmpty(QT_TARGET_ARCH): GN_TARGET_CPU = $$gnArch($$QT_TARGET_ARCH) - else: GN_TARGET_CPU = $$GN_HOST_CPU - GN_OS = $$gnOS() -@@ -31,9 +31,9 @@ GN_CONTENTS = \ - "import(\"//build/config/sysroot.gni\")" \ - "import(\"//build/toolchain/gcc_toolchain.gni\")" \ - "gcc_toolchain(\"host\") {" \ --" cc = \"$$which($$QMAKE_CC)\" " \ --" cxx = \"$$which($$QMAKE_CXX)\" " \ --" ld = \"$$which($$QMAKE_LINK)\" " \ -+" cc = \"$$which(gcc)\" " \ -+" cxx = \"$$which(g++)\" " \ -+" ld = \"$$which(g++)\" " \ - " ar = \"$$which(ar)\" " \ - " nm = \"$$which(nm)\" " \ - " extra_cppflags = \"$$GN_HOST_EXTRA_CPPFLAGS\" " \ -@@ -45,9 +45,9 @@ GN_CONTENTS = \ - " } " \ - "}" \ - "gcc_toolchain(\"v8_snapshot\") {" \ --" cc = \"$$which($$QMAKE_CC)\" " \ --" cxx = \"$$which($$QMAKE_CXX)\" " \ --" ld = \"$$which($$QMAKE_LINK)\" " \ -+" cc = \"$$which(gcc)\" " \ -+" cxx = \"$$which(g++)\" " \ -+" ld = \"$$which(g++)\" " \ - " ar = \"$$which(ar)\" " \ - " nm = \"$$which(nm)\" " \ - " toolchain_args = { " \ -diff --git a/src/core/config/linux.pri b/src/core/config/linux.pri -index 1ce3ea8..23d0793 100644 ---- a/src/core/config/linux.pri -+++ b/src/core/config/linux.pri -@@ -91,7 +91,7 @@ contains(QT_ARCH, "mips") { - - host_build { - gn_args += custom_toolchain=\"$$QTWEBENGINE_OUT_ROOT/src/toolchain:host\" -- GN_HOST_CPU = $$gnArch($$QT_ARCH) -+ GN_HOST_CPU = $$gnArch($$QMAKE_HOST.arch) - gn_args += host_cpu=\"$$GN_HOST_CPU\" - # Don't bother trying to use system libraries in this case - gn_args += use_glib=false diff --git a/meta/recipes-qt/qt5/qtwebengine/0003-chromium-musl-sandbox-Define-TEMP_FAILURE_RETRY-if-n.patch b/meta/recipes-qt/qt5/qtwebengine/0003-chromium-musl-sandbox-Define-TEMP_FAILURE_RETRY-if-n.patch deleted file mode 100644 index 1fb85fb337..0000000000 --- a/meta/recipes-qt/qt5/qtwebengine/0003-chromium-musl-sandbox-Define-TEMP_FAILURE_RETRY-if-n.patch +++ /dev/null @@ -1,33 +0,0 @@ -From c6e7171bf8f5ecb8b82d911581a45defe93854e1 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Fri, 7 Jul 2017 14:01:12 -0700 -Subject: [PATCH] chromium: musl: sandbox: Define TEMP_FAILURE_RETRY if not - defined - -Musl does not define this Macro - -Signed-off-by: Khem Raj ---- - chromium/sandbox/linux/suid/sandbox.c | 9 +++++++++ - 1 file changed, 9 insertions(+) - -diff --git a/chromium/sandbox/linux/suid/sandbox.c b/chromium/sandbox/linux/suid/sandbox.c -index 66f68ef..9284d0d 100644 ---- a/chromium/sandbox/linux/suid/sandbox.c -+++ b/chromium/sandbox/linux/suid/sandbox.c -@@ -44,6 +44,15 @@ static bool DropRoot(); - - #define HANDLE_EINTR(x) TEMP_FAILURE_RETRY(x) - -+#ifndef TEMP_FAILURE_RETRY -+# define TEMP_FAILURE_RETRY(expression) \ -+ (__extension__ \ -+ ({ long int __result; \ -+ do __result = (long int) (expression); \ -+ while (__result == -1L && errno == EINTR); \ -+ __result; })) -+#endif -+ - static void FatalError(const char* msg, ...) - __attribute__((noreturn, format(printf, 1, 2))); - diff --git a/meta/recipes-qt/qt5/qtwebengine/0003-functions.prf-allow-build-for-linux-oe-g-platform.patch b/meta/recipes-qt/qt5/qtwebengine/0003-functions.prf-allow-build-for-linux-oe-g-platform.patch new file mode 100644 index 0000000000..839a0d7248 --- /dev/null +++ b/meta/recipes-qt/qt5/qtwebengine/0003-functions.prf-allow-build-for-linux-oe-g-platform.patch @@ -0,0 +1,30 @@ +From 70d76cb38e611c42411d623f165ec27eaa4ba615 Mon Sep 17 00:00:00 2001 +From: Frieder Schrempf +Date: Mon, 1 Dec 2014 14:34:40 +0000 +Subject: [PATCH] functions.prf: allow build for linux-oe-g++ platform + +Upstream-Status: Inappropriate [OE specific] + +Signed-off-by: Frieder Schrempf +Signed-off-by: Martin Jansa +--- + tools/qmake/mkspecs/features/functions.prf | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/tools/qmake/mkspecs/features/functions.prf b/tools/qmake/mkspecs/features/functions.prf +index 1287799..fb06b21 100644 +--- a/tools/qmake/mkspecs/features/functions.prf ++++ b/tools/qmake/mkspecs/features/functions.prf +@@ -5,6 +5,12 @@ defineTest(isPlatformSupported) { + return(false) + } + gcc:!clang:!isGCCVersionSupported(): return(false) ++ } else:linux-oe-g++* { ++ !gcc:!clang { ++ skipBuild("Qt WebEngine on Linux requires clang or GCC.") ++ return(false) ++ } ++ gcc:!clang:!isGCCVersionSupported(): return(false) + } else:win32 { + winrt { + skipBuild("WinRT is not supported.") diff --git a/meta/recipes-qt/qt5/qtwebengine/0004-WebEngine-qquickwebengineview_p_p.h-add-include-QCol.patch b/meta/recipes-qt/qt5/qtwebengine/0004-WebEngine-qquickwebengineview_p_p.h-add-include-QCol.patch new file mode 100644 index 0000000000..6c2dad823a --- /dev/null +++ b/meta/recipes-qt/qt5/qtwebengine/0004-WebEngine-qquickwebengineview_p_p.h-add-include-QCol.patch @@ -0,0 +1,23 @@ +From fc8955e190f45ebb9999a1ff34be81f400960592 Mon Sep 17 00:00:00 2001 +From: Cleiton Bueno +Date: Fri, 25 Dec 2015 18:16:05 -0200 +Subject: [PATCH] WebEngine qquickwebengineview_p_p.h add include QColor + +Signed-off-by: Cleiton Bueno +--- + src/webengine/api/qquickwebengineview_p_p.h | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/src/webengine/api/qquickwebengineview_p_p.h b/src/webengine/api/qquickwebengineview_p_p.h +index c762c4d..9836ebf 100644 +--- a/src/webengine/api/qquickwebengineview_p_p.h ++++ b/src/webengine/api/qquickwebengineview_p_p.h +@@ -59,6 +59,8 @@ + #include + #include + #include ++#include ++ + + namespace QtWebEngineCore { + class WebContentsAdapter; diff --git a/meta/recipes-qt/qt5/qtwebengine/0004-chromium-musl-Avoid-mallinfo-APIs-on-non-glibc-linux.patch b/meta/recipes-qt/qt5/qtwebengine/0004-chromium-musl-Avoid-mallinfo-APIs-on-non-glibc-linux.patch deleted file mode 100644 index 5dbd07f10a..0000000000 --- a/meta/recipes-qt/qt5/qtwebengine/0004-chromium-musl-Avoid-mallinfo-APIs-on-non-glibc-linux.patch +++ /dev/null @@ -1,67 +0,0 @@ -From 104d93f24a44dc4a1939d6e2c99f346526a5a7d9 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Fri, 7 Jul 2017 14:09:06 -0700 -Subject: [PATCH] chromium: musl: Avoid mallinfo() APIs on non-glibc/linux - -Signed-off-by: Khem Raj ---- - chromium/base/process/process_metrics_posix.cc | 4 ++-- - chromium/base/trace_event/malloc_dump_provider.cc | 3 ++- - chromium/content/child/content_child_helpers.cc | 2 +- - 3 files changed, 5 insertions(+), 4 deletions(-) - -diff --git a/chromium/base/process/process_metrics_posix.cc b/chromium/base/process/process_metrics_posix.cc -index 0eb5c1f..8af7799 100644 ---- a/chromium/base/process/process_metrics_posix.cc -+++ b/chromium/base/process/process_metrics_posix.cc -@@ -94,14 +94,14 @@ size_t ProcessMetrics::GetMallocUsage() { - malloc_statistics_t stats = {0}; - malloc_zone_statistics(nullptr, &stats); - return stats.size_in_use; --#elif defined(OS_LINUX) || defined(OS_ANDROID) -+#elif defined(__GLIBC__) || defined(OS_ANDROID) - struct mallinfo minfo = mallinfo(); - #if defined(USE_TCMALLOC) - return minfo.uordblks; - #else - return minfo.hblkhd + minfo.arena; - #endif --#elif defined(OS_FUCHSIA) -+#else - // TODO(fuchsia): Not currently exposed. https://crbug.com/735087. - return 0; - #endif -diff --git a/chromium/base/trace_event/malloc_dump_provider.cc b/chromium/base/trace_event/malloc_dump_provider.cc -index 14ba0a2..e5d9581 100644 ---- a/chromium/base/trace_event/malloc_dump_provider.cc -+++ b/chromium/base/trace_event/malloc_dump_provider.cc -@@ -197,6 +197,7 @@ MallocDumpProvider::~MallocDumpProvider() {} - // the current process. - bool MallocDumpProvider::OnMemoryDump(const MemoryDumpArgs& args, - ProcessMemoryDump* pmd) { -+#if defined(__GLIBC__) - size_t total_virtual_size = 0; - size_t resident_size = 0; - size_t allocated_objects_size = 0; -@@ -317,7 +318,7 @@ bool MallocDumpProvider::OnMemoryDump(const MemoryDumpArgs& args, - pmd->DumpHeapUsage(metrics_by_context, overhead, "malloc"); - } - tid_dumping_heap_ = kInvalidThreadId; -- -+#endif // __GLIBC__ - return true; - } - -diff --git a/chromium/content/child/content_child_helpers.cc b/chromium/content/child/content_child_helpers.cc -index 7ddeb4d..b8c73b0 100644 ---- a/chromium/content/child/content_child_helpers.cc -+++ b/chromium/content/child/content_child_helpers.cc -@@ -25,7 +25,7 @@ namespace content { - // though, this provides only a partial and misleading value. - // Unfortunately some telemetry benchmark rely on it and these need to - // be refactored before getting rid of this. See crbug.com/581365 . --#if defined(OS_LINUX) || defined(OS_ANDROID) -+#if defined(__GLIBC__) || defined(OS_ANDROID) - size_t GetMemoryUsageKB() { - struct mallinfo minfo = mallinfo(); - uint64_t mem_usage = diff --git a/meta/recipes-qt/qt5/qtwebengine/0004-musl-don-t-use-pvalloc-as-it-s-not-available-on-musl.patch b/meta/recipes-qt/qt5/qtwebengine/0004-musl-don-t-use-pvalloc-as-it-s-not-available-on-musl.patch deleted file mode 100644 index 76160d16ba..0000000000 --- a/meta/recipes-qt/qt5/qtwebengine/0004-musl-don-t-use-pvalloc-as-it-s-not-available-on-musl.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 1a23cb4027692535aeace4c6070864af672de70d Mon Sep 17 00:00:00 2001 -From: Samuli Piippo -Date: Tue, 12 Dec 2017 16:06:14 +0200 -Subject: [PATCH] musl: don't use pvalloc as it's not available on musl - -Change-Id: I7145463ac7b9560e7459d3384a3db108bd727403 -Signed-off-by: Samuli Piippo ---- - src/core/api/qtbug-61521.cpp | 8 -------- - 1 file changed, 8 deletions(-) - -diff --git a/src/core/api/qtbug-61521.cpp b/src/core/api/qtbug-61521.cpp -index 002a1af..8fd2da3 100644 ---- a/src/core/api/qtbug-61521.cpp -+++ b/src/core/api/qtbug-61521.cpp -@@ -74,10 +74,6 @@ SHIM_SYMBOL_VERSION(valloc); - void* __valloc(size_t size) - SHIM_ALIAS_SYMBOL(ShimValloc); - --SHIM_SYMBOL_VERSION(pvalloc); --void* __pvalloc(size_t size) -- SHIM_ALIAS_SYMBOL(ShimPvalloc); -- - SHIM_SYMBOL_VERSION(posix_memalign); - int __posix_memalign(void** r, size_t a, size_t s) - SHIM_ALIAS_SYMBOL(ShimPosixMemalign); -@@ -110,10 +106,6 @@ SHIM_HIDDEN void* ShimValloc(size_t size) { - return valloc(size); - } - --SHIM_HIDDEN void* ShimPvalloc(size_t size) { -- return pvalloc(size); --} -- - SHIM_HIDDEN int ShimPosixMemalign(void** r, size_t a, size_t s) { - return posix_memalign(r,a,s); - } diff --git a/meta/recipes-qt/qt5/qtwebengine/0005-Include-dependency-to-QCoreApplication-translate.patch b/meta/recipes-qt/qt5/qtwebengine/0005-Include-dependency-to-QCoreApplication-translate.patch new file mode 100644 index 0000000000..d772ed6a49 --- /dev/null +++ b/meta/recipes-qt/qt5/qtwebengine/0005-Include-dependency-to-QCoreApplication-translate.patch @@ -0,0 +1,23 @@ +From 3102dad3fd5887c1c0a2eea2466d985d6279683f Mon Sep 17 00:00:00 2001 +From: Cleiton Bueno +Date: Thu, 24 Dec 2015 15:59:51 -0200 +Subject: [PATCH] Include dependency to QCoreApplication::translate() + +Signed-off-by: Cleiton Bueno +--- + src/core/media_capture_devices_dispatcher.h | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/src/core/media_capture_devices_dispatcher.h b/src/core/media_capture_devices_dispatcher.h +index b13a9da..8a54cce 100644 +--- a/src/core/media_capture_devices_dispatcher.h ++++ b/src/core/media_capture_devices_dispatcher.h +@@ -46,6 +46,8 @@ + #include + #include + ++#include ++ + #include "web_contents_adapter_client.h" + + #include "base/callback.h" diff --git a/meta/recipes-qt/qt5/qtwebengine/0005-chromium-musl-include-fcntl.h-for-loff_t.patch b/meta/recipes-qt/qt5/qtwebengine/0005-chromium-musl-include-fcntl.h-for-loff_t.patch deleted file mode 100644 index e0a3f80486..0000000000 --- a/meta/recipes-qt/qt5/qtwebengine/0005-chromium-musl-include-fcntl.h-for-loff_t.patch +++ /dev/null @@ -1,22 +0,0 @@ -From 1e51c5e3a299213b632dd2d448c86dabf45b2258 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Fri, 7 Jul 2017 14:37:49 -0700 -Subject: [PATCH] chromium: musl: include fcntl.h for loff_t - -Signed-off-by: Khem Raj ---- - chromium/third_party/tcmalloc/chromium/src/base/linux_syscall_support.h | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/chromium/third_party/tcmalloc/chromium/src/base/linux_syscall_support.h b/chromium/third_party/tcmalloc/chromium/src/base/linux_syscall_support.h -index b29ec2d..91f77dd 100644 ---- a/chromium/third_party/tcmalloc/chromium/src/base/linux_syscall_support.h -+++ b/chromium/third_party/tcmalloc/chromium/src/base/linux_syscall_support.h -@@ -150,6 +150,7 @@ extern "C" { - #include - #include - #include -+#include - #include - #include - #include diff --git a/meta/recipes-qt/qt5/qtwebengine/0005-musl-link-against-libexecinfo.patch b/meta/recipes-qt/qt5/qtwebengine/0005-musl-link-against-libexecinfo.patch deleted file mode 100644 index 45a45f9baa..0000000000 --- a/meta/recipes-qt/qt5/qtwebengine/0005-musl-link-against-libexecinfo.patch +++ /dev/null @@ -1,24 +0,0 @@ -From e735b0adfa9b1dcaa93e3ce65d9cc01255ab340b Mon Sep 17 00:00:00 2001 -From: Samuli Piippo -Date: Thu, 14 Dec 2017 11:28:10 +0200 -Subject: [PATCH] musl: link against libexecinfo - -Change-Id: Ifada60f9c72691973612850121f6fb152d70839a -Signed-off-by: Samuli Piippo ---- - src/core/core_module.pro | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/core/core_module.pro b/src/core/core_module.pro -index d21985e..eeebeb4 100644 ---- a/src/core/core_module.pro -+++ b/src/core/core_module.pro -@@ -54,7 +54,7 @@ linux { - POST_TARGETDEPS += $$NINJA_TARGETDEPS - - --LIBS_PRIVATE += -L$$api_library_path -+LIBS_PRIVATE += -L$$api_library_path -lexecinfo - CONFIG *= no_smart_library_merge - osx { - LIBS_PRIVATE += -Wl,-force_load,$${api_library_path}$${QMAKE_DIR_SEP}lib$${api_library_name}.a diff --git a/meta/recipes-qt/qt5/qtwebengine/0006-chromium-musl-use-off64_t-instead-of-the-internal-__.patch b/meta/recipes-qt/qt5/qtwebengine/0006-chromium-musl-use-off64_t-instead-of-the-internal-__.patch deleted file mode 100644 index f8c4150a7d..0000000000 --- a/meta/recipes-qt/qt5/qtwebengine/0006-chromium-musl-use-off64_t-instead-of-the-internal-__.patch +++ /dev/null @@ -1,62 +0,0 @@ -From f0fba131a285144c5d71dad8b98ff0f15ce454ad Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Fri, 7 Jul 2017 14:38:37 -0700 -Subject: [PATCH] chromium: musl: use off64_t instead of the internal __off64_t - -- only do the glibc 32-bit ABI check for mmap/mmap64 on gnu libc. musl - does not support the 32-bit ABI. - -Signed-off-by: Khem Raj ---- - .../third_party/tcmalloc/chromium/src/malloc_hook_mmap_linux.h | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -diff --git a/chromium/third_party/tcmalloc/chromium/src/malloc_hook_mmap_linux.h b/chromium/third_party/tcmalloc/chromium/src/malloc_hook_mmap_linux.h -index 715c045..edc8cf2 100644 ---- a/chromium/third_party/tcmalloc/chromium/src/malloc_hook_mmap_linux.h -+++ b/chromium/third_party/tcmalloc/chromium/src/malloc_hook_mmap_linux.h -@@ -77,7 +77,7 @@ typedef off64_t __off64_t; - - static inline void* do_mmap64(void *start, size_t length, - int prot, int flags, -- int fd, __off64_t offset) __THROW { -+ int fd, off64_t offset) __THROW { - // The original gperftools uses sys_mmap() here. But, it is not allowed by - // Chromium's sandbox. - return (void *)syscall(SYS_mmap, start, length, prot, flags, fd, offset); -@@ -90,7 +90,7 @@ static inline void* do_mmap64(void *start, size_t length, - - static inline void* do_mmap64(void *start, size_t length, - int prot, int flags, -- int fd, __off64_t offset) __THROW { -+ int fd, off64_t offset) __THROW { - void *result; - - // Try mmap2() unless it's not supported -@@ -161,7 +161,7 @@ static inline void* do_mmap64(void *start, size_t length, - - extern "C" { - void* mmap64(void *start, size_t length, int prot, int flags, -- int fd, __off64_t offset ) __THROW -+ int fd, off64_t offset ) __THROW - ATTRIBUTE_SECTION(malloc_hook); - void* mmap(void *start, size_t length,int prot, int flags, - int fd, off_t offset) __THROW -@@ -178,7 +178,7 @@ extern "C" { - } - - extern "C" void* mmap64(void *start, size_t length, int prot, int flags, -- int fd, __off64_t offset) __THROW { -+ int fd, off64_t offset) __THROW { - MallocHook::InvokePreMmapHook(start, length, prot, flags, fd, offset); - void *result; - if (!MallocHook::InvokeMmapReplacement( -@@ -189,7 +189,7 @@ extern "C" void* mmap64(void *start, size_t length, int prot, int flags, - return result; - } - --# if !defined(__USE_FILE_OFFSET64) || !defined(__REDIRECT_NTH) -+# if defined(__GLIBC__) && (!defined(__USE_FILE_OFFSET64) || !defined(__REDIRECT_NTH)) - - extern "C" void* mmap(void *start, size_t length, int prot, int flags, - int fd, off_t offset) __THROW { diff --git a/meta/recipes-qt/qt5/qtwebengine/0007-chromium-musl-linux-glibc-make-the-distinction.patch b/meta/recipes-qt/qt5/qtwebengine/0007-chromium-musl-linux-glibc-make-the-distinction.patch deleted file mode 100644 index fbff28830d..0000000000 --- a/meta/recipes-qt/qt5/qtwebengine/0007-chromium-musl-linux-glibc-make-the-distinction.patch +++ /dev/null @@ -1,23 +0,0 @@ -From 42a0586aa7040caef931db8657b2ac8d345e4dd3 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Fri, 7 Jul 2017 14:54:38 -0700 -Subject: [PATCH] chromium: musl: linux != glibc, make the distinction - -Signed-off-by: Khem Raj ---- - chromium/base/allocator/allocator_check.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/chromium/base/allocator/allocator_check.cc b/chromium/base/allocator/allocator_check.cc -index 9cd5d22..1e70095 100644 ---- a/chromium/base/allocator/allocator_check.cc -+++ b/chromium/base/allocator/allocator_check.cc -@@ -27,7 +27,7 @@ bool IsAllocatorInitialized() { - // Set by allocator_shim_override_ucrt_symbols_win.h when the - // shimmed _set_new_mode() is called. - return g_is_win_shim_layer_initialized; --#elif defined(OS_LINUX) && defined(USE_TCMALLOC) && \ -+#elif defined(__GLIBC__) && defined(USE_TCMALLOC) && \ - !defined(MEMORY_TOOL_REPLACES_ALLOCATOR) - // From third_party/tcmalloc/chromium/src/gperftools/tcmalloc.h. - // TODO(primiano): replace with an include once base can depend on allocator. diff --git a/meta/recipes-qt/qt5/qtwebengine/0008-chromium-musl-allocator-Do-not-include-glibc_weak_sy.patch b/meta/recipes-qt/qt5/qtwebengine/0008-chromium-musl-allocator-Do-not-include-glibc_weak_sy.patch deleted file mode 100644 index d040057a40..0000000000 --- a/meta/recipes-qt/qt5/qtwebengine/0008-chromium-musl-allocator-Do-not-include-glibc_weak_sy.patch +++ /dev/null @@ -1,24 +0,0 @@ -From ff7af7ff21d259cfc580541b931d478e3d604f01 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Fri, 7 Jul 2017 15:09:02 -0700 -Subject: [PATCH] chromium: musl: allocator: Do not include glibc_weak_symbols - for musl - -Signed-off-by: Khem Raj ---- - chromium/base/allocator/allocator_shim.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/chromium/base/allocator/allocator_shim.cc b/chromium/base/allocator/allocator_shim.cc -index 41adbf8..091971e 100644 ---- a/chromium/base/allocator/allocator_shim.cc -+++ b/chromium/base/allocator/allocator_shim.cc -@@ -319,7 +319,7 @@ ALWAYS_INLINE void ShimFreeDefiniteSize(void* ptr, size_t size, void* context) { - // In the case of tcmalloc we also want to plumb into the glibc hooks - // to avoid that allocations made in glibc itself (e.g., strdup()) get - // accidentally performed on the glibc heap instead of the tcmalloc one. --#if defined(USE_TCMALLOC) -+#if defined(USE_TCMALLOC) && defined(__GLIBC__) - #include "base/allocator/allocator_shim_override_glibc_weak_symbols.h" - #endif - diff --git a/meta/recipes-qt/qt5/qtwebengine/0009-chromium-musl-Use-correct-member-name-__si_fields-fr.patch b/meta/recipes-qt/qt5/qtwebengine/0009-chromium-musl-Use-correct-member-name-__si_fields-fr.patch deleted file mode 100644 index c2a9c8a0cb..0000000000 --- a/meta/recipes-qt/qt5/qtwebengine/0009-chromium-musl-Use-correct-member-name-__si_fields-fr.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 74171f47edb76dc89edcc7116cd33d234e0e0490 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Fri, 7 Jul 2017 15:12:39 -0700 -Subject: [PATCH] chromium: musl: Use correct member name __si_fields from - LinuxSigInfo - -Signed-off-by: Khem Raj ---- - chromium/sandbox/linux/seccomp-bpf/trap.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/chromium/sandbox/linux/seccomp-bpf/trap.cc b/chromium/sandbox/linux/seccomp-bpf/trap.cc -index 003708d..0fef314 100644 ---- a/chromium/sandbox/linux/seccomp-bpf/trap.cc -+++ b/chromium/sandbox/linux/seccomp-bpf/trap.cc -@@ -168,7 +168,7 @@ void Trap::SigSys(int nr, LinuxSigInfo* info, ucontext_t* ctx) { - // most versions of glibc don't include this information in siginfo_t. So, - // we need to explicitly copy it into a arch_sigsys structure. - struct arch_sigsys sigsys; -- memcpy(&sigsys, &info->_sifields, sizeof(sigsys)); -+ memcpy(&sigsys, &info->__si_fields, sizeof(sigsys)); - - #if defined(__mips__) - // When indirect syscall (syscall(__NR_foo, ...)) is made on Mips, the diff --git a/meta/recipes-qt/qt5/qtwebengine/0010-chromium-musl-Match-syscalls-to-match-musl.patch b/meta/recipes-qt/qt5/qtwebengine/0010-chromium-musl-Match-syscalls-to-match-musl.patch deleted file mode 100644 index 7be83c55c6..0000000000 --- a/meta/recipes-qt/qt5/qtwebengine/0010-chromium-musl-Match-syscalls-to-match-musl.patch +++ /dev/null @@ -1,44 +0,0 @@ -From ce23b6a6e5a5ebae15dedeebf7044ac9a0249a80 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Fri, 7 Jul 2017 15:24:49 -0700 -Subject: [PATCH] chromium: musl: Match syscalls to match musl - -Signed-off-by: Khem Raj ---- - chromium/third_party/lss/linux_syscall_support.h | 16 ++++++++++++++++ - 1 file changed, 16 insertions(+) - -diff --git a/chromium/third_party/lss/linux_syscall_support.h b/chromium/third_party/lss/linux_syscall_support.h -index 80a3e56..1e57b1a 100644 ---- a/chromium/third_party/lss/linux_syscall_support.h -+++ b/chromium/third_party/lss/linux_syscall_support.h -@@ -794,6 +794,14 @@ struct kernel_statfs { - #endif - - -+#undef stat64 -+#undef fstat64 -+ -+#ifndef __NR_fstatat -+#define __NR_fstatat __NR_fstatat64 -+#endif -+ -+ - #if defined(__x86_64__) - #ifndef ARCH_SET_GS - #define ARCH_SET_GS 0x1001 -@@ -1211,6 +1219,14 @@ struct kernel_statfs { - #ifndef __NR_fallocate - #define __NR_fallocate 285 - #endif -+ -+#ifndef __NR_pread -+#define __NR_pread __NR_pread64 -+#endif -+#ifndef __NR_pwrite -+#define __NR_pwrite __NR_pwrite64 -+#endif -+ - /* End of x86-64 definitions */ - #elif defined(__mips__) - #if _MIPS_SIM == _MIPS_SIM_ABI32 diff --git a/meta/recipes-qt/qt5/qtwebengine/0011-chromium-musl-Define-res_ninit-and-res_nclose-for-no.patch b/meta/recipes-qt/qt5/qtwebengine/0011-chromium-musl-Define-res_ninit-and-res_nclose-for-no.patch deleted file mode 100644 index 9b2749134e..0000000000 --- a/meta/recipes-qt/qt5/qtwebengine/0011-chromium-musl-Define-res_ninit-and-res_nclose-for-no.patch +++ /dev/null @@ -1,79 +0,0 @@ -From 1781911655bddf8a8352f9bd0a7ce4867df6981b Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Fri, 7 Jul 2017 15:27:50 -0700 -Subject: [PATCH] chromium: musl: Define res_ninit and res_nclose for non-glibc - platforms - -Signed-off-by: Khem Raj ---- - chromium/net/dns/dns_config_service_posix.cc | 4 ++++ - chromium/net/dns/dns_reloader.cc | 4 ++++ - chromium/net/dns/resolv_compat.h | 29 ++++++++++++++++++++++++++++ - 3 files changed, 37 insertions(+) - create mode 100644 chromium/net/dns/resolv_compat.h - -diff --git a/chromium/net/dns/dns_config_service_posix.cc b/chromium/net/dns/dns_config_service_posix.cc -index 088fb9b..98d0a35 100644 ---- a/chromium/net/dns/dns_config_service_posix.cc -+++ b/chromium/net/dns/dns_config_service_posix.cc -@@ -26,6 +26,10 @@ - #include "net/dns/notify_watcher_mac.h" - #include "net/dns/serial_worker.h" - -+#if defined(OS_LINUX) && !defined(__GLIBC__) -+#include "net/dns/resolv_compat.h" -+#endif -+ - #if defined(OS_MACOSX) && !defined(OS_IOS) - #include "net/dns/dns_config_watcher_mac.h" - #endif -diff --git a/chromium/net/dns/dns_reloader.cc b/chromium/net/dns/dns_reloader.cc -index 322c8a5..72ff40d 100644 ---- a/chromium/net/dns/dns_reloader.cc -+++ b/chromium/net/dns/dns_reloader.cc -@@ -9,6 +9,10 @@ - - #include - -+#if defined(OS_LINUX) && !defined(__GLIBC__) -+#include "net/dns/resolv_compat.h" -+#endif -+ - #include "base/lazy_instance.h" - #include "base/logging.h" - #include "base/macros.h" -diff --git a/chromium/net/dns/resolv_compat.h b/chromium/net/dns/resolv_compat.h -new file mode 100644 -index 0000000..4f0e852 ---- /dev/null -+++ b/chromium/net/dns/resolv_compat.h -@@ -0,0 +1,29 @@ -+#if !defined(__GLIBC__) -+/*************************************************************************** -+ * resolv_compat.h -+ * -+ * Mimick GLIBC's res_ninit() and res_nclose() for musl libc -+ * Note: res_init() is actually deprecated according to -+ * http://docs.oracle.com/cd/E36784_01/html/E36875/res-nclose-3resolv.html -+ **************************************************************************/ -+#include -+ -+static inline int res_ninit(res_state statp) -+{ -+ int rc = res_init(); -+ if (statp != &_res) { -+ memcpy(statp, &_res, sizeof(*statp)); -+ } -+ return rc; -+} -+ -+static inline int res_nclose(res_state statp) -+{ -+ if (!statp) -+ return -1; -+ if (statp != &_res) { -+ memset(statp, 0, sizeof(*statp)); -+ } -+ return 0; -+} -+#endif diff --git a/meta/recipes-qt/qt5/qtwebengine/0012-chromium-musl-Do-not-define-__sbrk-on-musl.patch b/meta/recipes-qt/qt5/qtwebengine/0012-chromium-musl-Do-not-define-__sbrk-on-musl.patch deleted file mode 100644 index e6863251f4..0000000000 --- a/meta/recipes-qt/qt5/qtwebengine/0012-chromium-musl-Do-not-define-__sbrk-on-musl.patch +++ /dev/null @@ -1,26 +0,0 @@ -From a968ea31e3ac6a007fd157c61faf9f6f632d8230 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Fri, 7 Jul 2017 15:39:57 -0700 -Subject: [PATCH] chromium: musl: Do not define __sbrk on musl - -musl libc does not have sbrk. on musl libc will only work when called with 0 as -argument, so we just let it out for now - -Signed-off-by: Khem Raj ---- - chromium/third_party/tcmalloc/chromium/src/malloc_hook_mmap_linux.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/chromium/third_party/tcmalloc/chromium/src/malloc_hook_mmap_linux.h b/chromium/third_party/tcmalloc/chromium/src/malloc_hook_mmap_linux.h -index edc8cf2..a868b50 100644 ---- a/chromium/third_party/tcmalloc/chromium/src/malloc_hook_mmap_linux.h -+++ b/chromium/third_party/tcmalloc/chromium/src/malloc_hook_mmap_linux.h -@@ -233,7 +233,7 @@ extern "C" void* mremap(void* old_addr, size_t old_size, size_t new_size, - } - - // Don't hook sbrk() in Android, since it doesn't expose __sbrk. --#if !defined(__ANDROID__) -+#if !defined(__ANDROID__) && defined(__GLIBC__) - // libc's version: - extern "C" void* __sbrk(ptrdiff_t increment); - diff --git a/meta/recipes-qt/qt5/qtwebengine/0013-chromium-musl-Adjust-default-pthread-stack-size.patch b/meta/recipes-qt/qt5/qtwebengine/0013-chromium-musl-Adjust-default-pthread-stack-size.patch deleted file mode 100644 index c1d6ec32ae..0000000000 --- a/meta/recipes-qt/qt5/qtwebengine/0013-chromium-musl-Adjust-default-pthread-stack-size.patch +++ /dev/null @@ -1,47 +0,0 @@ -From a56debd9f26bacf76f0d734e98191485deba03fa Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Fri, 7 Jul 2017 16:41:23 -0700 -Subject: [PATCH] chromium: musl: Adjust default pthread stack size - -Signed-off-by: Khem Raj ---- - chromium/base/threading/platform_thread_linux.cc | 3 ++- - chromium/third_party/WebKit/Source/platform/wtf/StackUtil.cpp | 4 ++-- - 2 files changed, 4 insertions(+), 3 deletions(-) - -diff --git a/chromium/base/threading/platform_thread_linux.cc b/chromium/base/threading/platform_thread_linux.cc -index 8d411ed..4b56cf3 100644 ---- a/chromium/base/threading/platform_thread_linux.cc -+++ b/chromium/base/threading/platform_thread_linux.cc -@@ -175,7 +175,8 @@ void TerminateOnThread() {} - - size_t GetDefaultThreadStackSize(const pthread_attr_t& attributes) { - #if !defined(THREAD_SANITIZER) -- return 0; -+ // use 8mb like glibc to avoid running out of space -+ return (1 << 23); - #else - // ThreadSanitizer bloats the stack heavily. Evidence has been that the - // default stack size isn't enough for some browser tests. -diff --git a/chromium/third_party/WebKit/Source/platform/wtf/StackUtil.cpp b/chromium/third_party/WebKit/Source/platform/wtf/StackUtil.cpp -index 13c3f90..07308e0 100644 ---- a/chromium/third_party/WebKit/Source/platform/wtf/StackUtil.cpp -+++ b/chromium/third_party/WebKit/Source/platform/wtf/StackUtil.cpp -@@ -28,7 +28,7 @@ size_t GetUnderestimatedStackSize() { - // FIXME: On Mac OSX and Linux, this method cannot estimate stack size - // correctly for the main thread. - --#if defined(__GLIBC__) || defined(OS_ANDROID) || defined(OS_FREEBSD) || \ -+#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_FREEBSD) || \ - defined(OS_FUCHSIA) - // pthread_getattr_np() can fail if the thread is not invoked by - // pthread_create() (e.g., the main thread of webkit_unit_tests). -@@ -96,7 +96,7 @@ size_t GetUnderestimatedStackSize() { - } - - void* GetStackStart() { --#if defined(__GLIBC__) || defined(OS_ANDROID) || defined(OS_FREEBSD) || \ -+#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_FREEBSD) || \ - defined(OS_FUCHSIA) - pthread_attr_t attr; - int error; diff --git a/meta/recipes-qt/qt5/qtwebengine/0014-chromium-musl-include-asm-generic-ioctl.h-for-TCGETS.patch b/meta/recipes-qt/qt5/qtwebengine/0014-chromium-musl-include-asm-generic-ioctl.h-for-TCGETS.patch deleted file mode 100644 index 81e71e7db8..0000000000 --- a/meta/recipes-qt/qt5/qtwebengine/0014-chromium-musl-include-asm-generic-ioctl.h-for-TCGETS.patch +++ /dev/null @@ -1,22 +0,0 @@ -From 5809e73146cdf43d13aa1b3789bfc7ff2ff723af Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Fri, 7 Jul 2017 17:15:34 -0700 -Subject: [PATCH] chromium: musl: include asm-generic/ioctl.h for TCGETS2 - -Signed-off-by: Khem Raj ---- - chromium/device/serial/serial_io_handler_posix.cc | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/chromium/device/serial/serial_io_handler_posix.cc b/chromium/device/serial/serial_io_handler_posix.cc -index 8ffba12..82fb09f 100644 ---- a/chromium/device/serial/serial_io_handler_posix.cc -+++ b/chromium/device/serial/serial_io_handler_posix.cc -@@ -6,6 +6,7 @@ - - #include - #include -+#include - - #include "base/files/file_util.h" - #include "base/posix/eintr_wrapper.h" diff --git a/meta/recipes-qt/qt5/qtwebengine/0015-chromium-musl-tcmalloc-Use-off64_t-insread-of-__off6.patch b/meta/recipes-qt/qt5/qtwebengine/0015-chromium-musl-tcmalloc-Use-off64_t-insread-of-__off6.patch deleted file mode 100644 index 03aa77a048..0000000000 --- a/meta/recipes-qt/qt5/qtwebengine/0015-chromium-musl-tcmalloc-Use-off64_t-insread-of-__off6.patch +++ /dev/null @@ -1,23 +0,0 @@ -From 0aca8610a03cc100464d0d52a2c5425c52ab1e66 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Sat, 8 Jul 2017 09:08:23 -0700 -Subject: [PATCH] chromium: musl: tcmalloc: Use off64_t insread of __off64_t - -Signed-off-by: Khem Raj ---- - chromium/third_party/tcmalloc/chromium/src/base/linux_syscall_support.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/chromium/third_party/tcmalloc/chromium/src/base/linux_syscall_support.h b/chromium/third_party/tcmalloc/chromium/src/base/linux_syscall_support.h -index 91f77dd..bb84a0b 100644 ---- a/chromium/third_party/tcmalloc/chromium/src/base/linux_syscall_support.h -+++ b/chromium/third_party/tcmalloc/chromium/src/base/linux_syscall_support.h -@@ -1929,7 +1929,7 @@ typedef unsigned long int ulong; - #if defined(__x86_64__) - /* Need to make sure __off64_t isn't truncated to 32-bits under x32. */ - LSS_INLINE void* LSS_NAME(mmap)(void *s, size_t l, int p, int f, int d, -- __off64_t o) { -+ off64_t o) { - LSS_BODY(6, void*, mmap, LSS_SYSCALL_ARG(s), LSS_SYSCALL_ARG(l), - LSS_SYSCALL_ARG(p), LSS_SYSCALL_ARG(f), - LSS_SYSCALL_ARG(d), (uint64_t)(o)); diff --git a/meta/recipes-qt/qt5/qtwebengine_git.bb b/meta/recipes-qt/qt5/qtwebengine_git.bb index db089c14de..9177b15f4d 100644 --- a/meta/recipes-qt/qt5/qtwebengine_git.bb +++ b/meta/recipes-qt/qt5/qtwebengine_git.bb @@ -1,65 +1,45 @@ SUMMARY = "QtWebEngine combines the power of Chromium and Qt" -# Read http://blog.qt.io/blog/2016/01/13/new-agreement-with-the-kde-free-qt-foundation/ -LICENSE = "BSD & ( GPL-3.0 & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( LGPL-3.0 | The-Qt-Company-Commercial )" +LICENSE = "LGPL-3.0 & BSD" LIC_FILES_CHKSUM = " \ - file://src/core/browser_context_qt.cpp;md5=b5193b7d68699260f3b40b201365c8d2;beginline=1;endline=38 \ + file://src/core/browser_context_qt.cpp;md5=8b5dcd02451f832169d229afb56f27fd;beginline=1;endline=35 \ file://src/3rdparty/chromium/LICENSE;md5=0fca02217a5d49a14dfe2d11837bb34d \ - file://LICENSE.LGPL3;md5=8211fde12cc8a4e2477602f5953f5b71 \ file://LICENSE.GPLv3;md5=88e2b9117e6be406b5ed6ee4ca99a705 \ - file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504 \ - file://LICENSE.GPL3-EXCEPT;md5=763d8c535a234d9a3fb682c7ecb6c073 \ - file://LICENSE.GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ " DEPENDS += " \ - libpng-native \ - nss-native \ - nspr-native \ ninja-native \ - yasm-native \ - bison-native \ qtwebchannel \ - qtbase qtdeclarative qtxmlpatterns qtquickcontrols qtquickcontrols2 \ + qtbase qtdeclarative qtxmlpatterns qtquickcontrols \ qtlocation \ - libdrm fontconfig pixman openssl pango cairo icu pciutils nss \ + libdrm fontconfig pixman openssl pango cairo icu pciutils \ libcap \ gperf-native \ - ${@bb.utils.contains('DISTRO_FEATURES', 'alsa', 'alsa-lib', '', d)} \ " -DEPENDS_append_libc-musl = " libexecinfo" +# when qtbase is built with xcb enabled (default with x11 in DISTRO_FEATURES), +# qtwebengine will have additional dependencies: +# contains(QT_CONFIG, xcb): REQUIRED_PACKAGES += libdrm xcomposite xcursor xi xrandr xscrnsaver xtst +# xscreensaver isn't covered in qtbase DEPENDS +DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'libxscrnsaver', '', d)}" -EXTRA_QMAKEVARS_CONFIGURE += "-feature-webengine-system-ninja -no-feature-webengine-system-gn" +DEPENDS += "yasm-native" +EXTRA_QMAKEVARS_PRE += "GYP_CONFIG+=use_system_yasm" -# chromium/third_party/openh264/openh264.gyp adds -# -Wno-format to openh264_cflags_add -# similarly chromium/third_party/openh264/BUILD.gn for newer qtwebengine -# causing following error, because -Wformat-security cannot be used together with -Wno-format -# cc1plus: error: -Wformat-security ignored without -Wformat [-Werror=format-security] -# http://errors.yoctoproject.org/Errors/Details/150333/ -SECURITY_STRINGFORMAT = "" - -# To use system ffmpeg you need to enable also libwebp, opus, vpx +# To use system ffmpeg you need to enable also libwebp, opus, vpx # Only depenedencies available in oe-core are enabled by default -PACKAGECONFIG ??= "libwebp libevent libpng" -PACKAGECONFIG[icu] = "-feature-webengine-system-icu,-no-feature-webengine-system-icu,icu" -PACKAGECONFIG[ffmpeg] = "-feature-webengine-system-ffmpeg,-no-feature-webengine-system-ffmpeg,libav" -PACKAGECONFIG[webrtc] = "-feature-webengine-webrtc,-no-feature-webengine-webrtc,libvpx" -PACKAGECONFIG[libwebp] = "-feature-webengine-system-libwebp,-no-feature-webengine-system-libwebp,libwebp" -PACKAGECONFIG[opus] = "-feature-webengine-system-opus,-no-feature-webengine-system-opus,libopus" -PACKAGECONFIG[libvpx] = "-feature-webengine-system-libvpx,-no-feature-webengine-system-libvpx,libvpx" -PACKAGECONFIG[libevent] = "-feature-webengine-system-libevent,-no-feature-webengine-system-libevent,libevent" -PACKAGECONFIG[libpng] = "-feature-webengine-system-png,-no-feature-webengine-system-png,libpng" -PACKAGECONFIG[harfbuzz] = "-feature-webengine-system-harfbuzz,-no-feature-webengine-system-harfbuzz,harfbuzz" -PACKAGECONFIG[glib] = "-feature-webengine-system-glib,-no-feature-webengine-system-glib,glib" -PACKAGECONFIG[zlib] = "-feature-webengine-system-zlib,-no-feature-webengine-system-zlib,zlib" -PACKAGECONFIG[protobuf] = "-feature-webengine-system-protobuf,-no-feature-webengine-system-protobuf,protobuf" -PACKAGECONFIG[jasoncpp] = "-feature-webengine-system-jsoncpp,-no-feature-webengine-system-jsoncpp,jasoncpp" -PACKAGECONFIG[libxml2] = "-feature-webengine-system-libxml2,-no-feature-webengine-system-libxml2,libxml2" -PACKAGECONFIG[minizip] = "-feature-webengine-system-minizip,-no-feature-webengine-system-minizip,minizip" - -EXTRA_QMAKEVARS_CONFIGURE += "${PACKAGECONFIG_CONFARGS}" +PACKAGECONFIG ??= "libwebp flac libevent libxslt speex" +PACKAGECONFIG[opus] = "WEBENGINE_CONFIG+=use_system_opus,,libopus" +PACKAGECONFIG[icu] = "WEBENGINE_CONFIG+=use_system_icu,,icu" +PACKAGECONFIG[ffmpeg] = "WEBENGINE_CONFIG+=use_system_ffmpeg,,libav" +PACKAGECONFIG[libwebp] = "WEBENGINE_CONFIG+=use_system_libwebp,,libwebp" +PACKAGECONFIG[flac] = "WEBENGINE_CONFIG+=use_system_flac,,flac" +PACKAGECONFIG[libevent] = "WEBENGINE_CONFIG+=use_system_libevent,,libevent" +PACKAGECONFIG[libxslt] = "WEBENGINE_CONFIG+=use_system_libxslt,,libxslt" +PACKAGECONFIG[speex] = "WEBENGINE_CONFIG+=use_system_speex,,speex" +PACKAGECONFIG[vpx] = "WEBENGINE_CONFIG+=use_system_vpx,,libvpx" + +EXTRA_QMAKEVARS_PRE += "${PACKAGECONFIG_CONFARGS}" COMPATIBLE_MACHINE = "(-)" COMPATIBLE_MACHINE_x86 = "(.*)" @@ -67,7 +47,6 @@ COMPATIBLE_MACHINE_x86-64 = "(.*)" COMPATIBLE_MACHINE_armv6 = "(.*)" COMPATIBLE_MACHINE_armv7a = "(.*)" COMPATIBLE_MACHINE_armv7ve = "(.*)" -COMPATIBLE_MACHINE_aarch64 = "(.*)" inherit qmake5 inherit gettext @@ -81,34 +60,39 @@ def gettext_oeconf(d): require qt5.inc require qt5-git.inc -export GN_PKG_CONFIG_HOST = "${STAGING_BINDIR_NATIVE}/pkg-config-native" -export GN_HOST_TOOLCHAIN_EXTRA_CPPFLAGS = "-I${STAGING_DIR_NATIVE}/usr/include" +# To avoid trouble start with not separated build directory +SEPB = "${S}" +B = "${SEPB}" + +export NINJA_PATH="${STAGING_BINDIR_NATIVE}/ninja" do_configure() { + # replace LD with CXX, to workaround a possible gyp inheritssue? + export LD="${CXX}" + export CC="${CC}" + export CXX="${CXX}" + export CC_host="gcc" + export CXX_host="g++" + export QMAKE_MAKE_ARGS="${EXTRA_OEMAKE}" + export QMAKE_CACHE_EVAL="${PACKAGECONFIG_CONFARGS}" + + # Disable autodetection from sysroot: + sed -i 's/packagesExist([^)]*vpx[^)]*):/false:/g; s/config_srtp:/false:/g; s/config_snappy:/false:/g; s/packagesExist(nss):/false:/g; s/packagesExist(minizip, zlib):/false:/g; s/packagesExist(libwebp,libwebpdemux):/false:/g; s/packagesExist(libxml-2.0,libxslt):/false:/g; s/^ *packagesExist($$package):/false:/g' ${S}/tools/qmake/mkspecs/features/configure.prf # qmake can't find the OE_QMAKE_* variables on it's own so directly passing them as # arguments here - ${OE_QMAKE_QMAKE} ${EXTRA_QMAKEVARS_PRE} ${S} \ - QMAKE_CXX="${OE_QMAKE_CXX}" \ - QMAKE_CC="${OE_QMAKE_CC}" \ + ${OE_QMAKE_QMAKE} -r ${EXTRA_QMAKEVARS_PRE} QTWEBENGINE_ROOT="${S}" \ + QMAKE_CXX="${OE_QMAKE_CXX}" QMAKE_CC="${OE_QMAKE_CC}" \ QMAKE_LINK="${OE_QMAKE_LINK}" \ QMAKE_CFLAGS="${OE_QMAKE_CFLAGS}" \ QMAKE_CXXFLAGS="${OE_QMAKE_CXXFLAGS}" \ - -after ${EXTRA_QMAKEVARS_POST} -- \ - ${EXTRA_QMAKEVARS_CONFIGURE} + QMAKE_AR="${OE_QMAKE_AR} cqs" \ + -after ${EXTRA_QMAKEVARS_POST} } -do_configure_prepend_libc-musl() { - for f in `find ${S}/src/3rdparty/chromium/third_party/ffmpeg/chromium/config/Chromium/linux/ -name config.h -o -name config.asm`; do - sed -i -e "s:define HAVE_SYSCTL 1:define HAVE_SYSCTL 0:g" $f - done - sed -i -e "s:define HAVE_STRUCT_MALLINFO 1:/*undef HAVE_STRUCT_MALLINFO */:g" ${S}/src/3rdparty/chromium/third_party/tcmalloc/chromium/src/config_linux.h -} - -do_compile[progress] = "outof:^\[(\d+)/(\d+)\]\s+" - do_install_append() { - sed -i 's@ -Wl,--start-group.*-Wl,--end-group@@g; s@[^ ]*${B}[^ ]* @@g' ${D}${libdir}/pkgconfig/Qt5WebEngineCore.pc + rmdir ${D}${OE_QMAKE_PATH_PLUGINS}/${BPN} ${D}${OE_QMAKE_PATH_PLUGINS} || true + sed -i 's@ -Wl,--start-group.*-Wl,--end-group@@g; s@-L${B}[^ ]* @ @g' ${D}${libdir}/pkgconfig/Qt5WebEngineCore.pc } PACKAGE_DEBUG_SPLIT_STYLE = "debug-without-src" @@ -121,49 +105,33 @@ RDEPENDS_${PN}-examples += " \ qtdeclarative-qmlplugins \ " -QT_MODULE_BRANCH_CHROMIUM = "61-based" +QT_MODULE_BRANCH_CHROMIUM = "49-based" -# Patches from https://github.com/meta-qt5/qtwebengine/commits/b5.10 -# 5.10.meta-qt5.2 +# Patches from https://github.com/meta-qt5/qtwebengine/commits/b5.6 +# 5.6.meta-qt5.1 SRC_URI += " \ - ${QT_GIT}/qtwebengine-chromium.git;name=chromium;branch=${QT_MODULE_BRANCH_CHROMIUM};protocol=${QT_GIT_PROTOCOL};destsuffix=git/src/3rdparty \ - file://0001-WebEngine-qquickwebengineview_p_p.h-add-include-QCol.patch \ - file://0002-Include-dependency-to-QCoreApplication-translate.patch \ - file://0003-Force-host-toolchain-configuration.patch \ -" -SRC_URI_append_libc-musl = "\ - file://0004-musl-don-t-use-pvalloc-as-it-s-not-available-on-musl.patch \ - file://0005-musl-link-against-libexecinfo.patch \ + ${QT_GIT}/qtwebengine-chromium.git;name=chromium;branch=${QT_MODULE_BRANCH_CHROMIUM};destsuffix=git/src/3rdparty \ + file://0001-functions.prf-Don-t-match-QMAKE_EXT_CPP-or-QMAKE_EXT.patch \ + file://0002-functions.prf-Make-sure-we-only-use-the-file-name-to.patch \ + file://0003-functions.prf-allow-build-for-linux-oe-g-platform.patch \ + file://0004-WebEngine-qquickwebengineview_p_p.h-add-include-QCol.patch \ + file://0005-Include-dependency-to-QCoreApplication-translate.patch \ " -# Patches from https://github.com/meta-qt5/qtwebengine-chromium/commits/61-based -# 61-based.meta-qt5.2 +# Patches from https://github.com/meta-qt5/qtwebengine-chromium/commits/49-based +# 49-based.meta-qt5.1 SRC_URI += " \ - file://0001-chromium-Force-host-toolchain-configuration.patch;patchdir=src/3rdparty \ - file://0002-chromium-workaround-for-too-long-.rps-file-name.patch;patchdir=src/3rdparty \ -" - -SRC_URI_append_libc-musl = "\ - file://0003-chromium-musl-sandbox-Define-TEMP_FAILURE_RETRY-if-n.patch;patchdir=src/3rdparty \ - file://0004-chromium-musl-Avoid-mallinfo-APIs-on-non-glibc-linux.patch;patchdir=src/3rdparty \ - file://0005-chromium-musl-include-fcntl.h-for-loff_t.patch;patchdir=src/3rdparty \ - file://0006-chromium-musl-use-off64_t-instead-of-the-internal-__.patch;patchdir=src/3rdparty \ - file://0007-chromium-musl-linux-glibc-make-the-distinction.patch;patchdir=src/3rdparty \ - file://0008-chromium-musl-allocator-Do-not-include-glibc_weak_sy.patch;patchdir=src/3rdparty \ - file://0009-chromium-musl-Use-correct-member-name-__si_fields-fr.patch;patchdir=src/3rdparty \ - file://0010-chromium-musl-Match-syscalls-to-match-musl.patch;patchdir=src/3rdparty \ - file://0011-chromium-musl-Define-res_ninit-and-res_nclose-for-no.patch;patchdir=src/3rdparty \ - file://0012-chromium-musl-Do-not-define-__sbrk-on-musl.patch;patchdir=src/3rdparty \ - file://0013-chromium-musl-Adjust-default-pthread-stack-size.patch;patchdir=src/3rdparty \ - file://0014-chromium-musl-include-asm-generic-ioctl.h-for-TCGETS.patch;patchdir=src/3rdparty \ - file://0015-chromium-musl-tcmalloc-Use-off64_t-insread-of-__off6.patch;patchdir=src/3rdparty \ + file://0001-chromium-base.gypi-include-atomicops_internals_x86_g.patch;patchdir=src/3rdparty \ + file://0002-chromium-Change-false-to-FALSE-and-1-to-TRUE-FIX-qtw.patch;patchdir=src/3rdparty \ " -SRCREV_qtwebengine = "9dc8dff7a8f4d58f71d816375d49f8829f06aae5" -SRCREV_chromium = "c858cc76099db0af82a264b3c6f921a287cfcb42" +SRCREV_qtwebengine = "fad625e0ba39e855817bbf206ab9a846d07aeeec" +SRCREV_chromium = "cb094c05c5f06489fa64412e7f5d9e194a3f9495" SRCREV = "${SRCREV_qtwebengine}" SRCREV_FORMAT = "qtwebengine_chromium" +S = "${WORKDIR}/git" + # WARNING: qtwebengine-5.5.99+5.6.0-rc+gitAUTOINC+3f02c25de4_779a2388fc-r0 do_package_qa: QA Issue: ELF binary '/OE/build/oe-core/tmp-glibc/work/i586-oe-linux/qtwebengine/5.5.99+5.6.0-rc+gitAUTOINC+3f02c25de4_779a2388fc-r0/packages-split/qtwebengine/usr/lib/libQt5WebEngineCore.so.5.6.0' has relocations in .text [textrel] INSANE_SKIP_${PN} += "textrel" diff --git a/meta/recipes-qt/qt5/qtwebkit-examples_git.bb b/meta/recipes-qt/qt5/qtwebkit-examples_git.bb index 114fab7a7d..65a8196e3f 100644 --- a/meta/recipes-qt/qt5/qtwebkit-examples_git.bb +++ b/meta/recipes-qt/qt5/qtwebkit-examples_git.bb @@ -1,7 +1,9 @@ require qt5.inc require qt5-git.inc -LICENSE = "GFDL-1.3 & BSD & ( GPL-3.0 & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( GPL-2.0+ | LGPL-3.0 | The-Qt-Company-Commercial )" +# There are no LGPLv3-only licensed files in this component. +# There are no GPLv2 licensed files in this component. +LICENSE = "GFDL-1.3 & BSD & (LGPL-2.1 | LGPL-3.0)" LIC_FILES_CHKSUM = " \ file://LICENSE.GPLv2;md5=05832301944453ec79e40ba3c3cfceec \ file://LICENSE.LGPLv21;md5=58a180e1cf84c756c29f782b3a485c29 \ @@ -17,6 +19,4 @@ DEPENDS += "qtwebkit qtxmlpatterns" RDEPENDS_${PN}-examples += "qtwebkit-qmlplugins" RDEPENDS_${PN}-examples += "${@bb.utils.contains('PACKAGECONFIG_OPENSSL', 'openssl', 'ca-certificates', '', d)}" -QT_MODULE_BRANCH = "5.9" - -SRCREV = "a24c780b60d7d8bc00c4a48042cf7f32db777d55" +SRCREV = "0c623fab420102c54fa533da3b8ca774290d6d13" diff --git a/meta/recipes-qt/qt5/qtwebkit/0001-qtwebkit-fix-QA-issue-bad-RPATH.patch b/meta/recipes-qt/qt5/qtwebkit/0001-qtwebkit-fix-QA-issue-bad-RPATH.patch index f35c5d47e8..736521ad2a 100644 --- a/meta/recipes-qt/qt5/qtwebkit/0001-qtwebkit-fix-QA-issue-bad-RPATH.patch +++ b/meta/recipes-qt/qt5/qtwebkit/0001-qtwebkit-fix-QA-issue-bad-RPATH.patch @@ -1,4 +1,4 @@ -From c4e691a8dd2037d9b359e0de9d4790da9078f74e Mon Sep 17 00:00:00 2001 +From 2c2f861f1495f477290d5bd8c49b59bcd20ae845 Mon Sep 17 00:00:00 2001 From: Trevor Woerner Date: Fri, 7 Feb 2014 04:07:17 +0100 Subject: [PATCH] qtwebkit: fix QA issue (bad RPATH) diff --git a/meta/recipes-qt/qt5/qtwebkit/0002-Exclude-backtrace-API-for-non-glibc-libraries.patch b/meta/recipes-qt/qt5/qtwebkit/0002-Exclude-backtrace-API-for-non-glibc-libraries.patch deleted file mode 100644 index 6affd2e608..0000000000 --- a/meta/recipes-qt/qt5/qtwebkit/0002-Exclude-backtrace-API-for-non-glibc-libraries.patch +++ /dev/null @@ -1,35 +0,0 @@ -From fc2773961eaa536e6a617ded7c1a972d979fa2e4 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Fri, 5 Jun 2015 19:55:05 -0700 -Subject: [PATCH] Exclude backtrace() API for non-glibc libraries - -It was excluding musl with current checks, so lets make it such that it -considers only glibc when using backtrace API - -Signed-off-by: Khem Raj ---- - Source/WTF/wtf/Assertions.cpp | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/Source/WTF/wtf/Assertions.cpp b/Source/WTF/wtf/Assertions.cpp -index 1b2091f..ba03a28 100644 ---- a/Source/WTF/wtf/Assertions.cpp -+++ b/Source/WTF/wtf/Assertions.cpp -@@ -61,7 +61,7 @@ - #include - #endif - --#if (OS(DARWIN) || (OS(LINUX) && !defined(__UCLIBC__))) && !OS(ANDROID) -+#if (OS(DARWIN) || (OS(LINUX) && defined (__GLIBC__) && !defined(__UCLIBC__))) && !OS(ANDROID) - #include - #include - #include -@@ -245,7 +245,7 @@ void WTFReportArgumentAssertionFailure(const char* file, int line, const char* f - - void WTFGetBacktrace(void** stack, int* size) - { --#if (OS(DARWIN) || (OS(LINUX) && !defined(__UCLIBC__))) && !OS(ANDROID) -+#if (OS(DARWIN) || (OS(LINUX) && defined(__GLIBC__) && !defined(__UCLIBC__))) && !OS(ANDROID) - *size = backtrace(stack, *size); - #elif OS(WINDOWS) && !OS(WINCE) - // The CaptureStackBackTrace function is available in XP, but it is not defined diff --git a/meta/recipes-qt/qt5/qtwebkit/0002-Remove-TEXTREL-tag-in-x86.patch b/meta/recipes-qt/qt5/qtwebkit/0002-Remove-TEXTREL-tag-in-x86.patch new file mode 100644 index 0000000000..467b0cd7ca --- /dev/null +++ b/meta/recipes-qt/qt5/qtwebkit/0002-Remove-TEXTREL-tag-in-x86.patch @@ -0,0 +1,76 @@ +From 38211ab724d5379dd393414cc8668cd906bde2cb Mon Sep 17 00:00:00 2001 +From: Magnus Granberg +Date: Fri, 27 Feb 2015 11:55:09 +0100 +Subject: [PATCH] Remove TEXTREL tag in x86 + +Fix textrel QA warnings when building qtwebkit for x86: + + WARNING: QA Issue: ELF binary '/home/andre/rdk/rdk-master/build-vbox32/tmp/work/core2-32-rdk-linux/qtwebkit/5.4.0-r0/packages-split/qtwebkit/usr/lib/libQt5WebKit.so.5.4.0' has relocations in .text [textrel] + +Patch from upstream webkit: + + https://bugs.webkit.org/show_bug.cgi?id=70610 + +Minor refresh required to apply cleanly to the older webkit sources used +by qtwebkit. Specifically, the patch needed to be modified to account +for PLATFORM(MAC) -> OS(DARWIN) renaming in recent webkit which is not +part of qtwebkit yet ( https://bugs.webkit.org/show_bug.cgi?id=99683 ). + +Upstream status [webkit] : backport +Upstream status [qtwebkit] : unclear + +Bug: https://bugs.webkit.org/show_bug.cgi?id=70610 +Signed-off-by: Martin Jansa +--- + Source/JavaScriptCore/jit/ThunkGenerators.cpp | 24 ++++++++++++++++++++++++ + Source/WTF/wtf/InlineASM.h | 2 ++ + 2 files changed, 26 insertions(+) + +diff --git a/Source/JavaScriptCore/jit/ThunkGenerators.cpp b/Source/JavaScriptCore/jit/ThunkGenerators.cpp +index 9684df2..8af82d8 100644 +--- a/Source/JavaScriptCore/jit/ThunkGenerators.cpp ++++ b/Source/JavaScriptCore/jit/ThunkGenerators.cpp +@@ -524,6 +524,30 @@ double jsRound(double d) + } \ + static MathThunk UnaryDoubleOpWrapper(function) = &function##Thunk; + ++#elif CPU(X86) && COMPILER(GCC) && OS(LINUX) && defined(__PIC__) ++#define defineUnaryDoubleOpWrapper(function) \ ++ asm( \ ++ ".text\n" \ ++ ".globl " SYMBOL_STRING(function##Thunk) "\n" \ ++ HIDE_SYMBOL(function##Thunk) "\n" \ ++ SYMBOL_STRING(function##Thunk) ":" "\n" \ ++ "pushl %ebx\n" \ ++ "subl $20, %esp\n" \ ++ "movsd %xmm0, (%esp) \n" \ ++ "call __x86.get_pc_thunk.bx\n" \ ++ "addl $_GLOBAL_OFFSET_TABLE_, %ebx\n" \ ++ "call " GLOBAL_REFERENCE(function) "\n" \ ++ "fstpl (%esp) \n" \ ++ "movsd (%esp), %xmm0 \n" \ ++ "addl $20, %esp\n" \ ++ "popl %ebx\n" \ ++ "ret\n" \ ++ );\ ++ extern "C" { \ ++ MathThunkCallingConvention function##Thunk(MathThunkCallingConvention); \ ++ } \ ++ static MathThunk UnaryDoubleOpWrapper(function) = &function##Thunk; ++ + #elif CPU(X86) && COMPILER(GCC) && (PLATFORM(MAC) || OS(LINUX)) + #define defineUnaryDoubleOpWrapper(function) \ + asm( \ +diff --git a/Source/WTF/wtf/InlineASM.h b/Source/WTF/wtf/InlineASM.h +index 0a2fe78..2dc40ef 100644 +--- a/Source/WTF/wtf/InlineASM.h ++++ b/Source/WTF/wtf/InlineASM.h +@@ -46,6 +46,8 @@ + #define GLOBAL_REFERENCE(name) #name "@plt" + #elif CPU(X86) && COMPILER(MINGW) + #define GLOBAL_REFERENCE(name) "@" #name "@4" ++#elif OS(LINUX) && CPU(X86) && defined(__PIC__) ++#define GLOBAL_REFERENCE(name) SYMBOL_STRING(name) "@plt" + #else + #define GLOBAL_REFERENCE(name) SYMBOL_STRING(name) + #endif diff --git a/meta/recipes-qt/qt5/qtwebkit/0003-Exclude-backtrace-API-for-non-glibc-libraries.patch b/meta/recipes-qt/qt5/qtwebkit/0003-Exclude-backtrace-API-for-non-glibc-libraries.patch new file mode 100644 index 0000000000..7c7fe58e89 --- /dev/null +++ b/meta/recipes-qt/qt5/qtwebkit/0003-Exclude-backtrace-API-for-non-glibc-libraries.patch @@ -0,0 +1,35 @@ +From 3a8d40cb1297a26a6877857e74e752a1be08ad2b Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Fri, 5 Jun 2015 19:55:05 -0700 +Subject: [PATCH] Exclude backtrace() API for non-glibc libraries + +It was excluding musl with current checks, so lets make it such that it +considers only glibc when using backtrace API + +Signed-off-by: Khem Raj +--- + Source/WTF/wtf/Assertions.cpp | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/Source/WTF/wtf/Assertions.cpp b/Source/WTF/wtf/Assertions.cpp +index 1b2091f..ba03a28 100644 +--- a/Source/WTF/wtf/Assertions.cpp ++++ b/Source/WTF/wtf/Assertions.cpp +@@ -61,7 +61,7 @@ + #include + #endif + +-#if (OS(DARWIN) || (OS(LINUX) && !defined(__UCLIBC__))) && !OS(ANDROID) ++#if (OS(DARWIN) || (OS(LINUX) && defined (__GLIBC__) && !defined(__UCLIBC__))) && !OS(ANDROID) + #include + #include + #include +@@ -245,7 +245,7 @@ void WTFReportArgumentAssertionFailure(const char* file, int line, const char* f + + void WTFGetBacktrace(void** stack, int* size) + { +-#if (OS(DARWIN) || (OS(LINUX) && !defined(__UCLIBC__))) && !OS(ANDROID) ++#if (OS(DARWIN) || (OS(LINUX) && defined(__GLIBC__) && !defined(__UCLIBC__))) && !OS(ANDROID) + *size = backtrace(stack, *size); + #elif OS(WINDOWS) && !OS(WINCE) + // The CaptureStackBackTrace function is available in XP, but it is not defined diff --git a/meta/recipes-qt/qt5/qtwebkit_git.bb b/meta/recipes-qt/qt5/qtwebkit_git.bb index c8e832819d..d3721ae893 100644 --- a/meta/recipes-qt/qt5/qtwebkit_git.bb +++ b/meta/recipes-qt/qt5/qtwebkit_git.bb @@ -18,25 +18,15 @@ DEPENDS += "qtbase qtdeclarative icu ruby-native sqlite3 glib-2.0 libxslt gperf- ARM_INSTRUCTION_SET_armv4 = "arm" ARM_INSTRUCTION_SET_armv5 = "arm" -# https://bugzilla.yoctoproject.org/show_bug.cgi?id=9474 -# https://bugs.webkit.org/show_bug.cgi?id=159880 -# JSC JIT can build on ARMv7 with -marm, but doesn't work on runtime. -# Upstream only tests regularly the JSC JIT on ARMv7 with Thumb2 (-mthumb). -ARM_INSTRUCTION_SET_armv7a = "thumb" -ARM_INSTRUCTION_SET_armv7r = "thumb" -ARM_INSTRUCTION_SET_armv7ve = "thumb" - -# Patches from https://github.com/meta-qt5/qtwebkit/commits/b5.10 -# 5.10.meta-qt5.1 +# Patches from https://github.com/meta-qt5/qtwebkit/commits/b5.6 +# 5.6.meta-qt5.1 SRC_URI += "\ file://0001-qtwebkit-fix-QA-issue-bad-RPATH.patch \ - file://0002-Exclude-backtrace-API-for-non-glibc-libraries.patch \ + file://0002-Remove-TEXTREL-tag-in-x86.patch \ + file://0003-Exclude-backtrace-API-for-non-glibc-libraries.patch \ " -PACKAGECONFIG ??= "gstreamer qtlocation qtmultimedia qtsensors qtwebchannel \ - ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'libxcomposite libxrender', '', d)} \ - fontconfig \ -" +PACKAGECONFIG ??= "gstreamer qtlocation qtmultimedia qtsensors qtwebchannel" PACKAGECONFIG[gstreamer] = "OE_GSTREAMER_ENABLED,,gstreamer1.0 gstreamer1.0-plugins-base" PACKAGECONFIG[gstreamer010] = "OE_GSTREAMER010_ENABLED,,gstreamer gst-plugins-base" PACKAGECONFIG[qtlocation] = "OE_QTLOCATION_ENABLED,,qtlocation" @@ -44,9 +34,6 @@ PACKAGECONFIG[qtmultimedia] = "OE_QTMULTIMEDIA_ENABLED,,qtmultimedia" PACKAGECONFIG[qtsensors] = "OE_QTSENSORS_ENABLED,,qtsensors" PACKAGECONFIG[qtwebchannel] = "OE_QTWEBCHANNEL_ENABLED,,qtwebchannel" PACKAGECONFIG[libwebp] = "OE_LIBWEBP_ENABLED,,libwebp" -PACKAGECONFIG[libxcomposite] = "OE_LIBXCOMPOSITE_ENABLED,,libxcomposite" -PACKAGECONFIG[libxrender] = "OE_LIBXRENDER_ENABLED,,libxrender" -PACKAGECONFIG[fontconfig] = "OE_FONTCONFIG_ENABLED,,fontconfig" do_configure_prepend() { export QMAKE_CACHE_EVAL="CONFIG+=${PACKAGECONFIG_CONFARGS}" @@ -65,17 +52,8 @@ do_configure_prepend() { sed -e 's/\s\(qtHaveModule(webchannel)\)/ OE_QTWEBCHANNEL_ENABLED:\1/' -i ${S}/Source/WebKit2/WebKit2.pri # disable libwebp test if it isn't enabled by PACKAGECONFIG sed -e 's/\s\(config_libwebp: \)/ OE_LIBWEBP_ENABLED:\1/' -i ${S}/Tools/qmake/mkspecs/features/features.prf - # disable libxcomposite test if it isn't enabled by PACKAGECONFIG - sed -e 's/\s\(config_libXcomposite: \)/ OE_LIBXCOMPOSITE_ENABLED:\1/' -i ${S}/Tools/qmake/mkspecs/features/features.prf - # disable libxrender test if it isn't enabled by PACKAGECONFIG - sed -e 's/\s\(config_libXrender: \)/ OE_LIBXRENDER_ENABLED:\1/' -i ${S}/Tools/qmake/mkspecs/features/features.prf - # disable fontconfig test if it isn't enabled by PACKAGECONFIG - sed -e 's/\s\(config_fontconfig: \)/ OE_FONTCONFIG_ENABLED:\1/' -i ${S}/Tools/qmake/mkspecs/features/features.prf } -# Forcibly enable ICU, so qtbase doesn't need it. -EXTRA_QMAKEVARS_PRE += "QT_CONFIG+=icu" - # qtwebkit gets terribly big when linking with all debug info, disable by default QTWEBKIT_DEBUG = "QMAKE_CFLAGS+=-g0 QMAKE_CXXFLAGS+=-g0" EXTRA_QMAKEVARS_PRE += "${QTWEBKIT_DEBUG}" @@ -95,6 +73,4 @@ PACKAGES_remove = "${PN}-examples-dev ${PN}-examples-staticdev ${PN}-examples-db RUBY_SYS = "${@ '${BUILD_SYS}'.replace('i486', 'i386').replace('i586', 'i386').replace('i686', 'i386') }" export RUBYLIB="${STAGING_DATADIR_NATIVE}/rubygems:${STAGING_LIBDIR_NATIVE}/ruby:${STAGING_LIBDIR_NATIVE}/ruby/${RUBY_SYS}" -QT_MODULE_BRANCH = "5.9" - -SRCREV = "bd0657f98aff85b9f06d85a8cf4da6a27f61a56e" +SRCREV = "95a78c9f04d9a3f954477855f84180ced556a480" diff --git a/meta/recipes-qt/qt5/qtwebsockets_git.bb b/meta/recipes-qt/qt5/qtwebsockets_git.bb index 5d429ca055..f17cec42ec 100644 --- a/meta/recipes-qt/qt5/qtwebsockets_git.bb +++ b/meta/recipes-qt/qt5/qtwebsockets_git.bb @@ -1,14 +1,14 @@ require qt5.inc require qt5-git.inc -LICENSE = "GFDL-1.3 & (GPL-3 | LGPL-3.0) | The-Qt-Company-Commercial" +LICENSE = "GFDL-1.3 & (LGPL-2.1 & The-Qt-Company-Qt-LGPL-Exception-1.1 | LGPL-3.0)" LIC_FILES_CHKSUM = " \ - file://LICENSE.GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ - file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504 \ - file://LICENSE.GPL3-EXCEPT;md5=763d8c535a234d9a3fb682c7ecb6c073 \ - file://LICENSE.LGPL3;md5=e6a600fd5e1d9cbde2d983680233ad02 \ + file://LICENSE.LGPLv21;md5=4bfd28363f541b10d9f024181b8df516 \ + file://LICENSE.LGPLv3;md5=e0459b45c5c4840b353141a8bbed91f0 \ + file://LICENSE.GPLv3;md5=88e2b9117e6be406b5ed6ee4ca99a705 \ + file://LGPL_EXCEPTION.txt;md5=bb426f3367c4805d1e12fad05bd0b750 \ " DEPENDS += "qtbase qtdeclarative" -SRCREV = "2160c268ec80012f86be3eef20e05c267cdd2926" +SRCREV = "65e7130466963e0fd9cee8719d8b37c9fb15db35" diff --git a/meta/recipes-qt/qt5/qtwebview_git.bb b/meta/recipes-qt/qt5/qtwebview_git.bb deleted file mode 100644 index f164c6af58..0000000000 --- a/meta/recipes-qt/qt5/qtwebview_git.bb +++ /dev/null @@ -1,22 +0,0 @@ -LICENSE = "GFDL-1.3 & BSD & ( GPL-2.0+ | LGPL-3.0 ) | The-Qt-Company-Commercial" -LIC_FILES_CHKSUM = " \ - file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e \ - file://LICENSE.GPLv2;md5=c96076271561b0e3785dad260634eaa8 \ - file://LICENSE.GPLv3;md5=88e2b9117e6be406b5ed6ee4ca99a705 \ - file://LICENSE.LGPLv3;md5=e0459b45c5c4840b353141a8bbed91f0 \ -" - -require qt5.inc -require qt5-git.inc - -DEPENDS += "qtbase qtwebengine" - -COMPATIBLE_MACHINE = "(-)" -COMPATIBLE_MACHINE_x86 = "(.*)" -COMPATIBLE_MACHINE_x86-64 = "(.*)" -COMPATIBLE_MACHINE_armv6 = "(.*)" -COMPATIBLE_MACHINE_armv7a = "(.*)" -COMPATIBLE_MACHINE_armv7ve = "(.*)" -COMPATIBLE_MACHINE_aarch64 = "(.*)" - -SRCREV = "7445cd28616e68af3cf5e074a5576cbe6c5bf491" diff --git a/meta/recipes-qt/qt5/qtx11extras_git.bb b/meta/recipes-qt/qt5/qtx11extras_git.bb index 443e9d50b3..f81081fea6 100644 --- a/meta/recipes-qt/qt5/qtx11extras_git.bb +++ b/meta/recipes-qt/qt5/qtx11extras_git.bb @@ -13,4 +13,4 @@ LIC_FILES_CHKSUM = " \ DEPENDS += "qtbase" -SRCREV = "a751298bc381b0fd0c6867e43d2613b98c2cb71f" +SRCREV = "e33fc10fa49da17b297c53e44d109dc4d24c974a" diff --git a/meta/recipes-qt/qt5/qtxmlpatterns_git.bb b/meta/recipes-qt/qt5/qtxmlpatterns_git.bb index 77d7fe20b1..63bed1a395 100644 --- a/meta/recipes-qt/qt5/qtxmlpatterns_git.bb +++ b/meta/recipes-qt/qt5/qtxmlpatterns_git.bb @@ -1,20 +1,18 @@ require qt5.inc require qt5-git.inc -require qt5-ptest.inc -HOMEPAGE = "http://www.qt.io" -LICENSE = "GFDL-1.3 & BSD & ( GPL-3.0 & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( GPL-2.0+ | LGPL-3.0 | The-Qt-Company-Commercial )" +# There are no LGPLv3-only licensed files in this component. +LICENSE = "GFDL-1.3 & BSD & (LGPL-2.1 & The-Qt-Company-Qt-LGPL-Exception-1.1 | LGPL-3.0)" LIC_FILES_CHKSUM = " \ - file://LICENSE.LGPL3;md5=e6a600fd5e1d9cbde2d983680233ad02 \ - file://LICENSE.GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ - file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504 \ - file://LICENSE.GPL3-EXCEPT;md5=763d8c535a234d9a3fb682c7ecb6c073 \ + file://LICENSE.LGPLv21;md5=4bfd28363f541b10d9f024181b8df516 \ + file://LICENSE.LGPLv3;md5=e0459b45c5c4840b353141a8bbed91f0 \ + file://LICENSE.GPLv3;md5=88e2b9117e6be406b5ed6ee4ca99a705 \ + file://LGPL_EXCEPTION.txt;md5=9625233da42f9e0ce9d63651a9d97654 \ file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e \ " DEPENDS += "qtbase" -SRCREV = "7c4113d6e6215b26b866ed2a0da0fa5e0c12b8ea" +SRCREV = "50582280b10fb1962b3bdfdd06a72ae1e0325049" BBCLASSEXTEND =+ "native nativesdk" - -- cgit 1.2.3-korg