From 1bc83bd99f473ad5cb9ba36795ccfc8c7e3bf63b Mon Sep 17 00:00:00 2001 From: Michael Hanson Date: Fri, 5 Nov 2010 02:54:26 +0000 Subject: qt: upgrade to 4.7.0 --- abs/core/qt/.qmake.vars | 6 +++ abs/core/qt/PKGBUILD | 56 +++++++++++++--------- abs/core/qt/__changelog | 2 + abs/core/qt/ca-certificates.patch | 25 ---------- abs/core/qt/fix-multisampling-with-ati-card.patch | 25 ++++++++++ .../qt/fix-scroll-when-last-item-is-removed.patch | 38 +++++++++++++++ .../qt/qt-webkit-4.6.3-flash-plugin-segfault.patch | 43 ----------------- 7 files changed, 104 insertions(+), 91 deletions(-) create mode 100644 abs/core/qt/.qmake.vars delete mode 100644 abs/core/qt/ca-certificates.patch create mode 100644 abs/core/qt/fix-multisampling-with-ati-card.patch create mode 100644 abs/core/qt/fix-scroll-when-last-item-is-removed.patch delete mode 100644 abs/core/qt/qt-webkit-4.6.3-flash-plugin-segfault.patch diff --git a/abs/core/qt/.qmake.vars b/abs/core/qt/.qmake.vars new file mode 100644 index 0000000..74936a5 --- /dev/null +++ b/abs/core/qt/.qmake.vars @@ -0,0 +1,6 @@ +styles += cde mac motif plastique cleanlooks windows +decorations += default windows styled +mouse-drivers += pc +gfx-drivers += linuxfb +mouse-drivers += linuxtp +kbd-drivers += tty diff --git a/abs/core/qt/PKGBUILD b/abs/core/qt/PKGBUILD index 75e4737..e1ee827 100644 --- a/abs/core/qt/PKGBUILD +++ b/abs/core/qt/PKGBUILD @@ -1,23 +1,31 @@ -# $Id: PKGBUILD 82062 2010-06-08 11:58:32Z pierre $ -# Maintainer: Pierre Schmitz +# $Id: PKGBUILD 94734 2010-10-10 14:30:15Z andrea $ +# Maintainer: Andrea Scarpino +# Contributor: Pierre Schmitz pkgname=qt -pkgver=4.6.3 -pkgrel=2 +pkgver=4.7.0 +pkgrel=4 pkgdesc='A cross-platform application and UI framework' arch=('i686' 'x86_64') url='http://qt.nokia.com/' license=('GPL3' 'LGPL') -depends=('libpng' 'fontconfig' 'libtiff' 'libmng' 'sqlite3' 'xdg-utils' 'ca-certificates' - 'hicolor-icon-theme' 'alsa-lib' 'glib2' 'dbus' 'libxrender' 'libgl' 'libsm') -optdepends=('postgresql-libs' 'libmysqlclient' 'unixodbc') -makedepends=('mesa' 'inputproto' 'postgresql-libs' 'mysql' 'unixodbc' 'libxfixes' 'gtk2') -install=qt.install +depends=('libtiff' 'libpng' 'libmng' 'sqlite3' 'ca-certificates' 'glib2' 'dbus' + 'fontconfig' 'libgl' 'libsm' 'libxrandr' 'libxv' 'libxi' 'alsa-lib' + 'xdg-utils' 'hicolor-icon-theme') +optdepends=('postgresql-libs: PostgreSQL driver' + 'libmysqlclient: MySQL driver' + 'unixodbc: ODBC driver' + 'libxinerama: Xinerama support' + 'libxcursor: Xcursor support' + 'libxfixes: Xfixes support') +makedepends=('mesa' 'postgresql-libs' 'mysql' 'unixodbc' 'gtk2') +install="${pkgname}.install" options=('!libtool') _pkgfqn="qt-everywhere-opensource-src-${pkgver}" source=("ftp://ftp.qt.nokia.com/qt/source/${_pkgfqn}.tar.gz" 'assistant.desktop' 'designer.desktop' 'linguist.desktop' 'qtconfig.desktop' - 'ca-certificates.patch' 'qt-webkit-4.6.3-flash-plugin-segfault.patch') + 'fix-scroll-when-last-item-is-removed.patch' + 'fix-multisampling-with-ati-card.patch') build() { unset QMAKESPEC @@ -27,22 +35,22 @@ build() { cd $srcdir/$_pkgfqn - # see http://cvs.fedoraproject.org/viewvc/rpms/qt/devel/ - # use system ssl cert bundle - patch -p1 -i $srcdir/ca-certificates.patch || return 1 - patch -p0 < $srcdir/qt-webkit-4.6.3-flash-plugin-segfault.patch || return 1 + # Already fixed in 4.7.1 + patch -Np1 -i ${srcdir}/fix-scroll-when-last-item-is-removed.patch + patch -Np1 -i ${srcdir}/fix-multisampling-with-ati-card.patch sed -i "s|-O2|$CXXFLAGS|" mkspecs/common/g++.conf sed -i "/^QMAKE_RPATH/s| -Wl,-rpath,||g" mkspecs/common/g++.conf sed -i "/^QMAKE_LFLAGS\s/s|+=|+= $LDFLAGS|g" mkspecs/common/g++.conf - ./configure -confirm-license -opensource \ + ./configure -v -confirm-license -opensource \ -prefix /usr \ - -sysconfdir /etc \ + -docdir /usr/share/doc/qt \ -plugindir /usr/lib/qt/plugins \ - -translationdir /usr/share/qt/translations \ + -importdir /usr/lib/qt/imports \ -datadir /usr/share/qt \ - -docdir /usr/share/doc/qt \ + -translationdir /usr/share/qt/translations \ + -sysconfdir /etc \ -examplesdir /usr/share/doc/qt/examples \ -demosdir /usr/share/doc/qt/demos \ -largefile \ @@ -53,22 +61,24 @@ build() { -no-phonon-backend \ -svg \ -webkit \ + -script \ -scripttools \ -system-zlib \ -system-libtiff \ -system-libpng \ -system-libmng \ -system-libjpeg \ - -openssl-linked \ -nomake demos \ -nomake examples \ -nomake docs \ -no-rpath \ + -no-cups \ + -openssl-linked \ -silent \ -optimized-qmake \ -dbus \ - -no-separate-debug-info \ -reduce-relocations \ + -no-separate-debug-info \ -gtkstyle \ -opengl \ -no-openvg \ @@ -101,10 +111,10 @@ package() { find ${pkgdir}/usr/lib -type f -name '*.prl' \ -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d;s/\(QMAKE_PRL_LIBS =\).*/\1/' {} \; } -md5sums=('5c69f16d452b0bb3d44bc3c10556c072' +md5sums=('3a2f25b9b115037277f4fb759194a7a5' 'a445c6917086d80f1cfc1e40cb6b0132' 'd457f0a0ad68a3861c3cadefe3b42ded' '668331d9798a0e2b94381efb7be4c513' 'c29f2993d6a0f73d756d2fa36e130e1c' - 'd5c4cad7af93f1d736d4569a207bd739' - '17382f5532888268bb50d1ab47e5fa19') + 'ef20c34afc5be5ed62f2935be66d9402' + 'b2e0f134bbb848ebef41134a45a36ee9') diff --git a/abs/core/qt/__changelog b/abs/core/qt/__changelog index 86af276..d92474d 100644 --- a/abs/core/qt/__changelog +++ b/abs/core/qt/__changelog @@ -1,2 +1,4 @@ remove cups support added QtWebKit_Flash.patch to fix crash with Flash 10.1 and webkit browsers like mythbrowser. http://trac.webkit.org/changeset/61307 This shouldn't be needed in qt versions 4.6.4 or later. + +upgrade to 4.7.0 diff --git a/abs/core/qt/ca-certificates.patch b/abs/core/qt/ca-certificates.patch deleted file mode 100644 index 02ebbad..0000000 --- a/abs/core/qt/ca-certificates.patch +++ /dev/null @@ -1,25 +0,0 @@ -diff -up qt-x11-opensource-src-4.5.3/src/network/ssl/qsslsocket_openssl.cpp.system_ca_certificates qt-x11-opensource-src-4.5.3/src/network/ssl/qsslsocket_openssl.cpp ---- qt-x11-opensource-src-4.5.3/src/network/ssl/qsslsocket_openssl.cpp.system_ca_certificates 2009-09-29 06:01:38.000000000 -0500 -+++ qt-x11-opensource-src-4.5.3/src/network/ssl/qsslsocket_openssl.cpp 2009-10-02 11:20:10.674662746 -0500 -@@ -482,8 +482,20 @@ void QSslSocketPrivate::resetDefaultCiph - - QList QSslSocketPrivate::systemCaCertificates() - { -+ -+ QFile caBundle; -+ -+#ifdef Q_OS_UNIX -+ // Check known locations for the system's default bundle. ### On Windows, -+ // we should use CAPI to find the bundle, and not rely on default unix -+ // locations. -+ caBundle.setFileName(QLatin1String("/etc/ssl/certs/ca-certificates.crt")); -+ if (caBundle.open(QIODevice::ReadOnly | QIODevice::Text)) -+ return QSslCertificate::fromDevice(&caBundle); -+#endif -+ - // Qt provides a default bundle of certificates -- QFile caBundle(QLatin1String(":/trolltech/network/ssl/qt-ca-bundle.crt")); -+ caBundle.setFileName(QLatin1String(":/trolltech/network/ssl/qt-ca-bundle.crt")); - if (caBundle.open(QIODevice::ReadOnly | QIODevice::Text)) - return QSslCertificate::fromDevice(&caBundle); - diff --git a/abs/core/qt/fix-multisampling-with-ati-card.patch b/abs/core/qt/fix-multisampling-with-ati-card.patch new file mode 100644 index 0000000..c215c2c --- /dev/null +++ b/abs/core/qt/fix-multisampling-with-ati-card.patch @@ -0,0 +1,25 @@ +From e48e50c460434c451c67403390d98f7418c77cce Mon Sep 17 00:00:00 2001 +From: Jonathan Liu +Date: Wed, 25 Aug 2010 14:07:40 +1000 +Subject: [PATCH] Fix OpenGL multisampling for some graphics drivers + +--- + src/opengl/qgl_win.cpp | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/src/opengl/qgl_win.cpp b/src/opengl/qgl_win.cpp +index 5ab944a..8eb6177 100644 +--- a/src/opengl/qgl_win.cpp ++++ b/src/opengl/qgl_win.cpp +@@ -1042,7 +1042,7 @@ int QGLContext::choosePixelFormat(void* dummyPfd, HDC pdc) + iAttributes[i++] = WGL_DRAW_TO_WINDOW_ARB; + iAttributes[i++] = TRUE; + iAttributes[i++] = WGL_COLOR_BITS_ARB; +- iAttributes[i++] = 32; ++ iAttributes[i++] = 24; + iAttributes[i++] = WGL_DOUBLE_BUFFER_ARB; + iAttributes[i++] = d->glFormat.doubleBuffer(); + if (d->glFormat.stereo()) { +-- +1.7.2.1 + diff --git a/abs/core/qt/fix-scroll-when-last-item-is-removed.patch b/abs/core/qt/fix-scroll-when-last-item-is-removed.patch new file mode 100644 index 0000000..8656702 --- /dev/null +++ b/abs/core/qt/fix-scroll-when-last-item-is-removed.patch @@ -0,0 +1,38 @@ +From 6da6b7099d4e0b49329793e4b90703ec3d868048 Mon Sep 17 00:00:00 2001 +From: Frank Reininghaus +Date: Wed, 22 Sep 2010 10:19:59 +0200 +Subject: [PATCH] QTreeView: do not scroll to top if last item is removed + +When the last item is the current item and is removed, +QTreeViewPrivate::updateScrollBars() is called after QTreeViewPrivate's +viewItems member is cleared. This commit makes sure that viewItems is +restored by calling QTreeView::doItemsLayout() in this case, preventing +that the scroll bar range is set to zero temporarily and the view is +scrolled to the top unexpectedly (this was a regression in 4.7.0: +QTBUG-13567). + +Merge-request: 2481 +Reviewed-by: Olivier Goffart +--- + src/gui/itemviews/qtreeview.cpp | 4 ++++ + tests/auto/qtreeview/tst_qtreeview.cpp | 22 ++++++++++++++++++++++ + 2 files changed, 26 insertions(+), 0 deletions(-) + +diff --git a/src/gui/itemviews/qtreeview.cpp b/src/gui/itemviews/qtreeview.cpp +index b797776..40b51fe 100644 +--- a/src/gui/itemviews/qtreeview.cpp ++++ b/src/gui/itemviews/qtreeview.cpp +@@ -3435,6 +3435,10 @@ void QTreeViewPrivate::updateScrollBars() + if (!viewportSize.isValid()) + viewportSize = QSize(0, 0); + ++ if (viewItems.isEmpty()) { ++ q->doItemsLayout(); ++ } ++ + int itemsInViewport = 0; + if (uniformRowHeights) { + if (defaultItemHeight <= 0) +-- +1.6.1 + diff --git a/abs/core/qt/qt-webkit-4.6.3-flash-plugin-segfault.patch b/abs/core/qt/qt-webkit-4.6.3-flash-plugin-segfault.patch deleted file mode 100644 index 6fc87ca..0000000 --- a/abs/core/qt/qt-webkit-4.6.3-flash-plugin-segfault.patch +++ /dev/null @@ -1,43 +0,0 @@ -This patch fixes WebKit Bug 40567: [Qt] QtWebKit crashes while initializing -flash plugin 10.1.53.64... -https://bugs.webkit.org/show_bug.cgi?id=40567 - ---- src/3rdparty/webkit/WebCore/plugins/qt/PluginPackageQt.cpp -+++ src/3rdparty/webkit/WebCore/plugins/qt/PluginPackageQt.cpp -@@ -35,4 +35,6 @@ - - namespace WebCore { -+ -+typedef void gtkInitFunc(int *argc, char ***argv); - - bool PluginPackage::fetchInfo() -@@ -110,4 +112,5 @@ - NP_InitializeFuncPtr NP_Initialize; - NPError npErr; -+ gtkInitFunc* gtkInit; - - NP_Initialize = (NP_InitializeFuncPtr)m_module->resolve("NP_Initialize"); -@@ -126,4 +129,24 @@ - // It does so in NP_Initialize with a null instance, therefore it is done this way: - m_browserFuncs.getvalue = staticPluginQuirkRequiresGtkToolKit_NPN_GetValue; -+ } -+ -+ // WORKAROUND: Prevent gtk based plugin crashes such as BR# 40567 by -+ // explicitly forcing the initializing of Gtk, i.e. calling gtk_init, -+ // whenver the symbol is present in the plugin library loaded above. -+ // Note that this workaround is based on code from the NSPluginClass ctor -+ // in KDE's kdebase/apps/nsplugins/viewer/nsplugin.cpp file. -+ gtkInit = (gtkInitFunc*)m_module->resolve("gtk_init"); -+ if (gtkInit) { -+ // Prevent gtk_init() from replacing the X error handlers, since the Gtk -+ // handlers abort when they receive an X error, thus killing the viewer. -+#ifdef Q_WS_X11 -+ int (*old_error_handler)(Display*, XErrorEvent*) = XSetErrorHandler(0); -+ int (*old_io_error_handler)(Display*) = XSetIOErrorHandler(0); -+#endif -+ gtkInit(0, 0); -+#ifdef Q_WS_X11 -+ XSetErrorHandler(old_error_handler); -+ XSetIOErrorHandler(old_io_error_handler); -+#endif - } -- cgit v0.12