summaryrefslogtreecommitdiff
path: root/recipes/qt
diff options
context:
space:
mode:
Diffstat (limited to 'recipes/qt')
-rw-r--r--recipes/qt/qt-x11-free-common.inc87
-rw-r--r--recipes/qt/qt-x11-free-native_3.3.5.bb61
-rw-r--r--recipes/qt/qt-x11-free/configure.patch51
-rw-r--r--recipes/qt/qt-x11-free/gcc4_1-HACK.patch28
-rw-r--r--recipes/qt/qt-x11-free/no-examples.patch16
-rw-r--r--recipes/qt/qt-x11-free_3.3.6.bb10
-rw-r--r--recipes/qt/qt-x11-free_3.3.7.bb10
7 files changed, 263 insertions, 0 deletions
diff --git a/recipes/qt/qt-x11-free-common.inc b/recipes/qt/qt-x11-free-common.inc
new file mode 100644
index 0000000000..745c7fab3c
--- /dev/null
+++ b/recipes/qt/qt-x11-free-common.inc
@@ -0,0 +1,87 @@
+DESCRIPTION = "Qt/X11 Version ${PV} is a full fledged cross-platform application framework"
+SECTION = "x11/libs"
+PRIORITY = "optional"
+LICENSE = "GPL QPL"
+HOMEPAGE = "http://www.trolltech.com"
+
+S = "${WORKDIR}/qt-x11-free-${PV}"
+
+inherit qmake_base qt3x11
+
+export QTDIR = "${S}"
+STAGING_QT_DIR = "${STAGING_DIR_HOST}/qt3"
+ARCH_i686 = "x86"
+EXTRA_OEMAKE = "-e"
+
+QT_CONFIG_FLAGS = "-release -shared -qt-zlib -no-nas-sound -no-sm -qt-libpng -no-gif -no-xinerama \
+ -no-tablet -no-xkb -no-dlopen-opengl -no-nis -no-cups -thread -plugin-sql-mysql -verbose"
+
+EXTRA_ENV = 'QMAKE="${STAGING_BINDIR_NATIVE}/qmake -after INCPATH+=${STAGING_INCDIR} \
+ 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}/moc3" UIC="${STAGING_BINDIR_NATIVE}/uic3" MAKE="make -e"'
+
+do_configure() {
+ echo "yes" | ./configure -prefix ${prefix} ${QT_CONFIG_FLAGS} -fast \
+ -L${STAGING_LIBDIR} -I${STAGING_INCDIR} -I${STAGING_INCDIR}/freetype2 -I${STAGING_INCDIR}/mysql
+ # force regenerate
+ rm -f src/qtmain.pro
+ cat Makefile >makefile
+ find . -name "Makefile"|xargs rm -f
+ (cd src && qmake -spec ${QMAKESPEC} )
+ (cd plugins/src && qmake -spec ${QMAKESPEC} )
+ (cd tools && qmake -spec ${QMAKESPEC} )
+ (cd tools/qvfb && qmake -spec ${QMAKESPEC} )
+}
+
+do_compile() {
+ unset CFLAGS
+ unset CXXFLAGS
+ oe_runmake -C src ${EXTRA_ENV}
+ oe_runmake -C plugins/src ${EXTRA_ENV}
+ oe_runmake -C tools ${EXTRA_ENV}
+ oe_runmake -C tools/qvfb ${EXTRA_ENV}
+}
+
+do_stage() {
+ install -d ${STAGING_QT_DIR}/bin
+ ln -sf ${STAGING_BINDIR_NATIVE}/moc3 ${STAGING_QT_DIR}/bin/moc
+ ln -sf ${STAGING_BINDIR_NATIVE}/uic3 ${STAGING_QT_DIR}/bin/uic
+ ln -sf ${STAGING_BINDIR_NATIVE}/qmake ${STAGING_QT_DIR}/bin/qmake
+ install -d ${STAGING_QT_DIR}/lib
+ oe_soinstall lib/libqt-mt.so.${PV} ${STAGING_QT_DIR}/lib
+ install -d ${STAGING_QT_DIR}/include/private
+ for f in include/*.h
+ do
+ install -m 0644 $f ${STAGING_QT_DIR}/include/
+ done
+ for f in include/private/*.h
+ do
+ install -m 0644 $f ${STAGING_QT_DIR}/include/private
+ done
+ for f in lib/*.prl
+ do
+ install -m 0644 $f ${STAGING_QT_DIR}/lib
+ done
+}
+
+do_install() {
+ install -d ${D}${libdir}/
+ oe_soinstall lib/libqt-mt.so.${PV} ${D}${libdir}/
+ install -d ${D}${bindir}/
+ install -m 0755 bin/designer bin/assistant tools/qvfb/qvfb bin/qtconfig ${D}${bindir}
+ install -d ${D}${prefix}/plugins/
+ cp -pPR plugins/imageformats plugins/sqldrivers plugins/designer ${D}${prefix}/plugins/
+}
+
+PACKAGES =+ "qt-x11-plugins-imageformats qt-x11-plugins-sqldrivers qt-x11-plugins-designer \
+ qt-x11-designer qt-x11-assistant qt-x11-qvfb qt-x11-qtconfig"
+FILES_qt-x11-plugins-imageformats = "${prefix}/plugins/imageformats/*.so"
+FILES_qt-x11-plugins-sqldrivers = "${prefix}/plugins/sqldrivers/*.so"
+FILES_qt-x11-plugins-designer = "${prefix}/plugins/designer/*.so"
+FILES_qt-x11-designer = "${bindir}/designer"
+FILES_qt-x11-assistant = "${bindir}/assistant"
+FILES_qt-x11-qvfb = "${bindir}/qvfb"
+FILES_qt-x11-qtconfig = "${bindir}/qtconfig"
+FILES_qt-x11-dbg += "${prefix}/plugins/*/.debug ${D}/qt-x11-plugins-debug"
diff --git a/recipes/qt/qt-x11-free-native_3.3.5.bb b/recipes/qt/qt-x11-free-native_3.3.5.bb
new file mode 100644
index 0000000000..f23d874648
--- /dev/null
+++ b/recipes/qt/qt-x11-free-native_3.3.5.bb
@@ -0,0 +1,61 @@
+DESCRIPTION = "Qt/X11 Version ${PV}"
+SECTION = "libs"
+PRIORITY = "optional"
+LICENSE = "GPL QPL"
+DEPENDS = "qmake-native x11-native"
+HOMEPAGE = "http://www.trolltech.com"
+
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/qt-x11-free"
+
+SRC_URI = "ftp://ftp.trolltech.com/qt/source/qt-x11-free-${PV}.tar.bz2 \
+ file://no-examples.patch;patch=1"
+S = "${WORKDIR}/qt-x11-free-${PV}"
+
+#
+# FIXME - This should be updated to use OE's qmake_base.oeclass
+# or the full qmake.oeclass.
+#
+
+export QTDIR = "${S}"
+export SYSCONF_CXX = "${CCACHE} g++"
+export SYSCONF_CC = "${CCACHE} gcc"
+export SYSCONF_LINK = "${CCACHE} g++"
+THIS_QMAKESPEC = "${STAGING_DATADIR}/qmake/${TARGET_OS}-oe-g++"
+export QMAKESPEC = ""
+ARCH_i686 = "x86"
+
+QT_CONFIG_FLAGS = "-release -shared -qt-zlib -no-nas-sound -no-sm -qt-libpng -qt-gif -no-xshape -no-xinerama -no-xcursor -no-xrandr \
+ -no-xrender -no-xft -no-tablet -no-xkb -no-dlopen-opengl -no-freetype -no-nis -no-cups -stl -thread -no-exceptions"
+
+
+inherit native
+
+do_configure() {
+ echo "yes" | ./configure -prefix ${prefix} ${QT_CONFIG_FLAGS} -fast
+}
+
+do_compile() {
+ LD_LIBRARY_PATH=${S}/lib oe_runmake \
+ QMAKE="${STAGING_BINDIR_NATIVE}/qmake -after INCLUDEPATH+=${STAGING_INCDIR} LIBS+=-I${STAGING_LIBDIR}" \
+ QMAKESPEC="${THIS_QMAKESPEC}"
+}
+
+do_stage() {
+ install -d ${STAGING_DIR_HOST}/qt3/lib
+ oe_soinstall lib/libqt-mt.so.${PV} ${STAGING_DIR_HOST}/qt3/lib
+ install -d ${STAGING_DIR_HOST}/qt3/include/private
+ for f in include/*.h
+ do
+ install -m 0644 $f ${STAGING_DIR_HOST}/qt3/include/
+ done
+ for f in include/private/*.h
+ do
+ install -m 0644 $f ${STAGING_DIR_HOST}/qt3/include/private
+ done
+}
+
+do_install() {
+ install -d ${D}${libdir}/
+ oe_soinstall lib/libqt-mt.so.${PV} ${D}${libdir}/
+}
+
diff --git a/recipes/qt/qt-x11-free/configure.patch b/recipes/qt/qt-x11-free/configure.patch
new file mode 100644
index 0000000000..9d6c1e8ef7
--- /dev/null
+++ b/recipes/qt/qt-x11-free/configure.patch
@@ -0,0 +1,51 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- qt-x11-free-3.3.2/configure~configure.patch
++++ qt-x11-free-3.3.2/configure
+@@ -1754,21 +1754,14 @@
+ CFG_FREETYPE=yes
+ fi
+ fi
+- # add freetype2 include path
+- if [ "$CFG_FREETYPE" = "yes" ] && [ -f $outpath/config.tests/x11/xft.inc ];then
+- QMAKE_VARS="$QMAKE_VARS \"INCLUDEPATH+=`cat $outpath/config.tests/x11/xft.inc`\""
+- fi
+- rm -f $outpath/config.tests/x11/xft.inc
+ # add Xft specific libraries
+ if [ "$CFG_FREETYPE" = "yes" ] && [ -f $outpath/config.tests/x11/xft.lib ]; then
+ QMAKE_VARS="$QMAKE_VARS \"QMAKE_LIBS_X11=`cat $outpath/config.tests/x11/xft.lib` \$\$QMAKE_LIBS_X11\""
+ fi
+- rm -f $outpath/config.tests/x11/xft.lib
+ # add Xft specific config options
+ if [ "$CFG_FREETYPE" = "yes" ] && [ -f $outpath/config.tests/x11/xft.cfg ]; then
+ QMAKE_CONFIG="$QMAKE_CONFIG `cat $outpath/config.tests/x11/xft.cfg`"
+ fi
+- rm -f $outpath/config.tests/x11/xft.cfg
+ # auto-detect Session Management support
+ if [ "$CFG_SM" = "auto" ]; then
+ if $x11tests/sm.test $XQMAKESPEC $OPT_VERBOSE $L_FLAGS $I_FLAGS; then
+@@ -2553,12 +2546,6 @@
+ (cd $outpath/qmake; $MAKE || (echo "qmake failed to build. Aborting." && exit 2)) || exit 2
+ fi
+
+-# clean up temporary qconfig.h and qmodules.h
+-rm -f $outpath/include/qmake/qconfig.h
+-rm -f $outpath/include/qmake/qmodules.h
+-rmdir $outpath/include/qmake
+-
+-
+ #-------------------------------------------------------------------------------
+ # tests that need qmake
+ #-------------------------------------------------------------------------------
+@@ -3605,7 +3592,7 @@
+
+ EOF
+ else
+- EXEC="$outpath/bin/qmake $QMAKE_SWITCHES $QMAKE_SPEC_ARGS -o $OUTDIR $a"
++ EXEC="$outpath/bin/qmake $QMAKE_SWITCHES $QMAKE_SPEC_ARGS -o $OUTDIR $a $OE_EXTRA_QMAKE"
+ if [ "$OPT_VERBOSE" = "yes" ]; then
+ echo " (`basename $SPEC`)"
+ if echo '\c' | grep '\c' >/dev/null; then
diff --git a/recipes/qt/qt-x11-free/gcc4_1-HACK.patch b/recipes/qt/qt-x11-free/gcc4_1-HACK.patch
new file mode 100644
index 0000000000..818bced4ee
--- /dev/null
+++ b/recipes/qt/qt-x11-free/gcc4_1-HACK.patch
@@ -0,0 +1,28 @@
+
+#
+# Patch managed by http://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
diff --git a/recipes/qt/qt-x11-free/no-examples.patch b/recipes/qt/qt-x11-free/no-examples.patch
new file mode 100644
index 0000000000..b0ee6374ef
--- /dev/null
+++ b/recipes/qt/qt-x11-free/no-examples.patch
@@ -0,0 +1,16 @@
+
+#
+# Patch managed by http://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"
diff --git a/recipes/qt/qt-x11-free_3.3.6.bb b/recipes/qt/qt-x11-free_3.3.6.bb
new file mode 100644
index 0000000000..719215c5d2
--- /dev/null
+++ b/recipes/qt/qt-x11-free_3.3.6.bb
@@ -0,0 +1,10 @@
+DEPENDS = "uicmoc3-native freetype virtual/libx11 xft libxext libxrender libxrandr libxcursor mysql mesa"
+PROVIDES = "qt3x11"
+PR = "r2"
+
+SRC_URI = "ftp://ftp.trolltech.com/qt/source/qt-x11-free-${PV}.tar.bz2 \
+ file://configure.patch;patch=1 \
+ file://no-examples.patch;patch=1 \
+ file://gcc4_1-HACK.patch;patch=1"
+
+require qt-x11-free-common.inc
diff --git a/recipes/qt/qt-x11-free_3.3.7.bb b/recipes/qt/qt-x11-free_3.3.7.bb
new file mode 100644
index 0000000000..7e430c8024
--- /dev/null
+++ b/recipes/qt/qt-x11-free_3.3.7.bb
@@ -0,0 +1,10 @@
+DEPENDS = "uicmoc3-native freetype virtual/libx11 libxmu xft libxext libxrender libxrandr libxcursor mysql mesa"
+PROVIDES = "qt3x11"
+PR = "r2"
+
+SRC_URI = "ftp://ftp.trolltech.com/qt/source/qt-x11-free-${PV}.tar.bz2 \
+ file://configure.patch;patch=1 \
+ file://no-examples.patch;patch=1 \
+ file://gcc4_1-HACK.patch;patch=1"
+
+require qt-x11-free-common.inc