Skip to contentSkip to conversation

qt3: Add qt3 to poky for fixing [YOCTO #816]

PATCH New Xiaofeng Yan 1 participant 1 message Apr 22, 2011

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 qt3: Add qt3 to poky for fixing [YOCTO #816]

From: Xiaofeng Yan<[email protected]>

Add a new layer "meta-qt3" and import recipes-qt3,qt3e.bbclass and qt3x11.bbclass from OE.
Qt3 is needed by LSB Test Suite.
Changes from the meta-openembedded version:
1 Add "-L ${STAGING_LIBDIR} -I ${STAGING_INCDIR_NATIVE}" to function do_configure() in file qt-x11-free-native_3.3.5.bb
2 Remove do_stage and transfer contents from do_stage to do_install in file qt-x11-free-native_3.3.5.bb
3 Add LIC_FILES_CHKSUM and PR in file qt-x11-free-native_3.3.5.bb
4 Remove -plugin-sql-mysql from "QT_CONFIG_FLAGS" in file qt-x11-free-common.inc
5 Add "install -m 0755 ${STAGING_BINDIR_NATIVE}/moc3 ${S}/bin/moc install -m 0755 ${STAGING_BINDIR_NATIVE}/uic3 ${S}/bin/uic" to function do_compile() in file qt-x11-free-common.inc 6 Change do_stage to do_install_prepend in file qt-x11-free-common.inc
7 Add LIC_FILES_CHKSUM and PR in file qt-x11-free_3.3.7.bb
8 Add links in qt-x11-free-native_3.3.5.bb
cd ${D}${bindir}
for i in qmake moc uic lrelease lupdate;do

      ln -s ${i}3 ${i}

done
9 Remove depends for qt-x11-free_3.3.7
10Add meta-qt3 to meta-yocto/conf/bblayers.conf.sample
11Add PROVIDER VERSION for qt3 to meta-yocto/conf/distro/poky-lsb.conf 12Add "BBCLASSEXTEND = "native"" to libxmu_1.1.0.bb because qt3 depend on it.

---
 meta-qt3/conf/layer.conf                           |   10 ++
 meta-qt3/recipes-qt3/qt3/qt-x11-free-common.inc    |   90 ++++++++++++++++++++
 .../recipes-qt3/qt3/qt-x11-free-native_3.3.5.bb    |   71 +++++++++++++++
 .../recipes-qt3/qt3/qt-x11-free/configure.patch    |   51 +++++++++++
 .../recipes-qt3/qt3/qt-x11-free/gcc4_1-HACK.patch  |   28 ++++++
 .../recipes-qt3/qt3/qt-x11-free/no-examples.patch  |   16 ++++
 meta-qt3/recipes-qt3/qt3/qt-x11-free_3.3.6.bb      |   13 +++
 meta-qt3/recipes-qt3/qt3/qt-x11-free_3.3.7.bb      |   16 ++++
 meta-yocto/conf/bblayers.conf.sample               |    5 +-
 meta-yocto/conf/distro/poky-lsb.conf               |    3 +-
 meta/classes/qt3e.bbclass                          |   11 +++
 meta/classes/qt3x11.bbclass                        |   15 +++
 meta/recipes-graphics/xorg-lib/libxmu_1.1.0.bb     |    1 +
 13 files changed, 327 insertions(+), 3 deletions(-)
 create mode 100755 meta-qt3/conf/layer.conf
 create mode 100755 meta-qt3/recipes-qt3/qt3/qt-x11-free-common.inc
 create mode 100755 meta-qt3/recipes-qt3/qt3/qt-x11-free-native_3.3.5.bb
 create mode 100755 meta-qt3/recipes-qt3/qt3/qt-x11-free/configure.patch
 create mode 100755 meta-qt3/recipes-qt3/qt3/qt-x11-free/gcc4_1-HACK.patch
 create mode 100755 meta-qt3/recipes-qt3/qt3/qt-x11-free/no-examples.patch
 create mode 100755 meta-qt3/recipes-qt3/qt3/qt-x11-free_3.3.6.bb
 create mode 100755 meta-qt3/recipes-qt3/qt3/qt-x11-free_3.3.7.bb
 create mode 100644 meta/classes/qt3e.bbclass
 create mode 100644 meta/classes/qt3x11.bbclass
meta-qt3/conf/layer.conf new file +10 -0
new file mode 100755
index 0000000..0d5307f
@@ -0,0 +1,10 @@
+# We have a conf and classes directory, add to BBPATH
+BBPATH := "${BBPATH}:${LAYERDIR}"
+
+# We have a packages directory, add to BBFILES
+BBFILES := "${BBFILES} ${LAYERDIR}/recipes-*/*/*.bb "
+
+BBFILE_COLLECTIONS += "qt3"
+BBFILE_PATTERN_qt3 := "^${LAYERDIR}/"
+BBFILE_PRIORITY_qt3 = "6"
+
meta-qt3/recipes-qt3/qt3/qt-x11-free-common.inc new file +90 -0

90 lines not on this page · raw message

meta-qt3/recipes-qt3/qt3/qt-x11-free-native_3.3.5.bb new file +71 -0

71 lines not on this page · raw message

meta-qt3/recipes-qt3/qt3/qt-x11-free/configure.patch new file +51 -0

51 lines not on this page · raw message

meta-qt3/recipes-qt3/qt3/qt-x11-free/gcc4_1-HACK.patch new file +28 -0
new file mode 100755
index 0000000..818bced
@@ -0,0 +1,28 @@
+
+#
+# Patch managed byhttp://www.holgerschurig.de/patcher.html
+#
+
+--- qt-x11-free-3.3.6/src/tools/qstring.h~gcc4_1.patch
++++ qt-x11-free-3.3.6/src/tools/qstring.h
+@@ -60,7 +60,7 @@
+ #endif
+ #endif
+
+-
++#define Q_NO_PACKED_REFERENCE
+ /*****************************************************************************
+   QString class
+  *****************************************************************************/
+@@ -194,9 +194,9 @@
+     char latin1() const { return ucs>  0xff ? 0 : (char) ucs; }
+     ushort unicode() const { return ucs; }
+ #ifdef Q_NO_PACKED_REFERENCE
+-    ushort&unicode() { return *(&ucs); }
++    ushort&unicode() { return *((ushort*)&ucs); }
+ #else
+-    ushort&unicode() { return ucs; }
++    ushort&unicode() { return (ushort)ucs; }
+ #endif
+ #ifndef QT_NO_CAST_ASCII
+     // like all ifdef'd code this is undocumented
meta-qt3/recipes-qt3/qt3/qt-x11-free/no-examples.patch new file +16 -0
new file mode 100755
index 0000000..b0ee637
@@ -0,0 +1,16 @@
+
+#
+# Patch managed byhttp://www.mn-logistik.de/unsupported/pxa250/patcher
+#
+
+--- qt-embedded-free-3.3.2/Makefile~no-examples	2003-08-11 16:37:25.000000000 +0200
++++ qt-embedded-free-3.3.2/Makefile	2004-05-11 15:53:53.000000000 +0200
+@@ -11,7 +11,7 @@
+ install: FORCE
+ 	@$(MAKE) qt.install
+
+-all: symlinks src-qmake src-moc sub-src sub-tools sub-tutorial sub-examples
++all: symlinks src-qmake src-moc sub-src sub-tools
+ 	@echo
+ 	@echo "The Qt library is now built in ./lib"
+ 	@echo "The Qt examples are built in the directories in ./examples"
meta-qt3/recipes-qt3/qt3/qt-x11-free_3.3.6.bb new file +13 -0
new file mode 100755
index 0000000..789e6fb
@@ -0,0 +1,13 @@
+DEPENDS = "uicmoc3-native freetype virtual/libx11 libxft libxext libxrender libxrandr libxcursor mysql virtual/libgl"
+PROVIDES = "qt3x11"
+PR = "r3"
+
+SRC_URI = "ftp://ftp.trolltech.com/qt/source/qt-x11-free-${PV}.tar.bz2 \
+	file://configure.patch  \
+	file://no-examples.patch  \
+file://gcc4_1-HACK.patch"
+
+require qt-x11-free-common.inc
+
+SRC_URI[md5sum] = "dc1384c03ac08af21f6fefab32d982cf"
+SRC_URI[sha256sum] = "04f12083f6a6f7a8fd4d34a6c1efd37db76a67580c424f4fb7b7c43c0565e6ae"
meta-qt3/recipes-qt3/qt3/qt-x11-free_3.3.7.bb new file +16 -0
new file mode 100755
index 0000000..bfb01b9
@@ -0,0 +1,16 @@
+DEPENDS = "qt-x11-free-native freetype virtual/libx11 libxmu libxft libxext libxrender libxrandr libxcursor  virtual/libgl"
+PROVIDES = "qt3x11"
+PR = "r0"
+
+LIC_FILES_CHKSUM = "file://LICENSE.GPL;md5=b07b0d5ac6b1822effe47173a1744433  \
+file://LICENSE.QPL;md5=b81b6b6fc04ed873adde5aa901c0613b"
+
+SRC_URI = "ftp://ftp.trolltech.com/qt/source/qt-x11-free-${PV}.tar.bz2 \
+	file://configure.patch  \
+	file://no-examples.patch  \
+file://gcc4_1-HACK.patch"
+
+require qt-x11-free-common.inc
+
+SRC_URI[md5sum] = "655e21cf6a7e66daf8ec6ceda81aae1e"
+SRC_URI[sha256sum] = "48c05b501029f0640db665fbc7f981a0efbf69ad3cf87a43c5eea4872f4f7ba1"
meta-yocto/conf/bblayers.conf.sample +3 -2
index 2df038c..d4a9ba2 100644
@@ -4,6 +4,7 @@ LCONF_VERSION = "4"
 
 BBFILES ?= ""
 BBLAYERS = " \
-  ##COREBASE##/meta \
-  ##COREBASE##/meta-yocto \
+  ##POKYBASE##/meta \
+  ##POKYBASE##/meta-yocto \
+  ##POKYBASE##/meta-qt3 \
   "
meta-yocto/conf/distro/poky-lsb.conf +2 -1
index eb1cf82..2bf1b33 100644
@@ -6,4 +6,5 @@ DISTROOVERRIDES = "poky:linuxstdbase"
 DISTRO_FEATURES += "pam largefile"
 PREFERRED_PROVIDER_virtual/libx11 = "libx11"
 
-
+PREFERRED_VERSION_qt-x11-free-native = 3.3.5
+PREFERRED_VERSION_qt-x11-free = 3.3.7
meta/classes/qt3e.bbclass new file +11 -0
new file mode 100644
index 0000000..d3d4a14
@@ -0,0 +1,11 @@
+#
+# override variables set by qmake_base to compile Qt/X11 apps
+#
+export QTDIR="${STAGING_DIR_HOST}/qte3"
+export QTEDIR="${STAGING_DIR_HOST}/qte3"
+export OE_QMAKE_UIC="${STAGING_BINDIR_NATIVE}/uic3"
+export OE_QMAKE_MOC="${STAGING_BINDIR_NATIVE}/moc3"
+export OE_QMAKE_CXXFLAGS="${CXXFLAGS} "
+export OE_QMAKE_INCDIR_QT="${STAGING_INCDIR}/qte3/include"
+export OE_QMAKE_LIBDIR_QT="${STAGING_LIBDIR}/qte3/lib"
+export OE_QMAKE_LIBS_QT="qte"
meta/classes/qt3x11.bbclass new file +15 -0
new file mode 100644
index 0000000..5408b7f
@@ -0,0 +1,15 @@
+DEPENDS_prepend = "${@["qt3x11 ", ""][(bb.data.getVar('PN', d, 1) == 'qt-x11-free')]}"
+EXTRA_QMAKEVARS_POST += "CONFIG+=thread"
+#
+# override variables set by qmake_base to compile Qt/X11 apps
+#
+export QTDIR = "${STAGING_DIR_HOST}/qt3"
+export OE_QMAKE_UIC = "${STAGING_BINDIR_NATIVE}/uic3"
+export OE_QMAKE_MOC = "${STAGING_BINDIR_NATIVE}/moc3"
+export OE_QMAKE_CXXFLAGS = "${CXXFLAGS} -DQT_NO_XIM"
+export OE_QMAKE_INCDIR_QT = "${QTDIR}/include"
+export OE_QMAKE_LIBDIR_QT = "${QTDIR}/lib"
+export OE_QMAKE_LIBS_QT = "qt"
+export OE_QMAKE_LIBS_X11 = "-lXext -lX11 -lm"
+export OE_QMAKE_LIBS_OPENGL = "-lGLU -lGL -lXmu"
+export OE_QMAKE_LIBS_OPENGL_QT = "-lGL -lXmu"
meta/recipes-graphics/xorg-lib/libxmu_1.1.0.bb +1 -0
index 59f2c28..0ef3648 100644
@@ -28,5 +28,6 @@ PACKAGES =+ "libxmuu libxmuu-dev"
 FILES_libxmuu = "${libdir}/libXmuu.so.*"
 FILES_libxmuu-dev = "${libdir}/libXmuu.so"
 
+BBCLASSEXTEND = "native"
 SRC_URI[md5sum] = "6836883a0120e8346cf7f58dc42e465a"
 SRC_URI[sha256sum] = "0fa91f303b70decc1ef6201c88c8a5f0b4ecd68c6c88bdcc891ecd1a689d36ad"