summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--[-rwxr-xr-x]abs/core-testing/qt/PKGBUILD103
-rw-r--r--abs/core-testing/qt/assistant.desktop2
-rw-r--r--abs/core-testing/qt/ca-certificates.patch25
-rw-r--r--abs/core-testing/qt/designer.desktop2
-rw-r--r--abs/core-testing/qt/linguist.desktop2
-rw-r--r--abs/core-testing/qt/qdoc3.patch25
-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.install11
-rw-r--r--abs/core-testing/qt/qtconfig.desktop2
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;