From 97b27a94875bbc14369418211c3aa18349496ade Mon Sep 17 00:00:00 2001 From: Rex Dieter Date: Mar 29 2012 18:08:46 +0000 Subject: Merge branch 'master' into f17 Conflicts: qt.spec --- diff --git a/.gitignore b/.gitignore index 02e8faf..af5b491 100644 --- a/.gitignore +++ b/.gitignore @@ -9,3 +9,4 @@ /hi64-phonon-gstreamer.png /qt-everywhere-opensource-src-4.7.4.tar.gz /qt-everywhere-opensource-src-4.8.0.tar.gz +/qt-everywhere-opensource-src-4.8.1.tar.gz diff --git a/kde-qt-patches.sh b/kde-qt-patches.sh deleted file mode 100644 index d50d003..0000000 --- a/kde-qt-patches.sh +++ /dev/null @@ -1,6 +0,0 @@ -# quick-n-dirty method to fetch patches from -patched git branch -# unfortunately, requires an already checked-out copy of the git repo - -# when switching branches, use something like: git checkout --track remotes/origin/4.6-stable-patched -git format-patch --output-directory kde-qt-patches v4.6.1..origin/4.6.1-patched - diff --git a/qconfig-multilib.h b/qconfig-multilib.h index f67084f..7ed351b 100644 --- a/qconfig-multilib.h +++ b/qconfig-multilib.h @@ -4,24 +4,17 @@ * * DO NOT INCLUDE THE NEW FILE DIRECTLY -- ALWAYS INCLUDE THIS ONE INSTEAD. */ -#if defined(__x86_64__) -# include -#elif defined(__i386__) -# include -#elif defined(__powerpc64__) -# include -#elif defined(__powerpc__) -# include -#elif defined(__s390x__) -# include -#elif defined(__s390__) -# include -#elif defined(__sparc__) && defined (__arch64__) -# include -#elif defined(__sparc__) -# include +#ifndef QCONFIG_MULTILIB_H +#define QCONFIG_MULTILIB_H +#include + +#if __WORDSIZE == 32 +#include "QtCore/qconfig-32.h" +#elif __WORDSIZE == 64 +#include "QtCore/qconfig-64.h" #else -/* Should never reach this point, if so see bugzilla.redhat.com/223663 */ -#error "This qt4-devel package does not work your architecture?" +#error "unexpected value for __WORDSIZE macro" +#endif + #endif diff --git a/qt-4.8.1-webkit-no_Werror.patch b/qt-4.8.1-webkit-no_Werror.patch new file mode 100644 index 0000000..ef5d55d --- /dev/null +++ b/qt-4.8.1-webkit-no_Werror.patch @@ -0,0 +1,12 @@ +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 + + # 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 +- + 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/qt-everywhere-opensource-src-4.8.0-QUrl_toLocalFile.patch b/qt-everywhere-opensource-src-4.8.0-QUrl_toLocalFile.patch deleted file mode 100644 index 1c666db..0000000 --- a/qt-everywhere-opensource-src-4.8.0-QUrl_toLocalFile.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff -up qt-everywhere-opensource-src-4.8.0/src/corelib/io/qurl.cpp.toLocalFile qt-everywhere-opensource-src-4.8.0/src/corelib/io/qurl.cpp ---- qt-everywhere-opensource-src-4.8.0/src/corelib/io/qurl.cpp.toLocalFile 2011-10-03 22:44:32.000000000 -0500 -+++ qt-everywhere-opensource-src-4.8.0/src/corelib/io/qurl.cpp 2011-10-27 12:58:35.706815049 -0500 -@@ -6158,7 +6158,8 @@ QUrl QUrl::fromLocalFile(const QString & - QString QUrl::toLocalFile() const - { - // the call to isLocalFile() also ensures that we're parsed -- if (!isLocalFile()) -+ // Treat URLs with no scheme as local for backward compatibility -+ if (!isLocalFile() && (!d || !d->scheme.isEmpty())) - return QString(); - - QString tmp; diff --git a/qt-everywhere-opensource-src-4.8.0-filter_event.patch b/qt-everywhere-opensource-src-4.8.0-filter_event.patch deleted file mode 100644 index b03cdbe..0000000 --- a/qt-everywhere-opensource-src-4.8.0-filter_event.patch +++ /dev/null @@ -1,98 +0,0 @@ ---- qt-opensource-4.8.0.old/src/gui/kernel/qapplication_x11.cpp 2011-12-16 03:22:33.918428374 -0500 -+++ qt-opensource-4.8.0.new/src/gui/kernel/qapplication_x11.cpp 2012-01-07 18:18:40.258246384 -0500 -@@ -4244,7 +4205,12 @@ bool QETWidget::translateMouseEvent(cons - && (nextEvent.xclient.message_type == ATOM(_QT_SCROLL_DONE) || - (nextEvent.xclient.message_type == ATOM(WM_PROTOCOLS) && - (Atom)nextEvent.xclient.data.l[0] == ATOM(_NET_WM_SYNC_REQUEST))))) { -- qApp->x11ProcessEvent(&nextEvent); -+ // As we may run through a significant number of a large class of non-MotionNotify -+ // events here, without returning to the event loop, first pass nextEvent to -+ // QAbstractEventDispatcher::filterEvent() to allow applications which override -+ // QAbstractEventDispatcher::filterEvent() to handle the event first. -+ if (!QAbstractEventDispatcher::instance()->filterEvent(&nextEvent)) -+ qApp->x11ProcessEvent(&nextEvent); - continue; - } else if (nextEvent.type != MotionNotify || - nextEvent.xmotion.window != event->xmotion.window || ---- qt-opensource-4.8.0.old/src/gui/kernel/qclipboard_x11.cpp 2011-12-08 00:06:02.000000000 -0500 -+++ qt-opensource-4.8.0.new/src/gui/kernel/qclipboard_x11.cpp 2012-01-07 18:30:35.298287639 -0500 -@@ -573,7 +573,11 @@ bool QX11Data::clipboardWaitForEvent(Win - - // process other clipboard events, since someone is probably requesting data from us - XEvent e; -- if (XCheckIfEvent(X11->display, &e, checkForClipboardEvents, 0)) -+ // Some applications may override QAbstractEventDispatcher::filterEvent(), so -+ // pass event to QAbstractEventDispatcher::filterEvent() before processing in -+ // x11ProcessEvent(). -+ if (XCheckIfEvent(X11->display, &e, checkForClipboardEvents, 0) && -+ !QAbstractEventDispatcher::instance()->filterEvent(&e)) - qApp->x11ProcessEvent(&e); - - now.start(); ---- qt-opensource-4.8.0.old/src/gui/kernel/qdnd_x11.cpp 2011-12-08 00:06:02.000000000 -0500 -+++ qt-opensource-4.8.0.new/src/gui/kernel/qdnd_x11.cpp 2012-01-07 18:28:13.841279478 -0500 -@@ -42,6 +42,7 @@ - #include "qplatformdefs.h" - - #include "qapplication.h" -+#include "qabstracteventdispatcher.h" - - #ifndef QT_NO_DRAGANDDROP - -@@ -1941,7 +1942,11 @@ Qt::DropAction QDragManager::drag(QDrag - timer.start(); - do { - XEvent event; -- if (XCheckTypedEvent(X11->display, ClientMessage, &event)) -+ // Some applications may override QAbstractEventDispatcher::filterEvent(), so -+ // pass event to QAbstractEventDispatcher::filterEvent() before processing in -+ // x11ProcessEvent(). -+ if (XCheckTypedEvent(X11->display, ClientMessage, &event) && -+ !QAbstractEventDispatcher::instance()->filterEvent(&event)) - qApp->x11ProcessEvent(&event); - - // sleep 50 ms, so we don't use up CPU cycles all the time. ---- qt-opensource-4.8.0.old/src/gui/kernel/qwidget_x11.cpp 2011-12-08 00:06:02.000000000 -0500 -+++ qt-opensource-4.8.0.new/src/gui/kernel/qwidget_x11.cpp 2012-01-07 18:29:26.286283657 -0500 -@@ -44,6 +44,7 @@ - #include "qdesktopwidget.h" - #include "qapplication.h" - #include "qapplication_p.h" -+#include "qabstracteventdispatcher.h" - #include "qnamespace.h" - #include "qpainter.h" - #include "qbitmap.h" -@@ -376,17 +377,22 @@ void qt_x11_wait_for_window_manager(QWid - do { - if (XEventsQueued(X11->display, QueuedAlready)) { - XNextEvent(X11->display, &ev); -- qApp->x11ProcessEvent(&ev); -- -- switch (state) { -- case Initial: -- if (ev.type == MapNotify && ev.xany.window == winid) -- state = Mapped; -- break; -- case Mapped: -- if (ev.type == Expose && ev.xany.window == winid) -- return; -- break; -+ // Some applications may override QAbstractEventDispatcher::filterEvent(), so -+ // pass event to QAbstractEventDispatcher::filterEvent() before processing in -+ // x11ProcessEvent(). -+ if (!QAbstractEventDispatcher::instance()->filterEvent(&ev)) { -+ qApp->x11ProcessEvent(&ev); -+ -+ switch (state) { -+ case Initial: -+ if (ev.type == MapNotify && ev.xany.window == winid) -+ state = Mapped; -+ break; -+ case Mapped: -+ if (ev.type == Expose && ev.xany.window == winid) -+ return; -+ break; -+ } - } - } else { - if (!XEventsQueued(X11->display, QueuedAfterFlush)) diff --git a/qt.spec b/qt.spec index def2cdb..716bfde 100644 --- a/qt.spec +++ b/qt.spec @@ -10,8 +10,8 @@ Summary: Qt toolkit Name: qt Epoch: 1 -Version: 4.8.0 -Release: 10%{?dist} +Version: 4.8.1 +Release: 3%{?dist} # See LGPL_EXCEPTIONS.txt, LICENSE.GPL3, respectively, for exception details License: (LGPLv2 with exceptions or GPLv3 with exceptions) and ASL 2.0 and BSD and FTL and MIT @@ -68,7 +68,7 @@ Patch67: qt-everywhere-opensource-src-4.8.0-beta1-s390.patch # https://bugs.webkit.org/show_bug.cgi?id=63941 # -Wall + -Werror = fail -Patch68: webkit-qtwebkit-2.2-no_Werror.patch +Patch68: qt-4.8.1-webkit-no_Werror.patch # revert qlist.h commit that seems to induce crashes in qDeleteAll= 2.31 # fixes FTBFS: https://bugs.webkit.org/show_bug.cgi?id=69840 Patch73: qt-everywhere-opensource-src-4.8.0-qtwebkit-glib231.patch @@ -100,10 +96,6 @@ Patch76: qt-everywhere-opensource-src-4.8.0-s390-atomic.patch # don't spam if libicu is not present at runtime Patch77: qt-everywhere-opensource-src-4.8.0-icu_no_spam.patch -# avoid dropping events, which lead to "ghost entries in kde task manager" problem -# https://bugs.kde.org/show_bug.cgi?id=275469 -Patch78: qt-everywhere-opensource-src-4.8.0-filter_event.patch - # fix qvfb build Patch79: qt-everywhere-opensource-src-4.8.0-qvfb.patch @@ -269,6 +261,7 @@ Requires: %{name}-x11%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} Summary: Demonstration applications for %{name} Group: Documentation Requires: %{name} = %{?epoch:%{epoch}:}%{version}-%{release} +Requires: %{name}-doc %description demos %{summary}. @@ -425,13 +418,10 @@ rm -fv mkspecs/linux-g++*/qmake.conf.multilib-optflags %patch64 -p1 -b .QTBUG-14467 %patch65 -p1 -b .qtreeview-kpackagekit-crash %patch67 -p1 -b .s390 -pushd src/3rdparty/webkit %patch68 -p1 -b .no_Werror -popd %patch69 -p1 -b .QTBUG-22037 %patch70 -p1 -b .QTBUG-14724 %patch71 -p1 -b .QTBUG-21900 -%patch72 -p1 -b .QUrl_toLocalFile %if 0%{?fedora} > 16 # This quick fix works ONLY with GLib >= 2.31. It's harder to fix this portably. # See https://bugs.webkit.org/show_bug.cgi?id=69840 for the gory details. @@ -441,7 +431,6 @@ popd %patch75 -p1 -b .ppc64-crash %patch76 -p1 -b .s390-atomic %patch77 -p1 -b .icu_no_spam -%patch78 -p1 -b .filter_events %patch79 -p1 -b .qvfb %patch80 -p1 -b .ld.gold %patch81 -p1 -b .gcc-4.7 @@ -466,10 +455,9 @@ RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS | sed 's|-fexceptions||g'` %define platform linux-g++ %endif -sed -i \ - -e "s|-O2|$RPM_OPT_FLAGS|g" \ - -e "s|g++.conf|g++-multilib.conf|g" \ - mkspecs/%{platform}/qmake.conf +sed -i -e "s|-O2|$RPM_OPT_FLAGS|g" \ + mkspecs/%{platform}/qmake.conf \ + mkspecs/common/g*base.conf # undefine QMAKE_STRIP, so we get useful -debuginfo pkgs sed -i -e "s|^QMAKE_STRIP.*=.*|QMAKE_STRIP =|" mkspecs/common/linux.conf @@ -662,7 +650,7 @@ popd %ifarch %{multilib_archs} # multilib: qconfig.h - mv %{buildroot}%{_qt4_headerdir}/Qt/qconfig.h %{buildroot}%{_qt4_headerdir}/QtCore/qconfig-%{_arch}.h + mv %{buildroot}%{_qt4_headerdir}/Qt/qconfig.h %{buildroot}%{_qt4_headerdir}/QtCore/qconfig-%{__isa_bits}.h install -p -m644 -D %{SOURCE5} %{buildroot}%{_qt4_headerdir}/QtCore/qconfig-multilib.h ln -sf qconfig-multilib.h %{buildroot}%{_qt4_headerdir}/QtCore/qconfig.h ln -sf ../QtCore/qconfig.h %{buildroot}%{_qt4_headerdir}/Qt/qconfig.h @@ -670,7 +658,7 @@ popd %if "%{_qt4_libdir}" != "%{_libdir}" mkdir -p %{buildroot}/etc/ld.so.conf.d - echo "%{_qt4_libdir}" > %{buildroot}/etc/ld.so.conf.d/qt4-%{_arch}.conf + echo "%{_qt4_libdir}" > %{buildroot}/etc/ld.so.conf.d/qt4-%{__isa_bits}.conf %endif # Trolltech.conf @@ -1072,8 +1060,17 @@ fi %changelog -* Tue Feb 28 2012 Fedora Release Engineering - 1:4.8.0-10 -- Rebuilt for c++ ABI breakage +* Thu Mar 29 2012 Rex Dieter 4.8.1-3 +- Header file name mismatch in qt-devel i686 (#808087) + +* Thu Mar 29 2012 Than Ngo - 4.8.1-2 +- add correct flags + +* Wed Mar 28 2012 Than Ngo - 4.8.1-1 +- 4.8.1 + +* Wed Feb 22 2012 Rex Dieter 4.8.0-10 +- -demos: Requires: -doc (#795859) * Mon Feb 20 2012 Than Ngo - 4.8.0-9 - get rid of timestamp which causes multilib problem diff --git a/sources b/sources index 189ba15..81222fd 100644 --- a/sources +++ b/sources @@ -1,3 +1,3 @@ d9f511e4b51983b4e10eb58b320416d5 hi128-app-qt4-logo.png 6dcc0672ff9e60a6b83f95c5f42bec5b hi48-app-qt4-logo.png -e8a5fdbeba2927c948d9f477a6abe904 qt-everywhere-opensource-src-4.8.0.tar.gz +7960ba8e18ca31f0c6e4895a312f92ff qt-everywhere-opensource-src-4.8.1.tar.gz diff --git a/webkit-qtwebkit-2.2-no_Werror.patch b/webkit-qtwebkit-2.2-no_Werror.patch deleted file mode 100644 index e63d4e9..0000000 --- a/webkit-qtwebkit-2.2-no_Werror.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up webkit-qtwebkit/Source/WebKit.pri.Werror webkit-qtwebkit/Source/WebKit.pri ---- webkit-qtwebkit/Source/WebKit.pri.Werror 2011-05-12 09:42:28.000000000 -0500 -+++ webkit-qtwebkit/Source/WebKit.pri 2011-05-13 12:42:09.956080365 -0500 -@@ -92,7 +92,7 @@ CONFIG -= warn_on - - # Treat warnings as errors on x86/Linux/GCC - linux-g++* { -- isEqual(QT_ARCH,x86_64)|isEqual(QT_ARCH,i386): QMAKE_CXXFLAGS += -Werror -+ #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)) {