SFEqt-gpp.spec: move patches out of qt-gpp/ and rework, patch2+patch6 rework to avoid gcc 4.5.3+4.6.1 std::isinf std::isnan problem
authortom68
Sat, 06 Aug 2011 15:07:25 +0000
changeset 3684 ce1a7a75c649
parent 3683 9916d5476a45
child 3685 8ee8028ef6ce
SFEqt-gpp.spec: move patches out of qt-gpp/ and rework, patch2+patch6 rework to avoid gcc 4.5.3+4.6.1 std::isinf std::isnan problem
SFEqt-gpp.spec
patches/qt-gpp-01-gc-sections.diff
patches/qt-gpp-02-MathExtras.diff
patches/qt-gpp-03-qmake.SFE.diff
patches/qt-gpp-04-tests-auto-qwidget_window.diff
patches/qt-gpp-05-auto-tests-qhttpnetworkconnection.diff
patches/qt-gpp-06-isnan.diff
patches/qt-gpp-07-471-shm.diff
patches/qt-gpp-08-QPixmap-warning.diff
patches/qt-gpp/QPixmap-warning.patch
patches/qt-gpp/qt-MathExtras.diff
patches/qt-gpp/qt-auto-tests-qhttpnetworkconnection.diff
patches/qt-gpp/qt-gc-sections.diff
patches/qt-gpp/qt-isnan.diff
patches/qt-gpp/qt-qmake.SFE.diff
patches/qt-gpp/qt-tests-auto-qwidget_window.diff
--- a/SFEqt-gpp.spec	Sat Aug 06 14:49:09 2011 +0000
+++ b/SFEqt-gpp.spec	Sat Aug 06 15:07:25 2011 +0000
@@ -3,14 +3,8 @@
 # This file and all modifications and additions to the pristine
 # package are under the same license as the package itself.
 
-# NOTE: The easiest way to make pkgtool find the patches used by this spec
-# is to install experimental/SFEpkgbuild.spec, and rename pkgbuild and pkgtool
-# in /opt/dtbld/bin to something else, so that your updated pkgbuild and
-# pkgtool are found instead.
-# Otherwise, build with
-# pkgtool build --patches=patches/qt47 SFEqt47-gpp.spec
-# If you use the --autodeps flag, use
-# pkgtool build --patches=patches:patches/qt47-gpp --autodeps SFEqt47.spec
+##TODO## verify new pnm_macro mysql dependencies on different osbuild/osdistro
+##TODO## re-visit disabled (Build)Requires with check-deps script
 
 %define _basedir /usr/g++
 %include Solaris.inc
@@ -18,7 +12,6 @@
 %define _gpp /usr/gnu/bin/g++
 %include base.inc
 %define srcname qt-everywhere-opensource-src
-%define patchprefix qt-gpp
 %define run_autotests 0
 
 %include packagenamemacros.inc
@@ -32,21 +25,26 @@
 Source:              ftp://ftp.trolltech.com/qt/source/%srcname-%version.tar.gz
 
 # These were obtained from http://solaris.bionicmutton.org/hg/kde4-specs-470/file/db0a8c7904f6/specs/gcc/patches/qt
+# patches only got new names on Aug  2 2011 and moved out of subdirectory patches/qt-gpp/
+Patch1:		qt-gpp-01-gc-sections.diff
+Patch2:		qt-gpp-02-MathExtras.diff
 # For Patch3, we use our own, which sets the SFE /usr/g++ paths
-Patch1:		%patchprefix/qt-gc-sections.diff
-Patch2:		%patchprefix/qt-MathExtras.diff
-Patch3:		%patchprefix/qt-qmake.SFE.diff
-Patch7:		qt47/qt-471-shm.diff
-Patch8:		%patchprefix/QPixmap-warning.patch
+# see pkgbuild.wiki.osurceforce.net for the directory layout (g++)
+Patch3:		qt-gpp-03-qmake.SFE.diff
+%if %{run_autotests}
+Patch4:		qt-gpp-04-tests-auto-qwidget_window.diff
+#from upstream
+Patch5:		qt-gpp-05-auto-tests-qhttpnetworkconnection.diff
+%endif
+# patch2 and patch6: bundled webkit  std::isinf std::isnan ...
+# This is required to build with gcc 4.6.0/4.6.1 and up.
+# note the fixes found on the web aren't complete 
+# (gcc 4.5.3 *or* 4.6.1 works, never both)
+# our fix enables both. 
+Patch6:		qt-gpp-06-isnan.diff
+Patch7:		qt-gpp-07-471-shm.diff
+Patch8:		qt-gpp-08-QPixmap-warning.diff
 
-# This is required to build with gcc 4.6.1
-Patch6:		%patchprefix/qt-isnan.diff
-
-%if %{run_autotests}
-Patch4:		%patchprefix/qt-tests-auto-qwidget_window.diff
-#from upstream
-Patch5:		%patchprefix/qt-auto-tests-qhttpnetworkconnection.diff
-%endif
 
 SUNW_Copyright:	     qt.copyright
 SUNW_BaseDir:        %_basedir
@@ -63,14 +61,11 @@
 Requires: SUNWxwxft
 # The above also pulls in SUNWfreetype2
 # This package only provides libraries
-BuildRequires: database/mysql-51
-Requires: database/mysql-51
+BuildRequires: %{pnm_buildrequires_mysql_default}
+Requires: %{pnm_requires_mysql_default}
 BuildRequires: SUNWdbus
 Requires: SUNWdbus
 
-#detected by ldding the binaries
-Requires: database/mysql-51/library,image/library/libjpeg,image/library/libpng,image/library/libtiff,library/glib2,library/libxml2,library/zlib,service/opengl/ogl-select,system/library,system/library/c++/sunpro,system/library/math,x11/library/libice,x11/library/libsm,x11/library/libx11,x11/library/libxdamage,x11/library/libxext,x11/library/libxrender,x11/library/mesa 
-
 %package -n %name-devel
 Summary:        %{summary} - development files
 SUNW_BaseDir:   %{_basedir}
@@ -96,7 +91,7 @@
 %patch1
 %patch2
 %patch3
-%patch6 -p1
+%patch6
 %patch7
 %patch8 -p1
 %if %{run_autotests}
@@ -108,16 +103,14 @@
 %build
 CPUS=$(psrinfo | awk '$2=="on-line"{cpus++}END{print (cpus==0)?1:cpus}')
 
-#%define extra_includes -I/usr/include/libmng -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include -I/usr/include/libpng12 -I/usr/mysql/5.1/include/mysql
-%define extra_includes -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include -I/usr/include/libpng14 -I/usr/mysql/5.1/include/mysql
-%define extra_libs -L/usr/mysql/5.1/lib/mysql -R/usr/mysql/5.1/lib/mysql
+%define extra_includes -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include -I/usr/include/libpng14 -I%{_prefix}/{%mysql_default_include}
+%define extra_libs  -L%{_prefix}/{%mysql_default_libdir} -R%{_prefix}/{%mysql_default_libdir}
 
 export CC=/usr/gnu/bin/gcc
 export CXX=/usr/gnu/bin/g++
 export LD=/usr/gnu/bin/ld
 export CFLAGS="%optflags"
-#export CXXFLAGS="%cxx_optflags -pthreads -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include -I/usr/include/libpng14"
-export CXXFLAGS="%cxx_optflags -pthreads"
+export CXXFLAGS="%cxx_optflags -pthreads -fpermissive"
 export LDFLAGS="%_ldflags -pthreads"
 
 # Assume i386 CPU is not higher than Pentium
@@ -147,6 +140,8 @@
            %extra_includes \
            %extra_libs
 
+##TODO## make detection of opengl better, maybe leave switch out completely
+
 
 make -j$CPUS
 
@@ -219,6 +214,19 @@
 
 
 %changelog
+* Tue Aug  6 2011 - Thomas Wagner
+- move patches out of subdir qt-gpp/ and rework patches,
+  works with unpatched pkgbuild 1.3.103
+- patch2 and patch6 tested with gcc 4.3.3/4.5.1/4.6.1
+- add  -fpermissive to CXXFLAGS
+- pnm_macro to specify mysql dependencies
+- removed dependencies, need check-deps and re-added those needed
+* Tue Aug  2 2011 - Thomas Wagner
+- relocate and rename patches to regular SFE naming convention name-<nn>-subject.diff
+  (no changes in content)
+- add mysql_default macros
+- rework (Build)Requires according to check-deps
+- rework patch6 qt-gpp-06-isnan.diff to only be effective for __GNUC__ >=4 __GNUC_MINOR__ >= 6
 * Sun Jul 31 2011 - Alex Viskovatoff <[email protected]>
 - Add two patches fixing WebKit; stop deleting imports/
 - Enable exceptions, so that libQtXmlPatterns gets built
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/patches/qt-gpp-01-gc-sections.diff	Sat Aug 06 15:07:25 2011 +0000
@@ -0,0 +1,11 @@
+--- src/3rdparty/webkit/WebCore/WebCore.pro.orig	Tue May  3 20:58:26 2011
++++ src/3rdparty/webkit/WebCore/WebCore.pro	Tue May  3 20:40:41 2011
+@@ -90,7 +90,7 @@
+ }
+ 
+ unix:!mac:*-g++*:QMAKE_CXXFLAGS += -ffunction-sections -fdata-sections 
+-unix:!mac:*-g++*:QMAKE_LFLAGS += -Wl,--gc-sections
++unix:!mac:!solaris-*:*-g++*:QMAKE_LFLAGS += -Wl,--gc-sections
+ linux*-g++*:QMAKE_LFLAGS += $$QMAKE_LFLAGS_NOUNDEF
+ 
+ CONFIG(release):!CONFIG(standalone_package) {
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/patches/qt-gpp-02-MathExtras.diff	Sat Aug 06 15:07:25 2011 +0000
@@ -0,0 +1,11 @@
+--- src/3rdparty/webkit/JavaScriptCore/wtf/MathExtras.h.orig	2010-07-09 13:23:51.817496928 +0200
++++ src/3rdparty/webkit/JavaScriptCore/wtf/MathExtras.h	2010-07-09 13:26:40.436662765 +0200
+@@ -190,7 +190,7 @@
+ inline float rad2grad(float r) { return r * 200.0f / piFloat; }
+ inline float grad2rad(float g) { return g * piFloat / 200.0f; }
+ 
+-#if !COMPILER(MSVC) && !COMPILER(RVCT) && !OS(ANDROID) && !COMPILER(WINSCW)
++#if !COMPILER(MSVC) && !(COMPILER(RVCT) && PLATFORM(BREWMP)) && !OS(SOLARIS) && !OS(SYMBIAN)
+ using std::isfinite;
+ using std::isinf;
+ using std::isnan;
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/patches/qt-gpp-03-qmake.SFE.diff	Sat Aug 06 15:07:25 2011 +0000
@@ -0,0 +1,28 @@
+--- mkspecs/solaris-g++/qmake.conf.orig	2011-03-30 06:16:35.000000000 +0100
++++ mkspecs/solaris-g++/qmake.conf	2011-06-24 21:35:30.730243234 +0100
+@@ -28,7 +28,7 @@
+ QMAKE_CFLAGS_SHLIB	= -fPIC
+ QMAKE_CFLAGS_STATIC_LIB	= $$QMAKE_CFLAGS_SHLIB
+ QMAKE_CFLAGS_YACC	= -Wno-unused -Wno-parentheses
+-QMAKE_CFLAGS_THREAD	= -D_REENTRANT
++QMAKE_CFLAGS_THREAD	= -pthreads -D_REENTRANT
+ 
+ QMAKE_CXX		= g++
+ QMAKE_CXXFLAGS		= $$QMAKE_CFLAGS
+@@ -42,12 +42,12 @@
+ QMAKE_CXXFLAGS_YACC	= $$QMAKE_CFLAGS_YACC
+ QMAKE_CXXFLAGS_THREAD	= $$QMAKE_CFLAGS_THREAD
+ 
+-QMAKE_INCDIR		= /usr/sfw/include
+-QMAKE_LIBDIR		= /usr/sfw/lib
++QMAKE_INCDIR		= /usr/g++/include
++QMAKE_LIBDIR		= /usr/g++/lib
+ QMAKE_INCDIR_X11	= /usr/openwin/include
+ QMAKE_LIBDIR_X11	= /usr/openwin/lib
+-QMAKE_INCDIR_QT		= $$[QT_INSTALL_HEADERS]
+-QMAKE_LIBDIR_QT		= $$[QT_INSTALL_LIBS]
++QMAKE_INCDIR_QT		= /usr/g++/include/qt
++QMAKE_LIBDIR_QT		= /usr/g++/lib
+ QMAKE_INCDIR_OPENGL	= /usr/openwin/include
+ QMAKE_LIBDIR_OPENGL	= /usr/openwin/lib
+ 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/patches/qt-gpp-04-tests-auto-qwidget_window.diff	Sat Aug 06 15:07:25 2011 +0000
@@ -0,0 +1,8 @@
+--- qwidget_window/qwidget_window.pro.orig	2011-05-05 17:56:37.919524342 +0200
++++ qwidget_window/qwidget_window.pro	2011-05-05 17:56:54.428375059 +0200
+@@ -1,4 +1,5 @@
+ load(qttest_p4)
++CONFIG += x11
+ SOURCES  += tst_qwidget_window.cpp
+ 
+ x11 {
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/patches/qt-gpp-05-auto-tests-qhttpnetworkconnection.diff	Sat Aug 06 15:07:25 2011 +0000
@@ -0,0 +1,79 @@
+From 2c0f568061b3377ee55ff423c70d67a6341615ba Mon Sep 17 00:00:00 2001
+From: Markus Goetz <[email protected]>
+Date: Mon, 10 Jan 2011 14:00:59 +0100
+Subject: [PATCH] tst_qhttpnetworkconnection: Compile fix
+
+---
+ .../tst_qhttpnetworkconnection.cpp                 |   14 +++++++-------
+ 1 files changed, 7 insertions(+), 7 deletions(-)
+
+diff --git a/tests/auto/qhttpnetworkconnection/tst_qhttpnetworkconnection.cpp b/tests/auto/qhttpnetworkconnection/tst_qhttpnetworkconnection.cpp
+index 4a32a5a..321b787 100644
+--- a/tests/auto/qhttpnetworkconnection/tst_qhttpnetworkconnection.cpp
++++ b/tests/auto/qhttpnetworkconnection/tst_qhttpnetworkconnection.cpp
+@@ -178,7 +178,7 @@ void tst_QHttpNetworkConnection::head()
+     QHttpNetworkConnection connection(host, port, encrypt);
+     QCOMPARE(connection.port(), port);
+     QCOMPARE(connection.hostName(), host);
+-    QCOMPARE(connection.isEncrypted(), encrypt);
++    QCOMPARE(connection.isSsl(), encrypt);
+ 
+     QHttpNetworkRequest request(protocol + host + path, QHttpNetworkRequest::Head);
+     QHttpNetworkReply *reply = connection.sendRequest(request);
+@@ -236,7 +236,7 @@ void tst_QHttpNetworkConnection::get()
+     QHttpNetworkConnection connection(host, port, encrypt);
+     QCOMPARE(connection.port(), port);
+     QCOMPARE(connection.hostName(), host);
+-    QCOMPARE(connection.isEncrypted(), encrypt);
++    QCOMPARE(connection.isSsl(), encrypt);
+ 
+     QHttpNetworkRequest request(protocol + host + path);
+     QHttpNetworkReply *reply = connection.sendRequest(request);
+@@ -314,7 +314,7 @@ void tst_QHttpNetworkConnection::put()
+     QHttpNetworkConnection connection(host, port, encrypt);
+     QCOMPARE(connection.port(), port);
+     QCOMPARE(connection.hostName(), host);
+-    QCOMPARE(connection.isEncrypted(), encrypt);
++    QCOMPARE(connection.isSsl(), encrypt);
+ 
+     QHttpNetworkRequest request(protocol + host + path, QHttpNetworkRequest::Put);
+ 
+@@ -402,7 +402,7 @@ void tst_QHttpNetworkConnection::post()
+     QHttpNetworkConnection connection(host, port, encrypt);
+     QCOMPARE(connection.port(), port);
+     QCOMPARE(connection.hostName(), host);
+-    QCOMPARE(connection.isEncrypted(), encrypt);
++    QCOMPARE(connection.isSsl(), encrypt);
+ 
+     QHttpNetworkRequest request(protocol + host + path, QHttpNetworkRequest::Post);
+ 
+@@ -539,7 +539,7 @@ void tst_QHttpNetworkConnection::get401()
+     QHttpNetworkConnection connection(host, port, encrypt);
+     QCOMPARE(connection.port(), port);
+     QCOMPARE(connection.hostName(), host);
+-    QCOMPARE(connection.isEncrypted(), encrypt);
++    QCOMPARE(connection.isSsl(), encrypt);
+     connection.setProperty("setCredentials", setCredentials);
+     connection.setProperty("username", username);
+     connection.setProperty("password", password);
+@@ -609,7 +609,7 @@ void tst_QHttpNetworkConnection::compression()
+     QHttpNetworkConnection connection(host, port, encrypt);
+     QCOMPARE(connection.port(), port);
+     QCOMPARE(connection.hostName(), host);
+-    QCOMPARE(connection.isEncrypted(), encrypt);
++    QCOMPARE(connection.isSsl(), encrypt);
+ 
+     QHttpNetworkRequest request(protocol + host + path);
+     if (!autoCompress)
+@@ -701,7 +701,7 @@ void tst_QHttpNetworkConnection::ignoresslerror()
+     QCOMPARE(connection.hostName(), host);
+     if (ignoreInit)
+         connection.ignoreSslErrors();
+-    QCOMPARE(connection.isEncrypted(), encrypt);
++    QCOMPARE(connection.isSsl(), encrypt);
+     connection.setProperty("ignoreFromSignal", ignoreFromSignal);
+ 
+     QHttpNetworkRequest request(protocol + host + path);
+-- 
+1.6.1
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/patches/qt-gpp-06-isnan.diff	Sat Aug 06 15:07:25 2011 +0000
@@ -0,0 +1,43 @@
+Attention! There is a fix circling which seems to be wrong. 
+(using __GXX_EXPERIMENTAL_CXX0X__ and editing std:: into the calls)
+
+This is the (template)source for the fix we use here:
+https://bug-41953-attachments.webkit.org/attachment.cgi?id=87253
+https://bugs.webkit.org/show_bug.cgi?id=41953
+
+A fix is already in webkit-trunk, but this would need to be
+updated in this bundled webkit in QT
+
+Tested with SFEgcc 4.5.3 on OI147/OI148
+Tested with SFEgcc 4.6.1 on Solaris 11 (Express) Build 170
+
+--- src/3rdparty/webkit/JavaScriptCore/wtf/MathExtras.h	Mi. M�r 30 07:18:55 2011
++++ src/3rdparty/webkit/JavaScriptCore/wtf/MathExtras.h.orig	Fr. Aug  5 16:33:25 2011
+@@ -26,9 +26,13 @@
+ #ifndef WTF_MathExtras_h
+ #define WTF_MathExtras_h
+ 
++#include <algorithm>
+ #include <cmath>
+ #include <float.h>
++#include <limits>
++#include <stdint.h>
+ #include <stdlib.h>
++#include <wtf/StdLibExtras.h>
+ 
+ #if OS(SOLARIS)
+ #include <ieeefp.h>
+--- src/3rdparty/webkit/JavaScriptCore/wtf/MathExtras.h.orig	2011-08-06 01:00:30.146198980 +0200
++++ src/3rdparty/webkit/JavaScriptCore/wtf/MathExtras.h	2011-08-05 23:06:06.154424000 +0200
+@@ -201,4 +201,11 @@
+ using std::signbit;
+ #endif
+ 
++#if ( GCC_VERSION >= 40600 )
++using std::isfinite;
++using std::isinf;
++using std::isnan;
++using std::signbit;
++#endif
++
+ #endif // #ifndef WTF_MathExtras_h
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/patches/qt-gpp-07-471-shm.diff	Sat Aug 06 15:07:25 2011 +0000
@@ -0,0 +1,58 @@
+--- src/gui/image/qnativeimage.cpp.orig	2010-06-01 22:03:15.000000000 -0400
++++ src/gui/image/qnativeimage.cpp	2010-07-11 13:21:55.000000000 -0400
+@@ -176,29 +176,26 @@ QNativeImage::QNativeImage(int width, in
+                             IPC_CREAT | 0777);
+     ok = xshminfo.shmid != -1;
+     if (ok) {
+-        xshmimg->data = (char*)shmat(xshminfo.shmid, 0, 0);
+-        xshminfo.shmaddr = xshmimg->data;
+-        if (shmctl(xshminfo.shmid, IPC_RMID, 0) == -1)
+-            qWarning() << "Error while marking the shared memory segment to be destroyed";
++        xshmimg->data = xshminfo.shmaddr = (char*)shmat(xshminfo.shmid, 0, 0);
+         ok = (xshminfo.shmaddr != (char*)-1);
+         if (ok)
+             image = QImage((uchar *)xshmimg->data, width, height, format);
+     }
+     xshminfo.readOnly = false;
+-    if (ok)
++    if (ok) {
+         ok = XShmAttach(X11->display, &xshminfo);
++	XSync(X11->display, false);
++    }
++    if (shmctl(xshminfo.shmid, IPC_RMID, 0) == -1)
++	qWarning() << "QNativeImage: Error marking the shared memory segment to be destroyed";
+     if (!ok) {
+-        qWarning() << "QNativeImage: Unable to attach to shared memory segment.";
+-        if (xshmimg->data) {
+-            free(xshmimg->data);
+-            xshmimg->data = 0;
+-        }
++        qWarning() << "QNativeImage: X server was unable to attach to shared memory segment.";
+         XDestroyImage(xshmimg);
++	XSync(X11->display, false);
++	xshmimg->data = 0;
+         xshmimg = 0;
+-        if (xshminfo.shmaddr)
++        if (xshminfo.shmaddr != (char*)-1)
+             shmdt(xshminfo.shmaddr);
+-        if (xshminfo.shmid != -1)
+-            shmctl(xshminfo.shmid, IPC_RMID, 0);
+         return;
+     }
+     if (X11->use_mitshm_pixmaps) {
+@@ -221,11 +218,12 @@ QNativeImage::~QNativeImage()
+         xshmpm = 0;
+     }
+     XShmDetach(X11->display, &xshminfo);
+-    xshmimg->data = 0;
+     XDestroyImage(xshmimg);
++    XSync(X11->display, false);
++    xshmimg->data = 0;
+     xshmimg = 0;
+-    shmdt(xshminfo.shmaddr);
+-    shmctl(xshminfo.shmid, IPC_RMID, 0);
++    if (xshminfo.shmaddr != (char*)-1)
++	shmdt(xshminfo.shmaddr);
+ }
+ 
+ QImage::Format QNativeImage::systemFormat()
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/patches/qt-gpp-08-QPixmap-warning.diff	Sat Aug 06 15:07:25 2011 +0000
@@ -0,0 +1,36 @@
+From 4a93814a1d7d09e78829fd73eba74169c1bd2200 Mon Sep 17 00:00:00 2001
+From: =?utf-8?q?Samuel=20R=C3=B8dal?= <[email protected]>
+Date: Tue, 26 Apr 2011 17:20:11 +0200
+Subject: [PATCH] Removed warning from QPixmap::handle().
+
+With the new fromX11Pixmap function there are valid use-cases where
+checking the handle() is useful also with the raster graphicssystem.
+
+Reviewed-by: Thiago Macieira
+(cherry picked from commit 1124f41253edd0e03704db72b0e1b6b4b518bd0f)
+---
+ src/gui/image/qpixmap.cpp |    8 ++------
+ 1 files changed, 2 insertions(+), 6 deletions(-)
+
+diff --git a/src/gui/image/qpixmap.cpp b/src/gui/image/qpixmap.cpp
+index 34804e5..c34f6ac 100644
+--- a/src/gui/image/qpixmap.cpp
++++ b/src/gui/image/qpixmap.cpp
+@@ -1224,12 +1224,8 @@ Qt::HANDLE QPixmap::handle() const
+ {
+ #if defined(Q_WS_X11)
+     const QPixmapData *pd = pixmapData();
+-    if (pd) {
+-        if (pd->classId() == QPixmapData::X11Class)
+-            return static_cast<const QX11PixmapData*>(pd)->handle();
+-        else
+-            qWarning("QPixmap::handle(): Pixmap is not an X11 class pixmap");
+-    }
++    if (pd && pd->classId() == QPixmapData::X11Class)
++        return static_cast<const QX11PixmapData*>(pd)->handle();
+ #endif
+     return 0;
+ }
+-- 
+1.6.1
+
--- a/patches/qt-gpp/QPixmap-warning.patch	Sat Aug 06 14:49:09 2011 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,36 +0,0 @@
-From 4a93814a1d7d09e78829fd73eba74169c1bd2200 Mon Sep 17 00:00:00 2001
-From: =?utf-8?q?Samuel=20R=C3=B8dal?= <[email protected]>
-Date: Tue, 26 Apr 2011 17:20:11 +0200
-Subject: [PATCH] Removed warning from QPixmap::handle().
-
-With the new fromX11Pixmap function there are valid use-cases where
-checking the handle() is useful also with the raster graphicssystem.
-
-Reviewed-by: Thiago Macieira
-(cherry picked from commit 1124f41253edd0e03704db72b0e1b6b4b518bd0f)
----
- src/gui/image/qpixmap.cpp |    8 ++------
- 1 files changed, 2 insertions(+), 6 deletions(-)
-
-diff --git a/src/gui/image/qpixmap.cpp b/src/gui/image/qpixmap.cpp
-index 34804e5..c34f6ac 100644
---- a/src/gui/image/qpixmap.cpp
-+++ b/src/gui/image/qpixmap.cpp
-@@ -1224,12 +1224,8 @@ Qt::HANDLE QPixmap::handle() const
- {
- #if defined(Q_WS_X11)
-     const QPixmapData *pd = pixmapData();
--    if (pd) {
--        if (pd->classId() == QPixmapData::X11Class)
--            return static_cast<const QX11PixmapData*>(pd)->handle();
--        else
--            qWarning("QPixmap::handle(): Pixmap is not an X11 class pixmap");
--    }
-+    if (pd && pd->classId() == QPixmapData::X11Class)
-+        return static_cast<const QX11PixmapData*>(pd)->handle();
- #endif
-     return 0;
- }
--- 
-1.6.1
-
--- a/patches/qt-gpp/qt-MathExtras.diff	Sat Aug 06 14:49:09 2011 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,11 +0,0 @@
---- src/3rdparty/webkit/JavaScriptCore/wtf/MathExtras.h.orig	2010-07-09 13:23:51.817496928 +0200
-+++ src/3rdparty/webkit/JavaScriptCore/wtf/MathExtras.h	2010-07-09 13:26:40.436662765 +0200
-@@ -190,7 +190,7 @@
- inline float rad2grad(float r) { return r * 200.0f / piFloat; }
- inline float grad2rad(float g) { return g * piFloat / 200.0f; }
- 
--#if !COMPILER(MSVC) && !COMPILER(RVCT) && !OS(ANDROID) && !COMPILER(WINSCW)
-+#if !COMPILER(MSVC) && !COMPILER(RVCT) && !OS(ANDROID) && !COMPILER(WINSCW) && !OS(SOLARIS)
- using std::isfinite;
- using std::isinf;
- using std::isnan;
--- a/patches/qt-gpp/qt-auto-tests-qhttpnetworkconnection.diff	Sat Aug 06 14:49:09 2011 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,79 +0,0 @@
-From 2c0f568061b3377ee55ff423c70d67a6341615ba Mon Sep 17 00:00:00 2001
-From: Markus Goetz <[email protected]>
-Date: Mon, 10 Jan 2011 14:00:59 +0100
-Subject: [PATCH] tst_qhttpnetworkconnection: Compile fix
-
----
- .../tst_qhttpnetworkconnection.cpp                 |   14 +++++++-------
- 1 files changed, 7 insertions(+), 7 deletions(-)
-
-diff --git a/tests/auto/qhttpnetworkconnection/tst_qhttpnetworkconnection.cpp b/tests/auto/qhttpnetworkconnection/tst_qhttpnetworkconnection.cpp
-index 4a32a5a..321b787 100644
---- a/tests/auto/qhttpnetworkconnection/tst_qhttpnetworkconnection.cpp
-+++ b/tests/auto/qhttpnetworkconnection/tst_qhttpnetworkconnection.cpp
-@@ -178,7 +178,7 @@ void tst_QHttpNetworkConnection::head()
-     QHttpNetworkConnection connection(host, port, encrypt);
-     QCOMPARE(connection.port(), port);
-     QCOMPARE(connection.hostName(), host);
--    QCOMPARE(connection.isEncrypted(), encrypt);
-+    QCOMPARE(connection.isSsl(), encrypt);
- 
-     QHttpNetworkRequest request(protocol + host + path, QHttpNetworkRequest::Head);
-     QHttpNetworkReply *reply = connection.sendRequest(request);
-@@ -236,7 +236,7 @@ void tst_QHttpNetworkConnection::get()
-     QHttpNetworkConnection connection(host, port, encrypt);
-     QCOMPARE(connection.port(), port);
-     QCOMPARE(connection.hostName(), host);
--    QCOMPARE(connection.isEncrypted(), encrypt);
-+    QCOMPARE(connection.isSsl(), encrypt);
- 
-     QHttpNetworkRequest request(protocol + host + path);
-     QHttpNetworkReply *reply = connection.sendRequest(request);
-@@ -314,7 +314,7 @@ void tst_QHttpNetworkConnection::put()
-     QHttpNetworkConnection connection(host, port, encrypt);
-     QCOMPARE(connection.port(), port);
-     QCOMPARE(connection.hostName(), host);
--    QCOMPARE(connection.isEncrypted(), encrypt);
-+    QCOMPARE(connection.isSsl(), encrypt);
- 
-     QHttpNetworkRequest request(protocol + host + path, QHttpNetworkRequest::Put);
- 
-@@ -402,7 +402,7 @@ void tst_QHttpNetworkConnection::post()
-     QHttpNetworkConnection connection(host, port, encrypt);
-     QCOMPARE(connection.port(), port);
-     QCOMPARE(connection.hostName(), host);
--    QCOMPARE(connection.isEncrypted(), encrypt);
-+    QCOMPARE(connection.isSsl(), encrypt);
- 
-     QHttpNetworkRequest request(protocol + host + path, QHttpNetworkRequest::Post);
- 
-@@ -539,7 +539,7 @@ void tst_QHttpNetworkConnection::get401()
-     QHttpNetworkConnection connection(host, port, encrypt);
-     QCOMPARE(connection.port(), port);
-     QCOMPARE(connection.hostName(), host);
--    QCOMPARE(connection.isEncrypted(), encrypt);
-+    QCOMPARE(connection.isSsl(), encrypt);
-     connection.setProperty("setCredentials", setCredentials);
-     connection.setProperty("username", username);
-     connection.setProperty("password", password);
-@@ -609,7 +609,7 @@ void tst_QHttpNetworkConnection::compression()
-     QHttpNetworkConnection connection(host, port, encrypt);
-     QCOMPARE(connection.port(), port);
-     QCOMPARE(connection.hostName(), host);
--    QCOMPARE(connection.isEncrypted(), encrypt);
-+    QCOMPARE(connection.isSsl(), encrypt);
- 
-     QHttpNetworkRequest request(protocol + host + path);
-     if (!autoCompress)
-@@ -701,7 +701,7 @@ void tst_QHttpNetworkConnection::ignoresslerror()
-     QCOMPARE(connection.hostName(), host);
-     if (ignoreInit)
-         connection.ignoreSslErrors();
--    QCOMPARE(connection.isEncrypted(), encrypt);
-+    QCOMPARE(connection.isSsl(), encrypt);
-     connection.setProperty("ignoreFromSignal", ignoreFromSignal);
- 
-     QHttpNetworkRequest request(protocol + host + path);
--- 
-1.6.1
-
--- a/patches/qt-gpp/qt-gc-sections.diff	Sat Aug 06 14:49:09 2011 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,11 +0,0 @@
---- src/3rdparty/webkit/WebCore/WebCore.pro.orig	Tue May  3 20:58:26 2011
-+++ src/3rdparty/webkit/WebCore/WebCore.pro	Tue May  3 20:40:41 2011
-@@ -90,7 +90,7 @@
- }
- 
- unix:!mac:*-g++*:QMAKE_CXXFLAGS += -ffunction-sections -fdata-sections 
--unix:!mac:*-g++*:QMAKE_LFLAGS += -Wl,--gc-sections
-+unix:!mac:!solaris-*:*-g++*:QMAKE_LFLAGS += -Wl,--gc-sections
- linux*-g++*:QMAKE_LFLAGS += $$QMAKE_LFLAGS_NOUNDEF
- 
- CONFIG(release):!CONFIG(standalone_package) {
--- a/patches/qt-gpp/qt-isnan.diff	Sat Aug 06 14:49:09 2011 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,11 +0,0 @@
---- qt-everywhere-opensource-src-4.7.3/src/3rdparty/webkit/JavaScriptCore/wtf/MathExtras.h.orig	2011-07-18 09:07:43.000000000 +0100
-+++ qt-everywhere-opensource-src-4.7.3/src/3rdparty/webkit/JavaScriptCore/wtf/MathExtras.h	2011-07-18 22:21:30.316862532 +0100
-@@ -197,4 +197,8 @@
- using std::signbit;
- #endif
- 
-+#if OS(SOLARIS)
-+using std::isnan;
-+#endif
-+
- #endif // #ifndef WTF_MathExtras_h
--- a/patches/qt-gpp/qt-qmake.SFE.diff	Sat Aug 06 14:49:09 2011 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
---- mkspecs/solaris-g++/qmake.conf.orig	2011-03-30 06:16:35.000000000 +0100
-+++ mkspecs/solaris-g++/qmake.conf	2011-06-24 21:35:30.730243234 +0100
-@@ -28,7 +28,7 @@
- QMAKE_CFLAGS_SHLIB	= -fPIC
- QMAKE_CFLAGS_STATIC_LIB	= $$QMAKE_CFLAGS_SHLIB
- QMAKE_CFLAGS_YACC	= -Wno-unused -Wno-parentheses
--QMAKE_CFLAGS_THREAD	= -D_REENTRANT
-+QMAKE_CFLAGS_THREAD	= -pthreads -D_REENTRANT
- 
- QMAKE_CXX		= g++
- QMAKE_CXXFLAGS		= $$QMAKE_CFLAGS
-@@ -42,12 +42,12 @@
- QMAKE_CXXFLAGS_YACC	= $$QMAKE_CFLAGS_YACC
- QMAKE_CXXFLAGS_THREAD	= $$QMAKE_CFLAGS_THREAD
- 
--QMAKE_INCDIR		= /usr/sfw/include
--QMAKE_LIBDIR		= /usr/sfw/lib
-+QMAKE_INCDIR		= /usr/g++/include
-+QMAKE_LIBDIR		= /usr/g++/lib
- QMAKE_INCDIR_X11	= /usr/openwin/include
- QMAKE_LIBDIR_X11	= /usr/openwin/lib
--QMAKE_INCDIR_QT		= $$[QT_INSTALL_HEADERS]
--QMAKE_LIBDIR_QT		= $$[QT_INSTALL_LIBS]
-+QMAKE_INCDIR_QT		= /usr/g++/include/qt
-+QMAKE_LIBDIR_QT		= /usr/g++/lib
- QMAKE_INCDIR_OPENGL	= /usr/openwin/include
- QMAKE_LIBDIR_OPENGL	= /usr/openwin/lib
- 
--- a/patches/qt-gpp/qt-tests-auto-qwidget_window.diff	Sat Aug 06 14:49:09 2011 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,8 +0,0 @@
---- qwidget_window/qwidget_window.pro.orig	2011-05-05 17:56:37.919524342 +0200
-+++ qwidget_window/qwidget_window.pro	2011-05-05 17:56:54.428375059 +0200
-@@ -1,4 +1,5 @@
- load(qttest_p4)
-+CONFIG += x11
- SOURCES  += tst_qwidget_window.cpp
- 
- x11 {