changeset 2759:6c4a5c7e30f8

Merge pull request #35 from william3/ocaml-core new package Ocaml core
author mabrand <mabrand@mabrand.nl>
date Tue, 18 Sep 2012 14:19:24 -0700
parents dcf309ba4980 (diff) da56c039603e (current diff)
children 38c700a403b8
files index.html
diffstat 37 files changed, 2157 insertions(+), 682 deletions(-) [+]
line wrap: on
line diff
--- a/Makefile	Wed Jul 11 22:25:15 2012 +0200
+++ b/Makefile	Tue Sep 18 14:19:24 2012 -0700
@@ -4,6 +4,8 @@
 JOBS               := 1
 TARGET             := i686-pc-mingw32
 SOURCEFORGE_MIRROR := freefr.dl.sourceforge.net
+PKG_MIRROR         := s3.amazonaws.com/mxe-pkg
+PKG_CDN            := d1yihgixbnrglp.cloudfront.net
 
 PWD        := $(shell pwd)
 SHELL      := bash
@@ -64,12 +66,17 @@
 DOWNLOAD_PKG_ARCHIVE = \
     mkdir -p '$(PKG_DIR)' && \
     $(if $($(1)_URL_2), \
-        ( $(WGET) -T 30 -t 3 -O- '$($(1)_URL)' || $(WGET) -O- '$($(1)_URL_2)' ), \
-        $(WGET) -O- '$($(1)_URL)') \
+        ( $(WGET) -T 30 -t 3 -O- '$($(1)_URL)' || \
+          $(WGET) -O- '$($(1)_URL_2)' || \
+          $(WGET) -O- '$(PKG_MIRROR)/$($(1)_FILE)' || \
+          $(WGET) -O- '$(PKG_CDN)/$($(1)_FILE)' ), \
+        ( $(WGET) -O- '$($(1)_URL)' || \
+          $(WGET) -O- '$(PKG_MIRROR)/$($(1)_FILE)' || \
+          $(WGET) -O- '$(PKG_CDN)/$($(1)_FILE)' )) \
     $(if $($(1)_FIX_GZIP), \
         | gzip -d | gzip -9n, \
         ) \
-    > '$(PKG_DIR)/$($(1)_FILE)'
+    > '$(PKG_DIR)/$($(1)_FILE)' || rm -f '$(PKG_DIR)/$($(1)_FILE)'
 
 ifeq ($(IGNORE_SETTINGS),yes)
     $(info [ignore settings.mk])
--- a/index.html	Wed Jul 11 22:25:15 2012 +0200
+++ b/index.html	Tue Sep 18 14:19:24 2012 -0700
@@ -924,6 +924,11 @@
         <td id="apr-website"><a href="http://apr.apache.org/">APR</a></td>
     </tr>
     <tr>
+        <td id="armadillo-package">armadillo</td>
+        <td id="armadillo-version">3.4.0</td>
+        <td id="armadillo-website"><a href="http://armadillo.sf.net/">Armadillo C++ linear algebra library</a></td>
+    </tr>
+    <tr>
         <td id="atk-package">atk</td>
         <td id="atk-version">2.4.0</td>
         <td id="atk-website"><a href="http://www.gtk.org/">ATK</a></td>
@@ -955,7 +960,7 @@
     </tr>
     <tr>
         <td id="boost-package">boost</td>
-        <td id="boost-version">1.50.0</td>
+        <td id="boost-version">1.51.0</td>
         <td id="boost-website"><a href="http://www.boost.org/">Boost C++ Library</a></td>
     </tr>
     <tr>
@@ -1065,7 +1070,7 @@
     </tr>
     <tr>
         <td id="fontconfig-package">fontconfig</td>
-        <td id="fontconfig-version">2.10.0</td>
+        <td id="fontconfig-version">2.10.1</td>
         <td id="fontconfig-website"><a href="http://fontconfig.org/">fontconfig</a></td>
     </tr>
     <tr>
@@ -1090,7 +1095,7 @@
     </tr>
     <tr>
         <td id="fribidi-package">fribidi</td>
-        <td id="fribidi-version">0.19.2</td>
+        <td id="fribidi-version">0.19.4</td>
         <td id="fribidi-website"><a href="http://fribidi.org/">FriBidi</a></td>
     </tr>
     <tr>
@@ -1115,7 +1120,7 @@
     </tr>
     <tr>
         <td id="gcc-mpc-package">gcc-mpc</td>
-        <td id="gcc-mpc-version">1.0</td>
+        <td id="gcc-mpc-version">1.0.1</td>
         <td id="gcc-mpc-website"><a href="http://www.multiprecision.org/">MPC for GCC</a></td>
     </tr>
     <tr>
@@ -1215,7 +1220,7 @@
     </tr>
     <tr>
         <td id="gta-package">gta</td>
-        <td id="gta-version">1.0.2</td>
+        <td id="gta-version">1.0.3</td>
         <td id="gta-website"><a href="http://gta.nongnu.org/">gta</a></td>
     </tr>
     <tr>
@@ -1305,7 +1310,7 @@
     </tr>
     <tr>
         <td id="lcms-package">lcms</td>
-        <td id="lcms-version">2.3</td>
+        <td id="lcms-version">2.4</td>
         <td id="lcms-website"><a href="http://www.littlecms.com/">lcms</a></td>
     </tr>
     <tr>
@@ -1340,7 +1345,7 @@
     </tr>
     <tr>
         <td id="libevent-package">libevent</td>
-        <td id="libevent-version">2.0.19</td>
+        <td id="libevent-version">2.0.20</td>
         <td id="libevent-website"><a href="http://libevent.org/">libevent</a></td>
     </tr>
     <tr>
@@ -1500,7 +1505,7 @@
     </tr>
     <tr>
         <td id="librsvg-package">librsvg</td>
-        <td id="librsvg-version">2.36.2</td>
+        <td id="librsvg-version">2.36.3</td>
         <td id="librsvg-website"><a href="http://librsvg.sourceforge.net/">librsvg</a></td>
 	</tr>
     <tr>
@@ -1565,7 +1570,7 @@
     </tr>
     <tr>
         <td id="libxslt-package">libxslt</td>
-        <td id="libxslt-version">1.1.26</td>
+        <td id="libxslt-version">1.1.27</td>
         <td id="libxslt-website"><a href="http://xmlsoft.org/XSLT/">libxslt</a></td>
     </tr>
     <tr>
@@ -1595,7 +1600,7 @@
     </tr>
     <tr>
         <td id="mdbtools-package">mdbtools</td>
-        <td id="mdbtools-version">0.6pre1</td>
+        <td id="mdbtools-version">0.7</td>
         <td id="mdbtools-website"><a href="http://sourceforge.net/projects/mdbtools/">mdbtools</a></td>
     </tr>
     <tr>
@@ -1709,6 +1714,11 @@
         <td id="pdcurses-website"><a href="http://pdcurses.sourceforge.net/">PDcurses</a></td>
     </tr>
     <tr>
+        <td id="plibc-package">plibc</td>
+        <td id="plibc-version">0.1.7</td>
+        <td id="plibc-website"><a href="http://plibc.sourceforge.net/">Plibc</a></td>
+    </tr>
+    <tr>
         <td id="pdflib_lite-package">pdflib_lite</td>
         <td id="pdflib_lite-version">7.0.5p3</td>
         <td id="pdflib_lite-website"><a href="http://www.pdflib.com/download/free-software/pdflib-lite-7/">PDFlib Lite</a></td>
@@ -1760,7 +1770,7 @@
     </tr>
     <tr>
         <td id="postgresql-package">postgresql</td>
-        <td id="postgresql-version">9.1.5</td>
+        <td id="postgresql-version">9.2.0</td>
         <td id="postgresql-website"><a href="http://www.postgresql.org/">PostgreSQL</a></td>
     </tr>
     <tr>
@@ -1769,6 +1779,11 @@
         <td id="proj-website"><a href="http://trac.osgeo.org/proj/">proj</a></td>
     </tr>
     <tr>
+        <td id="protobuf-package">protobuf</td>
+        <td id="protobuf-version">2.4.1</td>
+        <td id="protobuf-website"><a href="http://code.google.com/p/protobuf"/>protobuf</a></td>
+    </tr>
+    <tr>
         <td id="pthreads-package">pthreads</td>
         <td id="pthreads-version">2-9-1</td>
         <td id="pthreads-website"><a href="http://sourceware.org/pthreads-win32/">Pthreads-w32</a></td>
@@ -1785,7 +1800,7 @@
     </tr>
     <tr>
         <td id="qt-package">qt</td>
-        <td id="qt-version">4.8.2</td>
+        <td id="qt-version">4.8.3</td>
         <td id="qt-website"><a href="http://qt.nokia.com/">Qt</a></td>
     </tr>
     <tr>
@@ -1855,7 +1870,7 @@
     </tr>
     <tr>
         <td id="sqlite-package">sqlite</td>
-        <td id="sqlite-version">3071300</td>
+        <td id="sqlite-version">3071400</td>
         <td id="sqlite-website"><a href="http://www.sqlite.org/">SQLite</a></td>
     </tr>
     <tr>
@@ -1939,6 +1954,11 @@
         <td id="x264-website"><a href="http://www.videolan.org/developers/x264.html">x264</a></td>
     </tr>
     <tr>
+        <td id="xapian-core-package">xapian-core</td>
+        <td id="xapian-core-version">1.2.10</td>
+        <td id="xapian-core-website"><a href="http://xapian.org/">Xapian-Core</a></td>
+    </tr>
+    <tr>
         <td id="xerces-package">xerces</td>
         <td id="xerces-version">3.1.1</td>
         <td id="xerces-website"><a href="http://xerces.apache.org/xerces-c/">Xerces-C++</a></td>
@@ -2049,6 +2069,23 @@
 
     <li>
         <p>
+            Add your package to the <a href="#packages">list of packages</a>.
+        </p>
+        <p>
+            Each package gets its own table row element with table cells having IDs
+            specifying your .mk file, package version and website:
+        </p>
+        <pre>
+&lt;tr&gt;
+    &lt;td id="gettext-package"&gt;gettext&lt;/td&gt;
+    &lt;td id="gettext-version"&gt;0.18.1.1&lt;/td&gt;
+    &lt;td id="gettext-website"&gt;&lt;a href="http://www.gnu.org/software/gettext/"&gt;gettext&lt;/a&gt;&lt;/td&gt;
+&lt;/tr&gt;
+        </pre>
+    </li>
+
+    <li>
+        <p>
         Write your <code>$(PKG)_BUILD</code>.
         If your library has a <code>./configure</code> script,
         enable/disable all dependency libraries explicitly
@@ -3093,6 +3130,12 @@
     <li>
         <a href="http://ifwiki.org/index.php/Hugor">Hugor</a>
     </li>
+    <li>
+        <a href="http://www.qtrac.eu/diffpdf.html">DiffPDF</a>
+    </li>
+    <li>
+        <a href="http://pdfgrep.sourceforge.net/">Pdfgrep</a>
+    </li>
     </ul>
 </div>
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/armadillo-1-staticlib.patch	Tue Sep 18 14:19:24 2012 -0700
@@ -0,0 +1,43 @@
+This file is part of MXE.
+See index.html for further information.
+
+--- armadillo-3.4.0/CMakeLists.txt.orig	2012-09-06 09:43:16.000000000 +0200
++++ armadillo-3.4.0/CMakeLists.txt	2012-09-09 16:18:57.000000000 +0200
+@@ -40,7 +40,7 @@
+ set(ARMA_USE_ATLAS   false)
+ set(ARMA_USE_BOOST   false)
+ set(ARMA_USE_HDF5    false)
+-set(ARMA_USE_WRAPPER true )
++set(ARMA_USE_WRAPPER false)
+ 
+ 
+ if(WIN32)
+@@ -158,15 +158,15 @@
+   endif()
+   
+ else()
++
++  if(ARMA_USE_LAPACK STREQUAL true)
++    set(ARMA_LIBS ${ARMA_LIBS} ${LAPACK_LIBRARIES})
++  endif()
+   
+   if(ARMA_USE_BLAS STREQUAL true)
+     set(ARMA_LIBS ${ARMA_LIBS} ${BLAS_LIBRARIES})
+   endif()
+   
+-  if(ARMA_USE_LAPACK STREQUAL true)
+-    set(ARMA_LIBS ${ARMA_LIBS} ${LAPACK_LIBRARIES})
+-  endif()
+-  
+   if(ARMA_USE_ATLAS STREQUAL true)
+     set(ARMA_LIBS ${ARMA_LIBS} ${CBLAS_LIBRARIES})
+     set(ARMA_LIBS ${ARMA_LIBS} ${CLAPACK_LIBRARIES})
+@@ -263,7 +263,7 @@
+ #set(CMAKE_INSTALL_RPATH_USE_LINK_PATH  TRUE)
+ 
+ 
+-add_library( armadillo SHARED src/wrap_libs )
++add_library( armadillo STATIC src/wrap_libs )
+ target_link_libraries( armadillo ${ARMA_LIBS} )
+ 
+ set_target_properties(armadillo PROPERTIES VERSION ${ARMA_MAJOR}.${ARMA_MINOR}.${ARMA_PATCH} SOVERSION 3)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/armadillo-test.cpp	Tue Sep 18 14:19:24 2012 -0700
@@ -0,0 +1,24 @@
+/*
+ * This file is part of MXE.
+ * See index.html for further information.
+ */
+
+#include <armadillo>
+
+using namespace arma;
+
+int main()
+{
+	mat A = randu<mat>(50,50);
+	mat B = trans(A)*A;  // generate a symmetric matrix
+	
+	vec eigval;
+	mat eigvec;
+	
+	// use standard algorithm by default
+	eig_sym(eigval, eigvec, B);
+	
+	// use divide & conquer algorithm
+	eig_sym(eigval, eigvec, B, "dc");
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/armadillo.mk	Tue Sep 18 14:19:24 2012 -0700
@@ -0,0 +1,29 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+# armadillo
+PKG             := armadillo
+$(PKG)_IGNORE   :=
+$(PKG)_CHECKSUM := e7fdb6518172aabaa28c84412b52db7d86ef37a5
+$(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)
+$(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION).tar.gz
+$(PKG)_URL      := http://$(SOURCEFORGE_MIRROR)/project/arma/$($(PKG)_FILE)
+$(PKG)_DEPS     := gcc boost blas lapack
+
+define $(PKG)_UPDATE
+    wget -q -O- 'http://sourceforge.net/projects/arma/files/' | \
+    $(SED) -n 's,.*/\([0-9][^"]*\)/".*,\1,p' | \
+    head -1
+endef
+
+define $(PKG)_BUILD
+    cd '$(1)' && cmake . -DCMAKE_TOOLCHAIN_FILE='$(CMAKE_TOOLCHAIN_FILE)'
+    $(MAKE) -C '$(1)' -j '$(JOBS)' install VERBOSE=1
+
+    # note: don't use -Werror with GCC 4.7.0 and .1
+    '$(TARGET)-g++' \
+        -W -Wall \
+        '$(2).cpp' -o '$(PREFIX)/$(TARGET)/bin/test-armadillo.exe' \
+        -larmadillo -llapack -lblas -lgfortran
+        -lboost_serialization-mt -lboost_thread_win32-mt -lboost_system-mt
+endef
--- a/src/boost.mk	Wed Jul 11 22:25:15 2012 +0200
+++ b/src/boost.mk	Tue Sep 18 14:19:24 2012 -0700
@@ -3,7 +3,7 @@
 
 PKG             := boost
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := ee06f89ed472cf369573f8acf9819fbc7173344e
+$(PKG)_CHECKSUM := 52ef06895b97cc9981b8abf1997c375ca79f30c5
 $(PKG)_SUBDIR   := boost_$(subst .,_,$($(PKG)_VERSION))
 $(PKG)_FILE     := boost_$(subst .,_,$($(PKG)_VERSION)).tar.bz2
 $(PKG)_URL      := http://$(SOURCEFORGE_MIRROR)/project/boost/boost/$($(PKG)_VERSION)/$($(PKG)_FILE)
@@ -17,6 +17,8 @@
 endef
 
 define $(PKG)_BUILD
+    # context switched library introduced in boost 1.51.0 does not build
+    rm -r '$(1)/libs/context'
     # old version appears to interfere
     rm -rf '$(PREFIX)/$(TARGET)/include/boost/'
     echo 'using gcc : : $(TARGET)-g++ : <rc>$(TARGET)-windres <archiver>$(TARGET)-ar ;' > '$(1)/user-config.jam'
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/exiv2-issue847.patch	Tue Sep 18 14:19:24 2012 -0700
@@ -0,0 +1,268 @@
+This file is part of MXE.
+See index.html for further information.
+
+These patches have been taken from:
+http://dev.exiv2.org/issues/847
+
+From ffb5b66c5b1aeb77c1f95ef69a573030c6370e0c Mon Sep 17 00:00:00 2001
+From: vog <vog@b7c8b350-86e7-0310-a4b4-de8f6a8f16a3>
+Date: Fri, 14 Sep 2012 16:06:23 +0000
+Subject: [PATCH 1/4] Issue #847: Add recognition of explicit and implicit
+ BeginPageSetup
+
+git-svn-id: svn://dev.exiv2.org/svn/trunk@2869 b7c8b350-86e7-0310-a4b4-de8f6a8f16a3
+---
+ src/epsimage.cpp |   28 ++++++++++++++++++++++------
+ 1 file changed, 22 insertions(+), 6 deletions(-)
+
+diff --git a/src/epsimage.cpp b/src/epsimage.cpp
+index c937942..51e5bb4 100644
+--- a/src/epsimage.cpp
++++ b/src/epsimage.cpp
+@@ -386,6 +386,7 @@ namespace {
+         size_t posBeginPhotoshop = posEndEps;
+         size_t posEndPhotoshop = posEndEps;
+         size_t posPage = posEndEps;
++        size_t posBeginPageSetup = posEndEps;
+         size_t posEndPageSetup = posEndEps;
+         size_t posPageTrailer = posEndEps;
+         size_t posEof = posEndEps;
+@@ -397,7 +398,6 @@ namespace {
+         bool implicitPage = false;
+         bool implicitPageTrailer = false;
+         bool inDefaultsPreviewPrologSetup = false;
+-        bool inPageSetup = false;
+         bool inRemovableEmbedding = false;
+         std::string removableEmbeddingEndLine;
+         unsigned int removableEmbeddingsWithUnmarkedTrailer = 0;
+@@ -465,7 +465,7 @@ namespace {
+                 #endif
+                 throw Error(write ? 21 : 14);
+             } else if (line == "%%BeginPageSetup") {
+-                inPageSetup = true;
++                posBeginPageSetup = startPos;
+             } else if (!inRemovableEmbedding && line == "%Exiv2BeginXMP: Before %%EndPageSetup") {
+                 inRemovableEmbedding = true;
+                 removableEmbeddings.push_back(std::make_pair(startPos, startPos));
+@@ -510,18 +510,34 @@ namespace {
+             if (posPage == posEndEps && posEndComments != posEndEps && !inDefaultsPreviewPrologSetup && !inRemovableEmbedding && !onlyWhitespaces(line)) {
+                 posPage = startPos;
+                 implicitPage = true;
++                posBeginPageSetup = startPos;
+                 posEndPageSetup = startPos;
+                 #ifdef DEBUG
+-                EXV_DEBUG << "readWriteEpsMetadata: Found implicit Page and EndPageSetup at position: " << startPos << "\n";
++                EXV_DEBUG << "readWriteEpsMetadata: Found implicit Page, BeginPageSetup and EndPageSetup at position: " << startPos << "\n";
+                 #endif
+             }
+-            if (posEndPageSetup == posEndEps && posPage != posEndEps && !inPageSetup && !inRemovableEmbedding && line.size() >= 1 && line[0] != '%') {
++            if (posBeginPageSetup == posEndEps && posPage != posEndEps && !inRemovableEmbedding && line.size() >= 1 && line[0] != '%') {
++                posBeginPageSetup = startPos;
+                 posEndPageSetup = startPos;
+                 #ifdef DEBUG
+-                EXV_DEBUG << "readWriteEpsMetadata: Found implicit EndPageSetup at position: " << startPos << "\n";
++                EXV_DEBUG << "readWriteEpsMetadata: Found implicit BeginPageSetup and EndPageSetup at position: " << startPos << "\n";
+                 #endif
+             }
+             if (line.size() >= 1 && line[0] != '%') continue; // performance optimization
++            if (line == "%%EOF" || line == "%%Trailer" || line == "%%PageTrailer") {
++                if (posBeginPageSetup == posEndEps) {
++                    posBeginPageSetup = startPos;
++                    #ifdef DEBUG
++                    EXV_DEBUG << "readWriteEpsMetadata: Found implicit BeginPageSetup at position: " << startPos << "\n";
++                    #endif
++                }
++                if (posEndPageSetup == posEndEps) {
++                    posEndPageSetup = startPos;
++                    #ifdef DEBUG
++                    EXV_DEBUG << "readWriteEpsMetadata: Found implicit EndPageSetup at position: " << startPos << "\n";
++                    #endif
++                }
++            }
+             if (line == "%%EOF" || line == "%%Trailer") {
+                 if (posPageTrailer == posEndEps) {
+                     posPageTrailer = startPos;
+@@ -561,7 +577,6 @@ namespace {
+             } else if (line == "%%EndSetup") {
+                 inDefaultsPreviewPrologSetup = false;
+             } else if (posEndPageSetup == posEndEps && line == "%%EndPageSetup") {
+-                inPageSetup = false;
+                 posEndPageSetup = startPos;
+             } else if (posPageTrailer == posEndEps && line == "%%PageTrailer") {
+                 posPageTrailer = startPos;
+@@ -815,6 +830,7 @@ namespace {
+             positions.push_back(posExiv2Website);
+             positions.push_back(posEndComments);
+             positions.push_back(posPage);
++            positions.push_back(posBeginPageSetup);
+             positions.push_back(posEndPageSetup);
+             positions.push_back(posPageTrailer);
+             positions.push_back(posEof);
+-- 
+1.7.10.4
+
+From f8c9c6114bf7631bb0dba67582c2666b05b2ff9f Mon Sep 17 00:00:00 2001
+From: vog <vog@b7c8b350-86e7-0310-a4b4-de8f6a8f16a3>
+Date: Fri, 14 Sep 2012 16:06:26 +0000
+Subject: [PATCH 2/4] Issue #847: Always insert BeginPageSetup/EndPageSetup
+ when missing
+
+git-svn-id: svn://dev.exiv2.org/svn/trunk@2870 b7c8b350-86e7-0310-a4b4-de8f6a8f16a3
+---
+ src/epsimage.cpp |   21 ++++++++++++++-------
+ 1 file changed, 14 insertions(+), 7 deletions(-)
+
+diff --git a/src/epsimage.cpp b/src/epsimage.cpp
+index 51e5bb4..9276eb5 100644
+--- a/src/epsimage.cpp
++++ b/src/epsimage.cpp
+@@ -935,6 +935,11 @@ namespace {
+                         writeTemp(*tempIo, "%%EndPageComments" + lineEnding);
+                     }
+                 }
++                if (pos == posBeginPageSetup) {
++                    if (line != "%%BeginPageSetup") {
++                        writeTemp(*tempIo, "%%BeginPageSetup" + lineEnding);
++                    }
++                }
+                 if (useFlexibleEmbedding) {
+                     // insert XMP metadata into existing flexible embedding
+                     if (pos == xmpPos) {
+@@ -947,7 +952,8 @@ namespace {
+                         EXV_DEBUG << "readWriteEpsMetadata: Skipping to " << skipPos << " at " << __FILE__ << ":" << __LINE__ << "\n";
+                         #endif
+                     }
+-                } else {
++                }
++                if (!useFlexibleEmbedding) {
+                     // remove preceding embedding(s)
+                     for (std::vector<std::pair<size_t, size_t> >::const_iterator e = removableEmbeddings.begin(); e != removableEmbeddings.end(); e++) {
+                         if (pos == e->first) {
+@@ -960,9 +966,6 @@ namespace {
+                     }
+                     // insert XMP metadata with new flexible embedding, if necessary
+                     if (pos == posEndPageSetup && !deleteXmp) {
+-                        if (line != "%%EndPageSetup") {
+-                            writeTemp(*tempIo, "%%BeginPageSetup" + lineEnding);
+-                        }
+                         writeTemp(*tempIo, "%Exiv2BeginXMP: Before %%EndPageSetup" + lineEnding);
+                         if (corelDraw) {
+                             writeTemp(*tempIo, "%Exiv2Notice: The following line is needed by CorelDRAW." + lineEnding);
+@@ -1004,10 +1007,14 @@ namespace {
+                             writeTemp(*tempIo, "@sv" + lineEnding);
+                         }
+                         writeTemp(*tempIo, "%Exiv2EndXMP" + lineEnding);
+-                        if (line != "%%EndPageSetup") {
+-                            writeTemp(*tempIo, "%%EndPageSetup" + lineEnding);
+-                        }
+                     }
++                }
++                if (pos == posEndPageSetup) {
++                    if (line != "%%EndPageSetup") {
++                        writeTemp(*tempIo, "%%EndPageSetup" + lineEnding);
++                    }
++                }
++                if (!useFlexibleEmbedding) {
+                     if (pos == posPageTrailer && !deleteXmp) {
+                         if (!implicitPageTrailer) {
+                             skipPos = posLineEnd;
+-- 
+1.7.10.4
+
+From b22ff432f0205d77d1b9e0ad2cd314ab6cdf20b0 Mon Sep 17 00:00:00 2001
+From: vog <vog@b7c8b350-86e7-0310-a4b4-de8f6a8f16a3>
+Date: Fri, 14 Sep 2012 16:06:29 +0000
+Subject: [PATCH 3/4] Issue #847: Split recognition of implicit Page,
+ BeginPageSetup and EndPageSetup
+
+git-svn-id: svn://dev.exiv2.org/svn/trunk@2871 b7c8b350-86e7-0310-a4b4-de8f6a8f16a3
+---
+ src/epsimage.cpp |   17 ++++++++++++-----
+ 1 file changed, 12 insertions(+), 5 deletions(-)
+
+diff --git a/src/epsimage.cpp b/src/epsimage.cpp
+index 9276eb5..57051a1 100644
+--- a/src/epsimage.cpp
++++ b/src/epsimage.cpp
+@@ -396,6 +396,7 @@ namespace {
+         bool illustrator8 = false;
+         bool corelDraw = false;
+         bool implicitPage = false;
++        bool implicitPageSetup = false;
+         bool implicitPageTrailer = false;
+         bool inDefaultsPreviewPrologSetup = false;
+         bool inRemovableEmbedding = false;
+@@ -510,29 +511,35 @@ namespace {
+             if (posPage == posEndEps && posEndComments != posEndEps && !inDefaultsPreviewPrologSetup && !inRemovableEmbedding && !onlyWhitespaces(line)) {
+                 posPage = startPos;
+                 implicitPage = true;
+-                posBeginPageSetup = startPos;
+-                posEndPageSetup = startPos;
+                 #ifdef DEBUG
+-                EXV_DEBUG << "readWriteEpsMetadata: Found implicit Page, BeginPageSetup and EndPageSetup at position: " << startPos << "\n";
++                EXV_DEBUG << "readWriteEpsMetadata: Found implicit Page at position: " << startPos << "\n";
+                 #endif
+             }
+-            if (posBeginPageSetup == posEndEps && posPage != posEndEps && !inRemovableEmbedding && line.size() >= 1 && line[0] != '%') {
++            if (posBeginPageSetup == posEndEps && (implicitPage || (posPage != posEndEps && !inRemovableEmbedding && line.size() >= 1 && line[0] != '%'))) {
+                 posBeginPageSetup = startPos;
++                implicitPageSetup = true;
++                #ifdef DEBUG
++                EXV_DEBUG << "readWriteEpsMetadata: Found implicit BeginPageSetup at position: " << startPos << "\n";
++                #endif
++            }
++            if (posEndPageSetup == posEndEps && implicitPageSetup) {
+                 posEndPageSetup = startPos;
+                 #ifdef DEBUG
+-                EXV_DEBUG << "readWriteEpsMetadata: Found implicit BeginPageSetup and EndPageSetup at position: " << startPos << "\n";
++                EXV_DEBUG << "readWriteEpsMetadata: Found implicit EndPageSetup at position: " << startPos << "\n";
+                 #endif
+             }
+             if (line.size() >= 1 && line[0] != '%') continue; // performance optimization
+             if (line == "%%EOF" || line == "%%Trailer" || line == "%%PageTrailer") {
+                 if (posBeginPageSetup == posEndEps) {
+                     posBeginPageSetup = startPos;
++                    implicitPageSetup = true;
+                     #ifdef DEBUG
+                     EXV_DEBUG << "readWriteEpsMetadata: Found implicit BeginPageSetup at position: " << startPos << "\n";
+                     #endif
+                 }
+                 if (posEndPageSetup == posEndEps) {
+                     posEndPageSetup = startPos;
++                    implicitPageSetup = true;
+                     #ifdef DEBUG
+                     EXV_DEBUG << "readWriteEpsMetadata: Found implicit EndPageSetup at position: " << startPos << "\n";
+                     #endif
+-- 
+1.7.10.4
+
+From 41fb1a2ff54a9377763e4a66544c2234f9b055c8 Mon Sep 17 00:00:00 2001
+From: vog <vog@b7c8b350-86e7-0310-a4b4-de8f6a8f16a3>
+Date: Fri, 14 Sep 2012 17:01:36 +0000
+Subject: [PATCH 4/4] Issue #847: Ensure that Photoshop will always recognize
+ modified Photoshop EPS files
+
+For a full description of this issue, see:
+http://dev.exiv2.org/issues/847
+
+git-svn-id: svn://dev.exiv2.org/svn/trunk@2873 b7c8b350-86e7-0310-a4b4-de8f6a8f16a3
+---
+ src/epsimage.cpp |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/epsimage.cpp b/src/epsimage.cpp
+index 57051a1..4a0ca3a 100644
+--- a/src/epsimage.cpp
++++ b/src/epsimage.cpp
+@@ -522,7 +522,7 @@ namespace {
+                 EXV_DEBUG << "readWriteEpsMetadata: Found implicit BeginPageSetup at position: " << startPos << "\n";
+                 #endif
+             }
+-            if (posEndPageSetup == posEndEps && implicitPageSetup) {
++            if (posEndPageSetup == posEndEps && implicitPageSetup && !inRemovableEmbedding && line.size() >= 1 && line[0] != '%') {
+                 posEndPageSetup = startPos;
+                 #ifdef DEBUG
+                 EXV_DEBUG << "readWriteEpsMetadata: Found implicit EndPageSetup at position: " << startPos << "\n";
+-- 
+1.7.10.4
+
--- a/src/fontconfig.mk	Wed Jul 11 22:25:15 2012 +0200
+++ b/src/fontconfig.mk	Tue Sep 18 14:19:24 2012 -0700
@@ -3,9 +3,9 @@
 
 PKG             := fontconfig
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := d47c6fa5693f91e274d655b5644dd333716c1395
+$(PKG)_CHECKSUM := c51c9865047a9546f41cedefbf955cc9bd846517
 $(PKG)_SUBDIR   := fontconfig-$($(PKG)_VERSION)
-$(PKG)_FILE     := fontconfig-$($(PKG)_VERSION).tar.gz
+$(PKG)_FILE     := fontconfig-$($(PKG)_VERSION).tar.bz2
 $(PKG)_URL      := http://fontconfig.org/release/$($(PKG)_FILE)
 $(PKG)_DEPS     := gcc freetype expat
 
--- a/src/fribidi-1-fixes.patch	Wed Jul 11 22:25:15 2012 +0200
+++ b/src/fribidi-1-fixes.patch	Tue Sep 18 14:19:24 2012 -0700
@@ -1,14 +1,14 @@
 This file is part of MXE.
 See index.html for further information.
 
-From 76bd700b45f139679f16e649354eb23a99317b44 Mon Sep 17 00:00:00 2001
+From c4dc7b368af33821eca1be8a4ec88929b44f3d06 Mon Sep 17 00:00:00 2001
 From: Mark Brand <mabrand@mabrand.nl>
 Date: Tue, 17 Jul 2012 10:07:07 +0200
 Subject: [PATCH] only include glib.h
 
 
 diff --git a/charset/fribidi-char-sets.c b/charset/fribidi-char-sets.c
-index 9de05f8..8e8df8b 100644
+index 5d45e74..e596dee 100644
 --- a/charset/fribidi-char-sets.c
 +++ b/charset/fribidi-char-sets.c
 @@ -114,7 +114,7 @@ static FriBidiCharSetHandler char_sets[FRIBIDI_CHAR_SETS_NUM + 1] = {
@@ -20,63 +20,8 @@
  # define fribidi_strcasecmp g_ascii_strcasecmp
  #else /* !FRIBIDI_USE_GLIB */
  static char
-diff --git a/lib/common.h b/lib/common.h
-index 7615ccc..f4bf357 100644
---- a/lib/common.h
-+++ b/lib/common.h
-@@ -57,7 +57,7 @@
- #  define SIZEOF_VOID_P GLIB_SIZEOF_VOID_P
- # endif	/* !SIZEOF_VOID_P */
- # ifndef __FRIBIDI_DOC
--#  include <glib/gmem.h>
-+#  include <glib.h>
- # endif	/* !__FRIBIDI_DOC */
- # ifndef fribidi_malloc
- #  define fribidi_malloc g_try_malloc
-@@ -65,12 +65,12 @@
- # endif	/* !fribidi_malloc */
- # ifndef fribidi_assert
- #  ifndef __FRIBIDI_DOC
--#   include <glib/gmessages.h>
-+#   include <glib.h>
- #  endif /* !__FRIBIDI_DOC */
- #  define fribidi_assert g_assert
- # endif	/* !fribidi_assert */
- # ifndef __FRIBIDI_DOC
--#  include <glib/gmacros.h>
-+#  include <glib.h>
- # endif	/* !__FRIBIDI_DOC */
- # ifndef FRIBIDI_BEGIN_STMT
- #  define FRIBIDI_BEGIN_STMT G_STMT_START {
-diff --git a/lib/fribidi-common.h b/lib/fribidi-common.h
-index 4724913..6010b84 100644
---- a/lib/fribidi-common.h
-+++ b/lib/fribidi-common.h
-@@ -62,7 +62,7 @@
- 
- #if FRIBIDI_USE_GLIB+0
- # ifndef __FRIBIDI_DOC
--#  include <glib/gmacros.h>
-+#  include <glib.h>
- # endif	/* !__FRIBIDI_DOC */
- # define FRIBIDI_BEGIN_DECLS		G_BEGIN_DECLS
- # define FRIBIDI_END_DECLS		G_END_DECLS
-diff --git a/lib/fribidi-types.h b/lib/fribidi-types.h
-index 6a72a53..27c9c3d 100644
---- a/lib/fribidi-types.h
-+++ b/lib/fribidi-types.h
-@@ -40,8 +40,7 @@
- 
- #if FRIBIDI_USE_GLIB+0
- # ifndef __FRIBIDI_DOC
--#  include <glib/gtypes.h>
--#  include <glib/gunicode.h>
-+#  include <glib.h>
- # endif	/* !__FRIBIDI_DOC */
- # define FRIBIDI_INT8_LOCAL		gint8
- # define FRIBIDI_INT16_LOCAL		gint16
 diff --git a/lib/mem.h b/lib/mem.h
-index b1208da..60f0a4e 100644
+index c875e0b..031fcc3 100644
 --- a/lib/mem.h
 +++ b/lib/mem.h
 @@ -42,7 +42,7 @@
--- a/src/fribidi.mk	Wed Jul 11 22:25:15 2012 +0200
+++ b/src/fribidi.mk	Tue Sep 18 14:19:24 2012 -0700
@@ -3,9 +3,9 @@
 
 PKG             := fribidi
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := 3889469d96dbca3d8522231672e14cca77de4d5e
+$(PKG)_CHECKSUM := 23d1adf1e929a3fb159345d509918ad109e925ad
 $(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)
-$(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION).tar.gz
+$(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION).tar.bz2
 $(PKG)_URL      := http://fribidi.org/download/$($(PKG)_FILE)
 $(PKG)_DEPS     := gcc glib
 
--- a/src/gcc-mpc.mk	Wed Jul 11 22:25:15 2012 +0200
+++ b/src/gcc-mpc.mk	Tue Sep 18 14:19:24 2012 -0700
@@ -3,7 +3,7 @@
 
 PKG             := gcc-mpc
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := 20af7cc481433c019285a2c1757ac65e244e1e06
+$(PKG)_CHECKSUM := 8c7e19ad0dd9b3b5cc652273403423d6cf0c5edf
 $(PKG)_SUBDIR   := mpc-$($(PKG)_VERSION)
 $(PKG)_FILE     := mpc-$($(PKG)_VERSION).tar.gz
 $(PKG)_URL      := http://www.multiprecision.org/mpc/download/$($(PKG)_FILE)
--- a/src/gcc.mk	Wed Jul 11 22:25:15 2012 +0200
+++ b/src/gcc.mk	Tue Sep 18 14:19:24 2012 -0700
@@ -47,7 +47,8 @@
         --disable-libgomp \
         --disable-libmudflap \
         --with-mpfr-include='$(1)/mpfr/src' \
-        --with-mpfr-lib='$(1).build/mpfr/src/.libs'
+        --with-mpfr-lib='$(1).build/mpfr/src/.libs' \
+        $(shell [ `uname -s` == Darwin ] && echo "LDFLAGS='-Wl,-no_pie'")
     $(MAKE) -C '$(1).build' -j '$(JOBS)'
     $(MAKE) -C '$(1).build' -j 1 install
 
@@ -71,8 +72,6 @@
      echo 'set(CMAKE_CXX_COMPILER $(PREFIX)/bin/$(TARGET)-g++)'; \
      echo 'set(CMAKE_Fortran_COMPILER $(PREFIX)/bin/$(TARGET)-gfortran)'; \
      echo 'set(CMAKE_RC_COMPILER $(PREFIX)/bin/$(TARGET)-windres)'; \
-     echo 'set(CMAKE_AR $(PREFIX)/bin/$(TARGET)-ar)'; \
-     echo 'set(CMAKE_RANLIB $(PREFIX)/bin/$(TARGET)-ranlib)'; \
      echo 'set(PKG_CONFIG_EXECUTABLE $(PREFIX)/bin/$(TARGET)-pkg-config)'; \
      echo 'set(QT_QMAKE_EXECUTABLE $(PREFIX)/bin/$(TARGET)-qmake)'; \
      echo 'set(CMAKE_INSTALL_PREFIX $(PREFIX)/$(TARGET) CACHE PATH "Installation Prefix")'; \
--- a/src/gta.mk	Wed Jul 11 22:25:15 2012 +0200
+++ b/src/gta.mk	Tue Sep 18 14:19:24 2012 -0700
@@ -3,7 +3,7 @@
 
 PKG             := gta
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := 9020944bcd40bd986a879d454d21920a1eb48db7
+$(PKG)_CHECKSUM := dffeb65b0dad66860ab62df1cf8570ea23517c2c
 $(PKG)_SUBDIR   := libgta-$($(PKG)_VERSION)
 $(PKG)_FILE     := libgta-$($(PKG)_VERSION).tar.xz
 $(PKG)_URL      := http://download.savannah.gnu.org/releases/gta/$($(PKG)_FILE)
--- a/src/lapack.mk	Wed Jul 11 22:25:15 2012 +0200
+++ b/src/lapack.mk	Tue Sep 18 14:19:24 2012 -0700
@@ -19,6 +19,8 @@
 define $(PKG)_BUILD
     cd '$(1)' && cmake \
         -DCMAKE_TOOLCHAIN_FILE='$(CMAKE_TOOLCHAIN_FILE)' \
+        -DCMAKE_AR='$(PREFIX)/bin/$(TARGET)-ar' \
+        -DCMAKE_RANLIB='$(PREFIX)/bin/$(TARGET)-ranlib' \
         .
     $(MAKE) -C '$(1)/SRC' -j '$(JOBS)' install
 
--- a/src/lcms.mk	Wed Jul 11 22:25:15 2012 +0200
+++ b/src/lcms.mk	Tue Sep 18 14:19:24 2012 -0700
@@ -3,7 +3,7 @@
 
 PKG             := lcms
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := 67d5fabda2f5777ca8387766539b9c871d993133
+$(PKG)_CHECKSUM := 9944902864283af49e4e21a1ca456db4e04ea7c2
 $(PKG)_SUBDIR   := $(PKG)$(word 1,$(subst ., ,$($(PKG)_VERSION)))-$(subst a,,$($(PKG)_VERSION))
 $(PKG)_FILE     := $(PKG)$(word 1,$(subst ., ,$($(PKG)_VERSION)))-$(subst a,,$($(PKG)_VERSION)).tar.gz
 $(PKG)_URL      := http://$(SOURCEFORGE_MIRROR)/project/$(PKG)/$(PKG)/$(subst a,,$($(PKG)_VERSION))/$($(PKG)_FILE)
--- a/src/libevent.mk	Wed Jul 11 22:25:15 2012 +0200
+++ b/src/libevent.mk	Tue Sep 18 14:19:24 2012 -0700
@@ -3,7 +3,7 @@
 
 PKG             := libevent
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := 28c109190345ce5469add8cf3f45c5dd57fe2a85
+$(PKG)_CHECKSUM := 20bb4a1a296ac93c08dfc32ae19ab874cab67a0c
 $(PKG)_SUBDIR   := libevent-$($(PKG)_VERSION)-stable
 $(PKG)_FILE     := libevent-$($(PKG)_VERSION)-stable.tar.gz
 $(PKG)_URL      := https://github.com/downloads/$(PKG)/$(PKG)/$($(PKG)_FILE)
--- a/src/libgda.mk	Wed Jul 11 22:25:15 2012 +0200
+++ b/src/libgda.mk	Tue Sep 18 14:19:24 2012 -0700
@@ -16,6 +16,9 @@
 endef
 
 define $(PKG)_BUILD
+    $(SED) -i 's,glib-mkenums,'$(PREFIX)/$(TARGET)/bin/glib-mkenums',g' '$(1)/libgda/Makefile.in'
+    $(SED) -i 's,glib-mkenums,'$(PREFIX)/$(TARGET)/bin/glib-mkenums',g' '$(1)/libgda/sql-parser/Makefile.in'
+    $(SED) -i 's,glib-mkenums,'$(PREFIX)/$(TARGET)/bin/glib-mkenums',g' '$(1)/libgda-ui/Makefile.in'
     cd '$(1)' && ./configure \
         --host='$(TARGET)' \
         --prefix='$(PREFIX)/$(TARGET)' \
@@ -28,7 +31,8 @@
         --without-firebird \
         --without-java \
         --enable-binreloc \
-        --disable-crypto
+        --disable-crypto \
+        GLIB_GENMARSHAL='$(PREFIX)/$(TARGET)/bin/glib-genmarshal'
     $(MAKE) -C '$(1)' -j '$(JOBS)' bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS=
     $(MAKE) -C '$(1)' -j 1 install bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS=
 endef
--- a/src/librsvg.mk	Wed Jul 11 22:25:15 2012 +0200
+++ b/src/librsvg.mk	Tue Sep 18 14:19:24 2012 -0700
@@ -3,7 +3,7 @@
 
 PKG             := librsvg
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := a6de823d24f927cda72d80b47a05866e3210180e
+$(PKG)_CHECKSUM := 8ac22591c9db273355cf895f7e87aac149f64437
 $(PKG)_SUBDIR   := librsvg-$($(PKG)_VERSION)
 $(PKG)_FILE     := librsvg-$($(PKG)_VERSION).tar.xz
 $(PKG)_URL      := http://ftp.gnome.org/pub/GNOME/sources/librsvg/$(call SHORT_PKG_VERSION,$(PKG))/$($(PKG)_FILE)
--- a/src/libssh2-1-fixes.patch	Wed Jul 11 22:25:15 2012 +0200
+++ b/src/libssh2-1-fixes.patch	Tue Sep 18 14:19:24 2012 -0700
@@ -1,32 +1,52 @@
 This file is part of MXE.
 See index.html for further information.
 
-From 6b8a3edae23dc93cc02e6c9572d0796e338ddc4f Mon Sep 17 00:00:00 2001
-From: Mark Brand <mabrand@mabrand.nl>
-Date: Sat, 19 May 2012 10:40:36 +0200
-Subject: [PATCH] libgcrypt does not provide pkg-config support
+From 0e2179c67d0cd618be29b30425bda18c23a2ddf0 Mon Sep 17 00:00:00 2001
+From: Dmitry Smirnov <onlyjob@member.fsf.org>
+Date: Mon, 13 Aug 2012 23:34:51 +0200
+Subject: [PATCH 1/2] configure: gcrypt doesn't come with pkg-config support
 
-Commits 04692445d4a32430610ccf8c256e18245cbb3e06
-and e887a8bd0f043fd49e9119756858e75e82dee504 add
-'libgcrypt' to Requires.private of libssh2.pc
-file, but libgcrypt does not provide a .pc file, so
-this does not work.
----
- configure.ac |    1 -
- 1 file changed, 1 deletion(-)
+... so use plain old -lgcrypt to the linker to link with it.
+
+Fixes #225
+(cherry picked from commit e470738a0cf302abfd2891b80dbac4ac3e7eedd2)
 
 diff --git a/configure.ac b/configure.ac
-index aa9d397..0d35a27 100644
+index aa9d397..dfc6988 100644
 --- a/configure.ac
 +++ b/configure.ac
-@@ -102,7 +102,6 @@ fi
+@@ -102,7 +102,7 @@ fi
  # Look for libgcrypt
  if test "$ac_cv_libssl" != "yes" && test "$use_libgcrypt" != "no"; then
    AC_LIB_HAVE_LINKFLAGS([gcrypt], [], [#include <gcrypt.h>])
 -  LIBSREQUIRED=libgcrypt
++  LIBS="$LIBS -lgcrypt"
  fi
  
  AC_SUBST(LIBSREQUIRED)
 -- 
-1.7.9.2
+1.7.10.4
+
+
+From 75ecbf4e5ca3c977418f60db42ba03c13d0e68f9 Mon Sep 17 00:00:00 2001
+From: Mark Brand <mabrand@mabrand.nl>
+Date: Sun, 2 Sep 2012 00:55:28 +0200
+Subject: [PATCH 2/2] include gpg-error with gcrypt for static linking
+ (mxe-specific)
+
 
+diff --git a/configure.ac b/configure.ac
+index dfc6988..748dd21 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -103,6 +103,7 @@ fi
+ if test "$ac_cv_libssl" != "yes" && test "$use_libgcrypt" != "no"; then
+   AC_LIB_HAVE_LINKFLAGS([gcrypt], [], [#include <gcrypt.h>])
+   LIBS="$LIBS -lgcrypt"
++  LIBS="$LIBS `${prefix}/bin/gpg-error-config --libs`"
+ fi
+ 
+ AC_SUBST(LIBSREQUIRED)
+-- 
+1.7.10.4
+
--- a/src/libssh2.mk	Wed Jul 11 22:25:15 2012 +0200
+++ b/src/libssh2.mk	Tue Sep 18 14:19:24 2012 -0700
@@ -24,8 +24,7 @@
         --prefix='$(PREFIX)/$(TARGET)' \
         --without-openssl \
         --with-libgcrypt \
-        PKG_CONFIG='$(TARGET)-pkg-config' \
-        LIBS="-lgcrypt `$(PREFIX)/$(TARGET)/bin/gpg-error-config --libs`"
+        PKG_CONFIG='$(TARGET)-pkg-config'
     $(MAKE) -C '$(1)' -j '$(JOBS)' install bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS= html_DATA=
 
     '$(TARGET)-gcc' \
--- a/src/libvpx-1-fixes.patch	Wed Jul 11 22:25:15 2012 +0200
+++ b/src/libvpx-1-fixes.patch	Tue Sep 18 14:19:24 2012 -0700
@@ -1,14 +1,13 @@
-# This file is part of MXE.
-# See index.html for further information.
+This file is part of MXE.
+See index.html for further information.
 
-From 0db7805768cb8be8dfe2c95f451fd5965b2b52b7 Mon Sep 17 00:00:00 2001
-From: Mark Brand <mabrand@mabrand.nl>
+Contains ad hoc patches for cross building.
+
+From 01c0e284b4d458fade9f8b2288863f3dd4dbc81a Mon Sep 17 00:00:00 2001
+From: MXE
 Date: Fri, 25 May 2012 23:36:41 +0200
-Subject: [PATCH 1/3] add Libs.private to vpx.pc
+Subject: [PATCH 1/4] add Libs.private to vpx.pc
 
----
- libs.mk |    1 +
- 1 file changed, 1 insertion(+)
 
 diff --git a/libs.mk b/libs.mk
 index e2ba737..209f77e 100644
@@ -23,17 +22,14 @@
  INSTALL-LIBS-yes += $(LIBSUBDIR)/pkgconfig/vpx.pc
  INSTALL_MAPS += $(LIBSUBDIR)/pkgconfig/%.pc %.pc
 -- 
-1.7.9.2
+1.7.11.5
 
 
-From 5805ff3f9f16036b7556d74b2874a6d18ea655fa Mon Sep 17 00:00:00 2001
-From: Mark Brand <mabrand@mabrand.nl>
+From 73c1c32c41b75a432fbe092fb621474a760d0f51 Mon Sep 17 00:00:00 2001
+From: MXE
 Date: Fri, 25 May 2012 23:40:00 +0200
-Subject: [PATCH 2/3] linking as test is not good for cross compiling
+Subject: [PATCH 2/4] linking as test is not good for cross compiling
 
----
- configure |    3 ---
- 1 file changed, 3 deletions(-)
 
 diff --git a/configure b/configure
 index 62e1ffb..0c4faf9 100755
@@ -50,24 +46,14 @@
      check_header stdint.h
      check_header pthread.h
 -- 
-1.7.9.2
+1.7.11.5
 
 
-From bf308b8ed07f8bf0e9c648314e1f3c070a647731 Mon Sep 17 00:00:00 2001
-From: Mark Brand <mabrand@mabrand.nl>
+From 88bedac576559c599f3084b4eaa61a2ef85cfd06 Mon Sep 17 00:00:00 2001
+From: MXE
 Date: Fri, 25 May 2012 23:40:55 +0200
-Subject: [PATCH 3/3] fix bin/bash
+Subject: [PATCH 3/4] fix bin/bash
 
----
- build/make/armlink_adapter.sh |    2 +-
- build/make/configure.sh       |    2 +-
- build/make/gen_asm_deps.sh    |    2 +-
- build/make/gen_msvs_def.sh    |    2 +-
- build/make/gen_msvs_proj.sh   |    2 +-
- build/make/gen_msvs_sln.sh    |    2 +-
- build/make/version.sh         |    2 +-
- configure                     |    2 +-
- 8 files changed, 8 insertions(+), 8 deletions(-)
 
 diff --git a/build/make/armlink_adapter.sh b/build/make/armlink_adapter.sh
 index b53669c..71cf7e9 100755
@@ -150,5 +136,30 @@
  ##  configure
  ##
 -- 
-1.7.9.2
+1.7.11.5
+
+
+From 3d905203699e813027233bd0f19b05d44b98470d Mon Sep 17 00:00:00 2001
+From: MXE
+Date: Mon, 17 Sep 2012 20:23:14 +1000
+Subject: [PATCH 4/4] Fix for building on OSX
+
+Taken from:
+https://gerrit.chromium.org/gerrit/#/c/26027/
 
+diff --git a/build/make/gen_asm_deps.sh b/build/make/gen_asm_deps.sh
+index 81b7095..158ec34 100755
+--- a/build/make/gen_asm_deps.sh
++++ b/build/make/gen_asm_deps.sh
+@@ -42,7 +42,7 @@ done
+ 
+ [ -n "$srcfile" ] || show_help
+ sfx=${sfx:-asm}
+-includes=$(LC_ALL=C egrep -i "include +\"?+[a-z0-9_/]+\.${sfx}" $srcfile |
++includes=$(LC_ALL=C egrep -i "include +\"?[a-z0-9_/]+\.${sfx}" $srcfile |
+            perl -p -e "s;.*?([a-z0-9_/]+.${sfx}).*;\1;")
+ #" restore editor state
+ for inc in ${includes}; do
+-- 
+1.7.11.5
+
--- a/src/libxslt.mk	Wed Jul 11 22:25:15 2012 +0200
+++ b/src/libxslt.mk	Tue Sep 18 14:19:24 2012 -0700
@@ -3,7 +3,7 @@
 
 PKG             := libxslt
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := 69f74df8228b504a87e2b257c2d5238281c65154
+$(PKG)_CHECKSUM := f8072177f1ffe1b9bb8759a9e3e6349e1eac1f66
 $(PKG)_SUBDIR   := libxslt-$($(PKG)_VERSION)
 $(PKG)_FILE     := libxslt-$($(PKG)_VERSION).tar.gz
 $(PKG)_URL      := ftp://xmlsoft.org/libxslt/$($(PKG)_FILE)
--- a/src/mdbtools-1-header.patch	Wed Jul 11 22:25:15 2012 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,15 +0,0 @@
-This file is part of MXE.
-See index.html for further information.
-
-diff -ur mdbtools-0.6pre1-orig//include/mdbtools.h mdbtools-0.6pre1//include/mdbtools.h
---- mdbtools-0.6pre1-orig//include/mdbtools.h	2011-06-01 00:07:12.336088034 +0900
-+++ mdbtools-0.6pre1//include/mdbtools.h	2011-06-01 00:10:51.536088143 +0900
-@@ -147,7 +147,7 @@
- #define IS_JET3(mdb) (mdb->f->jet_version==MDB_VER_JET3)
-
- /* hash to store registered backends */
--extern GHashTable	*mdb_backends;
-+static GHashTable	*mdb_backends;
-
- /* forward declarations */
- typedef struct mdbindex MdbIndex;
--- a/src/mdbtools.mk	Wed Jul 11 22:25:15 2012 +0200
+++ b/src/mdbtools.mk	Tue Sep 18 14:19:24 2012 -0700
@@ -4,21 +4,25 @@
 # mdbtools
 PKG             := mdbtools
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := 37a50d623a444ec690d2677b12b59c2f11e497c0
-$(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)
+$(PKG)_CHECKSUM := 62fe0703fd8691e4536e1012317406bdb72594cf
+$(PKG)_SUBDIR   := brianb-mdbtools-004cc9f
 $(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION).tar.gz
-$(PKG)_URL      := http://$(SOURCEFORGE_MIRROR)/project/$(PKG)/$(PKG)/$($(PKG)_VERSION)/$($(PKG)_FILE)
+$(PKG)_URL      := http://github.com/brianb/$(PKG)/tarball/$($(PKG)_VERSION)/$($(PKG)_FILE)
 $(PKG)_DEPS     := gcc glib
 
 define $(PKG)_UPDATE
-    $(WGET) -q -O- 'http://sourceforge.net/projects/mdbtools/files/mdbtools/' | \
-    $(SED) -n 's,.*/\([0-9][^"]*\)/".*,\1,p' | \
+    $(WGET) -q -O- 'https://github.com/brianb/mdbtools/tags' | \
+    grep '<a href="/brianb/mdbtools/tarball/' | \
+    $(SED) -n 's,.*href="/brianb/mdbtools/tarball/\([0-9][^"_]*\)".*,\1,p' | \
     head -1
 endef
 
 define $(PKG)_BUILD
+    '$(SED)' -i 's/libtooloze/libtoolize/g;' '$(1)/autogen.sh'
+    cd '$(1)' && NOCONFIGURE=1 ./autogen.sh
     cd '$(1)' && ./configure \
         --host='$(TARGET)' \
+        --build="`config.guess`" \
         --disable-shared \
         --prefix='$(PREFIX)/$(TARGET)' \
         PKG_CONFIG='$(PREFIX)/bin/$(TARGET)-pkg-config'
--- a/src/openal.mk	Wed Jul 11 22:25:15 2012 +0200
+++ b/src/openal.mk	Tue Sep 18 14:19:24 2012 -0700
@@ -18,7 +18,8 @@
 define $(PKG)_BUILD
     cd '$(1)/build' && cmake .. \
         -DCMAKE_TOOLCHAIN_FILE='$(CMAKE_TOOLCHAIN_FILE)' \
-        -DLIBTYPE=STATIC
+        -DLIBTYPE=STATIC \
+        -DEXAMPLES=FALSE
     $(MAKE) -C '$(1)/build' -j '$(JOBS)' install
 
     '$(TARGET)-gcc' \
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/plibc.mk	Tue Sep 18 14:19:24 2012 -0700
@@ -0,0 +1,26 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := plibc
+$(PKG)_IGNORE   :=
+$(PKG)_CHECKSUM := b545c602dc5b381fcea9d096910dede95168fbeb
+$(PKG)_SUBDIR   := PlibC-$($(PKG)_VERSION)
+$(PKG)_FILE     := plibc-$($(PKG)_VERSION)-src.tar.gz
+$(PKG)_URL      := http://sourceforge.net/projects/plibc/files/plibc/$($(PKG)_VERSION)/$($(PKG)_FILE)/download
+$(PKG)_DEPS     := gcc
+
+define $(PKG)_UPDATE
+    echo 'TODO: Updates for package plibc  need to be fixed.' >&2;
+    echo $(plibc_VERSION)
+endef
+
+define $(PKG)_BUILD
+    chmod 0755 '$(1)/configure'
+    cd '$(1)' && ./configure \
+        --host='$(TARGET)' \
+        --build="`config.guess`" \
+        --prefix='$(PREFIX)/$(TARGET)' \
+        --enable-static \
+        --disable-shared
+    $(MAKE) -C '$(1)' -j '$(JOBS)' install
+endef
--- a/src/portaudio.mk	Wed Jul 11 22:25:15 2012 +0200
+++ b/src/portaudio.mk	Tue Sep 18 14:19:24 2012 -0700
@@ -23,7 +23,8 @@
         --prefix='$(PREFIX)/$(TARGET)' \
         --with-host_os=mingw \
         --with-winapi=wmme,directx,wasapi,wdmks \
-        --with-dxdir=$(PREFIX)/$(TARGET)
+        --with-dxdir=$(PREFIX)/$(TARGET) \
+        ac_cv_path_AR=$(TARGET)-ar
     $(MAKE) -C '$(1)' -j '$(JOBS)' SHARED_FLAGS= TESTS=
     $(MAKE) -C '$(1)' -j 1 install
 
--- a/src/postgresql-1-fixes.patch	Wed Jul 11 22:25:15 2012 +0200
+++ b/src/postgresql-1-fixes.patch	Tue Sep 18 14:19:24 2012 -0700
@@ -3,17 +3,17 @@
 
 Contains ad hoc patches for cross building.
 
-From a0093acc09e43bf4a1ce6af42b1fdaf9cabb30f9 Mon Sep 17 00:00:00 2001
+From 19c7eeda5108ff34f2c954fb974f06517ad01f7b Mon Sep 17 00:00:00 2001
 From: "a@a.org" <a@a.org>
 Date: Mon, 24 Oct 2011 14:02:33 +0200
 Subject: [PATCH 1/2] use unix style names for openssl on mingw-cross-env
 
 
 diff --git a/configure.in b/configure.in
-index 696533e..a47bd9d 100644
+index 4ea90f0..be9c1d9 100644
 --- a/configure.in
 +++ b/configure.in
-@@ -943,13 +943,8 @@ fi
+@@ -926,13 +926,8 @@ fi
  
  if test "$with_openssl" = yes ; then
    dnl Order matters!
@@ -30,30 +30,30 @@
  
  if test "$with_pam" = yes ; then
 -- 
-1.7.11.4
+1.7.10.4
 
 
-From 0347e52b2da42d3d2d988aca6ca9eb09a8db353d Mon Sep 17 00:00:00 2001
+From 6faf5d9d9431e71758aab37c27bb422fd933fabb Mon Sep 17 00:00:00 2001
 From: "a@a.org" <a@a.org>
 Date: Mon, 24 Oct 2011 14:09:38 +0200
 Subject: [PATCH 2/2] do not check autoconf version
 
 
 diff --git a/configure.in b/configure.in
-index a47bd9d..c132e94 100644
+index be9c1d9..ee2f6bb 100644
 --- a/configure.in
 +++ b/configure.in
 @@ -19,10 +19,6 @@ m4_pattern_forbid(^PGAC_)dnl to catch undefined macros
  
- AC_INIT([PostgreSQL], [9.1.5], [pgsql-bugs@postgresql.org])
+ AC_INIT([PostgreSQL], [9.2.0], [pgsql-bugs@postgresql.org])
  
 -m4_if(m4_defn([m4_PACKAGE_VERSION]), [2.63], [], [m4_fatal([Autoconf version 2.63 is required.
 -Untested combinations of 'autoconf' and PostgreSQL versions are not
 -recommended.  You can remove the check from 'configure.in' but it is then
 -your responsibility whether the result works or not.])])
- AC_COPYRIGHT([Copyright (c) 1996-2011, PostgreSQL Global Development Group])
+ AC_COPYRIGHT([Copyright (c) 1996-2012, PostgreSQL Global Development Group])
  AC_CONFIG_SRCDIR([src/backend/access/common/heaptuple.c])
  AC_CONFIG_AUX_DIR(config)
 -- 
-1.7.11.4
+1.7.10.4
 
--- a/src/postgresql.mk	Wed Jul 11 22:25:15 2012 +0200
+++ b/src/postgresql.mk	Tue Sep 18 14:19:24 2012 -0700
@@ -3,7 +3,7 @@
 
 PKG             := postgresql
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := 8411f39e7cff8d691d908de7823b72426433faa2
+$(PKG)_CHECKSUM := 6ab154052dd62bb9b0cf2cd666384f7b25eefaf5
 $(PKG)_SUBDIR   := postgresql-$($(PKG)_VERSION)
 $(PKG)_FILE     := postgresql-$($(PKG)_VERSION).tar.bz2
 $(PKG)_URL      := http://ftp.postgresql.org/pub/source/v$($(PKG)_VERSION)/$($(PKG)_FILE)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/protobuf-test.cpp	Tue Sep 18 14:19:24 2012 -0700
@@ -0,0 +1,9 @@
+#include <google/protobuf/stubs/common.h>
+
+int
+main()
+{
+    GOOGLE_PROTOBUF_VERIFY_VERSION;
+    google::protobuf::ShutdownProtobufLibrary();
+    return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/protobuf.mk	Tue Sep 18 14:19:24 2012 -0700
@@ -0,0 +1,39 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := protobuf
+$(PKG)_IGNORE   :=
+$(PKG)_CHECKSUM := df5867e37a4b51fb69f53a8baf5b994938691d6d
+$(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)
+$(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION).tar.bz2
+$(PKG)_URL      := http://protobuf.googlecode.com/files/$($(PKG)_FILE)
+$(PKG)_DEPS     := gcc zlib
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- 'http://code.google.com/p/protobuf/downloads/list?sort=-uploaded' | \
+    $(SED) -n 's,.*protobuf-\([0-9][^<]*\)\.tar.*,\1,p' | \
+    head -1
+endef
+
+define $(PKG)_BUILD
+# First step: Build for host system in order to create "protoc" binary.
+    cd '$(1)' && ./configure \
+        --disable-shared
+    $(MAKE) -C '$(1)' -j '$(JOBS)'
+    cp '$(1)/src/protoc' '$(1)/src/protoc_host'
+    $(MAKE) -C '$(1)' -j 1 distclean
+# Second step: Build for target system.
+    cd '$(1)' && ./configure \
+        --host='$(TARGET)' \
+        --prefix='$(PREFIX)/$(TARGET)' \
+        --disable-shared \
+        --with-zlib \
+        --with-protoc=src/protoc_host
+    $(MAKE) -C '$(1)' -j '$(JOBS)'
+    $(MAKE) -C '$(1)' -j 1 install
+
+    '$(TARGET)-g++' \
+        -W -Wall -Werror -ansi -pedantic \
+        '$(2).cpp' -o '$(PREFIX)/$(TARGET)/bin/test-protobuf.exe' \
+        `'$(TARGET)-pkg-config' protobuf --cflags --libs`
+endef
--- a/src/qt-1-cherrypicks.patch	Wed Jul 11 22:25:15 2012 +0200
+++ b/src/qt-1-cherrypicks.patch	Tue Sep 18 14:19:24 2012 -0700
@@ -5,18 +5,15 @@
 http://qt.gitorious.org/qt
 Also contains MXE specific fixes.
 
-From c9337a775daa3a53426403fdc6984656c0e08c29 Mon Sep 17 00:00:00 2001
+From 2a376d8ff643ec0d40fdba68a25c3a323dbd5be4 Mon Sep 17 00:00:00 2001
 From: Mark Brand <mabrand@mabrand.nl>
 Date: Fri, 13 Jan 2012 00:17:48 +0100
-Subject: [PATCH 01/15] remove trailing whitespace
+Subject: [PATCH 01/22] remove trailing whitespace
 
 backported from qt5/qtbase
 Change-Id: If53a0bd1794e69b4856f993c6e2959369bd007d6
 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
 (cherry picked from commit 0f7a413683ab4358c4ded8bdffb7381459d98068)
----
- src/corelib/codecs/codecs.pri |    2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/src/corelib/codecs/codecs.pri b/src/corelib/codecs/codecs.pri
 index 9090773..859ec8d 100644
@@ -32,13 +29,13 @@
                          ../plugins/codecs/tw/qbig5codec.h \
                          ../plugins/codecs/jp/qfontjpcodec.h
 -- 
-1.7.9.2
-
-
-From 2afee6408f010376ede9f58aaee1fe4e23aa116d Mon Sep 17 00:00:00 2001
+1.7.10.4
+
+
+From f9650fb05bde43a8d710469daa363383e3947e3a Mon Sep 17 00:00:00 2001
 From: Mark Brand <mabrand@mabrand.nl>
 Date: Thu, 30 Jun 2011 10:22:33 +0200
-Subject: [PATCH 02/15] do not detect or configure iconv for Windows
+Subject: [PATCH 02/22] do not detect or configure iconv for Windows
 
 Qt doesn't use iconv on Windows, but configuring it will appear to
 work and the build will complete. The result is that character
@@ -51,15 +48,12 @@
 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
 (cherry picked from commit 9fa2b641ba6ff4f4b3f474b87ddb642cfa5c3d83)
----
- configure |    2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/configure b/configure
-index c1667b6..862aad5 100755
+index d19f443..520ffc3 100755
 --- a/configure
 +++ b/configure
-@@ -5627,7 +5627,7 @@ fi
+@@ -5682,7 +5682,7 @@ fi
  
  # auto-detect iconv(3) support
  if [ "$CFG_ICONV" != "no" ]; then
@@ -69,21 +63,18 @@
      elif "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" "$OPT_VERBOSE" "$relpath" "$outpath" "config.tests/unix/iconv" "POSIX iconv" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
          CFG_ICONV=yes
 -- 
-1.7.9.2
-
-
-From f66200e240a3664dd62beb9eb8aa38efdecfddb1 Mon Sep 17 00:00:00 2001
+1.7.10.4
+
+
+From 04a44c0d6b3272c6edb08d34cecf36825843c2a0 Mon Sep 17 00:00:00 2001
 From: Mark Brand <mabrand@mabrand.nl>
 Date: Wed, 18 Jan 2012 11:43:10 +0100
-Subject: [PATCH 03/15] fix whitespace
+Subject: [PATCH 03/22] fix whitespace
 
 backported from qt5/qtbase
 Change-Id: I0cfccae085c000d4368386a34f288c1e6f01a88f
 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
 (cherry picked from commit 10f6c5981cd2373c73873f8bace0b2df42a01db8)
----
- src/corelib/codecs/codecs.pri |   33 ++++++++++++++++-----------------
- 1 file changed, 16 insertions(+), 17 deletions(-)
 
 diff --git a/src/corelib/codecs/codecs.pri b/src/corelib/codecs/codecs.pri
 index 859ec8d..70cd890 100644
@@ -146,13 +137,13 @@
                          ../plugins/codecs/tw/qbig5codec.cpp \
                          ../plugins/codecs/jp/qfontjpcodec.cpp
 -- 
-1.7.9.2
-
-
-From a82277bac5c8ac6fa43577bcc9642534714c91fb Mon Sep 17 00:00:00 2001
+1.7.10.4
+
+
+From 043a2cdc024dd19685a1cd3694faa0cdbade5a82 Mon Sep 17 00:00:00 2001
 From: Mark Brand <mabrand@mabrand.nl>
 Date: Mon, 4 Jul 2011 00:42:24 +0200
-Subject: [PATCH 04/15] build and load text codecs regardless of iconv and
+Subject: [PATCH 04/22] build and load text codecs regardless of iconv and
  platform
 
 Otherwise applications linking to static Qt may have to import
@@ -168,10 +159,6 @@
 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
 (cherry picked from commit 7ee3d8c8ecb78dd7c5ae09b04ebf1420958f0001)
----
- src/corelib/codecs/codecs.pri     |   38 ++++++++++++++++++-------------------
- src/corelib/codecs/qtextcodec.cpp |   14 +++++---------
- 2 files changed, 24 insertions(+), 28 deletions(-)
 
 diff --git a/src/corelib/codecs/codecs.pri b/src/corelib/codecs/codecs.pri
 index 70cd890..c847264 100644
@@ -237,7 +224,7 @@
  }
  symbian:LIBS += -lcharconv
 diff --git a/src/corelib/codecs/qtextcodec.cpp b/src/corelib/codecs/qtextcodec.cpp
-index ea8a5fd..7966df2 100644
+index 08d954c..f267acb 100644
 --- a/src/corelib/codecs/qtextcodec.cpp
 +++ b/src/corelib/codecs/qtextcodec.cpp
 @@ -66,15 +66,14 @@
@@ -292,13 +279,13 @@
  #endif // QT_NO_CODECS
  
 -- 
-1.7.9.2
-
-
-From 1ec39e28f1790723df212eb158a6695c355a304a Mon Sep 17 00:00:00 2001
+1.7.10.4
+
+
+From c9e946e08850c2ea92c818bcef9b4f0ec47fb86f Mon Sep 17 00:00:00 2001
 From: Mark Brand <mabrand@mabrand.nl>
 Date: Fri, 13 Jan 2012 00:24:13 +0100
-Subject: [PATCH 05/15] move plugin text codecs to QtCore
+Subject: [PATCH 05/22] move plugin text codecs to QtCore
 
 Having plugin text codecs adds considerable complexity to
 configuring Qt. The plugin interface is designed for optional
@@ -323,97 +310,6 @@
 Conflicts:
 
 	src/plugins/plugins.pro
----
- src/corelib/codecs/codecs.pri           |   32 +-
- src/corelib/codecs/cp949codetbl_p.h     |  637 ++
- src/corelib/codecs/qbig5codec.cpp       |12788 +++++++++++++++++++++++++++++++
- src/corelib/codecs/qbig5codec_p.h       |  124 +
- src/corelib/codecs/qeucjpcodec.cpp      |  261 +
- src/corelib/codecs/qeucjpcodec_p.h      |  106 +
- src/corelib/codecs/qeuckrcodec.cpp      | 3571 +++++++++
- src/corelib/codecs/qeuckrcodec_p.h      |  129 +
- src/corelib/codecs/qfontjpcodec.cpp     |  145 +
- src/corelib/codecs/qfontjpcodec_p.h     |   93 +
- src/corelib/codecs/qgb18030codec.cpp    | 9265 ++++++++++++++++++++++
- src/corelib/codecs/qgb18030codec_p.h    |  159 +
- src/corelib/codecs/qjiscodec.cpp        |  367 +
- src/corelib/codecs/qjiscodec_p.h        |  106 +
- src/corelib/codecs/qjpunicode.cpp       |10700 ++++++++++++++++++++++++++
- src/corelib/codecs/qjpunicode_p.h       |  174 +
- src/corelib/codecs/qsjiscodec.cpp       |  229 +
- src/corelib/codecs/qsjiscodec_p.h       |  106 +
- src/corelib/codecs/qtextcodec.cpp       |   14 +-
- src/plugins/codecs/cn/cn.pro            |   16 -
- src/plugins/codecs/cn/main.cpp          |  145 -
- src/plugins/codecs/cn/qgb18030codec.cpp | 9265 ----------------------
- src/plugins/codecs/cn/qgb18030codec.h   |  159 -
- src/plugins/codecs/codecs.pro           |    4 -
- src/plugins/codecs/jp/jp.pro            |   27 -
- src/plugins/codecs/jp/main.cpp          |  149 -
- src/plugins/codecs/jp/qeucjpcodec.cpp   |  261 -
- src/plugins/codecs/jp/qeucjpcodec.h     |  106 -
- src/plugins/codecs/jp/qfontjpcodec.cpp  |  145 -
- src/plugins/codecs/jp/qfontjpcodec.h    |   93 -
- src/plugins/codecs/jp/qjiscodec.cpp     |  367 -
- src/plugins/codecs/jp/qjiscodec.h       |  106 -
- src/plugins/codecs/jp/qjpunicode.cpp    |10700 --------------------------
- src/plugins/codecs/jp/qjpunicode.h      |  174 -
- src/plugins/codecs/jp/qsjiscodec.cpp    |  229 -
- src/plugins/codecs/jp/qsjiscodec.h      |  106 -
- src/plugins/codecs/kr/cp949codetbl.h    |  637 --
- src/plugins/codecs/kr/kr.pro            |   20 -
- src/plugins/codecs/kr/main.cpp          |  131 -
- src/plugins/codecs/kr/qeuckrcodec.cpp   | 3571 ---------
- src/plugins/codecs/kr/qeuckrcodec.h     |  129 -
- src/plugins/codecs/tw/main.cpp          |  138 -
- src/plugins/codecs/tw/qbig5codec.cpp    |12788 -------------------------------
- src/plugins/codecs/tw/qbig5codec.h      |  124 -
- src/plugins/codecs/tw/tw.pro            |   16 -
- src/plugins/plugins.pro                 |    5 -
- 46 files changed, 38984 insertions(+), 39633 deletions(-)
- create mode 100644 src/corelib/codecs/cp949codetbl_p.h
- create mode 100644 src/corelib/codecs/qbig5codec.cpp
- create mode 100644 src/corelib/codecs/qbig5codec_p.h
- create mode 100644 src/corelib/codecs/qeucjpcodec.cpp
- create mode 100644 src/corelib/codecs/qeucjpcodec_p.h
- create mode 100644 src/corelib/codecs/qeuckrcodec.cpp
- create mode 100644 src/corelib/codecs/qeuckrcodec_p.h
- create mode 100644 src/corelib/codecs/qfontjpcodec.cpp
- create mode 100644 src/corelib/codecs/qfontjpcodec_p.h
- create mode 100644 src/corelib/codecs/qgb18030codec.cpp
- create mode 100644 src/corelib/codecs/qgb18030codec_p.h
- create mode 100644 src/corelib/codecs/qjiscodec.cpp
- create mode 100644 src/corelib/codecs/qjiscodec_p.h
- create mode 100644 src/corelib/codecs/qjpunicode.cpp
- create mode 100644 src/corelib/codecs/qjpunicode_p.h
- create mode 100644 src/corelib/codecs/qsjiscodec.cpp
- create mode 100644 src/corelib/codecs/qsjiscodec_p.h
- delete mode 100644 src/plugins/codecs/cn/cn.pro
- delete mode 100644 src/plugins/codecs/cn/main.cpp
- delete mode 100644 src/plugins/codecs/cn/qgb18030codec.cpp
- delete mode 100644 src/plugins/codecs/cn/qgb18030codec.h
- delete mode 100644 src/plugins/codecs/codecs.pro
- delete mode 100644 src/plugins/codecs/jp/jp.pro
- delete mode 100644 src/plugins/codecs/jp/main.cpp
- delete mode 100644 src/plugins/codecs/jp/qeucjpcodec.cpp
- delete mode 100644 src/plugins/codecs/jp/qeucjpcodec.h
- delete mode 100644 src/plugins/codecs/jp/qfontjpcodec.cpp
- delete mode 100644 src/plugins/codecs/jp/qfontjpcodec.h
- delete mode 100644 src/plugins/codecs/jp/qjiscodec.cpp
- delete mode 100644 src/plugins/codecs/jp/qjiscodec.h
- delete mode 100644 src/plugins/codecs/jp/qjpunicode.cpp
- delete mode 100644 src/plugins/codecs/jp/qjpunicode.h
- delete mode 100644 src/plugins/codecs/jp/qsjiscodec.cpp
- delete mode 100644 src/plugins/codecs/jp/qsjiscodec.h
- delete mode 100644 src/plugins/codecs/kr/cp949codetbl.h
- delete mode 100644 src/plugins/codecs/kr/kr.pro
- delete mode 100644 src/plugins/codecs/kr/main.cpp
- delete mode 100644 src/plugins/codecs/kr/qeuckrcodec.cpp
- delete mode 100644 src/plugins/codecs/kr/qeuckrcodec.h
- delete mode 100644 src/plugins/codecs/tw/main.cpp
- delete mode 100644 src/plugins/codecs/tw/qbig5codec.cpp
- delete mode 100644 src/plugins/codecs/tw/qbig5codec.h
- delete mode 100644 src/plugins/codecs/tw/tw.pro
 
 diff --git a/src/corelib/codecs/codecs.pri b/src/corelib/codecs/codecs.pri
 index c847264..a1271b9 100644
@@ -467,15 +363,14 @@
  	SOURCES += codecs/qfontlaocodec.cpp
 diff --git a/src/corelib/codecs/cp949codetbl_p.h b/src/corelib/codecs/cp949codetbl_p.h
 new file mode 100644
-index 0000000..25723c7
+index 0000000..8bf9204
 --- /dev/null
 +++ b/src/corelib/codecs/cp949codetbl_p.h
 @@ -0,0 +1,637 @@
 +/****************************************************************************
 +**
 +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-+** All rights reserved.
-+** Contact: Nokia Corporation (qt-info@nokia.com)
++** Contact: http://www.qt-project.org/
 +**
 +** This file is part of the plugins of the Qt Toolkit.
 +**
@@ -508,6 +403,7 @@
 +**
 +**
 +**
++**
 +** $QT_END_LICENSE$
 +**
 +****************************************************************************/
@@ -1110,15 +1006,14 @@
 +#endif // CP494CODETBL_H
 diff --git a/src/corelib/codecs/qbig5codec.cpp b/src/corelib/codecs/qbig5codec.cpp
 new file mode 100644
-index 0000000..e30861d
+index 0000000..662aee8
 --- /dev/null
 +++ b/src/corelib/codecs/qbig5codec.cpp
 @@ -0,0 +1,12788 @@
 +/****************************************************************************
 +**
 +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-+** All rights reserved.
-+** Contact: Nokia Corporation (qt-info@nokia.com)
++** Contact: http://www.qt-project.org/
 +**
 +** This file is part of the plugins of the Qt Toolkit.
 +**
@@ -1151,6 +1046,7 @@
 +**
 +**
 +**
++**
 +** $QT_END_LICENSE$
 +**
 +****************************************************************************/
@@ -13904,15 +13800,14 @@
 +QT_END_NAMESPACE
 diff --git a/src/corelib/codecs/qbig5codec_p.h b/src/corelib/codecs/qbig5codec_p.h
 new file mode 100644
-index 0000000..f43b733
+index 0000000..eec1798
 --- /dev/null
 +++ b/src/corelib/codecs/qbig5codec_p.h
 @@ -0,0 +1,124 @@
 +/****************************************************************************
 +**
 +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-+** All rights reserved.
-+** Contact: Nokia Corporation (qt-info@nokia.com)
++** Contact: http://www.qt-project.org/
 +**
 +** This file is part of the plugins of the Qt Toolkit.
 +**
@@ -13945,6 +13840,7 @@
 +**
 +**
 +**
++**
 +** $QT_END_LICENSE$
 +**
 +****************************************************************************/
@@ -14034,15 +13930,14 @@
 +#endif // QBIG5CODEC_H
 diff --git a/src/corelib/codecs/qeucjpcodec.cpp b/src/corelib/codecs/qeucjpcodec.cpp
 new file mode 100644
-index 0000000..4ff5552
+index 0000000..69e314c
 --- /dev/null
 +++ b/src/corelib/codecs/qeucjpcodec.cpp
 @@ -0,0 +1,261 @@
 +/****************************************************************************
 +**
 +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-+** All rights reserved.
-+** Contact: Nokia Corporation (qt-info@nokia.com)
++** Contact: http://www.qt-project.org/
 +**
 +** This file is part of the plugins of the Qt Toolkit.
 +**
@@ -14075,6 +13970,7 @@
 +**
 +**
 +**
++**
 +** $QT_END_LICENSE$
 +**
 +****************************************************************************/
@@ -14301,15 +14197,14 @@
 +QT_END_NAMESPACE
 diff --git a/src/corelib/codecs/qeucjpcodec_p.h b/src/corelib/codecs/qeucjpcodec_p.h
 new file mode 100644
-index 0000000..af02ed9
+index 0000000..d693e04
 --- /dev/null
 +++ b/src/corelib/codecs/qeucjpcodec_p.h
 @@ -0,0 +1,106 @@
 +/****************************************************************************
 +**
 +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-+** All rights reserved.
-+** Contact: Nokia Corporation (qt-info@nokia.com)
++** Contact: http://www.qt-project.org/
 +**
 +** This file is part of the plugins of the Qt Toolkit.
 +**
@@ -14342,6 +14237,7 @@
 +**
 +**
 +**
++**
 +** $QT_END_LICENSE$
 +**
 +****************************************************************************/
@@ -14413,15 +14309,14 @@
 +#endif // QEUCJPCODEC_H
 diff --git a/src/corelib/codecs/qeuckrcodec.cpp b/src/corelib/codecs/qeuckrcodec.cpp
 new file mode 100644
-index 0000000..cc8fca8
+index 0000000..bef4132
 --- /dev/null
 +++ b/src/corelib/codecs/qeuckrcodec.cpp
 @@ -0,0 +1,3571 @@
 +/****************************************************************************
 +**
 +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-+** All rights reserved.
-+** Contact: Nokia Corporation (qt-info@nokia.com)
++** Contact: http://www.qt-project.org/
 +**
 +** This file is part of the plugins of the Qt Toolkit.
 +**
@@ -14454,6 +14349,7 @@
 +**
 +**
 +**
++**
 +** $QT_END_LICENSE$
 +**
 +****************************************************************************/
@@ -17990,15 +17886,14 @@
 +QT_END_NAMESPACE
 diff --git a/src/corelib/codecs/qeuckrcodec_p.h b/src/corelib/codecs/qeuckrcodec_p.h
 new file mode 100644
-index 0000000..9408622
+index 0000000..55a1337
 --- /dev/null
 +++ b/src/corelib/codecs/qeuckrcodec_p.h
 @@ -0,0 +1,129 @@
 +/****************************************************************************
 +**
 +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-+** All rights reserved.
-+** Contact: Nokia Corporation (qt-info@nokia.com)
++** Contact: http://www.qt-project.org/
 +**
 +** This file is part of the plugins of the Qt Toolkit.
 +**
@@ -18031,6 +17926,7 @@
 +**
 +**
 +**
++**
 +** $QT_END_LICENSE$
 +**
 +****************************************************************************/
@@ -18125,15 +18021,14 @@
 +#endif // QEUCKRCODEC_H
 diff --git a/src/corelib/codecs/qfontjpcodec.cpp b/src/corelib/codecs/qfontjpcodec.cpp
 new file mode 100644
-index 0000000..85eae20
+index 0000000..2ac3d6c
 --- /dev/null
 +++ b/src/corelib/codecs/qfontjpcodec.cpp
 @@ -0,0 +1,145 @@
 +/****************************************************************************
 +**
 +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-+** All rights reserved.
-+** Contact: Nokia Corporation (qt-info@nokia.com)
++** Contact: http://www.qt-project.org/
 +**
 +** This file is part of the plugins of the Qt Toolkit.
 +**
@@ -18166,6 +18061,7 @@
 +**
 +**
 +**
++**
 +** $QT_END_LICENSE$
 +**
 +****************************************************************************/
@@ -18276,15 +18172,14 @@
 +QT_END_NAMESPACE
 diff --git a/src/corelib/codecs/qfontjpcodec_p.h b/src/corelib/codecs/qfontjpcodec_p.h
 new file mode 100644
-index 0000000..6b2a6ee
+index 0000000..dfb06bb
 --- /dev/null
 +++ b/src/corelib/codecs/qfontjpcodec_p.h
 @@ -0,0 +1,93 @@
 +/****************************************************************************
 +**
 +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-+** All rights reserved.
-+** Contact: Nokia Corporation (qt-info@nokia.com)
++** Contact: http://www.qt-project.org/
 +**
 +** This file is part of the plugins of the Qt Toolkit.
 +**
@@ -18317,6 +18212,7 @@
 +**
 +**
 +**
++**
 +** $QT_END_LICENSE$
 +**
 +****************************************************************************/
@@ -18375,15 +18271,14 @@
 +#endif // QFONTJPCODEC_H
 diff --git a/src/corelib/codecs/qgb18030codec.cpp b/src/corelib/codecs/qgb18030codec.cpp
 new file mode 100644
-index 0000000..760fcc0
+index 0000000..928bc52
 --- /dev/null
 +++ b/src/corelib/codecs/qgb18030codec.cpp
 @@ -0,0 +1,9265 @@
 +/****************************************************************************
 +**
 +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-+** All rights reserved.
-+** Contact: Nokia Corporation (qt-info@nokia.com)
++** Contact: http://www.qt-project.org/
 +**
 +** This file is part of the plugins of the Qt Toolkit.
 +**
@@ -18416,6 +18311,7 @@
 +**
 +**
 +**
++**
 +** $QT_END_LICENSE$
 +**
 +****************************************************************************/
@@ -27646,15 +27542,14 @@
 +#endif // QT_NO_TEXTCODEC
 diff --git a/src/corelib/codecs/qgb18030codec_p.h b/src/corelib/codecs/qgb18030codec_p.h
 new file mode 100644
-index 0000000..85047f3
+index 0000000..3e082bf
 --- /dev/null
 +++ b/src/corelib/codecs/qgb18030codec_p.h
 @@ -0,0 +1,159 @@
 +/****************************************************************************
 +**
 +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-+** All rights reserved.
-+** Contact: Nokia Corporation (qt-info@nokia.com)
++** Contact: http://www.qt-project.org/
 +**
 +** This file is part of the plugins of the Qt Toolkit.
 +**
@@ -27687,6 +27582,7 @@
 +**
 +**
 +**
++**
 +** $QT_END_LICENSE$
 +**
 +****************************************************************************/
@@ -27811,15 +27707,14 @@
 +#endif // QGB18030CODEC_H
 diff --git a/src/corelib/codecs/qjiscodec.cpp b/src/corelib/codecs/qjiscodec.cpp
 new file mode 100644
-index 0000000..99c756e
+index 0000000..dd80541
 --- /dev/null
 +++ b/src/corelib/codecs/qjiscodec.cpp
 @@ -0,0 +1,367 @@
 +/****************************************************************************
 +**
 +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-+** All rights reserved.
-+** Contact: Nokia Corporation (qt-info@nokia.com)
++** Contact: http://www.qt-project.org/
 +**
 +** This file is part of the plugins of the Qt Toolkit.
 +**
@@ -27852,6 +27747,7 @@
 +**
 +**
 +**
++**
 +** $QT_END_LICENSE$
 +**
 +****************************************************************************/
@@ -28184,15 +28080,14 @@
 +QT_END_NAMESPACE
 diff --git a/src/corelib/codecs/qjiscodec_p.h b/src/corelib/codecs/qjiscodec_p.h
 new file mode 100644
-index 0000000..aaf02a9
+index 0000000..dcdb04d
 --- /dev/null
 +++ b/src/corelib/codecs/qjiscodec_p.h
 @@ -0,0 +1,106 @@
 +/****************************************************************************
 +**
 +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-+** All rights reserved.
-+** Contact: Nokia Corporation (qt-info@nokia.com)
++** Contact: http://www.qt-project.org/
 +**
 +** This file is part of the plugins of the Qt Toolkit.
 +**
@@ -28225,6 +28120,7 @@
 +**
 +**
 +**
++**
 +** $QT_END_LICENSE$
 +**
 +****************************************************************************/
@@ -28296,15 +28192,14 @@
 +#endif // QJISCODEC_H
 diff --git a/src/corelib/codecs/qjpunicode.cpp b/src/corelib/codecs/qjpunicode.cpp
 new file mode 100644
-index 0000000..feb0f41
+index 0000000..ffd8829
 --- /dev/null
 +++ b/src/corelib/codecs/qjpunicode.cpp
 @@ -0,0 +1,10700 @@
 +/****************************************************************************
 +**
 +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-+** All rights reserved.
-+** Contact: Nokia Corporation (qt-info@nokia.com)
++** Contact: http://www.qt-project.org/
 +**
 +** This file is part of the plugins of the Qt Toolkit.
 +**
@@ -28337,6 +28232,7 @@
 +**
 +**
 +**
++**
 +** $QT_END_LICENSE$
 +**
 +****************************************************************************/
@@ -39002,15 +38898,14 @@
 +QT_END_NAMESPACE
 diff --git a/src/corelib/codecs/qjpunicode_p.h b/src/corelib/codecs/qjpunicode_p.h
 new file mode 100644
-index 0000000..069f49a
+index 0000000..a5bdd0c
 --- /dev/null
 +++ b/src/corelib/codecs/qjpunicode_p.h
 @@ -0,0 +1,174 @@
 +/****************************************************************************
 +**
 +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-+** All rights reserved.
-+** Contact: Nokia Corporation (qt-info@nokia.com)
++** Contact: http://www.qt-project.org/
 +**
 +** This file is part of the plugins of the Qt Toolkit.
 +**
@@ -39043,6 +38938,7 @@
 +**
 +**
 +**
++**
 +** $QT_END_LICENSE$
 +**
 +****************************************************************************/
@@ -39182,15 +39078,14 @@
 +#endif // QJPUNICODE_H
 diff --git a/src/corelib/codecs/qsjiscodec.cpp b/src/corelib/codecs/qsjiscodec.cpp
 new file mode 100644
-index 0000000..ac89b33
+index 0000000..f03cd26
 --- /dev/null
 +++ b/src/corelib/codecs/qsjiscodec.cpp
 @@ -0,0 +1,229 @@
 +/****************************************************************************
 +**
 +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-+** All rights reserved.
-+** Contact: Nokia Corporation (qt-info@nokia.com)
++** Contact: http://www.qt-project.org/
 +**
 +** This file is part of the plugins of the Qt Toolkit.
 +**
@@ -39223,6 +39118,7 @@
 +**
 +**
 +**
++**
 +** $QT_END_LICENSE$
 +**
 +****************************************************************************/
@@ -39417,15 +39313,14 @@
 +QT_END_NAMESPACE
 diff --git a/src/corelib/codecs/qsjiscodec_p.h b/src/corelib/codecs/qsjiscodec_p.h
 new file mode 100644
-index 0000000..c56a103
+index 0000000..3d3cde7
 --- /dev/null
 +++ b/src/corelib/codecs/qsjiscodec_p.h
 @@ -0,0 +1,106 @@
 +/****************************************************************************
 +**
 +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-+** All rights reserved.
-+** Contact: Nokia Corporation (qt-info@nokia.com)
++** Contact: http://www.qt-project.org/
 +**
 +** This file is part of the plugins of the Qt Toolkit.
 +**
@@ -39458,6 +39353,7 @@
 +**
 +**
 +**
++**
 +** $QT_END_LICENSE$
 +**
 +****************************************************************************/
@@ -39528,7 +39424,7 @@
 +
 +#endif // QSJISCODEC_H
 diff --git a/src/corelib/codecs/qtextcodec.cpp b/src/corelib/codecs/qtextcodec.cpp
-index 7966df2..3a2a60e 100644
+index f267acb..b6ed5e6 100644
 --- a/src/corelib/codecs/qtextcodec.cpp
 +++ b/src/corelib/codecs/qtextcodec.cpp
 @@ -67,16 +67,16 @@
@@ -39579,15 +39475,14 @@
 -symbian:TARGET.UID3=0x2001E615
 diff --git a/src/plugins/codecs/cn/main.cpp b/src/plugins/codecs/cn/main.cpp
 deleted file mode 100644
-index cf42b97..0000000
+index 93b8b72..0000000
 --- a/src/plugins/codecs/cn/main.cpp
 +++ /dev/null
 @@ -1,145 +0,0 @@
 -/****************************************************************************
 -**
 -** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
--** All rights reserved.
--** Contact: Nokia Corporation (qt-info@nokia.com)
+-** Contact: http://www.qt-project.org/
 -**
 -** This file is part of the plugins of the Qt Toolkit.
 -**
@@ -39620,6 +39515,7 @@
 -**
 -**
 -**
+-**
 -** $QT_END_LICENSE$
 -**
 -****************************************************************************/
@@ -39730,15 +39626,14 @@
 -#endif // QT_NO_TEXTCODECPLUGIN
 diff --git a/src/plugins/codecs/cn/qgb18030codec.cpp b/src/plugins/codecs/cn/qgb18030codec.cpp
 deleted file mode 100644
-index 760fcc0..0000000
+index 928bc52..0000000
 --- a/src/plugins/codecs/cn/qgb18030codec.cpp
 +++ /dev/null
 @@ -1,9265 +0,0 @@
 -/****************************************************************************
 -**
 -** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
--** All rights reserved.
--** Contact: Nokia Corporation (qt-info@nokia.com)
+-** Contact: http://www.qt-project.org/
 -**
 -** This file is part of the plugins of the Qt Toolkit.
 -**
@@ -39771,6 +39666,7 @@
 -**
 -**
 -**
+-**
 -** $QT_END_LICENSE$
 -**
 -****************************************************************************/
@@ -49001,15 +48897,14 @@
 -#endif // QT_NO_TEXTCODEC
 diff --git a/src/plugins/codecs/cn/qgb18030codec.h b/src/plugins/codecs/cn/qgb18030codec.h
 deleted file mode 100644
-index 85047f3..0000000
+index 3e082bf..0000000
 --- a/src/plugins/codecs/cn/qgb18030codec.h
 +++ /dev/null
 @@ -1,159 +0,0 @@
 -/****************************************************************************
 -**
 -** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
--** All rights reserved.
--** Contact: Nokia Corporation (qt-info@nokia.com)
+-** Contact: http://www.qt-project.org/
 -**
 -** This file is part of the plugins of the Qt Toolkit.
 -**
@@ -49042,6 +48937,7 @@
 -**
 -**
 -**
+-**
 -** $QT_END_LICENSE$
 -**
 -****************************************************************************/
@@ -49209,15 +49105,14 @@
 -symbian:TARGET.UID3=0x2001E614
 diff --git a/src/plugins/codecs/jp/main.cpp b/src/plugins/codecs/jp/main.cpp
 deleted file mode 100644
-index b372fb6..0000000
+index 6eee02f..0000000
 --- a/src/plugins/codecs/jp/main.cpp
 +++ /dev/null
 @@ -1,149 +0,0 @@
 -/****************************************************************************
 -**
 -** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
--** All rights reserved.
--** Contact: Nokia Corporation (qt-info@nokia.com)
+-** Contact: http://www.qt-project.org/
 -**
 -** This file is part of the plugins of the Qt Toolkit.
 -**
@@ -49250,6 +49145,7 @@
 -**
 -**
 -**
+-**
 -** $QT_END_LICENSE$
 -**
 -****************************************************************************/
@@ -49364,15 +49260,14 @@
 -#endif // QT_NO_TEXTCODECPLUGIN
 diff --git a/src/plugins/codecs/jp/qeucjpcodec.cpp b/src/plugins/codecs/jp/qeucjpcodec.cpp
 deleted file mode 100644
-index 4ff5552..0000000
+index 69e314c..0000000
 --- a/src/plugins/codecs/jp/qeucjpcodec.cpp
 +++ /dev/null
 @@ -1,261 +0,0 @@
 -/****************************************************************************
 -**
 -** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
--** All rights reserved.
--** Contact: Nokia Corporation (qt-info@nokia.com)
+-** Contact: http://www.qt-project.org/
 -**
 -** This file is part of the plugins of the Qt Toolkit.
 -**
@@ -49405,6 +49300,7 @@
 -**
 -**
 -**
+-**
 -** $QT_END_LICENSE$
 -**
 -****************************************************************************/
@@ -49631,15 +49527,14 @@
 -QT_END_NAMESPACE
 diff --git a/src/plugins/codecs/jp/qeucjpcodec.h b/src/plugins/codecs/jp/qeucjpcodec.h
 deleted file mode 100644
-index af02ed9..0000000
+index d693e04..0000000
 --- a/src/plugins/codecs/jp/qeucjpcodec.h
 +++ /dev/null
 @@ -1,106 +0,0 @@
 -/****************************************************************************
 -**
 -** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
--** All rights reserved.
--** Contact: Nokia Corporation (qt-info@nokia.com)
+-** Contact: http://www.qt-project.org/
 -**
 -** This file is part of the plugins of the Qt Toolkit.
 -**
@@ -49672,6 +49567,7 @@
 -**
 -**
 -**
+-**
 -** $QT_END_LICENSE$
 -**
 -****************************************************************************/
@@ -49743,15 +49639,14 @@
 -#endif // QEUCJPCODEC_H
 diff --git a/src/plugins/codecs/jp/qfontjpcodec.cpp b/src/plugins/codecs/jp/qfontjpcodec.cpp
 deleted file mode 100644
-index 85eae20..0000000
+index 2ac3d6c..0000000
 --- a/src/plugins/codecs/jp/qfontjpcodec.cpp
 +++ /dev/null
 @@ -1,145 +0,0 @@
 -/****************************************************************************
 -**
 -** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
--** All rights reserved.
--** Contact: Nokia Corporation (qt-info@nokia.com)
+-** Contact: http://www.qt-project.org/
 -**
 -** This file is part of the plugins of the Qt Toolkit.
 -**
@@ -49784,6 +49679,7 @@
 -**
 -**
 -**
+-**
 -** $QT_END_LICENSE$
 -**
 -****************************************************************************/
@@ -49894,15 +49790,14 @@
 -QT_END_NAMESPACE
 diff --git a/src/plugins/codecs/jp/qfontjpcodec.h b/src/plugins/codecs/jp/qfontjpcodec.h
 deleted file mode 100644
-index 6b2a6ee..0000000
+index dfb06bb..0000000
 --- a/src/plugins/codecs/jp/qfontjpcodec.h
 +++ /dev/null
 @@ -1,93 +0,0 @@
 -/****************************************************************************
 -**
 -** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
--** All rights reserved.
--** Contact: Nokia Corporation (qt-info@nokia.com)
+-** Contact: http://www.qt-project.org/
 -**
 -** This file is part of the plugins of the Qt Toolkit.
 -**
@@ -49935,6 +49830,7 @@
 -**
 -**
 -**
+-**
 -** $QT_END_LICENSE$
 -**
 -****************************************************************************/
@@ -49993,15 +49889,14 @@
 -#endif // QFONTJPCODEC_H
 diff --git a/src/plugins/codecs/jp/qjiscodec.cpp b/src/plugins/codecs/jp/qjiscodec.cpp
 deleted file mode 100644
-index 99c756e..0000000
+index dd80541..0000000
 --- a/src/plugins/codecs/jp/qjiscodec.cpp
 +++ /dev/null
 @@ -1,367 +0,0 @@
 -/****************************************************************************
 -**
 -** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
--** All rights reserved.
--** Contact: Nokia Corporation (qt-info@nokia.com)
+-** Contact: http://www.qt-project.org/
 -**
 -** This file is part of the plugins of the Qt Toolkit.
 -**
@@ -50034,6 +49929,7 @@
 -**
 -**
 -**
+-**
 -** $QT_END_LICENSE$
 -**
 -****************************************************************************/
@@ -50366,15 +50262,14 @@
 -QT_END_NAMESPACE
 diff --git a/src/plugins/codecs/jp/qjiscodec.h b/src/plugins/codecs/jp/qjiscodec.h
 deleted file mode 100644
-index aaf02a9..0000000
+index dcdb04d..0000000
 --- a/src/plugins/codecs/jp/qjiscodec.h
 +++ /dev/null
 @@ -1,106 +0,0 @@
 -/****************************************************************************
 -**
 -** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
--** All rights reserved.
--** Contact: Nokia Corporation (qt-info@nokia.com)
+-** Contact: http://www.qt-project.org/
 -**
 -** This file is part of the plugins of the Qt Toolkit.
 -**
@@ -50407,6 +50302,7 @@
 -**
 -**
 -**
+-**
 -** $QT_END_LICENSE$
 -**
 -****************************************************************************/
@@ -50478,15 +50374,14 @@
 -#endif // QJISCODEC_H
 diff --git a/src/plugins/codecs/jp/qjpunicode.cpp b/src/plugins/codecs/jp/qjpunicode.cpp
 deleted file mode 100644
-index feb0f41..0000000
+index ffd8829..0000000
 --- a/src/plugins/codecs/jp/qjpunicode.cpp
 +++ /dev/null
 @@ -1,10700 +0,0 @@
 -/****************************************************************************
 -**
 -** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
--** All rights reserved.
--** Contact: Nokia Corporation (qt-info@nokia.com)
+-** Contact: http://www.qt-project.org/
 -**
 -** This file is part of the plugins of the Qt Toolkit.
 -**
@@ -50519,6 +50414,7 @@
 -**
 -**
 -**
+-**
 -** $QT_END_LICENSE$
 -**
 -****************************************************************************/
@@ -61184,15 +61080,14 @@
 -QT_END_NAMESPACE
 diff --git a/src/plugins/codecs/jp/qjpunicode.h b/src/plugins/codecs/jp/qjpunicode.h
 deleted file mode 100644
-index 069f49a..0000000
+index a5bdd0c..0000000
 --- a/src/plugins/codecs/jp/qjpunicode.h
 +++ /dev/null
 @@ -1,174 +0,0 @@
 -/****************************************************************************
 -**
 -** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
--** All rights reserved.
--** Contact: Nokia Corporation (qt-info@nokia.com)
+-** Contact: http://www.qt-project.org/
 -**
 -** This file is part of the plugins of the Qt Toolkit.
 -**
@@ -61225,6 +61120,7 @@
 -**
 -**
 -**
+-**
 -** $QT_END_LICENSE$
 -**
 -****************************************************************************/
@@ -61364,15 +61260,14 @@
 -#endif // QJPUNICODE_H
 diff --git a/src/plugins/codecs/jp/qsjiscodec.cpp b/src/plugins/codecs/jp/qsjiscodec.cpp
 deleted file mode 100644
-index ac89b33..0000000
+index f03cd26..0000000
 --- a/src/plugins/codecs/jp/qsjiscodec.cpp
 +++ /dev/null
 @@ -1,229 +0,0 @@
 -/****************************************************************************
 -**
 -** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
--** All rights reserved.
--** Contact: Nokia Corporation (qt-info@nokia.com)
+-** Contact: http://www.qt-project.org/
 -**
 -** This file is part of the plugins of the Qt Toolkit.
 -**
@@ -61405,6 +61300,7 @@
 -**
 -**
 -**
+-**
 -** $QT_END_LICENSE$
 -**
 -****************************************************************************/
@@ -61599,15 +61495,14 @@
 -QT_END_NAMESPACE
 diff --git a/src/plugins/codecs/jp/qsjiscodec.h b/src/plugins/codecs/jp/qsjiscodec.h
 deleted file mode 100644
-index c56a103..0000000
+index 3d3cde7..0000000
 --- a/src/plugins/codecs/jp/qsjiscodec.h
 +++ /dev/null
 @@ -1,106 +0,0 @@
 -/****************************************************************************
 -**
 -** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
--** All rights reserved.
--** Contact: Nokia Corporation (qt-info@nokia.com)
+-** Contact: http://www.qt-project.org/
 -**
 -** This file is part of the plugins of the Qt Toolkit.
 -**
@@ -61640,6 +61535,7 @@
 -**
 -**
 -**
+-**
 -** $QT_END_LICENSE$
 -**
 -****************************************************************************/
@@ -61711,15 +61607,14 @@
 -#endif // QSJISCODEC_H
 diff --git a/src/plugins/codecs/kr/cp949codetbl.h b/src/plugins/codecs/kr/cp949codetbl.h
 deleted file mode 100644
-index 25723c7..0000000
+index 8bf9204..0000000
 --- a/src/plugins/codecs/kr/cp949codetbl.h
 +++ /dev/null
 @@ -1,637 +0,0 @@
 -/****************************************************************************
 -**
 -** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
--** All rights reserved.
--** Contact: Nokia Corporation (qt-info@nokia.com)
+-** Contact: http://www.qt-project.org/
 -**
 -** This file is part of the plugins of the Qt Toolkit.
 -**
@@ -61752,6 +61647,7 @@
 -**
 -**
 -**
+-**
 -** $QT_END_LICENSE$
 -**
 -****************************************************************************/
@@ -62380,15 +62276,14 @@
 -symbian:TARGET.UID3=0x2001B2E5
 diff --git a/src/plugins/codecs/kr/main.cpp b/src/plugins/codecs/kr/main.cpp
 deleted file mode 100644
-index 86cb7c2..0000000
+index cbfd133..0000000
 --- a/src/plugins/codecs/kr/main.cpp
 +++ /dev/null
 @@ -1,131 +0,0 @@
 -/****************************************************************************
 -**
 -** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
--** All rights reserved.
--** Contact: Nokia Corporation (qt-info@nokia.com)
+-** Contact: http://www.qt-project.org/
 -**
 -** This file is part of the plugins of the Qt Toolkit.
 -**
@@ -62421,6 +62316,7 @@
 -**
 -**
 -**
+-**
 -** $QT_END_LICENSE$
 -**
 -****************************************************************************/
@@ -62517,15 +62413,14 @@
 -QT_END_NAMESPACE
 diff --git a/src/plugins/codecs/kr/qeuckrcodec.cpp b/src/plugins/codecs/kr/qeuckrcodec.cpp
 deleted file mode 100644
-index cc8fca8..0000000
+index bef4132..0000000
 --- a/src/plugins/codecs/kr/qeuckrcodec.cpp
 +++ /dev/null
 @@ -1,3571 +0,0 @@
 -/****************************************************************************
 -**
 -** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
--** All rights reserved.
--** Contact: Nokia Corporation (qt-info@nokia.com)
+-** Contact: http://www.qt-project.org/
 -**
 -** This file is part of the plugins of the Qt Toolkit.
 -**
@@ -62558,6 +62453,7 @@
 -**
 -**
 -**
+-**
 -** $QT_END_LICENSE$
 -**
 -****************************************************************************/
@@ -66094,15 +65990,14 @@
 -QT_END_NAMESPACE
 diff --git a/src/plugins/codecs/kr/qeuckrcodec.h b/src/plugins/codecs/kr/qeuckrcodec.h
 deleted file mode 100644
-index 9408622..0000000
+index 55a1337..0000000
 --- a/src/plugins/codecs/kr/qeuckrcodec.h
 +++ /dev/null
 @@ -1,129 +0,0 @@
 -/****************************************************************************
 -**
 -** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
--** All rights reserved.
--** Contact: Nokia Corporation (qt-info@nokia.com)
+-** Contact: http://www.qt-project.org/
 -**
 -** This file is part of the plugins of the Qt Toolkit.
 -**
@@ -66135,6 +66030,7 @@
 -**
 -**
 -**
+-**
 -** $QT_END_LICENSE$
 -**
 -****************************************************************************/
@@ -66229,15 +66125,14 @@
 -#endif // QEUCKRCODEC_H
 diff --git a/src/plugins/codecs/tw/main.cpp b/src/plugins/codecs/tw/main.cpp
 deleted file mode 100644
-index 9c993e3..0000000
+index 4536e67..0000000
 --- a/src/plugins/codecs/tw/main.cpp
 +++ /dev/null
 @@ -1,138 +0,0 @@
 -/****************************************************************************
 -**
 -** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
--** All rights reserved.
--** Contact: Nokia Corporation (qt-info@nokia.com)
+-** Contact: http://www.qt-project.org/
 -**
 -** This file is part of the plugins of the Qt Toolkit.
 -**
@@ -66270,6 +66165,7 @@
 -**
 -**
 -**
+-**
 -** $QT_END_LICENSE$
 -**
 -****************************************************************************/
@@ -66373,15 +66269,14 @@
 -QT_END_NAMESPACE
 diff --git a/src/plugins/codecs/tw/qbig5codec.cpp b/src/plugins/codecs/tw/qbig5codec.cpp
 deleted file mode 100644
-index e30861d..0000000
+index 662aee8..0000000
 --- a/src/plugins/codecs/tw/qbig5codec.cpp
 +++ /dev/null
 @@ -1,12788 +0,0 @@
 -/****************************************************************************
 -**
 -** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
--** All rights reserved.
--** Contact: Nokia Corporation (qt-info@nokia.com)
+-** Contact: http://www.qt-project.org/
 -**
 -** This file is part of the plugins of the Qt Toolkit.
 -**
@@ -66414,6 +66309,7 @@
 -**
 -**
 -**
+-**
 -** $QT_END_LICENSE$
 -**
 -****************************************************************************/
@@ -79167,15 +79063,14 @@
 -QT_END_NAMESPACE
 diff --git a/src/plugins/codecs/tw/qbig5codec.h b/src/plugins/codecs/tw/qbig5codec.h
 deleted file mode 100644
-index f43b733..0000000
+index eec1798..0000000
 --- a/src/plugins/codecs/tw/qbig5codec.h
 +++ /dev/null
 @@ -1,124 +0,0 @@
 -/****************************************************************************
 -**
 -** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
--** All rights reserved.
--** Contact: Nokia Corporation (qt-info@nokia.com)
+-** Contact: http://www.qt-project.org/
 -**
 -** This file is part of the plugins of the Qt Toolkit.
 -**
@@ -79208,6 +79103,7 @@
 -**
 -**
 -**
+-**
 -** $QT_END_LICENSE$
 -**
 -****************************************************************************/
@@ -79334,35 +79230,22 @@
  !embedded:!qpa:!contains(QT_CONFIG, no-gui):SUBDIRS *= graphicssystems
  embedded:SUBDIRS *=  gfxdrivers decorations mousedrivers kbddrivers
 -- 
-1.7.9.2
-
-
-From 71aff51d79b2b92edbf40d642903b5114548cc42 Mon Sep 17 00:00:00 2001
+1.7.10.4
+
+
+From 7c457dbd99e5865f13499146e9487e9cb4b86868 Mon Sep 17 00:00:00 2001
 From: Mark Brand <mabrand@mabrand.nl>
 Date: Wed, 18 Jan 2012 21:01:26 +0100
-Subject: [PATCH 06/15] update private header references
+Subject: [PATCH 06/22] update private header references
 
 backported from qt5/qtbase
 Change-Id: I092d879653b6900532a0c4534c1eb2be84e9d0f6
 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
 (cherry picked from commit 15e4df7d83fd30e16f014bc1ddc5d55884b388aa)
----
- src/corelib/codecs/qbig5codec.cpp    |    2 +-
- src/corelib/codecs/qeucjpcodec.cpp   |    2 +-
- src/corelib/codecs/qeucjpcodec_p.h   |    2 +-
- src/corelib/codecs/qeuckrcodec.cpp   |    4 ++--
- src/corelib/codecs/qfontjpcodec.cpp  |    4 ++--
- src/corelib/codecs/qgb18030codec.cpp |    2 +-
- src/corelib/codecs/qjiscodec.cpp     |    2 +-
- src/corelib/codecs/qjiscodec_p.h     |    2 +-
- src/corelib/codecs/qjpunicode.cpp    |    2 +-
- src/corelib/codecs/qsjiscodec.cpp    |    2 +-
- src/corelib/codecs/qsjiscodec_p.h    |    2 +-
- 11 files changed, 13 insertions(+), 13 deletions(-)
 
 diff --git a/src/corelib/codecs/qbig5codec.cpp b/src/corelib/codecs/qbig5codec.cpp
-index e30861d..c1a73f7 100644
+index 662aee8..cd39ea0 100644
 --- a/src/corelib/codecs/qbig5codec.cpp
 +++ b/src/corelib/codecs/qbig5codec.cpp
 @@ -39,7 +39,7 @@
@@ -79375,7 +79258,7 @@
  QT_BEGIN_NAMESPACE
  
 diff --git a/src/corelib/codecs/qeucjpcodec.cpp b/src/corelib/codecs/qeucjpcodec.cpp
-index 4ff5552..f5f4285 100644
+index 69e314c..091ad4d 100644
 --- a/src/corelib/codecs/qeucjpcodec.cpp
 +++ b/src/corelib/codecs/qeucjpcodec.cpp
 @@ -73,7 +73,7 @@
@@ -79388,7 +79271,7 @@
  QT_BEGIN_NAMESPACE
  
 diff --git a/src/corelib/codecs/qeucjpcodec_p.h b/src/corelib/codecs/qeucjpcodec_p.h
-index af02ed9..9cc7c3d 100644
+index d693e04..a5cd119 100644
 --- a/src/corelib/codecs/qeucjpcodec_p.h
 +++ b/src/corelib/codecs/qeucjpcodec_p.h
 @@ -71,7 +71,7 @@
@@ -79401,7 +79284,7 @@
  #include <QtCore/qlist.h>
  
 diff --git a/src/corelib/codecs/qeuckrcodec.cpp b/src/corelib/codecs/qeuckrcodec.cpp
-index cc8fca8..00beebd 100644
+index bef4132..f91442f 100644
 --- a/src/corelib/codecs/qeuckrcodec.cpp
 +++ b/src/corelib/codecs/qeuckrcodec.cpp
 @@ -65,8 +65,8 @@
@@ -79416,7 +79299,7 @@
  QT_BEGIN_NAMESPACE
  
 diff --git a/src/corelib/codecs/qfontjpcodec.cpp b/src/corelib/codecs/qfontjpcodec.cpp
-index 85eae20..6763c88 100644
+index 2ac3d6c..590d72d 100644
 --- a/src/corelib/codecs/qfontjpcodec.cpp
 +++ b/src/corelib/codecs/qfontjpcodec.cpp
 @@ -39,9 +39,9 @@
@@ -79432,7 +79315,7 @@
  QT_BEGIN_NAMESPACE
  
 diff --git a/src/corelib/codecs/qgb18030codec.cpp b/src/corelib/codecs/qgb18030codec.cpp
-index 760fcc0..d5a40df 100644
+index 928bc52..5c0e701 100644
 --- a/src/corelib/codecs/qgb18030codec.cpp
 +++ b/src/corelib/codecs/qgb18030codec.cpp
 @@ -44,7 +44,7 @@
@@ -79445,7 +79328,7 @@
  #ifndef QT_NO_TEXTCODEC
  
 diff --git a/src/corelib/codecs/qjiscodec.cpp b/src/corelib/codecs/qjiscodec.cpp
-index 99c756e..b311646 100644
+index dd80541..1831170 100644
 --- a/src/corelib/codecs/qjiscodec.cpp
 +++ b/src/corelib/codecs/qjiscodec.cpp
 @@ -48,7 +48,7 @@
@@ -79458,7 +79341,7 @@
  
  QT_BEGIN_NAMESPACE
 diff --git a/src/corelib/codecs/qjiscodec_p.h b/src/corelib/codecs/qjiscodec_p.h
-index aaf02a9..3cd7c80 100644
+index dcdb04d..bb59c33 100644
 --- a/src/corelib/codecs/qjiscodec_p.h
 +++ b/src/corelib/codecs/qjiscodec_p.h
 @@ -71,7 +71,7 @@
@@ -79471,7 +79354,7 @@
  #include <QtCore/qlist.h>
  
 diff --git a/src/corelib/codecs/qjpunicode.cpp b/src/corelib/codecs/qjpunicode.cpp
-index feb0f41..67d4630 100644
+index ffd8829..7827ef3 100644
 --- a/src/corelib/codecs/qjpunicode.cpp
 +++ b/src/corelib/codecs/qjpunicode.cpp
 @@ -44,7 +44,7 @@
@@ -79484,7 +79367,7 @@
  #include "qbytearray.h"
  #include <stdlib.h>
 diff --git a/src/corelib/codecs/qsjiscodec.cpp b/src/corelib/codecs/qsjiscodec.cpp
-index ac89b33..b80b494 100644
+index f03cd26..97e6000 100644
 --- a/src/corelib/codecs/qsjiscodec.cpp
 +++ b/src/corelib/codecs/qsjiscodec.cpp
 @@ -48,7 +48,7 @@
@@ -79497,7 +79380,7 @@
  
  QT_BEGIN_NAMESPACE
 diff --git a/src/corelib/codecs/qsjiscodec_p.h b/src/corelib/codecs/qsjiscodec_p.h
-index c56a103..df1449b 100644
+index 3d3cde7..4910bfd 100644
 --- a/src/corelib/codecs/qsjiscodec_p.h
 +++ b/src/corelib/codecs/qsjiscodec_p.h
 @@ -71,7 +71,7 @@
@@ -79510,13 +79393,13 @@
  #include <QtCore/qlist.h>
  
 -- 
-1.7.9.2
-
-
-From 4cc7d919207633377a3afc52f750d551bc7a90bd Mon Sep 17 00:00:00 2001
+1.7.10.4
+
+
+From 2be2accfee23fee3a9d97e5852ff9d2a01a7c33f Mon Sep 17 00:00:00 2001
 From: Mark Brand <mabrand@mabrand.nl>
 Date: Sun, 3 Jul 2011 21:53:27 +0200
-Subject: [PATCH 07/15] cosmetic adjustments for files moved to core/codecs
+Subject: [PATCH 07/22] cosmetic adjustments for files moved to core/codecs
 
 -update old reference to 'plugin'
 -rename multiple inclusion guards
@@ -79527,33 +79410,14 @@
 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
 (cherry picked from commit 712cfb509484599f1586f68cc379e3e7464e9967)
----
- src/corelib/codecs/cp949codetbl_p.h  |   19 +++++++++++++++----
- src/corelib/codecs/qbig5codec.cpp    |    2 +-
- src/corelib/codecs/qbig5codec_p.h    |   19 +++++++++++++++----
- src/corelib/codecs/qeucjpcodec.cpp   |    2 +-
- src/corelib/codecs/qeucjpcodec_p.h   |   19 +++++++++++++++----
- src/corelib/codecs/qeuckrcodec.cpp   |    2 +-
- src/corelib/codecs/qeuckrcodec_p.h   |   19 +++++++++++++++----
- src/corelib/codecs/qfontjpcodec.cpp  |    2 +-
- src/corelib/codecs/qfontjpcodec_p.h  |   19 +++++++++++++++----
- src/corelib/codecs/qgb18030codec.cpp |    2 +-
- src/corelib/codecs/qgb18030codec_p.h |   19 +++++++++++++++----
- src/corelib/codecs/qjiscodec.cpp     |    2 +-
- src/corelib/codecs/qjiscodec_p.h     |   19 +++++++++++++++----
- src/corelib/codecs/qjpunicode.cpp    |    2 +-
- src/corelib/codecs/qjpunicode_p.h    |   19 +++++++++++++++----
- src/corelib/codecs/qsjiscodec.cpp    |    2 +-
- src/corelib/codecs/qsjiscodec_p.h    |   19 +++++++++++++++----
- 17 files changed, 143 insertions(+), 44 deletions(-)
 
 diff --git a/src/corelib/codecs/cp949codetbl_p.h b/src/corelib/codecs/cp949codetbl_p.h
-index 25723c7..0e608fa 100644
+index 8bf9204..228c5ad 100644
 --- a/src/corelib/codecs/cp949codetbl_p.h
 +++ b/src/corelib/codecs/cp949codetbl_p.h
-@@ -4,7 +4,7 @@
- ** All rights reserved.
- ** Contact: Nokia Corporation (qt-info@nokia.com)
+@@ -3,7 +3,7 @@
+ ** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
+ ** Contact: http://www.qt-project.org/
  **
 -** This file is part of the plugins of the Qt Toolkit.
 +** This file is part of the QtCore module of the Qt Toolkit.
@@ -79589,12 +79453,12 @@
 -#endif // CP494CODETBL_H
 +#endif // CP494CODETBL_P_H
 diff --git a/src/corelib/codecs/qbig5codec.cpp b/src/corelib/codecs/qbig5codec.cpp
-index c1a73f7..ecdc84d 100644
+index cd39ea0..13b317f 100644
 --- a/src/corelib/codecs/qbig5codec.cpp
 +++ b/src/corelib/codecs/qbig5codec.cpp
-@@ -4,7 +4,7 @@
- ** All rights reserved.
- ** Contact: Nokia Corporation (qt-info@nokia.com)
+@@ -3,7 +3,7 @@
+ ** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
+ ** Contact: http://www.qt-project.org/
  **
 -** This file is part of the plugins of the Qt Toolkit.
 +** This file is part of the QtCore module of the Qt Toolkit.
@@ -79602,12 +79466,12 @@
  ** $QT_BEGIN_LICENSE:LGPL$
  ** GNU Lesser General Public License Usage
 diff --git a/src/corelib/codecs/qbig5codec_p.h b/src/corelib/codecs/qbig5codec_p.h
-index f43b733..849ff9d 100644
+index eec1798..674c513 100644
 --- a/src/corelib/codecs/qbig5codec_p.h
 +++ b/src/corelib/codecs/qbig5codec_p.h
-@@ -4,7 +4,7 @@
- ** All rights reserved.
- ** Contact: Nokia Corporation (qt-info@nokia.com)
+@@ -3,7 +3,7 @@
+ ** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
+ ** Contact: http://www.qt-project.org/
  **
 -** This file is part of the plugins of the Qt Toolkit.
 +** This file is part of the QtCore module of the Qt Toolkit.
@@ -79643,12 +79507,12 @@
 -#endif // QBIG5CODEC_H
 +#endif // QBIG5CODEC_P_H
 diff --git a/src/corelib/codecs/qeucjpcodec.cpp b/src/corelib/codecs/qeucjpcodec.cpp
-index f5f4285..c681492 100644
+index 091ad4d..773c473 100644
 --- a/src/corelib/codecs/qeucjpcodec.cpp
 +++ b/src/corelib/codecs/qeucjpcodec.cpp
-@@ -4,7 +4,7 @@
- ** All rights reserved.
- ** Contact: Nokia Corporation (qt-info@nokia.com)
+@@ -3,7 +3,7 @@
+ ** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
+ ** Contact: http://www.qt-project.org/
  **
 -** This file is part of the plugins of the Qt Toolkit.
 +** This file is part of the QtCore module of the Qt Toolkit.
@@ -79656,12 +79520,12 @@
  ** $QT_BEGIN_LICENSE:LGPL$
  ** GNU Lesser General Public License Usage
 diff --git a/src/corelib/codecs/qeucjpcodec_p.h b/src/corelib/codecs/qeucjpcodec_p.h
-index 9cc7c3d..d34ac7c 100644
+index a5cd119..97d8523 100644
 --- a/src/corelib/codecs/qeucjpcodec_p.h
 +++ b/src/corelib/codecs/qeucjpcodec_p.h
-@@ -4,7 +4,7 @@
- ** All rights reserved.
- ** Contact: Nokia Corporation (qt-info@nokia.com)
+@@ -3,7 +3,7 @@
+ ** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
+ ** Contact: http://www.qt-project.org/
  **
 -** This file is part of the plugins of the Qt Toolkit.
 +** This file is part of the QtCore module of the Qt Toolkit.
@@ -79697,12 +79561,12 @@
 -#endif // QEUCJPCODEC_H
 +#endif // QEUCJPCODEC_P_H
 diff --git a/src/corelib/codecs/qeuckrcodec.cpp b/src/corelib/codecs/qeuckrcodec.cpp
-index 00beebd..2cd472b 100644
+index f91442f..8417bf0 100644
 --- a/src/corelib/codecs/qeuckrcodec.cpp
 +++ b/src/corelib/codecs/qeuckrcodec.cpp
-@@ -4,7 +4,7 @@
- ** All rights reserved.
- ** Contact: Nokia Corporation (qt-info@nokia.com)
+@@ -3,7 +3,7 @@
+ ** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
+ ** Contact: http://www.qt-project.org/
  **
 -** This file is part of the plugins of the Qt Toolkit.
 +** This file is part of the QtCore module of the Qt Toolkit.
@@ -79710,12 +79574,12 @@
  ** $QT_BEGIN_LICENSE:LGPL$
  ** GNU Lesser General Public License Usage
 diff --git a/src/corelib/codecs/qeuckrcodec_p.h b/src/corelib/codecs/qeuckrcodec_p.h
-index 9408622..f498d7c 100644
+index 55a1337..79647b1 100644
 --- a/src/corelib/codecs/qeuckrcodec_p.h
 +++ b/src/corelib/codecs/qeuckrcodec_p.h
-@@ -4,7 +4,7 @@
- ** All rights reserved.
- ** Contact: Nokia Corporation (qt-info@nokia.com)
+@@ -3,7 +3,7 @@
+ ** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
+ ** Contact: http://www.qt-project.org/
  **
 -** This file is part of the plugins of the Qt Toolkit.
 +** This file is part of the QtCore module of the Qt Toolkit.
@@ -79751,12 +79615,12 @@
 -#endif // QEUCKRCODEC_H
 +#endif // QEUCKRCODEC_P_H
 diff --git a/src/corelib/codecs/qfontjpcodec.cpp b/src/corelib/codecs/qfontjpcodec.cpp
-index 6763c88..156ec3a 100644
+index 590d72d..3d39524 100644
 --- a/src/corelib/codecs/qfontjpcodec.cpp
 +++ b/src/corelib/codecs/qfontjpcodec.cpp
-@@ -4,7 +4,7 @@
- ** All rights reserved.
- ** Contact: Nokia Corporation (qt-info@nokia.com)
+@@ -3,7 +3,7 @@
+ ** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
+ ** Contact: http://www.qt-project.org/
  **
 -** This file is part of the plugins of the Qt Toolkit.
 +** This file is part of the QtCore module of the Qt Toolkit.
@@ -79764,12 +79628,12 @@
  ** $QT_BEGIN_LICENSE:LGPL$
  ** GNU Lesser General Public License Usage
 diff --git a/src/corelib/codecs/qfontjpcodec_p.h b/src/corelib/codecs/qfontjpcodec_p.h
-index 6b2a6ee..981a086 100644
+index dfb06bb..9e9b8dd 100644
 --- a/src/corelib/codecs/qfontjpcodec_p.h
 +++ b/src/corelib/codecs/qfontjpcodec_p.h
-@@ -4,7 +4,7 @@
- ** All rights reserved.
- ** Contact: Nokia Corporation (qt-info@nokia.com)
+@@ -3,7 +3,7 @@
+ ** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
+ ** Contact: http://www.qt-project.org/
  **
 -** This file is part of the plugins of the Qt Toolkit.
 +** This file is part of the QtCore module of the Qt Toolkit.
@@ -79805,12 +79669,12 @@
 -#endif // QFONTJPCODEC_H
 +#endif // QFONTJPCODEC_P_H
 diff --git a/src/corelib/codecs/qgb18030codec.cpp b/src/corelib/codecs/qgb18030codec.cpp
-index d5a40df..2b56018 100644
+index 5c0e701..c5daef6 100644
 --- a/src/corelib/codecs/qgb18030codec.cpp
 +++ b/src/corelib/codecs/qgb18030codec.cpp
-@@ -4,7 +4,7 @@
- ** All rights reserved.
- ** Contact: Nokia Corporation (qt-info@nokia.com)
+@@ -3,7 +3,7 @@
+ ** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
+ ** Contact: http://www.qt-project.org/
  **
 -** This file is part of the plugins of the Qt Toolkit.
 +** This file is part of the QtCore module of the Qt Toolkit.
@@ -79818,12 +79682,12 @@
  ** $QT_BEGIN_LICENSE:LGPL$
  ** GNU Lesser General Public License Usage
 diff --git a/src/corelib/codecs/qgb18030codec_p.h b/src/corelib/codecs/qgb18030codec_p.h
-index 85047f3..6c3cb31 100644
+index 3e082bf..0f66211 100644
 --- a/src/corelib/codecs/qgb18030codec_p.h
 +++ b/src/corelib/codecs/qgb18030codec_p.h
-@@ -4,7 +4,7 @@
- ** All rights reserved.
- ** Contact: Nokia Corporation (qt-info@nokia.com)
+@@ -3,7 +3,7 @@
+ ** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
+ ** Contact: http://www.qt-project.org/
  **
 -** This file is part of the plugins of the Qt Toolkit.
 +** This file is part of the QtCore module of the Qt Toolkit.
@@ -79859,12 +79723,12 @@
 -#endif // QGB18030CODEC_H
 +#endif // QGB18030CODEC_P_H
 diff --git a/src/corelib/codecs/qjiscodec.cpp b/src/corelib/codecs/qjiscodec.cpp
-index b311646..7b5fb4e 100644
+index 1831170..83c4329 100644
 --- a/src/corelib/codecs/qjiscodec.cpp
 +++ b/src/corelib/codecs/qjiscodec.cpp
-@@ -4,7 +4,7 @@
- ** All rights reserved.
- ** Contact: Nokia Corporation (qt-info@nokia.com)
+@@ -3,7 +3,7 @@
+ ** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
+ ** Contact: http://www.qt-project.org/
  **
 -** This file is part of the plugins of the Qt Toolkit.
 +** This file is part of the QtCore module of the Qt Toolkit.
@@ -79872,12 +79736,12 @@
  ** $QT_BEGIN_LICENSE:LGPL$
  ** GNU Lesser General Public License Usage
 diff --git a/src/corelib/codecs/qjiscodec_p.h b/src/corelib/codecs/qjiscodec_p.h
-index 3cd7c80..4a0fc43 100644
+index bb59c33..daccf57 100644
 --- a/src/corelib/codecs/qjiscodec_p.h
 +++ b/src/corelib/codecs/qjiscodec_p.h
-@@ -4,7 +4,7 @@
- ** All rights reserved.
- ** Contact: Nokia Corporation (qt-info@nokia.com)
+@@ -3,7 +3,7 @@
+ ** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
+ ** Contact: http://www.qt-project.org/
  **
 -** This file is part of the plugins of the Qt Toolkit.
 +** This file is part of the QtCore module of the Qt Toolkit.
@@ -79913,12 +79777,12 @@
 -#endif // QJISCODEC_H
 +#endif // QJISCODEC_P_H
 diff --git a/src/corelib/codecs/qjpunicode.cpp b/src/corelib/codecs/qjpunicode.cpp
-index 67d4630..03db950 100644
+index 7827ef3..1e4883f 100644
 --- a/src/corelib/codecs/qjpunicode.cpp
 +++ b/src/corelib/codecs/qjpunicode.cpp
-@@ -4,7 +4,7 @@
- ** All rights reserved.
- ** Contact: Nokia Corporation (qt-info@nokia.com)
+@@ -3,7 +3,7 @@
+ ** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
+ ** Contact: http://www.qt-project.org/
  **
 -** This file is part of the plugins of the Qt Toolkit.
 +** This file is part of the QtCore module of the Qt Toolkit.
@@ -79926,12 +79790,12 @@
  ** $QT_BEGIN_LICENSE:LGPL$
  ** GNU Lesser General Public License Usage
 diff --git a/src/corelib/codecs/qjpunicode_p.h b/src/corelib/codecs/qjpunicode_p.h
-index 069f49a..82b3d2c 100644
+index a5bdd0c..07b5b25 100644
 --- a/src/corelib/codecs/qjpunicode_p.h
 +++ b/src/corelib/codecs/qjpunicode_p.h
-@@ -4,7 +4,7 @@
- ** All rights reserved.
- ** Contact: Nokia Corporation (qt-info@nokia.com)
+@@ -3,7 +3,7 @@
+ ** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
+ ** Contact: http://www.qt-project.org/
  **
 -** This file is part of the plugins of the Qt Toolkit.
 +** This file is part of the QtCore module of the Qt Toolkit.
@@ -79967,12 +79831,12 @@
 -#endif // QJPUNICODE_H
 +#endif // QJPUNICODE_P_H
 diff --git a/src/corelib/codecs/qsjiscodec.cpp b/src/corelib/codecs/qsjiscodec.cpp
-index b80b494..c4438e3 100644
+index 97e6000..27121ad 100644
 --- a/src/corelib/codecs/qsjiscodec.cpp
 +++ b/src/corelib/codecs/qsjiscodec.cpp
-@@ -4,7 +4,7 @@
- ** All rights reserved.
- ** Contact: Nokia Corporation (qt-info@nokia.com)
+@@ -3,7 +3,7 @@
+ ** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
+ ** Contact: http://www.qt-project.org/
  **
 -** This file is part of the plugins of the Qt Toolkit.
 +** This file is part of the QtCore module of the Qt Toolkit.
@@ -79980,12 +79844,12 @@
  ** $QT_BEGIN_LICENSE:LGPL$
  ** GNU Lesser General Public License Usage
 diff --git a/src/corelib/codecs/qsjiscodec_p.h b/src/corelib/codecs/qsjiscodec_p.h
-index df1449b..f8efcae 100644
+index 4910bfd..d57f94b 100644
 --- a/src/corelib/codecs/qsjiscodec_p.h
 +++ b/src/corelib/codecs/qsjiscodec_p.h
-@@ -4,7 +4,7 @@
- ** All rights reserved.
- ** Contact: Nokia Corporation (qt-info@nokia.com)
+@@ -3,7 +3,7 @@
+ ** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
+ ** Contact: http://www.qt-project.org/
  **
 -** This file is part of the plugins of the Qt Toolkit.
 +** This file is part of the QtCore module of the Qt Toolkit.
@@ -80021,13 +79885,13 @@
 -#endif // QSJISCODEC_H
 +#endif // QSJISCODEC_P_H
 -- 
-1.7.9.2
-
-
-From e57ad0b10f420f62db94ba3ed3367d34ad2825ca Mon Sep 17 00:00:00 2001
+1.7.10.4
+
+
+From eeecdea8f15353aa0461ec09f7064f456849a3c3 Mon Sep 17 00:00:00 2001
 From: Mark Brand <mabrand@mabrand.nl>
 Date: Thu, 12 Jan 2012 10:43:29 +0100
-Subject: [PATCH 08/15] remove obsolete codec plugin loading code
+Subject: [PATCH 08/22] remove obsolete codec plugin loading code
 
 backported from qt5/qtbase
 Change-Id: I1f3dbb5c10009413f701947b1b89ed3dbc94bf3d
@@ -80038,19 +79902,6 @@
 Conflicts:
 
 	dist/changes-5.0.0
----
- src/corelib/codecs/codecs.pri           |    8 +-
- src/corelib/codecs/qtextcodec.cpp       |   87 +----------------
- src/corelib/codecs/qtextcodecplugin.cpp |  161 -------------------------------
- src/corelib/codecs/qtextcodecplugin.h   |   96 ------------------
- src/corelib/global/qconfig-medium.h     |    3 -
- src/corelib/global/qconfig-minimal.h    |    3 -
- src/corelib/global/qconfig-nacl.h       |    3 -
- src/corelib/global/qconfig-small.h      |    3 -
- src/corelib/global/qfeatures.h          |    5 -
- 9 files changed, 4 insertions(+), 365 deletions(-)
- delete mode 100644 src/corelib/codecs/qtextcodecplugin.cpp
- delete mode 100644 src/corelib/codecs/qtextcodecplugin.h
 
 diff --git a/src/corelib/codecs/codecs.pri b/src/corelib/codecs/codecs.pri
 index a1271b9..9274eda 100644
@@ -80083,7 +79934,7 @@
      codecs/qjpunicode.cpp \
      codecs/qeucjpcodec.cpp \
 diff --git a/src/corelib/codecs/qtextcodec.cpp b/src/corelib/codecs/qtextcodec.cpp
-index 3a2a60e..3cd5a5e 100644
+index b6ed5e6..55e5b83 100644
 --- a/src/corelib/codecs/qtextcodec.cpp
 +++ b/src/corelib/codecs/qtextcodec.cpp
 @@ -48,11 +48,6 @@
@@ -80231,15 +80082,14 @@
  
 diff --git a/src/corelib/codecs/qtextcodecplugin.cpp b/src/corelib/codecs/qtextcodecplugin.cpp
 deleted file mode 100644
-index 4eb075c..0000000
+index b164f31..0000000
 --- a/src/corelib/codecs/qtextcodecplugin.cpp
 +++ /dev/null
 @@ -1,161 +0,0 @@
 -/****************************************************************************
 -**
 -** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
--** All rights reserved.
--** Contact: Nokia Corporation (qt-info@nokia.com)
+-** Contact: http://www.qt-project.org/
 -**
 -** This file is part of the QtCore module of the Qt Toolkit.
 -**
@@ -80272,6 +80122,7 @@
 -**
 -**
 -**
+-**
 -** $QT_END_LICENSE$
 -**
 -****************************************************************************/
@@ -80398,15 +80249,14 @@
 -#endif // QT_NO_TEXTCODECPLUGIN
 diff --git a/src/corelib/codecs/qtextcodecplugin.h b/src/corelib/codecs/qtextcodecplugin.h
 deleted file mode 100644
-index 9a00bbc..0000000
+index 2873b0e..0000000
 --- a/src/corelib/codecs/qtextcodecplugin.h
 +++ /dev/null
 @@ -1,96 +0,0 @@
 -/****************************************************************************
 -**
 -** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
--** All rights reserved.
--** Contact: Nokia Corporation (qt-info@nokia.com)
+-** Contact: http://www.qt-project.org/
 -**
 -** This file is part of the QtCore module of the Qt Toolkit.
 -**
@@ -80439,6 +80289,7 @@
 -**
 -**
 -**
+-**
 -** $QT_END_LICENSE$
 -**
 -****************************************************************************/
@@ -80499,7 +80350,7 @@
 -
 -#endif // QTEXTCODECPLUGIN_H
 diff --git a/src/corelib/global/qconfig-medium.h b/src/corelib/global/qconfig-medium.h
-index 96207d1..779d4ef 100644
+index 170b2c3..9ed73aa 100644
 --- a/src/corelib/global/qconfig-medium.h
 +++ b/src/corelib/global/qconfig-medium.h
 @@ -91,9 +91,6 @@
@@ -80513,7 +80364,7 @@
  #  define QT_NO_TRANSLATION
  #endif
 diff --git a/src/corelib/global/qconfig-minimal.h b/src/corelib/global/qconfig-minimal.h
-index da2bf14..dc963a7 100644
+index 6781c60..707e6b1 100644
 --- a/src/corelib/global/qconfig-minimal.h
 +++ b/src/corelib/global/qconfig-minimal.h
 @@ -167,9 +167,6 @@
@@ -80527,7 +80378,7 @@
  #  define QT_NO_TRANSLATION
  #endif
 diff --git a/src/corelib/global/qconfig-nacl.h b/src/corelib/global/qconfig-nacl.h
-index d97e666..ecaad4f 100644
+index eb4632f..7fecfec 100644
 --- a/src/corelib/global/qconfig-nacl.h
 +++ b/src/corelib/global/qconfig-nacl.h
 @@ -128,9 +128,6 @@
@@ -80541,7 +80392,7 @@
  #  define QT_NO_TRANSLATION
  #endif
 diff --git a/src/corelib/global/qconfig-small.h b/src/corelib/global/qconfig-small.h
-index fefbfb6..d0a7029 100644
+index 988dc6f..dda6567 100644
 --- a/src/corelib/global/qconfig-small.h
 +++ b/src/corelib/global/qconfig-small.h
 @@ -128,9 +128,6 @@
@@ -80555,7 +80406,7 @@
  #  define QT_NO_TRANSLATION
  #endif
 diff --git a/src/corelib/global/qfeatures.h b/src/corelib/global/qfeatures.h
-index 844101a..4ea4227 100644
+index 9612778..493269d 100644
 --- a/src/corelib/global/qfeatures.h
 +++ b/src/corelib/global/qfeatures.h
 @@ -643,11 +643,6 @@
@@ -80571,13 +80422,13 @@
  #if !defined(QT_NO_COLORDIALOG) && (defined(QT_NO_SPINBOX))
  #define QT_NO_COLORDIALOG
 -- 
-1.7.9.2
-
-
-From ea246a109c1ebc2cfaad6e92ac87c4a1cc18ec7e Mon Sep 17 00:00:00 2001
+1.7.10.4
+
+
+From c94d9111ef83683ea2b7db6e4070594c4a332f1c Mon Sep 17 00:00:00 2001
 From: Mark Brand <mabrand@mabrand.nl>
 Date: Mon, 23 Jan 2012 23:12:46 +0100
-Subject: [PATCH 09/15] remove vestiges of text codec plugins
+Subject: [PATCH 09/22] remove vestiges of text codec plugins
 
 follow-up to 3a3356a85079d734dfa57205a00e1996afc033df
 
@@ -80585,9 +80436,6 @@
 Change-Id: Iba84958cbcd105ec702568752090719cc108e101
 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
 (cherry picked from commit 38d4618eb5f9b7293513267f9f5749aa2568e08c)
----
- src/corelib/global/qfeatures.txt |    7 -------
- 1 file changed, 7 deletions(-)
 
 diff --git a/src/corelib/global/qfeatures.txt b/src/corelib/global/qfeatures.txt
 index dea05e0..12cd8ea 100644
@@ -80608,18 +80456,15 @@
  Description: Supports translations using QObject::tr().
  Section: Internationalization
 -- 
-1.7.9.2
-
-
-From 6fa42258f48a5e03ad9faa708202a1c53e1e5e20 Mon Sep 17 00:00:00 2001
+1.7.10.4
+
+
+From 415466a4ac2a87522569544a9b9ba7115fc4acf7 Mon Sep 17 00:00:00 2001
 From: Mark Brand <mabrand@mabrand.nl>
 Date: Thu, 3 Nov 2011 15:10:26 +0100
-Subject: [PATCH 10/15] use pkg-config for libmng (MXE specific)
+Subject: [PATCH 10/22] use pkg-config for libmng (MXE specific)
 
 Change-Id: Ifce956d5cad06d5273088656b8500b87980063f4
----
- src/gui/image/qmnghandler.pri |    4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
 
 diff --git a/src/gui/image/qmnghandler.pri b/src/gui/image/qmnghandler.pri
 index ffb98de..6aab68f 100644
@@ -80637,18 +80482,15 @@
  } else {
      include($$PWD/../../3rdparty/libmng.pri)
 -- 
-1.7.9.2
-
-
-From 94cbc5be38cb1386ec6acd6045615abb9b370874 Mon Sep 17 00:00:00 2001
+1.7.10.4
+
+
+From 1cac3150930d5353455b560792f7e76fe180ad26 Mon Sep 17 00:00:00 2001
 From: Mark Brand <mabrand@mabrand.nl>
 Date: Thu, 3 Nov 2011 14:11:02 +0100
-Subject: [PATCH 11/15] use pkg-config for libtiff-4 (MXE specific)
+Subject: [PATCH 11/22] use pkg-config for libtiff-4 (MXE specific)
 
 Change-Id: I5e89e66fc1606d425553e781c9e62db703136957
----
- src/gui/image/qtiffhandler.pri |    4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
 
 diff --git a/src/gui/image/qtiffhandler.pri b/src/gui/image/qtiffhandler.pri
 index e1cc3ee..71cbab1 100644
@@ -80666,13 +80508,13 @@
  } else {
      include($$PWD/../../3rdparty/libtiff.pri)
 -- 
-1.7.9.2
-
-
-From 2faf7d28bd1aa3b8b889ad68268700403ccba4d0 Mon Sep 17 00:00:00 2001
+1.7.10.4
+
+
+From 28ad5f9d9c70feba6475652c6445bbe263998d3d Mon Sep 17 00:00:00 2001
 From: Mark Brand <mabrand@mabrand.nl>
 Date: Sat, 5 Jun 2010 23:41:04 +0200
-Subject: [PATCH 12/15] restore support for static linking of QtWebKit (MXE
+Subject: [PATCH 12/22] restore support for static linking of QtWebKit (MXE
  specific)
 
 Support was removed by 4221d629e2cf37ee8c5ba7cb595b05ab8c82f113.
@@ -80684,19 +80526,12 @@
 Don't build Qt WebKit tests to avoid static linking problems.
 
 Change-Id: Ia969b8e3f2b656a5057c7ebf748f272d74f014da
----
- configure                                          |    6 ------
- .../Source/JavaScriptCore/JavaScriptCore.pri       |   12 ++++++++++++
- src/3rdparty/webkit/Source/WebCore/WebCore.pri     |   12 ++++++++++++
- src/3rdparty/webkit/Source/WebCore/WebCore.pro     |    2 +-
- src/3rdparty/webkit/Source/WebKit.pro              |    2 +-
- 5 files changed, 26 insertions(+), 8 deletions(-)
 
 diff --git a/configure b/configure
-index 862aad5..f679fa4 100755
+index 520ffc3..e018443 100755
 --- a/configure
 +++ b/configure
-@@ -7626,12 +7626,6 @@ if [ "$CFG_GUI" = "no" ]; then
+@@ -7683,12 +7683,6 @@ if [ "$CFG_GUI" = "no" ]; then
      canBuildWebKit="no"
  fi
  
@@ -80776,13 +80611,13 @@
  build-qtscript {
      SUBDIRS += \
 -- 
-1.7.9.2
-
-
-From e2187b030e2d7bd0fc9f51190737d5d45d693197 Mon Sep 17 00:00:00 2001
+1.7.10.4
+
+
+From ab04bc59d7caf5d04bb87bd75d2bbe98da89d599 Mon Sep 17 00:00:00 2001
 From: Tony Theodore <tonyt@logyst.com>
 Date: Thu, 1 Sep 2011 13:47:10 +0200
-Subject: [PATCH 13/15] fix building on GNU/kFreeBSD (MXE specific)
+Subject: [PATCH 13/22] fix building on GNU/kFreeBSD (MXE specific)
 
 This patch has been taken from:
 
@@ -80792,12 +80627,9 @@
 Author: Pino Toscano <pino@kde.org>
 Description: Fixes FTBFS on GNU/kFreeBSD by creating new Q_OS_FREEBSD_KERNEL.
 Last-Update: 2010-10-06
----
- src/corelib/global/qglobal.h |    2 ++
- 1 file changed, 2 insertions(+)
 
 diff --git a/src/corelib/global/qglobal.h b/src/corelib/global/qglobal.h
-index 15b6afb..55f7df3 100644
+index b3d4852..1a6a4a4 100644
 --- a/src/corelib/global/qglobal.h
 +++ b/src/corelib/global/qglobal.h
 @@ -226,6 +226,8 @@ namespace QT_NAMESPACE {}
@@ -80810,13 +80642,13 @@
  #  define Q_OS_NETBSD
  #  define Q_OS_BSD4
 -- 
-1.7.9.2
-
-
-From edc8e5747312fb0dbc61ae4a1c432440cb70ad94 Mon Sep 17 00:00:00 2001
+1.7.10.4
+
+
+From 28bf082efa51789d404e33bfbfdbe17a8261af87 Mon Sep 17 00:00:00 2001
 From: Tony Theodore <tonyt@logyst.com>
 Date: Thu, 1 Sep 2011 13:49:47 +0200
-Subject: [PATCH 14/15] fix missing platform when building on GNU/kFreeBSD
+Subject: [PATCH 14/22] fix missing platform when building on GNU/kFreeBSD
  (MXE specific)
 
 This patch is inspired by:
@@ -80825,15 +80657,12 @@
 For the time being, glibc-g++ is simply a copy of linux-g++.
 
 Change-Id: I1bebe2e6eef878318142ca5ed3525afc167b0a95
----
- configure |    3 +++
- 1 file changed, 3 insertions(+)
 
 diff --git a/configure b/configure
-index f679fa4..bb563fe 100755
+index e018443..b600744 100755
 --- a/configure
 +++ b/configure
-@@ -2809,6 +2809,9 @@ if [ -z "$PLATFORM" ]; then
+@@ -2845,6 +2845,9 @@ if [ -z "$PLATFORM" ]; then
       GNU:*)
          PLATFORM=hurd-g++
          ;;
@@ -80844,27 +80673,24 @@
          PLATFORM=dgux-g++
          ;;
 -- 
-1.7.9.2
-
-
-From 9e5f8124bdb183e115d742d45acb00fd7a8250c3 Mon Sep 17 00:00:00 2001
+1.7.10.4
+
+
+From f32c0852485615d6938d1cde1e0b4dc4e6262a7e Mon Sep 17 00:00:00 2001
 From: Tony Theodore <tonyt@logyst.com>
 Date: Thu, 1 Sep 2011 13:51:50 +0200
-Subject: [PATCH 15/15] fix building on dragonfly (MXE specific)
+Subject: [PATCH 15/22] fix building on dragonfly (MXE specific)
 
 This patch is inspired by:
 http://cvsweb.NetBSD.org/bsdweb.cgi/pkgsrc/x11/qt4-libs/Makefile.common?rev=1.27&content-type=text/x-cvsweb-markup
 
 Change-Id: I9743a39ac35950cb15af915c3ae527433bc6b56d
----
- configure |    2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/configure b/configure
-index bb563fe..79ca8d3 100755
+index b600744..599203d 100755
 --- a/configure
 +++ b/configure
-@@ -2821,7 +2821,7 @@ if [ -z "$PLATFORM" ]; then
+@@ -2857,7 +2857,7 @@ if [ -z "$PLATFORM" ]; then
       ULTRIX:*)
          PLATFORM=ultrix-g++
          ;;
@@ -80874,5 +80700,362 @@
          PLATFORM_NOTES="
              - Also available for FreeBSD: freebsd-icc
 -- 
-1.7.9.2
-
+1.7.10.4
+
+
+From 67da309cbc542e765d2254bd2e2c64a78c7cd35f Mon Sep 17 00:00:00 2001
+From: Yuchen Deng <loaden@gmail.com>
+Date: Sun, 19 Aug 2012 15:38:44 +0800
+Subject: [PATCH 16/22] Add -pipe option of win32-g++'s QMAKE_CFLAGS
+
+cherry-picked from qt5/qtbase commit 2b57a8ebfeb6e3495b63fac619631896ca670f11
+
+Change-Id: Idccab648df1a9456a4ee19f1acfdb0544d40a928
+Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
+(cherry picked from commit 9fbdb93d3aa1cad8859325814e28f014acd18f10)
+
+diff --git a/mkspecs/win32-g++/qmake.conf b/mkspecs/win32-g++/qmake.conf
+index d174634..6d631fc 100644
+--- a/mkspecs/win32-g++/qmake.conf
++++ b/mkspecs/win32-g++/qmake.conf
+@@ -25,7 +25,7 @@ QMAKE_LEX		= flex
+ QMAKE_LEXFLAGS		=
+ QMAKE_YACC		= byacc
+ QMAKE_YACCFLAGS		= -d
+-QMAKE_CFLAGS		=
++QMAKE_CFLAGS		= -pipe
+ QMAKE_CFLAGS_DEPS	= -M
+ QMAKE_CFLAGS_WARN_ON	= -Wall -Wextra
+ QMAKE_CFLAGS_WARN_OFF	= -w
+-- 
+1.7.10.4
+
+
+From eeeadca6963f3dedd6ea3626409199f49afa839f Mon Sep 17 00:00:00 2001
+From: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
+Date: Mon, 10 Sep 2012 12:08:51 +0200
+Subject: [PATCH 17/22] find qdevice.pri even for installed qt builds
+
+Change-Id: Ife18068974227d70c52e7cb0d06e6136827ac562
+Reviewed-by: Mark Brand <mabrand@mabrand.nl>
+(cherry picked from commit ffac77f7de433f67570ff0da9656bce6481be920)
+
+diff --git a/mkspecs/features/device_config.prf b/mkspecs/features/device_config.prf
+index f7aeb07..7da3fe5 100644
+--- a/mkspecs/features/device_config.prf
++++ b/mkspecs/features/device_config.prf
+@@ -1,6 +1,6 @@
+ # Load generated qdevice.pri
+ isEmpty(QT_BUILD_TREE): QT_BUILD_TREE = $$fromfile($$_QMAKE_CACHE_, QT_BUILD_TREE)
+-isEmpty(QT_BUILD_TREE): QT_BUILD_TREE = . # where to get?
++isEmpty(QT_BUILD_TREE): QT_BUILD_TREE = $$[QT_INSTALL_DATA]
+ 
+ DEVICE_PRI = $$QT_BUILD_TREE/mkspecs/qdevice.pri
+ 
+-- 
+1.7.10.4
+
+
+From 2519a7dd92f14031c7d11775caa0645384febd87 Mon Sep 17 00:00:00 2001
+From: Mark Brand <mabrand@mabrand.nl>
+Date: Wed, 12 Sep 2012 00:22:28 +0200
+Subject: [PATCH 18/22] Partial Revert "Disable pkg-config, when x-compiling
+ for mingw"
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+This partially reverts commit c7d5071afc6c76925c90ff35041dc4eb86511271.
+
+Despite what the commit message said, pkg-config previously worked
+and was useful, particularly for static Qt. Qt itself even installs
+its own .pc files.
+
+Note: The mkspec win32-g++-cross had a PKG_CONFIG definition to avoid
+using the pkg-config installation on the build machine.
+
+cherry-picked from qt5/qtbase commit 7d9b5e8e7d2094dedbe7e3e2f961544f233ce57e
+Change-Id: I6c6ed81b2ab42c9cf7f7e250feeeb9c34c8877e7
+Reviewed-by: Peter Kümmel <syntheticpp@gmx.net>
+Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
+(cherry picked from commit 57069f1bd5e8cd5450f1d1ceae0d6d315b4a66c8)
+
+diff --git a/configure b/configure
+index 599203d..a0786da 100755
+--- a/configure
++++ b/configure
+@@ -1684,7 +1684,6 @@ while [ "$#" -gt 0 ]; do
+         case `basename "$XPLATFORM"` in win32-g++*)
+             XPLATFORM_MINGW=yes
+             CFG_RPATH=no
+-            PKG_CONFIG=no
+             CFG_REDUCE_EXPORTS=no
+             ;;
+         esac
+-- 
+1.7.10.4
+
+
+From 03f7a56af4020aaead73c9d0de389d32fd4ddb24 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Peter=20K=C3=BCmmel?= <syntheticpp@gmx.net>
+Date: Wed, 12 Sep 2012 11:13:44 +0200
+Subject: [PATCH 19/22] When x-compiling on Linux the host tools doesn't have
+ Windows' executable suffix
+
+patch not needed for Qt5
+
+Change-Id: I26a6cd8de91dc6df7d31a9f38187f7b1e8209cc1
+Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
+(cherry picked from commit 95c55b8a913fd7aaa23a44f1f9aa568342b25e07)
+
+diff --git a/mkspecs/win32-g++/qmake.conf b/mkspecs/win32-g++/qmake.conf
+index 6d631fc..2cd2214 100644
+--- a/mkspecs/win32-g++/qmake.conf
++++ b/mkspecs/win32-g++/qmake.conf
+@@ -11,6 +11,8 @@ MAKEFILE_GENERATOR	= MINGW
+ 
+ load(device_config)
+ 
++equals(QMAKE_HOST.os, Windows): EXE_SUFFIX = .exe
++
+ TEMPLATE		= app
+ CONFIG			+= qt warn_on release link_prl copy_dir_files debug_and_release debug_and_release_target precompile_header
+ QT			+= core gui
+@@ -101,9 +103,9 @@ QMAKE_LIBS_QT_ENTRY     = -lmingw32 -lqtmain
+     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$${EXE_SUFFIX}
++QMAKE_UIC		= $$[QT_INSTALL_BINS]$${DIR_SEPARATOR}uic$${EXE_SUFFIX}
++QMAKE_IDC		= $$[QT_INSTALL_BINS]$${DIR_SEPARATOR}idc$${EXE_SUFFIX}
+ 
+ QMAKE_IDL		= midl
+ QMAKE_LIB		= $${CROSS_COMPILE}ar -ru
+-- 
+1.7.10.4
+
+
+From 32415e3cb482c55b16d5953e37865ded1885869d Mon Sep 17 00:00:00 2001
+From: Mark Brand <mabrand@mabrand.nl>
+Date: Tue, 11 Sep 2012 23:45:02 +0200
+Subject: [PATCH 20/22] smuggle QT_BUILD_TREE to device_config.prf even during
+ tests
+
+Otherwise CROSS_COMPILE is not available for config.tests
+because qdevice.pri is not found in such configurations as:
+
+./configure -xplatform win32-g++-4.6 \
+            -device-option CROSS_COMPILE=$TARGET \
+            -prefix=$PREFIX/$TARGET \
+            -prefix-install
+
+Normally, we don't want to use .qmake.cache during tests,
+but we need that mechanism here.
+
+Change-Id: If255f9657fa4206c4875a730f467d58b8a1c6ac1
+Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
+(cherry picked from commit a0c6987dbb139829f9ea61a66cb863b1baa1f183)
+
+diff --git a/config.tests/unix/compile.test b/config.tests/unix/compile.test
+index f4a7f29..b8f6743 100755
+--- a/config.tests/unix/compile.test
++++ b/config.tests/unix/compile.test
+@@ -68,7 +68,8 @@ test -r Makefile && $MAKE distclean >/dev/null 2>&1
+ # Make sure output from possible previous tests is gone
+ rm -f "$EXE" "${EXE}.exe"
+ 
+-"$OUTDIR/bin/qmake" -nocache -spec "$QMKSPEC" "CONFIG+=$QMAKE_CONFIG" "CONFIG-=debug_and_release" "LIBS*=$LFLAGS" "LIBS+=$MAC_ARCH_LFLAGS" "INCLUDEPATH*=$INCLUDEPATH" "QMAKE_CXXFLAGS*=$CXXFLAGS" "QMAKE_CXXFLAGS+=$MAC_ARCH_CXXFLAGS" "QT_BUILD_TREE=$OUTDIR" "$SRCDIR/$TEST/$EXE.pro" -o "$OUTDIR/$TEST/Makefile"
++echo "QT_BUILD_TREE = $OUTDIR" > "$OUTDIR/$TEST/.qmake.cache"
++"$OUTDIR/bin/qmake" -spec "$QMKSPEC" "CONFIG+=$QMAKE_CONFIG" "CONFIG-=debug_and_release" "LIBS*=$LFLAGS" "LIBS+=$MAC_ARCH_LFLAGS" "INCLUDEPATH*=$INCLUDEPATH" "QMAKE_CXXFLAGS*=$CXXFLAGS" "QMAKE_CXXFLAGS+=$MAC_ARCH_CXXFLAGS" "$SRCDIR/$TEST/$EXE.pro" -o "$OUTDIR/$TEST/Makefile"
+ 
+ if [ "$VERBOSE" = "yes" ]; then
+     $MAKE
+-- 
+1.7.10.4
+
+
+From 6a5e0ddd8a49120e14638ff905d7535b3a83d0f9 Mon Sep 17 00:00:00 2001
+From: Mark Brand <mabrand@mabrand.nl>
+Date: Sun, 16 Sep 2012 00:12:53 +0200
+Subject: [PATCH 21/22] postpone pkg-config detection until after qmake is
+ built
+
+pkg-config isn't used before qmake is built, so detecting it can take
+place afterwards. This is preparation for using qmake to resolve
+PKG_CONFIG define in mkspecs.
+
+Change-Id: Icedf9ebd80bbac3fe1e5d7eeca358cb0fc9de072
+
+diff --git a/configure b/configure
+index a0786da..53d0506 100755
+--- a/configure
++++ b/configure
+@@ -3330,64 +3330,9 @@ if [ "$OPT_VERBOSE" = "yes" ]; then
+ fi
+ 
+ #-------------------------------------------------------------------------------
+-# write out device config before we run the test.
+-#-------------------------------------------------------------------------------
+-DEVICE_VARS_OUTFILE="$outpath/mkspecs/qdevice.pri"
+-if cmp -s "$DEVICE_VARS_FILE" "$DEVICE_VARS_OUTFILE"; then
+-    rm -f "$DEVICE_VARS_FILE"
+-else
+-    mv -f $DEVICE_VARS_FILE "$DEVICE_VARS_OUTFILE"
+-    DEVICE_VARS_FILE="$DEVICE_VARS_OUTFILE"
+-fi
+-
+-#-------------------------------------------------------------------------------
+ # tests that don't need qmake (must be run before displaying help)
+ #-------------------------------------------------------------------------------
+ 
+-if [ -z "$PKG_CONFIG" ]; then
+-    # See if PKG_CONFIG is set in the mkspec:
+-    PKG_CONFIG=`getXQMakeConf PKG_CONFIG`
+-fi
+-if [ -z "$PKG_CONFIG" ]; then
+-    PKG_CONFIG=`"$WHICH" pkg-config 2>/dev/null`
+-fi
+-
+-# Work out if we can use pkg-config
+-if [ "$QT_CROSS_COMPILE" = "yes" ]; then
+-    if [ "$QT_FORCE_PKGCONFIG" = "yes" ]; then
+-        echo >&2 ""
+-        echo >&2 "You have asked to use pkg-config and are cross-compiling."
+-        echo >&2 "Please make sure you have a correctly set-up pkg-config"
+-        echo >&2 "environment!"
+-        echo >&2 ""
+-        if [ -z "$PKG_CONFIG_PATH" ]; then
+-            echo >&2 ""
+-            echo >&2 "Warning: PKG_CONFIG_PATH has not been set.  This could mean"
+-            echo >&2 "the host compiler's .pc files will be used. This is probably"
+-            echo >&2 "not what you want."
+-            echo >&2 ""
+-        elif [ -z "$PKG_CONFIG_SYSROOT" ] && [ -z "$PKG_CONFIG_SYSROOT_DIR" ]; then
+-            echo >&2 ""
+-            echo >&2 "Warning: PKG_CONFIG_SYSROOT/PKG_CONFIG_SYSROOT_DIR has not"
+-            echo >&2 "been set. This means your toolchain's .pc files must contain"
+-            echo >&2 "the paths to the toolchain's libraries & headers. If configure"
+-            echo >&2 "tests are failing, please check these files."
+-            echo >&2 ""
+-        fi
+-    else
+-        echo >&2 ""
+-        echo >&2 "You have not explicitly asked to use pkg-config and are cross-compiling."
+-        echo >&2 "pkg-config will not be used to automatically query cflag/lib parameters for"
+-        echo >&2 "dependencies"
+-        echo >&2 ""
+-        PKG_CONFIG=""
+-    fi
+-fi
+-
+-if [ ! -n "$PKG_CONFIG" ]; then
+-    QT_CONFIG="$QT_CONFIG no-pkg-config"
+-fi
+-
+ # process CFG_MAC_ARCHS
+ if [ "$PLATFORM_MAC" = "yes" ]; then
+ #   check -arch arguments for validity.
+@@ -5058,6 +5003,61 @@ if true; then ###[ '!' -f "$outpath/bin/qmake" ];
+ fi # Build qmake
+ 
+ #-------------------------------------------------------------------------------
++# write out device config before we run the test.
++#-------------------------------------------------------------------------------
++DEVICE_VARS_OUTFILE="$outpath/mkspecs/qdevice.pri"
++if cmp -s "$DEVICE_VARS_FILE" "$DEVICE_VARS_OUTFILE"; then
++    rm -f "$DEVICE_VARS_FILE"
++else
++    mv -f $DEVICE_VARS_FILE "$DEVICE_VARS_OUTFILE"
++    DEVICE_VARS_FILE="$DEVICE_VARS_OUTFILE"
++fi
++
++if [ -z "$PKG_CONFIG" ]; then
++    # See if PKG_CONFIG is set in the mkspec:
++    PKG_CONFIG=`getXQMakeConf PKG_CONFIG`
++fi
++if [ -z "$PKG_CONFIG" ]; then
++    PKG_CONFIG=`"$WHICH" pkg-config 2>/dev/null`
++fi
++
++# Work out if we can use pkg-config
++if [ "$QT_CROSS_COMPILE" = "yes" ]; then
++    if [ "$QT_FORCE_PKGCONFIG" = "yes" ]; then
++        echo >&2 ""
++        echo >&2 "You have asked to use pkg-config and are cross-compiling."
++        echo >&2 "Please make sure you have a correctly set-up pkg-config"
++        echo >&2 "environment!"
++        echo >&2 ""
++        if [ -z "$PKG_CONFIG_PATH" ]; then
++            echo >&2 ""
++            echo >&2 "Warning: PKG_CONFIG_PATH has not been set.  This could mean"
++            echo >&2 "the host compiler's .pc files will be used. This is probably"
++            echo >&2 "not what you want."
++            echo >&2 ""
++        elif [ -z "$PKG_CONFIG_SYSROOT" ] && [ -z "$PKG_CONFIG_SYSROOT_DIR" ]; then
++            echo >&2 ""
++            echo >&2 "Warning: PKG_CONFIG_SYSROOT/PKG_CONFIG_SYSROOT_DIR has not"
++            echo >&2 "been set. This means your toolchain's .pc files must contain"
++            echo >&2 "the paths to the toolchain's libraries & headers. If configure"
++            echo >&2 "tests are failing, please check these files."
++            echo >&2 ""
++        fi
++    else
++        echo >&2 ""
++        echo >&2 "You have not explicitly asked to use pkg-config and are cross-compiling."
++        echo >&2 "pkg-config will not be used to automatically query cflag/lib parameters for"
++        echo >&2 "dependencies"
++        echo >&2 ""
++        PKG_CONFIG=""
++    fi
++fi
++
++if [ ! -n "$PKG_CONFIG" ]; then
++    QT_CONFIG="$QT_CONFIG no-pkg-config"
++fi
++
++#-------------------------------------------------------------------------------
+ # tests that need qmake
+ #-------------------------------------------------------------------------------
+ 
+-- 
+1.7.10.4
+
+
+From 8173e1aed8382a20afcb70ca36615dda67faf95c Mon Sep 17 00:00:00 2001
+From: Mark Brand <mabrand@mabrand.nl>
+Date: Fri, 14 Sep 2012 10:03:18 +0200
+Subject: [PATCH 22/22] use qmake to get PKG_CONFIG in configure script
+
+The value of PKG_CONFIG might depend on device options.
+For example, "-device-option PKG_CONFIG" might be used with configure
+or a mkspec might prefix PKG_CONFIG with CROSS_COMPILE which is
+specified as a device option.
+
+The shell functions of configure for parsing mkspecs do not take
+device options into account, but qmake is pretty good at it now.
+
+Change-Id: I1c9558e550c48e8441ebdac34b82066473c2ce3a
+
+diff --git a/configure b/configure
+index 53d0506..211476d 100755
+--- a/configure
++++ b/configure
+@@ -5015,7 +5015,11 @@ fi
+ 
+ if [ -z "$PKG_CONFIG" ]; then
+     # See if PKG_CONFIG is set in the mkspec:
+-    PKG_CONFIG=`getXQMakeConf PKG_CONFIG`
++    (echo TEMPLATE = subdirs
++     echo 'message($$PKG_CONFIG)') > "$outpath/dummy.pro"
++    echo "QT_BUILD_TREE = $outpath" > "$outpath/.qmake.cache.pkgconfig"
++    PKG_CONFIG="`"$outpath/bin/qmake" -cache "$outpath/.qmake.cache.pkgconfig" -spec "$XQMAKESPEC" "$outpath/dummy.pro" -o /dev/null 2>&1 1>&- | sed -n -e 's,Project MESSAGE: \(.*\),\1,p'`"
++    rm "$outpath/.qmake.cache.pkgconfig" "$outpath/dummy.pro"
+ fi
+ if [ -z "$PKG_CONFIG" ]; then
+     PKG_CONFIG=`"$WHICH" pkg-config 2>/dev/null`
+-- 
+1.7.10.4
+
--- a/src/qt.mk	Wed Jul 11 22:25:15 2012 +0200
+++ b/src/qt.mk	Tue Sep 18 14:19:24 2012 -0700
@@ -3,7 +3,7 @@
 
 PKG             := qt
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := e1e2edef1d63ed677d6534d32800c2e1f7ad0e73
+$(PKG)_CHECKSUM := bc352a283610e0cd2fe0dbedbc45613844090fcb
 $(PKG)_SUBDIR   := $(PKG)-everywhere-opensource-src-$($(PKG)_VERSION)
 $(PKG)_FILE     := $(PKG)-everywhere-opensource-src-$($(PKG)_VERSION).tar.gz
 $(PKG)_URL      := http://releases.qt-project.org/qt4/source/$($(PKG)_FILE)
@@ -18,7 +18,6 @@
 
 define $(PKG)_BUILD
     cd '$(1)' && QTDIR='$(1)' ./bin/syncqt
-
     cd '$(1)' && \
         OPENSSL_LIBS="`'$(TARGET)-pkg-config' --libs-only-l openssl`" \
         PSQL_LIBS="-lpq -lsecur32 `'$(TARGET)-pkg-config' --libs-only-l openssl` -lws2_32" \
@@ -27,12 +26,14 @@
         -opensource \
         -confirm-license \
         -fast \
-        -xplatform unsupported/win32-g++-4.6-cross \
+        -xplatform win32-g++-4.6 \
+        -device-option CROSS_COMPILE=$(TARGET)- \
+        -device-option PKG_CONFIG='$(TARGET)-pkg-config' \
         -force-pkg-config \
         -release \
         -exceptions \
         -static \
-        -prefix '$(PREFIX)/$(TARGET)' \
+        -prefix '$(PREFIX)/$(TARGET)/qt' \
         -prefix-install \
         -script \
         -no-iconv \
@@ -64,12 +65,12 @@
         -v
 
     $(MAKE) -C '$(1)' -j '$(JOBS)'
-    rm -rf '$(PREFIX)/$(TARGET)/mkspecs'
+    rm -rf '$(PREFIX)/$(TARGET)/qt'
     $(MAKE) -C '$(1)' -j 1 install
-    $(INSTALL) -m755 '$(1)/bin/moc'   '$(PREFIX)/bin/$(TARGET)-moc'
-    $(INSTALL) -m755 '$(1)/bin/rcc'   '$(PREFIX)/bin/$(TARGET)-rcc'
-    $(INSTALL) -m755 '$(1)/bin/uic'   '$(PREFIX)/bin/$(TARGET)-uic'
-    $(INSTALL) -m755 '$(1)/bin/qmake' '$(PREFIX)/bin/$(TARGET)-qmake'
+    ln -fs '$(PREFIX)/$(TARGET)/qt/bin/moc' '$(PREFIX)/bin/$(TARGET)-moc'
+    ln -fs '$(PREFIX)/$(TARGET)/qt/bin/rcc' '$(PREFIX)/bin/$(TARGET)-roc'
+    ln -fs '$(PREFIX)/$(TARGET)/qt/bin/uic' '$(PREFIX)/bin/$(TARGET)-uic'
+    ln -fs '$(PREFIX)/$(TARGET)/qt/bin/qmake' '$(PREFIX)/bin/$(TARGET)-qmake'
 
     cd '$(1)/tools/assistant' && '$(1)/bin/qmake' assistant.pro
     $(MAKE) -C '$(1)/tools/assistant' -j '$(JOBS)' install
--- a/src/sqlite.mk	Wed Jul 11 22:25:15 2012 +0200
+++ b/src/sqlite.mk	Tue Sep 18 14:19:24 2012 -0700
@@ -3,7 +3,7 @@
 
 PKG             := sqlite
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := d3833b6ad68db8505d1044f761dd962f415cd302
+$(PKG)_CHECKSUM := 7b429809918201555f4c0fa639183a1c663d3fe0
 $(PKG)_SUBDIR   := $(PKG)-autoconf-$($(PKG)_VERSION)
 $(PKG)_FILE     := $(PKG)-autoconf-$($(PKG)_VERSION).tar.gz
 $(PKG)_URL      := http://www.sqlite.org/$($(PKG)_FILE)
--- a/src/suitesparse.mk	Wed Jul 11 22:25:15 2012 +0200
+++ b/src/suitesparse.mk	Tue Sep 18 14:19:24 2012 -0700
@@ -2,10 +2,11 @@
 # See index.html for further information.
 
 PKG             := suitesparse
-$(PKG)_CHECKSUM := 6a8ae1fb1277a1f711bc84ed04938ef8dde1ace1
+$(PKG)_CHECKSUM := 46b24a28eef4b040ea5a02d2c43e82e28b7d6195
 $(PKG)_SUBDIR   := SuiteSparse
 $(PKG)_FILE     := SuiteSparse-$($(PKG)_VERSION).tar.gz
 $(PKG)_URL      := http://www.cise.ufl.edu/research/sparse/SuiteSparse/$($(PKG)_FILE)
+$(PKG)_URL_2    := https://distfiles.macports.org/SuiteSparse/$($(PKG)_FILE)
 $(PKG)_DEPS     := gcc blas lapack
 
 define $(PKG)_UPDATE
--- a/src/vmime-1-fixes.patch	Wed Jul 11 22:25:15 2012 +0200
+++ b/src/vmime-1-fixes.patch	Tue Sep 18 14:19:24 2012 -0700
@@ -7,7 +7,7 @@
 From 17ff5157ffdc749f60b8285f84e64ac5e06d4283 Mon Sep 17 00:00:00 2001
 From: Vincent Richard <vincent@vincent-richard.net>
 Date: Tue, 16 Nov 2010 13:28:05 +0000
-Subject: [PATCH 01/39] Started version 0.9.2.
+Subject: [PATCH 01/42] Started version 0.9.2.
 
 
 diff --git a/ChangeLog b/ChangeLog
@@ -47,7 +47,7 @@
 From c12ee2b267b9dcfd092a298dfd9a8eec81ab3a0b Mon Sep 17 00:00:00 2001
 From: Vincent Richard <vincent@vincent-richard.net>
 Date: Tue, 30 Nov 2010 14:57:03 +0000
-Subject: [PATCH 02/39] Initialize and delete object.
+Subject: [PATCH 02/42] Initialize and delete object.
 
 
 diff --git a/vmime/net/imap/IMAPParser.hpp b/vmime/net/imap/IMAPParser.hpp
@@ -80,7 +80,7 @@
 From fd277afe87485c9d3377964794b76006c6d36a56 Mon Sep 17 00:00:00 2001
 From: Vincent Richard <vincent@vincent-richard.net>
 Date: Wed, 8 Dec 2010 08:52:54 +0000
-Subject: [PATCH 03/39] No extra space between ':' and '<' in MAIL FROM and
+Subject: [PATCH 03/42] No extra space between ':' and '<' in MAIL FROM and
  RCPT TO. Wait for server response after QUIT and
  before closing connection.
 
@@ -122,7 +122,7 @@
 From d64da50e879c0e480d2e65c43e3b903c3e80101f Mon Sep 17 00:00:00 2001
 From: Vincent Richard <vincent@vincent-richard.net>
 Date: Fri, 10 Dec 2010 16:24:06 +0000
-Subject: [PATCH 04/39] Fixed unit test after bug fix.
+Subject: [PATCH 04/42] Fixed unit test after bug fix.
 
 
 diff --git a/tests/net/smtp/SMTPTransportTest.cpp b/tests/net/smtp/SMTPTransportTest.cpp
@@ -145,7 +145,7 @@
 From 130d0aabda2a9988913ad201390796775dc16a65 Mon Sep 17 00:00:00 2001
 From: Vincent Richard <vincent@vincent-richard.net>
 Date: Fri, 10 Dec 2010 16:54:38 +0000
-Subject: [PATCH 05/39] Fixed boundary parsing (thanks to John van der Kamp,
+Subject: [PATCH 05/42] Fixed boundary parsing (thanks to John van der Kamp,
  Zarafa).
 
 
@@ -233,7 +233,7 @@
 From c63f37c888798f0e7e99aa03afda16445a72b7b2 Mon Sep 17 00:00:00 2001
 From: Vincent Richard <vincent@vincent-richard.net>
 Date: Fri, 21 Jan 2011 15:28:06 +0000
-Subject: [PATCH 06/39] Fixed possible infinite loop (thanks to John van der
+Subject: [PATCH 06/42] Fixed possible infinite loop (thanks to John van der
  Kamp, Zarafa).
 
 
@@ -285,7 +285,7 @@
 From 1fafad8f913e700b350e6915de8be710fc2d1ced Mon Sep 17 00:00:00 2001
 From: Vincent Richard <vincent@vincent-richard.net>
 Date: Fri, 28 Jan 2011 12:11:08 +0000
-Subject: [PATCH 07/39] Fixed possible read to invalid memory location (thanks
+Subject: [PATCH 07/42] Fixed possible read to invalid memory location (thanks
  to Alexander Konovalov).
 
 
@@ -309,7 +309,7 @@
 From 73298423f695d7c4441d44619e4b7f9de75f566e Mon Sep 17 00:00:00 2001
 From: Vincent Richard <vincent@vincent-richard.net>
 Date: Wed, 9 Mar 2011 18:03:31 +0000
-Subject: [PATCH 08/39] Fixed bug #3174903. Fixed word parsing when buffer
+Subject: [PATCH 08/42] Fixed bug #3174903. Fixed word parsing when buffer
  does not end with NL. Fixed 'no encoding' when
  forced.
 
@@ -515,7 +515,7 @@
 From 5f5757b9d4bb0febb1e2183578eb91e801a08038 Mon Sep 17 00:00:00 2001
 From: Vincent Richard <vincent@vincent-richard.net>
 Date: Sun, 27 Mar 2011 11:26:55 +0000
-Subject: [PATCH 09/39] Allow static linking in mingw-cross-env. Added 'iconv'
+Subject: [PATCH 09/42] Allow static linking in mingw-cross-env. Added 'iconv'
  and uses 'ws2_32' instead of 'winsock32' (#3213487).
 
 
@@ -548,7 +548,7 @@
 From 2b48b4a68ce3e9b9b1a3f485123af5938a568324 Mon Sep 17 00:00:00 2001
 From: Vincent Richard <vincent@vincent-richard.net>
 Date: Thu, 31 Mar 2011 19:13:03 +0000
-Subject: [PATCH 10/39] Flush stateful data from iconv (thanks to John van der
+Subject: [PATCH 10/42] Flush stateful data from iconv (thanks to John van der
  Kamp, Zarafa).
 
 
@@ -629,7 +629,7 @@
 From 8d2e039c5201e144ff08e2ff7cf9efe77fe4b3d0 Mon Sep 17 00:00:00 2001
 From: Vincent Richard <vincent@vincent-richard.net>
 Date: Fri, 10 Jun 2011 19:39:09 +0000
-Subject: [PATCH 11/39] Requested email change.
+Subject: [PATCH 11/42] Requested email change.
 
 
 diff --git a/AUTHORS b/AUTHORS
@@ -652,7 +652,7 @@
 From cc6317f28ae0b61fea36e1bc78b09dc8300579f8 Mon Sep 17 00:00:00 2001
 From: Vincent Richard <vincent@vincent-richard.net>
 Date: Tue, 14 Jun 2011 18:37:54 +0000
-Subject: [PATCH 12/39] Fixed compilation issue following namespace change.
+Subject: [PATCH 12/42] Fixed compilation issue following namespace change.
 
 
 diff --git a/examples/example7.cpp b/examples/example7.cpp
@@ -688,7 +688,7 @@
 From a916d12d44ac43fc8e4729e0a91f4d6243f29a11 Mon Sep 17 00:00:00 2001
 From: Vincent Richard <vincent@vincent-richard.net>
 Date: Sun, 19 Jun 2011 17:51:33 +0000
-Subject: [PATCH 13/39] Fixed parsing of an attachment filename that is
+Subject: [PATCH 13/42] Fixed parsing of an attachment filename that is
  between 66 and 76 characters long (Zarafa).
 
 
@@ -713,7 +713,7 @@
 From 9735165c57000a6368e91ce8852206a20930c1ca Mon Sep 17 00:00:00 2001
 From: Vincent Richard <vincent@vincent-richard.net>
 Date: Sun, 19 Jun 2011 18:08:12 +0000
-Subject: [PATCH 14/39] Correctly generate attachment names which are long and
+Subject: [PATCH 14/42] Correctly generate attachment names which are long and
  have high characters for Outlook Express (Zarafa).
 
 
@@ -852,7 +852,7 @@
 From 8d69ad6849d8d6b211674942157f2af8bcd51c26 Mon Sep 17 00:00:00 2001
 From: Vincent Richard <vincent@vincent-richard.net>
 Date: Sun, 19 Jun 2011 18:16:49 +0000
-Subject: [PATCH 15/39] Alias for UTF-7 charset.
+Subject: [PATCH 15/42] Alias for UTF-7 charset.
 
 
 diff --git a/src/charset.cpp b/src/charset.cpp
@@ -887,7 +887,7 @@
 From ccd95daf9cdd7171fc2027afa5d0ad80b0475ded Mon Sep 17 00:00:00 2001
 From: Vincent Richard <vincent@vincent-richard.net>
 Date: Sun, 19 Jun 2011 18:39:35 +0000
-Subject: [PATCH 16/39] Fixed messageBuilder to accept an empty mailbox group
+Subject: [PATCH 16/42] Fixed messageBuilder to accept an empty mailbox group
  in 'To:' field, to allow for undisclosed-recipients
  (Zarafa).
 
@@ -924,7 +924,7 @@
 From 583e25bcdee132e53e0792cd8f0d8e535cabb743 Mon Sep 17 00:00:00 2001
 From: Vincent Richard <vincent@vincent-richard.net>
 Date: Sun, 19 Jun 2011 18:49:55 +0000
-Subject: [PATCH 17/39] Added support for mailboxes that specify an (encoded)
+Subject: [PATCH 17/42] Added support for mailboxes that specify an (encoded)
  full name with an empty email address, set by a <>
  marker (Zarafa).
 
@@ -997,7 +997,7 @@
 From 461b92f84d5c16b297d33610fcd89fc7ca5a161a Mon Sep 17 00:00:00 2001
 From: Vincent Richard <vincent@vincent-richard.net>
 Date: Fri, 24 Jun 2011 15:46:23 +0000
-Subject: [PATCH 18/39] Added missing libs in pkg-config file.
+Subject: [PATCH 18/42] Added missing libs in pkg-config file.
 
 
 diff --git a/SConstruct b/SConstruct
@@ -1020,7 +1020,7 @@
 From 2b2c0abd02a17ccff7d49e266b9854f4ea47f8e4 Mon Sep 17 00:00:00 2001
 From: Vincent Richard <vincent@vincent-richard.net>
 Date: Sat, 25 Jun 2011 17:07:53 +0000
-Subject: [PATCH 19/39] Fixed parsing of empty body parts (thanks to John van
+Subject: [PATCH 19/42] Fixed parsing of empty body parts (thanks to John van
  der Kamp, from Zarafa).
 
 
@@ -1083,7 +1083,7 @@
 From 2648d744da0e2e744c7959999ac513c3016072b4 Mon Sep 17 00:00:00 2001
 From: Vincent Richard <vincent@vincent-richard.net>
 Date: Sun, 26 Jun 2011 08:19:11 +0000
-Subject: [PATCH 20/39] Use gnutls_priority_set_direct() instead of GNUTLS
+Subject: [PATCH 20/42] Use gnutls_priority_set_direct() instead of GNUTLS
  deprecated functions.
 
 
@@ -1192,7 +1192,7 @@
 From 1060121ffd4315c3158ffc001040f4f705514e7a Mon Sep 17 00:00:00 2001
 From: Vincent Richard <vincent@vincent-richard.net>
 Date: Sun, 26 Jun 2011 12:47:25 +0000
-Subject: [PATCH 21/39] Fixed encoding of whitespace. Fixed old test case.
+Subject: [PATCH 21/42] Fixed encoding of whitespace. Fixed old test case.
 
 
 diff --git a/src/text.cpp b/src/text.cpp
@@ -1285,7 +1285,7 @@
 From dc6dc039fc0edccf4630894fa6ed8cd4bf3bb3ce Mon Sep 17 00:00:00 2001
 From: Vincent Richard <vincent@vincent-richard.net>
 Date: Sat, 20 Aug 2011 06:35:06 +0000
-Subject: [PATCH 22/39] Use gnutls_strerror() for reporting errors.
+Subject: [PATCH 22/42] Use gnutls_strerror() for reporting errors.
 
 
 diff --git a/src/net/tls/TLSSession.cpp b/src/net/tls/TLSSession.cpp
@@ -1435,7 +1435,7 @@
 From 7ea6fc3737ef36407e1c90f3aa05f89a39bdefb7 Mon Sep 17 00:00:00 2001
 From: Vincent Richard <vincent@vincent-richard.net>
 Date: Sun, 21 Aug 2011 08:55:46 +0000
-Subject: [PATCH 23/39] Removed dependency on gcrypt for gnutls version >=
+Subject: [PATCH 23/42] Removed dependency on gcrypt for gnutls version >=
  2.12.
 
 
@@ -1488,7 +1488,7 @@
 From f21c55be642b166a2f0518ace2b179bed3916b23 Mon Sep 17 00:00:00 2001
 From: Vincent Richard <vincent@vincent-richard.net>
 Date: Sun, 21 Aug 2011 09:04:46 +0000
-Subject: [PATCH 24/39] Fixed HAVE_GNUTLS_PRIORITY_FUNCS never defined when
+Subject: [PATCH 24/42] Fixed HAVE_GNUTLS_PRIORITY_FUNCS never defined when
  configured with no TLS support.
 
 
@@ -1520,7 +1520,7 @@
 From d4e66226a696745adafa1767210580f8fbb7ae00 Mon Sep 17 00:00:00 2001
 From: Vincent Richard <vincent@vincent-richard.net>
 Date: Tue, 15 Nov 2011 11:40:42 +0000
-Subject: [PATCH 25/39] GNU TLS 3 has no 'extra' (thanks to mabrand).
+Subject: [PATCH 25/42] GNU TLS 3 has no 'extra' (thanks to mabrand).
 
 
 diff --git a/src/net/tls/TLSSession.cpp b/src/net/tls/TLSSession.cpp
@@ -1544,7 +1544,7 @@
 From bacbe512e406d22f6acc83597fcdfc2d624cf82b Mon Sep 17 00:00:00 2001
 From: Vincent Richard <vincent@vincent-richard.net>
 Date: Tue, 15 Nov 2011 11:46:07 +0000
-Subject: [PATCH 26/39] Set Diffie-Hellman prime size (bug SF#3434852).
+Subject: [PATCH 26/42] Set Diffie-Hellman prime size (bug SF#3434852).
 
 
 diff --git a/src/net/tls/TLSSession.cpp b/src/net/tls/TLSSession.cpp
@@ -1566,7 +1566,7 @@
 From 6574b60a303c5d864e840aa23959656bb2803485 Mon Sep 17 00:00:00 2001
 From: Vincent Richard <vincent@vincent-richard.net>
 Date: Thu, 22 Dec 2011 08:51:28 +0000
-Subject: [PATCH 27/39] Updated coding conventions.
+Subject: [PATCH 27/42] Updated coding conventions.
 
 
 diff --git a/HACKING b/HACKING
@@ -1686,7 +1686,7 @@
 From 130e5223dea0af2f8d9d01cca7845be4e1a08d13 Mon Sep 17 00:00:00 2001
 From: Vincent Richard <vincent@vincent-richard.net>
 Date: Thu, 5 Apr 2012 11:46:39 +0200
-Subject: [PATCH 28/39] Added function to retrieve sequence numbers of
+Subject: [PATCH 28/42] Added function to retrieve sequence numbers of
  messages whose UID is greater or equal than a
  specified UID (thanks to Zahi Mashael).
 
@@ -1856,7 +1856,7 @@
 From 3f1a565b8b532f0d11a13d3f6d763b00c8ce625b Mon Sep 17 00:00:00 2001
 From: Vincent Richard <vincent@vincent-richard.net>
 Date: Thu, 5 Apr 2012 11:55:07 +0200
-Subject: [PATCH 29/39] Added .gitignore.
+Subject: [PATCH 29/42] Added .gitignore.
 
 
 diff --git a/.gitignore b/.gitignore
@@ -1883,7 +1883,7 @@
 From 5937bcda0fac9cb80d0cecbaa663ecdfe2839c09 Mon Sep 17 00:00:00 2001
 From: Vincent Richard <vincent@vincent-richard.net>
 Date: Thu, 5 Apr 2012 12:08:01 +0200
-Subject: [PATCH 30/39] Added check before dereferencing.
+Subject: [PATCH 30/42] Added check before dereferencing.
 
 
 diff --git a/vmime/utility/smartPtr.hpp b/vmime/utility/smartPtr.hpp
@@ -1908,7 +1908,7 @@
 From b0d74ce63ea9563ef4b218bce2497bd668dfad29 Mon Sep 17 00:00:00 2001
 From: Vincent Richard <vincent@vincent-richard.net>
 Date: Thu, 5 Apr 2012 12:34:51 +0200
-Subject: [PATCH 31/39] Updated README.
+Subject: [PATCH 31/42] Updated README.
 
 
 diff --git a/README b/README
@@ -1954,7 +1954,7 @@
 From 350fada21a4f11c2f633a3cde1f2195efefe7e32 Mon Sep 17 00:00:00 2001
 From: Vincent Richard <vincent@vincent-richard.net>
 Date: Thu, 5 Apr 2012 22:10:54 +0200
-Subject: [PATCH 32/39] Added test: Ensure '7bit' encoding is used when body
+Subject: [PATCH 32/42] Added test: Ensure '7bit' encoding is used when body
  is 7-bit only.
 
 
@@ -1996,7 +1996,7 @@
 From 6c877ea41a2e408df61ac6f988c3bae7e0821141 Mon Sep 17 00:00:00 2001
 From: Vincent Richard <vincent@vincent-richard.net>
 Date: Thu, 5 Apr 2012 22:29:32 +0200
-Subject: [PATCH 33/39] Added tests for Quoted-Printable encoding.
+Subject: [PATCH 33/42] Added tests for Quoted-Printable encoding.
 
 
 diff --git a/tests/utility/encoderTest.cpp b/tests/utility/encoderTest.cpp
@@ -2055,7 +2055,7 @@
 From e88f062ab58654aee3cf45f94e8a5dd6c1256279 Mon Sep 17 00:00:00 2001
 From: Vincent Richard <vincent@vincent-richard.net>
 Date: Thu, 5 Apr 2012 23:15:04 +0200
-Subject: [PATCH 34/39] Fixed wrong encoding of line breaks in QP-encoded text
+Subject: [PATCH 34/42] Fixed wrong encoding of line breaks in QP-encoded text
  (issue #7).
 
 
@@ -2306,7 +2306,7 @@
 From ea77bdba96588345090e3de81d9d6af116edeeb5 Mon Sep 17 00:00:00 2001
 From: Vincent Richard <vincent@vincent-richard.net>
 Date: Fri, 6 Apr 2012 22:26:18 +0200
-Subject: [PATCH 35/39] Fixed memory leak.
+Subject: [PATCH 35/42] Fixed memory leak.
 
 
 diff --git a/src/net/tls/TLSSocket.cpp b/src/net/tls/TLSSocket.cpp
@@ -2333,7 +2333,7 @@
 From 440d491fd6da134fcb5f19416743e8f2044556bf Mon Sep 17 00:00:00 2001
 From: Vincent Richard <vincent@vincent-richard.net>
 Date: Sat, 14 Apr 2012 13:46:05 +0200
-Subject: [PATCH 36/39] Split stream.hpp/.cpp into multiple source files.
+Subject: [PATCH 36/42] Split stream.hpp/.cpp into multiple source files.
 
 
 diff --git a/SConstruct b/SConstruct
@@ -5727,7 +5727,7 @@
 From be30b47f09c5358db2ac8e42fa2bb4a14ec24c51 Mon Sep 17 00:00:00 2001
 From: Vincent Richard <vincent@vincent-richard.net>
 Date: Mon, 16 Apr 2012 22:32:33 +0200
-Subject: [PATCH 37/39] Added ability to parse directly from an input stream
+Subject: [PATCH 37/42] Added ability to parse directly from an input stream
  (eg. file). This allows very big messages to be
  parsed without loading the whole message data into
  memory.
@@ -9463,7 +9463,7 @@
 From 2e05e574fde890c7ec6dd9f3930d06b1b492ea80 Mon Sep 17 00:00:00 2001
 From: Vincent Richard <vincent@vincent-richard.net>
 Date: Fri, 27 Apr 2012 08:34:26 +0200
-Subject: [PATCH 38/39] Fixed duplicate file reference (thanks to Enes Albay).
+Subject: [PATCH 38/42] Fixed duplicate file reference (thanks to Enes Albay).
 
 
 diff --git a/SConstruct b/SConstruct
@@ -9485,7 +9485,7 @@
 From 799629fd8b21a716f3e3abc6e6a5264555470d85 Mon Sep 17 00:00:00 2001
 From: Vincent Richard <vincent@vincent-richard.net>
 Date: Fri, 6 Jul 2012 18:45:02 +0200
-Subject: [PATCH 39/39] Fixed issue #10.
+Subject: [PATCH 39/42] Fixed issue #10.
 
 
 diff --git a/src/net/imap/IMAPMessage.cpp b/src/net/imap/IMAPMessage.cpp
@@ -9504,3 +9504,813 @@
 -- 
 1.7.10.4
 
+
+From 72cf7a025f7764998609683904eea1046a766d97 Mon Sep 17 00:00:00 2001
+From: Vincent Richard <vincent@vincent-richard.net>
+Date: Sat, 28 Jul 2012 13:01:48 +0200
+Subject: [PATCH 40/42] Added functions to get messages by UID (IMAP only for
+ now).
+
+
+diff --git a/src/net/imap/IMAPFolder.cpp b/src/net/imap/IMAPFolder.cpp
+index 81bf386..3d8c17e 100644
+--- a/src/net/imap/IMAPFolder.cpp
++++ b/src/net/imap/IMAPFolder.cpp
+@@ -208,7 +208,7 @@ void IMAPFolder::open(const int mode, bool failIfModeIsNotAvailable)
+ 					{
+ 					case IMAPParser::resp_text_code::UIDVALIDITY:
+ 
+-						m_uidValidity = code->nz_number()->value();
++						m_uidValidity = static_cast <unsigned int>(code->nz_number()->value());
+ 						break;
+ 
+ 					default:
+@@ -550,6 +550,109 @@ std::vector <ref <message> > IMAPFolder::getMessages(const std::vector <int>& nu
+ }
+ 
+ 
++ref <message> IMAPFolder::getMessageByUID(const message::uid& uid)
++{
++	std::vector <message::uid> uids;
++	uids.push_back(uid);
++
++	std::vector <ref <message> > msgs = getMessagesByUID(uids);
++
++	if (msgs.size() == 0)
++		throw exceptions::message_not_found();
++
++	return msgs[0];
++}
++
++
++std::vector <ref <message> > IMAPFolder::getMessagesByUID(const std::vector <message::uid>& uids)
++{
++	if (!isOpen())
++		throw exceptions::illegal_state("Folder not open");
++
++	if (uids.size() == 0)
++		return std::vector <ref <message> >();
++
++	//     C: . UID FETCH uuuu1,uuuu2,uuuu3 UID
++	//     S: * nnnn1 FETCH (UID uuuu1)
++	//     S: * nnnn2 FETCH (UID uuuu2)
++	//     S: * nnnn3 FETCH (UID uuuu3)
++	//     S: . OK UID FETCH completed
++
++	// Prepare command and arguments
++	std::ostringstream cmd;
++	cmd.imbue(std::locale::classic());
++
++	cmd << "UID FETCH " << IMAPUtils::extractUIDFromGlobalUID(uids[0]);
++
++	for (unsigned int i = 1, n = uids.size() ; i < n ; ++i)
++		cmd << "," << IMAPUtils::extractUIDFromGlobalUID(uids[i]);
++
++	cmd << " UID";
++
++	// Send the request
++	m_connection->send(true, cmd.str(), true);
++
++	// Get the response
++	utility::auto_ptr <IMAPParser::response> resp(m_connection->readResponse());
++
++	if (resp->isBad() || resp->response_done()->response_tagged()->
++			resp_cond_state()->status() != IMAPParser::resp_cond_state::OK)
++	{
++		throw exceptions::command_error("UID FETCH ... UID", m_connection->getParser()->lastLine(), "bad response");
++	}
++
++	// Process the response
++	const std::vector <IMAPParser::continue_req_or_response_data*>& respDataList =
++		resp->continue_req_or_response_data();
++
++	std::vector <ref <message> > messages;
++
++	for (std::vector <IMAPParser::continue_req_or_response_data*>::const_iterator
++	     it = respDataList.begin() ; it != respDataList.end() ; ++it)
++	{
++		if ((*it)->response_data() == NULL)
++		{
++			throw exceptions::command_error("UID FETCH ... UID",
++				m_connection->getParser()->lastLine(), "invalid response");
++		}
++
++		const IMAPParser::message_data* messageData =
++			(*it)->response_data()->message_data();
++
++		// We are only interested in responses of type "FETCH"
++		if (messageData == NULL || messageData->type() != IMAPParser::message_data::FETCH)
++			continue;
++
++		// Get Process fetch response for this message
++		const int msgNum = static_cast <int>(messageData->number());
++		message::uid msgUID, msgFullUID;
++
++		// Find UID in message attributes
++		const std::vector <IMAPParser::msg_att_item*> atts = messageData->msg_att()->items();
++
++		for (std::vector <IMAPParser::msg_att_item*>::const_iterator
++		     it = atts.begin() ; it != atts.end() ; ++it)
++		{
++			if ((*it)->type() == IMAPParser::msg_att_item::UID)
++			{
++				msgFullUID = IMAPUtils::makeGlobalUID(m_uidValidity, (*it)->unique_id()->value());
++				msgUID = (*it)->unique_id()->value();
++
++				break;
++			}
++		}
++
++		if (!msgUID.empty())
++		{
++			ref <IMAPFolder> thisFolder = thisRef().dynamicCast <IMAPFolder>();
++			messages.push_back(vmime::create <IMAPMessage>(thisFolder, msgNum, msgFullUID));
++		}
++	}
++
++	return messages;
++}
++
++
+ int IMAPFolder::getMessageCount()
+ {
+ 	if (!isOpen())
+@@ -730,7 +833,7 @@ void IMAPFolder::fetchMessages(std::vector <ref <message> >& msg, const int opti
+ 
+ 			if (msg != numberToMsg.end())
+ 			{
+-				(*msg).second->processFetchResponse(options, messageData->msg_att());
++				(*msg).second->processFetchResponse(options, messageData);
+ 
+ 				if (progress)
+ 					progress->progress(++current, total);
+@@ -1781,7 +1884,7 @@ std::vector <int> IMAPFolder::getMessageNumbersStartingOnUID(const message::uid&
+ 	std::ostringstream command;
+ 	command.imbue(std::locale::classic());
+ 
+-	command << "SEARCH UID " << uid;
++	command << "SEARCH UID " << uid << ":*";
+ 
+ 	// Send the request
+ 	m_connection->send(true, command.str(), true);
+diff --git a/src/net/imap/IMAPMessage.cpp b/src/net/imap/IMAPMessage.cpp
+index 8006920..7202a7d 100644
+--- a/src/net/imap/IMAPMessage.cpp
++++ b/src/net/imap/IMAPMessage.cpp
+@@ -98,6 +98,14 @@ IMAPMessage::IMAPMessage(ref <IMAPFolder> folder, const int num)
+ }
+ 
+ 
++IMAPMessage::IMAPMessage(ref <IMAPFolder> folder, const int num, const uid& uniqueId)
++	: m_folder(folder), m_num(num), m_size(-1), m_flags(FLAG_UNDEFINED),
++	  m_expunged(false), m_uid(uniqueId), m_structure(NULL)
++{
++	folder->registerMessage(this);
++}
++
++
+ IMAPMessage::~IMAPMessage()
+ {
+ 	ref <IMAPFolder> folder = m_folder.acquire();
+@@ -271,7 +279,11 @@ void IMAPMessage::extract(ref <const part> p, utility::outputStream& os,
+ 	std::ostringstream command;
+ 	command.imbue(std::locale::classic());
+ 
+-	command << "FETCH " << m_num << " BODY";
++	if (m_uid.empty())
++		command << "FETCH " << m_num << " BODY";
++	else
++		command << "UID FETCH " << IMAPUtils::extractUIDFromGlobalUID(m_uid) << " BODY";
++
+ 	if (peek) command << ".PEEK";
+ 	command << "[";
+ 
+@@ -361,19 +373,18 @@ void IMAPMessage::fetch(ref <IMAPFolder> msgFolder, const int options)
+ 			continue;
+ 
+ 		// Process fetch response for this message
+-		processFetchResponse(options, messageData->msg_att());
++		processFetchResponse(options, messageData);
+ 	}
+ }
+ 
+ 
+ void IMAPMessage::processFetchResponse
+-	(const int options, const IMAPParser::msg_att* msgAtt)
++	(const int options, const IMAPParser::message_data* msgData)
+ {
+ 	ref <IMAPFolder> folder = m_folder.acquire();
+ 
+ 	// Get message attributes
+-	const std::vector <IMAPParser::msg_att_item*> atts =
+-		msgAtt->items();
++	const std::vector <IMAPParser::msg_att_item*> atts = msgData->msg_att()->items();
+ 
+ 	int flags = 0;
+ 
+@@ -389,12 +400,7 @@ void IMAPMessage::processFetchResponse
+ 		}
+ 		case IMAPParser::msg_att_item::UID:
+ 		{
+-			std::ostringstream oss;
+-			oss.imbue(std::locale::classic());
+-
+-			oss << folder->m_uidValidity << ":" << (*it)->unique_id()->value();
+-
+-			m_uid = oss.str();
++			m_uid = IMAPUtils::makeGlobalUID(folder->m_uidValidity, (*it)->unique_id()->value());
+ 			break;
+ 		}
+ 		case IMAPParser::msg_att_item::ENVELOPE:
+diff --git a/src/net/imap/IMAPUtils.cpp b/src/net/imap/IMAPUtils.cpp
+index 0d6fc47..eceac16 100644
+--- a/src/net/imap/IMAPUtils.cpp
++++ b/src/net/imap/IMAPUtils.cpp
+@@ -540,6 +540,24 @@ const string IMAPUtils::listToSet(const std::vector <int>& list, const int max,
+ 
+ 
+ // static
++const string IMAPUtils::listToSet(const std::vector <message::uid>& list)
++{
++	if (list.size() == 0)
++		return "";
++
++	std::ostringstream res;
++	res.imbue(std::locale::classic());
++
++	res << extractUIDFromGlobalUID(list[0]);
++
++	for (unsigned int i = 1, n = list.size() ; i < n ; ++i)
++		res << "," << extractUIDFromGlobalUID(list[i]);
++
++	return res.str();
++}
++
++
++// static
+ const string IMAPUtils::dateTime(const vmime::datetime& date)
+ {
+ 	std::ostringstream res;
+@@ -609,7 +627,8 @@ const string IMAPUtils::dateTime(const vmime::datetime& date)
+ 
+ 
+ // static
+-const string IMAPUtils::buildFetchRequest(const std::vector <int>& list, const int options)
++const string IMAPUtils::buildFetchRequestImpl
++	(const std::string& mode, const std::string& set, const int options)
+ {
+ 	// Example:
+ 	//   C: A654 FETCH 2:4 (FLAGS BODY[HEADER.FIELDS (DATE FROM)])
+@@ -671,7 +690,10 @@ const string IMAPUtils::buildFetchRequest(const std::vector <int>& list, const i
+ 	std::ostringstream command;
+ 	command.imbue(std::locale::classic());
+ 
+-	command << "FETCH " << listToSet(list, -1, false) << " (";
++	if (mode == "uid")
++		command << "UID FETCH " << set << " (";
++	else
++		command << "FETCH " << set << " (";
+ 
+ 	for (std::vector <string>::const_iterator it = items.begin() ;
+ 	     it != items.end() ; ++it)
+@@ -687,6 +709,20 @@ const string IMAPUtils::buildFetchRequest(const std::vector <int>& list, const i
+ 
+ 
+ // static
++const string IMAPUtils::buildFetchRequest(const std::vector <int>& list, const int options)
++{
++	return buildFetchRequestImpl("number", listToSet(list, -1, false), options);
++}
++
++
++// static
++const string IMAPUtils::buildFetchRequest(const std::vector <message::uid>& list, const int options)
++{
++	return buildFetchRequestImpl("uid", listToSet(list), options);
++}
++
++
++// static
+ void IMAPUtils::convertAddressList
+ 	(const IMAPParser::address_list& src, mailboxList& dest)
+ {
+@@ -706,6 +742,46 @@ void IMAPUtils::convertAddressList
+ }
+ 
+ 
++// static
++unsigned int IMAPUtils::extractUIDFromGlobalUID(const message::uid& uid)
++{
++	message::uid::size_type colonPos = uid.find(':');
++
++	if (colonPos == message::uid::npos)
++	{
++		std::istringstream iss(uid);
++		iss.imbue(std::locale::classic());
++
++		unsigned int n = 0;
++		iss >> n;
++
++		return n;
++	}
++	else
++	{
++		std::istringstream iss(uid.substr(colonPos + 1));
++		iss.imbue(std::locale::classic());
++
++		unsigned int n = 0;
++		iss >> n;
++
++		return n;
++	}
++}
++
++
++// static
++const message::uid IMAPUtils::makeGlobalUID(const unsigned int UIDValidity, const unsigned int messageUID)
++{
++	std::ostringstream oss;
++	oss.imbue(std::locale::classic());
++
++	oss << UIDValidity << ":" << messageUID;
++
++	return message::uid(oss.str());
++}
++
++
+ } // imap
+ } // net
+ } // vmime
+diff --git a/src/net/maildir/maildirFolder.cpp b/src/net/maildir/maildirFolder.cpp
+index 8c4b275..b606cda 100644
+--- a/src/net/maildir/maildirFolder.cpp
++++ b/src/net/maildir/maildirFolder.cpp
+@@ -444,6 +444,18 @@ std::vector <ref <message> > maildirFolder::getMessages(const std::vector <int>&
+ }
+ 
+ 
++ref <message> maildirFolder::getMessageByUID(const message::uid& /* uid */)
++{
++	throw exceptions::operation_not_supported();
++}
++
++
++std::vector <ref <message> > maildirFolder::getMessagesByUID(const std::vector <message::uid>& /* uids */)
++{
++	throw exceptions::operation_not_supported();
++}
++
++
+ int maildirFolder::getMessageCount()
+ {
+ 	return (m_messageCount);
+diff --git a/src/net/pop3/POP3Folder.cpp b/src/net/pop3/POP3Folder.cpp
+index e085609..21e7a8b 100644
+--- a/src/net/pop3/POP3Folder.cpp
++++ b/src/net/pop3/POP3Folder.cpp
+@@ -249,6 +249,18 @@ std::vector <ref <message> > POP3Folder::getMessages(const int from, const int t
+ }
+ 
+ 
++ref <message> POP3Folder::getMessageByUID(const message::uid& /* uid */)
++{
++	throw exceptions::operation_not_supported();
++}
++
++
++std::vector <ref <message> > POP3Folder::getMessagesByUID(const std::vector <message::uid>& /* uids */)
++{
++	throw exceptions::operation_not_supported();
++}
++
++
+ std::vector <ref <message> > POP3Folder::getMessages(const std::vector <int>& nums)
+ {
+ 	ref <POP3Store> store = m_store.acquire();
+diff --git a/vmime/net/folder.hpp b/vmime/net/folder.hpp
+index df9cbaf..a50ee0e 100644
+--- a/vmime/net/folder.hpp
++++ b/vmime/net/folder.hpp
+@@ -169,7 +169,7 @@ public:
+ 	  */
+ 	virtual bool isOpen() const = 0;
+ 
+-	/** Get a new reference to a message in this folder.
++	/** Get a new reference to a message in this folder, given its number.
+ 	  *
+ 	  * @param num message sequence number
+ 	  * @return a new object referencing the specified message
+@@ -177,7 +177,7 @@ public:
+ 	  */
+ 	virtual ref <message> getMessage(const int num) = 0;
+ 
+-	/** Get new references to messages in this folder.
++	/** Get new references to messages in this folder, given their numbers.
+ 	  *
+ 	  * @param from sequence number of the first message to get
+ 	  * @param to sequence number of the last message to get
+@@ -186,14 +186,30 @@ public:
+ 	  */
+ 	virtual std::vector <ref <message> > getMessages(const int from = 1, const int to = -1) = 0;
+ 
+-	/** Get new references to messages in this folder.
++	/** Get new references to messages in this folder, given their numbers.
+ 	  *
+-	  * @param nums sequence numbers of the messages to delete
++	  * @param nums sequence numbers of the messages to retrieve
+ 	  * @return new objects referencing the specified messages
+ 	  * @throw net_exception if an error occurs
+ 	  */
+ 	virtual std::vector <ref <message> > getMessages(const std::vector <int>& nums) = 0;
+ 
++	/** Get message in this folder, given its UID.
++	  *
++	  * @param uid UID of message to retrieve
++	  * @return a new object referencing the specified message
++	  * @throw net_exception if an error occurs
++	  */
++	virtual ref <message> getMessageByUID(const message::uid& uid) = 0;
++
++	/** Get messages in this folder, given their UIDs.
++	  *
++	  * @param uids UIDs of messages to retrieve
++	  * @return new objects referencing the specified messages
++	  * @throw net_exception if an error occurs
++	  */
++	virtual std::vector <ref <message> > getMessagesByUID(const std::vector <message::uid>& uids) = 0;
++
+ 	/** Return the number of messages in this folder.
+ 	  *
+ 	  * @return number of messages in the folder
+diff --git a/vmime/net/imap/IMAPFolder.hpp b/vmime/net/imap/IMAPFolder.hpp
+index cc52596..3337858 100644
+--- a/vmime/net/imap/IMAPFolder.hpp
++++ b/vmime/net/imap/IMAPFolder.hpp
+@@ -84,6 +84,12 @@ public:
+ 	ref <message> getMessage(const int num);
+ 	std::vector <ref <message> > getMessages(const int from = 1, const int to = -1);
+ 	std::vector <ref <message> > getMessages(const std::vector <int>& nums);
++
++	ref <message> getMessageByUID(const message::uid& uid);
++	std::vector <ref <message> > getMessagesByUID(const std::vector <message::uid>& uids);
++
++	std::vector <int> getMessageNumbersStartingOnUID(const message::uid& uid);
++
+ 	int getMessageCount();
+ 
+ 	ref <folder> getFolder(const folder::path::component& name);
+@@ -120,8 +126,6 @@ public:
+ 
+ 	int getFetchCapabilities() const;
+ 
+-	std::vector <int> getMessageNumbersStartingOnUID(const message::uid& uid);
+-
+ private:
+ 
+ 	void registerMessage(IMAPMessage* msg);
+@@ -152,7 +156,7 @@ private:
+ 
+ 	int m_messageCount;
+ 
+-	int m_uidValidity;
++	unsigned int m_uidValidity;
+ 
+ 	std::vector <IMAPMessage*> m_messages;
+ };
+diff --git a/vmime/net/imap/IMAPMessage.hpp b/vmime/net/imap/IMAPMessage.hpp
+index edbf69f..fbba6e7 100644
+--- a/vmime/net/imap/IMAPMessage.hpp
++++ b/vmime/net/imap/IMAPMessage.hpp
+@@ -50,6 +50,7 @@ private:
+ 	friend class vmime::creator;  // vmime::create <IMAPMessage>
+ 
+ 	IMAPMessage(ref <IMAPFolder> folder, const int num);
++	IMAPMessage(ref <IMAPFolder> folder, const int num, const uid& uniqueId);
+ 	IMAPMessage(const IMAPMessage&) : message() { }
+ 
+ 	~IMAPMessage();
+@@ -83,7 +84,7 @@ private:
+ 
+ 	void fetch(ref <IMAPFolder> folder, const int options);
+ 
+-	void processFetchResponse(const int options, const IMAPParser::msg_att* msgAtt);
++	void processFetchResponse(const int options, const IMAPParser::message_data* msgData);
+ 
+ 	/** Recursively fetch part header for all parts in the structure.
+ 	  *
+diff --git a/vmime/net/imap/IMAPUtils.hpp b/vmime/net/imap/IMAPUtils.hpp
+index d1ed5c8..9c9c420 100644
+--- a/vmime/net/imap/IMAPUtils.hpp
++++ b/vmime/net/imap/IMAPUtils.hpp
+@@ -29,6 +29,7 @@
+ #include "vmime/dateTime.hpp"
+ 
+ #include "vmime/net/folder.hpp"
++#include "vmime/net/message.hpp"
+ #include "vmime/net/imap/IMAPParser.hpp"
+ 
+ #include "vmime/mailboxList.hpp"
+@@ -65,8 +66,8 @@ public:
+ 
+ 	static const string messageFlagList(const int flags);
+ 
+-	/** Build an "IMAP set" given a list. The function tries to group
+-	  * consecutive message numbers to reduce the list.
++	/** Build an "IMAP set" given a list of message numbers. The function tries
++	  * to group consecutive message numbers to reduce the list.
+ 	  *
+ 	  * Example:
+ 	  *    IN  = "1,2,3,4,5,7,8,13,15,16,17"
+@@ -81,6 +82,13 @@ public:
+ 	static const string listToSet(const std::vector <int>& list,
+ 		const int max = -1, const bool alreadySorted = false);
+ 
++	/** Build an "IMAP set" set given a list of message UIDs.
++	  *
++	  * @param list list of message UIDs
++	  * @return a set corresponding to the list
++	  */
++	static const string listToSet(const std::vector <message::uid>& list);
++
+ 	/** Format a date/time to IMAP date/time format.
+ 	  *
+ 	  * @param date date/time to format
+@@ -88,7 +96,7 @@ public:
+ 	  */
+ 	static const string dateTime(const vmime::datetime& date);
+ 
+-	/** Construct a fetch request for the specified messages.
++	/** Construct a fetch request for the specified messages, designated by their sequence numbers.
+ 	  *
+ 	  * @param list list of message numbers
+ 	  * @param options fetch options
+@@ -96,12 +104,40 @@ public:
+ 	  */
+ 	static const string buildFetchRequest(const std::vector <int>& list, const int options);
+ 
++	/** Construct a fetch request for the specified messages, designated by their UIDs.
++	  *
++	  * @param list list of message UIDs
++	  * @param options fetch options
++	  * @return fetch request
++	  */
++	static const string buildFetchRequest(const std::vector <message::uid>& list, const int options);
++
+ 	/** Convert a parser-style address list to a mailbox list.
+ 	  *
+ 	  * @param src input address list
+ 	  * @param dest output mailbox list
+ 	  */
+ 	static void convertAddressList(const IMAPParser::address_list& src, mailboxList& dest);
++
++	/** Extract the message UID from a globally unique UID.
++	  *
++	  * @param uid globally unique UID (as returned by makeGlobalUID(), for example)
++	  * @return message UID
++	  */
++	static unsigned int extractUIDFromGlobalUID(const message::uid& uid);
++
++	/** Construct a globally unique UID from UID Validity and a message UID.
++	  *
++	  * @param UIDValidity UID Validity of the folder
++	  * @param messageUID UID of the message
++	  * @return global UID
++	  */
++	static const message::uid makeGlobalUID(const unsigned int UIDValidity, const unsigned int messageUID);
++
++private:
++
++	static const string buildFetchRequestImpl
++		(const std::string& mode, const std::string& set, const int options);
+ };
+ 
+ 
+diff --git a/vmime/net/maildir/maildirFolder.hpp b/vmime/net/maildir/maildirFolder.hpp
+index 68b5b89..c9ba899 100644
+--- a/vmime/net/maildir/maildirFolder.hpp
++++ b/vmime/net/maildir/maildirFolder.hpp
+@@ -85,6 +85,10 @@ public:
+ 	ref <message> getMessage(const int num);
+ 	std::vector <ref <message> > getMessages(const int from = 1, const int to = -1);
+ 	std::vector <ref <message> > getMessages(const std::vector <int>& nums);
++
++	ref <message> getMessageByUID(const message::uid& uid);
++	std::vector <ref <message> > getMessagesByUID(const std::vector <message::uid>& uids);
++
+ 	int getMessageCount();
+ 
+ 	ref <folder> getFolder(const folder::path::component& name);
+diff --git a/vmime/net/pop3/POP3Folder.hpp b/vmime/net/pop3/POP3Folder.hpp
+index c482908..090f948 100644
+--- a/vmime/net/pop3/POP3Folder.hpp
++++ b/vmime/net/pop3/POP3Folder.hpp
+@@ -83,6 +83,10 @@ public:
+ 	ref <message> getMessage(const int num);
+ 	std::vector <ref <message> > getMessages(const int from = 1, const int to = -1);
+ 	std::vector <ref <message> > getMessages(const std::vector <int>& nums);
++
++	ref <message> getMessageByUID(const message::uid& uid);
++	std::vector <ref <message> > getMessagesByUID(const std::vector <message::uid>& uids);
++
+ 	int getMessageCount();
+ 
+ 	ref <folder> getFolder(const folder::path::component& name);
+-- 
+1.7.10.4
+
+
+From 7501f61214b06a35c8fce7772fd48dded2cad335 Mon Sep 17 00:00:00 2001
+From: Vincent Richard <vincent@vincent-richard.net>
+Date: Mon, 30 Jul 2012 11:23:23 +0200
+Subject: [PATCH 41/42] Fixed compilation warning.
+
+
+diff --git a/vmime/utility/parserInputStreamAdapter.hpp b/vmime/utility/parserInputStreamAdapter.hpp
+index c24fa44..861e75b 100644
+--- a/vmime/utility/parserInputStreamAdapter.hpp
++++ b/vmime/utility/parserInputStreamAdapter.hpp
+@@ -82,7 +82,7 @@ public:
+ 
+ 			m_stream->seek(initialPos);
+ 
+-			return (readBytes == 1 ? buffer[0] : 0);
++			return (readBytes == 1 ? buffer[0] : static_cast <value_type>(0));
+ 		}
+ 		catch (...)
+ 		{
+@@ -101,7 +101,7 @@ public:
+ 		value_type buffer[1];
+ 		const size_type readBytes = m_stream->read(buffer, 1);
+ 
+-		return (readBytes == 1 ? buffer[0] : 0);
++		return (readBytes == 1 ? buffer[0] : static_cast <value_type>(0));
+ 	}
+ 
+ 	/** Check whether the bytes following the current position match
+-- 
+1.7.10.4
+
+
+From f9f9b3bf52c76e1803855d1c44147f68ec9f62f2 Mon Sep 17 00:00:00 2001
+From: Vincent Richard <vincent@vincent-richard.net>
+Date: Mon, 30 Jul 2012 20:45:17 +0200
+Subject: [PATCH 42/42] Fixed body part extraction (only body should be
+ extracted).
+
+
+diff --git a/src/net/imap/IMAPMessage.cpp b/src/net/imap/IMAPMessage.cpp
+index 7202a7d..808f7d1 100644
+--- a/src/net/imap/IMAPMessage.cpp
++++ b/src/net/imap/IMAPMessage.cpp
+@@ -192,7 +192,7 @@ void IMAPMessage::extract(utility::outputStream& os, utility::progressListener*
+ 	if (!folder)
+ 		throw exceptions::folder_not_found();
+ 
+-	extract(NULL, os, progress, start, length, false, peek);
++	extractImpl(NULL, os, progress, start, length, EXTRACT_HEADER | EXTRACT_BODY | (peek ? EXTRACT_PEEK : 0));
+ }
+ 
+ 
+@@ -205,7 +205,7 @@ void IMAPMessage::extractPart
+ 	if (!folder)
+ 		throw exceptions::folder_not_found();
+ 
+-	extract(p, os, progress, start, length, false, peek);
++	extractImpl(p, os, progress, start, length, EXTRACT_HEADER | EXTRACT_BODY | (peek ? EXTRACT_PEEK : 0));
+ }
+ 
+ 
+@@ -219,7 +219,7 @@ void IMAPMessage::fetchPartHeader(ref <part> p)
+ 	std::ostringstream oss;
+ 	utility::outputStreamAdapter ossAdapter(oss);
+ 
+-	extract(p, ossAdapter, NULL, 0, -1, true, true);
++	extractImpl(p, ossAdapter, NULL, 0, -1, EXTRACT_HEADER | EXTRACT_PEEK);
+ 
+ 	p.dynamicCast <IMAPPart>()->getOrCreateHeader().parse(oss.str());
+ }
+@@ -240,9 +240,9 @@ void IMAPMessage::fetchPartHeaderForStructure(ref <structure> str)
+ }
+ 
+ 
+-void IMAPMessage::extract(ref <const part> p, utility::outputStream& os,
++void IMAPMessage::extractImpl(ref <const part> p, utility::outputStream& os,
+ 	utility::progressListener* progress, const int start,
+-	const int length, const bool headerOnly, const bool peek) const
++	const int length, const int extractFlags) const
+ {
+ 	ref <const IMAPFolder> folder = m_folder.acquire();
+ 
+@@ -284,18 +284,45 @@ void IMAPMessage::extract(ref <const part> p, utility::outputStream& os,
+ 	else
+ 		command << "UID FETCH " << IMAPUtils::extractUIDFromGlobalUID(m_uid) << " BODY";
+ 
+-	if (peek) command << ".PEEK";
++	/*
++	   BODY[]               header + body
++	   BODY.PEEK[]          header + body (peek)
++	   BODY[HEADER]         header
++	   BODY.PEEK[HEADER]    header (peek)
++	   BODY[TEXT]           body
++	   BODY.PEEK[TEXT]      body (peek)
++	*/
++
++	if (extractFlags & EXTRACT_PEEK)
++		command << ".PEEK";
++
+ 	command << "[";
+ 
+ 	if (section.str().empty())
+ 	{
+-		if (headerOnly)
++		// header + body
++		if ((extractFlags & EXTRACT_HEADER) && (extractFlags & EXTRACT_BODY))
++			command << "";
++		// body only
++		else if (extractFlags & EXTRACT_BODY)
++			command << "TEXT";
++		// header only
++		else if (extractFlags & EXTRACT_HEADER)
+ 			command << "HEADER";
+ 	}
+ 	else
+ 	{
+ 		command << section.str();
+-		if (headerOnly) command << ".MIME";   // "MIME" not "HEADER" for parts
++
++		// header + body
++		if ((extractFlags & EXTRACT_HEADER) && (extractFlags & EXTRACT_BODY))
++			*((int *) 0)=42;//throw exceptions::operation_not_supported();
++		// body only
++		else if (extractFlags & EXTRACT_BODY)
++			command << ".TEXT";
++		// header only
++		else if (extractFlags & EXTRACT_HEADER)
++			command << ".MIME";   // "MIME" not "HEADER" for parts
+ 	}
+ 
+ 	command << "]";
+@@ -318,7 +345,7 @@ void IMAPMessage::extract(ref <const part> p, utility::outputStream& os,
+ 	}
+ 
+ 
+-	if (!headerOnly)
++	if (extractFlags & EXTRACT_BODY)
+ 	{
+ 		// TODO: update the flags (eg. flag "\Seen" may have been set)
+ 	}
+diff --git a/src/net/imap/IMAPMessagePartContentHandler.cpp b/src/net/imap/IMAPMessagePartContentHandler.cpp
+index 85c6ec2..c2cd647 100644
+--- a/src/net/imap/IMAPMessagePartContentHandler.cpp
++++ b/src/net/imap/IMAPMessagePartContentHandler.cpp
+@@ -121,7 +121,7 @@ void IMAPMessagePartContentHandler::extract
+ 	// No decoding to perform
+ 	if (!isEncoded())
+ 	{
+-		msg->extractPart(part, os, progress);
++		msg->extractImpl(part, os, progress, 0, -1, IMAPMessage::EXTRACT_BODY);
+ 	}
+ 	// Need to decode data
+ 	else
+@@ -130,7 +130,7 @@ void IMAPMessagePartContentHandler::extract
+ 		std::ostringstream oss;
+ 		utility::outputStreamAdapter tmp(oss);
+ 
+-		msg->extractPart(part, tmp, NULL);
++		msg->extractImpl(part, tmp, NULL, 0, -1, IMAPMessage::EXTRACT_BODY);
+ 
+ 		// Encode temporary buffer to output stream
+ 		utility::inputStreamStringAdapter is(oss.str());
+diff --git a/vmime/net/imap/IMAPMessage.hpp b/vmime/net/imap/IMAPMessage.hpp
+index fbba6e7..06f8091 100644
+--- a/vmime/net/imap/IMAPMessage.hpp
++++ b/vmime/net/imap/IMAPMessage.hpp
+@@ -47,6 +47,7 @@ class IMAPMessage : public message
+ private:
+ 
+ 	friend class IMAPFolder;
++	friend class IMAPMessagePartContentHandler;
+ 	friend class vmime::creator;  // vmime::create <IMAPMessage>
+ 
+ 	IMAPMessage(ref <IMAPFolder> folder, const int num);
+@@ -101,7 +102,16 @@ private:
+ 	  */
+ 	void constructParsedMessage(ref <bodyPart> parentPart, ref <structure> str, int level = 0);
+ 
+-	void extract(ref <const part> p, utility::outputStream& os, utility::progressListener* progress, const int start, const int length, const bool headerOnly, const bool peek) const;
++
++	enum ExtractFlags
++	{
++		EXTRACT_HEADER = 0x1,
++		EXTRACT_BODY = 0x2,
++		EXTRACT_PEEK = 0x10
++	};
++
++	void extractImpl(ref <const part> p, utility::outputStream& os, utility::progressListener* progress,
++		const int start, const int length, const int extractFlags) const;
+ 
+ 
+ 	ref <header> getOrCreateHeader();
+-- 
+1.7.10.4
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/xapian-core.mk	Tue Sep 18 14:19:24 2012 -0700
@@ -0,0 +1,19 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := xapian-core
+$(PKG)_IGNORE   :=
+$(PKG)_CHECKSUM := 1be1896ab11a3a66c6c0ade962c700d96678116e
+$(PKG)_SUBDIR   := xapian-core-$($(PKG)_VERSION)
+$(PKG)_FILE     := xapian-core-$($(PKG)_VERSION).tar.gz
+$(PKG)_URL      := http://oligarchy.co.uk/xapian/$($(PKG)_VERSION)/xapian-core-$($(PKG)_VERSION).tar.gz
+$(PKG)_DEPS     := gcc zlib
+
+define $(PKG)_BUILD
+    cd '$(1)' && ./configure \
+        --host='$(TARGET)' \
+        --build="`config.guess`" \
+        --prefix='$(PREFIX)/$(TARGET)' \
+        --enable-static
+    $(MAKE) -C '$(1)' -j '$(JOBS)' install
+endef