summaryrefslogtreecommitdiffstats
path: root/recipes/qt4/qt_packaging.inc
diff options
context:
space:
mode:
authorDenys Dmytriyenko <denis@denix.org>2009-03-17 14:32:59 -0400
committerDenys Dmytriyenko <denis@denix.org>2009-03-17 14:32:59 -0400
commit709c4d66e0b107ca606941b988bad717c0b45d9b (patch)
tree37ee08b1eb308f3b2b6426d5793545c38396b838 /recipes/qt4/qt_packaging.inc
parentfa6cd5a3b993f16c27de4ff82b42684516d433ba (diff)
downloadopenembedded-709c4d66e0b107ca606941b988bad717c0b45d9b.tar.gz
rename packages/ to recipes/ per earlier agreement
See links below for more details: http://thread.gmane.org/gmane.comp.handhelds.openembedded/21326 http://thread.gmane.org/gmane.comp.handhelds.openembedded/21816 Signed-off-by: Denys Dmytriyenko <denis@denix.org> Acked-by: Mike Westerhof <mwester@dls.net> Acked-by: Philip Balister <philip@balister.org> Acked-by: Khem Raj <raj.khem@gmail.com> Acked-by: Marcin Juszkiewicz <hrw@openembedded.org> Acked-by: Koen Kooi <koen@openembedded.org> Acked-by: Frans Meulenbroeks <fransmeulenbroeks@gmail.com>
Diffstat (limited to 'recipes/qt4/qt_packaging.inc')
-rw-r--r--recipes/qt4/qt_packaging.inc220
1 files changed, 220 insertions, 0 deletions
diff --git a/recipes/qt4/qt_packaging.inc b/recipes/qt4/qt_packaging.inc
new file mode 100644
index 0000000000..68b3a406eb
--- /dev/null
+++ b/recipes/qt4/qt_packaging.inc
@@ -0,0 +1,220 @@
+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
+}