diff options
author | Andreas Müller <schnitzeltony@googlemail.com> | 2015-01-27 06:53:52 +0100 |
---|---|---|
committer | Martin Jansa <Martin.Jansa@gmail.com> | 2015-02-18 16:52:52 +0100 |
commit | dfea51574bd4fe5ce1c2e3bf3f18b8ee7c0e8eb7 (patch) | |
tree | 00b74bd92e92990619e46e7de7865634894db7e5 | |
parent | ce88fc4221a8f71cc8f37dec2213f797a5e366c4 (diff) | |
download | meta-qt5-dfea51574bd4fe5ce1c2e3bf3f18b8ee7c0e8eb7.tar.gz |
qt5-creator: add 3.3.0 of qt-creator
* this is the first version which dropped qt4 support
* rename recipe to avoid conflicts with meta-oe's qt-creator
* Desktop file was based on [1]
[1] http://pkgs.fedoraproject.org/cgit/qt-creator.git/tree/qtcreator.desktop
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
3 files changed, 191 insertions, 0 deletions
diff --git a/recipes-qt/qt5/qt5-creator/0001-Fix-Allow-qt-creator-to-build-on-arm-aarch32-and-aar.patch b/recipes-qt/qt5/qt5-creator/0001-Fix-Allow-qt-creator-to-build-on-arm-aarch32-and-aar.patch new file mode 100644 index 00000000..3ed8bc45 --- /dev/null +++ b/recipes-qt/qt5/qt5-creator/0001-Fix-Allow-qt-creator-to-build-on-arm-aarch32-and-aar.patch | |||
@@ -0,0 +1,94 @@ | |||
1 | From 748174788b318c6316e6d41ce323306120223e02 Mon Sep 17 00:00:00 2001 | ||
2 | From: Greg Nietsky <gregory@distrotech.co.za> | ||
3 | Date: Tue, 4 Mar 2014 11:33:40 +0200 | ||
4 | Subject: [PATCH 1/2] Fix: Allow qt-creator to build on arm aarch32 and aarch64 | ||
5 | |||
6 | Botan is imported hardwired for x86 this small patch allows it | ||
7 | too operate on arm other platforms could be added. | ||
8 | |||
9 | Task-number: QTCREATORBUG-8107 | ||
10 | Change-Id: Iddea28f21c9fa1afd2fdd5d16a44e6c96a516a7a | ||
11 | --- | ||
12 | src/libs/3rdparty/botan/botan.cpp | 16 +++++++++++++++- | ||
13 | src/libs/3rdparty/botan/botan.h | 2 ++ | ||
14 | 2 files changed, 17 insertions(+), 1 deletion(-) | ||
15 | |||
16 | diff --git a/src/libs/3rdparty/botan/botan.cpp b/src/libs/3rdparty/botan/botan.cpp | ||
17 | index b7a9ddf..c5b9826 100644 | ||
18 | --- a/src/libs/3rdparty/botan/botan.cpp | ||
19 | +++ b/src/libs/3rdparty/botan/botan.cpp | ||
20 | @@ -1101,6 +1101,8 @@ class Montgomery_Exponentiator : public Modular_Exponentiator | ||
21 | |||
22 | #if (BOTAN_MP_WORD_BITS != 32) | ||
23 | #error The mp_x86_32 module requires that BOTAN_MP_WORD_BITS == 32 | ||
24 | +#elif !defined(BOTAN_TARGET_CPU_IS_X86_FAMILY) | ||
25 | +typedef Botan::u64bit dword; | ||
26 | #endif | ||
27 | |||
28 | #ifdef Q_OS_UNIX | ||
29 | @@ -1118,6 +1120,7 @@ extern "C" { | ||
30 | */ | ||
31 | inline word word_madd2(word a, word b, word* c) | ||
32 | { | ||
33 | +#if defined(BOTAN_TARGET_CPU_IS_X86_FAMILY) | ||
34 | asm( | ||
35 | ASM("mull %[b]") | ||
36 | ASM("addl %[c],%[a]") | ||
37 | @@ -1127,6 +1130,11 @@ inline word word_madd2(word a, word b, word* c) | ||
38 | : "0"(a), "1"(b), [c]"g"(*c) : "cc"); | ||
39 | |||
40 | return a; | ||
41 | +#else | ||
42 | + dword z = (dword)a * b + *c; | ||
43 | + *c = (word)(z >> BOTAN_MP_WORD_BITS); | ||
44 | + return (word)z; | ||
45 | +#endif | ||
46 | } | ||
47 | |||
48 | /* | ||
49 | @@ -1134,6 +1142,7 @@ inline word word_madd2(word a, word b, word* c) | ||
50 | */ | ||
51 | inline word word_madd3(word a, word b, word c, word* d) | ||
52 | { | ||
53 | +#if defined(BOTAN_TARGET_CPU_IS_X86_FAMILY) | ||
54 | asm( | ||
55 | ASM("mull %[b]") | ||
56 | |||
57 | @@ -1147,6 +1156,11 @@ inline word word_madd3(word a, word b, word c, word* d) | ||
58 | : "0"(a), "1"(b), [c]"g"(c), [d]"g"(*d) : "cc"); | ||
59 | |||
60 | return a; | ||
61 | +#else | ||
62 | + dword z = (dword)a * b + c + *d; | ||
63 | + *d = (word)(z >> BOTAN_MP_WORD_BITS); | ||
64 | + return (word)z; | ||
65 | +#endif | ||
66 | } | ||
67 | |||
68 | } | ||
69 | @@ -2315,7 +2329,7 @@ namespace Botan { | ||
70 | |||
71 | extern "C" { | ||
72 | |||
73 | -#ifdef Q_OS_UNIX | ||
74 | +#if defined(Q_OS_UNIX) && defined(BOTAN_TARGET_CPU_IS_X86_FAMILY) | ||
75 | /* | ||
76 | * Helper Macros for x86 Assembly | ||
77 | */ | ||
78 | diff --git a/src/libs/3rdparty/botan/botan.h b/src/libs/3rdparty/botan/botan.h | ||
79 | index 2981d2c..1c8d828 100644 | ||
80 | --- a/src/libs/3rdparty/botan/botan.h | ||
81 | +++ b/src/libs/3rdparty/botan/botan.h | ||
82 | @@ -82,7 +82,9 @@ | ||
83 | #endif | ||
84 | |||
85 | #define BOTAN_TARGET_CPU_IS_LITTLE_ENDIAN | ||
86 | +#if !defined(__arm__) && !defined(__aarch64__) | ||
87 | #define BOTAN_TARGET_CPU_IS_X86_FAMILY | ||
88 | +#endif | ||
89 | #define BOTAN_TARGET_UNALIGNED_MEMORY_ACCESS_OK 1 | ||
90 | |||
91 | #if defined(BOTAN_TARGET_CPU_IS_LITTLE_ENDIAN) || \ | ||
92 | -- | ||
93 | 1.8.3.1 | ||
94 | |||
diff --git a/recipes-qt/qt5/qt5-creator/qtcreator.desktop.in b/recipes-qt/qt5/qt5-creator/qtcreator.desktop.in new file mode 100644 index 00000000..64f7c6ba --- /dev/null +++ b/recipes-qt/qt5/qt5-creator/qtcreator.desktop.in | |||
@@ -0,0 +1,10 @@ | |||
1 | [Desktop Entry] | ||
2 | Type=Application | ||
3 | Exec=sh -c "PATH=$PATH:@QT5_QMAKE@ qtcreator %F" | ||
4 | Name=Qt Creator | ||
5 | GenericName=C++ IDE for developing Qt applications | ||
6 | X-KDE-StartupNotify=true | ||
7 | Icon=QtProject-qtcreator | ||
8 | Terminal=false | ||
9 | Categories=Development;IDE;Qt; | ||
10 | MimeType=text/x-c++src;text/x-c++hdr;text/x-xsrc;application/x-designer;application/vnd.nokia.qt.qmakeprofile;application/vnd.nokia.xml.qt.resource; | ||
diff --git a/recipes-qt/qt5/qt5-creator_3.3.0.bb b/recipes-qt/qt5/qt5-creator_3.3.0.bb new file mode 100644 index 00000000..76f99823 --- /dev/null +++ b/recipes-qt/qt5/qt5-creator_3.3.0.bb | |||
@@ -0,0 +1,87 @@ | |||
1 | SUMMARY = "Qt Creator is a new cross-platform Qt IDE" | ||
2 | |||
3 | # Note: | ||
4 | # The toolchain auto detection does not work completely yet. To compile/debug | ||
5 | # open menu 'Tools/Options and select 'Build & Run'. In tab 'Kits' select 'Desktop' | ||
6 | # 'Compiler/Manage...' and add local gcc'. At 'Debugger' select | ||
7 | # 'System GDB at /usr/bin/gdb. | ||
8 | |||
9 | HOMEPAGE = "https://qt-project.org/" | ||
10 | LICENSE = "LGPLv2.1 | GPLv3" | ||
11 | LIC_FILES_CHKSUM = " \ | ||
12 | file://LGPL_EXCEPTION.TXT;md5=eb6c371255e1262c55ae9b652a90b528 \ | ||
13 | file://LICENSE.LGPLv21;md5=243b725d71bb5df4a1e5920b344b86ad \ | ||
14 | file://LICENSE.LGPLv3;md5=c1939be5579666be947371bc8120425f \ | ||
15 | " | ||
16 | |||
17 | inherit qmake5 | ||
18 | |||
19 | DEPENDS = "qtbase qtscript qtwebkit qtxmlpatterns qtx11extras qtdeclarative qttools qttools-native qtsvg" | ||
20 | |||
21 | SRC_URI = " \ | ||
22 | http://download.qt.io/official_releases/qtcreator/3.3/${PV}/qt-creator-opensource-src-${PV}.tar.gz \ | ||
23 | file://0001-Fix-Allow-qt-creator-to-build-on-arm-aarch32-and-aar.patch \ | ||
24 | file://qtcreator.desktop.in \ | ||
25 | " | ||
26 | SRC_URI[md5sum] = "5e33988908282c779f2e6e4dca2bba3e" | ||
27 | SRC_URI[sha256sum] = "27a5c8815fab95f959134047f8315686de4de6f99b0bedfd46b5dedae390525a" | ||
28 | |||
29 | S = "${WORKDIR}/qt-creator-opensource-src-${PV}" | ||
30 | |||
31 | EXTRA_QMAKEVARS_PRE += "IDE_LIBRARY_BASENAME=${baselib}/${QT_DIR_NAME}" | ||
32 | |||
33 | do_configure_prepend() { | ||
34 | # causes gcc infinite loop with 4.9.x for arm targets similar to | ||
35 | # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61033 | ||
36 | export DO_NOT_BUILD_QMLDESIGNER=1 | ||
37 | } | ||
38 | |||
39 | do_configure_append() { | ||
40 | # Find native tools | ||
41 | sed -i 's:${STAGING_BINDIR}.*/lrelease:${STAGING_BINDIR_NATIVE}/${QT_DIR_NAME}/lrelease:g' ${B}/share/qtcreator/translations/Makefile | ||
42 | sed -i 's:${STAGING_BINDIR}.*/qdoc:${STAGING_BINDIR_NATIVE}/${QT_DIR_NAME}/qdoc:g' ${B}/Makefile | ||
43 | |||
44 | # see qtbase-native.inc | ||
45 | # sed -i 's:QT_INSTALL_DOCS=${docdir}:QT_INSTALL_DOCS=${STAGING_DATADIR_NATIVE}/${QT_DIR_NAME}/doc:g' ${B}/Makefile | ||
46 | } | ||
47 | |||
48 | do_compile_append() { | ||
49 | # build docs | ||
50 | #oe_runmake docs_online | ||
51 | } | ||
52 | |||
53 | do_install() { | ||
54 | oe_runmake install INSTALL_ROOT=${D}${prefix} | ||
55 | oe_runmake install_inst_qch_docs INSTALL_ROOT=${D}${prefix} | ||
56 | # install desktop and ensure that qt-creator finds qmake | ||
57 | install -d ${D}${datadir}/applications | ||
58 | install -m 0644 ${WORKDIR}/qtcreator.desktop.in ${D}${datadir}/applications/qtcreator.desktop | ||
59 | sed -i 's:@QT5_QMAKE@:${bindir}/${QT_DIR_NAME}:g' ${D}${datadir}/applications/qtcreator.desktop | ||
60 | } | ||
61 | |||
62 | FILES_${PN} += " \ | ||
63 | ${datadir}/qtcreator \ | ||
64 | ${datadir}/icons \ | ||
65 | ${libdir}/${QT_DIR_NAME}/qtcreator \ | ||
66 | " | ||
67 | FILES_${PN}-dbg += " \ | ||
68 | ${libdir}/${QT_DIR_NAME}/qtcreator/.debug \ | ||
69 | ${libdir}/${QT_DIR_NAME}/qtcreator/plugins/.debug \ | ||
70 | ${libdir}/${QT_DIR_NAME}/qtcreator/plugins/qbs/plugins/.debug \ | ||
71 | " | ||
72 | |||
73 | FILES_${PN}-dev += " \ | ||
74 | ${libdir}/${QT_DIR_NAME}/qtcreator/*${SOLIBSDEV} \ | ||
75 | " | ||
76 | |||
77 | RDEPENDS_${PN} += "perl" | ||
78 | RCONFLICTS_${PN} = "qt-creator" | ||
79 | |||
80 | # To give best user experience out of the box.. | ||
81 | RRECOMMENDS_${PN} += " \ | ||
82 | packagegroup-qt5-toolchain-target \ | ||
83 | binutils \ | ||
84 | ccache \ | ||
85 | gcc-symlinks \ | ||
86 | gdb \ | ||
87 | " | ||