summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndreas Müller <schnitzeltony@googlemail.com>2015-01-27 06:53:52 +0100
committerMartin Jansa <Martin.Jansa@gmail.com>2015-02-18 16:52:52 +0100
commitdfea51574bd4fe5ce1c2e3bf3f18b8ee7c0e8eb7 (patch)
tree00b74bd92e92990619e46e7de7865634894db7e5
parentce88fc4221a8f71cc8f37dec2213f797a5e366c4 (diff)
downloadmeta-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>
-rw-r--r--recipes-qt/qt5/qt5-creator/0001-Fix-Allow-qt-creator-to-build-on-arm-aarch32-and-aar.patch94
-rw-r--r--recipes-qt/qt5/qt5-creator/qtcreator.desktop.in10
-rw-r--r--recipes-qt/qt5/qt5-creator_3.3.0.bb87
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 @@
1From 748174788b318c6316e6d41ce323306120223e02 Mon Sep 17 00:00:00 2001
2From: Greg Nietsky <gregory@distrotech.co.za>
3Date: Tue, 4 Mar 2014 11:33:40 +0200
4Subject: [PATCH 1/2] Fix: Allow qt-creator to build on arm aarch32 and aarch64
5
6Botan is imported hardwired for x86 this small patch allows it
7too operate on arm other platforms could be added.
8
9Task-number: QTCREATORBUG-8107
10Change-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
16diff --git a/src/libs/3rdparty/botan/botan.cpp b/src/libs/3rdparty/botan/botan.cpp
17index 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 */
78diff --git a/src/libs/3rdparty/botan/botan.h b/src/libs/3rdparty/botan/botan.h
79index 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--
931.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]
2Type=Application
3Exec=sh -c "PATH=$PATH:@QT5_QMAKE@ qtcreator %F"
4Name=Qt Creator
5GenericName=C++ IDE for developing Qt applications
6X-KDE-StartupNotify=true
7Icon=QtProject-qtcreator
8Terminal=false
9Categories=Development;IDE;Qt;
10MimeType=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 @@
1SUMMARY = "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
9HOMEPAGE = "https://qt-project.org/"
10LICENSE = "LGPLv2.1 | GPLv3"
11LIC_FILES_CHKSUM = " \
12 file://LGPL_EXCEPTION.TXT;md5=eb6c371255e1262c55ae9b652a90b528 \
13 file://LICENSE.LGPLv21;md5=243b725d71bb5df4a1e5920b344b86ad \
14 file://LICENSE.LGPLv3;md5=c1939be5579666be947371bc8120425f \
15"
16
17inherit qmake5
18
19DEPENDS = "qtbase qtscript qtwebkit qtxmlpatterns qtx11extras qtdeclarative qttools qttools-native qtsvg"
20
21SRC_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"
26SRC_URI[md5sum] = "5e33988908282c779f2e6e4dca2bba3e"
27SRC_URI[sha256sum] = "27a5c8815fab95f959134047f8315686de4de6f99b0bedfd46b5dedae390525a"
28
29S = "${WORKDIR}/qt-creator-opensource-src-${PV}"
30
31EXTRA_QMAKEVARS_PRE += "IDE_LIBRARY_BASENAME=${baselib}/${QT_DIR_NAME}"
32
33do_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
39do_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
48do_compile_append() {
49 # build docs
50 #oe_runmake docs_online
51}
52
53do_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
62FILES_${PN} += " \
63 ${datadir}/qtcreator \
64 ${datadir}/icons \
65 ${libdir}/${QT_DIR_NAME}/qtcreator \
66"
67FILES_${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
73FILES_${PN}-dev += " \
74 ${libdir}/${QT_DIR_NAME}/qtcreator/*${SOLIBSDEV} \
75"
76
77RDEPENDS_${PN} += "perl"
78RCONFLICTS_${PN} = "qt-creator"
79
80# To give best user experience out of the box..
81RRECOMMENDS_${PN} += " \
82 packagegroup-qt5-toolchain-target \
83 binutils \
84 ccache \
85 gcc-symlinks \
86 gdb \
87"