diff -Naur gnupoc-package-1.13.orig/sdks/gnupoc-s60_30-patch gnupoc-package-1.13/sdks/gnupoc-s60_30-patch --- gnupoc-package-1.13.orig/sdks/gnupoc-s60_30-patch 2009-03-11 05:08:41.000000000 -0400 +++ gnupoc-package-1.13/sdks/gnupoc-s60_30-patch 2009-08-04 08:09:37.000000000 -0400 @@ -430,7 +430,7 @@ @@ -0,0 +1,4 @@ +#!/bin/sh + -+wine make "$@" ++wine ${EPOCROOT}epoc32/tools/make.exe "$@" + Index: genbldinf.pl =================================================================== @@ -5555,6 +5555,15 @@ if ($LineNum eq '#') { $CurFile=$_; next LINE; +@@ -486,7 +486,7 @@ + } + if (/^PRJ_(\w*)$/io) { + $Section=uc $1; +- if ($Section=~/^(PLATFORMS|EXPORTS|TESTEXPORTS|MMPFILES|TESTMMPFILES)$/o) { ++ if ($Section=~/^(PLATFORMS|EXPORTS|TESTEXPORTS|MMPFILES|TESTMMPFILES|EXTENSIONS)$/o) { + if (@$Line) { + push @PrjFileDie, "$CurFile($LineNum) : Can't specify anything on the same line as a section header\n"; + } @@ -500,13 +505,13 @@ unshift @$Line, $_; my $Candidate; diff -Naur gnupoc-package-1.13.orig/sdks/install_openc.sh gnupoc-package-1.13/sdks/install_openc.sh --- gnupoc-package-1.13.orig/sdks/install_openc.sh 1969-12-31 20:00:00.000000000 -0400 +++ gnupoc-package-1.13/sdks/install_openc.sh 2009-08-04 08:09:37.000000000 -0400 @@ -0,0 +1,32 @@ +#!/bin/bash +set -e + +if [ $# -ne 2 ]; then + echo "Usage: $0 " + exit 1 +fi + +openc_tarball=$1 +S60_SDK_DIR=$2 + +# create temporary directory +TEMP=$(mktemp -d) +trap "echo Removing temporary files...; rm -rf $TEMP" EXIT + +copy_files() +{ + srcdir=$1 + destdir=$2 + (cd $srcdir && tar -cf- . | tar -C $destdir -xvf-) +} + +# Install OpenC +if [ ! -f "$S60_SDK_DIR/epoc32/release/armv5/lib/rpipe.lib" ]; then + unzip -d $TEMP $openc_tarball + ./unshield/unshield -d $TEMP -g opencppepoc32 x $TEMP/OpenC_*_installer/data1.cab + copy_files $TEMP/opencppepoc32/epoc32/ $S60_SDK_DIR/epoc32/ + # NOTE: even if S60 3.0 is used the OpenC files for 3.1 must be used because + # only them contain the STL port (needed by Qt) + ./unshield/unshield -d $TEMP -g opencepoc32_3.1 x $TEMP/OpenC_*_installer/data1.cab + copy_files $TEMP/opencepoc32_3.1/epoc32/ $S60_SDK_DIR/epoc32/ +fi diff -Naur gnupoc-package-1.13.orig/sdks/install_qt_s60.sh gnupoc-package-1.13/sdks/install_qt_s60.sh --- gnupoc-package-1.13.orig/sdks/install_qt_s60.sh 1969-12-31 20:00:00.000000000 -0400 +++ gnupoc-package-1.13/sdks/install_qt_s60.sh 2009-08-04 08:17:05.000000000 -0400 @@ -0,0 +1,76 @@ +#!/bin/bash +set -e + +if [ $# -ne 3 -a $# -ne 4 ]; then + echo "Usage: $0 [path-to-extra-files-tar-gz]" + exit 1 +fi + +qt_s60_tarball=$1 +S60_SDK_DIR=$2 +QT_S60_DIR=$3 +extra_files=$4 + +# create temporary directory +TEMP=$(mktemp -d) +trap "echo Removing temporary files...; rm -rf $TEMP" EXIT + +copy_files() +{ + srcdir=$1 + destdir=$2 + (cd $srcdir && tar -cf- . | tar -C $destdir -xvf-) +} + +# Install Qt for S60 +./7z/7z x -o$TEMP $qt_s60_tarball + +if [ ! -f "$S60_SDK_DIR/epoc32/release/armv5/lib/QtCore.lib" ]; then + # Install SDK files + copy_files $TEMP/\$OUTDIR/epoc32/epoc32/ $S60_SDK_DIR/epoc32/ + # There is no release libraries yet, so we just symlink the debug ones + # A similar trick is done by the Windows installer + for f in $TEMP/\$OUTDIR/epoc32/epoc32/release/armv5/udeb/*; do + ln -s ../udeb/$(basename $f) $S60_SDK_DIR/epoc32/release/armv5/urel/ + done + # Symlink .dso/.lib files to versioned names + for e in dso lib; do + for f in $TEMP/\$OUTDIR/epoc32/epoc32/release/armv5/lib/*.$e; do + ln -s $(basename $f) $S60_SDK_DIR/epoc32/release/armv5/lib/$(basename $f .$e)'{00040502}'.$e + done + done +fi + +if [ ! -d "$QT_S60_DIR" ]; then + mv $TEMP/\$OUTDIR/bin $QT_S60_DIR + # Convert line ends to Unix format + find $QT_S60_DIR/mkspecs/ -type f -exec ./dos2unix '{}' \; + ./dos2unix $QT_S60_DIR/bin/syncqt + ./dos2unix $QT_S60_DIR/qmake/generators/symbian/symmake_abld.cpp + ./dos2unix $QT_S60_DIR/src/s60main/qts60mainappui.cpp + # Various fixes for Linux support + patch -p1 -d $QT_S60_DIR < qt-s60-fixes.patch + # Fixes for S60 3.0 + # TODO: S60 3.0 not supported yet + #sed -i.orig '/^#if/s/!defined(__SERIES60_31__)/!defined(__SERIES60_30__) \&\& &/' $QT_S60_DIR/src/gui/kernel/qt_s60_p.h + #sed -i 's/#include "qtS60main_mcrt0.cpp"/#include "qts60main_mcrt0.cpp"/' $QT_S60_DIR/src/s60main/qts60mainappui.cpp + # Update Qt headers + rm -rf $QT_S60_DIR/include + chmod 755 $QT_S60_DIR/bin/syncqt + QTDIR=$QT_S60_DIR $QT_S60_DIR/bin/syncqt -copy + # Unpack files missing for a Linux build + if [ -n "$extra_files" ]; then + tar -C $QT_S60_DIR -xvzf $extra_files + fi + # Move away files generated by the original build (configure fails otherwise) + mv $QT_S60_DIR/.qmake.cache{,.orig} + mv $QT_S60_DIR/src/corelib/global/qconfig.h{,.orig} + # Build native versions of Qt tools + mkdir $TEMP/qt-build + cd $TEMP/qt-build + $QT_S60_DIR/configure -opensource -confirm-license -prefix $QT_S60_DIR + for t in bootstrap moc rcc uic; do + make -C src/tools/$t + done + cp bin/{moc,qmake,rcc,uic} $QT_S60_DIR/bin +fi diff -Naur gnupoc-package-1.13.orig/sdks/qt-s60-fixes.patch gnupoc-package-1.13/sdks/qt-s60-fixes.patch --- gnupoc-package-1.13.orig/sdks/qt-s60-fixes.patch 1969-12-31 20:00:00.000000000 -0400 +++ gnupoc-package-1.13/sdks/qt-s60-fixes.patch 2009-08-04 08:09:37.000000000 -0400 @@ -0,0 +1,99 @@ +diff -Naur bin.orig/bin/syncqt bin/bin/syncqt +--- bin.orig/bin/syncqt 2009-06-22 17:03:46.000000000 -0400 ++++ bin/bin/syncqt 2009-07-12 20:49:12.000000000 -0400 +@@ -41,11 +41,11 @@ + "QtUiTools" => "$basedir/tools/designer/src/uitools", + "QtDBus" => "$basedir/src/dbus", + "QtWebKit" => "$basedir/src/3rdparty/webkit/WebCore", +- "phonon" => "$basedir/src/phonon", ++ "Phonon" => "$basedir/src/phonon", + ); + my %moduleheaders = ( # restrict the module headers to those found in relative path + "QtWebKit" => "../WebKit/qt/Api", +- "phonon" => "../3rdparty/phonon/phonon", ++ "Phonon" => "../3rdparty/phonon/phonon", + ); + + #$modules{"QtCore"} .= ";$basedir/mkspecs/" . $ENV{"MKSPEC"} if defined $ENV{"MKSPEC"}; +@@ -653,7 +653,7 @@ + my @ignore_for_include_check = ( "qatomic.h" ); + my @ignore_for_qt_begin_header_check = ( "qiconset.h", "qconfig.h", "qconfig-dist.h", "qconfig-large.h", "qconfig-medium.h", "qconfig-minimal.h", "qconfig-small.h", "qfeatures.h", "qt_windows.h" ); + my @ignore_for_qt_begin_namespace_check = ( "qconfig.h", "qconfig-dist.h", "qconfig-large.h", "qconfig-medium.h", "qconfig-minimal.h", "qconfig-small.h", "qfeatures.h", "qatomic_arch.h", "qatomic_windowsce.h", "qt_windows.h", "qatomic_macosx.h" ); +-my @ignore_for_qt_module_check = ( "$modules{QtCore}/arch", "$modules{QtCore}/global", "$modules{QtSql}/drivers", "$modules{QtTest}", "$modules{QtAssistant}", "$modules{QtDesigner}", "$modules{QtUiTools}", "$modules{QtDBus}", "$modules{phonon}" ); ++my @ignore_for_qt_module_check = ( "$modules{QtCore}/arch", "$modules{QtCore}/global", "$modules{QtSql}/drivers", "$modules{QtTest}", "$modules{QtAssistant}", "$modules{QtDesigner}", "$modules{QtUiTools}", "$modules{QtDBus}", "$modules{Phonon}" ); + + foreach (@modules_to_sync) { + #iteration info +@@ -791,7 +791,7 @@ + if ($public_header) { + @headers = ( "$out_basedir/include/$lib/$header" ); + push @headers, "$out_basedir/include/Qt/$header" +- if ("$lib" ne "phonon" && "$subdir" =~ /^$basedir\/src/); ++ if ("$lib" ne "Phonon" && "$subdir" =~ /^$basedir\/src/); + + foreach(@classes) { + my $header_base = basename($header); +@@ -806,7 +806,7 @@ + } else { + @headers = ( "$out_basedir/include/$lib/private/$header" ); + push @headers, "$out_basedir/include/Qt/private/$header" +- if ("$lib" ne "phonon"); ++ if ("$lib" ne "Phonon"); + } + foreach(@headers) { #sync them + $header_copies++ if(syncHeader($_, $iheader, $copy_headers)); +diff -Naur bin.orig/mkspecs/common/symbian/symbian.conf bin/mkspecs/common/symbian/symbian.conf +--- bin.orig/mkspecs/common/symbian/symbian.conf 2009-06-22 17:03:46.000000000 -0400 ++++ bin/mkspecs/common/symbian/symbian.conf 2009-07-12 21:15:49.000000000 -0400 +@@ -92,9 +92,9 @@ + QMAKE_CHK_DIR_EXISTS = if not exist + } + +-QMAKE_MOC = $$[QT_INSTALL_BINS]$${DIR_SEPARATOR}moc.exe +-QMAKE_UIC = $$[QT_INSTALL_BINS]$${DIR_SEPARATOR}uic.exe +-QMAKE_IDC = $$[QT_INSTALL_BINS]$${DIR_SEPARATOR}idc.exe ++QMAKE_MOC = $$[QT_INSTALL_BINS]$${DIR_SEPARATOR}moc ++QMAKE_UIC = $$[QT_INSTALL_BINS]$${DIR_SEPARATOR}uic ++QMAKE_IDC = $$[QT_INSTALL_BINS]$${DIR_SEPARATOR}idc + + QMAKE_IDL = midl + QMAKE_LIB = ar -ru +@@ -127,10 +127,10 @@ + + DEPLOYMENT += default_deployment + +-exists($${EPOCROOT}epoc32/release/winscw/udeb/z/system/install/Series60v5.0.sis )|exists($${EPOCROOT}epoc32/data/z/system/install/Series60v5.0.sis) { ++exists($${EPOCROOT}epoc32/release/winscw/udeb/z/system/install/series60v5.0.sis )|exists($${EPOCROOT}epoc32/data/z/system/install/series60v5.0.sis) { + S60_VERSION = 5.0 + } else { +- exists($${EPOCROOT}epoc32/release/winscw/udeb/z/system/install/Series60v3.2.sis )|exists($${EPOCROOT}epoc32/data/z/system/install/Series60v3.2.sis) { ++ exists($${EPOCROOT}epoc32/release/winscw/udeb/z/system/install/series60v3.2.sis )|exists($${EPOCROOT}epoc32/data/z/system/install/series60v3.2.sis) { + S60_VERSION = 3.2 + } else { + S60_VERSION = 3.1 +diff -Naur bin.orig/qmake/generators/symbian/symmake_abld.cpp bin/qmake/generators/symbian/symmake_abld.cpp +--- bin.orig/qmake/generators/symbian/symmake_abld.cpp 2009-06-22 17:03:58.000000000 -0400 ++++ bin/qmake/generators/symbian/symmake_abld.cpp 2009-07-12 20:47:03.000000000 -0400 +@@ -293,8 +293,8 @@ + for(QMap::iterator it = systeminclude.begin(); it != systeminclude.end(); ++it) { + QStringList values = it.value(); + for (int i = 0; i < values.size(); ++i) { +- t << "\t-@ if NOT EXIST \"" << QDir::toNativeSeparators(values.at(i)) << "\\tmp\" mkdir \"" +- << QDir::toNativeSeparators(values.at(i)) << "\\tmp\"" << endl; ++ t << "\t-@ if test ! -e \"" << QDir::toNativeSeparators(values.at(i)) << "/tmp\"; then mkdir \"" ++ << QDir::toNativeSeparators(values.at(i)) << "/tmp\"" << "; fi" <