diff options
Diffstat (limited to 'packages/qt/qt4-x11-free_4.3.0.bb')
-rw-r--r-- | packages/qt/qt4-x11-free_4.3.0.bb | 168 |
1 files changed, 168 insertions, 0 deletions
diff --git a/packages/qt/qt4-x11-free_4.3.0.bb b/packages/qt/qt4-x11-free_4.3.0.bb new file mode 100644 index 0000000000..ee4f8e4d05 --- /dev/null +++ b/packages/qt/qt4-x11-free_4.3.0.bb @@ -0,0 +1,168 @@ +SECTION = "x11/libs" +PRIORITY = "optional" +HOMEPAGE = "http://www.trolltech.com" +LICENSE = "GPL QPL" +DEPENDS = "uicmoc4-native qmake2-native freetype jpeg virtual/libx11 xft libxext libxrender libxrandr libxcursor dbus" +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" +S = "${WORKDIR}/qt-x11-opensource-src-${PV}" + +PARALLEL_MAKE = "" + +inherit qmake-base qt4x11 pkgconfig + +export QTDIR = "${S}" +STAGING_QT_DIR = "${STAGING_DIR}/${TARGET_SYS}/qt4" +EXTRA_OEMAKE = "-e" + +def qt_arch(d): + import bb, re + arch = bb.data.getVar('TARGET_ARCH', d, 1) + if re.match("^i.86$", arch): + arch = "x86" + elif re.match("^arm.*", arch): + arch = "arm" + elif arch == "x86_64": + arch = "x86" + elif arch == "mipsel": + arch = "mips" + return arch + +QT_ARCH := "${@qt_arch(d)}" + +# FIXME: +# * add missing options +QT_CONFIG_FLAGS = "-release -shared -qt-zlib -system-libjpeg -no-nas-sound -no-sm -no-libmng -qt-libpng -no-gif -no-xinerama \ + -no-tablet -no-xkb -no-nis -no-cups -no-opengl \ + -no-sse -no-sse2 -no-mmx -no-3dnow \ + -no-sql-ibase -no-sql-mysql -no-sql-odbc -no-sql-psql -no-sql-sqlite -no-sql-sqlite2 \ + -qdbus \ + -verbose -stl -no-accessibility" + +EXTRA_ENV = 'QMAKE="${STAGING_BINDIR_NATIVE}/qmake2 -after DEFINES+=QT_NO_XIM 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}/moc4" UIC="${STAGING_BINDIR_NATIVE}/uic4" MAKE="make -e"' + +do_configure() { + echo "DEFINES -= QT_NO_CAST_TO_ASCII" >>src/qbase.pri + echo "DEFINES += QT_NO_XIM" >>src/qbase.pri + unset QMAKESPEC + ln -sf ${STAGING_BINDIR_NATIVE}/qmake2 bin/qmake + ln -sf ./linux-g++ mkspecs/linux-gnueabi-g++ + #export QMAKESPEC="linux-oe-g++" + #rm -rf ./mkspecs + #ln -sf ${QMAKE_MKSPEC_PATH} ./mkspecs + echo yes | ./configure -prefix / -platform ${TARGET_OS}-g++ -crossarch ${QT_ARCH} ${QT_CONFIG_FLAGS} -fast \ + -L${STAGING_LIBDIR} -I${STAGING_INCDIR} -I${STAGING_INCDIR}/freetype2 -I${STAGING_INCDIR}/mysql +} + +# FIXME: Might want to compile the cross tools for the -dev packages as well... +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} + + # FIXME: this is not the way to go, I think. + for pc in ${S}/lib/*.pc ; do + sed -i \ + -e 's,-L${S}/lib,,g' \ + -e 's,^moc_location=.*,^moc_location=${TARGING_BINDIR}/moc4,g' \ + -e 's,^uic_location=.*,^moc_location=${TARGING_BINDIR}/uic4,g' \ + $pc + done +} + +PARTS = "3Support AssistantClient Core DBus Designer DesignerComponents Gui Network Script Sql Svg Test Xml" + +do_stage() { + oe_runmake install INSTALL_ROOT=/ + install -m 0755 ${STAGING_BINDIR_NATIVE}/rcc4 ${STAGING_QT_DIR}/bin/rcc + install -m 0755 ${STAGING_BINDIR_NATIVE}/moc4 ${STAGING_QT_DIR}/bin/moc + install -m 0755 ${STAGING_BINDIR_NATIVE}/uic4 ${STAGING_QT_DIR}/bin/uic +} + +# FIXME: Might want to call oe_runmake install INSTALL_ROOT=${D}/${prefix} as well... +# FIXME: Might want to install everything into ${libdir}/qt4/* to match the usual packing... +do_install() { + install -d ${D}${libdir} + install -d ${D}${bindir} + install -d ${D}${includedir} + for part in ${PARTS} + do + oe_libinstall -so -C lib libQt$part ${D}${libdir} + done + oe_libinstall -a -C lib libQtUiTools ${STAGING_QT_DIR} + cp -pPR include/* ${D}${includedir} + cp -pPR plugins ${D}${libdir} + cp -pPR bin/* ${D}${bindir} + + install -d ${D}${bindir}/qt4-examples + for binary in `find examples -perm 0755 -type f` + do + install -m 0755 $binary ${D}${bindir}/qt4-examples/ + done + install -d ${D}${bindir}/qt4-demos + for binary in `find demos -perm 0755 -type f` + do + install -m 0755 $binary ${D}${bindir}/qt4-demos/ + done +} + +QTPACKAGES = "libqtcore4 libqtgui4 libqtnetwork4 libqtsql4 libqtsvg4 libqttest4 libqtxml4 \ + libqtdesigner4 libqtdesignercomponents4 libqt3support4 \ + libqtassistantclient4 libqtscript4 libqtdbus4 \ + qt4-assistant qt4-common qt4-designer qt4-demos qt4-examples qt4-linguist \ + qt4-pixeltool qt4-dbus \ + qt4-plugins-accessible qt4-plugins-codecs qt4-plugins-designer qt4-plugins-imageformats qt4-plugins-sqldrivers \ + qt4-plugins-inputmethods qt4-plugins-iconengines" +PACKAGES += "${QTPACKAGES}" + +ALLOW_EMPTY = "1" +FILES_${PN} = "" +RDEPENDS_${PN} = "${QTPACKAGES}" + +FILES_libqtcore4 = "${libdir}/libQtCore.so.*" +FILES_libqtgui4 = "${libdir}/libQtGui.so.*" +FILES_libqtnetwork4 = "${libdir}/libQtNetwork.so.*" +FILES_libqtsql4 = "${libdir}/libQtSql.so.*" +FILES_libqtsvg4 = "${libdir}/libQtSvg.so.*" +FILES_libqttest4 = "${libdir}/libQtTest.so.*" +FILES_libqtxml4 = "${libdir}/libQtXml.so.*" +FILES_libqtdesigner4 = "${libdir}/libQtDesigner.so.*" +FILES_libqtdesignercomponents4 = "${libdir}/libQtDesignerComponents.so.*" +FILES_libqt3support4 = "${libdir}/libQt3Support.so.*" +FILES_libqtassistantclient4 = "${libdir}/libQtAssistantClient.so.*" +FILES_libqtscript4 = "${libdir}/libQtScript.so.*" +FILES_libqtdbus4 = "${libdir}/libQtDBus.so.*" + +FILES_qt4-plugins-accessible = "${libdir}/plugins/accessible/*.so" +FILES_qt4-plugins-codecs = "${libdir}/plugins/codecs/*.so" +FILES_qt4-plugins-designer = "${libdir}/plugins/designer/*.so" +FILES_qt4-plugins-imageformats = "${libdir}/plugins/imageformats/*.so" +FILES_qt4-plugins-sqldrivers = "${libdir}/plugins/sqldrivers/*.so" +FILES_qt4-plugins-inputmethods = "${libdir}/plugins/inputmethods/*.so" +FILES_qt4-plugins-iconengines = "${libdir}/plugins/iconengines/*.so" + +FILES_qt4-assistant = "${bindir}/*assistant*" +FILES_qt4-designer = "${bindir}/*designer*" +FILES_qt4-linguist = "${bindir}/*linguist* ${bindir}/lrelease ${bindir}/lupdate ${bindir}/qm2ts" +FILES_qt4-pixeltool = "${bindir}/pixeltool" +FILES_qt4-dbus = "${bindir}/qdbus ${bindir}/qdbusxml2cpp ${bindir}/qdbuscpp2xml ${bindir}/qdbusviewer" + +FILES_qt4-common = "${bindir}/qtconfig" +FILES_qt4-examples = "${bindir}/qt4-examples/*" +FILES_qt4-demos = "${bindir}/qtdemo ${bindir}/qt4-demos/*" + +FILES_${PN}-dev += "${bindir}/rcc ${bindir}/uic* ${bindir}/moc ${bindir}/qmake ${bindir}/syncqt \ + ${bindir}/qt3to4 ${bindir}/findtr" |