diff options
Diffstat (limited to 'recipes-qt/qt5/qt5-creator_git.bb')
-rw-r--r-- | recipes-qt/qt5/qt5-creator_git.bb | 82 |
1 files changed, 54 insertions, 28 deletions
diff --git a/recipes-qt/qt5/qt5-creator_git.bb b/recipes-qt/qt5/qt5-creator_git.bb index a3960042..85bfcc35 100644 --- a/recipes-qt/qt5/qt5-creator_git.bb +++ b/recipes-qt/qt5/qt5-creator_git.bb @@ -7,77 +7,103 @@ SUMMARY = "Qt Creator is a new cross-platform Qt IDE" # 'System GDB at /usr/bin/gdb. HOMEPAGE = "https://qt-project.org/" -LICENSE = "GPLv3" +LICENSE = "GPL-3.0-only" LIC_FILES_CHKSUM = " \ file://LICENSE.GPL3-EXCEPT;md5=763d8c535a234d9a3fb682c7ecb6c073 \ " -inherit qmake5 +inherit qmake5 pkgconfig mime-xdg -DEPENDS = "qtbase qtscript qtwebkit qtxmlpatterns qtx11extras qtdeclarative qttools qttools-native qtsvg chrpath-replacement-native" -DEPENDS_append_toolchain-clang = " clang llvm-common" -DEPENDS_append_libc-musl = " libexecinfo" - -SRCREV = "8181363fa90eb651591bf71e1a840e1c998429f4" -PV = "4.9.2+git${SRCPV}" +DEPENDS += "qtbase qtscript qtxmlpatterns qtx11extras qtdeclarative qttools qttools-native qtsvg chrpath-replacement-native zlib" +DEPENDS:append:libc-musl = " libexecinfo" +SRCREV = "39ac7b1bf6add473026687003311b702742b6b21" +PV = "4.15.2+git${SRCPV}" # Patches from https://github.com/meta-qt5/qtcreator/commits/b4.9.2 # 4.9.2.meta-qt5.1 SRC_URI = " \ - git://code.qt.io/qt-creator/qt-creator.git;branch=4.9 \ - file://0001-clangformat-AllowShortIfStatementsOnASingleLine-is-n.patch \ + git://code.qt.io/qt-creator/qt-creator.git;branch=4.15 \ + file://0001-app-Use-malloc_trim-only-on-glibc.patch \ + file://0002-clangformat-Fix-build-with-LLVM-13.patch \ + file://0003-clangformat-Fix-build-with-LLVM-13.patch \ " -SRC_URI_append_libc-musl = " file://0001-Link-with-libexecinfo-on-musl.patch" +SRC_URI:append:libc-musl = " file://0001-Link-with-libexecinfo-on-musl.patch" S = "${WORKDIR}/git" -EXTRA_QMAKEVARS_PRE += "IDE_LIBRARY_BASENAME=${baselib}${QT_DIR_NAME}" +EXTRA_QMAKEVARS_PRE += " \ + IDE_LIBRARY_BASENAME=${baselib}${QT_DIR_NAME} \ + CONFIG+=disable_external_rpath \ +" EXTRANATIVEPATH += "chrpath-native" -do_configure_append() { +PACKAGECONFIG ??= "" +PACKAGECONFIG:append:toolchain-clang = " clang" + +# Important note: In case clang was added to qttools' PACKAGECONFIG, it has to +# be added here too - otherwise build fails trying to link native clang libraries +PACKAGECONFIG[clang] = ",,clang" + +COMPATIBLE_HOST:toolchain-clang:riscv32 = "null" +COMPATIBLE_HOST:toolchain-clang:riscv64 = "null" + +do_configure:append() { # Find native tools sed -i 's:${STAGING_BINDIR}.*/qdoc:${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}/qdoc:g' ${B}/Makefile if [ -e ${B}/share/qtcreator/translations/Makefile ]; then - sed -i 's:${STAGING_BINDIR}.*/lrelease:${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}/lrelease:g' ${B}/share/qtcreator/translations/Makefile - sed -i 's:${STAGING_BINDIR}.*/lupdate:${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}/lupdate:g' ${B}/share/qtcreator/translations/Makefile - sed -i 's:${STAGING_BINDIR}.*/xmlpatterns:${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}/xmlpatterns:g' ${B}/share/qtcreator/translations/Makefile - sed -i 's:${STAGING_BINDIR}.*/lconvert:${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}/lconvert:g' ${B}/share/qtcreator/translations/Makefile + sed -i 's:${STAGING_BINDIR}/lrelease:${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}/lrelease:g' ${B}/share/qtcreator/translations/Makefile + sed -i 's:${STAGING_BINDIR}/lupdate:${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}/lupdate:g' ${B}/share/qtcreator/translations/Makefile + sed -i 's:${STAGING_BINDIR}/xmlpatterns:${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}/xmlpatterns:g' ${B}/share/qtcreator/translations/Makefile + sed -i 's:${STAGING_BINDIR}/lconvert:${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}/lconvert:g' ${B}/share/qtcreator/translations/Makefile fi } do_install() { oe_runmake install INSTALL_ROOT=${D}${prefix} -} -do_install_append_toolchain-clang () { - # Remove RPATHs embedded in bins - chrpath --delete ${D}${libdir}/qtcreator/plugins/libClang* - chrpath --delete ${D}${libexecdir}/qtcreator/clang* + if [ "${@bb.utils.contains("PACKAGECONFIG", "clang", "1", "0", d)}" = "1" ]; then + # Remove RPATHs embedded in bins + chrpath --delete ${D}${libdir}/qtcreator/plugins/libClang* + chrpath --delete ${D}${libexecdir}/qtcreator/clang* + fi } -FILES_${PN} += " \ +FILES:${PN} += " \ ${datadir}/qtcreator \ ${datadir}/metainfo \ ${datadir}/icons \ ${libdir}${QT_DIR_NAME}/qtcreator \ " -FILES_${PN}-dev += " \ +FILES:${PN}-dev += " \ ${libdir}${QT_DIR_NAME}/qtcreator/*${SOLIBSDEV} \ " -RDEPENDS_${PN} += "perl python" -RCONFLICTS_${PN} = "qt-creator" +RDEPENDS:${PN} += "perl python3" +RCONFLICTS:${PN} = "qt-creator" # To give best user experience out of the box.. -RRECOMMENDS_${PN} += " \ +RRECOMMENDS:${PN} += " \ packagegroup-qt5-toolchain-target \ binutils \ ccache \ make \ gcc-symlinks g++-symlinks cpp-symlinks \ gdb \ + cmake \ + qtwebengine-dev \ + qtwebengine-mkspecs \ + qtwebengine-plugins \ + ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'qtwebengine-qmlplugins', '', d)} \ " # ERROR: qt5-creator-4.5.1-r0 do_package_qa: QA Issue: No GNU_HASH in the elf binary: '/OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/qt5-creator/4.5.1-r0/packages-split/qt5-creator/usr/lib/qt5/qtcreator/libqbscore.so.1.10.1' -INSANE_SKIP_${PN} += "ldflags" +INSANE_SKIP:${PN} += "ldflags" + +inherit features_check +REQUIRED_DISTRO_FEATURES ?= "x11 opengl" + +python() { + if 'meta-python2' not in d.getVar('BBFILE_COLLECTIONS').split(): + raise bb.parse.SkipRecipe('Requires meta-python2 to be present.') +} |