M7350v1_en_gpl

This commit is contained in:
T
2024-09-09 08:52:07 +00:00
commit f9cc65cfda
65988 changed files with 26357421 additions and 0 deletions

View File

@@ -0,0 +1,34 @@
Upstream-Status: Submitted [QTMOBILITY-1611]
From b308508b49afa9a129b4e4589c57cd107d1320b8 Mon Sep 17 00:00:00 2001
From: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
Date: Fri, 6 May 2011 10:35:11 +1000
Subject: [PATCH] gstvideoconnector: fixed buffers allocation
It should not be necessary, but at least theora video decoder doesn't
iniatilize *buf, while gst_pad_alloc_buffer relies on buf being NULL.
Task-number: QTMOBILITY-1611
Reviewed-by: Michael Goddard
---
plugins/multimedia/gstreamer/gstvideoconnector.c | 4 ++++
1 files changed, 4 insertions(+), 0 deletions(-)
diff --git a/plugins/multimedia/gstreamer/gstvideoconnector.c b/plugins/multimedia/gstreamer/gstvideoconnector.c
index ddf68e0..9f8ceae 100644
--- a/plugins/multimedia/gstreamer/gstvideoconnector.c
+++ b/plugins/multimedia/gstreamer/gstvideoconnector.c
@@ -186,6 +186,10 @@ gst_video_connector_buffer_alloc (GstPad * pad, guint64 offset, guint size,
GstFlowReturn res = GST_FLOW_OK;
element = GST_VIDEO_CONNECTOR (GST_PAD_PARENT (pad));
+ if (!buf)
+ return GST_FLOW_ERROR;
+ *buf = NULL;
+
GST_OBJECT_LOCK (element);
gst_object_ref(element->srcpad);
GST_OBJECT_UNLOCK (element);
--
1.7.4.1

View File

@@ -0,0 +1,27 @@
From f5a73ce944240de9013cc23288c115e8213add5e Mon Sep 17 00:00:00 2001
From: Michael Krelin <hacker@klever.net>
Date: Sat, 2 Jun 2007 16:06:59 +0200
Subject: [PATCH] no qmake
qmake is already built in qt4-tools-native, so disable it
Ported from OE by: Yu Ke <ke.yu@intel.com>
Upstream-Status: Inappropriate [configuration]
---
configure | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
Index: qt-embedded-linux-opensource-src-4.4.3/configure
===================================================================
--- qt-embedded-linux-opensource-src-4.4.3.orig/configure 2009-03-26 17:03:43.000000000 +0100
+++ qt-embedded-linux-opensource-src-4.4.3/configure 2009-03-26 17:04:17.000000000 +0100
@@ -3786,7 +3786,7 @@
}
# build qmake
-if true; then ###[ '!' -f "$outpath/bin/qmake" ];
+if false; then ###[ '!' -f "$outpath/bin/qmake" ];
echo "Creating qmake. Please wait..."
OLD_QCONFIG_H=

View File

@@ -0,0 +1,25 @@
From c9ab62bd9a56643574b3ae6e59e0ca776d4860d2 Mon Sep 17 00:00:00 2001
From: Michael Krelin <hacker@klever.net>
Date: Mon, 4 Jun 2007 14:48:50 +0200
Subject: [PATCH] freetype host includes
Host include path should not be used in cross compiling case.
Ported from OE by: Yu Ke <ke.yu@intel.com>
Upstream-Status: Pending
---
config.tests/unix/freetype/freetype.pri | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
Index: qt-embedded-linux-opensource-src-4.5.0/config.tests/unix/freetype/freetype.pri
===================================================================
--- qt-embedded-linux-opensource-src-4.5.0.orig/config.tests/unix/freetype/freetype.pri 2009-02-25 22:32:32.000000000 +0100
+++ qt-embedded-linux-opensource-src-4.5.0/config.tests/unix/freetype/freetype.pri 2009-03-26 17:14:16.000000000 +0100
@@ -1,5 +1,5 @@
!cross_compile {
- TRY_INCLUDEPATHS = /include /usr/include $$QMAKE_INCDIR $$QMAKE_INCDIR_X11 $$INCLUDEPATH
+ TRY_INCLUDEPATHS = $$QMAKE_INCDIR $$QMAKE_INCDIR_X11 $$INCLUDEPATH
# LSB doesn't allow using headers from /include or /usr/include
linux-lsb-g++:TRY_INCLUDEPATHS = $$QMAKE_INCDIR $$QMAKE_INCDIR_X11 $$INCLUDEPATH
for(p, TRY_INCLUDEPATHS) {

View File

@@ -0,0 +1,41 @@
Add lib infix for QtUiTools to distinguish different Qt edition: e.g. "E" for embedded, "" for X11
Patch has been accepted upstream and should be included in the next major version (4.8.0), see:
http://bugreports.qt.nokia.com/browse/QTBUG-7169
Original Author: Jeremy Lainé <jeremy.laine@m4x.org>
Ported from OE by: Yu Ke <ke.yu@intel.com>
Upstream-Status: Accepted
--- /tmp/uitools.prf 2009-12-01 18:38:22.000000000 +0100
+++ qt-everywhere-opensource-src-4.6.0/mkspecs/features/uitools.prf 2009-12-01 18:58:16.000000000 +0100
@@ -3,11 +3,11 @@
# Include the correct version of the UiLoader library
symbian: QTUITOOLS_LINKAGE = -lQtUiTools.lib
-else: QTUITOOLS_LINKAGE = -lQtUiTools
+else: QTUITOOLS_LINKAGE = -lQtUiTools$${QT_LIBINFIX}
CONFIG(debug, debug|release) {
- mac: QTUITOOLS_LINKAGE = -lQtUiTools_debug
- win32: QTUITOOLS_LINKAGE = -lQtUiToolsd
+ mac: QTUITOOLS_LINKAGE = -lQtUiTools$${QT_LIBINFIX}_debug
+ win32: QTUITOOLS_LINKAGE = -lQtUiTools$${QT_LIBINFIX}d
}
LIBS += $$QTUITOOLS_LINKAGE
--- /tmp/uitools.pro 2009-12-01 18:40:28.000000000 +0100
+++ qt-everywhere-opensource-src-4.6.0/tools/designer/src/uitools/uitools.pro 2009-12-01 18:59:18.000000000 +0100
@@ -1,5 +1,5 @@
TEMPLATE = lib
-TARGET = $$qtLibraryTarget(QtUiTools)
+TARGET = QtUiTools
QT += xml
CONFIG += qt staticlib
DESTDIR = ../../../../lib
@@ -43,3 +43,5 @@
QMAKE_PKGCONFIG_DESTDIR = pkgconfig
QMAKE_PKGCONFIG_REQUIRES += QtXml
}
+
+TARGET = $$qtLibraryTarget($$TARGET$$QT_LIBINFIX) #do this towards the end

View File

@@ -0,0 +1,304 @@
Add 2bpp support
Submitted upstream but rejected as being "out of scope":
http://bugreports.qt.nokia.com/browse/QTBUG-3468
Upstream-Status: Denied
Original author: Jeremy Lainé <jeremy.laine@m4x.org>
Ported from OE by: Yu Ke <ke.yu@intel.com>
diff -urN qt-embedded-linux-opensource-src-4.4.3.orig/configure qt-embedded-linux-opensource-src-4.4.3/configure
--- qt-embedded-linux-opensource-src-4.4.3.orig/configure 2008-09-27 11:01:23.000000000 +0200
+++ qt-embedded-linux-opensource-src-4.4.3/configure 2009-01-14 14:30:53.000000000 +0100
@@ -5045,6 +5045,7 @@
echo "Choose pixel-depths to support:"
echo
echo " 1. 1bpp, black/white"
+ echo " 2. 2bpp, grayscale"
echo " 4. 4bpp, grayscale"
echo " 8. 8bpp, paletted"
echo " 12. 12bpp, rgb 4-4-4"
@@ -5063,11 +5064,11 @@
fi
if [ -n "$CFG_QWS_DEPTHS" -a "$PLATFORM_QWS" = "yes" ]; then
if [ "$CFG_QWS_DEPTHS" = "all" ]; then
- CFG_QWS_DEPTHS="1 4 8 12 15 16 18 24 32 generic"
+ CFG_QWS_DEPTHS="1 2 4 8 12 15 16 18 24 32 generic"
fi
for D in `echo "$CFG_QWS_DEPTHS" | sed -e 's/,/ /g'`; do
case $D in
- 1|4|8|12|15|16|18|24|32) QCONFIG_FLAGS="$QCONFIG_FLAGS QT_QWS_DEPTH_$D";;
+ 1|2|4|8|12|15|16|18|24|32) QCONFIG_FLAGS="$QCONFIG_FLAGS QT_QWS_DEPTH_$D";;
generic) QCONFIG_FLAGS="$QCONFIG_FLAGS QT_QWS_DEPTH_GENERIC";;
esac
done
diff -urN qt-embedded-linux-opensource-src-4.4.3.orig/src/gui/embedded/qscreenlinuxfb_qws.cpp qt-embedded-linux-opensource-src-4.4.3/src/gui/embedded/qscreenlinuxfb_qws.cpp
--- qt-embedded-linux-opensource-src-4.4.3.orig/src/gui/embedded/qscreenlinuxfb_qws.cpp 2008-09-27 11:01:28.000000000 +0200
+++ qt-embedded-linux-opensource-src-4.4.3/src/gui/embedded/qscreenlinuxfb_qws.cpp 2009-01-14 17:22:34.000000000 +0100
@@ -404,8 +404,8 @@
setupOffScreen();
// Now read in palette
- if((vinfo.bits_per_pixel==8) || (vinfo.bits_per_pixel==4)) {
- screencols= (vinfo.bits_per_pixel==8) ? 256 : 16;
+ if((vinfo.bits_per_pixel==8) || (vinfo.bits_per_pixel==4) || (vinfo.bits_per_pixel==2)) {
+ screencols= 1 << vinfo.bits_per_pixel;
int loopc;
fb_cmap startcmap;
startcmap.start=0;
diff -urN qt-embedded-linux-opensource-src-4.4.3.orig/src/gui/embedded/qscreen_qws.cpp qt-embedded-linux-opensource-src-4.4.3/src/gui/embedded/qscreen_qws.cpp
--- qt-embedded-linux-opensource-src-4.4.3.orig/src/gui/embedded/qscreen_qws.cpp 2008-09-27 11:01:28.000000000 +0200
+++ qt-embedded-linux-opensource-src-4.4.3/src/gui/embedded/qscreen_qws.cpp 2009-01-14 17:22:44.000000000 +0100
@@ -444,6 +444,58 @@
}
#endif // QT_QWS_DEPTH_4
+#ifdef QT_QWS_DEPTH_2
+static inline void qt_rectfill_gray2(quint8 *dest, quint8 value,
+ int x, int y, int width, int height,
+ int stride)
+{
+ const int pixelsPerByte = 4;
+ const int alignWidth = qMin(width, (4 - (x & 3)) & 3);
+ const int doAlign = (alignWidth > 0 ? 1 : 0);
+ const int alignStart = pixelsPerByte - 1 - (x & 3);
+ const int alignStop = alignStart - (alignWidth - 1);
+ const quint8 alignMask = ((1 << (2 * alignWidth)) - 1) << (2 * alignStop);
+ const int tailWidth = (width - alignWidth) & 3;
+ const int doTail = (tailWidth > 0 ? 1 : 0);
+ const quint8 tailMask = (1 << (2 * (pixelsPerByte - tailWidth))) - 1;
+ const int width8 = (width - alignWidth) / pixelsPerByte;
+
+ dest += y * stride + x / pixelsPerByte;
+ stride -= (doAlign + width8);
+
+ for (int j = 0; j < height; ++j) {
+ if (doAlign) {
+ *dest = (*dest & ~alignMask) | (value & alignMask);
+ ++dest;
+ }
+ if (width8) {
+ qt_memfill<quint8>(dest, value, width8);
+ dest += width8;
+ }
+ if (doTail)
+ *dest = (*dest & tailMask) | (value & ~tailMask);
+ dest += stride;
+ }
+}
+
+static void solidFill_gray2(QScreen *screen, const QColor &color,
+ const QRegion &region)
+{
+ quint8 *dest = reinterpret_cast<quint8*>(screen->base());
+ const quint8 c = qGray(color.rgba()) >> 6;
+ const quint8 c8 = (c << 6) | (c << 4) | (c << 2) | c;
+
+ const int stride = screen->linestep();
+ const QVector<QRect> rects = region.rects();
+
+ for (int i = 0; i < rects.size(); ++i) {
+ const QRect r = rects.at(i);
+ qt_rectfill_gray2(dest, c8, r.x(), r.y(), r.width(), r.height(),
+ stride);
+ }
+}
+#endif // QT_QWS_DEPTH_2
+
#ifdef QT_QWS_DEPTH_1
static inline void qt_rectfill_mono(quint8 *dest, quint8 value,
int x, int y, int width, int height,
@@ -551,6 +603,11 @@
screen->d_ptr->solidFill = solidFill_gray4;
break;
#endif
+#ifdef QT_QWS_DEPTH_2
+ case 2:
+ screen->d_ptr->solidFill = solidFill_gray2;
+ break;
+#endif
#ifdef QT_QWS_DEPTH_1
case 1:
screen->d_ptr->solidFill = solidFill_mono;
@@ -958,6 +1015,149 @@
}
#endif // QT_QWS_DEPTH_4
+#ifdef QT_QWS_DEPTH_2
+
+struct qgray2 { quint8 dummy; } Q_PACKED;
+
+template <typename SRC>
+static inline quint8 qt_convertToGray2(SRC color);
+
+template <>
+inline quint8 qt_convertToGray2(quint32 color)
+{
+ return qGray(color) >> 6;
+}
+
+template <>
+inline quint8 qt_convertToGray2(quint16 color)
+{
+ const int r = (color & 0xf800) >> 11;
+ const int g = (color & 0x07e0) >> 6; // only keep 5 bit
+ const int b = (color & 0x001f);
+ return (r * 11 + g * 16 + b * 5) >> 8;
+}
+
+template <>
+inline quint8 qt_convertToGray2(qrgb444 color)
+{
+ return qt_convertToGray2(quint32(color));
+}
+
+template <>
+inline quint8 qt_convertToGray2(qargb4444 color)
+{
+ return qt_convertToGray2(quint32(color));
+}
+
+template <typename SRC>
+static inline void qt_rectconvert_gray2(qgray2 *dest2, const SRC *src,
+ int x, int y, int width, int height,
+ int dstStride, int srcStride)
+{
+ const int pixelsPerByte = 4;
+ quint8 *dest8 = reinterpret_cast<quint8*>(dest2)
+ + y * dstStride + x / pixelsPerByte;
+ const int alignWidth = qMin(width, (4 - (x & 3)) & 3);
+ const int doAlign = (alignWidth > 0 ? 1 : 0);
+ const int alignStart = pixelsPerByte - 1 - (x & 3);
+ const int alignStop = alignStart - (alignWidth - 1);
+ const quint8 alignMask = ((1 << (2 * alignWidth)) - 1) << (2 * alignStop);
+ const int tailWidth = (width - alignWidth) & 3;
+ const int doTail = (tailWidth > 0 ? 1 : 0);
+ const quint8 tailMask = (1 << (2 * (pixelsPerByte - tailWidth))) - 1;
+ const int width8 = (width - alignWidth) / pixelsPerByte;
+
+ srcStride = srcStride / sizeof(SRC) - (width8 * pixelsPerByte + alignWidth);
+ dstStride -= (width8 + doAlign);
+
+ for (int j = 0; j < height; ++j) {
+ if (doAlign) {
+ quint8 d = *dest8 & ~alignMask;
+ for (int i = alignStart; i >= alignStop; --i)
+ d |= qt_convertToGray2<SRC>(*src++) << (2 * i);
+ *dest8++ = d;
+ }
+ for (int i = 0; i < width8; ++i) {
+ *dest8 = (qt_convertToGray2<SRC>(src[0]) << 6)
+ | (qt_convertToGray2<SRC>(src[1]) << 4)
+ | (qt_convertToGray2<SRC>(src[2]) << 2)
+ | (qt_convertToGray2<SRC>(src[3]));
+ src += 4;
+ ++dest8;
+ }
+ if (doTail) {
+ quint8 d = *dest8 & tailMask;
+ switch (tailWidth) {
+ case 3: d |= qt_convertToGray2<SRC>(src[2]) << 2;
+ case 2: d |= qt_convertToGray2<SRC>(src[1]) << 4;
+ case 1: d |= qt_convertToGray2<SRC>(src[0]) << 6;
+ }
+ *dest8 = d;
+ }
+
+ dest8 += dstStride;
+ src += srcStride;
+ }
+}
+
+template <>
+void qt_rectconvert(qgray2 *dest, const quint32 *src,
+ int x, int y, int width, int height,
+ int dstStride, int srcStride)
+{
+ qt_rectconvert_gray2<quint32>(dest, src, x, y, width, height,
+ dstStride, srcStride);
+}
+
+template <>
+void qt_rectconvert(qgray2 *dest, const quint16 *src,
+ int x, int y, int width, int height,
+ int dstStride, int srcStride)
+{
+ qt_rectconvert_gray2<quint16>(dest, src, x, y, width, height,
+ dstStride, srcStride);
+}
+
+template <>
+void qt_rectconvert(qgray2 *dest, const qrgb444 *src,
+ int x, int y, int width, int height,
+ int dstStride, int srcStride)
+{
+ qt_rectconvert_gray2<qrgb444>(dest, src, x, y, width, height,
+ dstStride, srcStride);
+}
+
+template <>
+void qt_rectconvert(qgray2 *dest, const qargb4444 *src,
+ int x, int y, int width, int height,
+ int dstStride, int srcStride)
+{
+ qt_rectconvert_gray2<qargb4444>(dest, src, x, y, width, height,
+ dstStride, srcStride);
+}
+
+static void blit_2(QScreen *screen, const QImage &image,
+ const QPoint &topLeft, const QRegion &region)
+{
+ switch (image.format()) {
+ case QImage::Format_ARGB32_Premultiplied:
+ blit_template<qgray2, quint32>(screen, image, topLeft, region);
+ return;
+ case QImage::Format_RGB16:
+ blit_template<qgray2, quint16>(screen, image, topLeft, region);
+ return;
+ case QImage::Format_RGB444:
+ blit_template<qgray2, qrgb444>(screen, image, topLeft, region);
+ return;
+ case QImage::Format_ARGB4444_Premultiplied:
+ blit_template<qgray2, qargb4444>(screen, image, topLeft, region);
+ return;
+ default:
+ qCritical("blit_2(): Image format %d not supported!", image.format());
+ }
+}
+#endif // QT_QWS_DEPTH_2
+
#ifdef QT_QWS_DEPTH_1
struct qmono { quint8 dummy; } Q_PACKED;
@@ -1206,6 +1406,11 @@
screen->d_ptr->blit = blit_4;
break;
#endif
+#ifdef QT_QWS_DEPTH_2
+ case 2:
+ screen->d_ptr->blit = blit_2;
+ break;
+#endif
#ifdef QT_QWS_DEPTH_1
case 1:
screen->d_ptr->blit = blit_1;
@@ -2056,6 +2261,8 @@
}
} else if (d == 4) {
ret = qGray(r, g, b) >> 4;
+ } else if (d == 2) {
+ ret = qGray(r, g, b) >> 6;
} else if (d == 1) {
ret = qGray(r, g, b) >= 128;
} else {
@@ -2126,6 +2333,10 @@
} else if(d==1) {
return true;
#endif
+#ifdef QT_QWS_DEPTH_2
+ } else if(d==2) {
+ return true;
+#endif
#ifdef QT_QWS_DEPTH_4
} else if(d==4) {
return true;

View File

@@ -0,0 +1,23 @@
author: Fathi Boudra <fabo@debian.org>
Qt is built in release mode and strip files by default.
Set CONFIG+=nostrip to avoid the stripping and
let dh_strip do it to generate debug packages.
Upstream-Status: Inappropriate [Configuration]
---
configure | 2 ++
1 file changed, 2 insertions(+)
--- a/configure
+++ b/configure
@@ -627,6 +627,8 @@ mkdir -p "$outpath/config.tests"
rm -f "$outpath/config.tests/.qmake.cache"
cp "$QMAKE_VARS_FILE" "$outpath/config.tests/.qmake.cache"
+QMakeVar add CONFIG nostrip
+
QMakeVar add styles "cde mac motif plastique cleanlooks windows"
QMakeVar add decorations "default windows styled"
QMakeVar add mouse-drivers "pc"

View File

@@ -0,0 +1,95 @@
http://labs.qt.nokia.com/2011/09/02/what-the-diginotar-security-breach-means-for-qt-users/
http://labs.qt.nokia.com/2011/09/07/what-the-diginotar-security-breach-means-for-qt-users-continued/
Original Author:Nokia
Upstream-Status: Integrated in upcoming versions
diff --git a/src/network/ssl/qsslcertificate.cpp b/src/network/ssl/qsslcertificate.cpp
index 328c5c2..1ae98f4 100644
--- a/src/network/ssl/qsslcertificate.cpp
+++ b/src/network/ssl/qsslcertificate.cpp
@@ -803,22 +803,47 @@ QList<QSslCertificate> QSslCertificatePrivate::certificatesFromDer(const QByteAr
// These certificates are known to be fraudulent and were created during the comodo
// compromise. See http://www.comodo.com/Comodo-Fraud-Incident-2011-03-23.html
static const char *certificate_blacklist[] = {
- "04:7e:cb:e9:fc:a5:5f:7b:d0:9e:ae:36:e1:0c:ae:1e",
- "f5:c8:6a:f3:61:62:f1:3a:64:f5:4f:6d:c9:58:7c:06",
- "d7:55:8f:da:f5:f1:10:5b:b2:13:28:2b:70:77:29:a3",
- "39:2a:43:4f:0e:07:df:1f:8a:a3:05:de:34:e0:c2:29",
- "3e:75:ce:d4:6b:69:30:21:21:88:30:ae:86:a8:2a:71",
- "e9:02:8b:95:78:e4:15:dc:1a:71:0a:2b:88:15:44:47",
- "92:39:d5:34:8f:40:d1:69:5a:74:54:70:e1:f2:3f:43",
- "b0:b7:13:3e:d0:96:f9:b5:6f:ae:91:c8:74:bd:3a:c0",
- "d8:f3:5f:4e:b7:87:2b:2d:ab:06:92:e3:15:38:2f:b0",
+ "04:7e:cb:e9:fc:a5:5f:7b:d0:9e:ae:36:e1:0c:ae:1e", "mail.google.com", // Comodo
+ "f5:c8:6a:f3:61:62:f1:3a:64:f5:4f:6d:c9:58:7c:06", "www.google.com", // Comodo
+ "d7:55:8f:da:f5:f1:10:5b:b2:13:28:2b:70:77:29:a3", "login.yahoo.com", // Comodo
+ "39:2a:43:4f:0e:07:df:1f:8a:a3:05:de:34:e0:c2:29", "login.yahoo.com", // Comodo
+ "3e:75:ce:d4:6b:69:30:21:21:88:30:ae:86:a8:2a:71", "login.yahoo.com", // Comodo
+ "e9:02:8b:95:78:e4:15:dc:1a:71:0a:2b:88:15:44:47", "login.skype.com", // Comodo
+ "92:39:d5:34:8f:40:d1:69:5a:74:54:70:e1:f2:3f:43", "addons.mozilla.org", // Comodo
+ "b0:b7:13:3e:d0:96:f9:b5:6f:ae:91:c8:74:bd:3a:c0", "login.live.com", // Comodo
+ "d8:f3:5f:4e:b7:87:2b:2d:ab:06:92:e3:15:38:2f:b0", "global trustee", // Comodo
+
+ "05:e2:e6:a4:cd:09:ea:54:d6:65:b0:75:fe:22:a2:56", "*.google.com", // leaf certificate issued by DigiNotar
+ "0c:76:da:9c:91:0c:4e:2c:9e:fe:15:d0:58:93:3c:4c", "DigiNotar Root CA", // DigiNotar root
+ "f1:4a:13:f4:87:2b:56:dc:39:df:84:ca:7a:a1:06:49", "DigiNotar Services CA", // DigiNotar intermediate signed by DigiNotar Root
+ "36:16:71:55:43:42:1b:9d:e6:cb:a3:64:41:df:24:38", "DigiNotar Services 1024 CA", // DigiNotar intermediate signed by DigiNotar Root
+ "0a:82:bd:1e:14:4e:88:14:d7:5b:1a:55:27:be:bf:3e", "DigiNotar Root CA G2", // other DigiNotar Root CA
+ "a4:b6:ce:e3:2e:d3:35:46:26:3c:b3:55:3a:a8:92:21", "CertiID Enterprise Certificate Authority", // DigiNotar intermediate signed by "DigiNotar Root CA G2"
+ "5b:d5:60:9c:64:17:68:cf:21:0e:35:fd:fb:05:ad:41", "DigiNotar Qualified CA", // DigiNotar intermediate signed by DigiNotar Root
+
+ "1184640176", "DigiNotar Services 1024 CA", // DigiNotar intermediate cross-signed by Entrust
+ "120000525", "DigiNotar Cyber CA", // DigiNotar intermediate cross-signed by CyberTrust
+ "120000505", "DigiNotar Cyber CA", // DigiNotar intermediate cross-signed by CyberTrust
+ "120000515", "DigiNotar Cyber CA", // DigiNotar intermediate cross-signed by CyberTrust
+ "20015536", "DigiNotar PKIoverheid CA Overheid en Bedrijven", // DigiNotar intermediate cross-signed by the Dutch government
+ "20001983", "DigiNotar PKIoverheid CA Organisatie - G2", // DigiNotar intermediate cross-signed by the Dutch government
+ "d6:d0:29:77:f1:49:fd:1a:83:f2:b9:ea:94:8c:5c:b4", "DigiNotar Extended Validation CA", // DigiNotar intermediate signed by DigiNotar EV Root
+ "1e:7d:7a:53:3d:45:30:41:96:40:0f:71:48:1f:45:04", "DigiNotar Public CA 2025", // DigiNotar intermediate
+// "(has not been seen in the wild so far)", "DigiNotar Public CA - G2", // DigiNotar intermediate
+// "(has not been seen in the wild so far)", "Koninklijke Notariele Beroepsorganisatie CA", // compromised during DigiNotar breach
+// "(has not been seen in the wild so far)", "Stichting TTP Infos CA," // compromised during DigiNotar breach
+ "1184640175", "DigiNotar Root CA", // DigiNotar intermediate cross-signed by Entrust
+ "1184644297", "DigiNotar Root CA", // DigiNotar intermediate cross-signed by Entrust
0
};
bool QSslCertificatePrivate::isBlacklisted(const QSslCertificate &certificate)
{
for (int a = 0; certificate_blacklist[a] != 0; a++) {
- if (certificate.serialNumber() == certificate_blacklist[a])
+ QString blacklistedCommonName = QString::fromUtf8(certificate_blacklist[(a+1)]);
+ if (certificate.serialNumber() == certificate_blacklist[a++] &&
+ (certificate.subjectInfo(QSslCertificate::CommonName) == blacklistedCommonName ||
+ certificate.issuerInfo(QSslCertificate::CommonName) == blacklistedCommonName))
return true;
}
return false;
diff --git a/src/network/ssl/qsslsocket_openssl.cpp b/src/network/ssl/qsslsocket_openssl.cpp
index 141d80a..b8e6c4c 100644
--- a/src/network/ssl/qsslsocket_openssl.cpp
+++ b/src/network/ssl/qsslsocket_openssl.cpp
@@ -1193,12 +1193,16 @@ bool QSslSocketBackendPrivate::startHandshake()
X509 *x509 = q_SSL_get_peer_certificate(ssl);
configuration.peerCertificate = QSslCertificatePrivate::QSslCertificate_from_X509(x509);
q_X509_free(x509);
- if (QSslCertificatePrivate::isBlacklisted(configuration.peerCertificate)) {
- q->setErrorString(QSslSocket::tr("The peer certificate is blacklisted"));
- q->setSocketError(QAbstractSocket::SslHandshakeFailedError);
- emit q->error(QAbstractSocket::SslHandshakeFailedError);
- plainSocket->disconnectFromHost();
- return false;
+
+ // check the whole chain for blacklisting (including root, as we check for subjectInfo and issuer)
+ foreach (const QSslCertificate &cert, configuration.peerCertificateChain) {
+ if (QSslCertificatePrivate::isBlacklisted(cert)) {
+ q->setErrorString(QSslSocket::tr("The peer certificate is blacklisted"));
+ q->setSocketError(QAbstractSocket::SslHandshakeFailedError);
+ emit q->error(QAbstractSocket::SslHandshakeFailedError);
+ plainSocket->disconnectFromHost();
+ return false;
+ }
}
// Start translating errors.

View File

@@ -0,0 +1,17 @@
Pass through LDFLAGS to configure tests
Upstream-Status: Inappropriate [configuration]
Index: qt-everywhere-opensource-src-4.6.3/config.tests/unix/compile.test
===================================================================
--- qt-everywhere-opensource-src-4.6.3.orig/config.tests/unix/compile.test 2010-06-02 06:03:18.000000000 +0400
+++ qt-everywhere-opensource-src-4.6.3/config.tests/unix/compile.test 2010-10-04 17:35:07.587783460 +0400
@@ -11,7 +11,7 @@
EXE=`basename "$6"`
DESCRIPTION=$7
shift 7
-LFLAGS=""
+LFLAGS="$LDFLAGS"
INCLUDEPATH=""
CXXFLAGS=""
MAC_ARCH_CXXFLAGS=""

View File

@@ -0,0 +1,18 @@
qt4-tools-native: set LFLAGS to pick up zlib from staging
Original Author: Jeremy Lainé <jeremy.laine@m4x.org>
Upstream-Status: Pending
Index: qtopia-core-opensource-src-4.3.3/configure
===================================================================
--- qtopia-core-opensource-src-4.3.3.orig/configure 2008-01-14 08:53:51.000000000 +0000
+++ qtopia-core-opensource-src-4.3.3/configure 2008-01-14 08:54:07.000000000 +0000
@@ -447,7 +447,7 @@
# initalize variables
#-------------------------------------------------------------------------------
-SYSTEM_VARIABLES="CC CXX CFLAGS CXXFLAGS LDFLAGS"
+SYSTEM_VARIABLES="CC CXX CFLAGS CXXFLAGS LDFLAGS LFLAGS"
for varname in $SYSTEM_VARIABLES; do
cmd=`echo \
'if [ -n "\$'${varname}'" ]; then

View File

@@ -0,0 +1,26 @@
Use OE_QMAKE_* values to specify Qt utility paths
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Upstream-Status: Inappropriate [configuration]
Index: qt-everywhere-opensource-src-4.6.3/configure
===================================================================
--- qt-everywhere-opensource-src-4.6.3.orig/configure 2011-01-10 15:47:37.100607001 +0000
+++ qt-everywhere-opensource-src-4.6.3/configure 2011-01-10 15:49:14.576606999 +0000
@@ -7198,11 +7198,11 @@
QMAKE_MOC_SRC = \$\$QT_BUILD_TREE/src/moc
#local paths that cannot be queried from the QT_INSTALL_* properties while building QTDIR
-QMAKE_MOC = \$\$QT_BUILD_TREE/bin/moc
-QMAKE_UIC = \$\$QT_BUILD_TREE/bin/uic
-QMAKE_UIC3 = \$\$QT_BUILD_TREE/bin/uic3
-QMAKE_RCC = \$\$QT_BUILD_TREE/bin/rcc
-QMAKE_QDBUSXML2CPP = \$\$QT_BUILD_TREE/bin/qdbusxml2cpp
+QMAKE_MOC = \${OE_QMAKE_MOC}
+QMAKE_UIC = \${OE_QMAKE_UIC}
+QMAKE_UIC3 = \${OE_QMAKE_UIC3}
+QMAKE_RCC = \${OE_QMAKE_RCC}
+QMAKE_QDBUSXML2CPP = \${OE_QMAKE_QDBUSXML2CPP}
QMAKE_INCDIR_QT = \$\$QT_BUILD_TREE/include
QMAKE_LIBDIR_QT = \$\$QT_BUILD_TREE/lib

View File

@@ -0,0 +1,38 @@
Fix invocation in case of "ccache some-compiler-gcc". As the command "ccache some-compiler-gcc" will not exist but "ccache" will.
both visibility and relocs were affected.
Original Author: Holger Hans Peter Freyther <zecke@selfish.org>
Ported from OE by: Yu Ke <ke.yu@intel.com>
Upstream-Status: Pending
Index: qt-x11-opensource-src-4.5.2/config.tests/unix/bsymbolic_functions.test
===================================================================
--- qt-x11-opensource-src-4.5.2.orig/config.tests/unix/bsymbolic_functions.test 2009-08-01 08:01:11.000000000 +0200
+++ qt-x11-opensource-src-4.5.2/config.tests/unix/bsymbolic_functions.test 2009-08-01 08:01:16.000000000 +0200
@@ -8,7 +8,7 @@
int main() { return 0; }
EOF
-"$COMPILER" -o libtest.so -shared -Wl,-Bsymbolic-functions -fPIC bsymbolic_functions.c >/dev/null 2>&1 && BSYMBOLIC_FUNCTIONS_SUPPORT=yes
+$COMPILER -o libtest.so -shared -Wl,-Bsymbolic-functions -fPIC bsymbolic_functions.c >/dev/null 2>&1 && BSYMBOLIC_FUNCTIONS_SUPPORT=yes
rm -f bsymbolic_functions.c libtest.so
# done
Index: qt-x11-opensource-src-4.5.2/config.tests/unix/fvisibility.test
===================================================================
--- qt-x11-opensource-src-4.5.2.orig/config.tests/unix/fvisibility.test 2009-06-20 06:57:50.000000000 +0200
+++ qt-x11-opensource-src-4.5.2/config.tests/unix/fvisibility.test 2009-08-01 07:59:05.000000000 +0200
@@ -15,9 +15,9 @@
EOF
if [ "$VERBOSE" = "yes" ] ; then
- "$COMPILER" -c -fvisibility=hidden fvisibility.c && FVISIBILITY_SUPPORT=yes
+ $COMPILER -c -fvisibility=hidden fvisibility.c && FVISIBILITY_SUPPORT=yes
else
- "$COMPILER" -c -fvisibility=hidden fvisibility.c >/dev/null 2>&1 && FVISIBILITY_SUPPORT=yes
+ $COMPILER -c -fvisibility=hidden fvisibility.c >/dev/null 2>&1 && FVISIBILITY_SUPPORT=yes
fi
rm -f fvisibility.c fvisibility.o
}

View File

@@ -0,0 +1,19 @@
qt4-tools-nativesdk: avoid rebuilding qmake
qt4-tools-nativesdk patch to avoids building qmake in configure if it already exists
(as it will, since we symlink it in from the native sysroot in do_configure)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Upstream-Status: Inappropriate [configuration]
--- qt-everywhere-opensource-src-4.6.3.orig/configure 2011-01-10 12:01:56.260607001 +0000
+++ qt-everywhere-opensource-src-4.6.3/configure 2011-01-10 12:02:20.584607015 +0000
@@ -4286,7 +4286,7 @@
}
# build qmake
-if true; then ###[ '!' -f "$outpath/bin/qmake" ];
+if [ '!' -f "$outpath/bin/qmake" ]; then
echo "Creating qmake. Please wait..."
OLD_QCONFIG_H=

View File

@@ -0,0 +1,29 @@
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
Original Author: Holger Freyther <zecke@selfish.org>
Ported from OE by: Yu Ke <ke.yu@intel.com>
Upstream-Status: Pending
--- /tmp/qlibraryinfo.cpp 2008-08-02 17:16:41.000000000 +0200
+++ qt-embedded-linux-opensource-src-4.4.1/src/corelib/global/qlibraryinfo.cpp 2008-08-02 17:17:42.000000000 +0200
@@ -47,6 +47,7 @@
QT_BEGIN_NAMESPACE
extern QString qmake_libraryInfoFile();
QT_END_NAMESPACE
+#include <stdlib.h>
#else
# include "qcoreapplication.h"
#endif
@@ -113,6 +114,10 @@
#ifdef QT_BUILD_QMAKE
if(!QFile::exists(qtconfig))
qtconfig = qmake_libraryInfoFile();
+ if (!QFile::exists(qtconfig)) {
+ QByteArray config = getenv("QT_CONF_PATH");
+ qtconfig = QFile::decodeName(config);
+ }
#else
if (!QFile::exists(qtconfig) && QCoreApplication::instance()) {
#ifdef Q_OS_MAC

View File

@@ -0,0 +1,22 @@
Remove "const" usage that causes compile failure building qt4-tools-nativesdk
Upstream-Status: Denied [possible retry]
Patch has apparently been rejected upstream, not because it is invalid
but because the submitter did not submit a merge request for it, so the
validity of the patch upstream is uncertain. For further details see:
http://bugreports.qt.nokia.com/browse/QTBUG-17962
Original Author: Pavel Heimlich <tropikhajma at gmail.com>
--- qt-everywhere-opensource-src-4.7.3/src/dbus/qdbusintegrator.cpp.orig 2011-03-12 02:11:32.313467991 +0100
+++ qt-everywhere-opensource-src-4.7.3/src/dbus/qdbusintegrator.cpp 2011-03-12 02:11:03.795809176 +0100
@@ -71,7 +71,7 @@
static bool isDebugging;
#define qDBusDebug if (!::isDebugging); else qDebug
-Q_GLOBAL_STATIC_WITH_ARGS(const QString, orgFreedesktopDBusString, (QLatin1String(DBUS_SERVICE_DBUS)))
+Q_GLOBAL_STATIC_WITH_ARGS(QString, orgFreedesktopDBusString, (QLatin1String(DBUS_SERVICE_DBUS)))
static inline QString dbusServiceString()
{ return *orgFreedesktopDBusString(); }

View File

@@ -0,0 +1,17 @@
When building qt-mobility, the qa_configure stage failed because the catalogue /usr/lib
is used in some Makefiles within configure tests. We manually removed this catalogue.
Upstream-Status: Inappropriate [embedded]
Signed-off-by: Dmitry Cherukhin <dima_ch@emcraft.com>
--- qt-mobility-opensource-src-1.2.0/configure.orig 2011-05-10 10:06:01.000000000 +0200
+++ qt-mobility-opensource-src-1.2.0/configure 2011-11-08 12:34:56.347645968 +0100
@@ -583,6 +583,8 @@
fi
$QMAKE_EXEC $QMKSPEC "$relpath/config.tests/$2/$2.pro" 2>> "$CONFIG_LOG" >> "$CONFIG_LOG"
+ cp Makefile Makefile.old
+ sed -e 's@-L/usr/lib@@' <Makefile.old >Makefile
printf " ."
"$MAKE" clean >> "$CONFIG_LOG"
printf "."

View File

@@ -0,0 +1,7 @@
#!/bin/sh
if [ -e /dev/input/touchscreen0 ]
then
QWS_MOUSE_PROTO=Tslib:/dev/input/touchscreen0
export QWS_MOUSE_PROTO
fi

View File

@@ -0,0 +1,55 @@
LICENSE = "LGPLv2.1 | GPLv3"
LIC_FILES_CHKSUM = "file://LICENSE.LGPL;md5=fbc093901857fcd118f065f900982c24 \
file://LICENSE.GPL3;md5=babc5b6b77441da277f5c06b2e547720 \
file://LGPL_EXCEPTION.txt;md5=411080a56ff917a5a1aa08c98acae354"
FILESPATH =. "${FILE_DIRNAME}/qt-${PV}:"
SRC_URI = "http://get.qt.nokia.com/qt/source/qt-everywhere-opensource-src-${PV}.tar.gz \
file://0004-no-qmake.patch \
file://hack-out-pg2-4.7.0.patch \
file://0006-freetype-host-includes.patch \
file://0008-qt-lib-infix.patch \
file://0009-support-2bpp.patch \
file://0001-Added-Openembedded-crossarch-option.patch \
file://blacklist-diginotar-certs.diff \
file://fix-translations.patch \
file://add_nostrip_for_debug_packages.diff \
file://g++.conf \
file://linux.conf \
file://fix-qtbug-20925.patch \
"
SRC_URI[md5sum] = "9831cf1dfa8d0689a06c2c54c5c65aaf"
SRC_URI[sha256sum] = "97195ebce8a46f9929fb971d9ae58326d011c4d54425389e6e936514f540221e"
S = "${WORKDIR}/qt-everywhere-opensource-src-${PV}"
FILES_${QT_BASE_NAME}-tools += "${bindir}/qml"
do_configure_prepend() {
for pro in $(find ${S} -name "*.pro") ; do
sed -i \
-e 's:$$QT_BUILD_TREE/bin/lrelease:${OE_QMAKE_LRELEASE}:g' \
-e 's:qtPrepareTool(LRELEASE, lrelease):LRELEASE = ${OE_QMAKE_LRELEASE}:g' $pro
done
sed -i s:SEDME:${S}: ${WORKDIR}/linux.conf
sed -i \
-e /QMAKE_MOC\ /d \
-e /QMAKE_UIC\ /d \
-e /QMAKE_UIC3\ /d \
-e /QMAKE_RCC\ /d \
${S}/configure
}
do_compile() {
# Fixup missing wsegl header in some SGX SDKs
if ! [ -e ${STAGING_INCDIR}/wsegl.h ] ; then
cp src/3rdparty/powervr/wsegl.h src/plugins/gfxdrivers/powervr/QWSWSEGL/
fi
unset CFLAGS CXXFLAGS
oe_runmake ${EXTRA_ENV}
}

View File

@@ -0,0 +1,47 @@
From b1ba119f6a824dc01bd42ee00dba4a1653867b72 Mon Sep 17 00:00:00 2001
From: Matthias Günther <matgnt@gmail.com>
Date: Wed, 12 May 2010 16:52:45 +0200
Subject: [PATCH 1/9] Added Openembedded "-crossarch" option
Original Author: Michael Lauer <mickey@vanille-media.de>
Upstream-Status: Pending
---
configure | 7 ++++++-
1 files changed, 6 insertions(+), 1 deletions(-)
diff --git a/configure b/configure
index facd192..9d15136 100755
--- a/configure
+++ b/configure
@@ -954,7 +954,7 @@ while [ "$#" -gt 0 ]; do
shift
VAL=$1
;;
- -prefix|-docdir|-headerdir|-plugindir|-importdir|-datadir|-libdir|-bindir|-translationdir|-sysconfdir|-examplesdir|-demosdir|-depths|-make|-nomake|-platform|-xplatform|-buildkey|-sdk|-arch|-host-arch|-mysql_config)
+ -prefix|-docdir|-headerdir|-plugindir|-importdir|-datadir|-libdir|-bindir|-translationdir|-sysconfdir|-examplesdir|-demosdir|-depths|-make|-nomake|-platform|-xplatform|-buildkey|-sdk|-arch|-host-arch|-mysql_config|-crossarch)
VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
shift
VAL="$1"
@@ -1443,6 +1443,9 @@ while [ "$#" -gt 0 ]; do
xplatform)
XPLATFORM="$VAL"
;;
+ crossarch)
+ CROSSARCH="$VAL"
+ ;;
debug-and-release)
if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
CFG_DEBUG_RELEASE="$VAL"
@@ -2918,6 +2921,8 @@ elif [ "$PLATFORM_MAC" = "yes" ] || [ -z "$CFG_ARCH" ]; then
CFG_ARCH=$CFG_HOST_ARCH
fi
+CFG_ARCH="$CROSSARCH"
+
if [ -d "$relpath/src/corelib/arch/$CFG_ARCH" ]; then
if [ "$OPT_VERBOSE" = "yes" ]; then
echo " '$CFG_ARCH' is supported"
--
1.7.0.4

View File

@@ -0,0 +1,56 @@
From 852abfca6f4c349dce9b895956922f96d82df579 Mon Sep 17 00:00:00 2001
From: Andrew den Exter <andrew.den-exter@nokia.com>
Date: Thu, 8 Sep 2011 12:28:49 +1000
Subject: [PATCH] Fix double click and drag not extending word selection.
mousePressed isn't set on the second press of a double click and so
can't be used to determine if all selections should be skipped. Instead
skip only the single click and drag selections if mousePressed is false.
Change-Id: I5e7ba033f38b0f9b98fdca5c61a8548f92991601
Task-number: QTBUG-20925
Reviewed-by: Martin Jones
https://bugreports.qt.nokia.com/browse/QTBUG-20925
Original Author:Andrew den Exter <andrew.den-exter@nokia.com>
Upstream-Status: Integrated in upcoming versions (4.8) as commit 852abfca6f4c349dce9b895956922f96d82df579
---
src/gui/text/qtextcontrol.cpp | 7 +----
tests/auto/qtextedit/tst_qtextedit.cpp | 41 ++++++++++++++++++++++++++++++++
2 files changed, 43 insertions(+), 5 deletions(-)
diff --git a/src/gui/text/qtextcontrol.cpp b/src/gui/text/qtextcontrol.cpp
index aacac04..996d488 100644
--- a/src/gui/text/qtextcontrol.cpp
+++ b/src/gui/text/qtextcontrol.cpp
@@ -1628,16 +1628,13 @@ void QTextControlPrivate::mouseMoveEvent(QEvent *e, Qt::MouseButton button, cons
return;
}
- if (!mousePressed)
- return;
-
const qreal mouseX = qreal(mousePos.x());
int newCursorPos = q->hitTest(mousePos, Qt::FuzzyHit);
if (newCursorPos == -1)
return;
- if (wordSelectionEnabled && !selectedWordOnDoubleClick.hasSelection()) {
+ if (mousePressed && wordSelectionEnabled && !selectedWordOnDoubleClick.hasSelection()) {
selectedWordOnDoubleClick = cursor;
selectedWordOnDoubleClick.select(QTextCursor::WordUnderCursor);
}
@@ -1646,7 +1643,7 @@ void QTextControlPrivate::mouseMoveEvent(QEvent *e, Qt::MouseButton button, cons
extendBlockwiseSelection(newCursorPos);
else if (selectedWordOnDoubleClick.hasSelection())
extendWordwiseSelection(newCursorPos, mouseX);
- else
+ else if (mousePressed)
setCursorPosition(newCursorPos, QTextCursor::KeepAnchor);
if (interactionFlags & Qt::TextEditable) {
--
1.6.1

View File

@@ -0,0 +1,32 @@
fix phony translation linking error
| .../usr/lib/crt1.o: In function `_start':
| .../../sysdeps/i386/elf/start.S:115: undefined reference to `main'
| collect2: ld returned 1 exit status
Upstream-Status: Pending
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
diff --git a/translations/translations.pro b/translations/translations.pro
index cdaf04a..24fa668 100644
--- a/translations/translations.pro
+++ b/translations/translations.pro
@@ -20,7 +20,7 @@ updateqm.name = LRELEASE ${QMAKE_FILE_IN}
updateqm.CONFIG += no_link
QMAKE_EXTRA_COMPILERS += updateqm
-isEmpty(vcproj) {
+!isEmpty(vcproj) {
QMAKE_LINK = @: IGNORE THIS LINE
OBJECTS_DIR =
win32:CONFIG -= embed_manifest_exe
@@ -30,7 +30,7 @@ isEmpty(vcproj) {
phony_src.input = PHONY_DEPS
phony_src.output = phony.c
phony_src.variable_out = GENERATED_SOURCES
- phony_src.commands = echo int main() { return 0; } > phony.c
+ phony_src.commands = echo \"int main() { return 0; }\" > phony.c
phony_src.name = CREATE phony.c
phony_src.CONFIG += combine
QMAKE_EXTRA_COMPILERS += phony_src

View File

@@ -0,0 +1,60 @@
#
# qmake configuration for common gcc
#
QMAKE_CC = $(OE_QMAKE_CC)
QMAKE_CFLAGS += -pipe $(OE_QMAKE_CFLAGS)
QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += $(OE_QMAKE_CFLAGS)
QMAKE_CFLAGS_DEPS += -M
QMAKE_CFLAGS_WARN_ON += -Wall -W
QMAKE_CFLAGS_WARN_OFF += -w
QMAKE_CFLAGS_RELEASE +=
QMAKE_CFLAGS_DEBUG += -g
QMAKE_CFLAGS_SHLIB += -fPIC
QMAKE_CFLAGS_STATIC_LIB += -fPIC
QMAKE_CFLAGS_YACC += -Wno-unused -Wno-parentheses
QMAKE_CFLAGS_HIDESYMS += -fvisibility=hidden
QMAKE_CFLAGS_PRECOMPILE += -x c-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT}
QMAKE_CFLAGS_USE_PRECOMPILE += -include ${QMAKE_PCH_OUTPUT_BASE}
QMAKE_CXX = $(OE_QMAKE_CXX)
QMAKE_CXXFLAGS += $$QMAKE_CFLAGS $(OE_QMAKE_CXXFLAGS)
QMAKE_CXXFLAGS_DEPS += $$QMAKE_CFLAGS_DEPS
QMAKE_CXXFLAGS_WARN_ON += $$QMAKE_CFLAGS_WARN_ON
QMAKE_CXXFLAGS_WARN_OFF += $$QMAKE_CFLAGS_WARN_OFF
QMAKE_CXXFLAGS_RELEASE += $$QMAKE_CFLAGS_RELEASE
QMAKE_CXXFLAGS_RELEASE_WITH_DEBUGINFO += $$QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO
QMAKE_CXXFLAGS_DEBUG += $$QMAKE_CFLAGS_DEBUG
QMAKE_CXXFLAGS_SHLIB += $$QMAKE_CFLAGS_SHLIB
QMAKE_CXXFLAGS_STATIC_LIB += $$QMAKE_CFLAGS_STATIC_LIB
QMAKE_CXXFLAGS_YACC += $$QMAKE_CFLAGS_YACC
QMAKE_CXXFLAGS_HIDESYMS += $$QMAKE_CFLAGS_HIDESYMS -fvisibility-inlines-hidden
QMAKE_CXXFLAGS_PRECOMPILE += -x c++-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT}
QMAKE_CXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE
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_LFLAGS += $(OE_QMAKE_LDFLAGS)
QMAKE_LFLAGS_RELEASE +=
QMAKE_LFLAGS_DEBUG +=
QMAKE_LFLAGS_APP +=
QMAKE_LFLAGS_SHLIB += -shared
QMAKE_LFLAGS_PLUGIN += $$QMAKE_LFLAGS_SHLIB
QMAKE_LFLAGS_SONAME += -Wl,-soname,
QMAKE_LFLAGS_THREAD +=
QMAKE_LFLAGS_NOUNDEF += -Wl,--no-undefined
QMAKE_LFLAGS_RPATH = -Wl,-rpath-link,
QMAKE_PCH_OUTPUT_EXT = .gch
# -Bsymbolic-functions (ld) support
QMAKE_LFLAGS_BSYMBOLIC_FUNC = -Wl,-Bsymbolic-functions
QMAKE_LFLAGS_DYNAMIC_LIST = -Wl,--dynamic-list,
# some linking helper...
CONFIG += rpath_libdirs
# for the SDK
isEmpty(QMAKE_QT_CONFIG):QMAKE_QT_CONFIG = $(OE_QMAKE_QT_CONFIG)

View File

@@ -0,0 +1,31 @@
Hack to not use the pg_config of the host system which will add /usr/include
pg_config is a native binary so using that when cross compiling
will always fail. The commented out fix would do, but for OE
our -platform and -xplatform is the same so we are actually not
really cross compiling. Just comment out the test, we are passing
the location to the postgres headers and if they are okay we
will pad.
Original Author: Holger Hans Peter Freyther <zecke@selfish.org>
Upstream-Status: Inappropriate [configuration]
Index: qt-everywhere-opensource-src-4.7.0/configure
===================================================================
--- qt-everywhere-opensource-src-4.7.0.orig/configure 2010-09-22 15:43:51.191162141 -0400
+++ qt-everywhere-opensource-src-4.7.0/configure 2010-09-22 15:44:35.179981232 -0400
@@ -4921,10 +4921,10 @@
psql)
if [ "$CFG_SQL_psql" != "no" ]; then
# Be careful not to use native pg_config when cross building.
- if [ "$XPLATFORM_MINGW" != "yes" ] && "$WHICH" pg_config >/dev/null 2>&1; then
- QT_CFLAGS_PSQL=`pg_config --includedir 2>/dev/null`
- QT_LFLAGS_PSQL=`pg_config --libdir 2>/dev/null`
- fi
+# if [ "$XPLATFORM_MINGW" != "yes" ] && "$WHICH" pg_config >/dev/null 2>&1; then
+# QT_CFLAGS_PSQL=`pg_config --includedir 2>/dev/null`
+# QT_LFLAGS_PSQL=`pg_config --libdir 2>/dev/null`
+# fi
[ -z "$QT_CFLAGS_PSQL" ] || QT_CFLAGS_PSQL="-I$QT_CFLAGS_PSQL"
[ -z "$QT_LFLAGS_PSQL" ] || QT_LFLAGS_PSQL="-L$QT_LFLAGS_PSQL"
# But, respect PSQL_LIBS if set

View File

@@ -0,0 +1,66 @@
#
# qmake configuration for common linux
#
QMAKE_CFLAGS_THREAD += -D_REENTRANT
QMAKE_CXXFLAGS_THREAD += $$QMAKE_CFLAGS_THREAD
QMAKE_INCDIR =
QMAKE_LIBDIR =
QMAKE_INCDIR_X11 =
QMAKE_LIBDIR_X11 =
QMAKE_INCDIR_QT = $(OE_QMAKE_INCDIR_QT)
QMAKE_LIBDIR_QT = $(OE_QMAKE_LIBDIR_QT)
QMAKE_INCDIR_OPENGL =
QMAKE_LIBDIR_OPENGL =
QMAKE_INCDIR_OPENGL_ES1 = $$QMAKE_INCDIR_OPENGL
QMAKE_LIBDIR_OPENGL_ES1 = $$QMAKE_LIBDIR_OPENGL
QMAKE_INCDIR_OPENGL_ES2 = $$QMAKE_INCDIR_OPENGL
QMAKE_LIBDIR_OPENGL_ES2 = $$QMAKE_LIBDIR_OPENGL
QMAKE_INCDIR_EGL =
QMAKE_LIBDIR_EGL =
QMAKE_INCDIR_OPENVG =
QMAKE_LIBDIR_OPENVG =
QMAKE_LIBS =
QMAKE_LIBS_DYNLOAD = -ldl
QMAKE_LIBS_X11 = $(OE_QMAKE_LIBS_X11)
QMAKE_LIBS_X11SM = $(OE_QMAKE_LIBS_X11SM)
QMAKE_LIBS_NIS = -lnsl
QMAKE_LIBS_EGL = -lEGL
QMAKE_LIBS_OPENGL = -lGLU -lGL
QMAKE_LIBS_OPENGL_QT = -lGL
QMAKE_LIBS_OPENGL_ES1 = -lGLES_CM
QMAKE_LIBS_OPENGL_ES2 = -lGLESv2
QMAKE_LIBS_OPENVG = -lOpenVG
QMAKE_LIBS_THREAD = -lpthread
QMAKE_MOC = $(OE_QMAKE_MOC)
QMAKE_UIC = $(OE_QMAKE_UIC)
QMAKE_UIC3 = $(OE_QMAKE_UIC3)
QMAKE_RCC = $(OE_QMAKE_RCC)
QMAKE_QDBUSCPP2XML = $(OE_QMAKE_QDBUSCPP2XML)
QMAKE_QDBUSXML2CPP = $(OE_QMAKE_QDBUSXML2CPP)
QMAKE_AR = $(OE_QMAKE_AR) cqs
QMAKE_OBJCOPY = objcopy
QMAKE_RANLIB =
QMAKE_TAR = tar -cf
QMAKE_GZIP = gzip -9f
QMAKE_COPY = cp -f
QMAKE_COPY_FILE = $(COPY)
QMAKE_COPY_DIR = $(COPY) -r
QMAKE_MOVE = mv -f
QMAKE_DEL_FILE = rm -f
QMAKE_DEL_DIR = rmdir
QMAKE_STRIP = $(OE_QMAKE_STRIP)
QMAKE_STRIPFLAGS_LIB += --strip-unneeded
QMAKE_CHK_DIR_EXISTS = test -d
QMAKE_MKDIR = mkdir -p
QMAKE_INSTALL_FILE = install -m 644 -p
QMAKE_INSTALL_PROGRAM = install -m 755 -p
include(unix.conf)

View File

@@ -0,0 +1,61 @@
LICENSE = "LGPLv2.1 | GPLv3"
LIC_FILES_CHKSUM = "file://LICENSE.LGPL;md5=fbc093901857fcd118f065f900982c24 \
file://LICENSE.GPL3;md5=babc5b6b77441da277f5c06b2e547720 \
file://LGPL_EXCEPTION.txt;md5=411080a56ff917a5a1aa08c98acae354"
FILESPATH =. "${FILE_DIRNAME}/qt-${PV}:"
SRC_URI = "http://get.qt.nokia.com/qt/source/qt-everywhere-opensource-src-${PV}.tar.gz \
file://0004-no-qmake.patch \
file://hack-out-pg2-4.7.0.patch \
file://0006-freetype-host-includes.patch \
file://0009-support-2bpp.patch \
file://0001-Added-Openembedded-crossarch-option.patch \
file://fix-translations.patch \
file://add_nostrip_for_debug_packages.diff \
file://qmake_cxx_eval.patch \
file://g++.conf \
file://linux.conf \
"
SRC_URI[md5sum] = "e8a5fdbeba2927c948d9f477a6abe904"
SRC_URI[sha256sum] = "9392b74e485e15f75a3e07a527547d4f6747eaf55ebce71ba0e863a9fd320b6e"
S = "${WORKDIR}/qt-everywhere-opensource-src-${PV}"
FILES_${QT_BASE_NAME}-tools_append = " ${bindir}/qml ${bindir}/qmlplugindump"
FILES_${QT_BASE_NAME}-tools-dbg_append = " ${bindir}/.debug/qml ${bindir}/.debug/qmlplugindump"
PACKAGES_append = " ${QT_BASE_NAME}-tests-dbg ${QT_BASE_NAME}-tests"
FILES_${QT_BASE_NAME}-tests-dbg = "/usr/tests/qt4/*/.debug"
FILES_${QT_BASE_NAME}-tests = "/usr/tests/qt4/*"
do_configure_prepend() {
for pro in $(find ${S} -name "*.pro") ; do
sed -i \
-e 's:$$QT_BUILD_TREE/bin/lrelease:${OE_QMAKE_LRELEASE}:g' \
-e 's:qtPrepareTool(LRELEASE, lrelease):LRELEASE = ${OE_QMAKE_LRELEASE}:g' $pro
done
sed -i s:SEDME:${S}: ${WORKDIR}/linux.conf
sed -i \
-e /QMAKE_MOC\ /d \
-e /QMAKE_UIC\ /d \
-e /QMAKE_UIC3\ /d \
-e /QMAKE_RCC\ /d \
${S}/configure
# Avoid problems with Qt 4.8.0 configure setting QMAKE_LINK from LD (since we want the linker to be g++)
unset LD
}
do_compile() {
# Fixup missing wsegl header in some SGX SDKs
if ! [ -e ${STAGING_INCDIR}/wsegl.h ] ; then
cp src/3rdparty/powervr/wsegl.h src/plugins/gfxdrivers/powervr/QWSWSEGL/
fi
unset CFLAGS CXXFLAGS
oe_runmake ${EXTRA_ENV}
}

View File

@@ -0,0 +1,47 @@
From b1ba119f6a824dc01bd42ee00dba4a1653867b72 Mon Sep 17 00:00:00 2001
From: Matthias Günther <matgnt@gmail.com>
Date: Wed, 12 May 2010 16:52:45 +0200
Subject: [PATCH 1/9] Added Openembedded "-crossarch" option
Original Author: Michael Lauer <mickey@vanille-media.de>
Upstream-Status: Pending
---
configure | 7 ++++++-
1 files changed, 6 insertions(+), 1 deletions(-)
diff --git a/configure b/configure
index facd192..9d15136 100755
--- a/configure
+++ b/configure
@@ -954,7 +954,7 @@ while [ "$#" -gt 0 ]; do
shift
VAL=$1
;;
- -prefix|-docdir|-headerdir|-plugindir|-importdir|-datadir|-libdir|-bindir|-translationdir|-sysconfdir|-examplesdir|-demosdir|-depths|-make|-nomake|-platform|-xplatform|-buildkey|-sdk|-arch|-host-arch|-mysql_config)
+ -prefix|-docdir|-headerdir|-plugindir|-importdir|-datadir|-libdir|-bindir|-translationdir|-sysconfdir|-examplesdir|-demosdir|-depths|-make|-nomake|-platform|-xplatform|-buildkey|-sdk|-arch|-host-arch|-mysql_config|-crossarch)
VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
shift
VAL="$1"
@@ -1443,6 +1443,9 @@ while [ "$#" -gt 0 ]; do
xplatform)
XPLATFORM="$VAL"
;;
+ crossarch)
+ CROSSARCH="$VAL"
+ ;;
debug-and-release)
if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
CFG_DEBUG_RELEASE="$VAL"
@@ -2918,6 +2921,8 @@ elif [ "$PLATFORM_MAC" = "yes" ] || [ -z "$CFG_ARCH" ]; then
CFG_ARCH=$CFG_HOST_ARCH
fi
+CFG_ARCH="$CROSSARCH"
+
if [ -d "$relpath/src/corelib/arch/$CFG_ARCH" ]; then
if [ "$OPT_VERBOSE" = "yes" ]; then
echo " '$CFG_ARCH' is supported"
--
1.7.0.4

View File

@@ -0,0 +1,32 @@
fix phony translation linking error
| .../usr/lib/crt1.o: In function `_start':
| .../../sysdeps/i386/elf/start.S:115: undefined reference to `main'
| collect2: ld returned 1 exit status
Upstream-Status: Pending
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
diff --git a/translations/translations.pro b/translations/translations.pro
index cdaf04a..24fa668 100644
--- a/translations/translations.pro
+++ b/translations/translations.pro
@@ -20,7 +20,7 @@ updateqm.name = LRELEASE ${QMAKE_FILE_IN}
updateqm.CONFIG += no_link
QMAKE_EXTRA_COMPILERS += updateqm
-isEmpty(vcproj) {
+!isEmpty(vcproj) {
QMAKE_LINK = @: IGNORE THIS LINE
OBJECTS_DIR =
win32:CONFIG -= embed_manifest_exe
@@ -30,7 +30,7 @@ isEmpty(vcproj) {
phony_src.input = PHONY_DEPS
phony_src.output = phony.c
phony_src.variable_out = GENERATED_SOURCES
- phony_src.commands = echo int main() { return 0; } > phony.c
+ phony_src.commands = echo \"int main() { return 0; }\" > phony.c
phony_src.name = CREATE phony.c
phony_src.CONFIG += combine
QMAKE_EXTRA_COMPILERS += phony_src

View File

@@ -0,0 +1,56 @@
#
# qmake configuration for common gcc
#
QMAKE_CC = $(OE_QMAKE_CC)
QMAKE_CFLAGS += -pipe $(OE_QMAKE_CFLAGS)
QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += $(OE_QMAKE_CFLAGS)
QMAKE_CFLAGS_DEPS += -M
QMAKE_CFLAGS_WARN_ON += -Wall -W
QMAKE_CFLAGS_WARN_OFF += -w
QMAKE_CFLAGS_RELEASE +=
QMAKE_CFLAGS_DEBUG += -g
QMAKE_CFLAGS_SHLIB += -fPIC
QMAKE_CFLAGS_STATIC_LIB += -fPIC
QMAKE_CFLAGS_YACC += -Wno-unused -Wno-parentheses
QMAKE_CFLAGS_HIDESYMS += -fvisibility=hidden
QMAKE_CFLAGS_PRECOMPILE += -x c-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT}
QMAKE_CFLAGS_USE_PRECOMPILE += -include ${QMAKE_PCH_OUTPUT_BASE}
QMAKE_CXX = $(OE_QMAKE_CXX)
QMAKE_CXXFLAGS += $$QMAKE_CFLAGS $(OE_QMAKE_CXXFLAGS)
QMAKE_CXXFLAGS_DEPS += $$QMAKE_CFLAGS_DEPS
QMAKE_CXXFLAGS_WARN_ON += $$QMAKE_CFLAGS_WARN_ON
QMAKE_CXXFLAGS_WARN_OFF += $$QMAKE_CFLAGS_WARN_OFF
QMAKE_CXXFLAGS_RELEASE += $$QMAKE_CFLAGS_RELEASE
QMAKE_CXXFLAGS_RELEASE_WITH_DEBUGINFO += $$QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO
QMAKE_CXXFLAGS_DEBUG += $$QMAKE_CFLAGS_DEBUG
QMAKE_CXXFLAGS_SHLIB += $$QMAKE_CFLAGS_SHLIB
QMAKE_CXXFLAGS_STATIC_LIB += $$QMAKE_CFLAGS_STATIC_LIB
QMAKE_CXXFLAGS_YACC += $$QMAKE_CFLAGS_YACC
QMAKE_CXXFLAGS_HIDESYMS += $$QMAKE_CFLAGS_HIDESYMS -fvisibility-inlines-hidden
QMAKE_CXXFLAGS_PRECOMPILE += -x c++-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT}
QMAKE_CXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE
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_LFLAGS += $(OE_QMAKE_LDFLAGS)
QMAKE_LFLAGS_RELEASE +=
QMAKE_LFLAGS_DEBUG +=
QMAKE_LFLAGS_APP +=
QMAKE_LFLAGS_NOUNDEF += -Wl,--no-undefined
QMAKE_LFLAGS_RPATH = -Wl,-rpath-link,
QMAKE_PCH_OUTPUT_EXT = .gch
# -Bsymbolic-functions (ld) support
QMAKE_LFLAGS_BSYMBOLIC_FUNC = -Wl,-Bsymbolic-functions
QMAKE_LFLAGS_DYNAMIC_LIST = -Wl,--dynamic-list,
# some linking helper...
CONFIG += rpath_libdirs
# for the SDK
isEmpty(QMAKE_QT_CONFIG):QMAKE_QT_CONFIG = $(OE_QMAKE_QT_CONFIG)

View File

@@ -0,0 +1,31 @@
Hack to not use the pg_config of the host system which will add /usr/include
pg_config is a native binary so using that when cross compiling
will always fail. The commented out fix would do, but for OE
our -platform and -xplatform is the same so we are actually not
really cross compiling. Just comment out the test, we are passing
the location to the postgres headers and if they are okay we
will pad.
Original Author: Holger Hans Peter Freyther <zecke@selfish.org>
Upstream-Status: Inappropriate [configuration]
Index: qt-everywhere-opensource-src-4.7.0/configure
===================================================================
--- qt-everywhere-opensource-src-4.7.0.orig/configure 2010-09-22 15:43:51.191162141 -0400
+++ qt-everywhere-opensource-src-4.7.0/configure 2010-09-22 15:44:35.179981232 -0400
@@ -4921,10 +4921,10 @@
psql)
if [ "$CFG_SQL_psql" != "no" ]; then
# Be careful not to use native pg_config when cross building.
- if [ "$XPLATFORM_MINGW" != "yes" ] && "$WHICH" pg_config >/dev/null 2>&1; then
- QT_CFLAGS_PSQL=`pg_config --includedir 2>/dev/null`
- QT_LFLAGS_PSQL=`pg_config --libdir 2>/dev/null`
- fi
+# if [ "$XPLATFORM_MINGW" != "yes" ] && "$WHICH" pg_config >/dev/null 2>&1; then
+# QT_CFLAGS_PSQL=`pg_config --includedir 2>/dev/null`
+# QT_LFLAGS_PSQL=`pg_config --libdir 2>/dev/null`
+# fi
[ -z "$QT_CFLAGS_PSQL" ] || QT_CFLAGS_PSQL="-I$QT_CFLAGS_PSQL"
[ -z "$QT_LFLAGS_PSQL" ] || QT_LFLAGS_PSQL="-L$QT_LFLAGS_PSQL"
# But, respect PSQL_LIBS if set

View File

@@ -0,0 +1,66 @@
#
# qmake configuration for common linux
#
QMAKE_CFLAGS_THREAD += -D_REENTRANT
QMAKE_CXXFLAGS_THREAD += $$QMAKE_CFLAGS_THREAD
QMAKE_INCDIR =
QMAKE_LIBDIR =
QMAKE_INCDIR_X11 =
QMAKE_LIBDIR_X11 =
QMAKE_INCDIR_QT = $(OE_QMAKE_INCDIR_QT)
QMAKE_LIBDIR_QT = $(OE_QMAKE_LIBDIR_QT)
QMAKE_INCDIR_OPENGL =
QMAKE_LIBDIR_OPENGL =
QMAKE_INCDIR_OPENGL_ES1 = $$QMAKE_INCDIR_OPENGL
QMAKE_LIBDIR_OPENGL_ES1 = $$QMAKE_LIBDIR_OPENGL
QMAKE_INCDIR_OPENGL_ES2 = $$QMAKE_INCDIR_OPENGL
QMAKE_LIBDIR_OPENGL_ES2 = $$QMAKE_LIBDIR_OPENGL
QMAKE_INCDIR_EGL =
QMAKE_LIBDIR_EGL =
QMAKE_INCDIR_OPENVG =
QMAKE_LIBDIR_OPENVG =
QMAKE_LIBS =
QMAKE_LIBS_DYNLOAD = -ldl
QMAKE_LIBS_X11 = $(OE_QMAKE_LIBS_X11)
QMAKE_LIBS_X11SM = $(OE_QMAKE_LIBS_X11SM)
QMAKE_LIBS_NIS = -lnsl
QMAKE_LIBS_EGL = -lEGL
QMAKE_LIBS_OPENGL = -lGLU -lGL
QMAKE_LIBS_OPENGL_QT = -lGL
QMAKE_LIBS_OPENGL_ES1 = -lGLES_CM
QMAKE_LIBS_OPENGL_ES2 = -lGLESv2
QMAKE_LIBS_OPENVG = -lOpenVG
QMAKE_LIBS_THREAD = -lpthread
QMAKE_MOC = $(OE_QMAKE_MOC)
QMAKE_UIC = $(OE_QMAKE_UIC)
QMAKE_UIC3 = $(OE_QMAKE_UIC3)
QMAKE_RCC = $(OE_QMAKE_RCC)
QMAKE_QDBUSCPP2XML = $(OE_QMAKE_QDBUSCPP2XML)
QMAKE_QDBUSXML2CPP = $(OE_QMAKE_QDBUSXML2CPP)
QMAKE_AR = $(OE_QMAKE_AR) cqs
QMAKE_OBJCOPY = objcopy
QMAKE_RANLIB =
QMAKE_TAR = tar -cf
QMAKE_GZIP = gzip -9f
QMAKE_COPY = cp -f
QMAKE_COPY_FILE = $(COPY)
QMAKE_COPY_DIR = $(COPY) -r
QMAKE_MOVE = mv -f
QMAKE_DEL_FILE = rm -f
QMAKE_DEL_DIR = rmdir
QMAKE_STRIP = $(OE_QMAKE_STRIP)
QMAKE_STRIPFLAGS_LIB += --strip-unneeded
QMAKE_CHK_DIR_EXISTS = test -d
QMAKE_MKDIR = mkdir -p
QMAKE_INSTALL_FILE = install -m 644 -p
QMAKE_INSTALL_PROGRAM = install -m 755 -p
include(unix.conf)

View File

@@ -0,0 +1,22 @@
Allow expansion of $(...) references in QMAKE_CXX (currently its value
is $(OE_QMAKE_CXX)) in order to allow compiler version check to succeed
which allows WebKit to be enabled.
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Upstream-Status: Pending
Index: qt-everywhere-opensource-src-4.8.0/configure
===================================================================
--- qt-everywhere-opensource-src-4.8.0.orig/configure
+++ qt-everywhere-opensource-src-4.8.0/configure
@@ -3322,7 +3322,8 @@ else
CFG_FRAMEWORK=no
fi
-QMAKE_CONF_COMPILER=`getQMakeConf "$XQMAKESPEC" | grep "^QMAKE_CXX[^_A-Z0-9]" | sed "s,.* *= *\(.*\)$,\1," | tail -1`
+QMAKE_CONF_COMPILER=`getQMakeConf "$XQMAKESPEC" | grep "^QMAKE_CXX[^_A-Z0-9]" | sed "s,.* *= *\(.*\)$,\1," | sed -n 's/$[(]\([0-9a-zA-Z_]*\)[)]/$\1/pg' | tail -1`
+QMAKE_CONF_COMPILER=`eval "echo $QMAKE_CONF_COMPILER"`
TEST_COMPILER="$CXX"
[ -z "$TEST_COMPILER" ] && TEST_COMPILER=$QMAKE_CONF_COMPILER

View File

@@ -0,0 +1,11 @@
DESCRIPTION = "Qt Mobility 1.2.0 - version for Qt/Embedded"
DEPENDS = "qt4-embedded"
SECTION = "libs"
qtm_embedded := "embedded"
qtm_dir = "qtopia"
qtm_glflags := "-=opengl"
qtm_extra_config := "gstreamer-photography_enabled = no"
inherit qt4e
require qt-mobility_${PV}.inc

View File

@@ -0,0 +1,10 @@
DESCRIPTION = "Qt Mobility 1.2.0 - version for Qt/X11"
DEPENDS = "qt4-x11-free"
SECTION = "x11/libs"
qtm_embedded := ""
qtm_dir = "qt4"
qtm_glflags := "${@base_contains('DISTRO_FEATURES', 'opengl', '+=opengl', '-=opengl', d)} "
qtm_extra_config := ""
inherit qt4x11
require qt-mobility_${PV}.inc

View File

@@ -0,0 +1,67 @@
HOMEPAGE = "http://qt.nokia.com"
DEPENDS += "pulseaudio bluez4"
LICENSE = "LGPLv2.1"
LIC_FILES_CHKSUM = "file://LICENSE.LGPL;md5=fbc093901857fcd118f065f900982c24 \
file://LGPL_EXCEPTION.txt;md5=411080a56ff917a5a1aa08c98acae354"
SRC_URI = "http://get.qt.nokia.com/qt/add-ons/qt-mobility-opensource-src-${PV}.tar.gz \
file://qt-mobility-configure.patch \
file://0001-gstvideoconnector-fixed-buffers-allocation.patch"
SRC_URI[md5sum]="ea5db5a8d3dd4709c2926dceda646bd8"
SRC_URI[sha256sum]="ee3c88975e04139ac9589f76d4be646d44fcbc4c8c1cf2db621abc154cf0ba44"
PR = "r2"
S = "${WORKDIR}/qt-mobility-opensource-src-${PV}"
qtm_bin := "/usr/bin/${qtm_dir}"
qtm_lib := "/usr/lib"
qtm_include := "/usr/include/${qtm_dir}"
qtm_examples := "/usr/bin/${qtm_dir}/examples/QtMobility"
qtm_demos := "/usr/bin/${qtm_dir}/demos/QtMobility"
qtm_plugins := "/usr/lib/${qtm_dir}/plugins/QtMobility"
qtm_data := "/usr/share/${qtm_dir}"
qtm_imports := "/usr/lib/${qtm_dir}/imports"
do_configure_prepend() {
cp qtmobility.pro qtmobility.pro.old
sed -e 's@...QT_INSTALL_DATA.@${qtm_data}@' <qtmobility.pro.old >qtmobility.pro
for NAME in plugins/declarative/*/*.pro
do
cp $NAME $NAME.old
sed -e 's@...QT_INSTALL_IMPORTS.@${qtm_imports}@' <$NAME.old >$NAME
done
cp staticconfig.pri staticconfig.pri.old
echo "include(${STAGING_DATADIR}/${qtm_dir}/mkspecs/qconfig.pri)" >staticconfig.pri
cat staticconfig.pri.old >>staticconfig.pri
./configure -qmake-exec qmake2 -prefix /usr -examples -demos
echo QT_MOBILITY_BIN = ${qtm_bin} >>./config.pri
echo QT_MOBILITY_LIB = ${qtm_lib} >>./config.pri
echo QT_MOBILITY_INCLUDE = ${qtm_include} >>./config.pri
echo QT_MOBILITY_PLUGINS = ${qtm_plugins} >>./config.pri
echo QT_MOBILITY_EXAMPLES = ${qtm_examples} >>./config.pri
echo QT_MOBILITY_DEMOS = ${qtm_demos} >>./config.pri
echo QT_CONFIG ${qtm_glflags} >>./config.pri
echo bluez_enabled = yes >>./config.pri
echo ${qtm_extra_config} >>./config.pri
echo CONFIG += ${qtm_embedded} >>./config.pri
}
do_install() {
for NAME in */*.prf
do
cp $NAME $NAME.old
sed -e 's@/usr@${STAGING_BINDIR}/..@' <$NAME.old >$NAME
done
oe_runmake install INSTALL_ROOT=${D}
}
PACKAGES = "${PN}-dbg ${PN} ${PN}-dev"
FILES_${PN}-dbg = "${qtm_bin}/.debug ${qtm_examples}/.debug ${qtm_demos}/.debug \
${qtm_lib}/.debug ${qtm_plugins}/*/.debug ${qtm_imports}/*/.debug \
${qtm_imports}/*/*/.debug ${bindir}/.debug /usr/src/debug"
FILES_${PN} = "${qtm_bin} ${qtm_examples} ${qtm_demos} ${qtm_lib}/*.so.1* ${qtm_plugins} ${qtm_imports}"
FILES_${PN}-dev = "${exec_prefix}"

View File

@@ -0,0 +1,35 @@
DESCRIPTION = "Qt is a versatile cross-platform application framework -- this is the embedded version."
SECTION = "libs"
HOMEPAGE = "http://qt.nokia.com"
DEPENDS += "directfb tslib"
INC_PR = "r40"
QT_BASE_LIB ?= "libqt-embedded"
# Set necessary variables in the profile
SRC_URI += "file://qte.sh"
QT_CONFIG_FLAGS += " \
-embedded ${QT_ARCH} \
-qtlibinfix ${QT_LIBINFIX} \
-plugin-gfx-transformed -plugin-gfx-qvfb -plugin-gfx-vnc -plugin-gfx-directfb \
-plugin-mouse-tslib -qt-mouse-pc -qt-mouse-qvfb -qt-mouse-linuxinput \
-qt-kbd-tty \
-DQT_KEYPAD_NAVIGATION \
"
require qt4.inc
do_install_append() {
install -d ${D}${sysconfdir}/profile.d/
install -m 0755 ${WORKDIR}/qte.sh ${D}${sysconfdir}/profile.d/
}
# We put the qte profile into it's own package as we don't want to install all qt stuff
# with depending on the global package qt4-embedded
PACKAGES += " ${PN}-conf"
FILES_${PN}-conf += " ${sysconfdir}/profile.d/qte.sh"
RRECOMMENDS_${PN} += " ${PN}-conf"
inherit qt4e

View File

@@ -0,0 +1,11 @@
require qt-${PV}.inc
require qt4-embedded.inc
PR = "${INC_PR}.6"
QT_CONFIG_FLAGS_append_armv6 = " -no-neon "
QT_CONFIG_FLAGS += " \
-exceptions \
"

View File

@@ -0,0 +1,13 @@
require qt-${PV}.inc
require qt4-embedded.inc
PR = "${INC_PR}.0"
DEFAULT_PREFERENCE = "-1"
QT_CONFIG_FLAGS_append_armv6 = " -no-neon "
QT_CONFIG_FLAGS += " \
-exceptions \
"

View File

@@ -0,0 +1,97 @@
DESCRIPTION = "Native version of Qt/[X11|Mac|Embedded]"
DEPENDS = "zlib-native dbus-native"
SECTION = "libs"
HOMEPAGE = "http://qt.nokia.com"
PROVIDES = "qt4-tools-native"
LICENSE = "LGPLv2.1 | GPLv3"
LIC_FILES_CHKSUM = "file://LICENSE.LGPL;md5=fbc093901857fcd118f065f900982c24 \
file://LICENSE.GPL3;md5=babc5b6b77441da277f5c06b2e547720 \
file://LGPL_EXCEPTION.txt;md5=411080a56ff917a5a1aa08c98acae354"
INC_PR = "r13"
inherit native
SRC_URI = "http://get.qt.nokia.com/qt/source/qt-everywhere-opensource-src-${PV}.tar.gz \
file://qt-config.patch \
file://g++.conf \
file://linux.conf"
S = "${WORKDIR}/qt-everywhere-opensource-src-${PV}"
EXTRA_OECONF = "-prefix ${prefix} \
-L ${STAGING_LIBDIR_NATIVE} \
-I ${STAGING_INCDIR_NATIVE} \
-qt-libjpeg -system-zlib \
-no-libjpeg -no-libpng -no-libmng -no-libtiff \
-no-accessibility \
-no-cups \
-no-nas-sound \
-no-nis -no-openssl \
-verbose -release \
-embedded -no-freetype -no-glib -no-iconv \
-exceptions -xmlpatterns \
-qt3support \
-no-fast -silent -no-rpath"
# yank default -e, otherwise we get the following error:
# moc_qbuffer.cpp: No such file or directory
EXTRA_OEMAKE = " "
do_configure() {
# Avoid problems with Qt 4.8.0 configure setting QMAKE_LINK from LD (since we want the linker to be g++)
unset LD
(echo o; echo yes) | ./configure ${EXTRA_OECONF} || die "Configuring qt failed. EXTRA_OECONF was ${EXTRA_OECONF}"
}
TOBUILD = "\
src/tools/moc \
src/corelib \
src/sql \
src/xml \
src/network \
src/tools/uic \
src/tools/rcc \
src/xmlpatterns \
src/dbus \
src/gui \
src/testlib \
src/qt3support \
src/tools/uic3 \
tools/linguist/lrelease \
tools/linguist/lupdate \
tools/qdbus/qdbuscpp2xml \
tools/qdbus/qdbusxml2cpp \
"
do_compile() {
for i in ${TOBUILD}; do
cd ${S}/$i && oe_runmake CC="${CC}" CXX="${CXX}"
done
}
do_install() {
install -d ${D}${bindir}/
install -m 0755 bin/qmake ${D}${bindir}/qmake2
for i in moc uic uic3 rcc lrelease lupdate qdbuscpp2xml qdbusxml2cpp; do
install -m 0755 bin/${i} ${D}${bindir}/${i}4
done
install -d ${D}${datadir}/qt4/
cp -PfR mkspecs ${D}${datadir}/qt4/
ln -sf linux-g++ ${D}${datadir}/qt4/mkspecs/${BUILD_OS}-oe-g++
if [ -f ${D}${datadir}/qt4/mkspecs/common/g++-unix.conf ] ; then
# mkspecs were refactored for 4.8.0
cp -f ${WORKDIR}/g++.conf ${D}${datadir}/qt4/mkspecs/common/g++-unix.conf
else
cp -f ${WORKDIR}/g++.conf ${D}${datadir}/qt4/mkspecs/common/g++.conf
fi
cp -f ${WORKDIR}/linux.conf ${D}${datadir}/qt4/mkspecs/common/
install -m 0644 tools/porting/src/q3porting.xml ${D}${datadir}/qt4/
for i in ${TOBUILD}; do
cd ${S}/$i && oe_runmake install INSTALL_ROOT=${D}
done
}

View File

@@ -0,0 +1,15 @@
require qt4-native.inc
PR = "${INC_PR}.1"
SRC_URI += "file://blacklist-diginotar-certs.diff \
file://fix-qtbug-20925.patch"
# Find the g++.conf/linux.conf in the right directory.
FILESEXTRAPATHS =. "${FILE_DIRNAME}/qt-${PV}:"
TOBUILD := "src/tools/bootstrap ${TOBUILD}"
SRC_URI[md5sum] = "9831cf1dfa8d0689a06c2c54c5c65aaf"
SRC_URI[sha256sum] = "97195ebce8a46f9929fb971d9ae58326d011c4d54425389e6e936514f540221e"

View File

@@ -0,0 +1,14 @@
require qt4-native.inc
PR = "${INC_PR}.0"
DEFAULT_PREFERENCE = "-1"
# Find the g++.conf/linux.conf in the right directory.
FILESEXTRAPATHS =. "${FILE_DIRNAME}/qt-${PV}:"
TOBUILD := "src/tools/bootstrap ${TOBUILD}"
SRC_URI[md5sum] = "e8a5fdbeba2927c948d9f477a6abe904"
SRC_URI[sha256sum] = "9392b74e485e15f75a3e07a527547d4f6747eaf55ebce71ba0e863a9fd320b6e"

View File

@@ -0,0 +1,109 @@
DESCRIPTION = "SDK tools for Qt/[X11|Mac|Embedded] version 4.x"
DEPENDS = "zlib-nativesdk dbus-nativesdk libx11-nativesdk qt4-tools-native"
SECTION = "libs"
HOMEPAGE = "http://qt.nokia.com"
LICENSE = "LGPLv2.1 | GPLv3"
INC_PR = "r7"
FILESEXTRAPATHS =. "${FILE_DIRNAME}/qt-${PV}:"
inherit nativesdk qmake2
SRC_URI = "http://get.qt.nokia.com/qt/source/qt-everywhere-opensource-src-${PV}.tar.gz \
file://configure-lflags.patch \
file://compile.test-lflags.patch \
file://qt-config.patch \
file://qmake-exists-check.patch \
file://configure-paths.patch \
file://qt-dbus-const.patch \
file://g++.conf \
file://linux.conf"
S = "${WORKDIR}/qt-everywhere-opensource-src-${PV}"
LIC_FILES_CHKSUM = "file://LICENSE.LGPL;md5=fbc093901857fcd118f065f900982c24 \
file://LICENSE.GPL3;md5=babc5b6b77441da277f5c06b2e547720 \
file://LGPL_EXCEPTION.txt;md5=411080a56ff917a5a1aa08c98acae354"
require qt4_arch.inc
# FIXME: make it work with "${STAGING_BINDIR_NATIVE}/pkg-config --cflags dbus-1"
EXTRA_OECONF = "-prefix ${prefix} \
-qt-libjpeg -system-zlib \
-no-libjpeg -no-libpng -no-libmng -no-libtiff \
-no-accessibility \
-no-cups \
-no-exceptions \
-no-nas-sound \
-no-nis -no-openssl \
-verbose -release -fast -static \
-platform ${TARGET_OS}-oe-g++ \
-xplatform ${TARGET_OS}-oe-g++ \
-arch ${@qt_arch(d)} \
-embedded -no-freetype -no-glib -no-iconv \
-qt3support \
-I${STAGING_DIR_HOST}${SDKPATHNATIVE}/usr/include/dbus-1.0 \
-I${STAGING_DIR_HOST}${SDKPATHNATIVE}/usr/lib/dbus-1.0/include"
# yank default -e, otherwise we get the following error:
# moc_qbuffer.cpp: No such file or directory
EXTRA_OEMAKE = " "
do_configure() {
if [ ! -e mkspecs/${TARGET_OS}-oe-g++ ]; then
ln -sf linux-g++ mkspecs/${TARGET_OS}-oe-g++
fi
cp ../g++.conf mkspecs/common
cp ../linux.conf mkspecs/common
# first launch configure to get qmake compiled for the nativesdk
(echo o; echo yes) | CC="${CC}" CXX="${CXX}" ./configure ${EXTRA_OECONF} || true
# then backup the binary and start again with a qmake which can run on the build host
mv bin/qmake bin/qmake_nativesdk
if [ ! -e bin/qmake ]; then
ln -sf ${STAGING_BINDIR_NATIVE}/qmake2 bin/qmake
fi
(echo o; echo yes) | CC="${CC}" CXX="${CXX}" ./configure ${EXTRA_OECONF} || die "Configuring qt failed. EXTRA_OECONF was ${EXTRA_OECONF}"
}
TOBUILD = "\
src/tools/bootstrap \
src/tools/moc \
src/corelib \
src/sql \
src/dbus \
src/qt3support \
src/xml \
src/tools/uic \
src/tools/rcc \
src/network \
src/gui \
src/tools/uic3 \
tools/linguist/lrelease \
tools/linguist/lupdate \
tools/qdbus \
"
do_compile() {
for i in ${TOBUILD}; do
cd ${S}/$i && oe_runmake CC="${CC}" CXX="${CXX}"
done
}
do_install() {
install -d ${D}${bindir}
install -m 0755 bin/qmake_nativesdk ${D}${bindir}/qmake2
for i in moc uic uic3 rcc lrelease lupdate qdbuscpp2xml qdbusxml2cpp; do
install -m 0755 bin/${i} ${D}${bindir}/${i}4
done
(cd ${D}${bindir}; \
ln -s qmake2 qmake; \
for i in moc uic uic3 rcc lrelease lupdate qdbuscpp2xml qdbusxml2cpp; do \
ln -s ${i}4 ${i}; \
done)
}

View File

@@ -0,0 +1,9 @@
require qt4-tools-nativesdk.inc
PR = "${INC_PR}.0"
SRC_URI += "file://blacklist-diginotar-certs.diff \
file://fix-qtbug-20925.patch"
SRC_URI[md5sum] = "9831cf1dfa8d0689a06c2c54c5c65aaf"
SRC_URI[sha256sum] = "97195ebce8a46f9929fb971d9ae58326d011c4d54425389e6e936514f540221e"

View File

@@ -0,0 +1,8 @@
require qt4-tools-nativesdk.inc
PR = "${INC_PR}.0"
DEFAULT_PREFERENCE = "-1"
SRC_URI[md5sum] = "e8a5fdbeba2927c948d9f477a6abe904"
SRC_URI[sha256sum] = "9392b74e485e15f75a3e07a527547d4f6747eaf55ebce71ba0e863a9fd320b6e"

View File

@@ -0,0 +1,31 @@
require qt4.inc
DESCRIPTION = "Qt is a versatile cross-platform application framework -- this is the X11 version."
HOMEPAGE = "http://qt.nokia.com"
SECTION = "x11/libs"
DEPENDS += "virtual/libgl virtual/libx11 fontconfig libxft libxext libxrender libxrandr libxcursor"
INC_PR = "r37"
QT_GLFLAGS ?= "${@base_contains('DISTRO_FEATURES', 'opengl', '-opengl', '-no-opengl', d)} "
QT_GLFLAGS_qemux86 = "-opengl"
QT_GLFLAGS_qemuppc = "-opengl"
QT_CONFIG_FLAGS += "-no-xinerama -no-xkb"
QT_BASE_LIB ?= "libqt"
inherit qt4x11
do_install_append() {
# fix pkgconfig, libtool and prl files
sed -i -e 's#I/usr/include#Iincludedir}#g' \
-e 's#Iin#I${in#g' \
${D}${libdir}/*.la ${D}${libdir}/*.prl ${D}${libdir}/pkgconfig/*.pc
# QT abuses $includedir to point to its headers, which breaks pkgconfig sysroot, so
# manually fix it up here:
for pc in ${D}${libdir}/pkgconfig/*.pc ; do
sed -i -e "s:prefix}include/${QT_BASE_NAME}/$(basename $pc .pc):prefix}/include:" \
-e "s,Cflags: ,Cflags: -IP{includedir}/${QT_BASE_NAME}/$(basename $pc .pc) ," \
-e 's:IP{:I${:g' $pc
done
}

View File

@@ -0,0 +1,11 @@
require qt4-x11-free.inc
require qt-${PV}.inc
PR = "${INC_PR}.6"
QT_CONFIG_FLAGS_append_armv6 = " -no-neon "
QT_CONFIG_FLAGS += " \
-no-embedded \
-xrandr \
-x11"

View File

@@ -0,0 +1,13 @@
require qt4-x11-free.inc
require qt-${PV}.inc
PR = "${INC_PR}.0"
DEFAULT_PREFERENCE = "-1"
QT_CONFIG_FLAGS_append_armv6 = " -no-neon "
QT_CONFIG_FLAGS += " \
-no-embedded \
-xrandr \
-x11"

View File

@@ -0,0 +1,336 @@
inherit qmake_base
DEPENDS += "qt4-tools-native freetype jpeg libpng zlib dbus openssl glib-2.0 gstreamer gst-plugins-base sqlite3"
require qt4_arch.inc
QT_ARCH := "${@qt_arch(d)}"
QT_ENDIAN = "${@qt_endian(d)}"
QT_DISTRO_FLAGS ?= "-no-accessibility -no-sm"
QT_DISTRO_FLAGS_linuxstdbase = "-sm"
QT_SQL_DRIVER_FLAGS ?= "-no-sql-ibase -no-sql-mysql -no-sql-psql -no-sql-odbc -plugin-sql-sqlite"
QT_GLFLAGS ?= ""
QT_CONFIG_FLAGS += "-release -no-cups -reduce-relocations \
-shared -no-nas-sound -no-nis \
-system-libjpeg -system-libpng -system-zlib \
-no-pch -qdbus -stl -glib -phonon -webkit \
-xmlpatterns -no-rpath -qt3support -silent \
${QT_SQL_DRIVER_FLAGS} \
${QT_DISTRO_FLAGS} \
${QT_GLFLAGS}"
EXTRA_OEMAKE = "-e"
EXTRA_ENV = 'QMAKE="${STAGING_BINDIR_NATIVE}/qmake2 -after \
INCPATH+=${STAGING_INCDIR}/freetype2 LIBS+=-L${STAGING_LIBDIR}" \
QMAKESPEC="${QMAKESPEC}" LINK="${CXX} -Wl,-rpath-link,${STAGING_LIBDIR}" \
AR="${TARGET_PREFIX}ar cqs" \
MOC="${STAGING_BINDIR_NATIVE}/moc4" UIC="${STAGING_BINDIR_NATIVE}/uic4" MAKE="make -e"'
export QT_CONF_PATH="${WORKDIR}/qt.conf"
# Library packages
QT_LIB_NAMES = "Qt3Support QtAssistantClient QtCLucene QtCore QtDBus QtDesigner QtDesignerComponents QtGui QtHelp QtNetwork QtOpenGL QtScript QtScriptTools QtSql QtSvg QtTest QtUiTools QtWebKit QtXml QtXmlPatterns phonon QtMultimedia QtOpenVG QtMediaServices QtDeclarative"
QT_EXTRA_LIBS = "pvrQWSWSEGL"
python __anonymous () {
import bb
lib_packages = []
dev_packages = []
dbg_packages = []
for name in d.getVar("QT_LIB_NAMES", 1).split():
pkg = d.getVar("QT_BASE_LIB", True) + name.lower().replace("qt", "").replace("_", "-") + "4"
# NOTE: the headers for QtAssistantClient are different
incname = name.replace("QtAssistantClient", "QtAssistant")
d.setVar("FILES_%s" % pkg, "${libdir}/lib%(name)s${QT_LIBINFIX}.so.*" % locals())
d.setVar("FILES_%s-dev" % pkg, """${libdir}/lib%(name)s${QT_LIBINFIX}.prl
${libdir}/lib%(name)s${QT_LIBINFIX}.a
${libdir}/lib%(name)s${QT_LIBINFIX}.la
${libdir}/lib%(name)s${QT_LIBINFIX}.so
${includedir}/${QT_DIR_NAME}/%(incname)s
${libdir}/pkgconfig/%(name)s${QT_LIBINFIX}.pc""" % locals())
d.setVar("FILES_%s-dbg" % pkg, "${libdir}/.debug/lib%(name)s${QT_LIBINFIX}.so*" % locals())
d.setVar("RRECOMMENDS_%s-dbg" % pkg, "${PN}-dbg")
lib_packages.append(pkg)
dev_packages.append("%s-dev" % pkg)
dbg_packages.append("%s-dbg" % pkg)
for name in d.getVar("OTHER_PACKAGES", 1).split():
dbg_packages.append("%s-dbg" % name)
for name in d.getVar("QT_EXTRA_LIBS", 1).split():
pkg = d.getVar("QT_BASE_LIB", True) + name.lower().replace("qt", "").replace("_", "-") + "4"
d.setVar("FILES_%s" % pkg, "${libdir}/lib%(name)s.so.*" % locals())
d.setVar("FILES_%s-dev" % pkg, """${libdir}/lib%(name)s.prl
${libdir}/lib%(name)s.a
${libdir}/lib%(name)s.la
${libdir}/lib%(name)s.so
${includedir}/${QT_DIR_NAME}/%(incname)s
${libdir}/pkgconfig/%(name)s.pc""" % locals())
d.setVar("FILES_%s-dbg" % pkg, "${libdir}/.debug/lib%(name)s.so*" % locals())
d.setVar("RRECOMMENDS_%s-dbg" % pkg, "${PN}-dbg")
lib_packages.append(pkg)
dev_packages.append("%s-dev" % pkg)
dbg_packages.append("%s-dbg" % pkg)
d.setVar("LIB_PACKAGES", " ".join(lib_packages))
d.setVar("DEV_PACKAGES", " ".join(dev_packages))
d.setVar("DBG_PACKAGES", " ".join(dbg_packages))
}
OTHER_PACKAGES = "\
${QT_BASE_NAME}-tools \
${QT_BASE_NAME}-assistant \
${QT_BASE_NAME}-common \
${QT_BASE_NAME}-dbus \
${QT_BASE_NAME}-demos \
${QT_BASE_NAME}-designer \
${QT_BASE_NAME}-examples \
${QT_BASE_NAME}-fonts \
${QT_BASE_NAME}-fonts-ttf-vera \
${QT_BASE_NAME}-fonts-ttf-dejavu \
${QT_BASE_NAME}-fonts-pfa \
${QT_BASE_NAME}-fonts-pfb \
${QT_BASE_NAME}-fonts-qpf \
${QT_BASE_NAME}-linguist \
${QT_BASE_NAME}-makeqpf \
${QT_BASE_NAME}-mkspecs \
${QT_BASE_NAME}-pixeltool \
${QT_BASE_NAME}-qmlviewer \
${QT_BASE_NAME}-xmlpatterns \
${QT_BASE_NAME}-qt3to4 \
${QT_BASE_NAME}-qml-plugins"
#We prepend so ${QT_BASE_NAME}-demos-doc comes before ${PN}-doc,so the packaging of FILES_ get done before.
PACKAGES =+ "${QT_BASE_NAME}-demos-doc"
PACKAGES += "${LIB_PACKAGES} ${DEV_PACKAGES} ${DBG_PACKAGES} ${OTHER_PACKAGES}"
PACKAGES_DYNAMIC = "${QT_BASE_NAME}-plugin-* ${QT_BASE_NAME}-translation-* ${QT_BASE_NAME}-phrasebook-* ${QT_BASE_NAME}-fonts-*"
ALLOW_EMPTY_${PN} = "1"
ALLOW_EMPTY_${QT_BASE_NAME}-fonts = "1"
FILES_${PN} = ""
FILES_${PN}-dev = "${includedir}/${QT_DIR_NAME}/Qt/*"
FILES_${PN}-dbg = "${exec_prefix}/src/debug/"
FILES_${QT_BASE_NAME}-demos-doc = "${docdir}/qtopia/qch/qt.qch"
RRECOMMENDS_${PN} = "${LIB_PACKAGES} ${OTHER_PACKAGES}"
RRECOMMENDS_${PN}-dev = "${DEV_PACKAGES}"
RRECOMMENDS_${PN}-dbg = "${DBG_PACKAGES}"
RRECOMMENDS_${QT_BASE_NAME}-fonts = " \
${QT_BASE_NAME}-fonts-ttf-vera \
${QT_BASE_NAME}-fonts-ttf-dejavu \
${QT_BASE_NAME}-fonts-pfa \
${QT_BASE_NAME}-fonts-pfb \
${QT_BASE_NAME}-fonts-qpf"
RRECOMMENDS_${QT_BASE_NAME}-demos += " \
${QT_BASE_NAME}-fonts \
${QT_BASE_NAME}-examples \
${QT_BASE_NAME}-plugin-sqldriver-sqlite \
${QT_BASE_NAME}-plugin-imageformat-jpeg \
${QT_BASE_NAME}-qml-plugins \
${QT_BASE_NAME}-assistant \
${QT_BASE_NAME}-demos-doc"
RRECOMMENDS_${QT_BASE_NAME}-examples += " \
${QT_BASE_NAME}-plugin-sqldriver-sqlite \
${QT_BASE_NAME}-plugin-imageformat-jpeg \
${QT_BASE_NAME}-qml-plugins"
RRECOMMENDS_${QT_BASE_NAME}-qmlviewer += " \
${QT_BASE_NAME}-qml-plugins"
RRECOMMENDS_${QT_BASE_NAME}-doc += " \
${QT_BASE_NAME}-demos-doc"
FILES_${QT_BASE_NAME}-tools = "${bindir}/qttracereplay ${bindir}/qdoc* ${bindir}/moc ${bindir}/uic* ${bindir}/rcc"
FILES_${QT_BASE_NAME}-tools-dbg = "${bindir}/.debug/qttracereplay ${bindir}/.debug/qdoc* ${bindir}/.debug/uic* ${bindir}/.debug/moc ${bindir}/.debug/rcc"
FILES_${QT_BASE_NAME}-assistant = "${bindir}/*assistant* ${bindir}/qcollectiongenerator ${bindir}/qhelpconverter ${bindir}/qhelpgenerator"
FILES_${QT_BASE_NAME}-assistant-dbg = "${bindir}/.debug/*assistant* ${bindir}/.debug/qcollectiongenerator ${bindir}/.debug/qhelpconverter ${bindir}/.debug/qhelpgenerator"
FILES_${QT_BASE_NAME}-common = "${bindir}/qtconfig"
FILES_${QT_BASE_NAME}-common-dbg = "${bindir}/.debug/qtconfig"
FILES_${QT_BASE_NAME}-dbus = "${bindir}/qdbus ${bindir}/qdbusxml2cpp ${bindir}/qdbuscpp2xml ${bindir}/qdbusviewer"
FILES_${QT_BASE_NAME}-dbus-dbg = "${bindir}/.debug/qdbus ${bindir}/.debug/qdbusxml2cpp ${bindir}/.debug/qdbuscpp2xml ${bindir}/.debug/qdbusviewer"
FILES_${QT_BASE_NAME}-demos = "${bindir}/qtdemo* ${bindir}/${QT_DIR_NAME}/demos/*"
FILES_${QT_BASE_NAME}-demos-dbg = "${bindir}/.debug/qtdemo* ${bindir}/${QT_DIR_NAME}/demos/.debug/* ${bindir}/${QT_DIR_NAME}/demos/*/.debug ${bindir}/${QT_DIR_NAME}/demos/*/*/.debug ${bindir}/${QT_DIR_NAME}/demos/*/*/*/.debug"
FILES_${QT_BASE_NAME}-designer = "${bindir}/*designer*"
FILES_${QT_BASE_NAME}-designer-dbg = "${bindir}/.debug/*designer*"
FILES_${QT_BASE_NAME}-examples = "${bindir}/${QT_DIR_NAME}/examples/*"
FILES_${QT_BASE_NAME}-examples-dbg = "${bindir}/${QT_DIR_NAME}/examples/.debug ${bindir}/${QT_DIR_NAME}/examples/*/.debug ${bindir}/${QT_DIR_NAME}/examples/*/*/.debug ${bindir}/${QT_DIR_NAME}/examples/*/*/*/.debug ${bindir}/${QT_DIR_NAME}/examples/*/*/*/*/.debug ${bindir}/${QT_DIR_NAME}/examples/declarative/*/*/*/*/*/.debug/* ${bindir}/${QT_DIR_NAME}/examples/declarative/*/*/*/*/.debug/*"
FILES_${QT_BASE_NAME}-fonts-ttf-vera = "${libdir}/fonts/Vera*.ttf"
FILES_${QT_BASE_NAME}-fonts-ttf-dejavu = "${libdir}/fonts/DejaVu*.ttf"
FILES_${QT_BASE_NAME}-fonts-pfa = "${libdir}/fonts/*.pfa"
FILES_${QT_BASE_NAME}-fonts-pfb = "${libdir}/fonts/*.pfb"
FILES_${QT_BASE_NAME}-fonts-qpf = "${libdir}/fonts/*.qpf*"
FILES_${QT_BASE_NAME}-fonts = "${libdir}/fonts/README ${libdir}/fonts/fontdir"
FILES_${QT_BASE_NAME}-linguist = "${bindir}/*linguist* ${bindir}/lrelease ${bindir}/lupdate ${bindir}/lconvert ${bindir}/qm2ts"
FILES_${QT_BASE_NAME}-linguist-dbg = "${bindir}/.debug/*linguist* ${bindir}/.debug/lrelease ${bindir}/.debug/lupdate ${bindir}/.debug/lconvert ${bindir}/.debug/qm2ts"
FILES_${QT_BASE_NAME}-pixeltool = "${bindir}/pixeltool"
FILES_${QT_BASE_NAME}-pixeltool-dbg = "${bindir}/.debug/pixeltool"
FILES_${QT_BASE_NAME}-qt3to4 = "${bindir}/qt3to4 ${datadir}/${QT_DIR_NAME}/q3porting.xml"
FILES_${QT_BASE_NAME}-qt3to4-dbg = "${bindir}/.debug/qt3to4"
FILES_${QT_BASE_NAME}-qmlviewer = "${bindir}/qmlviewer"
FILES_${QT_BASE_NAME}-qmlviewer-dbg = "${bindir}/.debug/qmlviewer"
FILES_${QT_BASE_NAME}-makeqpf = "${bindir}/makeqpf"
FILES_${QT_BASE_NAME}-makeqpf-dbg = "${bindir}/.debug/makeqpf"
FILES_${QT_BASE_NAME}-mkspecs = "${datadir}/${QT_DIR_NAME}/mkspecs/*"
FILES_${QT_BASE_NAME}-xmlpatterns = "${bindir}/xmlpatterns*"
FILES_${QT_BASE_NAME}-xmlpatterns-dbg = "${bindir}/.debug/xmlpatterns*"
FILES_${QT_BASE_NAME}-qml-plugins = "${libdir}/${QT_DIR_NAME}/imports/* ${libdir}/${QT_DIR_NAME}/plugins/qmltooling/*"
FILES_${QT_BASE_NAME}-qml-plugins-dbg = "${libdir}/${QT_DIR_NAME}/imports/*/*/*/.debug/* ${libdir}/${QT_DIR_NAME}/imports/*/.debug ${libdir}/${QT_DIR_NAME}/plugins/qmltooling/.debug"
do_configure() {
unset QMAKESPEC
unset QTDIR
if [ ! -e bin/qmake ]; then
ln -sf ${STAGING_BINDIR_NATIVE}/qmake2 bin/qmake
fi
if [ ! -e mkspecs/${TARGET_OS}-oe-g++ ]; then
ln -sf linux-g++ mkspecs/${TARGET_OS}-oe-g++
fi
if [ -f mkspecs/common/g++-unix.conf ] ; then
# mkspecs were refactored for 4.8.0
cp -f ${WORKDIR}/g++.conf mkspecs/common/g++-unix.conf
else
cp -f ${WORKDIR}/g++.conf mkspecs/common/g++.conf
fi
cp -f ${WORKDIR}/linux.conf mkspecs/common/
echo "[Paths]" > $QT_CONF_PATH
echo "Prefix=${prefix}/" >> $QT_CONF_PATH
echo "Documentation=${docdir}/${QT_DIR_NAME}" >> $QT_CONF_PATH
echo "Headers=${includedir}/${QT_DIR_NAME}" >> $QT_CONF_PATH
echo "Libraries=${libdir}" >> $QT_CONF_PATH
echo "Binaries=${bindir}" >> $QT_CONF_PATH
echo "Plugins=${libdir}/${QT_DIR_NAME}/plugins" >> $QT_CONF_PATH
echo "Imports=${libdir}/${QT_DIR_NAME}/imports" >> $QT_CONF_PATH
echo "Data=${datadir}/${QT_DIR_NAME}" >> $QT_CONF_PATH
echo "Translations=${datadir}/${QT_DIR_NAME}/translations" >> $QT_CONF_PATH
echo "Settings=${sysconfdir}/${QT_DIR_NAME}" >> $QT_CONF_PATH
echo "Examples=${bindir}/${QT_DIR_NAME}/examples" >> $QT_CONF_PATH
echo "Demos=${bindir}/${QT_DIR_NAME}/demos" >> $QT_CONF_PATH
${EXTRA_QMAKE_MUNGE}|| true
(echo o; echo yes) | ./configure -v \
-prefix ${prefix}/ \
-bindir ${bindir} \
-libdir ${libdir} \
-datadir ${datadir}/${QT_DIR_NAME} \
-sysconfdir ${sysconfdir}/${QT_DIR_NAME} \
-docdir ${docdir}/${QT_DIR_NAME} \
-headerdir ${includedir}/${QT_DIR_NAME} \
-plugindir ${libdir}/${QT_DIR_NAME}/plugins \
-importdir ${libdir}/${QT_DIR_NAME}/imports \
-translationdir ${datadir}/${QT_DIR_NAME}/translations \
-examplesdir ${bindir}/${QT_DIR_NAME}/examples \
-demosdir ${bindir}/${QT_DIR_NAME}/demos \
-platform ${TARGET_OS}-oe-g++ \
-xplatform ${TARGET_OS}-oe-g++ \
${QT_ENDIAN} \
-crossarch ${QT_ARCH} \
${QT_CONFIG_FLAGS} -no-fast \
-L${STAGING_LIBDIR} -I${STAGING_INCDIR} \
-I${STAGING_INCDIR}/freetype2
}
python populate_packages_prepend() {
translation_dir = bb.data.expand('${datadir}/${QT_DIR_NAME}/translations/', d)
translation_name = bb.data.expand('${QT_BASE_NAME}-translation-%s', d)
do_split_packages(d, translation_dir, '^(assistant|designer|linguist|qt|qtconfig|qvfb)_(.*)\.qm$', translation_name, '${PN} translation for %s', extra_depends='' )
phrasebook_dir = bb.data.expand('${datadir}/${QT_DIR_NAME}/phrasebooks/', d)
phrasebook_name = bb.data.expand('${QT_BASE_NAME}-phrasebook-%s', d)
import os;
if os.path.exists("%s%s" % (bb.data.expand('${D}',d), phrasebook_dir)):
do_split_packages(d, phrasebook_dir, '^(.*)\.qph$', phrasebook_name, '${PN} phrasebook for %s', extra_depends='' )
else:
bb.note("The path does not exist:", bb.data.expand('${D}', d), phrasebook_dir)
# Package all the plugins and their -dbg version and create a meta package
def qtopia_split(path, name, glob):
"""
Split the package into a normal and -dbg package and then add the
new packages to the meta package.
"""
plugin_dir = bb.data.expand('${libdir}/${QT_DIR_NAME}/plugins/%s/' % path, d)
if not os.path.exists("%s%s" % (bb.data.expand('${D}',d), plugin_dir)):
bb.note("The path does not exist:", bb.data.expand('${D}', d), plugin_dir)
return
plugin_name = bb.data.expand('${QT_BASE_NAME}-plugin-%s-%%s' % name, d)
dev_packages = []
dev_hook = lambda file,pkg,b,c,d:dev_packages.append((file,pkg))
do_split_packages(d, plugin_dir, glob, plugin_name, '${PN} %s for %%s' % name, extra_depends='', hook=dev_hook)
# Create a -dbg package as well
plugin_dir_dbg = bb.data.expand('${libdir}/${QT_DIR_NAME}/plugins/%s/.debug' % path, d)
packages = d.getVar('PACKAGES')
for (file,package) in dev_packages:
packages = "%s %s-dbg" % (packages, package)
file_name = os.path.join(plugin_dir_dbg, os.path.basename(file))
d.setVar("FILES_%s-dbg" % package, file_name)
d.setVar("DESCRIPTION_%s-dbg" % package, "${PN} %s for %s" % (name, package))
d.setVar('PACKAGES', packages)
qtopia_split('accessible', 'accessible', '^libq(.*)\.so$')
qtopia_split('codecs', 'codec', '^libq(.*)\.so$')
qtopia_split('decorations', 'decoration', '^libqdecoration(.*)\.so$')
qtopia_split('designer', 'designer', '^lib(.*)\.so$')
qtopia_split('gfxdrivers', 'gfxdriver', '^libq(.*)\.so$')
qtopia_split('graphicssystems','graphicssystems', '^libq(.*)\.so$')
qtopia_split('mousedrivers', 'mousedriver', '^libq(.*)mousedriver\.so$')
qtopia_split('iconengines', 'iconengine', '^libq(.*)\.so$')
qtopia_split('imageformats', 'imageformat', '^libq(.*)\.so$')
qtopia_split('inputmethods', 'inputmethod', '^libq(.*)\.so$')
qtopia_split('sqldrivers', 'sqldriver', '^libq(.*)\.so$')
qtopia_split('script', 'script', '^libqtscript(.*)\.so$')
qtopia_split('styles', 'style', '^libq(.*)\.so$')
qtopia_split('phonon_backend','phonon-backend','^libphonon_(.*)\.so$')
qtopia_split('bearer', 'bearer', '^libq(.*)bearer\.so$')
}
do_install() {
oe_runmake install INSTALL_ROOT=${D}
# These are host binaries, we should only use them in staging
rm ${D}/${bindir}/qmake
# fix pkgconfig, libtool and prl files
sed -i -e 's#-L${S}/lib/\?##g' \
-e 's#-L${STAGING_LIBDIR}/\?##g' \
-e 's#STAGING_LIBDIR}#libdir}'#g \
-e 's#-L${libdir}/\?##g' \
-e s#'$(OE_QMAKE_LIBS_X11)'#"${OE_QMAKE_LIBS_X11}"#g \
-e 's#" -Wl,-rpath-link,${S}/lib/\?"##g' \
-e 's#" -Wl,-rpath-link,${libdir}/\?"##g' \
-e 's#Iin#I${in#g' \
${D}${libdir}/*.la ${D}${libdir}/*.prl ${D}${libdir}/pkgconfig/*.pc
sed -i -e s#" -Wl,-rpath-link,${S}/lib"##g \
${D}${datadir}/${QT_DIR_NAME}/mkspecs/common/linux.conf
# fix pkgconfig files
sed -i -e s#"moc_location=.*$"#"moc_location=${bindir}/moc4"# \
-e s#"uic_location=.*$"#"uic_location=${bindir}/uic4"# \
${D}${libdir}/pkgconfig/*.pc
for name in ${QT_LIB_NAMES}; do
sed -i -e /Requires/s#"${name}"#"${name}${QT_LIBINFIX}"#g ${D}${libdir}/pkgconfig/*.pc
done
# QT abuses $includedir to point to its headers, which breaks pkgconfig sysroot, so manually fix it up here:
for pc in ${D}${libdir}/pkgconfig/*.pc ; do
sed -i -e "s:prefix}include/${QT_DIR_NAME}/$(basename $pc .pc):prefix}/include:" \
-e 's:IP{:I${:g' $pc
done
install -d ${D}/${libdir}/fonts
touch ${D}/${libdir}/fonts/fontdir
#Append an E to the qtdemo file
if [ -n "${QT_LIBINFIX}" ] ; then
[ -f ${D}${bindir}/qtdemo ] && mv ${D}${bindir}/qtdemo ${D}${bindir}/qtdemo${QT_LIBINFIX}
fi
}

View File

@@ -0,0 +1,25 @@
inherit siteinfo
ARM_INSTRUCTION_SET = "arm"
def qt_arch(d):
import bb, re
arch = d.getVar('TARGET_ARCH', 1)
if re.match("^i.86$", arch):
arch = "i386"
elif re.match("^arm.*", arch):
arch = "arm"
elif arch == "x86_64":
arch = "x86"
elif arch == "mipsel":
arch = "mips"
return arch
def qt_endian(d):
import bb
if d.getVar('SITEINFO_ENDIANNESS', True) == "le":
return "-little-endian"
elif d.getVar('SITEINFO_ENDIANNESS', True) == "be":
return "-big-endian"
else:
assert False