[OE-core] [PATCH 1/1] qt4-x11-demo-image: Fix bug 999
Xiaofeng Yan
xiaofeng.yan at windriver.com
Mon Aug 22 11:34:11 UTC 2011
From: Xiaofeng Yan <xiaofeng.yan at windriver.com>
[YOCTO #999]
Add qt4-x11-demo-image for fixing bug 999
Signed-off-by: Xiaofeng Yan <xiaofeng.yan at windriver.com>
---
meta/classes/palmtop.bbclass | 26 ++
meta/classes/sdk.bbclass | 74 ++++
meta/recipes-qt/images/micro-base-image.bb | 19 +
meta/recipes-qt/images/qt4-x11-base-image.bb | 35 ++
meta/recipes-qt/images/qt4-x11-demo-image.bb | 12 +
meta/recipes-qt/qt-demo/qt-demo-init/qtdemo-init | 55 +++
meta/recipes-qt/qt-demo/qt-demo-init_0.1.bb | 20 +
meta/recipes-qt/qwt/files/qt2-fix.patch | 408 ++++++++++++++++++++++
meta/recipes-qt/qwt/qwt.inc | 33 ++
meta/recipes-qt/qwt/qwt_5.2.1.bb | 13 +
meta/recipes-qt/tasks/task-qt4-x11.bb | 52 +++
meta/recipes-qt/tasks/task-sdk-host.bb | 21 ++
12 files changed, 768 insertions(+), 0 deletions(-)
create mode 100644 meta/classes/palmtop.bbclass
create mode 100644 meta/classes/sdk.bbclass
create mode 100644 meta/recipes-qt/images/micro-base-image.bb
create mode 100644 meta/recipes-qt/images/qt4-x11-base-image.bb
create mode 100644 meta/recipes-qt/images/qt4-x11-demo-image.bb
create mode 100644 meta/recipes-qt/qt-demo/qt-demo-init/qtdemo-init
create mode 100644 meta/recipes-qt/qt-demo/qt-demo-init_0.1.bb
create mode 100644 meta/recipes-qt/qwt/files/qt2-fix.patch
create mode 100644 meta/recipes-qt/qwt/qwt.inc
create mode 100644 meta/recipes-qt/qwt/qwt_5.2.1.bb
create mode 100644 meta/recipes-qt/tasks/task-qt4-x11.bb
create mode 100644 meta/recipes-qt/tasks/task-sdk-host.bb
diff --git a/meta/classes/palmtop.bbclass b/meta/classes/palmtop.bbclass
new file mode 100644
index 0000000..8cbbf80
--- /dev/null
+++ b/meta/classes/palmtop.bbclass
@@ -0,0 +1,26 @@
+# this build class sets up qmake variables to
+# * build using the Qt Windowing System (QWS)
+# * use qt
+# * link against supc++ instead of stdc++
+# * use threads, if requested via PALMTOP_USE_MULTITHREADED_QT = "yes"
+# inherit this class to build programs against libqpe
+# inherit opie if you want to build programs against libopie2
+# don't override EXTRA_QMAKEVARS_POST, if you use inherit this class
+
+inherit qmake2
+
+# special case for DISTRO = sharprom
+CPP_SUPPORT_LIB = "LIBS-=-lstdc++ LIBS+=-lsupc++"
+CPP_SUPPORT_LIB_sharprom-compatible = "LIBS+=-lstdc++"
+EXTRA_QMAKEVARS_POST += "DEFINES+=QWS CONFIG+=qt ${CPP_SUPPORT_LIB}"
+EXTRA_QMAKEVARS_POST += '${@base_conditional("PALMTOP_USE_MULTITHREADED_QT", "yes", "CONFIG+=thread", "CONFIG-=thread",d)}'
+EXTRA_QMAKEVARS_POST += "${@["LIBS+=-lqpe ", ""][(bb.data.getVar('PN', d, 1) == 'libqpe-opie')]}"
+DEPENDS_prepend = "${@["virtual/libqpe1 uicmoc-native ", ""][(bb.data.getVar('PN', d, 1) == 'libqpe-opie')]}"
+QT_LIBRARY = '${@base_conditional("PALMTOP_USE_MULTITHREADED_QT", "yes", "qte-mt", "qte", d)}'
+EXTRA_QMAKEVARS_POST += " DEFINES+=OPIE_BINDIR='\"${bindir}\"' DEFINES+=OPIE_LIBDIR='\"${libdir}/opie/lib\"' DEFINES+=OPIE_QTDIR='\"${libdir}/opie\"' "
+
+PACKAGES = "${PN}-dbg ${PN}-dev ${PN} ${PN}-doc ${PN}-locale"
+FILES_${PN} += " ${palmtopdir} "
+FILES_${PN}-dbg += " ${palmtopdir}/lib/.debug \
+ ${palmtopdir}/bin/.debug \
+ ${palmtopdir}/plugins/*/.debug "
diff --git a/meta/classes/sdk.bbclass b/meta/classes/sdk.bbclass
new file mode 100644
index 0000000..8d5b3dc
--- /dev/null
+++ b/meta/classes/sdk.bbclass
@@ -0,0 +1,74 @@
+#
+# Note this class is deprecated and replaced by nativesdk.bbclass
+#
+
+
+# SDK packages are built either explicitly by the user,
+# or indirectly via dependency. No need to be in 'world'.
+EXCLUDE_FROM_WORLD = "1"
+target_includedir := "${includedir}"
+target_libdir := "${libdir}"
+
+# Save MULTIMACH_ARCH
+OLD_MULTIMACH_ARCH := "${MULTIMACH_ARCH}"
+# Save PACKAGE_ARCH
+OLD_PACKAGE_ARCH := ${PACKAGE_ARCH}
+PACKAGE_ARCH = "${BUILD_ARCH}-${OLD_PACKAGE_ARCH}-sdk"
+# Also save BASE_PACKAGE_ARCH since HOST_ARCH can influence it
+OLD_BASE_PACKAGE_ARCH := "${BASE_PACKAGE_ARCH}"
+BASE_PACKAGE_ARCH = "${OLD_BASE_PACKAGE_ARCH}"
+
+STAGING_DIR_HOST = "${STAGING_DIR}/${HOST_SYS}-sdk"
+STAGING_DIR_TARGET = "${STAGING_DIR}/${OLD_MULTIMACH_ARCH}${TARGET_VENDOR}-${TARGET_OS}"
+
+HOST_ARCH = "${BUILD_ARCH}"
+HOST_VENDOR = "${BUILD_VENDOR}"
+HOST_OS = "${BUILD_OS}"
+HOST_PREFIX = "${BUILD_PREFIX}"
+HOST_CC_ARCH = "${BUILD_CC_ARCH}"
+#HOST_SYS = "${HOST_ARCH}${TARGET_VENDOR}-${HOST_OS}"
+HOST_EXEEXT = "${BUILD_EXEEXT}"
+
+CPPFLAGS = "${BUILD_CPPFLAGS}"
+CFLAGS = "${BUILD_CFLAGS}"
+CXXFLAGS = "${BUILD_CFLAGS}"
+LDFLAGS = "${BUILD_LDFLAGS}"
+
+TOOLCHAIN_OPTIONS = ""
+
+# Path prefixes
+prefix = "${SDK_PATH}"
+exec_prefix = "${prefix}"
+base_prefix = "${prefix}"
+
+# Base paths
+export base_bindir = "${prefix}/bin"
+export base_sbindir = "${prefix}/bin"
+export base_libdir = "${prefix}/lib"
+
+# Architecture independent paths
+export datadir = "${prefix}/share"
+export sysconfdir = "${prefix}/etc"
+export sharedstatedir = "${datadir}/com"
+export localstatedir = "${prefix}/var"
+export infodir = "${datadir}/info"
+export mandir = "${datadir}/man"
+export docdir = "${datadir}/doc"
+export servicedir = "${prefix}/srv"
+
+# Architecture dependent paths
+export bindir = "${prefix}/bin"
+export sbindir = "${prefix}/bin"
+export libexecdir = "${prefix}/libexec"
+export libdir = "${prefix}/lib"
+export includedir = "${prefix}/include"
+export oldincludedir = "${prefix}/include"
+
+FILES_${PN} = "${prefix}"
+FILES_${PN}-dbg += "${prefix}/.debug \
+ ${prefix}/bin/.debug \
+ "
+
+export PKG_CONFIG_SYSROOT_DIR = "${STAGING_DIR_HOST}"
+
+OVERRIDES =. "virtclass-sdk:"
diff --git a/meta/recipes-qt/images/micro-base-image.bb b/meta/recipes-qt/images/micro-base-image.bb
new file mode 100644
index 0000000..a960d30
--- /dev/null
+++ b/meta/recipes-qt/images/micro-base-image.bb
@@ -0,0 +1,19 @@
+# micro-base-image
+#
+# Image configuration for the OE Micro Linux Distribuion (micro, micro-uclibc)
+#
+
+# Install basic files only
+IMAGE_INSTALL = "base-files base-passwd dropbear netbase"
+IMAGE_LINGUAS = ""
+
+# Use busybox as login manager
+IMAGE_LOGIN_MANAGER = "busybox"
+
+# Include minimum init and init scripts
+IMAGE_DEV_MANAGER = "busybox-mdev"
+IMAGE_INIT_MANAGER = "sysvinit sysvinit-pidof"
+IMAGE_INITSCRIPTS = ""
+
+inherit image
+
diff --git a/meta/recipes-qt/images/qt4-x11-base-image.bb b/meta/recipes-qt/images/qt4-x11-base-image.bb
new file mode 100644
index 0000000..8f290c7
--- /dev/null
+++ b/meta/recipes-qt/images/qt4-x11-base-image.bb
@@ -0,0 +1,35 @@
+require micro-base-image.bb
+LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \
+ file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
+
+
+TOUCH = ' ${@base_contains("MACHINE_FEATURES", "touchscreen", "tslib tslib-calibrate tslib-tests", "",d)}'
+
+XSERVER ?= "xserver-xorg \
+ xf86-input-evdev \
+ xf86-input-tslib \
+ xf86-video-fbdev "
+
+DEPENDS += "task-qt4-x11"
+
+RDEPENDS_${PN} += " \
+ task-qt4-x11-base \
+ task-qt4-x11-qwt \
+ "
+
+IMAGE_INSTALL += "\
+ initscripts \
+ kernel-modules \
+ gdbserver \
+ strace \
+ module-init-tools \
+ task-qt4-x11-base \
+ task-qt4-x11-qwt \
+ ${TOUCH} \
+ pointercal \
+ ${XSERVER} \
+ xauth xhost xset xrandr \
+"
+
+
+# ttf-liberation-sans ttf-liberation-serif ttf-liberation-mono \
diff --git a/meta/recipes-qt/images/qt4-x11-demo-image.bb b/meta/recipes-qt/images/qt4-x11-demo-image.bb
new file mode 100644
index 0000000..771e62b
--- /dev/null
+++ b/meta/recipes-qt/images/qt4-x11-demo-image.bb
@@ -0,0 +1,12 @@
+require qt4-x11-base-image.bb
+LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \
+ file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
+
+
+IMAGE_INSTALL += "\
+ qt4-demos qt4-examples qt-demo-init \
+ qt4-assistant \
+ qwt-examples \
+"
+
+
diff --git a/meta/recipes-qt/qt-demo/qt-demo-init/qtdemo-init b/meta/recipes-qt/qt-demo/qt-demo-init/qtdemo-init
new file mode 100644
index 0000000..affb958
--- /dev/null
+++ b/meta/recipes-qt/qt-demo/qt-demo-init/qtdemo-init
@@ -0,0 +1,55 @@
+#!/bin/sh
+
+set -e
+
+if [ -f /usr/bin/qtdemo ]; then
+ QTDEMO="qtdemo > /var/log/Xsession.log 2> &1"
+else
+ QTDEMO="qtdemoE -qws"
+fi
+
+case "$1" in
+ start)
+ echo "Starting qtdemo"
+ if [ -f /etc/profile.d/tslib.sh ]; then
+ source /etc/profile.d/tslib.sh
+ fi
+ if [ -e $TSLIB_TSDEVICE ]; then
+ if [ ! -f /etc/pointercal ]; then
+ /usr/bin/ts_calibrate
+ fi
+ if [ $QTDEMO == qtdemo ]; then
+ Xorg &
+ export DISPLAY=:0
+ $QTDEMO &
+ else
+ QWS_MOUSE_PROTO=tslib:$TSLIB_TSDEVICE $QTDEMO &
+ fi
+ else
+ if [ $QTDEMO == qtdemo ]; then
+ Xorg &
+ export DISPLAY=:0
+ fi
+ $QTDEMO &
+ fi
+ ;;
+ stop)
+ echo "Stopping qtdemo"
+ if [ $QTDEMO == qtdemo ]; then
+ killall Xorg
+ killall qtdemo
+ else
+ killall qtdemoE
+ fi
+ ;;
+ restart)
+ $0 stop
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 { start | stop | restart }" >&2
+ exit 1
+ ;;
+esac
+
+exit 0
diff --git a/meta/recipes-qt/qt-demo/qt-demo-init_0.1.bb b/meta/recipes-qt/qt-demo/qt-demo-init_0.1.bb
new file mode 100644
index 0000000..3b1a92c
--- /dev/null
+++ b/meta/recipes-qt/qt-demo/qt-demo-init_0.1.bb
@@ -0,0 +1,20 @@
+DESCRIPTION = "Init script for qtdemo"
+LICENSE = "MIT"
+SRC_URI = "file://qtdemo-init"
+PR = "r2"
+
+LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \
+ file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
+
+
+PACKAGE_ARCH = "all"
+
+do_install() {
+ install -d ${D}${sysconfdir}/init.d/
+ install -m 0755 ${WORKDIR}/qtdemo-init ${D}${sysconfdir}/init.d/qtdemo
+}
+
+inherit update-rc.d
+
+INITSCRIPT_NAME = "qtdemo"
+INITSCRIPT_PARAMS = "start 99 5 2 . stop 19 0 1 6 ."
diff --git a/meta/recipes-qt/qwt/files/qt2-fix.patch b/meta/recipes-qt/qwt/files/qt2-fix.patch
new file mode 100644
index 0000000..821846a
--- /dev/null
+++ b/meta/recipes-qt/qwt/files/qt2-fix.patch
@@ -0,0 +1,408 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- qwt-4.2.0rc1/include/qwt_global.h~qt2-fix
++++ qwt-4.2.0rc1/include/qwt_global.h
+@@ -58,7 +58,7 @@
+ #define QWT_EXPORT
+ #endif
+
+-#if QT_VERSION < 300
++#if QT_VERSION < 0x030000
+ // Use old QArray instead of QMemArray
+ #define QWT_NO_MEMARRAY
+ #endif
+@@ -68,7 +68,7 @@
+ #undef QWT_NO_STL
+ // #define QWT_NO_STL // disable Standard Template Library based classes
+ #if defined(_MSC_VER)
+-#if QT_VERSION < 300
++#if QT_VERSION < 0x030000
+ // tmake does not produce the missing -GX flag for exception handling
+ #define QWT_NO_STL
+ #else
+--- qwt-4.2.0rc1/include/qwt_picker.h~qt2-fix
++++ qwt-4.2.0rc1/include/qwt_picker.h
+@@ -89,7 +89,7 @@
+ Q_PROPERTY(ResizeMode resizeMode READ resizeMode WRITE setResizeMode)
+ Q_PROPERTY(bool isEnabled READ isEnabled WRITE setEnabled)
+
+-#if QT_VERSION >= 300
++#if QT_VERSION >= 0x030000
+ // Unfortunately moc is not aware of #ifdefs. To enable the QPen
+ // attributes as properties uncomment the following lines.
+
+--- qwt-4.2.0rc1/src/qwt_text.cpp~qt2-fix
++++ qwt-4.2.0rc1/src/qwt_text.cpp
+@@ -337,7 +337,7 @@
+ //! Set the font
+ void QwtRichText::setFont(const QFont &font)
+ {
+-#if QT_VERSION >= 300
++#if QT_VERSION >= 0x030000
+ d_doc->setDefaultFont(font);
+ #endif
+ QwtText::setFont(font);
+@@ -359,7 +359,7 @@
+ */
+ int QwtRichText::heightForWidth(int width) const
+ {
+-#if QT_VERSION < 300
++#if QT_VERSION < 0x030000
+ const QFont defaultFont = QFont::defaultFont();
+ QFont::setDefaultFont(font());
+ #endif
+@@ -367,7 +367,7 @@
+ const QwtLayoutMetrics metrics(QwtPainter::metricsMap());
+ const int height = metrics.heightForWidth(*d_doc, width);
+
+-#if QT_VERSION < 300
++#if QT_VERSION < 0x030000
+ QFont::setDefaultFont(defaultFont);
+ #endif
+
+@@ -390,7 +390,7 @@
+ painter->save();
+
+ painter->setPen(color());
+-#if QT_VERSION < 300
++#if QT_VERSION < 0x030000
+ const QFont defaultFont = QFont::defaultFont();
+ QFont::setDefaultFont(font());
+ #else
+@@ -399,7 +399,7 @@
+
+ QwtPainter::drawSimpleRichText(painter, rect, alignment(), *d_doc);
+
+-#if QT_VERSION < 300
++#if QT_VERSION < 0x030000
+ QFont::setDefaultFont(defaultFont);
+ #endif
+ painter->restore();
+@@ -407,7 +407,7 @@
+
+ QRect QwtRichText::boundingRect(QPainter *painter) const
+ {
+-#if QT_VERSION < 300
++#if QT_VERSION < 0x030000
+ const QFont defaultFont = QFont::defaultFont();
+ QFont::setDefaultFont(font());
+ #endif
+@@ -415,7 +415,7 @@
+ const QwtLayoutMetrics metrics(QwtPainter::metricsMap());
+ const QRect rect = metrics.boundingRect(*d_doc, alignment(), painter);
+
+-#if QT_VERSION < 300
++#if QT_VERSION < 0x030000
+ QFont::setDefaultFont(defaultFont);
+ #endif
+
+@@ -428,7 +428,7 @@
+ QString rich = text;
+
+ // By default QwtSimpleRichText is Qt::AlignLeft
+-#if QT_VERSION >= 300
++#if QT_VERSION >= 0x030000
+ if (align & Qt::AlignJustify)
+ {
+ rich.prepend("<div align=\"justify\">");
+--- qwt-4.2.0rc1/src/qwt_push_button.cpp~qt2-fix
++++ qwt-4.2.0rc1/src/qwt_push_button.cpp
+@@ -88,7 +88,7 @@
+ !(d_button->alignment() & Qt::AlignCenter))
+ {
+ const QRect contentsRect =
+-#if QT_VERSION >= 300
++#if QT_VERSION >= 0x030000
+ d_button->style().subRect(
+ QStyle::SR_PushButtonContents, d_button);
+ #else
+@@ -103,7 +103,7 @@
+ // Many styles move the label right/down
+ // when the button is down.
+
+-#if QT_VERSION >= 300
++#if QT_VERSION >= 0x030000
+ const QRect &r = *((QRect *)param[0].rect);
+ #else
+ const QRect r(*param[0].point, param[1].pixmap->size());
+@@ -133,7 +133,7 @@
+ d_inFilter = TRUE;
+
+ d_button->style().drawItem(painter,
+-#if QT_VERSION >= 300
++#if QT_VERSION >= 0x030000
+ pixRect,
+ #else
+ pixRect.x(), pixRect.y(),
+@@ -150,7 +150,7 @@
+ // We save the position of the icon. We need it later
+ // to align the label pixmap. Hope that there are no styles
+ // that paint the pixmap before the icon.
+-#if QT_VERSION < 300
++#if QT_VERSION < 0x030000
+ d_iconRect = QRect(*param[0].point, param[1].pixmap->size());
+ #else
+ d_iconRect = *param[0].rect;
+@@ -427,7 +427,7 @@
+
+ QPainter picPainter(&paintFilter);
+
+-#if QT_VERSION >= 300
++#if QT_VERSION >= 0x030000
+ // When painting to QPicture the dotted line of the focus rect is
+ // set to solid. ( 06.08.2003 )
+ // So we don´t set the Style_HasFocus flag and paint the focus rect
+@@ -459,7 +459,7 @@
+
+ paintFilter.play(painter);
+
+-#if QT_VERSION >= 300
++#if QT_VERSION >= 0x030000
+ if (hasFocus())
+ {
+ // Paint the focus rect on top of the button label.
+--- qwt-4.2.0rc1/src/qwt_layout_metrics.cpp~qt2-fix
++++ qwt-4.2.0rc1/src/qwt_layout_metrics.cpp
+@@ -212,7 +212,7 @@
+ QRect QwtMetricsMap::translate(
+ const QWMatrix &m, const QRect &rect)
+ {
+-#if QT_VERSION < 300
++#if QT_VERSION < 0x030000
+ return m.map(rect.normalize());
+ #else
+ return m.mapRect(rect);
+@@ -227,7 +227,7 @@
+ QPointArray QwtMetricsMap::translate(
+ const QWMatrix &m, const QPointArray &pa)
+ {
+-#if QT_VERSION < 300
++#if QT_VERSION < 0x030000
+ return m.map(pa);
+ #else
+ return m * pa;
+--- qwt-4.2.0rc1/src/qwt_slider.cpp~qt2-fix
++++ qwt-4.2.0rc1/src/qwt_slider.cpp
+@@ -353,7 +353,7 @@
+ {
+ const QRect rect = d_sliderRect;
+
+-#if QT_VERSION < 300
++#if QT_VERSION < 0x030000
+ style().drawFocusRect(painter, rect, colorGroup());
+ #else
+ style().drawPrimitive(QStyle::PE_FocusRect, painter,
+--- qwt-4.2.0rc1/src/qwt_counter.cpp~qt2-fix
++++ qwt-4.2.0rc1/src/qwt_counter.cpp
+@@ -330,7 +330,7 @@
+ // QLineEdit::minimumSizeHint is for one char. Subtracting
+ // the size for the char we get all the margins, frames ...
+
+-#if QT_VERSION < 300
++#if QT_VERSION < 0x030000
+ w += d_valueEdit->minimumSizeHint().width() - fm.maxWidth();
+ #else
+ w += 2 * d_valueEdit->frameWidth() +
+--- qwt-4.2.0rc1/src/qwt_paint
++++ /dev/null
+--- qwt-4.2.0rc1/src/qwt_painter.cpp~qt2-fix
++++ qwt-4.2.0rc1/src/qwt_painter.cpp
+@@ -201,7 +201,7 @@
+ QColorGroup cg;
+ cg.setColor(QColorGroup::Text, painter->pen().color());
+
+-#if QT_VERSION < 300
++#if QT_VERSION < 0x030000
+ const QFont defaultFont = QFont::defaultFont();
+ QFont::setDefaultFont(painter->font());
+ #endif
+@@ -220,7 +220,7 @@
+
+ text.draw(painter, scaledRect.x(), y, scaledRect, cg);
+
+-#if QT_VERSION < 300
++#if QT_VERSION < 0x030000
+ QFont::setDefaultFont(defaultFont);
+ #endif
+ }
+--- qwt-4.2.0rc1/src/qwt_dial.cpp~qt2-fix
++++ qwt-4.2.0rc1/src/qwt_dial.cpp
+@@ -491,7 +491,7 @@
+ // because round objects doesn´t cover all pixels.
+
+ QRect br = boundingRect();
+-#if QT_VERSION < 300
++#if QT_VERSION < 0x030000
+ #ifdef _WS_WIN32_
+ // Qt-230-NC draws ellipses not as nicely as Qt-2.3.x on X Windows
+ br.setTop(br.top()-1);
+@@ -1044,7 +1044,7 @@
+ {
+ if ( isReadOnly() )
+ {
+-#if QT_VERSION >= 300
++#if QT_VERSION >= 0x030000
+ e->ignore();
+ #endif
+ return;
+@@ -1078,7 +1078,7 @@
+ setValue(maxValue());
+ break;
+ default:;
+-#if QT_VERSION >= 300
++#if QT_VERSION >= 0x030000
+ e->ignore();
+ #endif
+ }
+--- qwt-4.2.0rc1/src/qwt_knob.cpp~qt2-fix
++++ qwt-4.2.0rc1/src/qwt_knob.cpp
+@@ -279,7 +279,7 @@
+ {
+ QRect r = rect();
+
+-#if QT_VERSION < 300
++#if QT_VERSION < 0x030000
+ style().drawFocusRect(painter, r, colorGroup());
+ #else
+ style().drawPrimitive(QStyle::PE_FocusRect, painter,
+--- qwt-4.2.0rc1/src/qwt_arrbtn.cpp~qt2-fix
++++ qwt-4.2.0rc1/src/qwt_arrbtn.cpp
+@@ -58,7 +58,7 @@
+ QRect QwtArrowButton::labelRect() const
+ {
+ QRect r =
+-#if QT_VERSION < 300
++#if QT_VERSION < 0x030000
+ style().buttonRect(rect().x(), rect().y(),
+ rect().width(), rect().height());
+ #else
+@@ -71,7 +71,7 @@
+ if ( isDown() )
+ {
+ int ph, pv;
+-#if QT_VERSION < 300
++#if QT_VERSION < 0x030000
+ style().getButtonShift(ph, pv);
+ #else
+ ph = style().pixelMetric(
+@@ -135,7 +135,7 @@
+ }
+ p->restore();
+
+-#if QT_VERSION >= 300
++#if QT_VERSION >= 0x030000
+ if ( hasFocus() )
+ {
+ const QRect focusRect =
+@@ -218,7 +218,7 @@
+ if ( d_arrowType == Qt::UpArrow || d_arrowType == Qt::DownArrow )
+ sz.transpose();
+
+-#if QT_VERSION < 300
++#if QT_VERSION < 0x030000
+ int bm = style().buttonMargin() - 1;
+ sz += QSize(2 * bm, 2 * bm);
+ #else
+--- qwt-4.2.0rc1/src/qwt_wheel.cpp~qt2-fix
++++ qwt-4.2.0rc1/src/qwt_wheel.cpp
+@@ -453,7 +453,7 @@
+ {
+ QRect r = rect();
+
+-#if QT_VERSION < 300
++#if QT_VERSION < 0x030000
+ style().drawFocusRect(painter, r, colorGroup());
+ #else
+ style().drawPrimitive(QStyle::PE_FocusRect, painter,
+--- qwt-4.2.0rc1/src/qwt_plot_canvas.cpp~qt2-fix
++++ qwt-4.2.0rc1/src/qwt_plot_canvas.cpp
+@@ -195,7 +195,7 @@
+
+ void QwtPlotCanvas::drawFocusIndicator(QPainter *painter, const QRect &rect)
+ {
+-#if QT_VERSION < 300
++#if QT_VERSION < 0x030000
+ style().drawFocusRect(painter, rect, colorGroup());
+ #else
+ style().drawPrimitive(QStyle::PE_FocusRect, painter,
+--- qwt-4.2.0rc1/src/qwt_sldbase.cpp~qt2-fix
++++ qwt-4.2.0rc1/src/qwt_sldbase.cpp
+@@ -115,7 +115,7 @@
+ {
+ if ( isReadOnly() )
+ {
+-#if QT_VERSION >= 300
++#if QT_VERSION >= 0x030000
+ e->ignore();
+ #endif
+ return;
+@@ -166,7 +166,7 @@
+ {
+ if ( isReadOnly() )
+ {
+-#if QT_VERSION >= 300
++#if QT_VERSION >= 0x030000
+ e->ignore();
+ #endif
+ return;
+@@ -274,7 +274,7 @@
+ {
+ if ( isReadOnly() )
+ {
+-#if QT_VERSION >= 300
++#if QT_VERSION >= 0x030000
+ e->ignore();
+ #endif
+ return;
+@@ -304,7 +304,7 @@
+ {
+ if ( isReadOnly() )
+ {
+-#if QT_VERSION >= 300
++#if QT_VERSION >= 0x030000
+ e->ignore();
+ #endif
+ return;
+@@ -341,7 +341,7 @@
+ {
+ if ( isReadOnly() )
+ {
+-#if QT_VERSION >= 300
++#if QT_VERSION >= 0x030000
+ e->ignore();
+ #endif
+ return;
+@@ -370,7 +370,7 @@
+ increment = 1;
+ break;
+ default:;
+-#if QT_VERSION >= 300
++#if QT_VERSION >= 0x030000
+ e->ignore();
+ #endif
+ }
+--- qwt-4.2.0rc1/examples/realtime_plot/scrollbar.cpp~qt2-fix
++++ qwt-4.2.0rc1/examples/realtime_plot/scrollbar.cpp
+@@ -154,7 +154,7 @@
+ int ScrollBar::extent() const
+ {
+ int dim;
+-#if QT_VERSION >= 300
++#if QT_VERSION >= 0x030000
+ dim = style().pixelMetric(QStyle::PM_ScrollBarExtent, this);
+ #else
+ const QSize sz = style().scrollBarExtent();
+--- qwt-4.2.0rc1/examples/event_filter/colorbar.cpp~qt2-fix
++++ qwt-4.2.0rc1/examples/event_filter/colorbar.cpp
+@@ -48,7 +48,7 @@
+ const QRgb rgb = pm.convertToImage().pixel(e->x(), e->y());
+
+ emit selected(QColor(rgb));
+-#if QT_VERSION >= 300
++#if QT_VERSION >= 0x030000
+ e->accept();
+ #endif
+ }
diff --git a/meta/recipes-qt/qwt/qwt.inc b/meta/recipes-qt/qwt/qwt.inc
new file mode 100644
index 0000000..8a1fe02
--- /dev/null
+++ b/meta/recipes-qt/qwt/qwt.inc
@@ -0,0 +1,33 @@
+DESCRIPTION = "Qt Widget Extension for Technical Applications"
+SECTION = "libs"
+PRIORITY = "optional"
+
+# LGPLv2.1 + some exceptions
+LICENSE = "QWTv1.0"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/qwt/qwt-${PV}.tar.bz2;name=qwt"
+
+S = "${WORKDIR}/qwt-${PV}"
+
+do_configure_prepend() {
+ sed -i -e 's:RELEASE_SUFFIX = :RELEASE_SUFFIX = ${QT_LIBINFIX} :' *.pri
+ sed -i -e s:lqwt:lqwt${QT_LIBINFIX}:g -e s:/usr/local/qwt-$\${QwtVersion}:${prefix}:g *.prf
+ sed -e 's/#CONFIG += QwtExamples/CONFIG += QwtExamples/g' -i qwtconfig.pri
+ sed -i -e s:/usr/local/qwt-${PV}:${D}${prefix}:g ${S}/*.pri
+}
+
+do_install() {
+ oe_runmake -e install
+ install -d ${D}${datadir}/doc/${PN}
+ mv ${D}${prefix}/doc/* ${D}${datadir}/doc/${PN}/
+ cd ${S}/examples
+ install -d ${D}/${bindir}
+ cd ${S}/examples/bin${QT_LIBINFIX}/
+ for i in * ; do
+ cp -pPR ${i} ${D}/${bindir}/${i}${QT_LIBINFIX}
+ done
+}
+
+PACKAGES_prepend = "${PN}-examples "
+FILES_${PN}-examples = "${bindir}/*"
+
diff --git a/meta/recipes-qt/qwt/qwt_5.2.1.bb b/meta/recipes-qt/qwt/qwt_5.2.1.bb
new file mode 100644
index 0000000..b20229f
--- /dev/null
+++ b/meta/recipes-qt/qwt/qwt_5.2.1.bb
@@ -0,0 +1,13 @@
+LICENSE = "LGPL"
+PR = "r1"
+
+inherit qt4x11
+
+require qwt.inc
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=dac2743472b0462ff3cfb4af42051c88"
+
+SRC_URI[qwt.md5sum] = "4a595b8db0ec3856b117836c1d60cb27"
+SRC_URI[qwt.sha256sum] = "e2b8bb755404cb3dc99e61f3e2d7262152193488f5fbe88524eb698e11ac569f"
+
+RPROVIDES_${PN}-dev = "libqwt-dev"
diff --git a/meta/recipes-qt/tasks/task-qt4-x11.bb b/meta/recipes-qt/tasks/task-qt4-x11.bb
new file mode 100644
index 0000000..dcedd58
--- /dev/null
+++ b/meta/recipes-qt/tasks/task-qt4-x11.bb
@@ -0,0 +1,52 @@
+DESCRIPTION = "QT4-X11 base Image Feed"
+PR = "r1"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \
+ file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
+
+inherit task
+
+PACKAGES += " \
+ ${PN}-base \
+ ${PN}-qwt \
+"
+
+RDEPENDS_${PN}-base = " \
+ busybox \
+ libx11 \
+ qt4-x11-free \
+ libqt3support4 \
+ libqtclucene4 \
+ libqtcore4 \
+ libqtdbus4 \
+ libqtgui4 \
+ libqthelp4 \
+ libqtmultimedia4 \
+ libqtnetwork4 \
+ libqtscript4 \
+ libqtscripttools4 \
+ libqtsql4 \
+ libqtsvg4 \
+ libqttest4 \
+ libqtwebkit4 \
+ libqtxml4 \
+ qt4-fonts \
+ qt4-plugin-iconengine-svgicon \
+ qt4-plugin-imageformat-gif \
+ qt4-plugin-imageformat-ico \
+ qt4-plugin-imageformat-jpeg \
+ qt4-plugin-imageformat-mng \
+ qt4-plugin-imageformat-svg \
+ qt4-plugin-imageformat-tiff \
+ qt4-plugin-phonon-backend-gstreamer \
+ qt4-plugin-script-dbus \
+ qt4-plugin-sqldriver-sqlite \
+"
+
+RRECOMMENDS_${PN}-base = " \
+ libqtxmlpatterns4 \
+"
+
+RDEPENDS_${PN}-qwt = "\
+ qwt \
+"
diff --git a/meta/recipes-qt/tasks/task-sdk-host.bb b/meta/recipes-qt/tasks/task-sdk-host.bb
new file mode 100644
index 0000000..3707259
--- /dev/null
+++ b/meta/recipes-qt/tasks/task-sdk-host.bb
@@ -0,0 +1,21 @@
+#
+# Copyright (C) 2007 OpenedHand Ltd
+#
+
+DESCRIPTION = "Host packages for the standalone SDK or external toolchain"
+PR = "r3"
+LICENSE = "MIT"
+ALLOW_EMPTY = "1"
+
+inherit sdk
+
+PACKAGES = "${PN}"
+
+RDEPENDS_${PN} = "\
+ binutils-cross-sdk \
+ gcc-cross-sdk \
+ gdb-cross-sdk \
+ pkgconfig-sdk \
+ opkg-sdk \
+ libtool-sdk \
+ "
--
1.7.0.4
More information about the Openembedded-core
mailing list