diff --git a/extra/qt/Drop-read-write-perms-for-users.patch b/extra/qt/Drop-read-write-perms-for-users.patch deleted file mode 100644 index c3f56e65e..000000000 --- a/extra/qt/Drop-read-write-perms-for-users.patch +++ /dev/null @@ -1,145 +0,0 @@ -From 20b26bdb3dd5e46b01b9a7e1ce8342074df3c89c Mon Sep 17 00:00:00 2001 -From: Thiago Macieira -Date: Sat, 22 Dec 2012 08:32:12 -0800 -Subject: [PATCH] Change all shmget calls to user-only memory - -Drop the read and write permissions for group and other users in the -system. - -Change-Id: I8fc753f09126651af3fb82df3049050f0b14e876 -(cherry-picked from Qt 5 commit 856f209fb63ae336bfb389a12d2a75fa886dc1c5) -Reviewed-by: Richard J. Moore ---- - src/corelib/kernel/qsharedmemory_unix.cpp | 6 +++--- - src/corelib/kernel/qsystemsemaphore_unix.cpp | 4 ++-- - src/gui/image/qnativeimage.cpp | 2 +- - src/gui/image/qpixmap_x11.cpp | 2 +- - src/plugins/platforms/xcb/qxcbwindowsurface.cpp | 2 +- - src/plugins/platforms/xlib/qxlibwindowsurface.cpp | 2 +- - .../auto/qtipc/qsharedmemory/tst_qsharedmemory.cpp | 2 +- - tools/qvfb/qvfbshmem.cpp | 4 ++-- - 8 files changed, 12 insertions(+), 12 deletions(-) - -diff --git a/src/corelib/kernel/qsharedmemory_unix.cpp b/src/corelib/kernel/qsharedmemory_unix.cpp -index 20d76e3..4cf3acf 100644 ---- a/src/corelib/kernel/qsharedmemory_unix.cpp -+++ b/src/corelib/kernel/qsharedmemory_unix.cpp -@@ -238,7 +238,7 @@ bool QSharedMemoryPrivate::create(int size) - } - - // create -- if (-1 == shmget(unix_key, size, 0666 | IPC_CREAT | IPC_EXCL)) { -+ if (-1 == shmget(unix_key, size, 0600 | IPC_CREAT | IPC_EXCL)) { - QString function = QLatin1String("QSharedMemory::create"); - switch (errno) { - case EINVAL: -@@ -293,7 +293,7 @@ bool QSharedMemoryPrivate::attach(QSharedMemory::AccessMode mode) - { - #ifndef QT_POSIX_IPC - // grab the shared memory segment id -- int id = shmget(unix_key, 0, (mode == QSharedMemory::ReadOnly ? 0444 : 0660)); -+ int id = shmget(unix_key, 0, (mode == QSharedMemory::ReadOnly ? 0400 : 0600)); - if (-1 == id) { - setErrorString(QLatin1String("QSharedMemory::attach (shmget)")); - return false; -@@ -381,7 +381,7 @@ bool QSharedMemoryPrivate::detach() - size = 0; - - // Get the number of current attachments -- int id = shmget(unix_key, 0, 0444); -+ int id = shmget(unix_key, 0, 0400); - cleanHandle(); - - struct shmid_ds shmid_ds; -diff --git a/src/corelib/kernel/qsystemsemaphore_unix.cpp b/src/corelib/kernel/qsystemsemaphore_unix.cpp -index fad9acc..e77456b 100644 ---- a/src/corelib/kernel/qsystemsemaphore_unix.cpp -+++ b/src/corelib/kernel/qsystemsemaphore_unix.cpp -@@ -153,10 +153,10 @@ key_t QSystemSemaphorePrivate::handle(QSystemSemaphore::AccessMode mode) - } - - // Get semaphore -- semaphore = semget(unix_key, 1, 0666 | IPC_CREAT | IPC_EXCL); -+ semaphore = semget(unix_key, 1, 0600 | IPC_CREAT | IPC_EXCL); - if (-1 == semaphore) { - if (errno == EEXIST) -- semaphore = semget(unix_key, 1, 0666 | IPC_CREAT); -+ semaphore = semget(unix_key, 1, 0600 | IPC_CREAT); - if (-1 == semaphore) { - setErrorString(QLatin1String("QSystemSemaphore::handle")); - cleanHandle(); -diff --git a/src/gui/image/qnativeimage.cpp b/src/gui/image/qnativeimage.cpp -index 9654afe..fef38c5 100644 ---- a/src/gui/image/qnativeimage.cpp -+++ b/src/gui/image/qnativeimage.cpp -@@ -176,7 +176,7 @@ QNativeImage::QNativeImage(int width, int height, QImage::Format format,bool /* - - bool ok; - xshminfo.shmid = shmget(IPC_PRIVATE, xshmimg->bytes_per_line * xshmimg->height, -- IPC_CREAT | 0777); -+ IPC_CREAT | 0700); - ok = xshminfo.shmid != -1; - if (ok) { - xshmimg->data = (char*)shmat(xshminfo.shmid, 0, 0); -diff --git a/src/gui/image/qpixmap_x11.cpp b/src/gui/image/qpixmap_x11.cpp -index 280d8bd..88c9b7b 100644 ---- a/src/gui/image/qpixmap_x11.cpp -+++ b/src/gui/image/qpixmap_x11.cpp -@@ -193,7 +193,7 @@ static bool qt_create_mitshm_buffer(const QPaintDevice* dev, int w, int h) - bool ok; - xshminfo.shmid = shmget(IPC_PRIVATE, - xshmimg->bytes_per_line * xshmimg->height, -- IPC_CREAT | 0777); -+ IPC_CREAT | 0700); - ok = xshminfo.shmid != -1; - if (ok) { - xshmimg->data = (char*)shmat(xshminfo.shmid, 0, 0); -diff --git a/src/plugins/platforms/xcb/qxcbwindowsurface.cpp b/src/plugins/platforms/xcb/qxcbwindowsurface.cpp -index b6a42d8..0d56821 100644 ---- a/src/plugins/platforms/xcb/qxcbwindowsurface.cpp -+++ b/src/plugins/platforms/xcb/qxcbwindowsurface.cpp -@@ -98,7 +98,7 @@ QXcbShmImage::QXcbShmImage(QXcbScreen *screen, const QSize &size, uint depth, QI - 0); - - m_shm_info.shmid = shmget (IPC_PRIVATE, -- m_xcb_image->stride * m_xcb_image->height, IPC_CREAT|0777); -+ m_xcb_image->stride * m_xcb_image->height, IPC_CREAT|0600); - - m_shm_info.shmaddr = m_xcb_image->data = (quint8 *)shmat (m_shm_info.shmid, 0, 0); - m_shm_info.shmseg = xcb_generate_id(xcb_connection()); -diff --git a/src/plugins/platforms/xlib/qxlibwindowsurface.cpp b/src/plugins/platforms/xlib/qxlibwindowsurface.cpp -index bf003eb..46a2f97 100644 ---- a/src/plugins/platforms/xlib/qxlibwindowsurface.cpp -+++ b/src/plugins/platforms/xlib/qxlibwindowsurface.cpp -@@ -99,7 +99,7 @@ void QXlibWindowSurface::resizeShmImage(int width, int height) - - - image_info->shminfo.shmid = shmget (IPC_PRIVATE, -- image->bytes_per_line * image->height, IPC_CREAT|0777); -+ image->bytes_per_line * image->height, IPC_CREAT|0700); - - image_info->shminfo.shmaddr = image->data = (char*)shmat (image_info->shminfo.shmid, 0, 0); - image_info->shminfo.readOnly = False; -diff --git a/tools/qvfb/qvfbshmem.cpp b/tools/qvfb/qvfbshmem.cpp -index 7f9671f..84b6ebe 100644 ---- a/tools/qvfb/qvfbshmem.cpp -+++ b/tools/qvfb/qvfbshmem.cpp -@@ -176,13 +176,13 @@ QShMemViewProtocol::QShMemViewProtocol(int displayid, const QSize &s, - uint data_offset_value = sizeof(QVFbHeader); - - int dataSize = bpl * h + data_offset_value; -- shmId = shmget(key, dataSize, IPC_CREAT | 0666); -+ shmId = shmget(key, dataSize, IPC_CREAT | 0600); - if (shmId != -1) - data = (unsigned char *)shmat(shmId, 0, 0); - else { - struct shmid_ds shm; - shmctl(shmId, IPC_RMID, &shm); -- shmId = shmget(key, dataSize, IPC_CREAT | 0666); -+ shmId = shmget(key, dataSize, IPC_CREAT | 0600); - if (shmId == -1) { - perror("QShMemViewProtocol::QShMemViewProtocol"); - qFatal("Cannot get shared memory 0x%08x", key); --- -1.7.1 - diff --git a/extra/qt/Fix-binary-incompatibility-between-openssl-versions.patch b/extra/qt/Fix-binary-incompatibility-between-openssl-versions.patch deleted file mode 100644 index 5f56edd8d..000000000 --- a/extra/qt/Fix-binary-incompatibility-between-openssl-versions.patch +++ /dev/null @@ -1,80 +0,0 @@ -From 691e78e5061d4cbc0de212d23b06c5dffddf2098 Mon Sep 17 00:00:00 2001 -From: Shane Kearns -Date: Thu, 6 Dec 2012 17:03:18 +0000 -Subject: [PATCH 54/79] Fix binary incompatibility between openssl versions - -OpenSSL changed the layout of X509_STORE_CTX between 0.9 and 1.0 -So we have to consider this struct as private implementation, and use -the access functions instead. - -This bug would cause certificate verification problems if a different -version of openssl is loaded at runtime to the headers Qt was compiled -against. - -Task-number: QTBUG-28343 -Change-Id: I47fc24336f7d9c80f08f9c8ba6debc51a5591258 -Reviewed-by: Richard J. Moore -(cherry picked from commit eb2688c4c4f257d0a4d978ba4bf57d6347b15252) ---- - src/network/ssl/qsslsocket_openssl.cpp | 2 +- - src/network/ssl/qsslsocket_openssl_symbols.cpp | 8 ++++++++ - src/network/ssl/qsslsocket_openssl_symbols_p.h | 4 ++++ - 3 files changed, 13 insertions(+), 1 deletion(-) - -diff --git a/src/network/ssl/qsslsocket_openssl.cpp b/src/network/ssl/qsslsocket_openssl.cpp -index b7ca290..e912abac 100644 ---- a/src/network/ssl/qsslsocket_openssl.cpp -+++ b/src/network/ssl/qsslsocket_openssl.cpp -@@ -236,7 +236,7 @@ static int q_X509Callback(int ok, X509_STORE_CTX *ctx) - { - if (!ok) { - // Store the error and at which depth the error was detected. -- _q_sslErrorList()->errors << qMakePair(ctx->error, ctx->error_depth); -+ _q_sslErrorList()->errors << qMakePair(q_X509_STORE_CTX_get_error(ctx), q_X509_STORE_CTX_get_error_depth(ctx)); - } - // Always return OK to allow verification to continue. We're handle the - // errors gracefully after collecting all errors, after verification has -diff --git a/src/network/ssl/qsslsocket_openssl_symbols.cpp b/src/network/ssl/qsslsocket_openssl_symbols.cpp -index 2d6a25b..2e6ccd0 100644 ---- a/src/network/ssl/qsslsocket_openssl_symbols.cpp -+++ b/src/network/ssl/qsslsocket_openssl_symbols.cpp -@@ -267,6 +267,10 @@ DEFINEFUNC2(int, X509_STORE_add_cert, X509_STORE *a, a, X509 *b, b, return 0, re - DEFINEFUNC(void, X509_STORE_CTX_free, X509_STORE_CTX *a, a, return, DUMMYARG) - DEFINEFUNC4(int, X509_STORE_CTX_init, X509_STORE_CTX *a, a, X509_STORE *b, b, X509 *c, c, STACK_OF(X509) *d, d, return -1, return) - DEFINEFUNC2(int, X509_STORE_CTX_set_purpose, X509_STORE_CTX *a, a, int b, b, return -1, return) -+DEFINEFUNC(int, X509_STORE_CTX_get_error, X509_STORE_CTX *a, a, return -1, return) -+DEFINEFUNC(int, X509_STORE_CTX_get_error_depth, X509_STORE_CTX *a, a, return -1, return) -+DEFINEFUNC(X509 *, X509_STORE_CTX_get_current_cert, X509_STORE_CTX *a, a, return 0, return) -+DEFINEFUNC(STACK_OF(X509) *, X509_STORE_CTX_get_chain, X509_STORE_CTX *a, a, return 0, return) - DEFINEFUNC(X509_STORE_CTX *, X509_STORE_CTX_new, DUMMYARG, DUMMYARG, return 0, return) - #ifdef SSLEAY_MACROS - DEFINEFUNC2(int, i2d_DSAPrivateKey, const DSA *a, a, unsigned char **b, b, return -1, return) -@@ -832,6 +836,10 @@ bool q_resolveOpenSslSymbols() - RESOLVEFUNC(X509_STORE_CTX_init) - RESOLVEFUNC(X509_STORE_CTX_new) - RESOLVEFUNC(X509_STORE_CTX_set_purpose) -+ RESOLVEFUNC(X509_STORE_CTX_get_error) -+ RESOLVEFUNC(X509_STORE_CTX_get_error_depth) -+ RESOLVEFUNC(X509_STORE_CTX_get_current_cert) -+ RESOLVEFUNC(X509_STORE_CTX_get_chain) - RESOLVEFUNC(X509_cmp) - #ifndef SSLEAY_MACROS - RESOLVEFUNC(X509_dup) -diff --git a/src/network/ssl/qsslsocket_openssl_symbols_p.h b/src/network/ssl/qsslsocket_openssl_symbols_p.h -index fa9a157..87f3697 100644 ---- a/src/network/ssl/qsslsocket_openssl_symbols_p.h -+++ b/src/network/ssl/qsslsocket_openssl_symbols_p.h -@@ -374,6 +374,10 @@ int q_X509_STORE_CTX_init(X509_STORE_CTX *ctx, X509_STORE *store, - X509 *x509, STACK_OF(X509) *chain); - X509_STORE_CTX *q_X509_STORE_CTX_new(); - int q_X509_STORE_CTX_set_purpose(X509_STORE_CTX *ctx, int purpose); -+int q_X509_STORE_CTX_get_error(X509_STORE_CTX *ctx); -+int q_X509_STORE_CTX_get_error_depth(X509_STORE_CTX *ctx); -+X509 *q_X509_STORE_CTX_get_current_cert(X509_STORE_CTX *ctx); -+STACK_OF(X509) *q_X509_STORE_CTX_get_chain(X509_STORE_CTX *ctx); - - #define q_BIO_get_mem_data(b, pp) (int)q_BIO_ctrl(b,BIO_CTRL_INFO,0,(char *)pp) - #define q_BIO_pending(b) (int)q_BIO_ctrl(b,BIO_CTRL_PENDING,0,NULL) --- -1.8.0.2 - diff --git a/extra/qt/PKGBUILD b/extra/qt/PKGBUILD deleted file mode 100644 index 1ed112730..000000000 --- a/extra/qt/PKGBUILD +++ /dev/null @@ -1,164 +0,0 @@ -# $Id: PKGBUILD 145318 2011-12-21 20:46:52Z andrea $ -# Maintainer: Andrea Scarpino -# Contributor: Pierre Schmitz - -# ALARM: Kevin Mihelich -# - Just say NO to x86 optimizations ;) -# - disabled distcc, ccache - bad things happen -# - don't use -no-neon on armv7 -# - added -fno-strict-volatile-bitfields to CXXFLAGS to fix ARM bug -# - disabled gcc47.patch since we're not on that yet -# - no libfbclient/ibase, issues building on ARM - -pkgbase=qt -pkgname=('qt' 'qt-private-headers') -pkgver=4.8.4 -pkgrel=3 -arch=('i686' 'x86_64') -url='http://qt-project.org/' -license=('GPL3' 'LGPL') -makedepends=('libtiff' 'libpng' 'libmng' 'sqlite' 'ca-certificates' 'glib2' 'dbus' - 'fontconfig' 'libgl' 'libsm' 'libxrandr' 'libxv' 'libxi' 'alsa-lib' - 'xdg-utils' 'hicolor-icon-theme' 'desktop-file-utils' 'mesa' 'postgresql-libs' - 'mysql' 'unixodbc' 'cups' 'gtk2') -options=('!libtool' '!distcc' '!ccache') -_pkgfqn="${pkgbase}-everywhere-opensource-src-${pkgver}" -source=("http://releases.qt-project.org/qt4/source/${_pkgfqn}.tar.gz" - 'assistant.desktop' 'designer.desktop' 'linguist.desktop' - 'qtconfig.desktop' - 'improve-cups-support.patch' - 'fix-crash-in-assistant.patch' - 'Fix-binary-incompatibility-between-openssl-versions.patch' - 'Drop-read-write-perms-for-users.patch') -md5sums=('89c5ecba180cae74c66260ac732dc5cb' - 'f1837a03fd0ebbd2da58975845f278e3' - '480fea1ed076992b688373c8db274be0' - '5595c24d5bb942c21e3a4d299e6d0bf1' - '824a3b77a25e98567f640e0441ccdebc' - 'c439c7731c25387352d8453ca7574971' - '57590084078b6379f0501f7728b02ae2' - 'abd18c8a71e08167270b8ec6de61254a' - 'db29b7dd44c56f6026b53b57bbfd9ea3') - -build() { - cd ${_pkgfqn} - - # (FS#28381) (KDEBUG#180051) - patch -p1 -i "${srcdir}"/improve-cups-support.patch - - patch -p1 -i "${srcdir}"/fix-crash-in-assistant.patch - - # Security fixes - patch -p1 -i "${srcdir}"/Fix-binary-incompatibility-between-openssl-versions.patch - patch -p1 -i "${srcdir}"/Drop-read-write-perms-for-users.patch - - export QT4DIR="${srcdir}"/${_pkgfqn} - export LD_LIBRARY_PATH=${QT4DIR}/lib:${LD_LIBRARY_PATH} - - export CXXFLAGS="$CXXFLAGS -fno-strict-volatile-bitfields" - - sed -i "s|-O2|${CXXFLAGS}|" mkspecs/common/{g++,gcc}-base.conf - sed -i "/^QMAKE_LFLAGS_RPATH/s| -Wl,-rpath,||g" mkspecs/common/gcc-base-unix.conf - sed -i "/^QMAKE_LFLAGS\s/s|+=|+= ${LDFLAGS}|g" mkspecs/common/gcc-base.conf - - ./configure -confirm-license -opensource \ - -prefix /usr \ - -docdir /usr/share/doc/qt \ - -plugindir /usr/lib/qt/plugins \ - -importdir /usr/lib/qt/imports \ - -datadir /usr/share/qt \ - -translationdir /usr/share/qt/translations \ - -sysconfdir /etc/xdg \ - -examplesdir /usr/share/doc/qt/examples \ - -demosdir /usr/share/doc/qt/demos \ - -plugin-sql-{psql,mysql,sqlite,odbc} \ - -system-sqlite \ - -no-phonon \ - -no-phonon-backend \ - -no-webkit \ - -graphicssystem raster \ - -openssl-linked \ - -nomake demos \ - -nomake examples \ - -nomake docs \ - -silent \ - -no-rpath \ - -optimized-qmake \ - -reduce-relocations \ - -dbus-linked \ - -no-openvg \ - -no-mmx \ - -no-3dnow \ - -no-sse \ - -no-sse2 \ - -no-sse3 \ - -no-ssse3 \ - -no-sse4.1 \ - -no-sse4.2 \ - -no-avx \ - -no-neon - make -} - -package_qt() { - pkgdesc='A cross-platform application and UI framework' - depends=('libtiff' 'libpng' 'libmng' 'sqlite' 'ca-certificates' 'glib2' 'dbus' - 'fontconfig' 'libgl' 'libsm' 'libxrandr' 'libxv' 'libxi' 'alsa-lib' - 'xdg-utils' 'hicolor-icon-theme' 'desktop-file-utils') - optdepends=('postgresql-libs: PostgreSQL driver' - 'libmysqlclient: MySQL driver' - 'unixodbc: ODBC driver' - 'libxinerama: Xinerama support' - 'libxcursor: Xcursor support' - 'libxfixes: Xfixes support' - 'icu: Unicode support') - install='qt.install' - - cd ${_pkgfqn} - make INSTALL_ROOT="${pkgdir}" install - - # 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 - - # 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/' {} \; -} - -package_qt-private-headers(){ - pkgdesc="Qt private headers for development" - depends=("qt=${pkgver}") - - install -d "${pkgdir}"/usr/include/{QtCore,QtDeclarative,QtGui,QtScript} - install -d "${pkgdir}"/usr/src/{corelib,declarative,gui,script} - - for i in QtCore QtDeclarative QtGui QtScript; do - cp -r ${_pkgfqn}/include/${i}/private/ \ - "${pkgdir}"/usr/include/${i}/ - done - - for i in corelib declarative gui script; do - cp -r ${_pkgfqn}/src/${i} "${pkgdir}"/usr/src/ - done -} diff --git a/extra/qt/assistant.desktop b/extra/qt/assistant.desktop deleted file mode 100644 index a9e98c44b..000000000 --- a/extra/qt/assistant.desktop +++ /dev/null @@ -1,9 +0,0 @@ -[Desktop Entry] -Name=Qt Assistant -Comment=Shows Qt documentation and examples -Exec=/usr/bin/assistant -Icon=assistant -Terminal=false -Encoding=UTF-8 -Type=Application -Categories=Qt;Development;Documentation; diff --git a/extra/qt/designer.desktop b/extra/qt/designer.desktop deleted file mode 100644 index 9b7b6e9aa..000000000 --- a/extra/qt/designer.desktop +++ /dev/null @@ -1,11 +0,0 @@ -[Desktop Entry] -Name=Qt Designer -GenericName=Interface Designer -Comment=Design GUIs for Qt applications -Exec=/usr/bin/designer -Icon=designer -MimeType=application/x-designer; -Terminal=false -Encoding=UTF-8 -Type=Application -Categories=Qt;Development; diff --git a/extra/qt/fix-crash-in-assistant.patch b/extra/qt/fix-crash-in-assistant.patch deleted file mode 100644 index 4246e0532..000000000 --- a/extra/qt/fix-crash-in-assistant.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- qt-everywhere-opensource-src-4.8.2/tools/assistant/tools/assistant/mainwindow.cpp 2012-06-26 17:37:47.334536023 +0000 -+++ qt-everywhere-opensource-src-4.8.2/tools/assistant/tools/assistant/mainwindow.cpp~ 2012-06-26 17:37:08.531487286 +0000 -@@ -944,8 +944,7 @@ - if (helpEngine.usesAppFont()) - font = helpEngine.appFont(); - -- const QWidgetList &widgets = qApp->allWidgets(); -- foreach (QWidget* widget, widgets) -+ foreach (QWidget* widget, QApplication::allWidgets()) - widget->setFont(font); - } diff --git a/extra/qt/linguist.desktop b/extra/qt/linguist.desktop deleted file mode 100644 index 8cbe86599..000000000 --- a/extra/qt/linguist.desktop +++ /dev/null @@ -1,10 +0,0 @@ -[Desktop Entry] -Name=Qt Linguist -Comment=Add translations to Qt applications -Exec=/usr/bin/linguist -Icon=linguist -MimeType=text/vnd.trolltech.linguist;application/x-linguist; -Terminal=false -Encoding=UTF-8 -Type=Application -Categories=Qt;Development; diff --git a/extra/qt/qtconfig.desktop b/extra/qt/qtconfig.desktop deleted file mode 100644 index 46dcf9e3d..000000000 --- a/extra/qt/qtconfig.desktop +++ /dev/null @@ -1,10 +0,0 @@ -[Desktop Entry] -Name=Qt Config -Comment=Configure Qt behavior, styles, fonts -Exec=/usr/bin/qtconfig -Icon=qtlogo -Terminal=false -Encoding=UTF-8 -Type=Application -Categories=Qt;Settings; -NoDisplay=true diff --git a/extra/qt4/PKGBUILD b/extra/qt4/PKGBUILD new file mode 100644 index 000000000..19f173857 --- /dev/null +++ b/extra/qt4/PKGBUILD @@ -0,0 +1,138 @@ +# $Id: PKGBUILD 179026 2013-03-01 17:55:20Z andrea $ +# Maintainer: Andrea Scarpino +# Contributor: Pierre Schmitz + +# ALARM: Kevin Mihelich +# - Just say NO to x86 optimizations, and no neon +# - disabled distcc - bad things happen +# - added -fno-strict-volatile-bitfields to CXXFLAGS to fix ARM bug +# - no libfbclient/ibase, issues building on ARM + +pkgname=qt4 +pkgver=4.8.4 +pkgrel=12 +arch=('i686' 'x86_64') +url='http://qt-project.org/' +license=('GPL3' 'LGPL') +pkgdesc='A cross-platform application and UI framework' +depends=('libtiff' 'libpng' 'libmng' 'sqlite' 'ca-certificates' 'dbus' + 'fontconfig' 'libgl' 'libxrandr' 'libxv' 'libxi' 'alsa-lib' + 'xdg-utils' 'hicolor-icon-theme' 'desktop-file-utils') +makedepends=('postgresql-libs' 'mysql' 'unixodbc' 'cups' 'gtk2' + 'mesa-libgl') +optdepends=('postgresql-libs: PostgreSQL driver' + 'libmysqlclient: MySQL driver' + 'unixodbc: ODBC driver' + 'libxinerama: Xinerama support' + 'libxcursor: Xcursor support' + 'libxfixes: Xfixes support' + 'icu: Unicode support') +install="${pkgname}.install" +options=('!libtool' '!distcc') +replaces=('qt<=4.8.4') +conflicts=('qt') +_pkgfqn="qt-everywhere-opensource-src-${pkgver}" +source=("http://releases.qt-project.org/${pkgname}/source/${_pkgfqn}.tar.gz" + 'qtconfig.desktop' 'qt4.profile' + 'improve-cups-support.patch') +md5sums=('89c5ecba180cae74c66260ac732dc5cb' + '20ca06ef59775d749b9451ce7437fa9a' + '4ed0bd79a310e2b5d34fc71760b99139' + 'c439c7731c25387352d8453ca7574971') + +build() { + cd ${_pkgfqn} + + # (FS#28381) (KDEBUG#180051) + patch -p1 -i "${srcdir}"/improve-cups-support.patch + + export QT4DIR="${srcdir}"/${_pkgfqn} + export LD_LIBRARY_PATH=${QT4DIR}/lib:${LD_LIBRARY_PATH} + + export CXXFLAGS="$CXXFLAGS -fno-strict-volatile-bitfields" + + sed -i "s|-O2|${CXXFLAGS}|" mkspecs/common/{g++,gcc}-base.conf + sed -i "/^QMAKE_LFLAGS_RPATH/s| -Wl,-rpath,||g" mkspecs/common/gcc-base-unix.conf + sed -i "/^QMAKE_LFLAGS\s/s|+=|+= ${LDFLAGS}|g" mkspecs/common/gcc-base.conf + + ./configure -confirm-license -opensource \ + -prefix /usr \ + -bindir /usr/lib/qt4/bin \ + -headerdir /usr/include/qt4 \ + -docdir /usr/share/doc/qt4 \ + -plugindir /usr/lib/qt4/plugins \ + -importdir /usr/lib/qt4/imports \ + -datadir /usr/share/qt4 \ + -translationdir /usr/share/qt4/translations \ + -sysconfdir /etc/xdg \ + -examplesdir /usr/share/doc/qt4/examples \ + -demosdir /usr/share/doc/qt4/demos \ + -plugin-sql-{psql,mysql,sqlite,odbc} \ + -system-sqlite \ + -no-phonon \ + -no-phonon-backend \ + -no-webkit \ + -graphicssystem raster \ + -openssl-linked \ + -nomake demos \ + -nomake examples \ + -nomake docs \ + -silent \ + -no-rpath \ + -optimized-qmake \ + -reduce-relocations \ + -dbus-linked \ + -no-openvg \ + -no-mmx \ + -no-3dnow \ + -no-sse \ + -no-sse2 \ + -no-sse3 \ + -no-ssse3 \ + -no-sse4.1 \ + -no-sse4.2 \ + -no-avx \ + -no-neon + make +} + +package() { + cd ${_pkgfqn} + make INSTALL_ROOT="${pkgdir}" install + + # install missing icons and desktop files + install -D -m644 src/gui/dialogs/images/qtlogo-64.png \ + "${pkgdir}/usr/share/icons/hicolor/64x64/apps/qt4logo.png" + install -Dm644 "${srcdir}"/qtconfig.desktop \ + "${pkgdir}/usr/share/applications/qtconfig4.desktop" + + # install the profile + install -D -m755 "${srcdir}"/qt4.profile "${pkgdir}"/etc/profile.d/qt4.sh + + # Useful symlinks for cmake and configure scripts + install -d "${pkgdir}"/usr/bin + for b in "${pkgdir}"/usr/lib/qt4/bin/*; do + ln -s /usr/lib/qt4/bin/$(basename $b) "${pkgdir}"/usr/bin/$(basename $b)-qt4 + done + + # install license addition + install -D -m644 LGPL_EXCEPTION.txt \ + ${pkgdir}/usr/share/licenses/${pkgname}/LGPL_EXCEPTION.txt + + # Fix wrong libs path in pkgconfig files + find "${pkgdir}/usr/lib/pkgconfig" -type f -name '*.pc' \ + -exec perl -pi -e "s, -L${srcdir}/?\S+,,g" {} \; + + # Fix wrong bins path in pkgconfig files + find "${pkgdir}/usr/lib/pkgconfig" -type f -name '*.pc' \ + -exec sed -i 's|/usr/bin/|/usr/lib/qt4/bin/|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/' {} \; + + # Do not install the qttools + rm "${pkgdir}"/usr/lib/qt4/bin/{assistant,designer,linguist} + rm -r "${pkgdir}"/usr/lib/qt4/plugins/designer + rm "${pkgdir}"/usr/share/qt4/translations/{assistant,designer,linguist}_*.qm +} diff --git a/extra/qt/improve-cups-support.patch b/extra/qt4/improve-cups-support.patch similarity index 99% rename from extra/qt/improve-cups-support.patch rename to extra/qt4/improve-cups-support.patch index 3c211449e..e0305e11b 100644 --- a/extra/qt/improve-cups-support.patch +++ b/extra/qt4/improve-cups-support.patch @@ -33,7 +33,7 @@ diff -ur qt-everywhere-opensource-src-4.6.2/src/gui/dialogs/qprintdialog_unix.cp + } } #endif - + diff -ur qt-everywhere-opensource-src-4.6.2/src/gui/painting/qprinter.cpp qt-everywhere-opensource-src-4.6.2-cups/src/gui/painting/qprinter.cpp --- qt-everywhere-opensource-src-4.6.2/src/gui/painting/qprinter.cpp 2010-02-11 16:55:22.000000000 +0100 +++ qt-everywhere-opensource-src-4.6.2-cups/src/gui/painting/qprinter.cpp 2010-02-28 04:55:15.000000000 +0100 @@ -80,5 +80,5 @@ diff -ur qt-everywhere-opensource-src-4.6.2/src/gui/painting/qprinter.cpp qt-eve + } +#endif } - + /*! diff --git a/extra/qt/qt.install b/extra/qt4/qt4.install similarity index 100% rename from extra/qt/qt.install rename to extra/qt4/qt4.install diff --git a/extra/qt4/qt4.profile b/extra/qt4/qt4.profile new file mode 100644 index 000000000..3129ddce5 --- /dev/null +++ b/extra/qt4/qt4.profile @@ -0,0 +1 @@ +export PATH=$PATH:/usr/lib/qt4/bin diff --git a/extra/qt4/qtconfig.desktop b/extra/qt4/qtconfig.desktop new file mode 100644 index 000000000..1573ef461 --- /dev/null +++ b/extra/qt4/qtconfig.desktop @@ -0,0 +1,9 @@ +[Desktop Entry] +Name=Qt4 Config +Comment=Configure Qt4 behavior, styles, fonts +Exec=/usr/lib/qt4/bin/qtconfig +Icon=qt4logo +Terminal=false +Type=Application +Categories=Qt;Settings; +NoDisplay=true