From ac41ae95b1dbe54c05adf494c0fa44b3abbfeca3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jeremy=20Lain=C3=A9?= Date: Wed, 25 Mar 2009 17:00:59 +0100 Subject: qt4: consolidate include files into qt4.inc --- recipes/qt4/qt4-embedded.inc | 39 ---- recipes/qt4/qt4-embedded_4.4.3.bb | 40 ++++- recipes/qt4/qt4-x11-free.inc | 31 ---- recipes/qt4/qt4-x11-free_4.4.3.bb | 31 +++- recipes/qt4/qt4.inc | 368 ++++++++++++++++++++++++++++++++++++++ recipes/qt4/qt_configuration.inc | 82 --------- recipes/qt4/qt_depends.inc | 3 - recipes/qt4/qt_packaging.inc | 220 ----------------------- recipes/qt4/qt_staging.inc | 59 ------ 9 files changed, 435 insertions(+), 438 deletions(-) delete mode 100644 recipes/qt4/qt4-embedded.inc delete mode 100644 recipes/qt4/qt4-x11-free.inc create mode 100644 recipes/qt4/qt4.inc delete mode 100644 recipes/qt4/qt_configuration.inc delete mode 100644 recipes/qt4/qt_depends.inc delete mode 100644 recipes/qt4/qt_packaging.inc delete mode 100644 recipes/qt4/qt_staging.inc diff --git a/recipes/qt4/qt4-embedded.inc b/recipes/qt4/qt4-embedded.inc deleted file mode 100644 index 3dfac0897d..0000000000 --- a/recipes/qt4/qt4-embedded.inc +++ /dev/null @@ -1,39 +0,0 @@ -SUMMARY = "Qt is a versatile cross-platform application framework -- this is the embedded version." -SECTION = "libs" -LICENSE = "GPL" -PRIORITY = "optional" -HOMEPAGE = "http://www.trolltech.com" -DEPENDS += "tslib" - -SRC_URI = "ftp://ftp.trolltech.com/qt/source/qt-embedded-linux-opensource-src-${PV}.tar.bz2 \ - file://0001-cross-compile.patch;patch=1 \ - file://0002-fix-resinit-declaration.patch;patch=1 \ - file://0003-no-tools.patch;patch=1 \ - file://0004-no-qmake.patch;patch=1 \ - file://0005-fix-mkspecs.patch;patch=1 \ - file://0006-freetype-host-includes.patch;patch=1 \ - file://0007-openssl-host-includes.patch;patch=1 \ - file://0008-qt-lib-infix.patch;patch=1 \ - file://0009-support-2bpp.patch;patch=1 \ - " -S = "${WORKDIR}/qt-embedded-linux-opensource-src-${PV}" - -QT_CONFIG_FLAGS += " \ - -qtlibinfix E \ - -qt-decoration-styled -plugin-decoration-default -plugin-decoration-windows \ - -plugin-gfx-transformed -plugin-gfx-qvfb -plugin-gfx-vnc \ - -plugin-mouse-tslib -qt-mouse-pc -qt-mouse-qvfb \ - -qt-kbd-tty -qt-kbd-usb -qt-kbd-qvfb \ - -DQT_KEYPAD_NAVIGATION \ - " - -QT_BASE_NAME = "qt-embedded" -QT_BASE_LIB = "libqt-embedded" -QT_DIR_NAME = "qtopia" -QT_LIBINFIX="E" -require qt_depends.inc -require qt_configuration.inc -require qt_packaging.inc -require qt_staging.inc - -inherit qt4e diff --git a/recipes/qt4/qt4-embedded_4.4.3.bb b/recipes/qt4/qt4-embedded_4.4.3.bb index a0bae7262b..015b48e597 100644 --- a/recipes/qt4/qt4-embedded_4.4.3.bb +++ b/recipes/qt4/qt4-embedded_4.4.3.bb @@ -1,2 +1,38 @@ -require qt4-embedded.inc -PR = "r8" +SUMMARY = "Qt is a versatile cross-platform application framework -- this is the embedded version." +SECTION = "libs" +LICENSE = "GPL" +PRIORITY = "optional" +HOMEPAGE = "http://www.trolltech.com" +DEPENDS += "tslib" +PR = "r9" + +SRC_URI = "ftp://ftp.trolltech.com/qt/source/qt-embedded-linux-opensource-src-${PV}.tar.bz2 \ + file://0001-cross-compile.patch;patch=1 \ + file://0002-fix-resinit-declaration.patch;patch=1 \ + file://0003-no-tools.patch;patch=1 \ + file://0004-no-qmake.patch;patch=1 \ + file://0005-fix-mkspecs.patch;patch=1 \ + file://0006-freetype-host-includes.patch;patch=1 \ + file://0007-openssl-host-includes.patch;patch=1 \ + file://0008-qt-lib-infix.patch;patch=1 \ + file://0009-support-2bpp.patch;patch=1 \ + " +S = "${WORKDIR}/qt-embedded-linux-opensource-src-${PV}" + +QT_CONFIG_FLAGS += " \ + -qtlibinfix E \ + -qt-decoration-styled -plugin-decoration-default -plugin-decoration-windows \ + -plugin-gfx-transformed -plugin-gfx-qvfb -plugin-gfx-vnc \ + -plugin-mouse-tslib -qt-mouse-pc -qt-mouse-qvfb \ + -qt-kbd-tty -qt-kbd-usb -qt-kbd-qvfb \ + -DQT_KEYPAD_NAVIGATION \ + " + +QT_BASE_NAME = "qt-embedded" +QT_BASE_LIB = "libqt-embedded" +QT_DIR_NAME = "qtopia" +QT_LIBINFIX="E" + +require qt4.inc + +inherit qt4e diff --git a/recipes/qt4/qt4-x11-free.inc b/recipes/qt4/qt4-x11-free.inc deleted file mode 100644 index 2d6b0d30aa..0000000000 --- a/recipes/qt4/qt4-x11-free.inc +++ /dev/null @@ -1,31 +0,0 @@ -DESCRIPTION = "Qt is a versatile cross-platform application framework -- this is the X11 version." -SECTION = "x11/libs" -PRIORITY = "optional" -HOMEPAGE = "http://www.trolltech.com" -LICENSE = "GPL QPL" -DEPENDS += "virtual/libx11 fontconfig xft libxext libxrender libxrandr libxcursor" -PROVIDES = "qt4x11" - -SRC_URI = "ftp://ftp.trolltech.com/qt/source/qt-x11-opensource-src-${PV}.tar.gz \ - file://0001-cross-compile.patch;patch=1 \ - file://0002-fix-resinit-declaration.patch;patch=1 \ - file://0003-no-tools.patch;patch=1 \ - file://0004-no-qmake.patch;patch=1 \ - file://0005-fix-mkspecs.patch;patch=1 \ - file://0006-freetype-host-includes.patch;patch=1 \ - file://0007-openssl-host-includes.patch;patch=1 \ - file://0008-qt-lib-infix.patch;patch=1" -S = "${WORKDIR}/qt-x11-opensource-src-${PV}" - - -QT_CONFIG_FLAGS += "-no-xinerama -no-tablet -no-xkb -no-opengl" -QT_BASE_NAME = "qt4" -QT_BASE_LIB = "libqt" -QT_DIR_NAME = "qt4" -QT_LIBINFIX = "" -require qt_depends.inc -require qt_configuration.inc -require qt_packaging.inc -require qt_staging.inc - -inherit qt4x11 diff --git a/recipes/qt4/qt4-x11-free_4.4.3.bb b/recipes/qt4/qt4-x11-free_4.4.3.bb index 2e3b005166..d4d476917e 100644 --- a/recipes/qt4/qt4-x11-free_4.4.3.bb +++ b/recipes/qt4/qt4-x11-free_4.4.3.bb @@ -1,3 +1,30 @@ -require qt4-x11-free.inc -PR = "r6" +DESCRIPTION = "Qt is a versatile cross-platform application framework -- this is the X11 version." +SECTION = "x11/libs" +PRIORITY = "optional" +HOMEPAGE = "http://www.trolltech.com" +LICENSE = "GPL QPL" +DEPENDS += "virtual/libx11 fontconfig xft libxext libxrender libxrandr libxcursor" +PROVIDES = "qt4x11" +PR = "r7" +SRC_URI = "ftp://ftp.trolltech.com/qt/source/qt-x11-opensource-src-${PV}.tar.gz \ + file://0001-cross-compile.patch;patch=1 \ + file://0002-fix-resinit-declaration.patch;patch=1 \ + file://0003-no-tools.patch;patch=1 \ + file://0004-no-qmake.patch;patch=1 \ + file://0005-fix-mkspecs.patch;patch=1 \ + file://0006-freetype-host-includes.patch;patch=1 \ + file://0007-openssl-host-includes.patch;patch=1 \ + file://0008-qt-lib-infix.patch;patch=1" +S = "${WORKDIR}/qt-x11-opensource-src-${PV}" + + +QT_CONFIG_FLAGS += "-no-xinerama -no-tablet -no-xkb -no-opengl" +QT_BASE_NAME = "qt4" +QT_BASE_LIB = "libqt" +QT_DIR_NAME = "qt4" +QT_LIBINFIX = "" + +require qt4.inc + +inherit qt4x11 diff --git a/recipes/qt4/qt4.inc b/recipes/qt4/qt4.inc new file mode 100644 index 0000000000..53abf563aa --- /dev/null +++ b/recipes/qt4/qt4.inc @@ -0,0 +1,368 @@ +inherit pkgconfig qmake_base + +DEPENDS += " qt4-tools-native freetype jpeg libpng zlib dbus openssl glib-2.0 gstreamer gst-plugins-base" + +require qt4_arch.inc +QT_ARCH := "${@qt_arch(d)}" +QT_ENDIAN = "${@qt_endian(d)}" + +QT_CONFIG_FLAGS += "-release -no-cups -no-accessibility -reduce-relocations \ + -shared -no-nas-sound -no-sm -no-nis \ + -qt-gif -system-libjpeg -system-libpng -system-zlib \ + -no-sql-ibase -no-sql-mysql -no-sql-odbc -no-sql-psql -no-sql-sqlite -no-sql-sqlite2 \ + -no-pch -qdbus -stl -glib -phonon -webkit" + +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" + +do_configure() { + unset QMAKESPEC + unset QTDIR + ln -sf ${STAGING_BINDIR_NATIVE}/qmake2 bin/qmake + ln -s linux-g++ mkspecs/${TARGET_OS}-oe-g++ + + 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 "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 + + 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 \ + -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++ \ + -embedded ${QT_ARCH} ${QT_ENDIAN} -fast \ + -crossarch ${QT_ARCH} \ + ${QT_CONFIG_FLAGS} -fast \ + -L${STAGING_LIBDIR} -I${STAGING_INCDIR} \ + -I${STAGING_INCDIR}/freetype2 +} + +do_compile() { + unset CFLAGS CXXFLAGS + install -m 0755 ${STAGING_BINDIR_NATIVE}/rcc4 ${S}/bin/rcc + install -m 0755 ${STAGING_BINDIR_NATIVE}/moc4 ${S}/bin/moc + install -m 0755 ${STAGING_BINDIR_NATIVE}/uic4 ${S}/bin/uic + + oe_runmake ${EXTRA_ENV} +} + +# +# Fixup some pkgconfig files +# moc_location=/home/zecke/gmit/dela_build/git/openembedded-gmit.zecke/build/oetmp/work/arm-oabi-angstrom-linux/qtopia-core-4.3.0-r2/qtopia-core-opensource-src-4.3.0/bin/moc +# uic_location=/home/zecke/gmit/dela_build/git/openembedded-gmit.zecke/build/oetmp/work/arm-oabi-angstrom-linux/qtopia-core-4.3.0-r2/qtopia-core-opensource-src-4.3.0/bin/uic +# +# Libs: -L${libdir} -lQtNetwork -L/home/zecke/gmit/dela_build/git/openembedded-gmit.zecke/build/oetmp/staging/arm-angstrom-linux/lib -L/home/zecke/gmit/dela_build/git/openembedded-gmit.zecke/build/oetmp/work/arm-oabi-angstrom-linux/qtopia-core-4.3.0-r2/qtopia-core-opensource-src-4.3.0/lib $(LIBS_EXTRA) -lQtCore -L/home/zecke/gmit/dela_build/git/openembedded-gmit.zecke/build/oetmp/staging/arm-angstrom-linux/lib -L/home/zecke/gmit/dela_build/git/openembedded-gmit.zecke/build/oetmp/work/arm-oabi-angstrom-linux/qtopia-core-4.3.0-r2/qtopia-core-opensource-src-4.3.0/lib -lm -lrt -lpthread -ldl +# +do_compile_append() { + cd ${S}/lib/pkgconfig + sed -i s#"-L${S}/lib"##g *.pc + sed -i s#"moc_location=${S}/bin/moc"#moc_location=${STAGING_BINDIR}/moc4# *.pc + sed -i s#"uic_location=${S}/bin/uic"#uic_location=${STAGING_BINDIR}/uic4# *.pc +} + + +NONDEV_PACKAGES += "${QT_BASE_LIB}core4 ${QT_BASE_LIB}gui4 ${QT_BASE_LIB}network4 \ + ${QT_BASE_LIB}sql4 ${QT_BASE_LIB}svg4 ${QT_BASE_LIB}test4 ${QT_BASE_LIB}xml4 \ + ${QT_BASE_LIB}designer4 ${QT_BASE_LIB}designercomponents4 \ + ${QT_BASE_LIB}3support4 ${QT_BASE_LIB}assistantclient4 ${QT_BASE_LIB}script4 \ + ${QT_BASE_LIB}dbus4 ${QT_BASE_LIB}opengl4 \ + ${QT_BASE_LIB}help ${QT_BASE_LIB}clucene ${QT_BASE_LIB}webkit ${QT_BASE_LIB}phonon\ + ${QT_BASE_NAME}-assistant ${QT_BASE_NAME}-common \ + ${QT_BASE_NAME}-designer \ + ${QT_BASE_NAME}-demos ${QT_BASE_NAME}-examples \ + ${QT_BASE_NAME}-linguist \ + ${QT_BASE_NAME}-pixeltool ${QT_BASE_NAME}-dbus \ + ${QT_BASE_NAME}-fonts " + +DEV_PACKAGES += "${QT_BASE_LIB}core4-dev \ + ${QT_BASE_LIB}gui4-dev \ + ${QT_BASE_LIB}network4-dev \ + ${QT_BASE_LIB}sql4-dev \ + ${QT_BASE_LIB}svg4-dev \ + ${QT_BASE_LIB}test4-dev \ + ${QT_BASE_LIB}xml4-dev \ + ${QT_BASE_LIB}designer4-dev \ + ${QT_BASE_LIB}designercomponents4-dev \ + ${QT_BASE_LIB}3support4-dev \ + ${QT_BASE_LIB}assistantclient4-dev \ + ${QT_BASE_LIB}script4-dev \ + ${QT_BASE_LIB}dbus4-dev \ + ${QT_BASE_LIB}opengl4-dev \ + ${QT_BASE_LIB}uitools4-dev \ + ${QT_BASE_LIB}help-dev \ + ${QT_BASE_LIB}clucene-dev \ + ${QT_BASE_LIB}webkit-dev \ + ${QT_BASE_LIB}phonon-dev \ + " + +DBG_PACKAGES += "${QT_BASE_LIB}core4-dbg \ + ${QT_BASE_LIB}gui4-dbg \ + ${QT_BASE_LIB}network4-dbg \ + ${QT_BASE_LIB}sql4-dbg \ + ${QT_BASE_LIB}svg4-dbg \ + ${QT_BASE_LIB}test4-dbg \ + ${QT_BASE_LIB}xml4-dbg \ + ${QT_BASE_LIB}designer4-dbg \ + ${QT_BASE_LIB}designercomponents4-dbg \ + ${QT_BASE_LIB}3support4-dbg \ + ${QT_BASE_LIB}assistantclient4-dbg \ + ${QT_BASE_LIB}script4-dbg \ + ${QT_BASE_LIB}dbus4-dbg \ + ${QT_BASE_LIB}opengl4-dbg \ + ${QT_BASE_LIB}help-dbg \ + ${QT_BASE_LIB}clucene-dbg \ + ${QT_BASE_LIB}webkit-dbg \ + ${QT_BASE_LIB}phonon-dbg \ + " + +PACKAGES += "${DEV_PACKAGES} ${NONDEV_PACKAGES} ${DBG_PACKAGES}" +PACKAGES_DYNAMIC = "${QT_BASE_NAME}-plugin-*" + +ALLOW_EMPTY_${PN} = "1" +FILES_${PN} = "" +FILES_${PN}-dev = " ${includedir}/${QT_DIR_NAME}/Qt/*" +FILES_${PN}-dbg = "${bindir}/*/.debug " +RRECOMMENDS_${PN} = "${NONDEV_PACKAGES}" +RRECOMMENDS_${PN}-dev = "${DEV_PACKAGES}" +RRECOMMENDS_${PN}-dbg = "${DBG_PACKAGES}" + +def qt_default_dev(name): + return """${libdir}/libQt%(name)s${QT_LIBINFIX}.la + ${libdir}/libQt%(name)s${QT_LIBINFIX}.prl + ${libdir}/libQt%(name)s${QT_LIBINFIX}.so + ${includedir}/${QT_DIR_NAME}/Qt%(name)s* + ${libdir}/pkgconfig/Qt%(name)s${QT_LIBINFIX}.pc""" % locals() + + +FILES_${QT_BASE_LIB}core4 = "${libdir}/libQtCore${QT_LIBINFIX}.so.*" +FILES_${QT_BASE_LIB}core4-dev = "${@qt_default_dev('Core')}" +FILES_${QT_BASE_LIB}core4-dbg = "${libdir}/.debug/libQtCore*" +FILES_${QT_BASE_LIB}gui4 = "${libdir}/libQtGui${QT_LIBINFIX}.so.*" +FILES_${QT_BASE_LIB}gui4-dev = "${@qt_default_dev('Gui')}" +FILES_${QT_BASE_LIB}gui4-dbg = "${libdir}/.debug/libQtGui*" +FILES_${QT_BASE_LIB}network4 = "${libdir}/libQtNetwork${QT_LIBINFIX}.so.*" +FILES_${QT_BASE_LIB}network4-dev = "${@qt_default_dev('Network')}" +FILES_${QT_BASE_LIB}network4-dbg = "${libdir}/.debug/libQtNetwork${QT_LIBINFIX}*" +FILES_${QT_BASE_LIB}sql4 = "${libdir}/libQtSql${QT_LIBINFIX}.so.*" +FILES_${QT_BASE_LIB}sql4-dev = "${@qt_default_dev('Sql')}" +FILES_${QT_BASE_LIB}sql4-dbg = "${libdir}/.debug/libQtSql*" +FILES_${QT_BASE_LIB}svg4 = "${libdir}/libQtSvg${QT_LIBINFIX}.so.*" +FILES_${QT_BASE_LIB}svg4-dev = "${@qt_default_dev('Svg')}" +FILES_${QT_BASE_LIB}svg4-dbg = "${libdir}/.debug/libQtSvg*" +FILES_${QT_BASE_LIB}test4 = "${libdir}/libQtTest${QT_LIBINFIX}.so.*" +FILES_${QT_BASE_LIB}test4-dev = "${@qt_default_dev('Test')}" +FILES_${QT_BASE_LIB}test4-dbg = "${libdir}/.debug/libQtTest*" +FILES_${QT_BASE_LIB}xml4 = "${libdir}/libQtXml${QT_LIBINFIX}.so.*" +FILES_${QT_BASE_LIB}xml4-dev = "${@qt_default_dev('Xml')}" +FILES_${QT_BASE_LIB}xml4-dbg = "${libdir}/.debug/libQtXml*" +FILES_${QT_BASE_LIB}designer4 = "${libdir}/libQtDesigner${QT_LIBINFIX}.so.*" +FILES_${QT_BASE_LIB}designer4-dev = "${@qt_default_dev('Designer')}" +FILES_${QT_BASE_LIB}designer4-dbg = "${libdir}/.debug/libQtDesigner*" +FILES_${QT_BASE_LIB}designercomponents4 = "${libdir}/libQtDesignerComponents${QT_LIBINFIX}.so.*" +FILES_${QT_BASE_LIB}designercomponents4-dev = "${@qt_default_dev('DesignerComponents')}" +FILES_${QT_BASE_LIB}designercomponents4-dbg = "${libdir}/.debug/libQtDesignerComponents*" +FILES_${QT_BASE_LIB}3support4 = "${libdir}/libQt3Support${QT_LIBINFIX}.so.*" +FILES_${QT_BASE_LIB}3support4-dev = "${@qt_default_dev('3Support')}" +FILES_${QT_BASE_LIB}3support4-dbg = "${libdir}/.debug/libQt3Support*" +FILES_${QT_BASE_LIB}assistantclient4 = "${libdir}/libQtAssistantClient${QT_LIBINFIX}.so.*" +FILES_${QT_BASE_LIB}assistantclient4-dev = "${@qt_default_dev('AssistantClient')} ${includedir}/${QT_DIR_NAME}/QtAssistant*" +FILES_${QT_BASE_LIB}assistantclient4-dbg = "${libdir}/.debug/libQtAssistantClient*" +FILES_${QT_BASE_LIB}script4 = "${libdir}/libQtScript${QT_LIBINFIX}.so.*" +FILES_${QT_BASE_LIB}script4-dev = "${@qt_default_dev('Script')}" +FILES_${QT_BASE_LIB}script4-dbg = "${libdir}/.debug/libQtScript*" +FILES_${QT_BASE_LIB}dbus4 = "${libdir}/libQtDBus${QT_LIBINFIX}.so.*" +FILES_${QT_BASE_LIB}dbus4-dev = "${@qt_default_dev('DBus')}" +FILES_${QT_BASE_LIB}dbus4-dbg = "${libdir}/.debug/libQtDBus*" +FILES_${QT_BASE_LIB}opengl4 = "${libdir}/libQtOpenGL${QT_LIBINFIX}.so.*" +FILES_${QT_BASE_LIB}opengl4-dev = "${@qt_default_dev('OpenGL')}" +FILES_${QT_BASE_LIB}opengl4-dbg = "${libdir}/.debug/libQtOpenGL*" +FILES_${QT_BASE_LIB}uitools4-dev = "${libdir}/libQtUiTools* ${includedir}/${QT_DIR_NAME}/QtUiTools* ${libdir}/pkgconfig/QtUiTools${QT_LIBINFIX}.pc" +FILES_${QT_BASE_LIB}help = "${libdir}/libQtHelp${QT_LIBINFIX}.so.*" +FILES_${QT_BASE_LIB}help-dev = "${@qt_default_dev('Help')}" +FILES_${QT_BASE_LIB}help-dbg = "${libdir}/.debug/libQtHelp*" +FILES_${QT_BASE_LIB}clucene = "${libdir}/libQtCLucene${QT_LIBINFIX}.so.*" +FILES_${QT_BASE_LIB}clucene-dev = "${@qt_default_dev('CLucene')}" +FILES_${QT_BASE_LIB}clucene-dbg = "${libdir}/.debug/libQtCLucene*" +FILES_${QT_BASE_LIB}webkit = "${libdir}/libQtWebKit${QT_LIBINFIX}.so.*" +FILES_${QT_BASE_LIB}webkit-dev = "${@qt_default_dev('WebKit')}" +FILES_${QT_BASE_LIB}webkit-dbg = "${libdir}/.debug/libQtWebKit*" +FILES_${QT_BASE_LIB}phonon = "${libdir}/libphonon${QT_LIBINFIX}.so.*" +FILES_${QT_BASE_LIB}phonon-dev = "${libdir}/libphonon${QT_LIBINFIX}.la \ + ${libdir}/libphonon${QT_LIBINFIX}.prl \ + ${libdir}/libphonon${QT_LIBINFIX}.so \ + ${includedir}/${QT_DIR_NAME}/phonon \ + ${libdir}/pkgconfig/phonon${QT_LIBINFIX}.pc" +FILES_${QT_BASE_LIB}phonon-dbg = "${libdir}/.debug/libphonon*" + +FILES_${QT_BASE_NAME}-assistant = "${bindir}/*assistant*" +FILES_${QT_BASE_NAME}-designer = "${bindir}/*designer*" +FILES_${QT_BASE_NAME}-linguist = "${bindir}/*linguist* ${bindir}/lrelease ${bindir}/lupdate ${bindir}/qm2ts" +FILES_${QT_BASE_NAME}-pixeltool = "${bindir}/pixeltool" +FILES_${QT_BASE_NAME}-dbus = "${bindir}/qdbus ${bindir}/qdbusxml2cpp ${bindir}/qdbuscpp2xml ${bindir}/qdbusviewer" + +FILES_${QT_BASE_NAME}-common = "${bindir}/qtconfig" +FILES_${QT_BASE_NAME}-examples = "${bindir}/${QT_DIR_NAME}/examples/*" +FILES_${QT_BASE_NAME}-demos = "${bindir}/qtdemo ${bindir}/${QT_DIR_NAME}/demos/*" + +FILES_${QT_BASE_NAME}-fonts = "${libdir}/fonts" + +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, '^qt_(.*)\.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) + do_split_packages(d, phrasebook_dir, '^(.*)\.qph$', phrasebook_name, '${PN} phrasebook for %s', extra_depends='' ) + + # Package all the plugins and their -dbg version and create a meta package + import os + 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 = bb.data.getVar('PACKAGES',d) + for (file,package) in dev_packages: + packages = "%s %s-dbg" % (packages, package) + file_name = os.path.join(plugin_dir_dbg, os.path.basename(file)) + bb.data.setVar("FILES_%s-dbg" % package, file_name, d) + bb.data.setVar("DESCRIPTION_%s-dbg" % package, "${PN} %s for %s" % (name, package), d) + + bb.data.setVar('PACKAGES', packages, d) + + 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', '^libqgfx(.*)\.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$') +} + + +do_install() { + oe_runmake install INSTALL_ROOT=${D} + + # These are host binaries, we should only use them in staging + rm -rf ${D}/${bindir}/qmake + + # XXX, FIXME, TODO: package the demos and examples properly + rm -rf ${D}/${bindir}/${QT_DIR_NAME} + rm -rf ${D}/${datadir}/${QT_DIR_NAME}/mkspecs + + # fix some .la and .pc files + sed -i s#"moc_location=${STAGING_BINDIR}/moc4$"#"moc_location=${bindir}/moc4"# ${D}/${libdir}/pkgconfig/Qt*.pc + sed -i s#"uic_location=${STAGING_BINDIR}/uic4$"#"uic_location=${bindir}/uic4"# ${D}/${libdir}/pkgconfig/Qt*.pc + sed -i s#'$(OE_QMAKE_LIBS_X11)'#"${OE_QMAKE_LIBS_X11}"#g ${D}/${libdir}/pkgconfig/Qt*.pc + sed -i s#-L${STAGING_LIBDIR}##g ${D}${libdir}/pkgconfig/Qt*.pc + + sed -i s#-L${STAGING_LIBDIR}#-L${libdir}#g ${D}${libdir}/libQt*.la + sed -i s#'$(OE_QMAKE_LIBS_X11)'#"${OE_QMAKE_LIBS_X11}"#g ${D}/${libdir}/libQt*.la + + install -d ${D}/${libdir}/fonts + touch ${D}/${libdir}/fonts/fontdir +} + +STAGE_TEMP = "${WORKDIR}/temp-staging" +do_stage() { + rm -rf ${STAGE_TEMP} + mkdir -p ${STAGE_TEMP} + oe_runmake install INSTALL_ROOT=${STAGE_TEMP} + + install -d ${STAGING_INCDIR} + install -d ${STAGING_LIBDIR} + cp -pPRf ${STAGE_TEMP}/${includedir}/* ${STAGING_INCDIR}/ + install -d ${STAGING_DATADIR}/${QT_DIR_NAME}/mkspecs + cp -pPRf ${STAGE_TEMP}/${datadir}/${QT_DIR_NAME}/mkspecs/* ${STAGING_DATADIR}/${QT_DIR_NAME}/mkspecs/ + + for i in ${STAGE_TEMP}/${libdir}/*.la + do + sed -i s,installed=yes,installed=no, $i + sed -i -e "/^dependency_libs=/s,-L${libdir},-L${STAGING_LIBDIR},g" $i + sed -i -e "s,-L${libdir},-L${STAGING_LIBDIR},g" ${STAGE_TEMP}/${libdir}/$(basename $i .la).prl + cp -fpPR $i ${STAGING_LIBDIR} + cp -fpPR ${STAGE_TEMP}/${libdir}/$(basename $i .la).prl ${STAGING_LIBDIR} + oe_libinstall -C ${STAGE_TEMP}/${libdir} -so $(basename $i .la) ${STAGING_LIBDIR} + done + + for i in libQtAssistantClient${QT_LIBINFIX} libQtDesignerComponents${QT_LIBINFIX} libQtUiTools${QT_LIBINFIX} libQtDesigner${QT_LIBINFIX} + do + sed -i -e "s,-L${libdir},-L${STAGING_LIBDIR},g" $i.prl || true + cp ${STAGE_TEMP}/${libdir}/$i.prl ${STAGING_LIBDIR} || true + sed -i -e "/^dependency_libs=/s,-L${libdir},-L${STAGING_LIBDIR},g" $i.la || true + cp ${STAGE_TEMP}/${libdir}/$i.la ${STAGING_LIBDIR} || true + oe_libinstall -C ${STAGE_TEMP}/${libdir} -so $i ${STAGING_LIBDIR} || true + oe_libinstall -C ${STAGE_TEMP}/${libdir} -a $i ${STAGING_LIBDIR} || true + done + + rm -rf ${STAGE_TEMP} +} + +# Fixing up some Qt .pc files +do_stage_append() { + cd ${STAGING_LIBDIR}/pkgconfig + sed -i s#"-L${S}/lib"##g Qt*.pc + sed -i s#"moc_location=${STAGING_BINDIR}/moc4$"## Qt*.pc + sed -i s#"uic_location=${STAGING_BINDIR}/uic4$"## Qt*.pc + sed -i s#"-L${STAGING_LIBDIR}"##g Qt*.pc + sed -i s#'$(OE_QMAKE_LIBS_X11)'#"${OE_QMAKE_LIBS_X11}"#g Qt*.pc + sed -i s#"-L${S}/lib"##g phonon*.pc + sed -i s#"moc_location=${STAGING_BINDIR}/moc4$"## phonon*.pc + sed -i s#"uic_location=${STAGING_BINDIR}/uic4$"## phonon*.pc + sed -i s#"-L${STAGING_LIBDIR}"##g phonon*.pc + sed -i s#'$(OE_QMAKE_LIBS_X11)'#"${OE_QMAKE_LIBS_X11}"#g phonon*.pc + + cd ${STAGING_LIBDIR} + sed -i s#"-L${S}/lib"##g libQt*.la + sed -i s#'$(OE_QMAKE_LIBS_X11)'#"${OE_QMAKE_LIBS_X11}"#g libQt*.la + + install -d ${STAGING_DATADIR}/${QT_DIR_NAME}/bin + ln -sf ${STAGING_BINDIR_NATIVE}/qmake2 ${STAGING_DATADIR}/${QT_DIR_NAME}/bin/qmake + for qttool in moc uic uic3 rcc lrelease lupdate; do + ln -sf ${STAGING_BINDIR_NATIVE}/${qttool}4 ${STAGING_DATADIR}/${QT_DIR_NAME}/bin/${qttool} + done +} + diff --git a/recipes/qt4/qt_configuration.inc b/recipes/qt4/qt_configuration.inc deleted file mode 100644 index 62d4abce11..0000000000 --- a/recipes/qt4/qt_configuration.inc +++ /dev/null @@ -1,82 +0,0 @@ -require qt4_arch.inc -QT_ARCH := "${@qt_arch(d)}" -QT_ENDIAN = "${@qt_endian(d)}" - -QT_CONFIG_FLAGS += "-release -no-cups -no-accessibility -reduce-relocations \ - -shared -no-nas-sound -no-sm -no-nis \ - -qt-gif -system-libjpeg -system-libpng -system-zlib \ - -no-sql-ibase -no-sql-mysql -no-sql-odbc -no-sql-psql -no-sql-sqlite -no-sql-sqlite2 \ - -no-pch -qdbus -stl -glib -phonon -webkit" - -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" - -do_configure() { - unset QMAKESPEC - unset QTDIR - ln -sf ${STAGING_BINDIR_NATIVE}/qmake2 bin/qmake - ln -s linux-g++ mkspecs/${TARGET_OS}-oe-g++ - - 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 "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 - - 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 \ - -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++ \ - -embedded ${QT_ARCH} ${QT_ENDIAN} -fast \ - -crossarch ${QT_ARCH} \ - ${QT_CONFIG_FLAGS} -fast \ - -L${STAGING_LIBDIR} -I${STAGING_INCDIR} \ - -I${STAGING_INCDIR}/freetype2 -} - -do_compile() { - unset CFLAGS CXXFLAGS - install -m 0755 ${STAGING_BINDIR_NATIVE}/rcc4 ${S}/bin/rcc - install -m 0755 ${STAGING_BINDIR_NATIVE}/moc4 ${S}/bin/moc - install -m 0755 ${STAGING_BINDIR_NATIVE}/uic4 ${S}/bin/uic - - oe_runmake ${EXTRA_ENV} -} - -# -# Fixup some pkgconfig files -# moc_location=/home/zecke/gmit/dela_build/git/openembedded-gmit.zecke/build/oetmp/work/arm-oabi-angstrom-linux/qtopia-core-4.3.0-r2/qtopia-core-opensource-src-4.3.0/bin/moc -# uic_location=/home/zecke/gmit/dela_build/git/openembedded-gmit.zecke/build/oetmp/work/arm-oabi-angstrom-linux/qtopia-core-4.3.0-r2/qtopia-core-opensource-src-4.3.0/bin/uic -# -# Libs: -L${libdir} -lQtNetwork -L/home/zecke/gmit/dela_build/git/openembedded-gmit.zecke/build/oetmp/staging/arm-angstrom-linux/lib -L/home/zecke/gmit/dela_build/git/openembedded-gmit.zecke/build/oetmp/work/arm-oabi-angstrom-linux/qtopia-core-4.3.0-r2/qtopia-core-opensource-src-4.3.0/lib $(LIBS_EXTRA) -lQtCore -L/home/zecke/gmit/dela_build/git/openembedded-gmit.zecke/build/oetmp/staging/arm-angstrom-linux/lib -L/home/zecke/gmit/dela_build/git/openembedded-gmit.zecke/build/oetmp/work/arm-oabi-angstrom-linux/qtopia-core-4.3.0-r2/qtopia-core-opensource-src-4.3.0/lib -lm -lrt -lpthread -ldl -# -do_compile_append() { - cd ${S}/lib/pkgconfig - sed -i s#"-L${S}/lib"##g *.pc - sed -i s#"moc_location=${S}/bin/moc"#moc_location=${STAGING_BINDIR}/moc4# *.pc - sed -i s#"uic_location=${S}/bin/uic"#uic_location=${STAGING_BINDIR}/uic4# *.pc -} diff --git a/recipes/qt4/qt_depends.inc b/recipes/qt4/qt_depends.inc deleted file mode 100644 index bdb5fafd6e..0000000000 --- a/recipes/qt4/qt_depends.inc +++ /dev/null @@ -1,3 +0,0 @@ -inherit pkgconfig qmake_base - -DEPENDS += " qt4-tools-native freetype jpeg libpng zlib dbus openssl glib-2.0 gstreamer gst-plugins-base" diff --git a/recipes/qt4/qt_packaging.inc b/recipes/qt4/qt_packaging.inc deleted file mode 100644 index 68b3a406eb..0000000000 --- a/recipes/qt4/qt_packaging.inc +++ /dev/null @@ -1,220 +0,0 @@ -NONDEV_PACKAGES += "${QT_BASE_LIB}core4 ${QT_BASE_LIB}gui4 ${QT_BASE_LIB}network4 \ - ${QT_BASE_LIB}sql4 ${QT_BASE_LIB}svg4 ${QT_BASE_LIB}test4 ${QT_BASE_LIB}xml4 \ - ${QT_BASE_LIB}designer4 ${QT_BASE_LIB}designercomponents4 \ - ${QT_BASE_LIB}3support4 ${QT_BASE_LIB}assistantclient4 ${QT_BASE_LIB}script4 \ - ${QT_BASE_LIB}dbus4 ${QT_BASE_LIB}opengl4 \ - ${QT_BASE_LIB}help ${QT_BASE_LIB}clucene ${QT_BASE_LIB}webkit ${QT_BASE_LIB}phonon\ - ${QT_BASE_NAME}-assistant ${QT_BASE_NAME}-common \ - ${QT_BASE_NAME}-designer \ - ${QT_BASE_NAME}-demos ${QT_BASE_NAME}-examples \ - ${QT_BASE_NAME}-linguist \ - ${QT_BASE_NAME}-pixeltool ${QT_BASE_NAME}-dbus \ - ${QT_BASE_NAME}-fonts " - -DEV_PACKAGES += "${QT_BASE_LIB}core4-dev \ - ${QT_BASE_LIB}gui4-dev \ - ${QT_BASE_LIB}network4-dev \ - ${QT_BASE_LIB}sql4-dev \ - ${QT_BASE_LIB}svg4-dev \ - ${QT_BASE_LIB}test4-dev \ - ${QT_BASE_LIB}xml4-dev \ - ${QT_BASE_LIB}designer4-dev \ - ${QT_BASE_LIB}designercomponents4-dev \ - ${QT_BASE_LIB}3support4-dev \ - ${QT_BASE_LIB}assistantclient4-dev \ - ${QT_BASE_LIB}script4-dev \ - ${QT_BASE_LIB}dbus4-dev \ - ${QT_BASE_LIB}opengl4-dev \ - ${QT_BASE_LIB}uitools4-dev \ - ${QT_BASE_LIB}help-dev \ - ${QT_BASE_LIB}clucene-dev \ - ${QT_BASE_LIB}webkit-dev \ - ${QT_BASE_LIB}phonon-dev \ - " - -DBG_PACKAGES += "${QT_BASE_LIB}core4-dbg \ - ${QT_BASE_LIB}gui4-dbg \ - ${QT_BASE_LIB}network4-dbg \ - ${QT_BASE_LIB}sql4-dbg \ - ${QT_BASE_LIB}svg4-dbg \ - ${QT_BASE_LIB}test4-dbg \ - ${QT_BASE_LIB}xml4-dbg \ - ${QT_BASE_LIB}designer4-dbg \ - ${QT_BASE_LIB}designercomponents4-dbg \ - ${QT_BASE_LIB}3support4-dbg \ - ${QT_BASE_LIB}assistantclient4-dbg \ - ${QT_BASE_LIB}script4-dbg \ - ${QT_BASE_LIB}dbus4-dbg \ - ${QT_BASE_LIB}opengl4-dbg \ - ${QT_BASE_LIB}help-dbg \ - ${QT_BASE_LIB}clucene-dbg \ - ${QT_BASE_LIB}webkit-dbg \ - ${QT_BASE_LIB}phonon-dbg \ - " - - -PACKAGES += "${DEV_PACKAGES} ${NONDEV_PACKAGES} ${DBG_PACKAGES}" -PACKAGES_DYNAMIC = "${QT_BASE_NAME}-plugin-*" - -ALLOW_EMPTY_${PN} = "1" -FILES_${PN} = "" -FILES_${PN}-dev = " ${includedir}/${QT_DIR_NAME}/Qt/*" -FILES_${PN}-dbg = "${bindir}/*/.debug " -RRECOMMENDS_${PN} = "${NONDEV_PACKAGES}" -RRECOMMENDS_${PN}-dev = "${DEV_PACKAGES}" -RRECOMMENDS_${PN}-dbg = "${DBG_PACKAGES}" - -def qt_default_dev(name): - return """${libdir}/libQt%(name)s${QT_LIBINFIX}.la - ${libdir}/libQt%(name)s${QT_LIBINFIX}.prl - ${libdir}/libQt%(name)s${QT_LIBINFIX}.so - ${includedir}/${QT_DIR_NAME}/Qt%(name)s* - ${libdir}/pkgconfig/Qt%(name)s${QT_LIBINFIX}.pc""" % locals() - - -FILES_${QT_BASE_LIB}core4 = "${libdir}/libQtCore${QT_LIBINFIX}.so.*" -FILES_${QT_BASE_LIB}core4-dev = "${@qt_default_dev('Core')}" -FILES_${QT_BASE_LIB}core4-dbg = "${libdir}/.debug/libQtCore*" -FILES_${QT_BASE_LIB}gui4 = "${libdir}/libQtGui${QT_LIBINFIX}.so.*" -FILES_${QT_BASE_LIB}gui4-dev = "${@qt_default_dev('Gui')}" -FILES_${QT_BASE_LIB}gui4-dbg = "${libdir}/.debug/libQtGui*" -FILES_${QT_BASE_LIB}network4 = "${libdir}/libQtNetwork${QT_LIBINFIX}.so.*" -FILES_${QT_BASE_LIB}network4-dev = "${@qt_default_dev('Network')}" -FILES_${QT_BASE_LIB}network4-dbg = "${libdir}/.debug/libQtNetwork${QT_LIBINFIX}*" -FILES_${QT_BASE_LIB}sql4 = "${libdir}/libQtSql${QT_LIBINFIX}.so.*" -FILES_${QT_BASE_LIB}sql4-dev = "${@qt_default_dev('Sql')}" -FILES_${QT_BASE_LIB}sql4-dbg = "${libdir}/.debug/libQtSql*" -FILES_${QT_BASE_LIB}svg4 = "${libdir}/libQtSvg${QT_LIBINFIX}.so.*" -FILES_${QT_BASE_LIB}svg4-dev = "${@qt_default_dev('Svg')}" -FILES_${QT_BASE_LIB}svg4-dbg = "${libdir}/.debug/libQtSvg*" -FILES_${QT_BASE_LIB}test4 = "${libdir}/libQtTest${QT_LIBINFIX}.so.*" -FILES_${QT_BASE_LIB}test4-dev = "${@qt_default_dev('Test')}" -FILES_${QT_BASE_LIB}test4-dbg = "${libdir}/.debug/libQtTest*" -FILES_${QT_BASE_LIB}xml4 = "${libdir}/libQtXml${QT_LIBINFIX}.so.*" -FILES_${QT_BASE_LIB}xml4-dev = "${@qt_default_dev('Xml')}" -FILES_${QT_BASE_LIB}xml4-dbg = "${libdir}/.debug/libQtXml*" -FILES_${QT_BASE_LIB}designer4 = "${libdir}/libQtDesigner${QT_LIBINFIX}.so.*" -FILES_${QT_BASE_LIB}designer4-dev = "${@qt_default_dev('Designer')}" -FILES_${QT_BASE_LIB}designer4-dbg = "${libdir}/.debug/libQtDesigner*" -FILES_${QT_BASE_LIB}designercomponents4 = "${libdir}/libQtDesignerComponents${QT_LIBINFIX}.so.*" -FILES_${QT_BASE_LIB}designercomponents4-dev = "${@qt_default_dev('DesignerComponents')}" -FILES_${QT_BASE_LIB}designercomponents4-dbg = "${libdir}/.debug/libQtDesignerComponents*" -FILES_${QT_BASE_LIB}3support4 = "${libdir}/libQt3Support${QT_LIBINFIX}.so.*" -FILES_${QT_BASE_LIB}3support4-dev = "${@qt_default_dev('3Support')}" -FILES_${QT_BASE_LIB}3support4-dbg = "${libdir}/.debug/libQt3Support*" -FILES_${QT_BASE_LIB}assistantclient4 = "${libdir}/libQtAssistantClient${QT_LIBINFIX}.so.*" -FILES_${QT_BASE_LIB}assistantclient4-dev = "${@qt_default_dev('AssistantClient')} ${includedir}/${QT_DIR_NAME}/QtAssistant*" -FILES_${QT_BASE_LIB}assistantclient4-dbg = "${libdir}/.debug/libQtAssistantClient*" -FILES_${QT_BASE_LIB}script4 = "${libdir}/libQtScript${QT_LIBINFIX}.so.*" -FILES_${QT_BASE_LIB}script4-dev = "${@qt_default_dev('Script')}" -FILES_${QT_BASE_LIB}script4-dbg = "${libdir}/.debug/libQtScript*" -FILES_${QT_BASE_LIB}dbus4 = "${libdir}/libQtDBus${QT_LIBINFIX}.so.*" -FILES_${QT_BASE_LIB}dbus4-dev = "${@qt_default_dev('DBus')}" -FILES_${QT_BASE_LIB}dbus4-dbg = "${libdir}/.debug/libQtDBus*" -FILES_${QT_BASE_LIB}opengl4 = "${libdir}/libQtOpenGL${QT_LIBINFIX}.so.*" -FILES_${QT_BASE_LIB}opengl4-dev = "${@qt_default_dev('OpenGL')}" -FILES_${QT_BASE_LIB}opengl4-dbg = "${libdir}/.debug/libQtOpenGL*" -FILES_${QT_BASE_LIB}uitools4-dev = "${libdir}/libQtUiTools* ${includedir}/${QT_DIR_NAME}/QtUiTools* ${libdir}/pkgconfig/QtUiTools${QT_LIBINFIX}.pc" -FILES_${QT_BASE_LIB}help = "${libdir}/libQtHelp${QT_LIBINFIX}.so.*" -FILES_${QT_BASE_LIB}help-dev = "${@qt_default_dev('Help')}" -FILES_${QT_BASE_LIB}help-dbg = "${libdir}/.debug/libQtHelp*" -FILES_${QT_BASE_LIB}clucene = "${libdir}/libQtCLucene${QT_LIBINFIX}.so.*" -FILES_${QT_BASE_LIB}clucene-dev = "${@qt_default_dev('CLucene')}" -FILES_${QT_BASE_LIB}clucene-dbg = "${libdir}/.debug/libQtCLucene*" -FILES_${QT_BASE_LIB}webkit = "${libdir}/libQtWebKit${QT_LIBINFIX}.so.*" -FILES_${QT_BASE_LIB}webkit-dev = "${@qt_default_dev('WebKit')}" -FILES_${QT_BASE_LIB}webkit-dbg = "${libdir}/.debug/libQtWebKit*" -FILES_${QT_BASE_LIB}phonon = "${libdir}/libphonon${QT_LIBINFIX}.so.*" -FILES_${QT_BASE_LIB}phonon-dev = "${libdir}/libphonon${QT_LIBINFIX}.la \ - ${libdir}/libphonon${QT_LIBINFIX}.prl \ - ${libdir}/libphonon${QT_LIBINFIX}.so \ - ${includedir}/${QT_DIR_NAME}/phonon \ - ${libdir}/pkgconfig/phonon${QT_LIBINFIX}.pc" -FILES_${QT_BASE_LIB}phonon-dbg = "${libdir}/.debug/libphonon*" - -FILES_${QT_BASE_NAME}-assistant = "${bindir}/*assistant*" -FILES_${QT_BASE_NAME}-designer = "${bindir}/*designer*" -FILES_${QT_BASE_NAME}-linguist = "${bindir}/*linguist* ${bindir}/lrelease ${bindir}/lupdate ${bindir}/qm2ts" -FILES_${QT_BASE_NAME}-pixeltool = "${bindir}/pixeltool" -FILES_${QT_BASE_NAME}-dbus = "${bindir}/qdbus ${bindir}/qdbusxml2cpp ${bindir}/qdbuscpp2xml ${bindir}/qdbusviewer" - -FILES_${QT_BASE_NAME}-common = "${bindir}/qtconfig" -FILES_${QT_BASE_NAME}-examples = "${bindir}/${QT_DIR_NAME}/examples/*" -FILES_${QT_BASE_NAME}-demos = "${bindir}/qtdemo ${bindir}/${QT_DIR_NAME}/demos/*" - -FILES_${QT_BASE_NAME}-fonts = "${libdir}/fonts" - -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, '^qt_(.*)\.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) - do_split_packages(d, phrasebook_dir, '^(.*)\.qph$', phrasebook_name, '${PN} phrasebook for %s', extra_depends='' ) - - # Package all the plugins and their -dbg version and create a meta package - import os - 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 = bb.data.getVar('PACKAGES',d) - for (file,package) in dev_packages: - packages = "%s %s-dbg" % (packages, package) - file_name = os.path.join(plugin_dir_dbg, os.path.basename(file)) - bb.data.setVar("FILES_%s-dbg" % package, file_name, d) - bb.data.setVar("DESCRIPTION_%s-dbg" % package, "${PN} %s for %s" % (name, package), d) - - bb.data.setVar('PACKAGES', packages, d) - - 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', '^libqgfx(.*)\.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$') -} - - -do_install() { - oe_runmake install INSTALL_ROOT=${D} - - # These are host binaries, we should only use them in staging - rm -rf ${D}/${bindir}/qmake - - # XXX, FIXME, TODO: package the demos and examples properly - rm -rf ${D}/${bindir}/${QT_DIR_NAME} - rm -rf ${D}/${datadir}/${QT_DIR_NAME}/mkspecs - - # fix some .la and .pc files - sed -i s#"moc_location=${STAGING_BINDIR}/moc4$"#"moc_location=${bindir}/moc4"# ${D}/${libdir}/pkgconfig/Qt*.pc - sed -i s#"uic_location=${STAGING_BINDIR}/uic4$"#"uic_location=${bindir}/uic4"# ${D}/${libdir}/pkgconfig/Qt*.pc - sed -i s#'$(OE_QMAKE_LIBS_X11)'#"${OE_QMAKE_LIBS_X11}"#g ${D}/${libdir}/pkgconfig/Qt*.pc - sed -i s#-L${STAGING_LIBDIR}##g ${D}${libdir}/pkgconfig/Qt*.pc - - sed -i s#-L${STAGING_LIBDIR}#-L${libdir}#g ${D}${libdir}/libQt*.la - sed -i s#'$(OE_QMAKE_LIBS_X11)'#"${OE_QMAKE_LIBS_X11}"#g ${D}/${libdir}/libQt*.la - - install -d ${D}/${libdir}/fonts - touch ${D}/${libdir}/fonts/fontdir -} diff --git a/recipes/qt4/qt_staging.inc b/recipes/qt4/qt_staging.inc deleted file mode 100644 index 6e657317eb..0000000000 --- a/recipes/qt4/qt_staging.inc +++ /dev/null @@ -1,59 +0,0 @@ -# Fixing up some Qt .pc files -do_stage_append() { - cd ${STAGING_LIBDIR}/pkgconfig - sed -i s#"-L${S}/lib"##g Qt*.pc - sed -i s#"moc_location=${STAGING_BINDIR}/moc4$"## Qt*.pc - sed -i s#"uic_location=${STAGING_BINDIR}/uic4$"## Qt*.pc - sed -i s#"-L${STAGING_LIBDIR}"##g Qt*.pc - sed -i s#'$(OE_QMAKE_LIBS_X11)'#"${OE_QMAKE_LIBS_X11}"#g Qt*.pc - sed -i s#"-L${S}/lib"##g phonon*.pc - sed -i s#"moc_location=${STAGING_BINDIR}/moc4$"## phonon*.pc - sed -i s#"uic_location=${STAGING_BINDIR}/uic4$"## phonon*.pc - sed -i s#"-L${STAGING_LIBDIR}"##g phonon*.pc - sed -i s#'$(OE_QMAKE_LIBS_X11)'#"${OE_QMAKE_LIBS_X11}"#g phonon*.pc - - cd ${STAGING_LIBDIR} - sed -i s#"-L${S}/lib"##g libQt*.la - sed -i s#'$(OE_QMAKE_LIBS_X11)'#"${OE_QMAKE_LIBS_X11}"#g libQt*.la - - install -d ${STAGING_DATADIR}/${QT_DIR_NAME}/bin - ln -sf ${STAGING_BINDIR_NATIVE}/qmake2 ${STAGING_DATADIR}/${QT_DIR_NAME}/bin/qmake - for qttool in moc uic uic3 rcc lrelease lupdate; do - ln -sf ${STAGING_BINDIR_NATIVE}/${qttool}4 ${STAGING_DATADIR}/${QT_DIR_NAME}/bin/${qttool} - done -} - -STAGE_TEMP = "${WORKDIR}/temp-staging" -do_stage() { - rm -rf ${STAGE_TEMP} - mkdir -p ${STAGE_TEMP} - oe_runmake install INSTALL_ROOT=${STAGE_TEMP} - - install -d ${STAGING_INCDIR} - install -d ${STAGING_LIBDIR} - cp -pPRf ${STAGE_TEMP}/${includedir}/* ${STAGING_INCDIR}/ - install -d ${STAGING_DATADIR}/${QT_DIR_NAME}/mkspecs - cp -pPRf ${STAGE_TEMP}/${datadir}/${QT_DIR_NAME}/mkspecs/* ${STAGING_DATADIR}/${QT_DIR_NAME}/mkspecs/ - - for i in ${STAGE_TEMP}/${libdir}/*.la - do - sed -i s,installed=yes,installed=no, $i - sed -i -e "/^dependency_libs=/s,-L${libdir},-L${STAGING_LIBDIR},g" $i - sed -i -e "s,-L${libdir},-L${STAGING_LIBDIR},g" ${STAGE_TEMP}/${libdir}/$(basename $i .la).prl - cp -fpPR $i ${STAGING_LIBDIR} - cp -fpPR ${STAGE_TEMP}/${libdir}/$(basename $i .la).prl ${STAGING_LIBDIR} - oe_libinstall -C ${STAGE_TEMP}/${libdir} -so $(basename $i .la) ${STAGING_LIBDIR} - done - - for i in libQtAssistantClient${QT_LIBINFIX} libQtDesignerComponents${QT_LIBINFIX} libQtUiTools${QT_LIBINFIX} libQtDesigner${QT_LIBINFIX} - do - sed -i -e "s,-L${libdir},-L${STAGING_LIBDIR},g" $i.prl || true - cp ${STAGE_TEMP}/${libdir}/$i.prl ${STAGING_LIBDIR} || true - sed -i -e "/^dependency_libs=/s,-L${libdir},-L${STAGING_LIBDIR},g" $i.la || true - cp ${STAGE_TEMP}/${libdir}/$i.la ${STAGING_LIBDIR} || true - oe_libinstall -C ${STAGE_TEMP}/${libdir} -so $i ${STAGING_LIBDIR} || true - oe_libinstall -C ${STAGE_TEMP}/${libdir} -a $i ${STAGING_LIBDIR} || true - done - - rm -rf ${STAGE_TEMP} -} -- cgit v1.2.3