From 5b979ce1a8e238797d64d920189aa7f658df4dd2 Mon Sep 17 00:00:00 2001 From: Raphael Kubo da Costa Date: Mon, 5 May 2014 20:47:22 +0000 Subject: [PATCH] The KDE on FreeBSD team presents Qt 4.8.6. This is a minor bugfix release that fortunately contains quite a few patches that we have upstreamed in the past months. See http://blog.qt.digia.com/blog/2014/04/24/qt-4-8-6-released/ for a summary of changes, and http://download.qt-project.org/official_releases/qt/4.8/4.8.6/changes-4.8.6 for a detailed list of changes. This patch contains commits by me, makc@ and Schaich Alonso. PR: ports/189213 --- Mk/bsd.qt.mk | 2 +- cad/qcad/Makefile | 7 + databases/qt4-odbc-plugin/Makefile | 1 - devel/qmake4/Makefile | 2 - ...specs__features__unix__gdb_dwarf_index.prf | 36 -- devel/qmake4/pkg-plist | 8 + devel/qt4-assistant/Makefile | 1 - devel/qt4-corelib/Makefile | 1 - devel/qt4-corelib/pkg-plist | 2 + devel/qt4-designer/Makefile | 1 - devel/qt4-linguist/Makefile | 1 - devel/qt4-moc/Makefile | 1 - devel/qt4-qdbusviewer/Makefile | 1 - devel/qt4-qmlviewer/Makefile | 1 - devel/qt4-qvfb/Makefile | 1 - ...iptcore__JavaScriptCore__jit__JITStubs.cpp | 11 - ...re__JavaScriptCore__runtime__Collector.cpp | 38 -- ...riptcore__JavaScriptCore__wtf__HashTable.h | 40 -- ...riptcore__JavaScriptCore__wtf__Threading.h | 63 +-- devel/qt4/Makefile | 1 - devel/qt4/distinfo | 4 +- devel/qtcreator/Makefile | 2 +- devel/qtcreator/distinfo | 4 +- graphics/qt4-pixeltool/Makefile | 1 - misc/qt4-doc/pkg-plist | 4 +- misc/qt4-l10n/pkg-plist | 8 + misc/qt4-qtconfig/Makefile | 1 - misc/qt4-qtdemo/Makefile | 1 - misc/qt4-qtdemo/pkg-plist | 22 +- www/webkit-qt4/Makefile | 1 - www/webkit-qt4/files/patch-libcxx | 369 +----------------- ...it__Source__JavaScriptCore__wtf__Atomics.h | 66 +--- 32 files changed, 54 insertions(+), 648 deletions(-) delete mode 100644 devel/qmake4/files/patch-mkspecs__features__unix__gdb_dwarf_index.prf delete mode 100644 devel/qt4-script/files/patch-src__3rdparty__javascriptcore__JavaScriptCore__jit__JITStubs.cpp delete mode 100644 devel/qt4-script/files/patch-src__3rdparty__javascriptcore__JavaScriptCore__runtime__Collector.cpp delete mode 100644 devel/qt4-script/files/patch-src__3rdparty__javascriptcore__JavaScriptCore__wtf__HashTable.h diff --git a/Mk/bsd.qt.mk b/Mk/bsd.qt.mk index 60ff33355813..6fc9b5b300e1 100644 --- a/Mk/bsd.qt.mk +++ b/Mk/bsd.qt.mk @@ -26,7 +26,7 @@ Qt_Pre_Include= bsd.qt.mk # Qt versions currently supported by the framework. _QT_SUPPORTED?= 4 5 -QT4_VERSION?= 4.8.5 +QT4_VERSION?= 4.8.6 QT5_VERSION?= 5.2.1 QT_PREFIX?= ${LOCALBASE} diff --git a/cad/qcad/Makefile b/cad/qcad/Makefile index 21685d283bb5..8d4400b1d5fb 100644 --- a/cad/qcad/Makefile +++ b/cad/qcad/Makefile @@ -54,6 +54,13 @@ pre-configure: ${REINPLACE_CMD} -e "s|%%DATADIR%%|${DATADIR}|" \ ${WRKSRC}/src/core/RSettings.cpp +# Temporary hack for Qt 4.8.6 support while upstream does not add proper +# bindings. + (cd ${WRKSRC}/src/3rdparty/qt-labs-qtscriptgenerator-4.8.5 && \ + ${COPYTREE_SHARE} . ../qt-labs-qtscriptgenerator-4.8.6) + (cd ${WRKSRC}/src/3rdparty/qt-labs-qtscriptgenerator-4.8.6 && \ + mv qt-labs-qtscriptgenerator-4.8.5.pro qt-labs-qtscriptgenerator-4.8.6.pro) + do-install: ${INSTALL_PROGRAM} ${RESDIR}/qcad-bin ${STAGEDIR}${PREFIX}/bin/ ${LN} -sf ${PREFIX}/bin/qcad-bin ${STAGEDIR}${PREFIX}/bin/qcad diff --git a/databases/qt4-odbc-plugin/Makefile b/databases/qt4-odbc-plugin/Makefile index d50582113484..7d2cfbbf4c41 100644 --- a/databases/qt4-odbc-plugin/Makefile +++ b/databases/qt4-odbc-plugin/Makefile @@ -3,7 +3,6 @@ PORTNAME= qt4-${DB}-plugin DISTVERSION= ${QT4_VERSION} -PORTREVISION= 1 CATEGORIES= databases MAINTAINER= kde@FreeBSD.org diff --git a/devel/qmake4/Makefile b/devel/qmake4/Makefile index e3d3355c42c1..a7d6dbf92102 100644 --- a/devel/qmake4/Makefile +++ b/devel/qmake4/Makefile @@ -3,7 +3,6 @@ PORTNAME= qmake DISTVERSION= ${QT4_VERSION} -PORTREVISION= 1 CATEGORIES= devel PKGNAMEPREFIX= qt4- @@ -64,7 +63,6 @@ post-patch: -e '/gcc-base-unix.conf/d' \ ${WRKSRC:H}/mkspecs/freebsd-clang/qmake.conf - @${RM} ${WRKSRC:H}/mkspecs/features/unix/*.orig @${RM} ${WRKSRC:H}/mkspecs/*/*.orig do-configure: apply-slist diff --git a/devel/qmake4/files/patch-mkspecs__features__unix__gdb_dwarf_index.prf b/devel/qmake4/files/patch-mkspecs__features__unix__gdb_dwarf_index.prf deleted file mode 100644 index 78979e620cb7..000000000000 --- a/devel/qmake4/files/patch-mkspecs__features__unix__gdb_dwarf_index.prf +++ /dev/null @@ -1,36 +0,0 @@ -From fdecdc39399994d2c0309005922590e2f106bbef Mon Sep 17 00:00:00 2001 -From: Raphael Kubo da Costa -Date: Sun, 11 Aug 2013 15:08:48 +0300 -Subject: [PATCH] gdb_dwarf_index: Use a sed call that's more POSIX-compliant. - -sed versions other than the GNU one often default to being POSIX-compliant, -in which case "+" (with and without escaping) is always an ordinary -character. - -Achieve the same functionality in a way that works with both GNU and BSD -seds by using "xx*" insted of "x\+". - -Cherry-picked from qtbase/faea8d1056e4b034404febd0ef44a00e7784018d. - -Change-Id: I462e070992ff214a7261d45c208f2e5f3e962e8f -Reviewed-by: Oswald Buddenhagen ---- - mkspecs/features/unix/gdb_dwarf_index.prf | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/mkspecs/features/unix/gdb_dwarf_index.prf b/mkspecs/features/unix/gdb_dwarf_index.prf -index e3f79cd..84b4e18 100644 ---- ../mkspecs/features/unix/gdb_dwarf_index.prf -+++ ../mkspecs/features/unix/gdb_dwarf_index.prf -@@ -9,7 +9,7 @@ - } - - QMAKE_GDB_INDEX += \ -- test \$\$(gdb --version | sed -e \'s,[^0-9]\\+\\([0-9]\\)\\.\\([0-9]\\).*,\\1\\2,;q\') -gt 72 && \ -+ test \$\$(gdb --version | sed -e \'s,[^0-9][^0-9]*\\([0-9]\\)\\.\\([0-9]\\).*,\\1\\2,;q\') -gt 72 && \ - gdb --nx --batch --quiet -ex \'set confirm off\' -ex \"save gdb-index $$QMAKE_GDB_DIR\" -ex quit \'$(TARGET)\' && \ - test -f $(TARGET).gdb-index && \ - $$QMAKE_OBJCOPY --add-section \'.gdb_index=$(TARGET).gdb-index\' --set-section-flags \'.gdb_index=readonly\' \'$(TARGET)\' \'$(TARGET)\' && \ --- -1.8.3.4 - diff --git a/devel/qmake4/pkg-plist b/devel/qmake4/pkg-plist index e6b2ca7c024b..5a8c412d045b 100644 --- a/devel/qmake4/pkg-plist +++ b/devel/qmake4/pkg-plist @@ -419,6 +419,10 @@ %%QT_MKSPECDIR%%/unsupported/macx-clang/Info.plist.lib %%QT_MKSPECDIR%%/unsupported/macx-clang/qmake.conf %%QT_MKSPECDIR%%/unsupported/macx-clang/qplatformdefs.h +%%QT_MKSPECDIR%%/unsupported/macx-clang-libc++/Info.plist.app +%%QT_MKSPECDIR%%/unsupported/macx-clang-libc++/Info.plist.lib +%%QT_MKSPECDIR%%/unsupported/macx-clang-libc++/qmake.conf +%%QT_MKSPECDIR%%/unsupported/macx-clang-libc++/qplatformdefs.h %%QT_MKSPECDIR%%/unsupported/macx-iosdevice-clang-legacy/qmake.conf %%QT_MKSPECDIR%%/unsupported/macx-iosdevice-clang-legacy/qplatformdefs.h %%QT_MKSPECDIR%%/unsupported/macx-iosdevice-clang/qmake.conf @@ -481,6 +485,8 @@ %%QT_MKSPECDIR%%/win32-msvc2010/qplatformdefs.h %%QT_MKSPECDIR%%/win32-msvc2012/qmake.conf %%QT_MKSPECDIR%%/win32-msvc2012/qplatformdefs.h +%%QT_MKSPECDIR%%/win32-msvc2013/qmake.conf +%%QT_MKSPECDIR%%/win32-msvc2013/qplatformdefs.h %%QT_MKSPECDIR%%/wince50standard-armv4i-msvc2005/default_post.prf %%QT_MKSPECDIR%%/wince50standard-armv4i-msvc2005/qmake.conf %%QT_MKSPECDIR%%/wince50standard-armv4i-msvc2005/qplatformdefs.h @@ -571,6 +577,7 @@ @dirrm %%QT_MKSPECDIR%%/wince50standard-mipsii-msvc2005 @dirrm %%QT_MKSPECDIR%%/wince50standard-armv4i-msvc2008 @dirrm %%QT_MKSPECDIR%%/wince50standard-armv4i-msvc2005 +@dirrm %%QT_MKSPECDIR%%/win32-msvc2013 @dirrm %%QT_MKSPECDIR%%/win32-msvc2012 @dirrm %%QT_MKSPECDIR%%/win32-msvc2010 @dirrm %%QT_MKSPECDIR%%/win32-msvc2008 @@ -603,6 +610,7 @@ @dirrm %%QT_MKSPECDIR%%/unsupported/macx-iosdevice-g++ @dirrm %%QT_MKSPECDIR%%/unsupported/macx-iosdevice-clang-legacy @dirrm %%QT_MKSPECDIR%%/unsupported/macx-iosdevice-clang +@dirrm %%QT_MKSPECDIR%%/unsupported/macx-clang-libc++ @dirrm %%QT_MKSPECDIR%%/unsupported/macx-clang @dirrm %%QT_MKSPECDIR%%/unsupported/linux-scratchbox2-g++ @dirrm %%QT_MKSPECDIR%%/unsupported/linux-host-g++ diff --git a/devel/qt4-assistant/Makefile b/devel/qt4-assistant/Makefile index 9aac27efdb0c..11c78e2adf0d 100644 --- a/devel/qt4-assistant/Makefile +++ b/devel/qt4-assistant/Makefile @@ -3,7 +3,6 @@ PORTNAME= assistant DISTVERSION= ${QT4_VERSION} -PORTREVISION= 1 CATEGORIES= devel PKGNAMEPREFIX= qt4- diff --git a/devel/qt4-corelib/Makefile b/devel/qt4-corelib/Makefile index c3b1d1ebe920..fd1dcade9161 100644 --- a/devel/qt4-corelib/Makefile +++ b/devel/qt4-corelib/Makefile @@ -3,7 +3,6 @@ PORTNAME= corelib DISTVERSION= ${QT4_VERSION} -PORTREVISION= 3 CATEGORIES= devel PKGNAMEPREFIX= qt4- diff --git a/devel/qt4-corelib/pkg-plist b/devel/qt4-corelib/pkg-plist index 7aeef4ffa887..e7d7977c4225 100644 --- a/devel/qt4-corelib/pkg-plist +++ b/devel/qt4-corelib/pkg-plist @@ -21,6 +21,7 @@ %%QT_INCDIR%%/Qt/qatomic_i386.h %%QT_INCDIR%%/Qt/qatomic_ia64.h %%QT_INCDIR%%/Qt/qatomic_integrity.h +%%QT_INCDIR%%/Qt/qatomic_m68k.h %%QT_INCDIR%%/Qt/qatomic_macosx.h %%QT_INCDIR%%/Qt/qatomic_mips.h %%QT_INCDIR%%/Qt/qatomic_parisc.h @@ -469,6 +470,7 @@ %%QT_INCDIR%%/QtCore/qatomic_i386.h %%QT_INCDIR%%/QtCore/qatomic_ia64.h %%QT_INCDIR%%/QtCore/qatomic_integrity.h +%%QT_INCDIR%%/QtCore/qatomic_m68k.h %%QT_INCDIR%%/QtCore/qatomic_macosx.h %%QT_INCDIR%%/QtCore/qatomic_mips.h %%QT_INCDIR%%/QtCore/qatomic_parisc.h diff --git a/devel/qt4-designer/Makefile b/devel/qt4-designer/Makefile index f69c461ad108..df1ebcd20d6d 100644 --- a/devel/qt4-designer/Makefile +++ b/devel/qt4-designer/Makefile @@ -3,7 +3,6 @@ PORTNAME= designer DISTVERSION= ${QT4_VERSION} -PORTREVISION= 1 CATEGORIES= devel PKGNAMEPREFIX= qt4- diff --git a/devel/qt4-linguist/Makefile b/devel/qt4-linguist/Makefile index a18a6c5025fb..1e7c899d2c24 100644 --- a/devel/qt4-linguist/Makefile +++ b/devel/qt4-linguist/Makefile @@ -3,7 +3,6 @@ PORTNAME= linguist DISTVERSION= ${QT4_VERSION} -PORTREVISION= 1 CATEGORIES= devel PKGNAMEPREFIX= qt4- diff --git a/devel/qt4-moc/Makefile b/devel/qt4-moc/Makefile index f7ec899d0388..e965164faa35 100644 --- a/devel/qt4-moc/Makefile +++ b/devel/qt4-moc/Makefile @@ -3,7 +3,6 @@ PORTNAME= moc DISTVERSION= ${QT4_VERSION} -PORTREVISION= 1 CATEGORIES= devel PKGNAMEPREFIX= qt4- diff --git a/devel/qt4-qdbusviewer/Makefile b/devel/qt4-qdbusviewer/Makefile index 327fec9fad8f..08965af41867 100644 --- a/devel/qt4-qdbusviewer/Makefile +++ b/devel/qt4-qdbusviewer/Makefile @@ -3,7 +3,6 @@ PORTNAME= qdbusviewer DISTVERSION= ${QT4_VERSION} -PORTREVISION= 1 CATEGORIES= devel PKGNAMEPREFIX= qt4- diff --git a/devel/qt4-qmlviewer/Makefile b/devel/qt4-qmlviewer/Makefile index a33ba5495d8d..51da99a264fe 100644 --- a/devel/qt4-qmlviewer/Makefile +++ b/devel/qt4-qmlviewer/Makefile @@ -3,7 +3,6 @@ PORTNAME= qmlviewer DISTVERSION= ${QT4_VERSION} -PORTREVISION= 1 CATEGORIES= devel PKGNAMEPREFIX= qt4- diff --git a/devel/qt4-qvfb/Makefile b/devel/qt4-qvfb/Makefile index 88c0837d78f7..b16f08b316d5 100644 --- a/devel/qt4-qvfb/Makefile +++ b/devel/qt4-qvfb/Makefile @@ -3,7 +3,6 @@ PORTNAME= qvfb DISTVERSION= ${QT4_VERSION} -PORTREVISION= 1 CATEGORIES= devel PKGNAMEPREFIX= qt4- diff --git a/devel/qt4-script/files/patch-src__3rdparty__javascriptcore__JavaScriptCore__jit__JITStubs.cpp b/devel/qt4-script/files/patch-src__3rdparty__javascriptcore__JavaScriptCore__jit__JITStubs.cpp deleted file mode 100644 index 093c17420874..000000000000 --- a/devel/qt4-script/files/patch-src__3rdparty__javascriptcore__JavaScriptCore__jit__JITStubs.cpp +++ /dev/null @@ -1,11 +0,0 @@ ---- ./src/3rdparty/javascriptcore/JavaScriptCore/jit/JITStubs.cpp.orig 2012-12-12 20:18:37.000000000 +0100 -+++ ./src/3rdparty/javascriptcore/JavaScriptCore/jit/JITStubs.cpp 2012-12-17 02:10:50.513375070 +0100 -@@ -80,7 +80,7 @@ - #define THUMB_FUNC_PARAM(name) - #endif - --#if OS(LINUX) && CPU(X86_64) -+#if (OS(LINUX) || OS(FREEBSD)) && CPU(X86_64) - #define SYMBOL_STRING_RELOCATION(name) #name "@plt" - #else - #define SYMBOL_STRING_RELOCATION(name) SYMBOL_STRING(name) diff --git a/devel/qt4-script/files/patch-src__3rdparty__javascriptcore__JavaScriptCore__runtime__Collector.cpp b/devel/qt4-script/files/patch-src__3rdparty__javascriptcore__JavaScriptCore__runtime__Collector.cpp deleted file mode 100644 index 95e112ac20eb..000000000000 --- a/devel/qt4-script/files/patch-src__3rdparty__javascriptcore__JavaScriptCore__runtime__Collector.cpp +++ /dev/null @@ -1,38 +0,0 @@ -From 952b046ba5bc99986f747729681914e21f8fb8b0 Mon Sep 17 00:00:00 2001 -From: "Bradley T. Hughes" -Date: Wed, 30 May 2012 11:49:40 +0200 -Subject: [PATCH] Compile with clang's libc++ - -An overload for std::swap() what works with std::pair is included -in libc++ (but not libstdc++). Avoid ambiguity in HashTable.h by -omitting the version there and using the std::swap() version. - -Collector.cpp needs to include pthread.h directly, as it is not -automatically included by libc++'s headers (libstdc++ does pull in -pthread.h though). - -Cherry-picked from qtscript/48baeef0766ba145d26d374561e152b40245f3b8. - -Change-Id: I4dc88638ce8553bb97037b841fc6cc5e8c9911e2 -Reviewed-by: Thiago Macieira ---- - src/3rdparty/javascriptcore/JavaScriptCore/runtime/Collector.cpp | 2 ++ - src/3rdparty/javascriptcore/JavaScriptCore/wtf/HashTable.h | 4 ++-- - 2 files changed, 4 insertions(+), 2 deletions(-) - -diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/runtime/Collector.cpp b/src/3rdparty/javascriptcore/JavaScriptCore/runtime/Collector.cpp -index 6af1784..711949b 100644 ---- src/3rdparty/javascriptcore/JavaScriptCore/runtime/Collector.cpp -+++ src/3rdparty/javascriptcore/JavaScriptCore/runtime/Collector.cpp -@@ -52,6 +52,8 @@ - #include - #include - #include -+// clang's libc++ headers does not pull in pthread.h (but libstdc++ does) -+#include - - #elif OS(WINDOWS) - --- -1.8.4 - diff --git a/devel/qt4-script/files/patch-src__3rdparty__javascriptcore__JavaScriptCore__wtf__HashTable.h b/devel/qt4-script/files/patch-src__3rdparty__javascriptcore__JavaScriptCore__wtf__HashTable.h deleted file mode 100644 index 20f5b8c74a99..000000000000 --- a/devel/qt4-script/files/patch-src__3rdparty__javascriptcore__JavaScriptCore__wtf__HashTable.h +++ /dev/null @@ -1,40 +0,0 @@ -From 952b046ba5bc99986f747729681914e21f8fb8b0 Mon Sep 17 00:00:00 2001 -From: "Bradley T. Hughes" -Date: Wed, 30 May 2012 11:49:40 +0200 -Subject: [PATCH] Compile with clang's libc++ - -An overload for std::swap() what works with std::pair is included -in libc++ (but not libstdc++). Avoid ambiguity in HashTable.h by -omitting the version there and using the std::swap() version. - -Collector.cpp needs to include pthread.h directly, as it is not -automatically included by libc++'s headers (libstdc++ does pull in -pthread.h though). - -Cherry-picked from qtscript/48baeef0766ba145d26d374561e152b40245f3b8. - -Change-Id: I4dc88638ce8553bb97037b841fc6cc5e8c9911e2 -Reviewed-by: Thiago Macieira ---- - src/3rdparty/javascriptcore/JavaScriptCore/runtime/Collector.cpp | 2 ++ - src/3rdparty/javascriptcore/JavaScriptCore/wtf/HashTable.h | 4 ++-- - 2 files changed, 4 insertions(+), 2 deletions(-) - -diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/wtf/HashTable.h b/src/3rdparty/javascriptcore/JavaScriptCore/wtf/HashTable.h -index bea9daa..42a9233 100644 ---- src/3rdparty/javascriptcore/JavaScriptCore/wtf/HashTable.h -+++ src/3rdparty/javascriptcore/JavaScriptCore/wtf/HashTable.h -@@ -257,8 +257,8 @@ namespace WTF { - - using std::swap; - --#if !COMPILER(MSVC) && !OS(QNX) -- // The Dinkumware C++ library (used by MSVC and QNX) has a swap for pairs defined. -+#if !COMPILER(MSVC) && !OS(QNX) && !defined(_LIBCPP_VERSION) -+ // The Dinkumware C++ library (used by MSVC and QNX) and clang's libc++ have a swap for pairs defined. - - // swap pairs by component, in case of pair members that specialize swap - template inline void swap(pair& a, pair& b) --- -1.8.4 - diff --git a/devel/qt4-script/files/patch-src__3rdparty__javascriptcore__JavaScriptCore__wtf__Threading.h b/devel/qt4-script/files/patch-src__3rdparty__javascriptcore__JavaScriptCore__wtf__Threading.h index 524827951209..77e4e34f68ac 100644 --- a/devel/qt4-script/files/patch-src__3rdparty__javascriptcore__JavaScriptCore__wtf__Threading.h +++ b/devel/qt4-script/files/patch-src__3rdparty__javascriptcore__JavaScriptCore__wtf__Threading.h @@ -1,48 +1,5 @@ -From 0de22e80ac645afc3793419300d6271d95809196 Mon Sep 17 00:00:00 2001 -From: Raphael Kubo da Costa -Date: Tue, 11 Jun 2013 19:25:08 +0300 -Subject: [PATCH] Bring in WebKit revisions 139553 and 139921. - -They are primarily useful for getting rid of some libstdc++-specific -includes which break the build with libc++, and also for simplifying the -code and removing a Darwin-specific code path. - -r139553 by ossy@webkit.org: - Use sync_add_and_fetch instead of gnu_cxx::exchange_and_add - https://bugs.webkit.org/show_bug.cgi?id=106729 - - After r139514 we need atomicIncrement(int64_t volatile*) for all - platform. Now the GCC implementation of atomicIncrement() is based on - gnu_cxx::exchange_and_add, which doesn't support int64_t type, but - sync_add_and_fetch does. - - Reviewed by Benjamin Poulain. - -r139921 by benjamin@webkit.org: - Use GCC's implementation of atomicIncrement/Decrement on Mac - https://bugs.webkit.org/show_bug.cgi?id=106976 - - Reviewed by Filip Pizlo. - - wtf/Atomics.h: GCC and LLVM have builtin for atomic ADD and SUB: - sync_add_and_fetch, sync_sub_and_fetch. - - Using them let the compiler just generate the atomic operations inline - instead of generating a function call to LibC. It also simplify the - code a bit. - -Cherry-picked from qtscript/184fc178f4c753727445694c4830c250f53da588. - -Change-Id: Id785e35944682691725947e0f329668d17ff6903 -Reviewed-by: Thiago Macieira ---- - .../javascriptcore/JavaScriptCore/wtf/Threading.h | 18 ++---------------- - 1 file changed, 2 insertions(+), 16 deletions(-) - -diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h b/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h -index 8b76c0f..b3ea7d2 100644 ---- src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h -+++ src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h +--- src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h.orig 2014-04-10 20:37:12.000000000 +0200 ++++ src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h 2014-04-24 15:06:18.000000000 +0200 @@ -71,18 +71,10 @@ #if OS(WINDOWS) && !OS(WINCE) @@ -62,7 +19,7 @@ index 8b76c0f..b3ea7d2 100644 #endif #if USE(PTHREADS) -@@ -230,12 +222,6 @@ inline int atomicIncrement(int volatile* addend) { return InterlockedIncrement(r +@@ -230,12 +222,6 @@ inline int atomicDecrement(int volatile* addend) { return InterlockedDecrement(reinterpret_cast(addend)); } #endif @@ -75,17 +32,3 @@ index 8b76c0f..b3ea7d2 100644 #elif OS(ANDROID) inline int atomicIncrement(int volatile* addend) { return android_atomic_inc(addend); } -@@ -250,8 +236,8 @@ inline int atomicDecrement(int volatile* addend) { return (int) atomic_sub_value - #elif COMPILER(GCC) && !CPU(SPARC64) && !OS(SYMBIAN) // sizeof(_Atomic_word) != sizeof(int) on sparc64 gcc - #define WTF_USE_LOCKFREE_THREADSAFESHARED 1 - --inline int atomicIncrement(int volatile* addend) { return __gnu_cxx::__exchange_and_add(addend, 1) + 1; } --inline int atomicDecrement(int volatile* addend) { return __gnu_cxx::__exchange_and_add(addend, -1) - 1; } -+inline int atomicIncrement(int volatile* addend) { return __sync_add_and_fetch(addend, 1); } -+inline int atomicDecrement(int volatile* addend) { return __sync_sub_and_fetch(addend, 1); } - - #endif - --- -1.8.4 - diff --git a/devel/qt4/Makefile b/devel/qt4/Makefile index cb15940e3519..b20fa081bfda 100644 --- a/devel/qt4/Makefile +++ b/devel/qt4/Makefile @@ -3,7 +3,6 @@ PORTNAME= qt4 DISTVERSION= ${QT4_VERSION} -PORTREVISION= 1 CATEGORIES= devel MASTER_SITES= # empty DISTFILES= # none diff --git a/devel/qt4/distinfo b/devel/qt4/distinfo index e74ce75635f7..46ee321148f5 100644 --- a/devel/qt4/distinfo +++ b/devel/qt4/distinfo @@ -1,2 +1,2 @@ -SHA256 (KDE/qt-everywhere-opensource-src-4.8.5.tar.gz) = eb728f8268831dc4373be6403b7dd5d5dde03c169ad6882f9a8cb560df6aa138 -SIZE (KDE/qt-everywhere-opensource-src-4.8.5.tar.gz) = 241491467 +SHA256 (KDE/qt-everywhere-opensource-src-4.8.6.tar.gz) = 8b14dd91b52862e09b8e6a963507b74bc2580787d171feda197badfa7034032c +SIZE (KDE/qt-everywhere-opensource-src-4.8.6.tar.gz) = 241623667 diff --git a/devel/qtcreator/Makefile b/devel/qtcreator/Makefile index d71867745109..5cd90935b24a 100644 --- a/devel/qtcreator/Makefile +++ b/devel/qtcreator/Makefile @@ -3,7 +3,7 @@ PORTNAME= qtcreator DISTVERSION= 2.8.0 -PORTREVISION= 2 +PORTREVISION= 3 CATEGORIES= devel MASTER_SITES= ${MASTER_SITE_QT:S/$/:qtcreator/} \ ${MASTER_SITE_QT} diff --git a/devel/qtcreator/distinfo b/devel/qtcreator/distinfo index 9c7438d15ea5..a111954e2442 100644 --- a/devel/qtcreator/distinfo +++ b/devel/qtcreator/distinfo @@ -1,4 +1,4 @@ SHA256 (KDE/qt-creator-2.8.0-src.tar.gz) = 7ac5d9a36c2f561f74d77378d4eae95a78c7752b323e1df924d6e895e99f45d2 SIZE (KDE/qt-creator-2.8.0-src.tar.gz) = 24210148 -SHA256 (KDE/qt-everywhere-opensource-src-4.8.5.tar.gz) = eb728f8268831dc4373be6403b7dd5d5dde03c169ad6882f9a8cb560df6aa138 -SIZE (KDE/qt-everywhere-opensource-src-4.8.5.tar.gz) = 241491467 +SHA256 (KDE/qt-everywhere-opensource-src-4.8.6.tar.gz) = 8b14dd91b52862e09b8e6a963507b74bc2580787d171feda197badfa7034032c +SIZE (KDE/qt-everywhere-opensource-src-4.8.6.tar.gz) = 241623667 diff --git a/graphics/qt4-pixeltool/Makefile b/graphics/qt4-pixeltool/Makefile index d9fa14591c8b..4e6aa7a81c10 100644 --- a/graphics/qt4-pixeltool/Makefile +++ b/graphics/qt4-pixeltool/Makefile @@ -3,7 +3,6 @@ PORTNAME= pixeltool DISTVERSION= ${QT4_VERSION} -PORTREVISION= 1 CATEGORIES= graphics PKGNAMEPREFIX= qt4- diff --git a/misc/qt4-doc/pkg-plist b/misc/qt4-doc/pkg-plist index c1be84253418..c788fdfac87f 100644 --- a/misc/qt4-doc/pkg-plist +++ b/misc/qt4-doc/pkg-plist @@ -229,8 +229,8 @@ %%DOCSDIR%%/html/declarative-cppextensions-networkaccessmanagerfactory-networkaccessmanagerfactory-qrc.html %%DOCSDIR%%/html/declarative-cppextensions-networkaccessmanagerfactory-qml-networkaccessmanagerfactory-view-qml.html %%DOCSDIR%%/html/declarative-cppextensions-networkaccessmanagerfactory.html -%%DOCSDIR%%/html/declarative-cppextensions-plugins-com-nokia-timeexample-clock-qml.html -%%DOCSDIR%%/html/declarative-cppextensions-plugins-com-nokia-timeexample-qmldir.html +%%DOCSDIR%%/html/declarative-cppextensions-plugins-org-qtproject-timeexample-clock-qml.html +%%DOCSDIR%%/html/declarative-cppextensions-plugins-org-qtproject-timeexample-qmldir.html %%DOCSDIR%%/html/declarative-cppextensions-plugins-plugin-cpp.html %%DOCSDIR%%/html/declarative-cppextensions-plugins-plugins-pro.html %%DOCSDIR%%/html/declarative-cppextensions-plugins-plugins-qml.html diff --git a/misc/qt4-l10n/pkg-plist b/misc/qt4-l10n/pkg-plist index 09b0ecfda907..5da777507796 100644 --- a/misc/qt4-l10n/pkg-plist +++ b/misc/qt4-l10n/pkg-plist @@ -1,6 +1,7 @@ %%QT_L10NDIR%%/assistant_cs.qm %%QT_L10NDIR%%/assistant_da.qm %%QT_L10NDIR%%/assistant_de.qm +%%QT_L10NDIR%%/assistant_eu.qm %%QT_L10NDIR%%/assistant_fr.qm %%QT_L10NDIR%%/assistant_hu.qm %%QT_L10NDIR%%/assistant_ja.qm @@ -25,6 +26,7 @@ %%QT_L10NDIR%%/designer_zh_TW.qm %%QT_L10NDIR%%/linguist_cs.qm %%QT_L10NDIR%%/linguist_de.qm +%%QT_L10NDIR%%/linguist_eu.qm %%QT_L10NDIR%%/linguist_fr.qm %%QT_L10NDIR%%/linguist_hu.qm %%QT_L10NDIR%%/linguist_ja.qm @@ -40,6 +42,7 @@ %%QT_L10NDIR%%/qt_da.qm %%QT_L10NDIR%%/qt_de.qm %%QT_L10NDIR%%/qt_es.qm +%%QT_L10NDIR%%/qt_eu.qm %%QT_L10NDIR%%/qt_fa.qm %%QT_L10NDIR%%/qt_fr.qm %%QT_L10NDIR%%/qt_gl.qm @@ -47,6 +50,7 @@ %%QT_L10NDIR%%/qt_help_cs.qm %%QT_L10NDIR%%/qt_help_da.qm %%QT_L10NDIR%%/qt_help_de.qm +%%QT_L10NDIR%%/qt_help_eu.qm %%QT_L10NDIR%%/qt_help_fr.qm %%QT_L10NDIR%%/qt_help_gl.qm %%QT_L10NDIR%%/qt_help_hu.qm @@ -71,6 +75,8 @@ %%QT_L10NDIR%%/qt_uk.qm %%QT_L10NDIR%%/qt_zh_CN.qm %%QT_L10NDIR%%/qt_zh_TW.qm +%%QT_L10NDIR%%/qtconfig_eu.qm +%%QT_L10NDIR%%/qtconfig_he.qm %%QT_L10NDIR%%/qtconfig_hu.qm %%QT_L10NDIR%%/qtconfig_ja.qm %%QT_L10NDIR%%/qtconfig_ko.qm @@ -80,6 +86,8 @@ %%QT_L10NDIR%%/qtconfig_uk.qm %%QT_L10NDIR%%/qtconfig_zh_CN.qm %%QT_L10NDIR%%/qtconfig_zh_TW.qm +%%QT_L10NDIR%%/qtscript_eu.qm +%%QT_L10NDIR%%/qvfb_eu.qm %%QT_L10NDIR%%/qvfb_hu.qm %%QT_L10NDIR%%/qvfb_ja.qm %%QT_L10NDIR%%/qvfb_ko.qm diff --git a/misc/qt4-qtconfig/Makefile b/misc/qt4-qtconfig/Makefile index a3ae6b248eb4..9341ba0cc61c 100644 --- a/misc/qt4-qtconfig/Makefile +++ b/misc/qt4-qtconfig/Makefile @@ -3,7 +3,6 @@ PORTNAME= qtconfig DISTVERSION= ${QT4_VERSION} -PORTREVISION= 2 CATEGORIES= misc PKGNAMEPREFIX= qt4- diff --git a/misc/qt4-qtdemo/Makefile b/misc/qt4-qtdemo/Makefile index c2ffa15f705a..b7cb781152b0 100644 --- a/misc/qt4-qtdemo/Makefile +++ b/misc/qt4-qtdemo/Makefile @@ -3,7 +3,6 @@ PORTNAME= qtdemo DISTVERSION= ${QT4_VERSION} -PORTREVISION= 2 CATEGORIES= misc PKGNAMEPREFIX= qt4- diff --git a/misc/qt4-qtdemo/pkg-plist b/misc/qt4-qtdemo/pkg-plist index b42ab42807c1..c80f65efa92a 100644 --- a/misc/qt4-qtdemo/pkg-plist +++ b/misc/qt4-qtdemo/pkg-plist @@ -1032,16 +1032,16 @@ %%QT_EXAMPLEDIR%%/examples/declarative/cppextensions/networkaccessmanagerfactory/qml/networkaccessmanagerfactory/view.qml %%QT_EXAMPLEDIR%%/examples/declarative/cppextensions/plugins/Makefile %%QT_EXAMPLEDIR%%/examples/declarative/cppextensions/plugins/README -%%QT_EXAMPLEDIR%%/examples/declarative/cppextensions/plugins/com/nokia/TimeExample/Clock.qml -%%QT_EXAMPLEDIR%%/examples/declarative/cppextensions/plugins/com/nokia/TimeExample/center.png -%%QT_EXAMPLEDIR%%/examples/declarative/cppextensions/plugins/com/nokia/TimeExample/clock.png -%%QT_EXAMPLEDIR%%/examples/declarative/cppextensions/plugins/com/nokia/TimeExample/hour.png -%%QT_EXAMPLEDIR%%/examples/declarative/cppextensions/plugins/com/nokia/TimeExample/libqmlqtimeexampleplugin.so -%%DEBUG%%%%QT_EXAMPLEDIR%%/examples/declarative/cppextensions/plugins/com/nokia/TimeExample/libqmlqtimeexampleplugin.so.debug -%%QT_EXAMPLEDIR%%/examples/declarative/cppextensions/plugins/com/nokia/TimeExample/minute.png -%%QT_EXAMPLEDIR%%/examples/declarative/cppextensions/plugins/com/nokia/TimeExample/qmldir %%QT_EXAMPLEDIR%%/examples/declarative/cppextensions/plugins/libqmlqwidgetsplugin.so %%DEBUG%%%%QT_EXAMPLEDIR%%/examples/declarative/cppextensions/plugins/libqmlqwidgetsplugin.so.debug +%%QT_EXAMPLEDIR%%/examples/declarative/cppextensions/plugins/org/qtproject/TimeExample/Clock.qml +%%QT_EXAMPLEDIR%%/examples/declarative/cppextensions/plugins/org/qtproject/TimeExample/center.png +%%QT_EXAMPLEDIR%%/examples/declarative/cppextensions/plugins/org/qtproject/TimeExample/clock.png +%%QT_EXAMPLEDIR%%/examples/declarative/cppextensions/plugins/org/qtproject/TimeExample/hour.png +%%QT_EXAMPLEDIR%%/examples/declarative/cppextensions/plugins/org/qtproject/TimeExample/libqmlqtimeexampleplugin.so +%%DEBUG%%%%QT_EXAMPLEDIR%%/examples/declarative/cppextensions/plugins/org/qtproject/TimeExample/libqmlqtimeexampleplugin.so.debug +%%QT_EXAMPLEDIR%%/examples/declarative/cppextensions/plugins/org/qtproject/TimeExample/minute.png +%%QT_EXAMPLEDIR%%/examples/declarative/cppextensions/plugins/org/qtproject/TimeExample/qmldir %%QT_EXAMPLEDIR%%/examples/declarative/cppextensions/plugins/plugin.cpp %%QT_EXAMPLEDIR%%/examples/declarative/cppextensions/plugins/plugins.pro %%QT_EXAMPLEDIR%%/examples/declarative/cppextensions/plugins/plugins.qml @@ -4831,9 +4831,9 @@ @dirrm %%QT_EXAMPLEDIR%%/examples/declarative/cppextensions/qgraphicslayouts/qgraphicsgridlayout @dirrm %%QT_EXAMPLEDIR%%/examples/declarative/cppextensions/qgraphicslayouts/layoutitem @dirrm %%QT_EXAMPLEDIR%%/examples/declarative/cppextensions/qgraphicslayouts -@dirrm %%QT_EXAMPLEDIR%%/examples/declarative/cppextensions/plugins/com/nokia/TimeExample -@dirrm %%QT_EXAMPLEDIR%%/examples/declarative/cppextensions/plugins/com/nokia -@dirrm %%QT_EXAMPLEDIR%%/examples/declarative/cppextensions/plugins/com +@dirrm %%QT_EXAMPLEDIR%%/examples/declarative/cppextensions/plugins/org/qtproject/TimeExample +@dirrm %%QT_EXAMPLEDIR%%/examples/declarative/cppextensions/plugins/org/qtproject +@dirrm %%QT_EXAMPLEDIR%%/examples/declarative/cppextensions/plugins/org @dirrm %%QT_EXAMPLEDIR%%/examples/declarative/cppextensions/plugins @dirrm %%QT_EXAMPLEDIR%%/examples/declarative/cppextensions/networkaccessmanagerfactory/qml/networkaccessmanagerfactory @dirrm %%QT_EXAMPLEDIR%%/examples/declarative/cppextensions/networkaccessmanagerfactory/qml diff --git a/www/webkit-qt4/Makefile b/www/webkit-qt4/Makefile index a795db62eec4..fb34e6aac9a9 100644 --- a/www/webkit-qt4/Makefile +++ b/www/webkit-qt4/Makefile @@ -3,7 +3,6 @@ PORTNAME= webkit DISTVERSION= ${QT4_VERSION} -PORTREVISION= 1 CATEGORIES= www PKGNAMEPREFIX= qt4- diff --git a/www/webkit-qt4/files/patch-libcxx b/www/webkit-qt4/files/patch-libcxx index 1107c65e587f..ab695126e9fc 100644 --- a/www/webkit-qt4/files/patch-libcxx +++ b/www/webkit-qt4/files/patch-libcxx @@ -208,7 +208,7 @@ libc++ provides std::nullptr emulation, so we don't have to. #define __has_feature(feature) 0 #endif --#if __has_feature(cxx_nullptr) || (GCC_VERSION_AT_LEAST(4, 6, 0) && defined(__GXX_EXPERIMENTAL_CXX0X__)) || (defined(_MSC_VER) && _MSC_VER >= 1600 && !COMPILER(INTEL)) +-#if __has_feature(cxx_nullptr) || (GCC_VERSION_AT_LEAST(4, 6, 0) && defined(__GXX_EXPERIMENTAL_CXX0X__)) || (defined(_MSC_VER) && _MSC_VER >= 1600 && !COMPILER(INTEL)) || defined(_LIBCPP_VERSION) +#include + +#if __has_feature(cxx_nullptr) || (GCC_VERSION_AT_LEAST(4, 6, 0) && defined(__GXX_EXPERIMENTAL_CXX0X__)) || (defined(_MSC_VER) && _MSC_VER >= 1600 && !COMPILER(INTEL)) || defined(_LIBCPP_VERSION) @@ -231,288 +231,6 @@ libc++ provides std::nullptr emulation, so we don't have to. document()->setParsing(false); // Make the doc think it's done, so it will apply xsl sheets. document()->styleSelectorChanged(RecalcStyleImmediately); document()->setParsing(true); ---- src/3rdparty/webkit/Source/WebCore/platform/Timer.cpp (revision 92555) -+++ src/3rdparty/webkit/Source/WebCore/platform/Timer.cpp (revision 92556) -@@ -41,6 +41,8 @@ - - namespace WebCore { - -+class TimerHeapReference; -+ - // Timers are stored in a heap data structure, used to implement a priority queue. - // This allows us to efficiently determine which timer needs to fire the soonest. - // Then we set a single shared system timer to fire at that time. -@@ -53,113 +55,141 @@ - return threadGlobalData().threadTimers().timerHeap(); - } - --// Class to represent elements in the heap when calling the standard library heap algorithms. --// Maintains the m_heapIndex value in the timers themselves, which allows us to do efficient --// modification of the heap. --class TimerHeapElement { -+// ---------------- -+ -+class TimerHeapPointer { - public: -- explicit TimerHeapElement(int i) -- : m_index(i) -- , m_timer(timerHeap()[m_index]) -- { -- checkConsistency(); -- } -+ TimerHeapPointer(TimerBase** pointer) : m_pointer(pointer) { } -+ TimerHeapReference operator*() const; -+ TimerBase* operator->() const { return *m_pointer; } -+private: -+ TimerBase** m_pointer; -+}; - -- TimerHeapElement(const TimerHeapElement&); -- TimerHeapElement& operator=(const TimerHeapElement&); -- -- TimerBase* timer() const { return m_timer; } -- -- void checkConsistency() const -- { -- ASSERT(m_index >= 0); -- ASSERT(m_index < static_cast(timerHeap().size())); -- } -- -+class TimerHeapReference { -+public: -+ TimerHeapReference(TimerBase*& reference) : m_reference(reference) { } -+ operator TimerBase*() const { return m_reference; } -+ TimerHeapPointer operator&() const { return &m_reference; } -+ TimerHeapReference& operator=(TimerBase*); -+ TimerHeapReference& operator=(TimerHeapReference); - private: -- TimerHeapElement(); -- -- int m_index; -- TimerBase* m_timer; -+ TimerBase*& m_reference; - }; - --inline TimerHeapElement::TimerHeapElement(const TimerHeapElement& o) -- : m_index(-1), m_timer(o.timer()) -+inline TimerHeapReference TimerHeapPointer::operator*() const - { -+ return *m_pointer; - } - --inline TimerHeapElement& TimerHeapElement::operator=(const TimerHeapElement& o) -+inline TimerHeapReference& TimerHeapReference::operator=(TimerBase* timer) - { -- TimerBase* t = o.timer(); -- m_timer = t; -- if (m_index != -1) { -- checkConsistency(); -- timerHeap()[m_index] = t; -- t->m_heapIndex = m_index; -- } -+ m_reference = timer; -+ Vector& heap = timerHeap(); -+ if (&m_reference >= heap.data() && &m_reference < heap.data() + heap.size()) -+ timer->m_heapIndex = &m_reference - heap.data(); - return *this; - } - --inline bool operator<(const TimerHeapElement& a, const TimerHeapElement& b) -+inline TimerHeapReference& TimerHeapReference::operator=(TimerHeapReference b) - { -- // The comparisons below are "backwards" because the heap puts the largest -- // element first and we want the lowest time to be the first one in the heap. -- double aFireTime = a.timer()->m_nextFireTime; -- double bFireTime = b.timer()->m_nextFireTime; -- if (bFireTime != aFireTime) -- return bFireTime < aFireTime; -- -- // We need to look at the difference of the insertion orders instead of comparing the two -- // outright in case of overflow. -- unsigned difference = a.timer()->m_heapInsertionOrder - b.timer()->m_heapInsertionOrder; -- return difference < UINT_MAX / 2; -+ TimerBase* timer = b; -+ return *this = timer; - } - -+inline void swap(TimerHeapReference a, TimerHeapReference b) -+{ -+ TimerBase* timerA = a; -+ TimerBase* timerB = b; -+ -+ // Invoke the assignment operator, since that takes care of updating m_heapIndex. -+ a = timerB; -+ b = timerA; -+} -+ - // ---------------- - - // Class to represent iterators in the heap when calling the standard library heap algorithms. --// Returns TimerHeapElement for elements in the heap rather than the TimerBase pointers themselves. --class TimerHeapIterator : public iterator { -+// Uses a custom pointer and reference type that update indices for pointers in the heap. -+class TimerHeapIterator : public iterator { - public: -- TimerHeapIterator() : m_index(-1) { } -- TimerHeapIterator(int i) : m_index(i) { checkConsistency(); } -+ explicit TimerHeapIterator(TimerBase** pointer) : m_pointer(pointer) { checkConsistency(); } - -- TimerHeapIterator& operator++() { checkConsistency(); ++m_index; checkConsistency(); return *this; } -- TimerHeapIterator operator++(int) { checkConsistency(); checkConsistency(1); return m_index++; } -+ TimerHeapIterator& operator++() { checkConsistency(); ++m_pointer; checkConsistency(); return *this; } -+ TimerHeapIterator operator++(int) { checkConsistency(1); return TimerHeapIterator(m_pointer++); } - -- TimerHeapIterator& operator--() { checkConsistency(); --m_index; checkConsistency(); return *this; } -- TimerHeapIterator operator--(int) { checkConsistency(); checkConsistency(-1); return m_index--; } -+ TimerHeapIterator& operator--() { checkConsistency(); --m_pointer; checkConsistency(); return *this; } -+ TimerHeapIterator operator--(int) { checkConsistency(-1); return TimerHeapIterator(m_pointer--); } - -- TimerHeapIterator& operator+=(int i) { checkConsistency(); m_index += i; checkConsistency(); return *this; } -- TimerHeapIterator& operator-=(int i) { checkConsistency(); m_index -= i; checkConsistency(); return *this; } -+ TimerHeapIterator& operator+=(ptrdiff_t i) { checkConsistency(); m_pointer += i; checkConsistency(); return *this; } -+ TimerHeapIterator& operator-=(ptrdiff_t i) { checkConsistency(); m_pointer -= i; checkConsistency(); return *this; } - -- TimerHeapElement operator*() const { return TimerHeapElement(m_index); } -- TimerHeapElement operator[](int i) const { return TimerHeapElement(m_index + i); } -+ TimerHeapReference operator*() const { return TimerHeapReference(*m_pointer); } -+ TimerHeapReference operator[](ptrdiff_t i) const { return TimerHeapReference(m_pointer[i]); } -+ TimerBase* operator->() const { return *m_pointer; } - -- int index() const { return m_index; } -- -- void checkConsistency(int offset = 0) const -+private: -+ void checkConsistency(ptrdiff_t offset = 0) const - { -- ASSERT_UNUSED(offset, m_index + offset >= 0); -- ASSERT_UNUSED(offset, m_index + offset <= static_cast(timerHeap().size())); -+ ASSERT(m_pointer >= timerHeap().data()); -+ ASSERT(m_pointer <= timerHeap().data() + timerHeap().size()); -+ ASSERT_UNUSED(offset, m_pointer + offset >= timerHeap().data()); -+ ASSERT_UNUSED(offset, m_pointer + offset <= timerHeap().data() + timerHeap().size()); - } - --private: -- int m_index; -+ friend bool operator==(TimerHeapIterator, TimerHeapIterator); -+ friend bool operator!=(TimerHeapIterator, TimerHeapIterator); -+ friend bool operator<(TimerHeapIterator, TimerHeapIterator); -+ friend bool operator>(TimerHeapIterator, TimerHeapIterator); -+ friend bool operator<=(TimerHeapIterator, TimerHeapIterator); -+ friend bool operator>=(TimerHeapIterator, TimerHeapIterator); -+ -+ friend TimerHeapIterator operator+(TimerHeapIterator, size_t); -+ friend TimerHeapIterator operator+(size_t, TimerHeapIterator); -+ -+ friend TimerHeapIterator operator-(TimerHeapIterator, size_t); -+ friend ptrdiff_t operator-(TimerHeapIterator, TimerHeapIterator); -+ -+ TimerBase** m_pointer; - }; - --inline bool operator==(TimerHeapIterator a, TimerHeapIterator b) { return a.index() == b.index(); } --inline bool operator!=(TimerHeapIterator a, TimerHeapIterator b) { return a.index() != b.index(); } --inline bool operator<(TimerHeapIterator a, TimerHeapIterator b) { return a.index() < b.index(); } -+inline bool operator==(TimerHeapIterator a, TimerHeapIterator b) { return a.m_pointer == b.m_pointer; } -+inline bool operator!=(TimerHeapIterator a, TimerHeapIterator b) { return a.m_pointer != b.m_pointer; } -+inline bool operator<(TimerHeapIterator a, TimerHeapIterator b) { return a.m_pointer < b.m_pointer; } -+inline bool operator>(TimerHeapIterator a, TimerHeapIterator b) { return a.m_pointer > b.m_pointer; } -+inline bool operator<=(TimerHeapIterator a, TimerHeapIterator b) { return a.m_pointer <= b.m_pointer; } -+inline bool operator>=(TimerHeapIterator a, TimerHeapIterator b) { return a.m_pointer >= b.m_pointer; } - --inline TimerHeapIterator operator+(TimerHeapIterator a, int b) { return a.index() + b; } --inline TimerHeapIterator operator+(int a, TimerHeapIterator b) { return a + b.index(); } -+inline TimerHeapIterator operator+(TimerHeapIterator a, size_t b) { return TimerHeapIterator(a.m_pointer + b); } -+inline TimerHeapIterator operator+(size_t a, TimerHeapIterator b) { return TimerHeapIterator(a + b.m_pointer); } - --inline TimerHeapIterator operator-(TimerHeapIterator a, int b) { return a.index() - b; } --inline int operator-(TimerHeapIterator a, TimerHeapIterator b) { return a.index() - b.index(); } -+inline TimerHeapIterator operator-(TimerHeapIterator a, size_t b) { return TimerHeapIterator(a.m_pointer - b); } -+inline ptrdiff_t operator-(TimerHeapIterator a, TimerHeapIterator b) { return a.m_pointer - b.m_pointer; } - - // ---------------- - -+class TimerHeapLessThanFunction { -+public: -+ bool operator()(TimerBase*, TimerBase*) const; -+}; -+ -+inline bool TimerHeapLessThanFunction::operator()(TimerBase* a, TimerBase* b) const -+{ -+ // The comparisons below are "backwards" because the heap puts the largest -+ // element first and we want the lowest time to be the first one in the heap. -+ double aFireTime = a->m_nextFireTime; -+ double bFireTime = b->m_nextFireTime; -+ if (bFireTime != aFireTime) -+ return bFireTime < aFireTime; -+ -+ // We need to look at the difference of the insertion orders instead of comparing the two -+ // outright in case of overflow. -+ unsigned difference = a->m_heapInsertionOrder - b->m_heapInsertionOrder; -+ return difference < numeric_limits::max() / 2; -+} -+ -+// ---------------- -+ - TimerBase::TimerBase() - : m_nextFireTime(0) - , m_repeatInterval(0) -@@ -225,7 +255,8 @@ - { - ASSERT(m_nextFireTime != 0); - checkHeapIndex(); -- push_heap(TimerHeapIterator(0), TimerHeapIterator(m_heapIndex + 1)); -+ TimerBase** heapData = timerHeap().data(); -+ push_heap(TimerHeapIterator(heapData), TimerHeapIterator(heapData + m_heapIndex + 1), TimerHeapLessThanFunction()); - checkHeapIndex(); - } - -@@ -274,7 +305,9 @@ - { - ASSERT(this == timerHeap().first()); - checkHeapIndex(); -- pop_heap(TimerHeapIterator(0), TimerHeapIterator(timerHeap().size())); -+ Vector& heap = timerHeap(); -+ TimerBase** heapData = heap.data(); -+ pop_heap(TimerHeapIterator(heapData), TimerHeapIterator(heapData + heap.size()), TimerHeapLessThanFunction()); - checkHeapIndex(); - ASSERT(this == timerHeap().last()); - } ---- src/3rdparty/webkit/Source/WebCore/platform/Timer.h (revision 92555) -+++ src/3rdparty/webkit/Source/WebCore/platform/Timer.h (revision 92556) -@@ -84,9 +84,9 @@ - ThreadIdentifier m_thread; - #endif - -- friend class TimerHeapElement; - friend class ThreadTimers; -- friend bool operator<(const TimerHeapElement&, const TimerHeapElement&); -+ friend class TimerHeapLessThanFunction; -+ friend class TimerHeapReference; - }; - - template class Timer : public TimerBase { ---- src/3rdparty/webkit/Source/WebCore/platform/graphics/qt/GraphicsLayerQt.cpp (revision 86531) -+++ src/3rdparty/webkit/Source/WebCore/platform/graphics/qt/GraphicsLayerQt.cpp (revision 86532) -@@ -944,7 +944,7 @@ - - GraphicsLayerQt::GraphicsLayerQt(GraphicsLayerClient* client) - : GraphicsLayer(client) -- , m_impl(PassOwnPtr(new GraphicsLayerQtImpl(this))) -+ , m_impl(adoptPtr(new GraphicsLayerQtImpl(this))) - { - } - -@@ -955,7 +955,7 @@ - // This is the hook for WebCore compositor to know that Qt implements compositing with GraphicsLayerQt. - PassOwnPtr GraphicsLayer::create(GraphicsLayerClient* client) - { -- return new GraphicsLayerQt(client); -+ return adoptPtr(new GraphicsLayerQt(client)); - } - - /* \reimp (GraphicsLayer.h): The current size might change, thus we need to update the whole display. - --- src/3rdparty/webkit/Source/WebCore/loader/icon/IconRecord.h +++ src/3rdparty/webkit/Source/WebCore/loader/icon/IconRecord.h @@ -38,7 +38,7 @@ @@ -548,15 +266,6 @@ libc++ provides std::nullptr emulation, so we don't have to. --- src/3rdparty/webkit/Source/WebCore/platform/network/qt/QNetworkReplyHandler.cpp (revision 86529) +++ src/3rdparty/webkit/Source/WebCore/platform/network/qt/QNetworkReplyHandler.cpp (revision 86530) -@@ -235,7 +235,7 @@ - resetConnections(); - QNetworkReply* reply = m_reply; - m_reply = 0; -- m_sniffer = 0; -+ m_sniffer = nullptr; - - reply->setParent(0); - return reply; @@ -285,7 +285,7 @@ Q_ASSERT(!m_sniffer); @@ -566,58 +275,7 @@ libc++ provides std::nullptr emulation, so we don't have to. if (m_sniffer->isFinished()) { receiveSniffedMIMEType(); -@@ -300,7 +300,7 @@ - Q_ASSERT(m_sniffer); - - m_sniffedMIMEType = m_sniffer->mimeType(); -- m_sniffer = 0; -+ m_sniffer = nullptr; - - emitMetaDataChanged(); - } -@@ -417,7 +417,7 @@ - return 0; - - QNetworkReply* reply = m_replyWrapper->release(); -- m_replyWrapper = 0; -+ m_replyWrapper = nullptr; - return reply; - } - -@@ -440,12 +440,12 @@ - - ResourceHandleClient* client = m_resourceHandle->client(); - if (!client) { -- m_replyWrapper = 0; -+ m_replyWrapper = nullptr; - return; - } - - if (m_replyWrapper->wasRedirected()) { -- m_replyWrapper = 0; -+ m_replyWrapper = nullptr; - m_queue.push(&QNetworkReplyHandler::start); - return; - } -@@ -465,7 +465,7 @@ - } - } - -- m_replyWrapper = 0; -+ m_replyWrapper = nullptr; - } - - void QNetworkReplyHandler::sendResponseIfNeeded() -@@ -539,7 +539,7 @@ - newUrl.toString(), - QCoreApplication::translate("QWebPage", "Redirection limit reached")); - client->didFail(m_resourceHandle, error); -- m_replyWrapper = 0; -+ m_replyWrapper = nullptr; - return; - } - -@@ -660,7 +660,7 @@ +@@ -666,7 +666,7 @@ if (!reply) return; @@ -641,16 +299,7 @@ libc++ provides std::nullptr emulation, so we don't have to. --- src/3rdparty/webkit/Source/WebKit/qt/Api/qgraphicswebview.cpp (revision 86532) +++ src/3rdparty/webkit/Source/WebKit/qt/Api/qgraphicswebview.cpp (revision 86533) -@@ -473,7 +473,7 @@ - return; - - page->d->view.clear(); -- page->d->client = 0; -+ page->d->client = nullptr; - - // if the page was created by us, we own it and need to - // destroy it as well. -@@ -506,7 +506,7 @@ +@@ -504,7 +504,7 @@ if (!d->page) return; @@ -927,18 +576,6 @@ libc++ provides std::nullptr emulation, so we don't have to. , m_destroyingInspectorView(false) --- src/3rdparty/webkit/Source/WebKit/qt/WebCoreSupport/NotificationPresenterClientQt.cpp (revision 86536) +++ src/3rdparty/webkit/Source/WebKit/qt/WebCoreSupport/NotificationPresenterClientQt.cpp (revision 86550) -@@ -73,9 +73,9 @@ - #if ENABLE(NOTIFICATIONS) - - #ifndef QT_NO_SYSTEMTRAYICON -- m_notificationIcon = 0; -+ m_notificationIcon = nullptr; - #endif -- m_presenter = 0; -+ m_presenter = nullptr; - #endif - } - @@ -211,9 +211,9 @@ QPixmap pixmap; if (bytes.length() && pixmap.loadFromData(bytes)) { diff --git a/www/webkit-qt4/files/patch-src__3rdparty__webkit__Source__JavaScriptCore__wtf__Atomics.h b/www/webkit-qt4/files/patch-src__3rdparty__webkit__Source__JavaScriptCore__wtf__Atomics.h index 3e08330c3868..4fc6d3251ea5 100644 --- a/www/webkit-qt4/files/patch-src__3rdparty__webkit__Source__JavaScriptCore__wtf__Atomics.h +++ b/www/webkit-qt4/files/patch-src__3rdparty__webkit__Source__JavaScriptCore__wtf__Atomics.h @@ -1,49 +1,5 @@ -From e3c44790065894f4e7f98ab097fce22c5bcbbd0a Mon Sep 17 00:00:00 2001 -From: Raphael Kubo da Costa -Date: Tue, 2 Jul 2013 13:48:28 +0300 -Subject: [PATCH] Bring in WebKit revisions 139553 and 139921. - -They are primarily useful for getting rid of some libstdc++-specific -includes which break the build with libc++, and also for simplifying the -code and removing a Darwin-specific code path. - -r139553 by ossy@webkit.org: - Use sync_add_and_fetch instead of gnu_cxx::exchange_and_add - https://bugs.webkit.org/show_bug.cgi?id=106729 - - After r139514 we need atomicIncrement(int64_t volatile*) for all - platform. Now the GCC implementation of atomicIncrement() is based on - gnu_cxx::exchange_and_add, which doesn't support int64_t type, but - sync_add_and_fetch does. - - Reviewed by Benjamin Poulain. - -r139921 by benjamin@webkit.org: - Use GCC's implementation of atomicIncrement/Decrement on Mac - https://bugs.webkit.org/show_bug.cgi?id=106976 - - Reviewed by Filip Pizlo. - - wtf/Atomics.h: GCC and LLVM have builtin for atomic ADD and SUB: - sync_add_and_fetch, sync_sub_and_fetch. - - Using them let the compiler just generate the atomic operations inline - instead of generating a function call to LibC. It also simplify the - code a bit. - -Cherry-picked from qtwebkit/0baf197 and qtwebkit/801fc96. I'm cherry-picking -both revisions together to match what was done in 0de22e80. - -Change-Id: Ie5c1067980662ff04e8e36d8cf6e9459b7c46aab -Reviewed-by: Allan Sandfeld Jensen ---- - .../webkit/Source/JavaScriptCore/wtf/Atomics.h | 18 ++---------------- - 1 file changed, 2 insertions(+), 16 deletions(-) - -diff --git a/src/3rdparty/webkit/Source/JavaScriptCore/wtf/Atomics.h b/src/3rdparty/webkit/Source/JavaScriptCore/wtf/Atomics.h -index bce5fba..acf0e5a 100644 ---- src/3rdparty/webkit/Source/JavaScriptCore/wtf/Atomics.h -+++ src/3rdparty/webkit/Source/JavaScriptCore/wtf/Atomics.h +--- src/3rdparty/webkit/Source/JavaScriptCore/wtf/Atomics.h.orig 2014-04-10 20:37:11.000000000 +0200 ++++ src/3rdparty/webkit/Source/JavaScriptCore/wtf/Atomics.h 2014-04-24 16:11:40.000000000 +0200 @@ -63,18 +63,10 @@ #if OS(WINDOWS) @@ -63,12 +19,12 @@ index bce5fba..acf0e5a 100644 #endif namespace WTF { -@@ -90,12 +82,6 @@ inline int atomicIncrement(int volatile* addend) { return InterlockedIncrement(r +@@ -90,12 +82,6 @@ inline int atomicDecrement(int volatile* addend) { return InterlockedDecrement(reinterpret_cast(addend)); } #endif -#elif OS(DARWIN) --#define WTF_USE_LOCKFREE_THREADSAFEREFCOUNTED 1 +-#define WTF_USE_LOCKFREE_THREADSAFESHARED 1 - -inline int atomicIncrement(int volatile* addend) { return OSAtomicIncrement32Barrier(const_cast(addend)); } -inline int atomicDecrement(int volatile* addend) { return OSAtomicDecrement32Barrier(const_cast(addend)); } @@ -76,17 +32,3 @@ index bce5fba..acf0e5a 100644 #elif OS(ANDROID) inline int atomicIncrement(int volatile* addend) { return android_atomic_inc(addend); } -@@ -109,8 +95,8 @@ inline int atomicDecrement(int volatile* addend) { return (int) atomic_sub_value - #elif COMPILER(GCC) && !CPU(SPARC64) && !OS(SYMBIAN) // sizeof(_Atomic_word) != sizeof(int) on sparc64 gcc - #define WTF_USE_LOCKFREE_THREADSAFEREFCOUNTED 1 - --inline int atomicIncrement(int volatile* addend) { return __gnu_cxx::__exchange_and_add(addend, 1) + 1; } --inline int atomicDecrement(int volatile* addend) { return __gnu_cxx::__exchange_and_add(addend, -1) - 1; } -+inline int atomicIncrement(int volatile* addend) { return __sync_add_and_fetch(addend, 1); } -+inline int atomicDecrement(int volatile* addend) { return __sync_sub_and_fetch(addend, 1); } - - #endif - --- -1.8.4 -