diff options
author | Holger Freyther <zecke@selfish.org> | 2007-12-23 22:35:09 +0000 |
---|---|---|
committer | Holger Freyther <zecke@selfish.org> | 2007-12-23 22:35:09 +0000 |
commit | d5133e67e43c7022e7c6f4c2ad4d9d784153758b (patch) | |
tree | 6058f480d4865f529bedd3667f8bb11bcd0260d3 /packages/qt4 | |
parent | ca4bb462deb3b86c87b0f81ad097620ccfd199f7 (diff) |
Move Qt/X11 and Qt/Embedded (known as QtopiaCore) to a qt4 directory. We will see a great unification in this directory.
Besides the name Qt/X11 and Qt/Emebedded (QtopiaCore) are the same package
with a different configure script. The aim is to share configuring, compiling,
staging and packaging between these modules and making it more easy to try a bleeding
qt snapshot.
Diffstat (limited to 'packages/qt4')
26 files changed, 1723 insertions, 0 deletions
diff --git a/packages/qt4/.mtn2git_empty b/packages/qt4/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/qt4/.mtn2git_empty diff --git a/packages/qt4/qt4-x11-free-4.1.2/.mtn2git_empty b/packages/qt4/qt4-x11-free-4.1.2/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/qt4/qt4-x11-free-4.1.2/.mtn2git_empty diff --git a/packages/qt4/qt4-x11-free-4.1.2/configurable-cpu-extensions.patch b/packages/qt4/qt4-x11-free-4.1.2/configurable-cpu-extensions.patch new file mode 100644 index 0000000000..ab943db1ff --- /dev/null +++ b/packages/qt4/qt4-x11-free-4.1.2/configurable-cpu-extensions.patch @@ -0,0 +1,34 @@ + +# +# Patch managed by http://www.holgerschurig.de/patcher.html +# + +--- qt-x11-opensource-src-4.1.1/configure~configurable-cpu-extensions ++++ qt-x11-opensource-src-4.1.1/configure +@@ -564,6 +564,12 @@ + VAL=$1 + fi + ;; ++ -nosse) ++ CFG_SSE="no" ++ ;; ++ -sse) ++ CFG_SSE="yes" ++ ;; + -iwmmxt) + CFG_IWMMXT="yes" + ;; +@@ -1759,13 +1765,6 @@ + fi + fi + +-# detect sse support +-if $unixtests/sse.test $XQMAKESPEC $OPT_VERBOSE; then +- CFG_HAVE_SSE=no +-else +- CFG_HAVE_SSE=yes +-fi +- + # check iwmmxt support + if [ "$CFG_IWMMXT" = "yes" ]; then + if ! $unixtests/iwmmxt.test $XQMAKESPEC $OPT_VERBOSE; then diff --git a/packages/qt4/qt4-x11-free-4.1.2/cross-compile.patch b/packages/qt4/qt4-x11-free-4.1.2/cross-compile.patch new file mode 100644 index 0000000000..7c8665c9c1 --- /dev/null +++ b/packages/qt4/qt4-x11-free-4.1.2/cross-compile.patch @@ -0,0 +1,159 @@ + +# +# Patch managed by http://www.holgerschurig.de/patcher.html +# + +--- qt-x11-opensource-src-4.1.1/configure~cross-compile ++++ qt-x11-opensource-src-4.1.1/configure +@@ -534,7 +534,7 @@ + UNKNOWN_ARG=yes + fi + ;; +- -prefix|-docdir|-headerdir|-plugindir|-datadir|-libdir|-bindir|-translationdir|-sysconfdir|-examplesdir|-demosdir|-depths|-make|-nomake|-platform|-xplatform|-buildkey|-sdk) ++ -prefix|-docdir|-headerdir|-plugindir|-datadir|-libdir|-bindir|-translationdir|-sysconfdir|-examplesdir|-demosdir|-depths|-make|-nomake|-platform|-xplatform|-buildkey|-sdk|-crossarch) + VAR=`echo $1 | sed "s,^-\(.*\),\1,"` + shift + VAL=$1 +@@ -845,6 +845,9 @@ + xplatform) + XPLATFORM="$VAL" + ;; ++ crossarch) ++ CROSSARCH="$VAL" ++ ;; + debug-and-release) + if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then + CFG_DEBUG_RELEASE="$VAL" +@@ -1698,131 +1701,7 @@ + echo "Determining system architecture... ($UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_MACHINE)" + fi + +-if [ "$PLATFORM" != "$XPLATFORM" -a "$CFG_EMBEDDED" != "no" ]; then +- case "$CFG_EMBEDDED" in +- x86) +- ARCH=i386 +- ;; +- x86_64) +- ARCH=x86_64 +- ;; +- ipaq|sharp) +- ARCH=arm +- ;; +- *) +- ARCH="$CFG_EMBEDDED" +- ;; +- esac +-else +- case "$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_MACHINE" in +- IRIX*:*:*) +- ARCH=`uname -p` +- if [ "$OPT_VERBOSE" = "yes" ]; then +- echo " SGI ($ARCH)" +- fi +- ;; +- SunOS:5*:*) +- case "$UNAME_MACHINE" in +- sun4u) +- if [ "$OPT_VERBOSE" = "yes" ]; then +- echo " Sun SPARC (sparc)" +- fi +- ARCH=sparc +- ;; +- i86pc) +- case "$PLATFORM" in +- *-64) +- if [ "$OPT_VERBOSE" = "yes" ]; then +- echo " 64-bit AMD 80x86 (x86_64)" +- fi +- ARCH=x86_64 +- ;; +- *) +- if [ "$OPT_VERBOSE" = "yes" ]; then +- echo " 32-bit Intel 80x86 (i386)" +- fi +- ARCH=i386 +- ;; +- esac +- esac +- ;; +- Darwin:*:*) +- case "$UNAME_MACHINE" in +- Power?Macintosh) +- if [ "$OPT_VERBOSE" = "yes" ]; then +- echo " 32-bit Apple PowerPC (powerpc)" +- fi +- ;; +- x86) +- if [ "$OPT_VERBOSE" = "yes" ]; then +- echo " 32-bit Intel 80x86 (i386)" +- fi +- ;; +- esac +- ARCH=macosx +- ;; +- AIX:*:00????????00) +- if [ "$OPT_VERBOSE" = "yes" ]; then +- echo " 64-bit IBM PowerPC (powerpc)" +- fi +- ARCH=powerpc +- ;; +- HP-UX:*:9000*) +- if [ "$OPT_VERBOSE" = "yes" ]; then +- echo " HP PA-RISC (parisc)" +- fi +- ARCH=parisc +- ;; +- *:*:i?86) +- if [ "$OPT_VERBOSE" = "yes" ]; then +- echo " 32-bit Intel 80x86 (i386)" +- fi +- ARCH=i386 +- ;; +- *:*:x86_64|*:*:amd64) +- if [ "$PLATFORM" = "linux-g++-32" ]; then +- if [ "$OPT_VERBOSE" = "yes" ]; then +- echo " 32 bit on 64-bit AMD 80x86 (i386)" +- fi +- ARCH=i386 +- else +- if [ "$OPT_VERBOSE" = "yes" ]; then +- echo " 64-bit AMD 80x86 (x86_64)" +- fi +- ARCH=x86_64 +- fi +- ;; +- *:*:ppc) +- if [ "$OPT_VERBOSE" = "yes" ]; then +- echo " 32-bit PowerPC (powerpc)" +- fi +- ARCH=powerpc +- ;; +- *:*:s390*) +- if [ "$OPT_VERBOSE" = "yes" ]; then +- echo " IBM S/390 (s390)" +- fi +- ARCH=s390 +- ;; +- *:*:*) +- if [ "$OPT_VERBOSE" = "yes" ]; then +- echo " Trying '$UNAME_MACHINE'..." +- fi +- ARCH="$UNAME_MACHINE" +- ;; +- esac +-fi +- +-if [ -d "$relpath/src/corelib/arch/$ARCH" ]; then +- if [ "$OPT_VERBOSE" = "yes" ]; then +- echo " '$ARCH' is supported" +- fi +-else +- if [ "$OPT_VERBOSE" = "yes" ]; then +- echo " '$ARCH' is unsupported, using 'generic'" +- fi +- ARCH=generic +-fi ++ARCH="$CROSSARCH" + + if [ "$OPT_VERBOSE" = "yes" ]; then + echo "System architecture: '$ARCH'" diff --git a/packages/qt4/qt4-x11-free-4.1.2/fix-asm-constraints.patch b/packages/qt4/qt4-x11-free-4.1.2/fix-asm-constraints.patch new file mode 100644 index 0000000000..93fc52d055 --- /dev/null +++ b/packages/qt4/qt4-x11-free-4.1.2/fix-asm-constraints.patch @@ -0,0 +1,16 @@ + +# +# Signed off by Michael 'Mickey' Lauer <mickey@Vanille.de> +# + +--- qt-x11-opensource-src-4.1.2/src/corelib/arch/arm/arch/qatomic.h~fix-asm-constraints ++++ qt-x11-opensource-src-4.1.2/src/corelib/arch/arm/arch/qatomic.h +@@ -32,7 +32,7 @@ + { + register int ret; + asm volatile("swpb %0,%1,[%2]" +- : "=r"(ret) ++ : "&=r"(ret) + : "r"(newval), "r"(ptr) + : "cc", "memory"); + return ret; diff --git a/packages/qt4/qt4-x11-free-4.1.2/fix-mkspecs.patch b/packages/qt4/qt4-x11-free-4.1.2/fix-mkspecs.patch new file mode 100644 index 0000000000..e927df9c7d --- /dev/null +++ b/packages/qt4/qt4-x11-free-4.1.2/fix-mkspecs.patch @@ -0,0 +1,102 @@ + +# +# Patch managed by http://www.holgerschurig.de/patcher.html +# + +--- qt-x11-opensource-src-4.1.1/mkspecs/linux-g++/qmake.conf~fix-qmakespec ++++ qt-x11-opensource-src-4.1.1/mkspecs/linux-g++/qmake.conf +@@ -8,7 +8,7 @@ + QT += core gui + QMAKE_INCREMENTAL_STYLE = sublib + +-QMAKE_CC = gcc ++QMAKE_CC = $(OE_QMAKE_CC) + QMAKE_LEX = flex + QMAKE_LEXFLAGS = + QMAKE_YACC = yacc +@@ -16,19 +16,19 @@ + QMAKE_YACCFLAGS_MANGLE = -p $base -b $base + QMAKE_YACC_HEADER = $base.tab.h + QMAKE_YACC_SOURCE = $base.tab.c +-QMAKE_CFLAGS = -pipe ++QMAKE_CFLAGS = -pipe $(OE_QMAKE_CFLAGS) + QMAKE_CFLAGS_DEPS = -M + QMAKE_CFLAGS_WARN_ON = -Wall -W + QMAKE_CFLAGS_WARN_OFF = -w +-QMAKE_CFLAGS_RELEASE = -O2 ++QMAKE_CFLAGS_RELEASE = -O2 + QMAKE_CFLAGS_DEBUG = -g + QMAKE_CFLAGS_SHLIB = -fPIC + QMAKE_CFLAGS_YACC = -Wno-unused -Wno-parentheses + QMAKE_CFLAGS_THREAD = -D_REENTRANT + QMAKE_CFLAGS_HIDESYMS = -fvisibility=hidden + +-QMAKE_CXX = g++ +-QMAKE_CXXFLAGS = $$QMAKE_CFLAGS ++QMAKE_CXX = $(OE_QMAKE_CXX) ++QMAKE_CXXFLAGS = $$QMAKE_CFLAGS $(OE_QMAKE_CXXFLAGS) + QMAKE_CXXFLAGS_DEPS = $$QMAKE_CFLAGS_DEPS + QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON + QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF +@@ -41,37 +41,37 @@ + + QMAKE_INCDIR = + QMAKE_LIBDIR = +-QMAKE_INCDIR_X11 = /usr/X11R6/include +-QMAKE_LIBDIR_X11 = /usr/X11R6/lib +-QMAKE_INCDIR_QT = $$[QT_INSTALL_HEADERS] +-QMAKE_LIBDIR_QT = $$[QT_INSTALL_LIBS] +-QMAKE_INCDIR_OPENGL = /usr/X11R6/include +-QMAKE_LIBDIR_OPENGL = /usr/X11R6/lib ++QMAKE_INCDIR_X11 = ++QMAKE_LIBDIR_X11 = ++QMAKE_INCDIR_QT = $(OE_QMAKE_INCDIR_QT) ++QMAKE_LIBDIR_QT = $(OE_QMAKE_LIBDIR_QT) ++QMAKE_INCDIR_OPENGL = ++QMAKE_LIBDIR_OPENGL = + +-QMAKE_LINK = g++ +-QMAKE_LINK_SHLIB = g++ +-QMAKE_LFLAGS = ++QMAKE_LINK = $(OE_QMAKE_LINK) ++QMAKE_LINK_SHLIB = $(OE_QMAKE_LINK) ++QMAKE_LFLAGS = $(OE_QMAKE_LDFLAGS) + QMAKE_LFLAGS_RELEASE = + QMAKE_LFLAGS_DEBUG = + QMAKE_LFLAGS_SHLIB = -shared + QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB + QMAKE_LFLAGS_SONAME = -Wl,-soname, + QMAKE_LFLAGS_THREAD = +-QMAKE_RPATH = -Wl,-rpath, ++QMAKE_RPATH = -Wl,-rpath-link, + + QMAKE_LIBS = + QMAKE_LIBS_DYNLOAD = -ldl +-QMAKE_LIBS_X11 = -lXext -lX11 -lm +-QMAKE_LIBS_X11SM = -lSM -lICE ++QMAKE_LIBS_X11 = $(OE_QMAKE_LIBS_X11) ++QMAKE_LIBS_X11SM = $(OE_QMAKE_LIBS_X11SM) + QMAKE_LIBS_NIS = -lnsl + QMAKE_LIBS_OPENGL = -lGLU -lGL + QMAKE_LIBS_OPENGL_QT = -lGL + QMAKE_LIBS_THREAD = -lpthread + +-QMAKE_MOC = $$[QT_INSTALL_BINS]/moc +-QMAKE_UIC = $$[QT_INSTALL_BINS]/uic ++QMAKE_MOC = $(OE_QMAKE_MOC) ++QMAKE_UIC = $(OE_QMAKE_UIC) + +-QMAKE_AR = ar cqs ++QMAKE_AR = $(OE_QMAKE_AR) cqs + QMAKE_RANLIB = + + QMAKE_TAR = tar -cf +@@ -83,7 +83,7 @@ + QMAKE_MOVE = mv -f + QMAKE_DEL_FILE = rm -f + QMAKE_DEL_DIR = rmdir +-QMAKE_STRIP = strip ++QMAKE_STRIP = $(OE_QMAKE_STRIP) + QMAKE_STRIPFLAGS_LIB += --strip-unneeded + QMAKE_CHK_DIR_EXISTS = test -d + QMAKE_MKDIR = mkdir -p diff --git a/packages/qt4/qt4-x11-free-4.1.2/fix-resinit-declaration.patch b/packages/qt4/qt4-x11-free-4.1.2/fix-resinit-declaration.patch new file mode 100644 index 0000000000..fcd5de6f97 --- /dev/null +++ b/packages/qt4/qt4-x11-free-4.1.2/fix-resinit-declaration.patch @@ -0,0 +1,16 @@ + +# +# Patch managed by http://www.holgerschurig.de/patcher.html +# + +--- qt-x11-opensource-src-4.1.1/src/qt3support/network/q3dns.cpp~fix-resinit-declaration ++++ qt-x11-opensource-src-4.1.1/src/qt3support/network/q3dns.cpp +@@ -30,7 +30,7 @@ + # include <netinet/in.h> + # include <arpa/nameser.h> + # include <resolv.h> +-extern "C" int res_init(); ++extern "C" int res_init() throw(); + #endif + + // POSIX Large File Support redefines open -> open64 diff --git a/packages/qt4/qt4-x11-free-4.1.2/gcc4_1.patch b/packages/qt4/qt4-x11-free-4.1.2/gcc4_1.patch new file mode 100644 index 0000000000..392aaf4f5f --- /dev/null +++ b/packages/qt4/qt4-x11-free-4.1.2/gcc4_1.patch @@ -0,0 +1,50 @@ + +# +# Patch managed by http://www.holgerschurig.de/patcher.html +# + +--- qt-x11-opensource-src-4.1.1/src/corelib/tools/qchar.h~gcc4_1.patch ++++ qt-x11-opensource-src-4.1.1/src/corelib/tools/qchar.h +@@ -219,7 +219,7 @@ + inline const char toLatin1() const; + inline const ushort unicode() const { return ucs; } + #ifdef Q_NO_PACKED_REFERENCE +- inline ushort &unicode() { return *(&ucs); } ++ inline ushort &unicode() { return *((ushort*)&ucs); } + #else + inline ushort &unicode() { return ucs; } + #endif +--- qt-x11-opensource-src-4.1.1/src/gui/kernel/qapplication_x11.cpp~gcc4_1.patch ++++ qt-x11-opensource-src-4.1.1/src/gui/kernel/qapplication_x11.cpp +@@ -1193,6 +1193,18 @@ + } + } + ++static void getXDefault(const char *group, const char *key, float *val) ++{ ++ char *str = XGetDefault(X11->display, group, key); ++ if (str) { ++ char *end = 0; ++ float v = strtod(str, &end); ++ if (str != end) ++ *val = v; ++ } ++} ++ ++ + static void getXDefault(const char *group, const char *key, bool *val) + { + char *str = XGetDefault(X11->display, group, key); +--- qt-x11-opensource-src-4.1.1/src/corelib/global/qglobal.h~gcc4_1.patch ++++ qt-x11-opensource-src-4.1.1/src/corelib/global/qglobal.h +@@ -720,8 +720,8 @@ + + #if defined(QT_COORD_TYPE) + typedef QT_COORD_TYPE qreal; +-#elif defined(__arm__) +-typedef float qreal; ++//#elif defined(__arm__) ++//typedef float qreal; + #else + typedef double qreal; + #endif diff --git a/packages/qt4/qt4-x11-free-4.1.2/no-qmake.patch b/packages/qt4/qt4-x11-free-4.1.2/no-qmake.patch new file mode 100644 index 0000000000..324f44303a --- /dev/null +++ b/packages/qt4/qt4-x11-free-4.1.2/no-qmake.patch @@ -0,0 +1,16 @@ + +# +# Patch managed by http://www.holgerschurig.de/patcher.html +# + +--- qt-x11-opensource-src-4.1.1/configure~no-qmake ++++ qt-x11-opensource-src-4.1.1/configure +@@ -2548,7 +2548,7 @@ + fi + + # build qmake +-if true; then ###[ '!' -f "$outpath/bin/qmake" ]; ++if false; then ###[ '!' -f "$outpath/bin/qmake" ]; + echo "Creating qmake. Please wait..." + + OLD_QCONFIG_H= diff --git a/packages/qt4/qt4-x11-free-4.1.2/no-tools.patch b/packages/qt4/qt4-x11-free-4.1.2/no-tools.patch new file mode 100644 index 0000000000..2bda49c9c5 --- /dev/null +++ b/packages/qt4/qt4-x11-free-4.1.2/no-tools.patch @@ -0,0 +1,16 @@ + +# +# Patch managed by http://www.holgerschurig.de/patcher.html +# + +--- qt-x11-opensource-src-4.1.1/src/src.pro~no-tools ++++ qt-x11-opensource-src-4.1.1/src/src.pro +@@ -3,7 +3,7 @@ + + # this order is important + win32:SUBDIRS += winmain +-SUBDIRS += tools/moc tools/rcc tools/uic corelib xml gui sql network svg ++SUBDIRS += corelib xml gui sql network svg + !embedded:contains(QT_CONFIG, opengl): SUBDIRS += opengl + contains(QT_CONFIG, qt3support): SUBDIRS += qt3support + !cross_compile { diff --git a/packages/qt4/qt4-x11-free-4.3.3/.mtn2git_empty b/packages/qt4/qt4-x11-free-4.3.3/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/qt4/qt4-x11-free-4.3.3/.mtn2git_empty diff --git a/packages/qt4/qt4-x11-free-4.3.3/0001-cross-compile.patch b/packages/qt4/qt4-x11-free-4.3.3/0001-cross-compile.patch new file mode 100644 index 0000000000..6e2b8e755e --- /dev/null +++ b/packages/qt4/qt4-x11-free-4.3.3/0001-cross-compile.patch @@ -0,0 +1,183 @@ +From 64210fec17ab819f21769e3e82bb26e9f2ccfdb4 Mon Sep 17 00:00:00 2001 +From: Michael Krelin <hacker@klever.net> +Date: Sun, 3 Jun 2007 18:30:37 +0200 +Subject: [PATCH] cross compile + +--- + configure | 137 ++---------------------------------------------------------- + 1 files changed, 5 insertions(+), 132 deletions(-) + +Index: qt-x11-opensource-src-4.3.2/configure +=================================================================== +--- qt-x11-opensource-src-4.3.2.orig/configure 2007-10-01 15:06:03.000000000 +0200 ++++ qt-x11-opensource-src-4.3.2/configure 2007-10-23 09:32:25.000000000 +0200 +@@ -735,7 +735,7 @@ + UNKNOWN_ARG=yes + fi + ;; +- -prefix|-docdir|-headerdir|-plugindir|-datadir|-libdir|-bindir|-translationdir|-sysconfdir|-examplesdir|-demosdir|-depths|-make|-nomake|-platform|-xplatform|-buildkey|-sdk|-arch|-mysql_config) ++ -prefix|-docdir|-headerdir|-plugindir|-datadir|-libdir|-bindir|-translationdir|-sysconfdir|-examplesdir|-demosdir|-depths|-make|-nomake|-platform|-xplatform|-buildkey|-sdk|-arch|-mysql_config|-crossarch) + VAR=`echo $1 | sed "s,^-\(.*\),\1,"` + shift + VAL="$1" +@@ -1124,6 +1124,9 @@ + xplatform) + XPLATFORM="$VAL" + ;; ++ crossarch) ++ CROSSARCH="$VAL" ++ ;; + debug-and-release) + if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then + CFG_DEBUG_RELEASE="$VAL" +@@ -2119,149 +2122,7 @@ + echo "Determining system architecture... ($UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_MACHINE)" + fi + +-if [ "$PLATFORM" != "$XPLATFORM" -a "$CFG_EMBEDDED" != "no" ]; then +- case "$CFG_EMBEDDED" in +- x86) +- ARCH=i386 +- ;; +- x86_64) +- ARCH=x86_64 +- ;; +- ipaq|sharp) +- ARCH=arm +- ;; +- *) +- ARCH="$CFG_EMBEDDED" +- ;; +- esac +-else +- case "$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_MACHINE" in +- IRIX*:*:*) +- ARCH=`uname -p` +- if [ "$OPT_VERBOSE" = "yes" ]; then +- echo " SGI ($ARCH)" +- fi +- ;; +- SunOS:5*:*) +- case "$UNAME_MACHINE" in +- sun4u*|sun4v*) +- if [ "$OPT_VERBOSE" = "yes" ]; then +- echo " Sun SPARC (sparc)" +- fi +- ARCH=sparc +- ;; +- i86pc) +- case "$PLATFORM" in +- *-64) +- if [ "$OPT_VERBOSE" = "yes" ]; then +- echo " 64-bit AMD 80x86 (x86_64)" +- fi +- ARCH=x86_64 +- ;; +- *) +- if [ "$OPT_VERBOSE" = "yes" ]; then +- echo " 32-bit Intel 80x86 (i386)" +- fi +- ARCH=i386 +- ;; +- esac +- esac +- ;; +- Darwin:*:*) +- case "$UNAME_MACHINE" in +- Power?Macintosh) +- if [ "$OPT_VERBOSE" = "yes" ]; then +- echo " 32-bit Apple PowerPC (powerpc)" +- fi +- ;; +- x86) +- if [ "$OPT_VERBOSE" = "yes" ]; then +- echo " 32-bit Intel 80x86 (i386)" +- fi +- ;; +- esac +- ARCH=macosx +- ;; +- AIX:*:00????????00) +- if [ "$OPT_VERBOSE" = "yes" ]; then +- echo " 64-bit IBM PowerPC (powerpc)" +- fi +- ARCH=powerpc +- ;; +- HP-UX:*:9000*) +- if [ "$OPT_VERBOSE" = "yes" ]; then +- echo " HP PA-RISC (parisc)" +- fi +- ARCH=parisc +- ;; +- *:*:i?86) +- if [ "$OPT_VERBOSE" = "yes" ]; then +- echo " 32-bit Intel 80x86 (i386)" +- fi +- ARCH=i386 +- ;; +- *:*:x86_64|*:*:amd64) +- if [ "$PLATFORM" = "linux-g++-32" -o "$PLATFORM" = "linux-icc-32" ]; then +- if [ "$OPT_VERBOSE" = "yes" ]; then +- echo " 32 bit on 64-bit AMD 80x86 (i386)" +- fi +- ARCH=i386 +- else +- if [ "$OPT_VERBOSE" = "yes" ]; then +- echo " 64-bit AMD 80x86 (x86_64)" +- fi +- ARCH=x86_64 +- fi +- ;; +- *:*:ppc) +- if [ "$OPT_VERBOSE" = "yes" ]; then +- echo " 32-bit PowerPC (powerpc)" +- fi +- ARCH=powerpc +- ;; +- *:*:ppc64) +- if [ "$OPT_VERBOSE" = "yes" ]; then +- echo " 64-bit PowerPC (powerpc)" +- fi +- ARCH=powerpc +- ;; +- *:*:s390*) +- if [ "$OPT_VERBOSE" = "yes" ]; then +- echo " IBM S/390 (s390)" +- fi +- ARCH=s390 +- ;; +- *:*:arm*) +- if [ "$OPT_VERBOSE" = "yes" ]; then +- echo " ARM (arm)" +- fi +- ARCH=arm +- ;; +- Linux:*:sparc*) +- if [ "$OPT_VERBOSE" = "yes" ]; then +- echo " Linux on SPARC" +- fi +- ARCH=sparc +- ;; +- *:*:*) +- if [ "$OPT_VERBOSE" = "yes" ]; then +- echo " Trying '$UNAME_MACHINE'..." +- fi +- ARCH="$UNAME_MACHINE" +- ;; +- esac +-fi +- +-if [ -d "$relpath/src/corelib/arch/$ARCH" ]; then +- if [ "$OPT_VERBOSE" = "yes" ]; then +- echo " '$ARCH' is supported" +- fi +-else +- if [ "$OPT_VERBOSE" = "yes" ]; then +- echo " '$ARCH' is unsupported, using 'generic'" +- fi +- ARCH=generic +-fi ++ARCH="$CROSSARCH" + + if [ "$OPT_VERBOSE" = "yes" ]; then + echo "System architecture: '$ARCH'" diff --git a/packages/qt4/qt4-x11-free-4.3.3/0002-fix-resinit-declaration.patch b/packages/qt4/qt4-x11-free-4.3.3/0002-fix-resinit-declaration.patch new file mode 100644 index 0000000000..e479a64a2b --- /dev/null +++ b/packages/qt4/qt4-x11-free-4.3.3/0002-fix-resinit-declaration.patch @@ -0,0 +1,25 @@ +From acfeb18aa94bad6b2066e91cd15570889baaa252 Mon Sep 17 00:00:00 2001 +From: Michael Krelin <hacker@klever.net> +Date: Sat, 2 Jun 2007 16:04:01 +0200 +Subject: [PATCH] fix resinit declaration + +--- + src/qt3support/network/q3dns.cpp | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/src/qt3support/network/q3dns.cpp b/src/qt3support/network/q3dns.cpp +index 9bc7b16..bfc333e 100644 +--- a/src/qt3support/network/q3dns.cpp ++++ b/src/qt3support/network/q3dns.cpp +@@ -30,7 +30,7 @@ + # include <netinet/in.h> + # include <arpa/nameser.h> + # include <resolv.h> +-extern "C" int res_init(); ++extern "C" int res_init() throw(); + #endif + + // POSIX Large File Support redefines open -> open64 +-- +1.5.0.7 + diff --git a/packages/qt4/qt4-x11-free-4.3.3/0003-no-tools.patch b/packages/qt4/qt4-x11-free-4.3.3/0003-no-tools.patch new file mode 100644 index 0000000000..5412c90377 --- /dev/null +++ b/packages/qt4/qt4-x11-free-4.3.3/0003-no-tools.patch @@ -0,0 +1,25 @@ +From 03cbda241413e4ae727b2a92ff452162aa7ad440 Mon Sep 17 00:00:00 2001 +From: Michael Krelin <hacker@klever.net> +Date: Sat, 2 Jun 2007 16:06:01 +0200 +Subject: [PATCH] no tools + +--- + src/src.pro | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/src/src.pro b/src/src.pro +index 6e08180..957d3dc 100644 +--- a/src/src.pro ++++ b/src/src.pro +@@ -3,7 +3,7 @@ TEMPLATE = subdirs + # this order is important + unset(SRC_SUBDIRS) + win32:SRC_SUBDIRS += src_winmain +-SRC_SUBDIRS += src_tools_moc src_tools_rcc src_tools_uic src_corelib src_xml src_gui src_sql src_network src_svg src_script ++SRC_SUBDIRS += src_corelib src_xml src_gui src_sql src_network src_svg src_script + contains(QT_CONFIG, opengl): SRC_SUBDIRS += src_opengl + contains(QT_CONFIG, qt3support): SRC_SUBDIRS += src_qt3support + !cross_compile { +-- +1.5.0.7 + diff --git a/packages/qt4/qt4-x11-free-4.3.3/0004-no-qmake.patch b/packages/qt4/qt4-x11-free-4.3.3/0004-no-qmake.patch new file mode 100644 index 0000000000..359f6df9d5 --- /dev/null +++ b/packages/qt4/qt4-x11-free-4.3.3/0004-no-qmake.patch @@ -0,0 +1,25 @@ +From f5a73ce944240de9013cc23288c115e8213add5e Mon Sep 17 00:00:00 2001 +From: Michael Krelin <hacker@klever.net> +Date: Sat, 2 Jun 2007 16:06:59 +0200 +Subject: [PATCH] no qmake + +--- + configure | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/configure b/configure +index b3c2a52..1901e57 100755 +--- a/configure ++++ b/configure +@@ -3271,7 +3271,7 @@ END { + } + + # build qmake +-if true; then ###[ '!' -f "$outpath/bin/qmake" ]; ++if false; then ###[ '!' -f "$outpath/bin/qmake" ]; + echo "Creating qmake. Please wait..." + + OLD_QCONFIG_H= +-- +1.5.0.7 + diff --git a/packages/qt4/qt4-x11-free-4.3.3/0005-fix-mkspecs.patch b/packages/qt4/qt4-x11-free-4.3.3/0005-fix-mkspecs.patch new file mode 100644 index 0000000000..93692699dc --- /dev/null +++ b/packages/qt4/qt4-x11-free-4.3.3/0005-fix-mkspecs.patch @@ -0,0 +1,123 @@ +From aa0377910cfd8d0fce6bdc9355994a4e267b1696 Mon Sep 17 00:00:00 2001 +From: Michael Krelin <hacker@klever.net> +Date: Sat, 2 Jun 2007 16:39:58 +0200 +Subject: [PATCH] fix mkspecs + +--- + mkspecs/common/g++.conf | 18 +++++++++--------- + mkspecs/common/linux.conf | 26 +++++++++++++------------- + 2 files changed, 22 insertions(+), 22 deletions(-) + +diff --git a/mkspecs/common/g++.conf b/mkspecs/common/g++.conf +index f5a5c8e..4007c7e 100644 +--- a/mkspecs/common/g++.conf ++++ b/mkspecs/common/g++.conf +@@ -2,12 +2,12 @@ + # qmake configuration for common gcc + # + +-QMAKE_CC = gcc +-QMAKE_CFLAGS += -pipe ++QMAKE_CC = $(OE_QMAKE_CC) ++QMAKE_CFLAGS += -pipe $(OE_QMAKE_CFLAGS) + QMAKE_CFLAGS_DEPS += -M + QMAKE_CFLAGS_WARN_ON += -Wall -W + QMAKE_CFLAGS_WARN_OFF += -w +-QMAKE_CFLAGS_RELEASE += -O2 ++QMAKE_CFLAGS_RELEASE += -O2 + QMAKE_CFLAGS_DEBUG += -g + QMAKE_CFLAGS_SHLIB += -fPIC + QMAKE_CFLAGS_STATIC_LIB += -fPIC +@@ -16,8 +16,8 @@ QMAKE_CFLAGS_HIDESYMS += -fvisibility=hidden + QMAKE_CFLAGS_PRECOMPILE += -x c-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT} + QMAKE_CFLAGS_USE_PRECOMPILE += -include ${QMAKE_PCH_OUTPUT_BASE} + +-QMAKE_CXX = g++ +-QMAKE_CXXFLAGS += $$QMAKE_CFLAGS ++QMAKE_CXX = $(OE_QMAKE_CXX) ++QMAKE_CXXFLAGS += $$QMAKE_CFLAGS $(OE_QMAKE_CXXFLAGS) + QMAKE_CXXFLAGS_DEPS += $$QMAKE_CFLAGS_DEPS + QMAKE_CXXFLAGS_WARN_ON += $$QMAKE_CFLAGS_WARN_ON + QMAKE_CXXFLAGS_WARN_OFF += $$QMAKE_CFLAGS_WARN_OFF +@@ -30,9 +30,9 @@ QMAKE_CXXFLAGS_HIDESYMS += $$QMAKE_CFLAGS_HIDESYMS -fvisibility-inlines-hidden + QMAKE_CXXFLAGS_PRECOMPILE += -x c++-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT} + QMAKE_CXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE + +-QMAKE_LINK = g++ +-QMAKE_LINK_SHLIB = g++ +-QMAKE_LFLAGS += ++QMAKE_LINK = $(OE_QMAKE_LINK) ++QMAKE_LINK_SHLIB = $(OE_QMAKE_LINK) ++QMAKE_LFLAGS += $(OE_QMAKE_LDFLAGS) + QMAKE_LFLAGS_RELEASE += + QMAKE_LFLAGS_DEBUG += + QMAKE_LFLAGS_APP += +@@ -40,7 +40,7 @@ QMAKE_LFLAGS_SHLIB += -shared + QMAKE_LFLAGS_PLUGIN += $$QMAKE_LFLAGS_SHLIB + QMAKE_LFLAGS_SONAME += -Wl,-soname, + QMAKE_LFLAGS_THREAD += +-QMAKE_RPATH = -Wl,-rpath, ++QMAKE_RPATH = -Wl,-rpath-link, + + QMAKE_PCH_OUTPUT_EXT = .gch + +diff --git a/mkspecs/common/linux.conf b/mkspecs/common/linux.conf +index 3796a87..52acf16 100644 +--- a/mkspecs/common/linux.conf ++++ b/mkspecs/common/linux.conf +@@ -7,26 +7,26 @@ QMAKE_CXXFLAGS_THREAD += $$QMAKE_CFLAGS_THREAD + + QMAKE_INCDIR = + QMAKE_LIBDIR = +-QMAKE_INCDIR_X11 = /usr/X11R6/include +-QMAKE_LIBDIR_X11 = /usr/X11R6/lib +-QMAKE_INCDIR_QT = $$[QT_INSTALL_HEADERS] +-QMAKE_LIBDIR_QT = $$[QT_INSTALL_LIBS] +-QMAKE_INCDIR_OPENGL = /usr/X11R6/include +-QMAKE_LIBDIR_OPENGL = /usr/X11R6/lib ++QMAKE_INCDIR_X11 = ++QMAKE_LIBDIR_X11 = ++QMAKE_INCDIR_QT = $(OE_QMAKE_INCDIR_QT) ++QMAKE_LIBDIR_QT = $(OE_QMAKE_LIBDIR_QT) ++QMAKE_INCDIR_OPENGL = ++QMAKE_LIBDIR_OPENGL = + + QMAKE_LIBS = + QMAKE_LIBS_DYNLOAD = -ldl +-QMAKE_LIBS_X11 = -lXext -lX11 -lm +-QMAKE_LIBS_X11SM = -lSM -lICE ++QMAKE_LIBS_X11 = $(OE_QMAKE_LIBS_X11) ++QMAKE_LIBS_X11SM = $(OE_QMAKE_LIBS_X11SM) + QMAKE_LIBS_NIS = -lnsl + QMAKE_LIBS_OPENGL = -lGLU -lGL + QMAKE_LIBS_OPENGL_QT = -lGL + QMAKE_LIBS_THREAD = -lpthread + +-QMAKE_MOC = $$[QT_INSTALL_BINS]/moc +-QMAKE_UIC = $$[QT_INSTALL_BINS]/uic ++QMAKE_MOC = $(OE_QMAKE_MOC) ++QMAKE_UIC = $(OE_QMAKE_UIC) + +-QMAKE_AR = ar cqs ++QMAKE_AR = $(OE_QMAKE_AR) cqs + QMAKE_RANLIB = + + QMAKE_TAR = tar -cf +@@ -38,11 +38,11 @@ QMAKE_COPY_DIR = $(COPY) -r + QMAKE_MOVE = mv -f + QMAKE_DEL_FILE = rm -f + QMAKE_DEL_DIR = rmdir +-QMAKE_STRIP = strip ++QMAKE_STRIP = $(OE_QMAKE_STRIP) + QMAKE_STRIPFLAGS_LIB += --strip-unneeded + QMAKE_CHK_DIR_EXISTS = test -d + QMAKE_MKDIR = mkdir -p + QMAKE_INSTALL_FILE = install -m 644 -p + QMAKE_INSTALL_PROGRAM = install -m 755 -p + +-include(unix.conf) +\ No newline at end of file ++include(unix.conf) +-- +1.5.0.7 + diff --git a/packages/qt4/qt4-x11-free-4.3.3/0006-freetype-host-includes.patch b/packages/qt4/qt4-x11-free-4.3.3/0006-freetype-host-includes.patch new file mode 100644 index 0000000000..cc8e115fee --- /dev/null +++ b/packages/qt4/qt4-x11-free-4.3.3/0006-freetype-host-includes.patch @@ -0,0 +1,23 @@ +From c9ab62bd9a56643574b3ae6e59e0ca776d4860d2 Mon Sep 17 00:00:00 2001 +From: Michael Krelin <hacker@klever.net> +Date: Mon, 4 Jun 2007 14:48:50 +0200 +Subject: [PATCH] freetype host includes + +--- + config.tests/unix/freetype/freetype.pri | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/config.tests/unix/freetype/freetype.pri b/config.tests/unix/freetype/freetype.pri +index 84974bf..ab9a6f2 100644 +--- a/config.tests/unix/freetype/freetype.pri ++++ b/config.tests/unix/freetype/freetype.pri +@@ -1,5 +1,5 @@ + !cross_compile { +- TRY_INCLUDEPATHS = /include /usr/include $$QMAKE_INCDIR $$QMAKE_INCDIR_X11 $$INCLUDEPATH ++ TRY_INCLUDEPATHS = $$QMAKE_INCDIR $$QMAKE_INCDIR_X11 $$INCLUDEPATH + for(p, TRY_INCLUDEPATHS) { + p = $$join(p, "", "", "/freetype2") + exists($$p):INCLUDEPATH *= $$p +-- +1.5.0.7 + diff --git a/packages/qt4/qt4-x11-free-4.3.3/0007-openssl-host-includes.patch b/packages/qt4/qt4-x11-free-4.3.3/0007-openssl-host-includes.patch new file mode 100644 index 0000000000..35b71d9694 --- /dev/null +++ b/packages/qt4/qt4-x11-free-4.3.3/0007-openssl-host-includes.patch @@ -0,0 +1,23 @@ +From d45943adb443ad4b85ca4504952dee743c675e1e Mon Sep 17 00:00:00 2001 +From: Michael Krelin <hacker@klever.net> +Date: Mon, 4 Jun 2007 14:58:34 +0200 +Subject: [PATCH] openssl host includes + +--- + config.tests/unix/openssl/openssl.pri | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/config.tests/unix/openssl/openssl.pri b/config.tests/unix/openssl/openssl.pri +index 756e5fe..19b4061 100644 +--- a/config.tests/unix/openssl/openssl.pri ++++ b/config.tests/unix/openssl/openssl.pri +@@ -1,5 +1,5 @@ + !cross_compile { +- TRY_INCLUDEPATHS = /include /usr/include /usr/local/include $$QMAKE_INCDIR $$INCLUDEPATH ++ TRY_INCLUDEPATHS = $$QMAKE_INCDIR $$INCLUDEPATH + for(p, TRY_INCLUDEPATHS) { + pp = $$join(p, "", "", "/openssl") + exists($$pp):INCLUDEPATH *= $$p +-- +1.5.0.7 + diff --git a/packages/qt4/qt4-x11-free_4.1.2.bb b/packages/qt4/qt4-x11-free_4.1.2.bb new file mode 100644 index 0000000000..77fa6dba12 --- /dev/null +++ b/packages/qt4/qt4-x11-free_4.1.2.bb @@ -0,0 +1,141 @@ +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" +PROVIDES = "qt4x11" +PR = "r1" + +SRC_URI = "ftp://ftp.trolltech.com/qt/source/qt-x11-opensource-src-${PV}.tar.gz \ + file://cross-compile.patch;patch=1 \ + file://fix-resinit-declaration.patch;patch=1 \ + file://no-tools.patch;patch=1 \ + file://no-qmake.patch;patch=1 \ + file://gcc4_1.patch;patch=1 \ + file://configurable-cpu-extensions.patch;patch=1 \ + file://fix-mkspecs.patch;patch=1 \ + file://fix-asm-constraints.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" + +require qt4_arch.inc + +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 \ + -nosse \ + -no-sql-ibase -no-sql-mysql -no-sql-odbc -no-sql-psql -no-sql-sqlite -no-sql-sqlite2 \ + -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} +} + +PARTS = "3Support Core Designer DesignerComponents Gui Network Sql Svg Test Xml" + +do_stage() { + oe_runmake install INSTALL_ROOT=/ + install -d ${STAGING_QT_DIR} + 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} + for part in ${PARTS} + do + oe_libinstall -so -C lib libQt$part ${D}${libdir} + done + oe_libinstall -a -C lib libQtAssistantClient ${STAGING_QT_DIR} + cp -pPR include/* ${D}${incdir} + 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 +} + +PACKAGES =+ "libqtcore4 libqtgui4 libqtnetwork4 libqtsql4 libqtsvg4 libqttest4 libqtxml4 \ + libqtdesigner4 libqtdesignercomponents4 libqt3support4 \ + qt4-assistant qt4-common qt4-designer qt4-demos qt4-examples qt4-linguist \ + qt4-plugins-accessible qt4-plugins-codecs qt4-plugins-designer qt4-plugins-imageformats qt4-plugins-sqldrivers" + +ALLOW_EMPTY = "1" +FILES_${PN} = "" +RDEPENDS_${PN} = "${PACKAGES}" + +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_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-assistant = "${bindir}/*assistant*" +FILES_qt4-designer = "${bindir}/*designer*" +FILES_qt4-linguist = "${bindir}/*linguist* ${bindir}/lrelease ${bindir}/lupdate ${bindir}/qm2ts" + +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" diff --git a/packages/qt4/qt4-x11-free_4.3.3.bb b/packages/qt4/qt4-x11-free_4.3.3.bb new file mode 100644 index 0000000000..2fa53a4d54 --- /dev/null +++ b/packages/qt4/qt4-x11-free_4.3.3.bb @@ -0,0 +1,187 @@ +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 = "pkgconfig-native uicmoc4-native qmake2-native freetype jpeg virtual/libx11 \ + xft libxext libxrender libxrandr libxcursor dbus openssl" +RDEPENDS_${PN} = "${NONDEV_PACKAGES}" +PROVIDES = "qt4x11" +PR = "r6" + +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" +S = "${WORKDIR}/qt-x11-opensource-src-${PV}" + +PARALLEL_MAKE = "" + +inherit qmake_base qt4x11 + +export QTDIR = "${S}" +STAGING_QT_DIR = "${STAGING_DIR}/${TARGET_SYS}/qt4" +EXTRA_OEMAKE = "-e" + +require qt4_arch.inc + +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 \ + -pch -no-glib" + +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 -s linux-g++ mkspecs/${TARGET_OS}-oe-g++ + #export QMAKESPEC="linux-oe-g++" + #rm -rf ./mkspecs + #ln -sf ${QMAKE_MKSPEC_PATH} ./mkspecs + echo yes | ./configure -prefix / -platform ${TARGET_OS}-oe-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} +} + +PARTS = "3Support AssistantClient Core DBus Designer DesignerComponents Gui Network Script Sql Svg Test Xml" + +do_stage() { + oe_runmake install INSTALL_ROOT=/ + install -d ${STAGING_QT_DIR} + 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 + sed -i -e 's,^QMAKE_RPATHDIR.*,QMAKE_RPATHDIR=${STAGING_QT_DIR}/lib,g' ${STAGING_QT_DIR}/mkspecs/qconfig.pri + for pcc in AssistantClient DBus Test UiTools ; do + sed -i -e 's,${S}/lib,${STAGING_QT_DIR}/lib,g' ${STAGING_QT_DIR}/lib/pkgconfig/Qt${pcc}.pc + done + install -d ${PKG_CONFIG_DIR}/ + for pc in ${STAGING_QT_DIR}/lib/pkgconfig/*.pc ; do + sed -i -e 's,$(OE_QMAKE_LIBS_X11),-lX11 -lXext,g' $pc + install -m 0644 $pc ${PKG_CONFIG_DIR}/ + done +} + +# 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 ${D}${libdir} + 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 + rm ${D}${bindir}/rcc ${D}${bindir}/uic ${D}${bindir}/moc +} + +NONDEV_PACKAGES = "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 += "libqtcore4-dev libqtgui4-dev libqtnetwork4-dev libqtsql4-dev libqtsvg4-dev libqttest4-dev \ + libqtxml4-dev libqtdesigner4-dev libqtdesignercomponents4-dev libqt3support4-dev \ + libqtassistantclient4-dev libqtscript4-dev libqtdbus4-dev \ + ${NONDEV_PACKAGES}" + +ALLOW_EMPTY = "1" +FILES_${PN} = "" + +FILES_libqtcore4 = "${libdir}/libQtCore.so.*" +FILES_libqtcore4-dev = "${libdir}/libQtCore.so" +FILES_libqtgui4 = "${libdir}/libQtGui.so.*" +FILES_libqtgui4-dev = "${libdir}/libQtGui.so" +FILES_libqtnetwork4 = "${libdir}/libQtNetwork.so.*" +FILES_libqtnetwork4-dev = "${libdir}/libQtNetwork.so" +FILES_libqtsql4 = "${libdir}/libQtSql.so.*" +FILES_libqtsql4-dev = "${libdir}/libQtSql.so" +FILES_libqtsvg4 = "${libdir}/libQtSvg.so.*" +FILES_libqtsvg4-dev = "${libdir}/libQtSvg.so" +FILES_libqttest4 = "${libdir}/libQtTest.so.*" +FILES_libqttest4-dev = "${libdir}/libQtTest.so" +FILES_libqtxml4 = "${libdir}/libQtXml.so.*" +FILES_libqtxml4-dev = "${libdir}/libQtXml.so" +FILES_libqtdesigner4 = "${libdir}/libQtDesigner.so.*" +FILES_libqtdesigner4-dev = "${libdir}/libQtDesigner.so" +FILES_libqtdesignercomponents4 = "${libdir}/libQtDesignerComponents.so.*" +FILES_libqtdesignercomponents4-dev = "${libdir}/libQtDesignerComponents.so" +FILES_libqt3support4 = "${libdir}/libQt3Support.so.*" +FILES_libqt3support4-dev = "${libdir}/libQt3Support.so" +FILES_libqtassistantclient4 = "${libdir}/libQtAssistantClient.so.*" +FILES_libqtassistantclient4-dev = "${libdir}/libQtAssistantClient.so" +FILES_libqtscript4 = "${libdir}/libQtScript.so.*" +FILES_libqtscript4-dev = "${libdir}/libQtScript.so" +FILES_libqtdbus4 = "${libdir}/libQtDBus.so.*" +FILES_libqtdbus4-dev = "${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" +FILES_${PN}-dbg += "${bindir}/*/.debug ${plugindir}/.debug" diff --git a/packages/qt4/qt4_arch.inc b/packages/qt4/qt4_arch.inc new file mode 100644 index 0000000000..6dcbd2bc4a --- /dev/null +++ b/packages/qt4/qt4_arch.inc @@ -0,0 +1,13 @@ +def qt_arch(d): + import bb, re + arch = bb.data.getVar('TARGET_ARCH', d, 1) + if re.match("^i.86$", arch): + arch = "i386" + elif re.match("^arm.*", arch): + arch = "arm" + elif arch == "x86_64": + arch = "x86" + elif arch == "mipsel": + arch = "mips" + return arch + diff --git a/packages/qt4/qte-functions.inc b/packages/qt4/qte-functions.inc new file mode 100644 index 0000000000..f0ffb0e612 --- /dev/null +++ b/packages/qt4/qte-functions.inc @@ -0,0 +1,11 @@ +def qte_arch(d): + import bb, re + arch = bb.data.getVar('TARGET_ARCH', d, 1) + if re.match("^i.86$", arch): + arch = "x86" + elif arch == "x86_64": + arch = "x86" + elif arch == "mipsel": + arch = "mips" + return arch + diff --git a/packages/qt4/qtopia-core/.mtn2git_empty b/packages/qt4/qtopia-core/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/qt4/qtopia-core/.mtn2git_empty diff --git a/packages/qt4/qtopia-core/linux-oe-qmake.conf b/packages/qt4/qtopia-core/linux-oe-qmake.conf new file mode 100644 index 0000000000..fc5ac6dc5c --- /dev/null +++ b/packages/qt4/qtopia-core/linux-oe-qmake.conf @@ -0,0 +1,95 @@ +# +# qmake configuration for linux-oe-g++ / OpenEmbedded Build System / http://openembedded.org +# + +MAKEFILE_GENERATOR = UNIX +TEMPLATE = app +CONFIG += qt warn_on release link_prl +QT += core gui network +QMAKE_INCREMENTAL_STYLE = sublib + +QMAKE_CC = $(OE_QMAKE_CC) +QMAKE_LEX = flex +QMAKE_LEXFLAGS = +QMAKE_YACC = yacc +QMAKE_YACCFLAGS = -d +QMAKE_YACCFLAGS_MANGLE = -p $base -b $base +QMAKE_YACC_HEADER = $base.tab.h +QMAKE_YACC_SOURCE = $base.tab.c +QMAKE_CFLAGS = -pipe $(OE_QMAKE_CFLAGS) $(CFLAGS_EXTRA) +QMAKE_CFLAGS_DEPS = -M +QMAKE_CFLAGS_WARN_ON = -Wall -W +QMAKE_CFLAGS_WARN_OFF = +QMAKE_CFLAGS_RELEASE = $(if $(CFLAGS_RELEASE),$(CFLAGS_RELEASE), -O2) +QMAKE_CFLAGS_DEBUG = -g +QMAKE_CFLAGS_SHLIB = -fPIC +QMAKE_CFLAGS_YACC = -Wno-unused -Wno-parentheses +QMAKE_CFLAGS_THREAD = -D_REENTRANT +QMAKE_CFLAGS_HIDESYMS = -fvisibility=hidden + +QMAKE_CXX = $(OE_QMAKE_CXX) +QMAKE_CXXFLAGS = $$QMAKE_CFLAGS $(OE_QMAKE_CXXFLAGS) $(CXXFLAGS_EXTRA) +QMAKE_CXXFLAGS_DEPS = $$QMAKE_CFLAGS_DEPS +QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON +QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF +QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE +QMAKE_CXXFLAGS_DEBUG = $$QMAKE_CFLAGS_DEBUG +QMAKE_CXXFLAGS_SHLIB = $$QMAKE_CFLAGS_SHLIB +QMAKE_CXXFLAGS_YACC = $$QMAKE_CFLAGS_YACC +QMAKE_CXXFLAGS_THREAD = $$QMAKE_CFLAGS_THREAD +QMAKE_CXXFLAGS_HIDESYMS = $$QMAKE_CFLAGS_HIDESYMS -fvisibility-inlines-hidden + +QMAKE_INCDIR = +QMAKE_LIBDIR = +QMAKE_INCDIR_X11 = +QMAKE_LIBDIR_X11 = +QMAKE_INCDIR_QT = $(OE_QMAKE_INCDIR_QT) +QMAKE_LIBDIR_QT = $(OE_QMAKE_LIBDIR_QT) +QMAKE_INCDIR_OPENGL = +QMAKE_LIBDIR_OPENGL = +QMAKE_INCDIR_QTOPIA = $(OE_QMAKE_INCDIR_QTOPIA) +QMAKE_LIBDIR_QTOPIA = $(OE_QMAKE_LIBDIR_QTOPIA) + + +QMAKE_LINK = $(OE_QMAKE_LINK) +QMAKE_LINK_SHLIB = $(OE_QMAKE_LINK) +QMAKE_LFLAGS = $(OE_QMAKE_LDFLAGS) $(LFLAGS_EXTRA) +QMAKE_LFLAGS_RELEASE = +QMAKE_LFLAGS_DEBUG = +QMAKE_LFLAGS_SHLIB = -shared +QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB +QMAKE_LFLAGS_SONAME = -Wl,-soname, +QMAKE_LFLAGS_THREAD = +QMAKE_RPATH = -Wl,-rpath-link, + +QMAKE_LIBS = $(LIBS_EXTRA) +QMAKE_LIBS_DYNLOAD = -ldl +QMAKE_LIBS_X11 = +QMAKE_LIBS_X11SM = +QMAKE_LIBS_QT = -lqte +QMAKE_LIBS_QT_THREAD = -lqte-mt +QMAKE_LIBS_QT_OPENGL = -lqgl +QMAKE_LIBS_THREAD = -lpthread +QMAKE_LIBS_QTOPIA = -lqpe -lqtopia +QMAKE_LIBS_THREAD = -lpthread + +QMAKE_MOC = $$[QT_INSTALL_BINS]/moc +QMAKE_UIC = $$[QT_INSTALL_BINS]/uic + +QMAKE_AR = $(OE_QMAKE_AR) cqs +QMAKE_RANLIB = $(OE_QMAKE_RANLIB) + +QMAKE_TAR = tar -cf +QMAKE_GZIP = gzip -9f + +QMAKE_COPY = cp -f +QMAKE_COPY_FILE = $(COPY) +QMAKE_COPY_DIR = $(COPY) -r +QMAKE_MOVE = mv -f +QMAKE_DEL_FILE = rm -f +QMAKE_DEL_DIR = rmdir +QMAKE_STRIP = $(OE_QMAKE_STRIP) +QMAKE_STRIPFLAGS_LIB += --strip-unneeded +QMAKE_CHK_DIR_EXISTS = test -d +QMAKE_MKDIR = mkdir -p +load(qt_config) diff --git a/packages/qt4/qtopia-core_4.2.0.bb b/packages/qt4/qtopia-core_4.2.0.bb new file mode 100644 index 0000000000..509230f3ea --- /dev/null +++ b/packages/qt4/qtopia-core_4.2.0.bb @@ -0,0 +1,218 @@ +DESCRIPTION = "Qtopia Core (aka: Qt/Embedded)" +SECTION = "libs" +LICENSE = "GPL" +PRIORITY = "optional" +HOMEPAGE = "http://www.trolltech.com" +DEPENDS = "glib-2.0 freetype dbus-glib tslib" + +PR = "r2" + +SRC_URI = "ftp://ftp.trolltech.com/qt/source/qtopia-core-opensource-src-${PV}.tar.gz \ + file://linux-oe-qmake.conf" + +S = "${WORKDIR}/qtopia-core-opensource-src-${PV}" + +inherit pkgconfig + +# I'm not sure about the globals QTDIR and QTOPIADIR, or if they're even +# needed. On the same issue, I'm not sure what the best place for all the +# Qtopia Core related files is. For now, I've just put the libraries in +# ${libdir}, the includes in ${includedir} etc. Other possibilities are +# to sandbox everything (e.g., in /usr/local/Trolltech or /opt/Qtopia oslt), +# or to put libraries in /usr/lib/qtopia (or /usr/lib/qt4) etc. As said, +# I'm fine with this, but I'm also fine with another solution. + +# set QTDIR and QTOPIADIR globally (change QTOPIA dir to QTDIR?) +# This should be the default for other packages: +# export QTDIR = "${STAGING_DIR}/${HOST_SYS}/qt4" +# export QTOPIADIR = "${STAGING_DIR}/${HOST_SYS}/qtopia" +export QTDIR = "${S}" +export QTOPIADIR = "${S}" + +# Qmake gets confused by environment variables, as it builds both HOST +# and TARGET objects. The correct compiler settings come from the mkspec +# and are set with the OE_QMAKE_ variables +PARALLEL_MAKE = "" +EXTRA_OEMAKE = " MAKEFLAGS= " + +# This stuff could also be done by inheriting qmake, but I didn't want to +# bother with the qmake separation from the Qtopia configure. This separation +# is probably nothing more than a patch on the configure and setting some +# environment variables to use our own qmake/moc/uic, but that's something +# to figure out later. +export OE_QMAKE_CC="${CC}" +export OE_QMAKE_CFLAGS="${CFLAGS}" +export OE_QMAKE_CXX="${CXX}" +export OE_QMAKE_CXXFLAGS="-fno-exceptions ${CXXFLAGS}" +export OE_QMAKE_LDFLAGS="${LDFLAGS}" +export OE_QMAKE_LINK="${CXX}" +export OE_QMAKE_AR="${AR}" +export OE_QMAKE_RANLIB="${RANLIB}" +export OE_QMAKE_STRIP="echo" +export OE_QMAKE_RPATH="-Wl,-rpath-link," +export OE_QMAKE_INCDIR_QT="${QTDIR}/include" +export OE_QMAKE_LIBDIR_QT="${QTDIR}/lib" +export OE_QMAKE_INCDIR_QTOPIA="${QTOPIADIR}/include" +export OE_QMAKE_LIBDIR_QTOPIA="${QTOPIADIR}/lib" + +require qte-functions.inc +QT_ARCH := "${@qte_arch(d)}" + +# FIXME use info.bbclass once it has been commited +QT_ENDIAN = "-little-endian" + +# We don't build the examples and demos atm. They're quite big and not used +# frequently, only for testing maybe. Feel free to change and to package +# them separately. +QT_CONFIG_FLAGS = "-release \ + -no-cups -no-accessibility \ + -nomake demos -nomake examples -nomake tools \ + -qt-mouse-tslib" + +do_configure() { + # Install the OE build templates (something which might be done + # by inheriting qmake) + for template in linux-oe-g++ linux-uclibc-oe-g++ linux-gnueabi-oe-g++ + do + install -d ${S}/mkspecs/$template + install -m 0644 ${WORKDIR}/linux-oe-qmake.conf \ + ${S}/mkspecs/$template/qmake.conf + ln -sf ../linux-g++/qplatformdefs.h \ + ${S}/mkspecs/$template/qplatformdefs.h + done + + # The Qmake Makefile generation doesn't like these environment + # variables, as they mess up the HOST tools builds + unset CC + unset CXX + unset CFLAGS + unset CXXFLAGS + unset LDFLAGS + + # For rationale behind the installation locations, see remark above + echo yes | ./configure -v \ + -prefix ${prefix} \ + -bindir ${bindir} \ + -libdir ${libdir} \ + -docdir ${docdir}/qtopia \ + -headerdir ${includedir} \ + -plugindir ${datadir}/qtopia/plugins \ + -datadir ${datadir} \ + -translationdir ${datadir}/qtopia/translations \ + -sysconfdir ${sysconfdir} \ + -examplesdir ${bindir}/qtopia/examples \ + -demosdir ${bindir}/qtopia/demos \ + -embedded ${QT_ARCH} ${QT_ENDIAN} -fast \ + -xplatform linux-oe-g++ \ + ${QT_CONFIG_FLAGS} \ + -L${STAGING_LIBDIR} -I${STAGING_INCDIR} +} + +do_install() { + oe_runmake install INSTALL_ROOT=${D} + + # These are host binaries, we should only use them in staging + rm -rf ${D}/${bindir} + rm -rf ${D}/${datadir}/mkspecs + + touch ${D}/${libdir}/fonts/fontdir + + #TT is still new to pkgconfig, so fix it up + install -d ${D}${libdir}/pkgconfig + mv ${D}/${libdir}/*.pc ${D}${libdir}/pkgconfig/ +} + +# We might want to package all the libraries separately, so you can really +# fine-tune what to install. This is e.g. done in qt4-x11-free_4.1.2.bb. +# What should these packages be called? I'm tempted to call them the same +# as in qt4 version, as the API is supposed to be compatible, e.g. +# libqtcore4 and libqtgui4. This will however conflict if you have QT and +# Qtopia, but this is something you don't want anyway, I guess. +# Another solution is making virtual/libqtfoo4, and DEPENDing on that one +# and let both the PACKAGES in QT and Qtopia PROVIDE these. The packages +# themselves could then be called libqtopiafoo4. +# I'll postpone this discussion by not making separate Qtopia packages. + +# Also, I don't package the plugins and translations atm, I don't use them +# and I don't feel like thinking about a sensible separation. + +PACKAGES =+ " libqtcore libqtcore-dev libqtcore-dbg \ + libqtxml libqtxml-dev libqtxml-dbg \ + libqtgui libqtgui-dev libqtgui-dbg \ + libqtsql libqtsql-dev libqtsql-dbg \ + libqtnetwork libqtnetwork-dev libqtnetwork-dbg \ + libqtsvg libqtsvg-dev libqtsvg-dbg \ + libqt3support libqt3support-dev libqt3support-dbg \ + qtopia-core-plugins qtopia-core-plugins-dbg\ + " + +PACKAGES += " ${PN}-fonts " + +# The default included fonts are around 75MB and consist of a number of +# FreeType-renderable fonts as well as QPF (Qtopia Prerendered Fonts). +# As FreeType is generally slow on embedded platforms, and 75MB is +# quite huge, we downsize the fonts dir in the do_install. I've decided +# to include only the QPF (Helvetica and Fixed), amounting to 500KB. This +# also results in tremendously faster application startup time. +FILES_libqtcore += " ${libdir}/fonts/helvetic* ${libdir}/fonts/fixed* ${D}/${libdir}/fonts/fontdir" +FILES_${PN}-fonts = "${libdir}/fonts" + +FILES_qtopia-core-plugins += "${datadir}/qtopia/plugins/*/*.so" +FILES_qtopia-core-plugins-dbg += "${datadir}/qtopia/plugins/*/.debug/*.so" + +FILES_libqtcore += "${libdir}/libQtCore.so.*" +FILES_libqtxml += "${libdir}/libQtXml.so.*" +FILES_libqtgui += "${libdir}/libQtGui.so.*" +FILES_libqtsql += "${libdir}/libQtSql.so.*" +FILES_libqtnetwork += "${libdir}/libQtNetwork.so.*" +FILES_libqtsvg += "${libdir}/libQtSvg.so.*" +FILES_libqt3support += "${libdir}/libQt3Support.so.*" + +FILES_libqtcore-dev += "${libdir}/*QtCore.*" +FILES_libqtxml-dev += "${libdir}/*QtXml.*" +FILES_libqtgui-dev += "${libdir}/*QtGui.*" +FILES_libqtsql-dev += "${libdir}/*QtSql.*" +FILES_libqtnetwork-dev += "${libdir}/*QtNetwork.*" +FILES_libqtsvg-dev += "${libdir}/*QtSvg.*" +FILES_libqt3support-dev += "${libdir}/*Qt3Support.*" + +FILES_libqtcore-dbg += "${libdir}/.debug/libQtCore*" +FILES_libqtxml-dbg += "${libdir}/.debug/libQtXml*" +FILES_libqtgui-dbg += "${libdir}/.debug/libQtGui*" +FILES_libqtsql-dbg += "${libdir}/.debug/libQtSql*" +FILES_libqtnetwork-dbg += "${libdir}/.debug/libQtNetwork*" +FILES_libqtsvg-dbg += "${libdir}/.debug/libQtSvg*" +FILES_libqt3support-dbg += "${libdir}/.debug/libQt3Support*" + + +python populate_packages_prepend() { + translationdir = bb.data.expand('${datadir}/qtopia/translations/', d) + do_split_packages(d, translationdir, '^qt_(.*)\.qm$', 'qtopia-translation-%s', 'Qtopia translation for %s', extra_depends='' ) +} + + + +STAGE_TEMP = "${WORKDIR}/temp-staging" +do_stage() { + rm -rf ${STAGE_TEMP} + mkdir -p ${STAGE_TEMP} + oe_runmake install INSTALL_ROOT=${STAGE_TEMP} + + cp -pPRf ${STAGE_TEMP}/$includedir/* ${STAGING_INCDIR} + + for i in ${STAGE_TEMP}/${libdir}/*.la + do + oe_libinstall -C ${STAGE_TEMP}/${libdir} \ + -so $(basename $i .la) ${STAGING_LIBDIR} + done + + # Install qmake/moc/uic/rcc in staging (is this needed?) + install -m 0755 ${STAGE_TEMP}/${bindir}/rcc ${STAGING_BINDIR} + install -m 0755 ${STAGE_TEMP}/${bindir}/moc ${STAGING_BINDIR} + install -m 0755 ${STAGE_TEMP}/${bindir}/uic ${STAGING_BINDIR} + install -m 0755 ${STAGE_TEMP}/${bindir}/qmake ${STAGING_BINDIR} + # what about mkspecs? + + rm -rf ${STAGE_TEMP} +} + diff --git a/packages/qt4/qtopia-core_4.3.3.bb b/packages/qt4/qtopia-core_4.3.3.bb new file mode 100644 index 0000000000..2995988b42 --- /dev/null +++ b/packages/qt4/qtopia-core_4.3.3.bb @@ -0,0 +1,222 @@ +SUMMARY = "QtopiaCore" +SECTION = "libs" +LICENSE = "GPL" +PRIORITY = "optional" +HOMEPAGE = "http://www.trolltech.com" +DEPENDS = "freetype tslib" + +PR = "r0" + +SRC_URI = "ftp://ftp.trolltech.com/qt/source/qtopia-core-opensource-src-${PV}.tar.gz \ + file://linux-oe-qmake.conf" + +S = "${WORKDIR}/qtopia-core-opensource-src-${PV}" + +inherit pkgconfig + +# Qmake gets confused by environment variables, as it builds both HOST +# and TARGET objects. The correct compiler settings come from the mkspec +# and are set with the OE_QMAKE_ variables +PARALLEL_MAKE = "" +EXTRA_OEMAKE = " MAKEFLAGS= " + +# This stuff could also be done by inheriting qmake, but I didn't want to +# bother with the qmake separation from the Qtopia configure. This separation +# is probably nothing more than a patch on the configure and setting some +# environment variables to use our own qmake/moc/uic, but that's something +# to figure out later. +export OE_QMAKE_CC="${CC}" +export OE_QMAKE_CFLAGS="${CFLAGS}" +export OE_QMAKE_CXX="${CXX}" +export OE_QMAKE_CXXFLAGS="-fno-exceptions ${CXXFLAGS}" +export OE_QMAKE_LDFLAGS="${LDFLAGS}" +export OE_QMAKE_LINK="${CXX}" +export OE_QMAKE_AR="${AR}" +export OE_QMAKE_RANLIB="${RANLIB}" +export OE_QMAKE_STRIP="echo" +export OE_QMAKE_RPATH="-Wl,-rpath-link," +export OE_QMAKE_INCDIR_QT="${QTDIR}/include" +export OE_QMAKE_LIBDIR_QT="${QTDIR}/lib" +export OE_QMAKE_INCDIR_QTOPIA="${QTOPIADIR}/include" +export OE_QMAKE_LIBDIR_QTOPIA="${QTOPIADIR}/lib" + +require qte-functions.inc +QT_ARCH := "${@qte_arch(d)}" + +# FIXME use info.bbclass once it has been commited +QT_ENDIAN = "-little-endian" + +# We don't build the examples and demos atm. They're quite big and not used +# frequently, only for testing maybe. Feel free to change and to package +# them separately. +QT_CONFIG_FLAGS = "-release \ + -no-cups -no-accessibility \ + -nomake demos -nomake examples -nomake tools -reduce-relocations \ + -qt-mouse-tslib -qt-gfx-transformed -embedded ${QT_ARCH}" + +do_configure() { + # Hack to honor our compiler flags + sed -i s/-O2//g ${S}/mkspecs/*/qmake.conf + sed -i s/-O2//g ${S}/mkspecs/*/*/qmake.conf + + + # Install the OE build templates (something which might be done + # by inheriting qmake) + for template in linux-oe-g++ linux-uclibc-oe-g++ linux-gnueabi-oe-g++ + do + install -d ${S}/mkspecs/$template + install -m 0644 ${WORKDIR}/linux-oe-qmake.conf ${S}/mkspecs/$template/qmake.conf + ln -sf ../linux-g++/qplatformdefs.h ${S}/mkspecs/$template/qplatformdefs.h + done + + # The Qmake Makefile generation doesn't like these environment + # variables, as they mess up the HOST tools builds + unset CC + unset CXX + unset CFLAGS + unset CXXFLAGS + unset LDFLAGS + + # For rationale behind the installation locations, see remark above + echo yes | ./configure -v \ + -prefix ${prefix} \ + -bindir ${bindir} \ + -libdir ${libdir} \ + -docdir ${docdir}/qtopia \ + -headerdir ${includedir} \ + -plugindir ${datadir}/qtopia/plugins \ + -datadir ${datadir} \ + -translationdir ${datadir}/qtopia/translations \ + -sysconfdir ${sysconfdir} \ + -examplesdir ${bindir}/qtopia/examples \ + -demosdir ${bindir}/qtopia/demos \ + -embedded ${QT_ARCH} ${QT_ENDIAN} -fast \ + -xplatform linux-oe-g++ \ + ${QT_CONFIG_FLAGS} \ + -L${STAGING_LIBDIR} -I${STAGING_INCDIR} +} + +# +# 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 +} + +do_stage_append() { + echo "Fixing up Qt" + cd ${STAGING_LIBDIR}/pkgconfig + sed -i s#"-L${S}/lib"##g Qt*.pc + sed -i s#"moc_location=${S}/bin/moc"#moc_location=${STAGING_BINDIR}/moc4# Qt*.pc + sed -i s#"uic_location=${S}/bin/uic"#uic_location=${STAGING_BINDIR}/uic4# Qt*.pc +} + +do_install() { + oe_runmake install INSTALL_ROOT=${D} + + # These are host binaries, we should only use them in staging + rm -rf ${D}/${bindir} + rm -rf ${D}/${datadir}/mkspecs + + touch ${D}/${libdir}/fonts/fontdir +} + +# We might want to package all the libraries separately, so you can really +# fine-tune what to install. This is e.g. done in qt4-x11-free_4.1.2.bb. +# What should these packages be called? I'm tempted to call them the same +# as in qt4 version, as the API is supposed to be compatible, e.g. +# libqtcore4 and libqtgui4. This will however conflict if you have QT and +# Qtopia, but this is something you don't want anyway, I guess. +# Another solution is making virtual/libqtfoo4, and DEPENDing on that one +# and let both the PACKAGES in QT and Qtopia PROVIDE these. The packages +# themselves could then be called libqtopiafoo4. +# I'll postpone this discussion by not making separate Qtopia packages. + +# Also, I don't package the plugins and translations atm, I don't use them +# and I don't feel like thinking about a sensible separation. + +PACKAGES =+ " libqtcore libqtcore-dev libqtcore-dbg \ + libqtxml libqtxml-dev libqtxml-dbg \ + libqtgui libqtgui-dev libqtgui-dbg \ + libqtsql libqtsql-dev libqtsql-dbg \ + libqtnetwork libqtnetwork-dev libqtnetwork-dbg \ + libqtsvg libqtsvg-dev libqtsvg-dbg \ + libqt3support libqt3support-dev libqt3support-dbg \ + qtopia-core-plugins qtopia-core-plugins-dbg \ + libqtscript libqtscript-dev libqtscript-dbg \ + " + +PACKAGES += " ${PN}-fonts " + +# The default included fonts are around 75MB and consist of a number of +# FreeType-renderable fonts as well as QPF (Qtopia Prerendered Fonts). +# As FreeType is generally slow on embedded platforms, and 75MB is +# quite huge, we downsize the fonts dir in the do_install. I've decided +# to include only the QPF (Helvetica and Fixed), amounting to 500KB. This +# also results in tremendously faster application startup time. +FILES_libqtcore += " ${libdir}/fonts/helvetic* ${libdir}/fonts/fixed* ${D}/${libdir}/fonts/fontdir" +FILES_${PN}-fonts = "${libdir}/fonts" + +FILES_qtopia-core-plugins += "${datadir}/qtopia/plugins/*/*.so" +FILES_qtopia-core-plugins-dbg += "${datadir}/qtopia/plugins/*/.debug/*.so" + +FILES_libqtcore += "${libdir}/libQtCore.so.*" +FILES_libqtxml += "${libdir}/libQtXml.so.*" +FILES_libqtgui += "${libdir}/libQtGui.so.*" +FILES_libqtsql += "${libdir}/libQtSql.so.*" +FILES_libqtnetwork += "${libdir}/libQtNetwork.so.*" +FILES_libqtsvg += "${libdir}/libQtSvg.so.*" +FILES_libqt3support += "${libdir}/libQt3Support.so.*" +FILES_libqtscript += "${libdir}/libQtScript.so.*" + +FILES_libqtcore-dev += "${libdir}/*QtCore.*" +FILES_libqtxml-dev += "${libdir}/*QtXml.*" +FILES_libqtgui-dev += "${libdir}/*QtGui.*" +FILES_libqtsql-dev += "${libdir}/*QtSql.*" +FILES_libqtnetwork-dev += "${libdir}/*QtNetwork.*" +FILES_libqtsvg-dev += "${libdir}/*QtSvg.*" +FILES_libqt3support-dev += "${libdir}/*Qt3Support.*" +FILES_libqtscript-dev += "${libdir}/*QtScript.*" + +FILES_libqtcore-dbg += "${libdir}/.debug/libQtCore*" +FILES_libqtxml-dbg += "${libdir}/.debug/libQtXml*" +FILES_libqtgui-dbg += "${libdir}/.debug/libQtGui*" +FILES_libqtsql-dbg += "${libdir}/.debug/libQtSql*" +FILES_libqtnetwork-dbg += "${libdir}/.debug/libQtNetwork*" +FILES_libqtsvg-dbg += "${libdir}/.debug/libQtSvg*" +FILES_libqt3support-dbg += "${libdir}/.debug/libQt3Support*" +FILES_libqtscript-dbg += "${libdir}/.debug/libQtScript*" + + +python populate_packages_prepend() { + translationdir = bb.data.expand('${datadir}/qtopia/translations/', d) + do_split_packages(d, translationdir, '^qt_(.*)\.qm$', 'qtopia-translation-%s', 'Qtopia translation for %s', extra_depends='' ) +} + + + +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}/qtopiacore4 + install -d ${STAGING_LIBDIR}/qtopiacore4 + cp -pPRf ${STAGE_TEMP}/$includedir/* ${STAGING_INCDIR}/qtopiacore4/ + + for i in ${STAGE_TEMP}/${libdir}/*.la + do + oe_libinstall -C ${STAGE_TEMP}/${libdir} -so $(basename $i .la) ${STAGING_LIBDIR}/qtopiacore4 + done + + rm -rf ${STAGE_TEMP} +} + |