[arch-commits] Commit in qt/repos/extra-i686 (17 files)
Andrea Scarpino
andrea at archlinux.org
Sun Sep 23 09:13:32 UTC 2012
Date: Sunday, September 23, 2012 @ 05:13:32
Author: andrea
Revision: 166952
archrelease: copy trunk to extra-i686
Added:
qt/repos/extra-i686/PKGBUILD
(from rev 166951, qt/trunk/PKGBUILD)
qt/repos/extra-i686/assistant.desktop
(from rev 166951, qt/trunk/assistant.desktop)
qt/repos/extra-i686/designer.desktop
(from rev 166951, qt/trunk/designer.desktop)
qt/repos/extra-i686/fix-crash-in-assistant.patch
(from rev 166951, qt/trunk/fix-crash-in-assistant.patch)
qt/repos/extra-i686/improve-cups-support.patch
(from rev 166951, qt/trunk/improve-cups-support.patch)
qt/repos/extra-i686/linguist.desktop
(from rev 166951, qt/trunk/linguist.desktop)
qt/repos/extra-i686/qt.install
(from rev 166951, qt/trunk/qt.install)
qt/repos/extra-i686/qtconfig.desktop
(from rev 166951, qt/trunk/qtconfig.desktop)
qt/repos/extra-i686/undo-fix-jit-crash-on-x86_64.patch
(from rev 166951, qt/trunk/undo-fix-jit-crash-on-x86_64.patch)
Deleted:
qt/repos/extra-i686/PKGBUILD
qt/repos/extra-i686/assistant.desktop
qt/repos/extra-i686/designer.desktop
qt/repos/extra-i686/fix-crash-in-assistant.patch
qt/repos/extra-i686/improve-cups-support.patch
qt/repos/extra-i686/linguist.desktop
qt/repos/extra-i686/qt.install
qt/repos/extra-i686/qtconfig.desktop
------------------------------------+
PKGBUILD | 279 +++++++++++++++++-----------------
assistant.desktop | 18 +-
designer.desktop | 22 +-
fix-crash-in-assistant.patch | 22 +-
improve-cups-support.patch | 168 ++++++++++-----------
linguist.desktop | 20 +-
qt.install | 24 +--
qtconfig.desktop | 20 +-
undo-fix-jit-crash-on-x86_64.patch | 280 +++++++++++++++++++++++++++++++++++
9 files changed, 569 insertions(+), 284 deletions(-)
Deleted: PKGBUILD
===================================================================
--- PKGBUILD 2012-09-23 09:07:35 UTC (rev 166951)
+++ PKGBUILD 2012-09-23 09:13:32 UTC (rev 166952)
@@ -1,137 +0,0 @@
-# $Id$
-# Maintainer: Andrea Scarpino <andrea at archlinux.org>
-# Contributor: Pierre Schmitz <pierre at archlinux.de>
-
-pkgbase=qt
-pkgname=('qt' 'qt-private-headers')
-pkgver=4.8.3
-pkgrel=2
-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' 'libfbclient')
-options=('!libtool')
-_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')
-md5sums=('a663b6c875f8d7caa8ac9c30e4a4ec3b'
- 'fc211414130ab2764132e7370f8e5caa'
- '85179f5e0437514f8639957e1d8baf62'
- 'f11852b97583610f3dbb669ebc3e21bc'
- '6b771c8a81dd90b45e8a79afa0e5bbfd'
- 'c439c7731c25387352d8453ca7574971'
- '57590084078b6379f0501f7728b02ae2')
-
-build() {
- cd "${srcdir}"/${_pkgfqn}
-
- # (FS#28381) (KDEBUG#180051)
- patch -p1 -i "${srcdir}"/improve-cups-support.patch
-
- # (FS#)
- patch -p1 -i "${srcdir}"/fix-crash-in-assistant.patch
-
- export QT4DIR="${srcdir}"/${_pkgfqn}
- export LD_LIBRARY_PATH=${QT4DIR}/lib:${LD_LIBRARY_PATH}
-
- 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,ibase} \
- -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' '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'
- '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/"
-
- # 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 "${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/
- done
-}
Copied: qt/repos/extra-i686/PKGBUILD (from rev 166951, qt/trunk/PKGBUILD)
===================================================================
--- PKGBUILD (rev 0)
+++ PKGBUILD 2012-09-23 09:13:32 UTC (rev 166952)
@@ -0,0 +1,142 @@
+# $Id$
+# Maintainer: Andrea Scarpino <andrea at archlinux.org>
+# Contributor: Pierre Schmitz <pierre at archlinux.de>
+
+pkgbase=qt
+pkgname=('qt' 'qt-private-headers')
+pkgver=4.8.3
+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' 'libfbclient')
+options=('!libtool')
+_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'
+ 'undo-fix-jit-crash-on-x86_64.patch')
+md5sums=('a663b6c875f8d7caa8ac9c30e4a4ec3b'
+ 'fc211414130ab2764132e7370f8e5caa'
+ '85179f5e0437514f8639957e1d8baf62'
+ 'f11852b97583610f3dbb669ebc3e21bc'
+ '6b771c8a81dd90b45e8a79afa0e5bbfd'
+ 'c439c7731c25387352d8453ca7574971'
+ '57590084078b6379f0501f7728b02ae2'
+ '094e5a4e30e52423c77daa4a9c782df5')
+
+build() {
+ cd "${srcdir}"/${_pkgfqn}
+
+ # (FS#28381) (KDEBUG#180051)
+ patch -p1 -i "${srcdir}"/improve-cups-support.patch
+
+ # (FS#29469)
+ patch -p1 -i "${srcdir}"/fix-crash-in-assistant.patch
+
+ # (FS#31654)
+ patch -Rp1 -i "${srcdir}"/undo-fix-jit-crash-on-x86_64.patch
+
+ export QT4DIR="${srcdir}"/${_pkgfqn}
+ export LD_LIBRARY_PATH=${QT4DIR}/lib:${LD_LIBRARY_PATH}
+
+ 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,ibase} \
+ -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' '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'
+ '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/"
+
+ # 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 "${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/
+ done
+}
Deleted: assistant.desktop
===================================================================
--- assistant.desktop 2012-09-23 09:07:35 UTC (rev 166951)
+++ assistant.desktop 2012-09-23 09:13:32 UTC (rev 166952)
@@ -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;
Copied: qt/repos/extra-i686/assistant.desktop (from rev 166951, qt/trunk/assistant.desktop)
===================================================================
--- assistant.desktop (rev 0)
+++ assistant.desktop 2012-09-23 09:13:32 UTC (rev 166952)
@@ -0,0 +1,9 @@
+[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;
Deleted: designer.desktop
===================================================================
--- designer.desktop 2012-09-23 09:07:35 UTC (rev 166951)
+++ designer.desktop 2012-09-23 09:13:32 UTC (rev 166952)
@@ -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;
Copied: qt/repos/extra-i686/designer.desktop (from rev 166951, qt/trunk/designer.desktop)
===================================================================
--- designer.desktop (rev 0)
+++ designer.desktop 2012-09-23 09:13:32 UTC (rev 166952)
@@ -0,0 +1,11 @@
+[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;
Deleted: fix-crash-in-assistant.patch
===================================================================
--- fix-crash-in-assistant.patch 2012-09-23 09:07:35 UTC (rev 166951)
+++ fix-crash-in-assistant.patch 2012-09-23 09:13:32 UTC (rev 166952)
@@ -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);
- }
Copied: qt/repos/extra-i686/fix-crash-in-assistant.patch (from rev 166951, qt/trunk/fix-crash-in-assistant.patch)
===================================================================
--- fix-crash-in-assistant.patch (rev 0)
+++ fix-crash-in-assistant.patch 2012-09-23 09:13:32 UTC (rev 166952)
@@ -0,0 +1,11 @@
+--- 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);
+ }
Deleted: improve-cups-support.patch
===================================================================
--- improve-cups-support.patch 2012-09-23 09:07:35 UTC (rev 166951)
+++ improve-cups-support.patch 2012-09-23 09:13:32 UTC (rev 166952)
@@ -1,84 +0,0 @@
-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
- }
-
- /*!
Copied: qt/repos/extra-i686/improve-cups-support.patch (from rev 166951, qt/trunk/improve-cups-support.patch)
===================================================================
--- improve-cups-support.patch (rev 0)
+++ improve-cups-support.patch 2012-09-23 09:13:32 UTC (rev 166952)
@@ -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
+ }
+
+ /*!
Deleted: linguist.desktop
===================================================================
--- linguist.desktop 2012-09-23 09:07:35 UTC (rev 166951)
+++ linguist.desktop 2012-09-23 09:13:32 UTC (rev 166952)
@@ -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;
Copied: qt/repos/extra-i686/linguist.desktop (from rev 166951, qt/trunk/linguist.desktop)
===================================================================
--- linguist.desktop (rev 0)
+++ linguist.desktop 2012-09-23 09:13:32 UTC (rev 166952)
@@ -0,0 +1,10 @@
+[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;
Deleted: qt.install
===================================================================
--- qt.install 2012-09-23 09:07:35 UTC (rev 166951)
+++ qt.install 2012-09-23 09:13:32 UTC (rev 166952)
@@ -1,12 +0,0 @@
-post_install() {
- xdg-icon-resource forceupdate --theme hicolor &> /dev/null
- update-desktop-database -q
-}
-
-post_upgrade() {
- post_install
-}
-
-post_remove() {
- post_install
-}
Copied: qt/repos/extra-i686/qt.install (from rev 166951, qt/trunk/qt.install)
===================================================================
--- qt.install (rev 0)
+++ qt.install 2012-09-23 09:13:32 UTC (rev 166952)
@@ -0,0 +1,12 @@
+post_install() {
+ xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
Deleted: qtconfig.desktop
===================================================================
--- qtconfig.desktop 2012-09-23 09:07:35 UTC (rev 166951)
+++ qtconfig.desktop 2012-09-23 09:13:32 UTC (rev 166952)
@@ -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
Copied: qt/repos/extra-i686/qtconfig.desktop (from rev 166951, qt/trunk/qtconfig.desktop)
===================================================================
--- qtconfig.desktop (rev 0)
+++ qtconfig.desktop 2012-09-23 09:13:32 UTC (rev 166952)
@@ -0,0 +1,10 @@
+[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
Copied: qt/repos/extra-i686/undo-fix-jit-crash-on-x86_64.patch (from rev 166951, qt/trunk/undo-fix-jit-crash-on-x86_64.patch)
===================================================================
--- undo-fix-jit-crash-on-x86_64.patch (rev 0)
+++ undo-fix-jit-crash-on-x86_64.patch 2012-09-23 09:13:32 UTC (rev 166952)
@@ -0,0 +1,280 @@
+Description: Fix JIT crash on x86-64 (avoid 32-bit branch offset overflow)
+ .
+ Cherry-picked from webkit commit
+ a5b3261a8c4386b4e14ce40a34c7fc933a5f7001
+Origin: commit ada98493bbfbd9af0d0b593017e29d39bcd3495e
+Author: Kent Hansen <kent.hansen at nokia.com>
+Forwarded: not-needed
+Applied-Upstream: yes
+Reviewed-by: Simon Hausmann <simon.hausmann at nokia.com>
+Reviewed-by: Kent Hansen <kent.hansen at nokia.com>
+---
+ .../javascriptcore/JavaScriptCore/ChangeLog | 27 +++++++++++++++++
+ .../JavaScriptCore/JavaScriptCore.pri | 1 +
+ .../JavaScriptCore/jit/ExecutableAllocator.cpp | 21 +++++++++++++
+ .../jit/ExecutableAllocatorFixedVMPool.cpp | 31 +++++++++++++-------
+ .../jit/ExecutableAllocatorPosix.cpp | 29 ++----------------
+ .../jit/ExecutableAllocatorSymbian.cpp | 2 +-
+ .../JavaScriptCore/jit/ExecutableAllocatorWin.cpp | 2 +-
+ .../javascriptcore/JavaScriptCore/wtf/Platform.h | 10 +++++++
+ 8 files changed, 84 insertions(+), 39 deletions(-)
+
+diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/ChangeLog b/src/3rdparty/javascriptcore/JavaScriptCore/ChangeLog
+index 9cbf0c1..5ab23e6 100644
+--- a/src/3rdparty/javascriptcore/JavaScriptCore/ChangeLog
++++ b/src/3rdparty/javascriptcore/JavaScriptCore/ChangeLog
+@@ -1,3 +1,30 @@
++2010-07-08 Gavin Barraclough <barraclough at apple.com>
++
++ Reviewed by Sam Weinig.
++
++ https://bugs.webkit.org/show_bug.cgi?id=41641
++
++ Update compile flags to allow use of ExecutableAllocatorFixedVMPool on platforms
++ other than x86-64 (this may be useful on 32-bit platforms, too).
++
++ Simplify ifdefs by dividing into thwo broad allocation strategies
++ (ENABLE_EXECUTABLE_ALLOCATOR_FIXED & ENABLE_EXECUTABLE_ALLOCATOR_DEMAND).
++
++ Rename constant used in the code to have names descriptive of their purpose,
++ rather than their specific value on a given platform.
++
++ * jit/ExecutableAllocator.cpp:
++ (JSC::ExecutableAllocator::reprotectRegion):
++ (JSC::ExecutableAllocator::cacheFlush):
++ * jit/ExecutableAllocatorFixedVMPool.cpp:
++ (JSC::FixedVMPoolAllocator::FixedVMPoolAllocator):
++ (JSC::FixedVMPoolAllocator::free):
++ (JSC::ExecutablePool::systemAlloc):
++ * jit/ExecutableAllocatorPosix.cpp:
++ * jit/ExecutableAllocatorSymbian.cpp:
++ * jit/ExecutableAllocatorWin.cpp:
++ * wtf/Platform.h:
++
+ 2010-08-24 Oliver Hunt <oliver at apple.com>
+
+ Reviewed by Geoff Garen.
+diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/JavaScriptCore.pri b/src/3rdparty/javascriptcore/JavaScriptCore/JavaScriptCore.pri
+index b061321..847f69c 100644
+--- a/src/3rdparty/javascriptcore/JavaScriptCore/JavaScriptCore.pri
++++ b/src/3rdparty/javascriptcore/JavaScriptCore/JavaScriptCore.pri
+@@ -100,6 +100,7 @@ SOURCES += \
+ interpreter/CallFrame.cpp \
+ interpreter/Interpreter.cpp \
+ interpreter/RegisterFile.cpp \
++ jit/ExecutableAllocatorFixedVMPool.cpp \
+ jit/ExecutableAllocatorPosix.cpp \
+ jit/ExecutableAllocatorSymbian.cpp \
+ jit/ExecutableAllocatorWin.cpp \
+diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/jit/ExecutableAllocator.cpp b/src/3rdparty/javascriptcore/JavaScriptCore/jit/ExecutableAllocator.cpp
+index f6b27ec..f0ebbab 100644
+--- a/src/3rdparty/javascriptcore/JavaScriptCore/jit/ExecutableAllocator.cpp
++++ b/src/3rdparty/javascriptcore/JavaScriptCore/jit/ExecutableAllocator.cpp
+@@ -33,6 +33,27 @@ namespace JSC {
+
+ size_t ExecutableAllocator::pageSize = 0;
+
++#if ENABLE(ASSEMBLER_WX_EXCLUSIVE)
++void ExecutableAllocator::reprotectRegion(void* start, size_t size, ProtectionSeting setting)
++{
++ if (!pageSize)
++ intializePageSize();
++
++ // Calculate the start of the page containing this region,
++ // and account for this extra memory within size.
++ intptr_t startPtr = reinterpret_cast<intptr_t>(start);
++ intptr_t pageStartPtr = startPtr & ~(pageSize - 1);
++ void* pageStart = reinterpret_cast<void*>(pageStartPtr);
++ size += (startPtr - pageStartPtr);
++
++ // Round size up
++ size += (pageSize - 1);
++ size &= ~(pageSize - 1);
++
++ mprotect(pageStart, size, (setting == Writable) ? PROTECTION_FLAGS_RW : PROTECTION_FLAGS_RX);
++}
++#endif
++
+ }
+
+ #endif // HAVE(ASSEMBLER)
+diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/jit/ExecutableAllocatorFixedVMPool.cpp b/src/3rdparty/javascriptcore/JavaScriptCore/jit/ExecutableAllocatorFixedVMPool.cpp
+index dd1db4e..16d0fb1 100644
+--- a/src/3rdparty/javascriptcore/JavaScriptCore/jit/ExecutableAllocatorFixedVMPool.cpp
++++ b/src/3rdparty/javascriptcore/JavaScriptCore/jit/ExecutableAllocatorFixedVMPool.cpp
+@@ -27,25 +27,33 @@
+
+ #include "ExecutableAllocator.h"
+
+-#include <errno.h>
++#if ENABLE(EXECUTABLE_ALLOCATOR_FIXED)
+
+-#if ENABLE(ASSEMBLER) && OS(DARWIN) && CPU(X86_64)
++#include <errno.h>
+
+ #include "TCSpinLock.h"
+-#include <mach/mach_init.h>
+-#include <mach/vm_map.h>
+ #include <sys/mman.h>
+ #include <unistd.h>
+ #include <wtf/AVLTree.h>
+ #include <wtf/VMTags.h>
+
++#if CPU(X86_64)
++ // These limits suitable on 64-bit platforms (particularly x86-64, where we require all jumps to have a 2Gb max range).
++ #define VM_POOL_SIZE (2u * 1024u * 1024u * 1024u) // 2Gb
++ #define COALESCE_LIMIT (16u * 1024u * 1024u) // 16Mb
++#else
++ // These limits are hopefully sensible on embedded platforms.
++ #define VM_POOL_SIZE (32u * 1024u * 1024u) // 32Mb
++ #define COALESCE_LIMIT (4u * 1024u * 1024u) // 4Mb
++#endif
++
++// ASLR currently only works on darwin (due to arc4random) & 64-bit (due to address space size).
++#define VM_POOL_ASLR (OS(DARWIN) && CPU(X86_64))
++
+ using namespace WTF;
+
+ namespace JSC {
+
+-#define TWO_GB (2u * 1024u * 1024u * 1024u)
+-#define SIXTEEN_MB (16u * 1024u * 1024u)
+-
+ // FreeListEntry describes a free chunk of memory, stored in the freeList.
+ struct FreeListEntry {
+ FreeListEntry(void* pointer, size_t size)
+@@ -291,9 +299,12 @@ public:
+ // for now instead of 2^26 bits of ASLR lets stick with 25 bits of randomization plus
+ // 2^24, which should put up somewhere in the middle of usespace (in the address range
+ // 0x200000000000 .. 0x5fffffffffff).
+- intptr_t randomLocation = arc4random() & ((1 << 25) - 1);
++ intptr_t randomLocation = 0;
++#if VM_POOL_ASLR
++ randomLocation = arc4random() & ((1 << 25) - 1);
+ randomLocation += (1 << 24);
+ randomLocation <<= 21;
++#endif
+ m_base = mmap(reinterpret_cast<void*>(randomLocation), m_totalHeapSize, INITIAL_PROTECTION_FLAGS, MAP_PRIVATE | MAP_ANON, VM_TAG_FOR_EXECUTABLEALLOCATOR_MEMORY, 0);
+ if (!m_base)
+ CRASH();
+@@ -387,7 +398,7 @@ public:
+ // 16MB of allocations have been freed, sweep m_freeList
+ // coalescing any neighboring fragments.
+ m_countFreedSinceLastCoalesce += size;
+- if (m_countFreedSinceLastCoalesce >= SIXTEEN_MB) {
++ if (m_countFreedSinceLastCoalesce >= COALESCE_LIMIT) {
+ m_countFreedSinceLastCoalesce = 0;
+ coalesceFreeSpace();
+ }
+@@ -429,7 +440,7 @@ ExecutablePool::Allocation ExecutablePool::systemAlloc(size_t size)
+ SpinLockHolder lock_holder(&spinlock);
+
+ if (!allocator)
+- allocator = new FixedVMPoolAllocator(JIT_ALLOCATOR_LARGE_ALLOC_SIZE, TWO_GB);
++ allocator = new FixedVMPoolAllocator(JIT_ALLOCATOR_LARGE_ALLOC_SIZE, VM_POOL_SIZE);
+ ExecutablePool::Allocation alloc = {reinterpret_cast<char*>(allocator->alloc(size)), size};
+ return alloc;
+ }
+diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/jit/ExecutableAllocatorPosix.cpp b/src/3rdparty/javascriptcore/JavaScriptCore/jit/ExecutableAllocatorPosix.cpp
+index 2eb0c87..b04049c 100644
+--- a/src/3rdparty/javascriptcore/JavaScriptCore/jit/ExecutableAllocatorPosix.cpp
++++ b/src/3rdparty/javascriptcore/JavaScriptCore/jit/ExecutableAllocatorPosix.cpp
+@@ -27,7 +27,7 @@
+
+ #include "ExecutableAllocator.h"
+
+-#if ENABLE(ASSEMBLER) && OS(UNIX) && !OS(SYMBIAN)
++#if ENABLE(EXECUTABLE_ALLOCATOR_DEMAND) && !OS(WINDOWS) && !OS(SYMBIAN)
+
+ #include <sys/mman.h>
+ #include <unistd.h>
+@@ -35,8 +35,6 @@
+
+ namespace JSC {
+
+-#if !(OS(DARWIN) && !PLATFORM(QT) && CPU(X86_64))
+-
+ void ExecutableAllocator::intializePageSize()
+ {
+ ExecutableAllocator::pageSize = getpagesize();
+@@ -57,29 +55,6 @@ void ExecutablePool::systemRelease(const ExecutablePool::Allocation& alloc)
+ ASSERT_UNUSED(result, !result);
+ }
+
+-#endif // !(OS(DARWIN) && !PLATFORM(QT) && CPU(X86_64))
+-
+-#if ENABLE(ASSEMBLER_WX_EXCLUSIVE)
+-void ExecutableAllocator::reprotectRegion(void* start, size_t size, ProtectionSeting setting)
+-{
+- if (!pageSize)
+- intializePageSize();
+-
+- // Calculate the start of the page containing this region,
+- // and account for this extra memory within size.
+- intptr_t startPtr = reinterpret_cast<intptr_t>(start);
+- intptr_t pageStartPtr = startPtr & ~(pageSize - 1);
+- void* pageStart = reinterpret_cast<void*>(pageStartPtr);
+- size += (startPtr - pageStartPtr);
+-
+- // Round size up
+- size += (pageSize - 1);
+- size &= ~(pageSize - 1);
+-
+- mprotect(pageStart, size, (setting == Writable) ? PROTECTION_FLAGS_RW : PROTECTION_FLAGS_RX);
+-}
+-#endif
+-
+ }
+
+-#endif // HAVE(ASSEMBLER)
++#endif
+diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/jit/ExecutableAllocatorSymbian.cpp b/src/3rdparty/javascriptcore/JavaScriptCore/jit/ExecutableAllocatorSymbian.cpp
+index e82975c..9028f50 100644
+--- a/src/3rdparty/javascriptcore/JavaScriptCore/jit/ExecutableAllocatorSymbian.cpp
++++ b/src/3rdparty/javascriptcore/JavaScriptCore/jit/ExecutableAllocatorSymbian.cpp
+@@ -22,7 +22,7 @@
+
+ #include "ExecutableAllocator.h"
+
+-#if ENABLE(ASSEMBLER) && OS(SYMBIAN)
++#if ENABLE(EXECUTABLE_ALLOCATOR_DEMAND) && OS(SYMBIAN)
+
+ #include <e32hal.h>
+ #include <e32std.h>
+diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/jit/ExecutableAllocatorWin.cpp b/src/3rdparty/javascriptcore/JavaScriptCore/jit/ExecutableAllocatorWin.cpp
+index e38323c..72a1d5f 100644
+--- a/src/3rdparty/javascriptcore/JavaScriptCore/jit/ExecutableAllocatorWin.cpp
++++ b/src/3rdparty/javascriptcore/JavaScriptCore/jit/ExecutableAllocatorWin.cpp
+@@ -27,7 +27,7 @@
+
+ #include "ExecutableAllocator.h"
+
+-#if ENABLE(ASSEMBLER) && OS(WINDOWS)
++#if ENABLE(EXECUTABLE_ALLOCATOR_DEMAND) && OS(WINDOWS)
+
+ #include "windows.h"
+
+diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Platform.h b/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Platform.h
+index 700977e..d930ed7 100644
+--- a/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Platform.h
++++ b/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Platform.h
+@@ -1016,6 +1016,16 @@ on MinGW. See https://bugs.webkit.org/show_bug.cgi?id=29268 */
+ #define ENABLE_ASSEMBLER_WX_EXCLUSIVE 0
+ #endif
+
++/* Pick which allocator to use; we only need an executable allocator if the assembler is compiled in.
++ On x86-64 we use a single fixed mmap, on other platforms we mmap on demand. */
++#if ENABLE(ASSEMBLER)
++#if CPU(X86_64)
++#define ENABLE_EXECUTABLE_ALLOCATOR_FIXED 1
++#else
++#define ENABLE_EXECUTABLE_ALLOCATOR_DEMAND 1
++#endif
++#endif
++
+ #if !defined(ENABLE_PAN_SCROLLING) && OS(WINDOWS)
+ #define ENABLE_PAN_SCROLLING 1
+ #endif
+--
+1.7.10.4
+
More information about the arch-commits
mailing list