diff options
| -rw-r--r-- | abs/core/qt/.qmake.vars | 6 | ||||
| -rw-r--r-- | abs/core/qt/PKGBUILD | 189 | ||||
| -rw-r--r-- | abs/core/qt/__changelog | 3 | ||||
| -rw-r--r-- | abs/core/qt/fix-assistant-crash.patch | 12 | ||||
| -rw-r--r-- | abs/core/qt/improve-cups-support.patch | 84 | ||||
| -rw-r--r-- | abs/core/qt/qt.install | 6 | ||||
| -rw-r--r-- | abs/core/qt/qtbug-16292.patch | 62 | 
7 files changed, 192 insertions, 170 deletions
diff --git a/abs/core/qt/.qmake.vars b/abs/core/qt/.qmake.vars deleted file mode 100644 index 74936a5..0000000 --- a/abs/core/qt/.qmake.vars +++ /dev/null @@ -1,6 +0,0 @@ -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 9c2d93f..2508aa0 100644 --- a/abs/core/qt/PKGBUILD +++ b/abs/core/qt/PKGBUILD @@ -1,143 +1,136 @@ -# $Id$ +# $Id: PKGBUILD 162529 2012-06-27 06:33:44Z andrea $  # Maintainer: Andrea Scarpino <andrea@archlinux.org>  # Contributor: Pierre Schmitz <pierre@archlinux.de>  pkgbase=qt  pkgname=('qt' 'qt-private-headers') -pkgver=4.7.3 -pkgrel=3 +pkgver=4.8.2 +pkgrel=2  arch=('i686' 'x86_64') -url='http://qt.nokia.com/' +url='http://qt-project.org/'  license=('GPL3' 'LGPL') -makedepends=('libtiff' 'libpng' 'libmng' 'sqlite3' 'ca-certificates' 'glib2' 'dbus' +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' 'gtk2') +    'xdg-utils' 'hicolor-icon-theme' 'desktop-file-utils' 'mesa'  +    'mysql' 'unixodbc' 'gtk2' )  options=('!libtool') -_pkgfqn="qt-everywhere-opensource-src-${pkgver}" -source=("ftp://ftp.qt.nokia.com/qt/source/${_pkgfqn}.tar.gz" +_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' -        'qtbug-16292.patch') -md5sums=('49b96eefb1224cc529af6fe5608654fe' +        'improve-cups-support.patch' +        'fix-assistant-crash.patch') +md5sums=('3c1146ddf56247e16782f96910a8423b'           'fc211414130ab2764132e7370f8e5caa'           '85179f5e0437514f8639957e1d8baf62'           'f11852b97583610f3dbb669ebc3e21bc'           '6b771c8a81dd90b45e8a79afa0e5bbfd' -         'dc7ed8c2e8c68a175f7f05a34dccc937') +         'c439c7731c25387352d8453ca7574971' +         'e9c11e4606b7f55ae405e3e76f863dc1')  build() { -	unset QMAKESPEC -	export QT4DIR=$srcdir/$_pkgfqn -	export PATH=${QT4DIR}/bin:${PATH} -	export LD_LIBRARY_PATH=${QT4DIR}/lib:${LD_LIBRARY_PATH} +  cd "${srcdir}"/${_pkgfqn} -    # FS#24601 -    export CXXFLAGS="$CXXFLAGS -fno-strict-aliasing" +  # (FS#28381) (KDEBUG#180051) +  patch -p1 -i "${srcdir}"/improve-cups-support.patch +   +  patch -p1 -i "${srcdir}"/fix-assistant-crash.patch -	cd $srcdir/$_pkgfqn +  export QT4DIR="${srcdir}"/${_pkgfqn} +  export LD_LIBRARY_PATH=${QT4DIR}/lib:${LD_LIBRARY_PATH} -    # Already fixed upstream -    patch -p1 -i "${srcdir}"/qtbug-16292.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 +  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 \ -		-examplesdir /usr/share/doc/qt/examples \ -		-demosdir /usr/share/doc/qt/demos \ -		-largefile \ -		-plugin-sql-{psql,mysql,sqlite,odbc} \ -		-system-sqlite \ -		-xmlpatterns \ -		-no-phonon \ -		-no-phonon-backend \ -		-svg \ -		-webkit \ -		-script \ -		-scripttools \ -		-system-zlib \ -		-system-libtiff \ -		-system-libpng \ -		-system-libmng \ -		-system-libjpeg \ -		-nomake demos \ -		-nomake examples \ -		-nomake docs \ -		-no-rpath \ -                -no-cups \ -		-openssl-linked \ -		-silent \ -		-optimized-qmake \ -		-dbus \ -		-reduce-relocations \ -		-no-separate-debug-info \ -		-gtkstyle \ -		-opengl \ -		-no-openvg \ -		-glib -	make +  ./configure  -v -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-{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 +  make  }  package_qt() {      pkgdesc='A cross-platform application and UI framework' -    depends=('libtiff' 'libpng' 'libmng' 'sqlite3' 'ca-certificates' 'glib2' 'dbus' +    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') +                'libmysqlclient: MySQL driver' +                'unixodbc: ODBC driver' +                'libfbclient: Firebird/iBase driver' +                'libxinerama: Xinerama support' +                'libxcursor: Xcursor support' +                'libxfixes: Xfixes support')      install='qt.install' -	 -    cd $srcdir/$_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/ +    cd "${srcdir}"/${_pkgfqn} +    make INSTALL_ROOT="${pkgdir}" install -	# install license addition -	install -D -m644 LGPL_EXCEPTION.txt ${pkgdir}/usr/share/licenses/qt/LGPL_EXCEPTION.txt +    # 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 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/' {} \; +    # 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} +    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 ${srcdir}/$_pkgfqn/include/${i}/private/ \ -        ${pkgdir}/usr/include/${i}/ +      cp -r "${srcdir}"/${_pkgfqn}/include/${i}/private/ \ +        "${pkgdir}"/usr/include/${i}/      done      for i in corelib declarative gui script; do -      cp -r ${srcdir}/$_pkgfqn/src/${i} ${pkgdir}/usr/src/ +      cp -r "${srcdir}"/${_pkgfqn}/src/${i} "${pkgdir}"/usr/src/      done  } diff --git a/abs/core/qt/__changelog b/abs/core/qt/__changelog index 2abf977..5e878fe 100644 --- a/abs/core/qt/__changelog +++ b/abs/core/qt/__changelog @@ -1 +1,2 @@ -remove cups support +remove cups support, postgresql libs +libfbclient diff --git a/abs/core/qt/fix-assistant-crash.patch b/abs/core/qt/fix-assistant-crash.patch new file mode 100644 index 0000000..67bbbc4 --- /dev/null +++ b/abs/core/qt/fix-assistant-crash.patch @@ -0,0 +1,12 @@ +--- 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/abs/core/qt/improve-cups-support.patch b/abs/core/qt/improve-cups-support.patch new file mode 100644 index 0000000..e0305e1 --- /dev/null +++ b/abs/core/qt/improve-cups-support.patch @@ -0,0 +1,84 @@ +diff -ur qt-everywhere-opensource-src-4.6.2/src/gui/dialogs/qprintdialog_unix.cpp qt-everywhere-opensource-src-4.6.2-cups/src/gui/dialogs/qprintdialog_unix.cpp +--- qt-everywhere-opensource-src-4.6.2/src/gui/dialogs/qprintdialog_unix.cpp	2010-02-11 16:55:22.000000000 +0100 ++++ qt-everywhere-opensource-src-4.6.2-cups/src/gui/dialogs/qprintdialog_unix.cpp	2010-02-28 04:34:16.000000000 +0100 +@@ -569,6 +569,32 @@ + void QPrintDialogPrivate::selectPrinter(QCUPSSupport *cups) + { +     options.duplex->setEnabled(cups && cups->ppdOption("Duplex")); ++ ++    if (cups) { ++        const ppd_option_t* duplex = cups->ppdOption("Duplex"); ++        if (duplex) { ++            // copy default ppd duplex to qt dialog ++            if (qstrcmp(duplex->defchoice, "DuplexTumble") == 0) ++                options.duplexShort->setChecked(true); ++            else if (qstrcmp(duplex->defchoice, "DuplexNoTumble") == 0) ++                options.duplexLong->setChecked(true); ++            else ++                options.noDuplex->setChecked(true); ++        } ++ ++        if (cups->currentPPD()) { ++            // set default color ++            if (cups->currentPPD()->color_device) ++                options.color->setChecked(true); ++            else ++                options.grayscale->setChecked(true); ++        } ++ ++        // set collation ++        const ppd_option_t *collate = cups->ppdOption("Collate"); ++        if (collate) ++            options.collate->setChecked(qstrcmp(collate->defchoice, "True")==0); ++    } + } + #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 +@@ -627,6 +627,44 @@ +                && d_ptr->paintEngine->type() != QPaintEngine::MacPrinter) { +         setOutputFormat(QPrinter::PdfFormat); +     } ++ ++#if !defined(QT_NO_CUPS) && !defined(QT_NO_LIBRARY) ++    // fill in defaults from ppd file ++    QCUPSSupport cups; ++ ++    int printernum = -1; ++    for (int i = 0; i < cups.availablePrintersCount(); i++) { ++        if (printerName().toLocal8Bit() == cups.availablePrinters()[i].name) ++            printernum = i; ++    } ++    if (printernum >= 0) { ++        cups.setCurrentPrinter(printernum); ++ ++        const ppd_option_t* duplex = cups.ppdOption("Duplex"); ++        if (duplex) { ++            // copy default ppd duplex to qt dialog ++            if (qstrcmp(duplex->defchoice, "DuplexTumble") == 0) ++                setDuplex(DuplexShortSide); ++            else if (qstrcmp(duplex->defchoice, "DuplexNoTumble") == 0) ++                setDuplex(DuplexLongSide); ++            else ++                setDuplex(DuplexNone); ++        } ++ ++        if (cups.currentPPD()) { ++            // set default color ++            if (cups.currentPPD()->color_device) ++                setColorMode(Color); ++            else ++                setColorMode(GrayScale); ++        } ++ ++        // set collation ++        const ppd_option_t *collate = cups.ppdOption("Collate"); ++        if (collate) ++            setCollateCopies(qstrcmp(collate->defchoice, "True")==0); ++    } ++#endif + } +  + /*! diff --git a/abs/core/qt/qt.install b/abs/core/qt/qt.install index 81ce5c4..5495fb1 100644 --- a/abs/core/qt/qt.install +++ b/abs/core/qt/qt.install @@ -1,12 +1,12 @@  post_install() { -	xdg-icon-resource forceupdate --theme hicolor &> /dev/null +    xdg-icon-resource forceupdate --theme hicolor &> /dev/null      update-desktop-database -q  }  post_upgrade() { -	post_install +    post_install  }  post_remove() { -	post_install +    post_install  } diff --git a/abs/core/qt/qtbug-16292.patch b/abs/core/qt/qtbug-16292.patch deleted file mode 100644 index 9728e28..0000000 --- a/abs/core/qt/qtbug-16292.patch +++ /dev/null @@ -1,62 +0,0 @@ -From e340844bd614add505a39a3a6b915632476f6305 Mon Sep 17 00:00:00 2001 -From: Gabriel de Dietrich <gabriel.dietrich-de@nokia.com> -Date: Tue, 15 Feb 2011 11:19:26 +0100 -Subject: [PATCH] Fix crash in KPackageKit - -QTreeViewPrivate::itemHeight() may refer to an invalid QModelIndex -after calling QTreeView::indexRowSizeHint(). - -Same thing inside QTreeView::indexRowSizeHint(), since -QHeaderView::count() will call -QAbstractItemViewPrivate::executePostedLayout() which may invalidate -all the QModelIndex. - -Reviewed-by: Olivier -Task-number: QTBUG-16292 ---- - src/gui/itemviews/qtreeview.cpp |   11 ++++++----- - 1 files changed, 6 insertions(+), 5 deletions(-) - -diff --git a/src/gui/itemviews/qtreeview.cpp b/src/gui/itemviews/qtreeview.cpp -index f1f3236..c0573bb 100644 ---- a/src/gui/itemviews/qtreeview.cpp -+++ b/src/gui/itemviews/qtreeview.cpp -@@ -2753,6 +2753,7 @@ int QTreeView::indexRowSizeHint(const QModelIndex &index) const -  -     int start = -1; -     int end = -1; -+    int indexRow = index.row(); -     int count = d->header->count(); -     bool emptyHeader = (count == 0); -     QModelIndex parent = index.parent(); -@@ -2789,7 +2790,7 @@ int QTreeView::indexRowSizeHint(const QModelIndex &index) const -         int logicalColumn = emptyHeader ? column : d->header->logicalIndex(column); -         if (d->header->isSectionHidden(logicalColumn)) -             continue; --        QModelIndex idx = d->model->index(index.row(), logicalColumn, parent); -+        QModelIndex idx = d->model->index(indexRow, logicalColumn, parent); -         if (idx.isValid()) { -             QWidget *editor = d->editorForIndex(idx).editor; -             if (editor && d->persistent.contains(editor)) { -@@ -3224,14 +3225,14 @@ int QTreeViewPrivate::itemHeight(int item) const -     if (viewItems.isEmpty()) -         return 0; -     const QModelIndex &index = viewItems.at(item).index; -+    if (!index.isValid()) -+        return 0; -     int height = viewItems.at(item).height; --    if (height <= 0 && index.isValid()) { -+    if (height <= 0) { -         height = q_func()->indexRowSizeHint(index); -         viewItems[item].height = height; -     } --    if (!index.isValid() || height < 0) --        return 0; --    return height; -+    return qMax(height, 0); - } -  -  ---  -1.6.1 -  | 
