summaryrefslogtreecommitdiff
path: root/source/l/qt
diff options
context:
space:
mode:
Diffstat (limited to 'source/l/qt')
-rw-r--r--source/l/qt/QElfParser-fix-type-of-sh_size.patch41
-rw-r--r--source/l/qt/QTBUG-14724_close_orphaned_file_descriptors_after_printing.patch37
-rw-r--r--source/l/qt/QTBUG-21900_Buttons_in_Qt_applications_not_clickable_when_run_under_gnome-shell.patch97
-rwxr-xr-xsource/l/qt/qt.SlackBuild43
-rw-r--r--source/l/qt/qt.assistant.memcpy-crash.diff11
-rw-r--r--source/l/qt/qt.ca89c49.cursor.position.diff31
-rw-r--r--source/l/qt/qt.webkit-no_Werror.patch10
-rw-r--r--source/l/qt/qt.webkit.glib.diff11
-rw-r--r--source/l/qt/slack-desc2
9 files changed, 27 insertions, 256 deletions
diff --git a/source/l/qt/QElfParser-fix-type-of-sh_size.patch b/source/l/qt/QElfParser-fix-type-of-sh_size.patch
deleted file mode 100644
index 1c30f9a4..00000000
--- a/source/l/qt/QElfParser-fix-type-of-sh_size.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From 9e981c4dd03effc2c52b52f529edfa8955e534ce Mon Sep 17 00:00:00 2001
-From: Pino Toscano <toscano.pino@tiscali.it>
-Date: Tue, 15 May 2012 14:40:15 +0200
-Subject: [PATCH] QElfParser: fix type of sh_size
-
-The type of the sh_size field of a section header is either Elf32_Word or Elf64_Xword,
-so the type used cannot be qelfword_t (always 32 bits) but qelfoff_t.
-
-Change-Id: Ia380b6823913fee7a96b39f742630ae3a9ca0cb8
-Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
-Reviewed-by: Arvid Picciani <arvid.picciani@nokia.com>
-(backport of 77b179689ba37dc909778fdd00df2701f83a2868 from qtbase)
----
- src/corelib/plugin/qelfparser_p.cpp | 4 ++--
- src/corelib/plugin/qelfparser_p.h | 2 +-
- 2 files changed, 3 insertions(+), 3 deletions(-)
-
---- a/src/corelib/plugin/qelfparser_p.cpp
-+++ b/src/corelib/plugin/qelfparser_p.cpp
-@@ -61,8 +61,8 @@ const char *QElfParser::parseSectionHead
- + sizeof(qelfaddr_t); // sh_addr
- sh->offset = read<qelfoff_t>(data);
- data += sizeof(qelfoff_t); // sh_offset
-- sh->size = read<qelfword_t>(data);
-- data += sizeof(qelfword_t); // sh_size
-+ sh->size = read<qelfoff_t>(data);
-+ data += sizeof(qelfoff_t); // sh_size
- return data;
- }
-
---- a/src/corelib/plugin/qelfparser_p.h
-+++ b/src/corelib/plugin/qelfparser_p.h
-@@ -80,7 +80,7 @@ public:
- qelfword_t name;
- qelfword_t type;
- qelfoff_t offset;
-- qelfword_t size;
-+ qelfoff_t size;
- };
-
- int m_endian;
diff --git a/source/l/qt/QTBUG-14724_close_orphaned_file_descriptors_after_printing.patch b/source/l/qt/QTBUG-14724_close_orphaned_file_descriptors_after_printing.patch
deleted file mode 100644
index 9acae10c..00000000
--- a/source/l/qt/QTBUG-14724_close_orphaned_file_descriptors_after_printing.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-Description:
- QPainter together with QPrinter leaves a lot of temporary files in
- /tmp with every printout. That is a problem for embedded devices,
- which have not such a large /tmp-partition. We are using 80 MByte as
- tmpfs, i.e. in RAM. After some printounts cups deactivates the printer
- because there is no space to copy the temporary files to /tmp.
-
- What happened: In QPdfBaseEnginePrivate::openPrintDevice() noone
- remembers the file descriptor opened by tempFile() which is a call to
- the cups library to cupsTempFile()
-
- Later in closePrintDevice the check for fd<0 fails, so no one closes
- the file descriptor. If you later remove the file, the descriptor is
- still open and cannot removed until you close the application.
-
- If you print 20 times and more during your application is running and
- you print out large files (complicate forms with a lot of elements
- produces files with 3-4 MByte) your temporary file can be full, but
- you don't see (with ls) files in it.
-
-Bug: https://bugreports.qt.nokia.com/browse/QTBUG-14724
-Author: Georg Scherzer
-
----
- src/gui/painting/qpdf.cpp | 1 +
- 1 file changed, 1 insertion(+)
-
---- a/src/gui/painting/qpdf.cpp
-+++ b/src/gui/painting/qpdf.cpp
-@@ -1686,6 +1686,7 @@ bool QPdfBaseEnginePrivate::openPrintDev
- cupsTempFile = ret.second;
- outDevice = new QFile();
- static_cast<QFile *>(outDevice)->open(ret.first, QIODevice::WriteOnly);
-+ fd = ret.first;
- #endif
- #ifndef QT_NO_LPR
- } else {
diff --git a/source/l/qt/QTBUG-21900_Buttons_in_Qt_applications_not_clickable_when_run_under_gnome-shell.patch b/source/l/qt/QTBUG-21900_Buttons_in_Qt_applications_not_clickable_when_run_under_gnome-shell.patch
deleted file mode 100644
index 4d9834a8..00000000
--- a/source/l/qt/QTBUG-21900_Buttons_in_Qt_applications_not_clickable_when_run_under_gnome-shell.patch
+++ /dev/null
@@ -1,97 +0,0 @@
-From a91e9dd202640598d8dec091c67ec94536390e7f Mon Sep 17 00:00:00 2001
-From: "Owen W. Taylor" <otaylor@fishsoup.net>
-Date: Mon, 17 Oct 2011 17:27:43 -0400
-Subject: [PATCH] Fix logic for figuring out what ConfigureNotify positions can be trusted
-
-When reading ahead in the queue for ConfigureNotify events, it's necessary
-to look for intermediate ReparentNotify events as well, since they will
-determine whether the position in the event can be trusted or not.
-
-Bug: https://bugreports.qt.nokia.com/browse/QTBUG-21900
----
- src/gui/kernel/qapplication_x11.cpp | 47 +++++++++++++++++++++++++++++++-----
- 1 file changed, 41 insertions(+), 6 deletions(-)
-
---- a/src/gui/kernel/qapplication_x11.cpp
-+++ b/src/gui/kernel/qapplication_x11.cpp
-@@ -816,6 +816,27 @@ static Bool qt_sync_request_scanner(Disp
- #endif
- #endif // QT_NO_XSYNC
-
-+struct qt_configure_event_data
-+{
-+ WId window;
-+ WId parent;
-+};
-+
-+static Bool qt_configure_event_scanner(Display*, XEvent *event, XPointer arg)
-+{
-+ qt_configure_event_data *data =
-+ reinterpret_cast<qt_configure_event_data*>(arg);
-+ if (event->type == ConfigureNotify &&
-+ event->xconfigure.window == data->window) {
-+ return true;
-+ } else if (event->type == ReparentNotify &&
-+ event->xreparent.window == data->window) {
-+ data->parent = event->xreparent.parent;
-+ }
-+
-+ return false;
-+}
-+
- static void qt_x11_create_intern_atoms()
- {
- const char *names[QX11Data::NAtoms];
-@@ -5281,8 +5302,11 @@ bool QETWidget::translateConfigEvent(con
- if (d->extra->compress_events) {
- // ConfigureNotify compression for faster opaque resizing
- XEvent otherEvent;
-- while (XCheckTypedWindowEvent(X11->display, internalWinId(), ConfigureNotify,
-- &otherEvent)) {
-+ qt_configure_event_data configureData;
-+ configureData.window = internalWinId();
-+ configureData.parent = d->topData()->parentWinId;
-+ while (XCheckIfEvent(X11->display, &otherEvent,
-+ &qt_configure_event_scanner, (XPointer)&configureData)) {
- if (qt_x11EventFilter(&otherEvent))
- continue;
-
-@@ -5295,13 +5319,19 @@ bool QETWidget::translateConfigEvent(con
- newSize.setWidth(otherEvent.xconfigure.width);
- newSize.setHeight(otherEvent.xconfigure.height);
-
-+ trust = isVisible()
-+ && (configureData.parent == XNone ||
-+ configureData.parent == QX11Info::appRootWindow());
-+
- if (otherEvent.xconfigure.send_event || trust) {
- newCPos.rx() = otherEvent.xconfigure.x +
- otherEvent.xconfigure.border_width;
- newCPos.ry() = otherEvent.xconfigure.y +
- otherEvent.xconfigure.border_width;
- isCPos = true;
-- }
-+ } else {
-+ isCPos = false;
-+ }
- }
- #ifndef QT_NO_XSYNC
- qt_sync_request_event_data sync_event;
-@@ -5314,9 +5344,14 @@ bool QETWidget::translateConfigEvent(con
- }
-
- if (!isCPos) {
-- // we didn't get an updated position of the toplevel.
-- // either we haven't moved or there is a bug in the window manager.
-- // anyway, let's query the position to be certain.
-+ // If the last configure event didn't have a trustable position,
-+ // it's necessary to query, see ICCCM 4.24:
-+ //
-+ // Any real ConfigureNotify event on a top-level window implies
-+ // that the window position on the root may have changed, even
-+ // though the event reports that the window position in its
-+ // parent is unchanged because the window may have been reparented.
-+
- int x, y;
- Window child;
- XTranslateCoordinates(X11->display, internalWinId(),
diff --git a/source/l/qt/qt.SlackBuild b/source/l/qt/qt.SlackBuild
index b361aaee..8954243b 100755
--- a/source/l/qt/qt.SlackBuild
+++ b/source/l/qt/qt.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2006, 2007, 2008, 2009, 2010, 2011, 2012 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -37,11 +37,11 @@
# wget http://qt.gitorious.org/qt/kde-qt/archive-tarball/4.6.2-patched
#
# Modifications 2010, 2011, 2012 Eric Hameleers, Eindhoven, NL
-# qt 4.7.3, 4.7.4, 4.8.0, 4.8.1, 4.8.2 are built from original nokia sources.
+# qt 4.7.3, 4.7.4, 4.8.0, 4.8.1, 4.8.2, 4.8.4 are built from original nokia sources.
PKGNAM=qt
VERSION=$(ls qt-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)
-BUILD=${BUILD:-4}
+BUILD=${BUILD:-2}
NUMJOBS=${NUMJOBS:--j7}
@@ -113,20 +113,6 @@ zcat $CWD/qt.ld-gold.patch.gz | patch -p1 --verbose || exit 1
# Stupid idea - remove it:
zcat $CWD/qt.webkit-no_Werror.patch.gz | patch -p1 --verbose || exit 1
-# Fix cursor position bug within tables:
-zcat $CWD/qt.ca89c49.cursor.position.diff.gz | patch -p1 --verbose || exit 1
-
-# Fix assistant crash:
-zcat $CWD/qt.assistant.memcpy-crash.diff.gz | patch -p0 --verbose || exit 1
-
-# Fix webkit compiling with recent glib:
-zcat $CWD/qt.webkit.glib.diff.gz | patch -p1 --verbose || exit 1
-
-# Some patches from upstream:
-zcat $CWD/QElfParser-fix-type-of-sh_size.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/QTBUG-14724_close_orphaned_file_descriptors_after_printing.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/QTBUG-21900_Buttons_in_Qt_applications_not_clickable_when_run_under_gnome-shell.patch.gz | patch -p1 --verbose || exit 1
-
export CFLAGS="$SLKCFLAGS"
export CXXFLAGS="$SLKCFLAGS"
export OPENSOURCE_CXXFLAGS="$SLKCFLAGS"
@@ -145,6 +131,7 @@ export OPENSOURCE_CXXFLAGS="$SLKCFLAGS"
-no-phonon \
-nomake examples \
-nomake demos \
+ -nomake docs \
-no-separate-debug-info \
-no-pch
# No-precompiled-headers is ccache-friendly.
@@ -183,7 +170,11 @@ sed -i "s,-ljscore,,g" $PKG/usr/lib${LIBDIRSUFFIX}/qt/lib/*.la $PKG/usr/lib${LIB
sed -i "s,-L../JavaScriptCore/release,,g" $PKG/usr/lib${LIBDIRSUFFIX}/qt/lib/*.la $PKG/usr/lib${LIBDIRSUFFIX}/qt/lib/pkgconfig/*.pc
# libwebcore is used internally. Prevent a false dependency on this in the .la and .pc files:
-sed -i "s#-L/usr/lib${LIBDIRSUFFIX}/qt/lib -L../../WebCore/release -L../../JavaScriptCore/release -L/usr/X11R6/lib$LIBDIRSUFFIX -lwebcore##g" $PKG/usr/lib${LIBDIRSUFFIX}/qt/lib/libQtWebKit.la $PKG/usr/lib${LIBDIRSUFFIX}/qt/lib/pkgconfig/QtWebKit.pc
+sed -i \
+ -e "s#-L/usr/lib${LIBDIRSUFFIX}/qt/lib -L../../WebCore/release -L../../JavaScriptCore/release -L/usr/X11R6/lib$LIBDIRSUFFIX -lwebcore##g" \
+ -e "s#-L/usr/lib${LIBDIRSUFFIX}/qt/lib -L../../WebCore/release -L../../JavaScriptCore/release -L/usr/X11R6/lib -lwebcore##g" \
+ -e "s# -lwebcore##g" \
+ $PKG/usr/lib${LIBDIRSUFFIX}/qt/lib/libQtWebKit.la $PKG/usr/lib${LIBDIRSUFFIX}/qt/lib/pkgconfig/QtWebKit.pc
# Link the shared libraries into /usr/lib:
( cd $PKG/usr/lib${LIBDIRSUFFIX}
@@ -219,6 +210,14 @@ mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/pkgconfig
done
)
+# Install Qt's private headers - at least Gentoo and Fedora are adding these
+# and some software has (inevitably) started depending on them:
+# We're using `rsync -R` as easy way to preserve relative path names:
+rsync -aR \
+ include/Qt{Core,Declarative,Gui,Script}/private \
+ src/{corelib,declarative,gui,script}/*/*_p.h \
+ ${PKG}/usr/lib${LIBDIRSUFFIX}/qt/
+
# Add menu entries for all those hidden but great Qt applications:
# Qt logo:
convert $PKG/usr/lib$LIBDIRSUFFIX/qt/doc/src/images/qt-logo.png -resize 48x48 $PKG/usr/share/icons/hicolor/48x48/apps/qt-logo.png
@@ -288,9 +287,11 @@ EOF
mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
cp -a *GPL_EXCEPTION* FAQ* INSTALL KNOWN* LICENSE* README* changes-* \
$PKG/usr/doc/$PKGNAM-$VERSION
-( cd $PKG/usr/doc/$PKGNAM-$VERSION
- ln -sf /usr/lib${LIBDIRSUFFIX}/qt/doc/html .
-)
+if [ -d $PKG/usr/lib${LIBDIRSUFFIX}/qt/doc/html ]; then
+ ( cd $PKG/usr/doc/$PKGNAM-$VERSION
+ ln -sf /usr/lib${LIBDIRSUFFIX}/qt/doc/html .
+ )
+fi
mkdir -p $PKG/install
zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
diff --git a/source/l/qt/qt.assistant.memcpy-crash.diff b/source/l/qt/qt.assistant.memcpy-crash.diff
deleted file mode 100644
index f2193ee8..00000000
--- a/source/l/qt/qt.assistant.memcpy-crash.diff
+++ /dev/null
@@ -1,11 +0,0 @@
---- tools/assistant/tools/assistant/mainwindow.cpp 2012-06-27 03:02:37.539564947 +0200
-+++ tools/assistant/tools/assistant/mainwindow.cpp 2012-06-27 03:03:18.843561620 +0200
-@@ -944,8 +944,7 @@ void MainWindow::updateApplicationFont()
- 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/source/l/qt/qt.ca89c49.cursor.position.diff b/source/l/qt/qt.ca89c49.cursor.position.diff
deleted file mode 100644
index ab3429f8..00000000
--- a/source/l/qt/qt.ca89c49.cursor.position.diff
+++ /dev/null
@@ -1,31 +0,0 @@
-From ca89c49fa2c5cbb3945897046f33eed9f7da846c Mon Sep 17 00:00:00 2001
-From: Jiang Jiang <jiang.jiang@nokia.com>
-Date: Tue, 3 Jul 2012 10:17:49 +0200
-Subject: [PATCH] Fix cursor truncate to include line position
-
-Since we could have moved the line position (QTextLine::setPosition),
-the truncating position should be adjusted with that.
-
-Change-Id: Ie1acd4a1b6a4adfbeeb9ce8ee2dfa19d992470e8
-Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
----
- src/gui/text/qtextlayout.cpp | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/gui/text/qtextlayout.cpp b/src/gui/text/qtextlayout.cpp
-index 16f7150..52f2793 100644
---- a/src/gui/text/qtextlayout.cpp
-+++ b/src/gui/text/qtextlayout.cpp
-@@ -2616,8 +2616,8 @@ qreal QTextLine::cursorToX(int *cursorPos, Edge edge) const
- x += eng->offsetInLigature(si, pos, end, glyph_pos);
- }
-
-- if (eng->option.wrapMode() != QTextOption::NoWrap && x > line.width)
-- x = line.width;
-+ if (eng->option.wrapMode() != QTextOption::NoWrap && x > line.x + line.width)
-+ x = line.x + line.width;
-
- *cursorPos = pos + si->position;
- return x.toReal();
---
-1.7.10
diff --git a/source/l/qt/qt.webkit-no_Werror.patch b/source/l/qt/qt.webkit-no_Werror.patch
index b8e718e0..c8d730e4 100644
--- a/source/l/qt/qt.webkit-no_Werror.patch
+++ b/source/l/qt/qt.webkit-no_Werror.patch
@@ -1,13 +1,11 @@
-diff -up qt-everywhere-opensource-src-4.8.1/src/3rdparty/webkit/Source/WebKit.pri.no_Werror qt-everywhere-opensource-src-4.8.1/src/3rdparty/webkit/Source/WebKit.pri
---- qt-everywhere-opensource-src-4.8.1/src/3rdparty/webkit/Source/WebKit.pri.no_Werror 2012-03-14 15:01:29.000000000 +0100
-+++ qt-everywhere-opensource-src-4.8.1/src/3rdparty/webkit/Source/WebKit.pri 2012-03-28 17:12:33.391294004 +0200
-@@ -102,8 +102,6 @@ CONFIG -= warn_on
+--- qt-everywhere-opensource-src-4.8.4/src/3rdparty/webkit/Source/WebKit.pri.no_Werror 2012-12-02 15:59:44.891550783 +0100
++++ qt-everywhere-opensource-src-4.8.4/src/3rdparty/webkit/Source/WebKit.pri 2012-12-02 16:52:47.384406539 +0100
+@@ -102,8 +102,6 @@
# Treat warnings as errors on x86/Linux/GCC
linux-g++* {
-- !CONFIG(standalone_package):isEqual(QT_ARCH,x86_64)|isEqual(QT_ARCH,i386): QMAKE_CXXFLAGS += -Werror
+- !CONFIG(standalone_package):if(isEqual(QT_ARCH,x86_64)|isEqual(QT_ARCH,i386)): QMAKE_CXXFLAGS += -Werror
-
greaterThan(QT_GCC_MAJOR_VERSION, 3):greaterThan(QT_GCC_MINOR_VERSION, 5) {
if (!contains(QMAKE_CXXFLAGS, -std=c++0x) && !contains(QMAKE_CXXFLAGS, -std=gnu++0x)) {
# We need to deactivate those warnings because some names conflicts with upcoming c++0x types (e.g.nullptr).
-
diff --git a/source/l/qt/qt.webkit.glib.diff b/source/l/qt/qt.webkit.glib.diff
deleted file mode 100644
index b1666256..00000000
--- a/source/l/qt/qt.webkit.glib.diff
+++ /dev/null
@@ -1,11 +0,0 @@
---- ./src/3rdparty/webkit/Source/JavaScriptCore/wtf/gobject/GTypedefs.h.orig 2012-04-26 14:46:14.000000000 -0500
-+++ ./src/3rdparty/webkit/Source/JavaScriptCore/wtf/gobject/GTypedefs.h 2012-08-06 19:53:44.134339082 -0500
-@@ -52,7 +52,7 @@
- typedef struct _GHashTable GHashTable;
- typedef struct _GInputStream GInputStream;
- typedef struct _GList GList;
--typedef struct _GMutex GMutex;
-+typedef union _GMutex GMutex;
- typedef struct _GPatternSpec GPatternSpec;
- typedef struct _GPollableOutputStream GPollableOutputStream;
- typedef struct _GSocketClient GSocketClient;
diff --git a/source/l/qt/slack-desc b/source/l/qt/slack-desc
index f511d899..0a42d4a3 100644
--- a/source/l/qt/slack-desc
+++ b/source/l/qt/slack-desc
@@ -11,7 +11,7 @@ qt:
qt: Qt is a complete and well-developed object-oriented framework for
qt: developing graphical user interface (GUI) applications using C++.
qt:
-qt: Homepage: http://qt.nokia.com
+qt: Homepage: http://qt-project.org/
qt:
qt:
qt: