From: Xiaofeng Yan <xiaofeng....@windriver.com> [YOCTO #999] Add qt4-x11-demo-image for fixing bug 999
Signed-off-by: Xiaofeng Yan <xiaofeng....@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
_______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core