diff options
Diffstat (limited to 'abs/core-testing/qt')
| -rw-r--r--[-rwxr-xr-x] | abs/core-testing/qt/PKGBUILD | 103 | ||||
| -rw-r--r-- | abs/core-testing/qt/assistant.desktop | 2 | ||||
| -rw-r--r-- | abs/core-testing/qt/ca-certificates.patch | 25 | ||||
| -rw-r--r-- | abs/core-testing/qt/designer.desktop | 2 | ||||
| -rw-r--r-- | abs/core-testing/qt/linguist.desktop | 2 | ||||
| -rw-r--r-- | abs/core-testing/qt/qdoc3.patch | 25 | ||||
| -rw-r--r-- | abs/core-testing/qt/qt-webkit-4.6.3-flash-plugin-segfault.patch (renamed from abs/core-testing/qt/QtWebKit_Flash.patch) | 91 | ||||
| -rw-r--r-- | abs/core-testing/qt/qt.install | 11 | ||||
| -rw-r--r-- | abs/core-testing/qt/qtconfig.desktop | 2 | 
9 files changed, 129 insertions, 134 deletions
| diff --git a/abs/core-testing/qt/PKGBUILD b/abs/core-testing/qt/PKGBUILD index e315180..75e4737 100755..100644 --- a/abs/core-testing/qt/PKGBUILD +++ b/abs/core-testing/qt/PKGBUILD @@ -1,43 +1,23 @@ -# $Id$ +# $Id: PKGBUILD 82062 2010-06-08 11:58:32Z pierre $  # Maintainer: Pierre Schmitz <pierre@archlinux.de>  pkgname=qt -pkgver=4.5.2 -pkgrel=5 -_kdeqtver=2d1727e396d5dca24ae0fb6a45d35ffc1abd0c12 +pkgver=4.6.3 +pkgrel=2  pkgdesc='A cross-platform application and UI framework'  arch=('i686' 'x86_64') -url='http://www.qt.nokia.com/' +url='http://qt.nokia.com/'  license=('GPL3' 'LGPL') -depends=('libpng' 'mesa' 'fontconfig' 'libtiff>=3.8.2-5' 'libmng>=1.0.10-2' 'sqlite3' -         'libxrandr' 'glib2' 'libxi' 'dbus' 'libxcursor' 'libxinerama' 'libxrender') +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=('inputproto' 'postgresql-libs' 'mysql' 'unixodbc' 'libxfixes' 'gtk2') -provides=("qt4=${pkgver}") -replaces=('qt4') -conflicts=('qt4') +makedepends=('mesa' 'inputproto' 'postgresql-libs' 'mysql' 'unixodbc' 'libxfixes' 'gtk2') +install=qt.install  options=('!libtool') -_pkgfqn="qt-x11-opensource-src-${pkgver}" -source=("http://get.qt.nokia.com/qt/source/${_pkgfqn}.tar.bz2" -        "ftp://ftp.archlinux.org/other/kde-qt/kde-qt-patches-${_kdeqtver}.tar.bz2" +_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' -        'qdoc3.patch' 'QtWebKit_Flash.patch') - -_create-kdeqt-patches() { -	local codir=$(mktemp -d) -	mkdir -p "${codir}/kde-qt" -	git clone git://gitorious.org/+kde-developers/qt/kde-qt.git "${codir}/kde-qt" -	pushd "${codir}/kde-qt" -	local kdeqtver=$(git --no-pager show --format='%H' "${pkgver}-patched") -	mkdir "../kde-qt-patches-${kdeqtver}" -	git format-patch -k "v${pkgver}..${pkgver}-patched" -o "../kde-qt-patches-${kdeqtver}" -	popd -	pushd "${codir}" -	bsdtar -cjf "kde-qt-patches-${kdeqtver}.tar.bz2" kde-qt-patches-${kdeqtver} -	popd -	mv "${codir}/kde-qt-patches-${kdeqtver}.tar.bz2" . -	rm -rf "${codir}" -} +        'ca-certificates.patch' 'qt-webkit-4.6.3-flash-plugin-segfault.patch')  build() {  	unset QMAKESPEC @@ -46,16 +26,15 @@ build() {  	export LD_LIBRARY_PATH=${QT4DIR}/lib:${LD_LIBRARY_PATH}  	cd $srcdir/$_pkgfqn -	for i in $srcdir/kde-qt-patches-${_kdeqtver}/*; do -		echo "applying $i" -		patch -p1 -i $i || return 1 -	done -	patch -p0 -i $srcdir/qdoc3.patch -	patch < $srcdir/QtWebKit_Flash.patch ${srcdir}/${_pkgfqn}/src/3rdparty/webkit/WebCore/plugins/qt/PluginPackageQt.cpp || return 1 +	# 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  	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 \  		-prefix /usr \ @@ -71,6 +50,7 @@ build() {  		-system-sqlite \  		-xmlpatterns \  		-no-phonon \ +		-no-phonon-backend \  		-svg \  		-webkit \  		-scripttools \ @@ -87,35 +67,44 @@ build() {  		-silent \  		-optimized-qmake \  		-dbus \ -		-reduce-relocations \  		-no-separate-debug-info \ +		-reduce-relocations \  		-gtkstyle \  		-opengl \ +		-no-openvg \  		-glib -  	make +} + +package() { +	cd $srcdir/$_pkgfqn  	make INSTALL_ROOT=$pkgdir install -	install -D -m644 tools/assistant/tools/assistant/images/assistant.png ${pkgdir}/usr/share/pixmaps/assistant.png -	install -D -m644 tools/linguist/linguist/images/appicon.png ${pkgdir}/usr/share/pixmaps/linguist.png -	install -D -m644 tools/designer/src/designer/images/designer.png ${pkgdir}/usr/share/pixmaps/designer.png -	install -D -m644 src/gui/dialogs/images/qtlogo-64.png ${pkgdir}/usr/share/pixmaps/qtlogo.png +	# install missing icons and desktop files +	for icon in tools/linguist/linguist/images/icons/linguist-*-32.png ; do +		size=$(echo $(basename ${icon}) | cut -d- -f2) +		install -p -D -m644 ${icon} ${pkgdir}/usr/share/icons/hicolor/${size}x${size}/apps/linguist.png +	done +	install -p -D -m644 src/gui/dialogs/images/qtlogo-64.png ${pkgdir}/usr/share/icons/hicolor/64x64/apps/qtlogo.png +	install -p -D -m644 tools/assistant/tools/assistant/images/assistant.png ${pkgdir}/usr/share/icons/hicolor/32x32/apps/assistant.png +	install -p -D -m644 tools/designer/src/designer/images/designer.png ${pkgdir}/usr/share/icons/hicolor/128x128/apps/designer.png  	install -d ${pkgdir}/usr/share/applications  	install -m644 ${srcdir}/{linguist,designer,assistant,qtconfig}.desktop ${pkgdir}/usr/share/applications/ + +	# install license addition  	install -D -m644 LGPL_EXCEPTION.txt ${pkgdir}/usr/share/licenses/qt/LGPL_EXCEPTION.txt -	# cleanup and path fixes -	find $pkgdir/usr/lib -type f -name '*prl' -print -exec sed -i -e "/^QMAKE_PRL_BUILD_DIR/d" {} \; -	sed -i -e "s|-L$srcdir/${_pkgfqn}/lib||g" $pkgdir/usr/lib/pkgconfig/*.pc -	sed -i -e "s|$srcdir/${_pkgfqn}/bin/moc|/usr/bin/moc|g" $pkgdir/usr/lib/pkgconfig/*.pc -	sed -i -e "s|$srcdir/${_pkgfqn}/bin/uic|/usr/bin/uic|g" $pkgdir/usr/lib/pkgconfig/*.pc +	# Fix wrong path in pkgconfig files +	find ${pkgdir}/usr/lib/pkgconfig -type f -name '*.pc' \ +		-exec perl -pi -e "s, -L${srcdir}/?\S+,,g" {} \; +	# Fix wrong path in prl files +	find ${pkgdir}/usr/lib -type f -name '*.prl' \ +		-exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d;s/\(QMAKE_PRL_LIBS =\).*/\1/' {} \;  } - -md5sums=('28a7e8ac9805a6f614d2a27ee1a6ac9d' -         '4b333add3031f59538629b35858178d9' -         'b352b4b70faba2571af3fce5d119580a' -         '491a96682faa03407f768a53cca71db5' -         'cda7ed7e132689991dc2968a0043b4b0' -         '717669b728a0a795217d2f52969e454c' -         '9c0a0db3569e889a54a6cddcd55c538c' -         '0e2f5e43ed9dba32816fd4142b021762') +md5sums=('5c69f16d452b0bb3d44bc3c10556c072' +         'a445c6917086d80f1cfc1e40cb6b0132' +         'd457f0a0ad68a3861c3cadefe3b42ded' +         '668331d9798a0e2b94381efb7be4c513' +         'c29f2993d6a0f73d756d2fa36e130e1c' +         'd5c4cad7af93f1d736d4569a207bd739' +         '17382f5532888268bb50d1ab47e5fa19') diff --git a/abs/core-testing/qt/assistant.desktop b/abs/core-testing/qt/assistant.desktop index 48105b9..1b9f0a7 100644 --- a/abs/core-testing/qt/assistant.desktop +++ b/abs/core-testing/qt/assistant.desktop @@ -2,7 +2,7 @@  Exec=/usr/bin/assistant  Name=Qt Assistant  GenericName=Qt Document Browser -Icon=/usr/share/pixmaps/assistant.png +Icon=assistant  Terminal=false  Type=Application  Categories=Qt;Development;Documentation diff --git a/abs/core-testing/qt/ca-certificates.patch b/abs/core-testing/qt/ca-certificates.patch new file mode 100644 index 0000000..02ebbad --- /dev/null +++ b/abs/core-testing/qt/ca-certificates.patch @@ -0,0 +1,25 @@ +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<QSslCertificate> 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-testing/qt/designer.desktop b/abs/core-testing/qt/designer.desktop index fefe095..8f36273 100644 --- a/abs/core-testing/qt/designer.desktop +++ b/abs/core-testing/qt/designer.desktop @@ -3,7 +3,7 @@ Exec=/usr/bin/designer  Name=Qt Designer  GenericName=Interface Designer  MimeType=application/x-designer -Icon=/usr/share/pixmaps/designer.png +Icon=designer  Terminal=false  Type=Application  Categories=Qt;Development;GUIDesigner diff --git a/abs/core-testing/qt/linguist.desktop b/abs/core-testing/qt/linguist.desktop index 04519bf..94e92c1 100644 --- a/abs/core-testing/qt/linguist.desktop +++ b/abs/core-testing/qt/linguist.desktop @@ -5,5 +5,5 @@ GenericName=Translation Tool  MimeType=application/x-linguist  Terminal=false  Type=Application -Icon=/usr/share/pixmaps/linguist.png +Icon=linguist  Categories=Qt;Development;Translation diff --git a/abs/core-testing/qt/qdoc3.patch b/abs/core-testing/qt/qdoc3.patch deleted file mode 100644 index c967b6e..0000000 --- a/abs/core-testing/qt/qdoc3.patch +++ /dev/null @@ -1,25 +0,0 @@ ---- tools/qdoc3/qdoc3.pro       2009-06-25 17:34:42.000000000 +0200 -+++ tools/qdoc3/qdoc3.pro.new   2009-06-25 17:35:42.000000000 +0200 -@@ -8,6 +8,11 @@ -     CONFIG -= build_all -     CONFIG += release - } -+ -+TARGET= qdoc3 -+target.path = $$[QT_INSTALL_BINS] -+INSTALLS += target -+ - mac:CONFIG -= app_bundle - HEADERS += apigenerator.h \ -            archiveextractor.h \ -diff -up qt-x11-opensource-src-4.5.0/tools/tools.pro.qdoc3 qt-x11-opensource-src-4.5.0/tools/tools.pro ---- tools/tools.pro.qdoc3	2009-02-25 15:09:27.000000000 -0600 -+++ tools/tools.pro	2009-03-04 09:44:18.000000000 -0600 -@@ -13,6 +13,7 @@ no-png { -          SUBDIRS += designer -      } -      SUBDIRS     += linguist -+     SUBDIRS     += qdoc3 -      wince*: SUBDIRS = qtestlib designer -      unix:!mac:!embedded:contains(QT_CONFIG, qt3support):SUBDIRS += qtconfig -      win32:!wince*:!contains(QT_EDITION, OpenSource|Console):SUBDIRS += activeqt diff --git a/abs/core-testing/qt/QtWebKit_Flash.patch b/abs/core-testing/qt/qt-webkit-4.6.3-flash-plugin-segfault.patch index 102f73c..6fc87ca 100644 --- a/abs/core-testing/qt/QtWebKit_Flash.patch +++ b/abs/core-testing/qt/qt-webkit-4.6.3-flash-plugin-segfault.patch @@ -1,48 +1,43 @@ ---- PluginPackageQt.cpp.orig	2010-06-30 21:29:47.178707288 +0000 -+++ PluginPackageQt.cpp	2010-06-30 21:35:40.185441603 +0000 -@@ -36,6 +36,8 @@ -  - namespace WebCore { -  -+typedef void gtkInitFunc(int *argc, char ***argv);  -+ - bool PluginPackage::fetchInfo() - { -     if (!load()) -@@ -100,7 +102,8 @@ -  -     NP_InitializeFuncPtr NP_Initialize; -     NPError npErr; -- -+    gtkInitFunc* gtkInit; -+     -     NP_Initialize = (NP_InitializeFuncPtr)m_module->resolve("NP_Initialize"); -     m_NPP_Shutdown = (NPP_ShutdownProcPtr)m_module->resolve("NP_Shutdown"); -  -@@ -157,6 +160,26 @@ -     m_browserFuncs.enumerate = _NPN_Enumerate; -     m_browserFuncs.construct = _NPN_Construct; -  -+    // 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 -+} -+ - #if defined(XP_UNIX) -     npErr = NP_Initialize(&m_browserFuncs, &m_pluginFuncs); - #else +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
 +     }
 diff --git a/abs/core-testing/qt/qt.install b/abs/core-testing/qt/qt.install new file mode 100644 index 0000000..e70c054 --- /dev/null +++ b/abs/core-testing/qt/qt.install @@ -0,0 +1,11 @@ +post_install() { +	xdg-icon-resource forceupdate --theme hicolor &> /dev/null +} + +post_upgrade() { +	post_install +} + +post_remove() { +	post_install +} diff --git a/abs/core-testing/qt/qtconfig.desktop b/abs/core-testing/qt/qtconfig.desktop index 633d921..7c221e5 100644 --- a/abs/core-testing/qt/qtconfig.desktop +++ b/abs/core-testing/qt/qtconfig.desktop @@ -2,7 +2,7 @@  Name=Qt Config   Comment=Configure Qt behavior, styles, fonts  Exec=/usr/bin/qtconfig -Icon=/usr/share/pixmaps/qtlogo +Icon=qtlogo  Terminal=false  Type=Application  Categories=Qt;Settings; | 
