diff --git a/srcpkgs/qt-designer b/srcpkgs/qt-designer deleted file mode 120000 index 382f738416a..00000000000 --- a/srcpkgs/qt-designer +++ /dev/null @@ -1 +0,0 @@ -qt \ No newline at end of file diff --git a/srcpkgs/qt-designer-devel b/srcpkgs/qt-designer-devel deleted file mode 120000 index 382f738416a..00000000000 --- a/srcpkgs/qt-designer-devel +++ /dev/null @@ -1 +0,0 @@ -qt \ No newline at end of file diff --git a/srcpkgs/qt-designer-libs b/srcpkgs/qt-designer-libs deleted file mode 120000 index 382f738416a..00000000000 --- a/srcpkgs/qt-designer-libs +++ /dev/null @@ -1 +0,0 @@ -qt \ No newline at end of file diff --git a/srcpkgs/qt-devel b/srcpkgs/qt-devel deleted file mode 120000 index 382f738416a..00000000000 --- a/srcpkgs/qt-devel +++ /dev/null @@ -1 +0,0 @@ -qt \ No newline at end of file diff --git a/srcpkgs/qt-devel-tools b/srcpkgs/qt-devel-tools deleted file mode 120000 index 382f738416a..00000000000 --- a/srcpkgs/qt-devel-tools +++ /dev/null @@ -1 +0,0 @@ -qt \ No newline at end of file diff --git a/srcpkgs/qt-doc b/srcpkgs/qt-doc deleted file mode 120000 index 382f738416a..00000000000 --- a/srcpkgs/qt-doc +++ /dev/null @@ -1 +0,0 @@ -qt \ No newline at end of file diff --git a/srcpkgs/qt-host-tools b/srcpkgs/qt-host-tools deleted file mode 120000 index 382f738416a..00000000000 --- a/srcpkgs/qt-host-tools +++ /dev/null @@ -1 +0,0 @@ -qt \ No newline at end of file diff --git a/srcpkgs/qt-plugin-mysql b/srcpkgs/qt-plugin-mysql deleted file mode 120000 index 382f738416a..00000000000 --- a/srcpkgs/qt-plugin-mysql +++ /dev/null @@ -1 +0,0 @@ -qt \ No newline at end of file diff --git a/srcpkgs/qt-plugin-odbc b/srcpkgs/qt-plugin-odbc deleted file mode 120000 index 382f738416a..00000000000 --- a/srcpkgs/qt-plugin-odbc +++ /dev/null @@ -1 +0,0 @@ -qt \ No newline at end of file diff --git a/srcpkgs/qt-plugin-pgsql b/srcpkgs/qt-plugin-pgsql deleted file mode 120000 index 382f738416a..00000000000 --- a/srcpkgs/qt-plugin-pgsql +++ /dev/null @@ -1 +0,0 @@ -qt \ No newline at end of file diff --git a/srcpkgs/qt-plugin-sqlite b/srcpkgs/qt-plugin-sqlite deleted file mode 120000 index 382f738416a..00000000000 --- a/srcpkgs/qt-plugin-sqlite +++ /dev/null @@ -1 +0,0 @@ -qt \ No newline at end of file diff --git a/srcpkgs/qt-qmake b/srcpkgs/qt-qmake deleted file mode 120000 index 382f738416a..00000000000 --- a/srcpkgs/qt-qmake +++ /dev/null @@ -1 +0,0 @@ -qt \ No newline at end of file diff --git a/srcpkgs/qt/files/assistant.desktop b/srcpkgs/qt/files/assistant.desktop deleted file mode 100644 index 93c392f8a65..00000000000 --- a/srcpkgs/qt/files/assistant.desktop +++ /dev/null @@ -1,8 +0,0 @@ -[Desktop Entry] -Exec=assistant-qt4 -Name=Qt Assistant -GenericName=Qt Document Browser -Icon=assistant -Terminal=false -Type=Application -Categories=Qt;Development;Documentation diff --git a/srcpkgs/qt/files/designer.desktop b/srcpkgs/qt/files/designer.desktop deleted file mode 100644 index 4b4edce8696..00000000000 --- a/srcpkgs/qt/files/designer.desktop +++ /dev/null @@ -1,9 +0,0 @@ -[Desktop Entry] -Exec=designer-qt4 -Name=Qt Designer -GenericName=Interface Designer -MimeType=application/x-designer -Icon=designer -Terminal=false -Type=Application -Categories=Qt;Development;GUIDesigner diff --git a/srcpkgs/qt/files/linguist.desktop b/srcpkgs/qt/files/linguist.desktop deleted file mode 100644 index 044a7283a4b..00000000000 --- a/srcpkgs/qt/files/linguist.desktop +++ /dev/null @@ -1,9 +0,0 @@ -[Desktop Entry] -Exec=linguist-qt4 -Name=Qt Linguist -GenericName=Translation Tool -MimeType=application/x-linguist -Terminal=false -Type=Application -Icon=linguist -Categories=Qt;Development;Translation diff --git a/srcpkgs/qt/files/qtconfig.desktop b/srcpkgs/qt/files/qtconfig.desktop deleted file mode 100644 index 357c52b7256..00000000000 --- a/srcpkgs/qt/files/qtconfig.desktop +++ /dev/null @@ -1,8 +0,0 @@ -[Desktop Entry] -Name=Qt Config -Comment=Configure Qt behavior, styles, fonts -Exec=qtconfig-qt4 -Icon=qtlogo.png -Terminal=false -Type=Application -Categories=Qt;Settings; diff --git a/srcpkgs/qt/patches/0007-dbus-Remove-const-usage-that-causes-compile-failure-.patch b/srcpkgs/qt/patches/0007-dbus-Remove-const-usage-that-causes-compile-failure-.patch deleted file mode 100644 index 1d23c929f44..00000000000 --- a/srcpkgs/qt/patches/0007-dbus-Remove-const-usage-that-causes-compile-failure-.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 2011bb8029480af1d1266f258e5a5f5cef7392d3 Mon Sep 17 00:00:00 2001 -From: Pavel Heimlich -Date: Wed, 26 Sep 2012 20:31:10 +0200 -Subject: [PATCH 07/21] dbus: Remove "const" usage that causes compile failure - building nativesdk-qt4-tools - -Patch has apparently been rejected upstream, not because it is invalid -but because the submitter did not submit a merge request for it, so the -validity of the patch upstream is uncertain. For further details see: -https://bugreports.qt-project.org/browse/QTBUG-17962 - -Upstream-Status: Denied [possible retry] - -Signed-off-by: Martin Jansa ---- - src/dbus/qdbusintegrator.cpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/dbus/qdbusintegrator.cpp b/src/dbus/qdbusintegrator.cpp -index 0f0b647..aa4cbab 100644 ---- a/src/dbus/qdbusintegrator.cpp -+++ b/src/dbus/qdbusintegrator.cpp -@@ -73,7 +73,7 @@ QT_BEGIN_NAMESPACE - static bool isDebugging; - #define qDBusDebug if (!::isDebugging); else qDebug - --Q_GLOBAL_STATIC_WITH_ARGS(const QString, orgFreedesktopDBusString, (QLatin1String(DBUS_SERVICE_DBUS))) -+Q_GLOBAL_STATIC_WITH_ARGS(QString, orgFreedesktopDBusString, (QLatin1String(DBUS_SERVICE_DBUS))) - - static inline QString dbusServiceString() - { return *orgFreedesktopDBusString(); } --- -1.8.0 - diff --git a/srcpkgs/qt/patches/aarch64.patch b/srcpkgs/qt/patches/aarch64.patch deleted file mode 100644 index b4127f0c304..00000000000 --- a/srcpkgs/qt/patches/aarch64.patch +++ /dev/null @@ -1,541 +0,0 @@ ---- qt.orig/configure 2017-01-13 19:15:45.711744577 +0100 -+++ qt/configure 2017-01-13 19:28:48.368861990 +0100 -@@ -2812,6 +2812,9 @@ - *86_64) - PLATFORM=qws/linux-x86_64-g++ - ;; -+ aarch64) -+ PLATFORM=qws/linux-aarch64-g++ -+ ;; - *) - PLATFORM=qws/linux-generic-g++ - ;; -@@ -3257,6 +3260,12 @@ - fi - CFG_HOST_ARCH=arm - ;; -+ *:*:aarch64*) -+ if [ "$OPT_VERBOSE" = "yes" ]; then -+ echo " AArch64 (aarch64)" -+ fi -+ CFG_HOST_ARCH=aarch64 -+ ;; - Linux:*:sparc*) - if [ "$OPT_VERBOSE" = "yes" ]; then - echo " Linux on SPARC" ---- /dev/null -+++ qt/mkspecs/linux-aarch64-g++/qplatformdefs.h -@@ -0,0 +1,42 @@ -+/**************************************************************************** -+** -+** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -+** Contact: http://www.qt-project.org/legal -+** -+** This file is part of the qmake spec of the Qt Toolkit. -+** -+** $QT_BEGIN_LICENSE:LGPL$ -+** Commercial License Usage -+** Licensees holding valid commercial Qt licenses may use this file in -+** accordance with the commercial license agreement provided with the -+** Software or, alternatively, in accordance with the terms contained in -+** a written agreement between you and Digia. For licensing terms and -+** conditions see http://qt.digia.com/licensing. For further information -+** use the contact form at http://qt.digia.com/contact-us. -+** -+** GNU Lesser General Public License Usage -+** Alternatively, this file may be used under the terms of the GNU Lesser -+** General Public License version 2.1 as published by the Free Software -+** Foundation and appearing in the file LICENSE.LGPL included in the -+** packaging of this file. Please review the following information to -+** ensure the GNU Lesser General Public License version 2.1 requirements -+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -+** -+** In addition, as a special exception, Digia gives you certain additional -+** rights. These rights are described in the Digia Qt LGPL Exception -+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -+** -+** GNU General Public License Usage -+** Alternatively, this file may be used under the terms of the GNU -+** General Public License version 3.0 as published by the Free Software -+** Foundation and appearing in the file LICENSE.GPL included in the -+** packaging of this file. Please review the following information to -+** ensure the GNU General Public License version 3.0 requirements will be -+** met: http://www.gnu.org/copyleft/gpl.html. -+** -+** -+** $QT_END_LICENSE$ -+** -+****************************************************************************/ -+ -+#include "../linux-g++/qplatformdefs.h" ---- /dev/null -+++ qt/mkspecs/linux-aarch64-g++/qmake.conf -@@ -0,0 +1,28 @@ -+# -+# qmake configuration for linux-g++ -+# -+# Written for GNU/Linux platforms that have both lib and lib64 directories, -+# like the AMD Opteron. -+# -+ -+MAKEFILE_GENERATOR = UNIX -+TARGET_PLATFORM = unix -+TEMPLATE = app -+CONFIG += qt warn_on release incremental link_prl gdb_dwarf_index -+QT += core gui -+QMAKE_INCREMENTAL_STYLE = sublib -+ -+QMAKE_CFLAGS = -fpermissive -+QMAKE_LFLAGS = -+ -+QMAKE_CFLAGS_RELEASE += -O2 -+ -+include(../common/linux.conf) -+include(../common/gcc-base-unix.conf) -+include(../common/g++-unix.conf) -+ -+ -+QMAKE_LIBDIR_X11 = /usr/X11R6/lib -+QMAKE_LIBDIR_OPENGL = /usr/X11R6/lib -+ -+load(qt_config) ---- /dev/null -+++ qt/src/corelib/arch/aarch64/qatomic_aarch64.cpp -@@ -0,0 +1,70 @@ -+/**************************************************************************** -+** -+** Copyright (C) 2012, 2013 Digia Plc and/or its subsidiary(-ies). -+** Contact: http://www.qt-project.org/legal -+** -+** This file is part of the QtCore module of the Qt Toolkit. -+** -+** $QT_BEGIN_LICENSE:LGPL$ -+** Commercial License Usage -+** Licensees holding valid commercial Qt licenses may use this file in -+** accordance with the commercial license agreement provided with the -+** Software or, alternatively, in accordance with the terms contained in -+** a written agreement between you and Digia. For licensing terms and -+** conditions see http://qt.digia.com/licensing. For further information -+** use the contact form at http://qt.digia.com/contact-us. -+** -+** GNU Lesser General Public License Usage -+** Alternatively, this file may be used under the terms of the GNU Lesser -+** General Public License version 2.1 as published by the Free Software -+** Foundation and appearing in the file LICENSE.LGPL included in the -+** packaging of this file. Please review the following information to -+** ensure the GNU Lesser General Public License version 2.1 requirements -+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -+** -+** In addition, as a special exception, Digia gives you certain additional -+** rights. These rights are described in the Digia Qt LGPL Exception -+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -+** -+** GNU General Public License Usage -+** Alternatively, this file may be used under the terms of the GNU -+** General Public License version 3.0 as published by the Free Software -+** Foundation and appearing in the file LICENSE.GPL included in the -+** packaging of this file. Please review the following information to -+** ensure the GNU General Public License version 3.0 requirements will be -+** met: http://www.gnu.org/copyleft/gpl.html. -+** -+** -+** $QT_END_LICENSE$ -+** -+****************************************************************************/ -+ -+#include -+ -+#include -+#ifdef _POSIX_PRIORITY_SCHEDULING -+# include -+#endif -+#include -+ -+QT_BEGIN_NAMESPACE -+ -+QT_USE_NAMESPACE -+ -+Q_CORE_EXPORT void qt_atomic_yield(int *count) -+{ -+#ifdef _POSIX_PRIORITY_SCHEDULING -+ if((*count)++ < 50) { -+ sched_yield(); -+ } else -+#endif -+ { -+ struct timespec tm; -+ tm.tv_sec = 0; -+ tm.tv_nsec = 2000001; -+ nanosleep(&tm, NULL); -+ *count = 0; -+ } -+} -+ -+QT_END_NAMESPACE ---- qt.orig/src/corelib/arch/arch.pri -+++ qt/src/corelib/arch/arch.pri -@@ -31,7 +31,9 @@ integrity:HEADERS += arch/qatomic_integr - arch/qatomic_s390.h \ - arch/qatomic_x86_64.h \ - arch/qatomic_sh.h \ -- arch/qatomic_sh4a.h -+ arch/qatomic_sh4a.h \ -+ arch/qatomic_aarch64.h \ -+ - - QT_ARCH_CPP = $$QT_SOURCE_TREE/src/corelib/arch/$$QT_ARCH - DEPENDPATH += $$QT_ARCH_CPP ---- /dev/null -+++ qt/include/QtCore/qatomic_aarch64.h -@@ -0,0 +1 @@ -+#include "../../src/corelib/arch/qatomic_aarch64.h" ---- /dev/null -+++ qt/src/corelib/arch/qatomic_aarch64.h -@@ -0,0 +1,335 @@ -+/**************************************************************************** -+** -+** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -+** Contact: http://www.qt-project.org/legal -+** -+** This file is part of the QtCore module of the Qt Toolkit. -+** -+** $QT_BEGIN_LICENSE:LGPL$ -+** Commercial License Usage -+** Licensees holding valid commercial Qt licenses may use this file in -+** accordance with the commercial license agreement provided with the -+** Software or, alternatively, in accordance with the terms contained in -+** a written agreement between you and Digia. For licensing terms and -+** conditions see http://qt.digia.com/licensing. For further information -+** use the contact form at http://qt.digia.com/contact-us. -+** -+** GNU Lesser General Public License Usage -+** Alternatively, this file may be used under the terms of the GNU Lesser -+** General Public License version 2.1 as published by the Free Software -+** Foundation and appearing in the file LICENSE.LGPL included in the -+** packaging of this file. Please review the following information to -+** ensure the GNU Lesser General Public License version 2.1 requirements -+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -+** -+** In addition, as a special exception, Digia gives you certain additional -+** rights. These rights are described in the Digia Qt LGPL Exception -+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -+** -+** GNU General Public License Usage -+** Alternatively, this file may be used under the terms of the GNU -+** General Public License version 3.0 as published by the Free Software -+** Foundation and appearing in the file LICENSE.GPL included in the -+** packaging of this file. Please review the following information to -+** ensure the GNU General Public License version 3.0 requirements will be -+** met: http://www.gnu.org/copyleft/gpl.html. -+** -+** -+** $QT_END_LICENSE$ -+** -+****************************************************************************/ -+ -+#ifndef QATOMIC_AARCH64_H -+#define QATOMIC_AARCH64_H -+ -+QT_BEGIN_HEADER -+ -+QT_BEGIN_NAMESPACE -+ -+#define Q_ATOMIC_INT_REFERENCE_COUNTING_IS_ALWAYS_NATIVE -+ -+inline bool QBasicAtomicInt::isReferenceCountingNative() -+{ return true; } -+inline bool QBasicAtomicInt::isReferenceCountingWaitFree() -+{ return false; } -+ -+#define Q_ATOMIC_INT_TEST_AND_SET_IS_ALWAYS_NATIVE -+ -+inline bool QBasicAtomicInt::isTestAndSetNative() -+{ return true; } -+inline bool QBasicAtomicInt::isTestAndSetWaitFree() -+{ return false; } -+ -+#define Q_ATOMIC_INT_FETCH_AND_STORE_IS_ALWAYS_NATIVE -+ -+inline bool QBasicAtomicInt::isFetchAndStoreNative() -+{ return true; } -+inline bool QBasicAtomicInt::isFetchAndStoreWaitFree() -+{ return false; } -+ -+#define Q_ATOMIC_INT_FETCH_AND_ADD_IS_ALWAYS_NATIVE -+ -+inline bool QBasicAtomicInt::isFetchAndAddNative() -+{ return true; } -+inline bool QBasicAtomicInt::isFetchAndAddWaitFree() -+{ return false; } -+ -+#define Q_ATOMIC_POINTER_TEST_AND_SET_IS_ALWAYS_NATIVE -+ -+template -+Q_INLINE_TEMPLATE bool QBasicAtomicPointer::isTestAndSetNative() -+{ return true; } -+template -+Q_INLINE_TEMPLATE bool QBasicAtomicPointer::isTestAndSetWaitFree() -+{ return false; } -+ -+#define Q_ATOMIC_POINTER_FETCH_AND_STORE_IS_ALWAYS_NATIVE -+ -+template -+Q_INLINE_TEMPLATE bool QBasicAtomicPointer::isFetchAndStoreNative() -+{ return true; } -+template -+Q_INLINE_TEMPLATE bool QBasicAtomicPointer::isFetchAndStoreWaitFree() -+{ return false; } -+ -+#define Q_ATOMIC_POINTER_FETCH_AND_ADD_IS_ALWAYS_NATIVE -+ -+template -+Q_INLINE_TEMPLATE bool QBasicAtomicPointer::isFetchAndAddNative() -+{ return true; } -+template -+Q_INLINE_TEMPLATE bool QBasicAtomicPointer::isFetchAndAddWaitFree() -+{ return false; } -+ -+#ifndef Q_DATA_MEMORY_BARRIER -+# define Q_DATA_MEMORY_BARRIER asm volatile("dmb sy\n":::"memory") -+#endif -+#ifndef Q_COMPILER_MEMORY_BARRIER -+# define Q_COMPILER_MEMORY_BARRIER asm volatile("":::"memory") -+#endif -+ -+inline bool QBasicAtomicInt::ref() -+{ -+ int newValue; -+ -+ Q_COMPILER_MEMORY_BARRIER; -+ newValue = __atomic_add_fetch(&_q_value, 1, __ATOMIC_ACQ_REL); -+ Q_COMPILER_MEMORY_BARRIER; -+ -+ return newValue != 0; -+} -+ -+inline bool QBasicAtomicInt::deref() -+{ -+ int newValue; -+ -+ Q_COMPILER_MEMORY_BARRIER; -+ newValue = __atomic_sub_fetch(&_q_value, 1, __ATOMIC_ACQ_REL); -+ Q_COMPILER_MEMORY_BARRIER; -+ -+ return newValue != 0; -+} -+ -+inline bool QBasicAtomicInt::testAndSetRelaxed(int expectedValue, int newValue) -+{ -+ bool val; -+ -+ Q_COMPILER_MEMORY_BARRIER; -+ val = __atomic_compare_exchange_n (&_q_value, &expectedValue, newValue, -+ false, __ATOMIC_RELAXED, __ATOMIC_RELAXED); -+ Q_COMPILER_MEMORY_BARRIER; -+ return val; -+} -+ -+inline int QBasicAtomicInt::fetchAndStoreRelaxed(int newValue) -+{ -+ int val; -+ Q_COMPILER_MEMORY_BARRIER; -+ val = __atomic_exchange_n(&_q_value, newValue, __ATOMIC_RELAXED); -+ Q_COMPILER_MEMORY_BARRIER; -+ return val; -+} -+ -+inline int QBasicAtomicInt::fetchAndAddRelaxed(int valueToAdd) -+{ -+ int val; -+ Q_COMPILER_MEMORY_BARRIER; -+ val = __atomic_fetch_add(&_q_value, valueToAdd, __ATOMIC_RELAXED); -+ Q_COMPILER_MEMORY_BARRIER; -+ return val; -+} -+ -+template -+Q_INLINE_TEMPLATE bool QBasicAtomicPointer::testAndSetRelaxed(T *expectedValue, T *newValue) -+{ -+ bool val; -+ Q_COMPILER_MEMORY_BARRIER; -+ val = __atomic_compare_exchange_n (&_q_value, &expectedValue, newValue, -+ false, __ATOMIC_RELAXED, __ATOMIC_RELAXED); -+ Q_COMPILER_MEMORY_BARRIER; -+ return val; -+} -+ -+template -+Q_INLINE_TEMPLATE T *QBasicAtomicPointer::fetchAndStoreRelaxed(T *newValue) -+{ -+ T *val; -+ Q_COMPILER_MEMORY_BARRIER; -+ val = __atomic_exchange_n(&_q_value, newValue, __ATOMIC_RELAXED); -+ Q_COMPILER_MEMORY_BARRIER; -+ return val; -+} -+ -+template -+Q_INLINE_TEMPLATE T *QBasicAtomicPointer::fetchAndAddRelaxed(qptrdiff valueToAdd) -+{ -+ T *val; -+ Q_COMPILER_MEMORY_BARRIER; -+ val = __atomic_fetch_add(&_q_value, valueToAdd, __ATOMIC_RELAXED); -+ Q_COMPILER_MEMORY_BARRIER; -+ return val; -+} -+ -+inline bool QBasicAtomicInt::testAndSetAcquire(int expectedValue, int newValue) -+{ -+ bool returnValue = testAndSetRelaxed(expectedValue, newValue); -+ Q_DATA_MEMORY_BARRIER; -+ return returnValue; -+} -+ -+inline bool QBasicAtomicInt::testAndSetRelease(int expectedValue, int newValue) -+{ -+ Q_DATA_MEMORY_BARRIER; -+ return testAndSetRelaxed(expectedValue, newValue); -+} -+ -+inline bool QBasicAtomicInt::testAndSetOrdered(int expectedValue, int newValue) -+{ -+ Q_DATA_MEMORY_BARRIER; -+ bool returnValue = testAndSetRelaxed(expectedValue, newValue); -+ Q_COMPILER_MEMORY_BARRIER; -+ return returnValue; -+} -+ -+inline int QBasicAtomicInt::fetchAndStoreAcquire(int newValue) -+{ -+ int returnValue = fetchAndStoreRelaxed(newValue); -+ Q_DATA_MEMORY_BARRIER; -+ return returnValue; -+} -+ -+inline int QBasicAtomicInt::fetchAndStoreRelease(int newValue) -+{ -+ Q_DATA_MEMORY_BARRIER; -+ return fetchAndStoreRelaxed(newValue); -+} -+ -+inline int QBasicAtomicInt::fetchAndStoreOrdered(int newValue) -+{ -+ Q_DATA_MEMORY_BARRIER; -+ int returnValue = fetchAndStoreRelaxed(newValue); -+ Q_COMPILER_MEMORY_BARRIER; -+ return returnValue; -+} -+ -+inline int QBasicAtomicInt::fetchAndAddAcquire(int valueToAdd) -+{ -+ int returnValue = fetchAndAddRelaxed(valueToAdd); -+ Q_DATA_MEMORY_BARRIER; -+ return returnValue; -+} -+ -+inline int QBasicAtomicInt::fetchAndAddRelease(int valueToAdd) -+{ -+ Q_DATA_MEMORY_BARRIER; -+ return fetchAndAddRelaxed(valueToAdd); -+} -+ -+inline int QBasicAtomicInt::fetchAndAddOrdered(int valueToAdd) -+{ -+ Q_DATA_MEMORY_BARRIER; -+ int returnValue = fetchAndAddRelaxed(valueToAdd); -+ Q_COMPILER_MEMORY_BARRIER; -+ return returnValue; -+} -+ -+template -+Q_INLINE_TEMPLATE bool QBasicAtomicPointer::testAndSetAcquire(T *expectedValue, T *newValue) -+{ -+ bool returnValue = testAndSetRelaxed(expectedValue, newValue); -+ Q_DATA_MEMORY_BARRIER; -+ return returnValue; -+} -+ -+template -+Q_INLINE_TEMPLATE bool QBasicAtomicPointer::testAndSetRelease(T *expectedValue, T *newValue) -+{ -+ Q_DATA_MEMORY_BARRIER; -+ return testAndSetRelaxed(expectedValue, newValue); -+} -+ -+template -+Q_INLINE_TEMPLATE bool QBasicAtomicPointer::testAndSetOrdered(T *expectedValue, T *newValue) -+{ -+ Q_DATA_MEMORY_BARRIER; -+ bool returnValue = testAndSetAcquire(expectedValue, newValue); -+ Q_COMPILER_MEMORY_BARRIER; -+ return returnValue; -+} -+ -+template -+Q_INLINE_TEMPLATE T *QBasicAtomicPointer::fetchAndStoreAcquire(T *newValue) -+{ -+ T *returnValue = fetchAndStoreRelaxed(newValue); -+ Q_DATA_MEMORY_BARRIER; -+ return returnValue; -+} -+ -+template -+Q_INLINE_TEMPLATE T *QBasicAtomicPointer::fetchAndStoreRelease(T *newValue) -+{ -+ Q_DATA_MEMORY_BARRIER; -+ return fetchAndStoreRelaxed(newValue); -+} -+ -+template -+Q_INLINE_TEMPLATE T *QBasicAtomicPointer::fetchAndStoreOrdered(T *newValue) -+{ -+ Q_DATA_MEMORY_BARRIER; -+ T *returnValue = fetchAndStoreRelaxed(newValue); -+ Q_COMPILER_MEMORY_BARRIER; -+ return returnValue; -+} -+ -+template -+Q_INLINE_TEMPLATE T *QBasicAtomicPointer::fetchAndAddAcquire(qptrdiff valueToAdd) -+{ -+ T *returnValue = fetchAndAddRelaxed(valueToAdd); -+ Q_DATA_MEMORY_BARRIER; -+ return returnValue; -+} -+ -+template -+Q_INLINE_TEMPLATE T *QBasicAtomicPointer::fetchAndAddRelease(qptrdiff valueToAdd) -+{ -+ Q_DATA_MEMORY_BARRIER; -+ return fetchAndAddRelaxed(valueToAdd); -+} -+ -+template -+Q_INLINE_TEMPLATE T *QBasicAtomicPointer::fetchAndAddOrdered(qptrdiff valueToAdd) -+{ -+ Q_DATA_MEMORY_BARRIER; -+ T *returnValue = fetchAndAddRelaxed(valueToAdd); -+ Q_COMPILER_MEMORY_BARRIER; -+ return returnValue; -+} -+ -+#undef Q_DATA_MEMORY_BARRIER -+#undef Q_COMPILER_MEMORY_BARRIER -+ -+QT_END_NAMESPACE -+ -+QT_END_HEADER -+ -+#endif // QATOMIC_AARCH64_H ---- qt.orig/src/corelib/arch/qatomic_arch.h -+++ qt/src/corelib/arch/qatomic_arch.h -@@ -94,6 +94,8 @@ QT_BEGIN_HEADER - # include "QtCore/qatomic_sh4a.h" - #elif defined(QT_ARCH_NACL) - # include "QtCore/qatomic_generic.h" -+#elif defined(QT_ARCH_AARCH64) -+# include "QtCore/qatomic_aarch64.h" - #else - # error "Qt has not been ported to this architecture" - #endif - diff --git a/srcpkgs/qt/patches/fix-alsatest.patch b/srcpkgs/qt/patches/fix-alsatest.patch deleted file mode 100644 index 900eef2b8a5..00000000000 --- a/srcpkgs/qt/patches/fix-alsatest.patch +++ /dev/null @@ -1,13 +0,0 @@ -Currently alsa-lib is at 1.1.2, thus accept SND_LIB_MINOR > 0 anyway. - ---- a/config.tests/unix/alsa/alsatest.cpp 2015-05-07 16:14:42.000000000 +0200 -+++ b/config.tests/unix/alsa/alsatest.cpp 2016-09-11 22:51:18.647973737 +0200 -@@ -40,7 +40,7 @@ - ****************************************************************************/ - - #include --#if(!(SND_LIB_MAJOR == 1 && SND_LIB_MINOR == 0 && SND_LIB_SUBMINOR >= 10)) -+#if(!(SND_LIB_MAJOR == 1 && (SND_LIB_MINOR > 0 || (SND_LIB_MINOR == 0 && SND_LIB_SUBMINOR >= 10)))) - #error "Alsa version found too old, require >= 1.0.10" - #endif - diff --git a/srcpkgs/qt/patches/fix-bytecompiler_narrowing.patch b/srcpkgs/qt/patches/fix-bytecompiler_narrowing.patch deleted file mode 100644 index 7a164e8b49b..00000000000 --- a/srcpkgs/qt/patches/fix-bytecompiler_narrowing.patch +++ /dev/null @@ -1,22 +0,0 @@ -Fix gcc6 -Wnarrowing errors by casting to uint32_t - ---- a/src/3rdparty/javascriptcore/JavaScriptCore/bytecompiler/BytecodeGenerator.h 2015-05-07 16:14:47.000000000 +0200 -+++ b/src/3rdparty/javascriptcore/JavaScriptCore/bytecompiler/BytecodeGenerator.h 2016-09-11 22:26:00.614829051 +0200 -@@ -176,7 +176,7 @@ - // Node::emitCode assumes that dst, if provided, is either a local or a referenced temporary. - ASSERT(!dst || dst == ignoredResult() || !dst->isTemporary() || dst->refCount()); - if (!m_codeBlock->numberOfLineInfos() || m_codeBlock->lastLineInfo().lineNumber != n->lineNo()) { -- LineInfo info = { instructions().size(), n->lineNo() }; -+ LineInfo info = { (uint32_t)instructions().size(), n->lineNo() }; - m_codeBlock->addLineInfo(info); - } - if (m_emitNodeDepth >= s_maxEmitNodeDepth) -@@ -195,7 +195,7 @@ - void emitNodeInConditionContext(ExpressionNode* n, Label* trueTarget, Label* falseTarget, bool fallThroughMeansTrue) - { - if (!m_codeBlock->numberOfLineInfos() || m_codeBlock->lastLineInfo().lineNumber != n->lineNo()) { -- LineInfo info = { instructions().size(), n->lineNo() }; -+ LineInfo info = { (uint32_t)instructions().size(), n->lineNo() }; - m_codeBlock->addLineInfo(info); - } - if (m_emitNodeDepth >= s_maxEmitNodeDepth) diff --git a/srcpkgs/qt/patches/fix-itemviews.patch b/srcpkgs/qt/patches/fix-itemviews.patch deleted file mode 100644 index 5b1d601cf44..00000000000 --- a/srcpkgs/qt/patches/fix-itemviews.patch +++ /dev/null @@ -1,14 +0,0 @@ -This & seems wrong, but the static_cast to QItemSelectionModel::SelectionFlags -is required anyway to make gcc6 happy. - ---- a/src/plugins/accessible/widgets/itemviews.cpp 2015-05-07 16:14:48.000000000 +0200 -+++ b/src/plugins/accessible/widgets/itemviews.cpp 2016-09-11 23:17:33.960195447 +0200 -@@ -393,7 +393,7 @@ - QModelIndex index = view()->model()->index(0, column, view()->rootIndex()); - if (!index.isValid() || view()->selectionMode() & QAbstractItemView::NoSelection) - return false; -- view()->selectionModel()->select(index, QItemSelectionModel::Columns & QItemSelectionModel::Deselect); -+ view()->selectionModel()->select(index, static_cast(QItemSelectionModel::Columns & QItemSelectionModel::Deselect)); - return true; - } - diff --git a/srcpkgs/qt/patches/fix-qcoloroutput_p_h.patch b/srcpkgs/qt/patches/fix-qcoloroutput_p_h.patch deleted file mode 100644 index 2132b9d779a..00000000000 --- a/srcpkgs/qt/patches/fix-qcoloroutput_p_h.patch +++ /dev/null @@ -1,13 +0,0 @@ ---- a/src/xmlpatterns/api/qcoloroutput_p.h 2015-05-07 16:14:48.000000000 +0200 -+++ b/src/xmlpatterns/api/qcoloroutput_p.h 2016-09-11 22:21:15.868628553 +0200 -@@ -70,8 +70,8 @@ - ForegroundShift = 10, - BackgroundShift = 20, - SpecialShift = 20, -- ForegroundMask = ((1 << ForegroundShift) - 1) << ForegroundShift, -- BackgroundMask = ((1 << BackgroundShift) - 1) << BackgroundShift -+ ForegroundMask = ((1 << ForegroundShift) - 1), -+ BackgroundMask = ((1 << BackgroundShift) - 1) - }; - - public: diff --git a/srcpkgs/qt/patches/fix-wtf_typetraits.patch b/srcpkgs/qt/patches/fix-wtf_typetraits.patch deleted file mode 100644 index 27d20466c08..00000000000 --- a/srcpkgs/qt/patches/fix-wtf_typetraits.patch +++ /dev/null @@ -1,25 +0,0 @@ -Fix type_traits for newer compilers (both, gcc-4.9.4 and gcc-6.2.0) -There is no std::tr1::has_trivial_constructor etc. anymore. - ---- a/src/3rdparty/javascriptcore/JavaScriptCore/wtf/TypeTraits.h 2016-09-12 01:09:46.592885353 +0200 -+++ b/src/3rdparty/javascriptcore/JavaScriptCore/wtf/TypeTraits.h 2016-09-12 01:20:07.594161571 +0200 -@@ -166,7 +166,7 @@ - typedef T Type; - }; - --#if (defined(__GLIBCXX__) && (__GLIBCXX__ >= 20070724) && defined(__GXX_EXPERIMENTAL_CXX0X__)) || (defined(_MSC_VER) && (_MSC_VER >= 1600)) -+#if (defined(__GLIBCXX__) && (__GLIBCXX__ >= 20070724) && (__GLIBCXX__ < 20160726) && defined(__GXX_EXPERIMENTAL_CXX0X__)) || (defined(_MSC_VER) && (_MSC_VER >= 1600)) - - // GCC's libstdc++ 20070724 and later supports C++ TR1 type_traits in the std namespace. - // VC10 (VS2010) and later support C++ TR1 type_traits in the std::tr1 namespace. ---- a/src/3rdparty/webkit/Source/JavaScriptCore/wtf/TypeTraits.h 2015-05-07 16:14:45.000000000 +0200 -+++ b/src/3rdparty/webkit/Source/JavaScriptCore/wtf/TypeTraits.h 2016-09-12 01:36:22.347445737 +0200 -@@ -179,7 +179,7 @@ - typedef T Type; - }; - --#if (defined(__GLIBCXX__) && (__GLIBCXX__ >= 20070724) && defined(__GXX_EXPERIMENTAL_CXX0X__)) || (defined(_MSC_VER) && (_MSC_VER >= 1600)) -+#if (defined(__GLIBCXX__) && (__GLIBCXX__ >= 20070724) && (__GLIBCXX__ < 20160726) && defined(__GXX_EXPERIMENTAL_CXX0X__)) || (defined(_MSC_VER) && (_MSC_VER >= 1600)) - - // GCC's libstdc++ 20070724 and later supports C++ TR1 type_traits in the std namespace. - // VC10 (VS2010) and later support C++ TR1 type_traits in the std::tr1 namespace. diff --git a/srcpkgs/qt/patches/gcc-8.3.patch b/srcpkgs/qt/patches/gcc-8.3.patch deleted file mode 100644 index b9b45c31396..00000000000 --- a/srcpkgs/qt/patches/gcc-8.3.patch +++ /dev/null @@ -1,236 +0,0 @@ -From 97ec1d1882a83c23c91f0f7daea48e05858d8c32 Mon Sep 17 00:00:00 2001 -From: Thiago Macieira -Date: Mon, 28 Jan 2019 14:33:12 -0800 -Subject: [PATCH] Fix build with GCC 8.3 - -Qualifiers in the asm statement are not allowed in the global scope. I -thought they were necessary for LTO, but I the commit to this file that -added them predates my work on setting up LTO for GCC. - -Change-Id: Id98140e1c2f0426cabbefffd157e23e5ece67a49 -Reviewed-by: Allan Sandfeld Jensen ---- - .../JavaScriptCore/jit/JITStubs.cpp | 48 +++++++++---------- - 1 file changed, 24 insertions(+), 24 deletions(-) - -diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/jit/JITStubs.cpp b/src/3rdparty/javascriptcore/JavaScriptCore/jit/JITStubs.cpp -index 1abdf8b..9f60761 100644 ---- qtscript/src/3rdparty/javascriptcore/JavaScriptCore/jit/JITStubs.cpp -+++ qtscript/src/3rdparty/javascriptcore/JavaScriptCore/jit/JITStubs.cpp -@@ -116,7 +116,7 @@ COMPILE_ASSERT(offsetof(struct JITStackFrame, savedEBX) == 0x3c, JITStackFrame_s - COMPILE_ASSERT(offsetof(struct JITStackFrame, callFrame) == 0x58, JITStackFrame_callFrame_offset_matches_ctiTrampoline); - COMPILE_ASSERT(offsetof(struct JITStackFrame, code) == 0x50, JITStackFrame_code_offset_matches_ctiTrampoline); - --asm volatile ( -+asm ( - ".text\n" - ".globl " SYMBOL_STRING(ctiTrampoline) "\n" - HIDE_SYMBOL(ctiTrampoline) "\n" -@@ -138,7 +138,7 @@ SYMBOL_STRING(ctiTrampoline) ":" "\n" - "ret" "\n" - ); - --asm volatile ( -+asm ( - ".globl " SYMBOL_STRING(ctiVMThrowTrampoline) "\n" - HIDE_SYMBOL(ctiVMThrowTrampoline) "\n" - SYMBOL_STRING(ctiVMThrowTrampoline) ":" "\n" -@@ -154,7 +154,7 @@ SYMBOL_STRING(ctiVMThrowTrampoline) ":" "\n" - "ret" "\n" - ); - --asm volatile ( -+asm ( - ".globl " SYMBOL_STRING(ctiOpThrowNotCaught) "\n" - HIDE_SYMBOL(ctiOpThrowNotCaught) "\n" - SYMBOL_STRING(ctiOpThrowNotCaught) ":" "\n" -@@ -179,7 +179,7 @@ COMPILE_ASSERT(offsetof(struct JITStackFrame, savedRBX) == 0x48, JITStackFrame_s - COMPILE_ASSERT(offsetof(struct JITStackFrame, callFrame) == 0x90, JITStackFrame_callFrame_offset_matches_ctiTrampoline); - COMPILE_ASSERT(offsetof(struct JITStackFrame, code) == 0x80, JITStackFrame_code_offset_matches_ctiTrampoline); - --asm volatile ( -+asm ( - ".globl " SYMBOL_STRING(ctiTrampoline) "\n" - HIDE_SYMBOL(ctiTrampoline) "\n" - SYMBOL_STRING(ctiTrampoline) ":" "\n" -@@ -206,7 +206,7 @@ SYMBOL_STRING(ctiTrampoline) ":" "\n" - "ret" "\n" - ); - --asm volatile ( -+asm ( - ".globl " SYMBOL_STRING(ctiVMThrowTrampoline) "\n" - HIDE_SYMBOL(ctiVMThrowTrampoline) "\n" - SYMBOL_STRING(ctiVMThrowTrampoline) ":" "\n" -@@ -222,7 +222,7 @@ SYMBOL_STRING(ctiVMThrowTrampoline) ":" "\n" - "ret" "\n" - ); - --asm volatile ( -+asm ( - ".globl " SYMBOL_STRING(ctiOpThrowNotCaught) "\n" - HIDE_SYMBOL(ctiOpThrowNotCaught) "\n" - SYMBOL_STRING(ctiOpThrowNotCaught) ":" "\n" -@@ -242,7 +242,7 @@ SYMBOL_STRING(ctiOpThrowNotCaught) ":" "\n" - #error "JIT_STUB_ARGUMENT_VA_LIST not supported on ARMv7." - #endif - --asm volatile ( -+asm ( - ".text" "\n" - ".align 2" "\n" - ".globl " SYMBOL_STRING(ctiTrampoline) "\n" -@@ -269,7 +269,7 @@ SYMBOL_STRING(ctiTrampoline) ":" "\n" - "bx lr" "\n" - ); - --asm volatile ( -+asm ( - ".text" "\n" - ".align 2" "\n" - ".globl " SYMBOL_STRING(ctiVMThrowTrampoline) "\n" -@@ -287,7 +287,7 @@ SYMBOL_STRING(ctiVMThrowTrampoline) ":" "\n" - "bx lr" "\n" - ); - --asm volatile ( -+asm ( - ".text" "\n" - ".align 2" "\n" - ".globl " SYMBOL_STRING(ctiOpThrowNotCaught) "\n" -@@ -305,7 +305,7 @@ SYMBOL_STRING(ctiOpThrowNotCaught) ":" "\n" - - #elif COMPILER(GCC) && CPU(ARM_TRADITIONAL) - --asm volatile ( -+asm ( - ".globl " SYMBOL_STRING(ctiTrampoline) "\n" - HIDE_SYMBOL(ctiTrampoline) "\n" - SYMBOL_STRING(ctiTrampoline) ":" "\n" -@@ -323,7 +323,7 @@ SYMBOL_STRING(ctiTrampoline) ":" "\n" - "mov pc, lr" "\n" - ); - --asm volatile ( -+asm ( - ".globl " SYMBOL_STRING(ctiVMThrowTrampoline) "\n" - HIDE_SYMBOL(ctiVMThrowTrampoline) "\n" - SYMBOL_STRING(ctiVMThrowTrampoline) ":" "\n" -@@ -418,7 +418,7 @@ COMPILE_ASSERT(offsetof(struct JITStackFrame, callFrame) == 0x38, JITStackFrame_ - COMPILE_ASSERT(offsetof(struct JITStackFrame, code) == 0x30, JITStackFrame_code_offset_matches_ctiTrampoline); - COMPILE_ASSERT(offsetof(struct JITStackFrame, savedEBX) == 0x1c, JITStackFrame_stub_argument_space_matches_ctiTrampoline); - --asm volatile ( -+asm ( - ".text\n" - ".globl " SYMBOL_STRING(ctiTrampoline) "\n" - HIDE_SYMBOL(ctiTrampoline) "\n" -@@ -440,7 +440,7 @@ SYMBOL_STRING(ctiTrampoline) ":" "\n" - "ret" "\n" - ); - --asm volatile ( -+asm ( - ".globl " SYMBOL_STRING(ctiVMThrowTrampoline) "\n" - HIDE_SYMBOL(ctiVMThrowTrampoline) "\n" - SYMBOL_STRING(ctiVMThrowTrampoline) ":" "\n" -@@ -456,7 +456,7 @@ SYMBOL_STRING(ctiVMThrowTrampoline) ":" "\n" - "ret" "\n" - ); - --asm volatile ( -+asm ( - ".globl " SYMBOL_STRING(ctiOpThrowNotCaught) "\n" - HIDE_SYMBOL(ctiOpThrowNotCaught) "\n" - SYMBOL_STRING(ctiOpThrowNotCaught) ":" "\n" -@@ -480,7 +480,7 @@ COMPILE_ASSERT(offsetof(struct JITStackFrame, callFrame) == 0x58, JITStackFrame_ - COMPILE_ASSERT(offsetof(struct JITStackFrame, code) == 0x48, JITStackFrame_code_offset_matches_ctiTrampoline); - COMPILE_ASSERT(offsetof(struct JITStackFrame, savedRBX) == 0x78, JITStackFrame_stub_argument_space_matches_ctiTrampoline); - --asm volatile ( -+asm ( - ".text\n" - ".globl " SYMBOL_STRING(ctiTrampoline) "\n" - HIDE_SYMBOL(ctiTrampoline) "\n" -@@ -515,7 +515,7 @@ SYMBOL_STRING(ctiTrampoline) ":" "\n" - "ret" "\n" - ); - --asm volatile ( -+asm ( - ".globl " SYMBOL_STRING(ctiVMThrowTrampoline) "\n" - HIDE_SYMBOL(ctiVMThrowTrampoline) "\n" - SYMBOL_STRING(ctiVMThrowTrampoline) ":" "\n" -@@ -531,7 +531,7 @@ SYMBOL_STRING(ctiVMThrowTrampoline) ":" "\n" - "ret" "\n" - ); - --asm volatile ( -+asm ( - ".globl " SYMBOL_STRING(ctiOpThrowNotCaught) "\n" - HIDE_SYMBOL(ctiOpThrowNotCaught) "\n" - SYMBOL_STRING(ctiOpThrowNotCaught) ":" "\n" -@@ -551,7 +551,7 @@ SYMBOL_STRING(ctiOpThrowNotCaught) ":" "\n" - #error "JIT_STUB_ARGUMENT_VA_LIST not supported on ARMv7." - #endif - --asm volatile ( -+asm ( - ".text" "\n" - ".align 2" "\n" - ".globl " SYMBOL_STRING(ctiTrampoline) "\n" -@@ -578,7 +578,7 @@ SYMBOL_STRING(ctiTrampoline) ":" "\n" - "bx lr" "\n" - ); - --asm volatile ( -+asm ( - ".text" "\n" - ".align 2" "\n" - ".globl " SYMBOL_STRING(ctiVMThrowTrampoline) "\n" -@@ -596,7 +596,7 @@ SYMBOL_STRING(ctiVMThrowTrampoline) ":" "\n" - "bx lr" "\n" - ); - --asm volatile ( -+asm ( - ".text" "\n" - ".align 2" "\n" - ".globl " SYMBOL_STRING(ctiOpThrowNotCaught) "\n" -@@ -614,7 +614,7 @@ SYMBOL_STRING(ctiOpThrowNotCaught) ":" "\n" - - #elif COMPILER(GCC) && CPU(ARM_TRADITIONAL) - --asm volatile ( -+asm ( - ".text\n" - ".globl " SYMBOL_STRING(ctiTrampoline) "\n" - HIDE_SYMBOL(ctiTrampoline) "\n" -@@ -632,7 +632,7 @@ SYMBOL_STRING(ctiTrampoline) ":" "\n" - "mov pc, lr" "\n" - ); - --asm volatile ( -+asm ( - ".globl " SYMBOL_STRING(ctiVMThrowTrampoline) "\n" - HIDE_SYMBOL(ctiVMThrowTrampoline) "\n" - SYMBOL_STRING(ctiVMThrowTrampoline) ":" "\n" -@@ -1024,7 +1024,7 @@ static NEVER_INLINE void throwStackOverflowError(CallFrame* callFrame, JSGlobalD - extern "C" { \ - rtype JITStubThunked_##op(STUB_ARGS_DECLARATION); \ - }; \ -- asm volatile ( \ -+ asm ( \ - ".text" "\n" \ - ".align 2" "\n" \ - ".globl " SYMBOL_STRING(cti_##op) "\n" \ -@@ -1053,7 +1053,7 @@ COMPILE_ASSERT(offsetof(struct JITStackFrame, thunkReturnAddress) == THUNK_RETUR - extern "C" { \ - rtype JITStubThunked_##op(STUB_ARGS_DECLARATION); \ - }; \ -- asm volatile ( \ -+ asm ( \ - ".globl " SYMBOL_STRING(cti_##op) "\n" \ - HIDE_SYMBOL(cti_##op) "\n" \ - SYMBOL_STRING(cti_##op) ":" "\n" \ - diff --git a/srcpkgs/qt/patches/gcc9-qforeach.patch b/srcpkgs/qt/patches/gcc9-qforeach.patch deleted file mode 100644 index a5397c9e4fc..00000000000 --- a/srcpkgs/qt/patches/gcc9-qforeach.patch +++ /dev/null @@ -1,67 +0,0 @@ -# reason: FTBFS with gcc9 -# src: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=925811 - -From c35a3f519007af44c3b364b9af86f6a336f6411b Mon Sep 17 00:00:00 2001 -From: Thiago Macieira -Date: Tue, 11 Feb 2014 16:17:46 -0800 -Subject: [PATCH] Redo the Q_FOREACH loop control without GCC statement - expressions - -It's possible to do without them, which probably makes the number of -supported compilers a lot bigger: they just need to support decltype() -or __typeof__. - -That includes the Intel compiler. The old code was also apparently -working, but no one had realized the old workaround for some old version -was still in place. - -The loop overhead is more or less the same. I have not done benchmarks, -but inspection of the generated assembly shows more or less the same -number of instructions. - -Change-Id: I32d499c84a6ddd19d994b49f17a469acb5c3a3f1 -Reviewed-by: Olivier Goffart -Reviewed-by: Marc Mutz - -Backported to Qt 4 - ---- a/src/corelib/global/qglobal.h -+++ b/src/corelib/global/qglobal.h -@@ -2482,22 +2482,32 @@ typedef uint Flags; - - #endif /* Q_NO_TYPESAFE_FLAGS */ - --#if defined(Q_CC_GNU) && !defined(Q_CC_INTEL) && !defined(Q_CC_RVCT) -+#if (defined(Q_CC_GNU) && !defined(Q_CC_RVCT)) - /* make use of typeof-extension */ - template - class QForeachContainer { - public: -- inline QForeachContainer(const T& t) : c(t), brk(0), i(c.begin()), e(c.end()) { } -+ inline QForeachContainer(const T& t) : c(t), i(c.begin()), e(c.end()), control(1) { } - const T c; - int brk; - typename T::const_iterator i, e; -+ int control; - }; - -+// Explanation of the control word: -+// - it's initialized to 1 -+// - that means both the inner and outer loops start -+// - if there were no breaks, at the end of the inner loop, it's set to 0, which -+// causes it to exit (the inner loop is run exactly once) -+// - at the end of the outer loop, it's inverted, so it becomes 1 again, allowing -+// the outer loop to continue executing -+// - if there was a break inside the inner loop, it will exit with control still -+// set to 1; in that case, the outer loop will invert it to 0 and will exit too - #define Q_FOREACH(variable, container) \ - for (QForeachContainer<__typeof__(container)> _container_(container); \ -- !_container_.brk && _container_.i != _container_.e; \ -- __extension__ ({ ++_container_.brk; ++_container_.i; })) \ -- for (variable = *_container_.i;; __extension__ ({--_container_.brk; break;})) -+ _container_.control && _container_.i != _container_.e; \ -+ ++_container_.i, _container_.control ^= 1) \ -+ for (variable = *_container_.i; _container_.control; _container_.control = 0) - - #else - diff --git a/srcpkgs/qt/patches/improve-cups-support.patch b/srcpkgs/qt/patches/improve-cups-support.patch deleted file mode 100644 index e0305e11b89..00000000000 --- a/srcpkgs/qt/patches/improve-cups-support.patch +++ /dev/null @@ -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 - } - - /*! diff --git a/srcpkgs/qt/patches/kde4-settings.patch b/srcpkgs/qt/patches/kde4-settings.patch deleted file mode 100644 index 747ca4cfd64..00000000000 --- a/srcpkgs/qt/patches/kde4-settings.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/src/gui/kernel/qkde.cpp.orig 2015-05-27 11:42:02.507129332 +0200 -+++ b/src/gui/kernel/qkde.cpp 2015-05-27 11:43:26.182875729 +0200 -@@ -63,7 +63,7 @@ - kdeHomePath = QString::fromLocal8Bit(qgetenv("KDEHOME")); - if (kdeHomePath.isEmpty()) { - QDir homeDir(QDir::homePath()); -- QString kdeConfDir(QLatin1String("/.kde")); -+ QString kdeConfDir(QLatin1String("/.kde4")); - if (4 == X11->desktopVersion && homeDir.exists(QLatin1String(".kde4"))) - kdeConfDir = QLatin1String("/.kde4"); - kdeHomePath = QDir::homePath() + kdeConfDir; diff --git a/srcpkgs/qt/patches/libressl-2.8.patch b/srcpkgs/qt/patches/libressl-2.8.patch deleted file mode 100644 index 11b14928811..00000000000 --- a/srcpkgs/qt/patches/libressl-2.8.patch +++ /dev/null @@ -1,31 +0,0 @@ ---- a/src/network/ssl/qsslsocket_openssl_symbols.cpp 2018-10-28 11:09:30.259495644 +0100 -+++ b/src/network/ssl/qsslsocket_openssl_symbols.cpp 2018-10-28 11:10:29.941933269 +0100 -@@ -111,10 +111,10 @@ - DEFINEFUNC2(int, ASN1_STRING_to_UTF8, unsigned char **a, a, ASN1_STRING *b, b, return 0, return); - DEFINEFUNC4(long, BIO_ctrl, BIO *a, a, int b, b, long c, c, void *d, d, return -1, return) - DEFINEFUNC(int, BIO_free, BIO *a, a, return 0, return) --DEFINEFUNC(BIO *, BIO_new, BIO_METHOD *a, a, return 0, return) -+DEFINEFUNC(BIO *, BIO_new, const BIO_METHOD *a, a, return 0, return) - DEFINEFUNC2(BIO *, BIO_new_mem_buf, void *a, a, int b, b, return 0, return) - DEFINEFUNC3(int, BIO_read, BIO *a, a, void *b, b, int c, c, return -1, return) --DEFINEFUNC(BIO_METHOD *, BIO_s_mem, void, DUMMYARG, return 0, return) -+DEFINEFUNC(const BIO_METHOD *, BIO_s_mem, void, DUMMYARG, return 0, return) - DEFINEFUNC3(int, BIO_write, BIO *a, a, const void *b, b, int c, c, return -1, return) - DEFINEFUNC(int, BN_num_bits, const BIGNUM *a, a, return 0, return) - DEFINEFUNC(int, CRYPTO_num_locks, DUMMYARG, DUMMYARG, return 0, return) - ---- a/src/network/ssl/qsslsocket_openssl_symbols_p.h 2018-10-28 11:20:59.516033387 +0100 -+++ b/src/network/ssl/qsslsocket_openssl_symbols_p.h 2018-10-28 11:20:31.770292922 +0100 -@@ -207,10 +207,10 @@ - int q_ASN1_STRING_to_UTF8(unsigned char **a, ASN1_STRING *b); - long q_BIO_ctrl(BIO *a, int b, long c, void *d); - int q_BIO_free(BIO *a); --BIO *q_BIO_new(BIO_METHOD *a); -+BIO *q_BIO_new(const BIO_METHOD *a); - BIO *q_BIO_new_mem_buf(void *a, int b); - int q_BIO_read(BIO *a, void *b, int c); --BIO_METHOD *q_BIO_s_mem(); -+const BIO_METHOD *q_BIO_s_mem(); - int q_BIO_write(BIO *a, const void *b, int c); - int q_BN_num_bits(const BIGNUM *a); - int q_CRYPTO_num_locks(); diff --git a/srcpkgs/qt/patches/mips-sgidef.patch b/srcpkgs/qt/patches/mips-sgidef.patch deleted file mode 100644 index b0d8181182e..00000000000 --- a/srcpkgs/qt/patches/mips-sgidef.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- qt.orig/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Platform.h 2015-05-07 16:14:48.000000000 +0200 -+++ qt/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Platform.h 2017-01-14 19:34:43.375000207 +0100 -@@ -336,7 +336,7 @@ - /* CPU(MIPS) - MIPS, any version */ - #if (defined(mips) || defined(__mips__) || defined(MIPS) || defined(_MIPS_)) - #define WTF_CPU_MIPS 1 --#include -+#include - #if defined(__MIPSEB__) - #define WTF_CPU_BIG_ENDIAN 1 - #endif diff --git a/srcpkgs/qt/patches/moc-boost-workaround.patch b/srcpkgs/qt/patches/moc-boost-workaround.patch deleted file mode 100644 index 027f8064dcf..00000000000 --- a/srcpkgs/qt/patches/moc-boost-workaround.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -upr qt-everywhere-opensource-src-4.8.6.orig/src/tools/moc/main.cpp qt-everywhere-opensource-src-4.8.6/src/tools/moc/main.cpp ---- qt-everywhere-opensource-src-4.8.6.orig/src/tools/moc/main.cpp 2014-04-10 21:37:12.000000000 +0300 -+++ qt-everywhere-opensource-src-4.8.6/src/tools/moc/main.cpp 2014-11-06 02:24:44.287305916 +0200 -@@ -190,6 +190,8 @@ int runMoc(int _argc, char **_argv) - - // Workaround a bug while parsing the boost/type_traits/has_operator.hpp header. See QTBUG-22829 - pp.macros["BOOST_TT_HAS_OPERATOR_HPP_INCLUDED"]; -+ pp.macros["BOOST_LEXICAL_CAST_INCLUDED"]; -+ pp.macros["BOOST_NEXT_PRIOR_HPP_INCLUDED"]; - - QByteArray filename; - QByteArray output; diff --git a/srcpkgs/qt/patches/moc-syslib-workaround.patch b/srcpkgs/qt/patches/moc-syslib-workaround.patch deleted file mode 100644 index ac7d5e64830..00000000000 --- a/srcpkgs/qt/patches/moc-syslib-workaround.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- qt-everywhere-opensource-src-4.8.7/src/tools/moc/main.cpp 2017-02-20 18:21:15.826212874 +0100 -+++ qt-everywhere-opensource-src-4.8.7/src/tools/moc/main.cpp 2017-02-20 18:23:02.448342205 +0100 -@@ -192,6 +192,8 @@ - pp.macros["BOOST_TT_HAS_OPERATOR_HPP_INCLUDED"]; - pp.macros["BOOST_LEXICAL_CAST_INCLUDED"]; - pp.macros["BOOST_NEXT_PRIOR_HPP_INCLUDED"]; -+ // Workaround a bug where newer kernel-libc-headers sys/sysmacros.h define macros like major, minor -+ pp.macros["_SYS_SYSMACROS_H_OUTER"]; - - QByteArray filename; - QByteArray output; diff --git a/srcpkgs/qt/patches/patch-src_network_ssl_qsslsocket_openssl_cpp.diff b/srcpkgs/qt/patches/patch-src_network_ssl_qsslsocket_openssl_cpp.diff deleted file mode 100644 index c7f7c2e30e2..00000000000 --- a/srcpkgs/qt/patches/patch-src_network_ssl_qsslsocket_openssl_cpp.diff +++ /dev/null @@ -1,34 +0,0 @@ -$OpenBSD: patch-src_network_ssl_qsslsocket_openssl_cpp,v 1.4 2016/01/06 17:17:32 zhuk Exp $ -1. Disable SSLv3 by default. -2. TLSv1_*_method() are TLSv1.0-only, so default to SSLv23_*_method(), which is - actually TLSv1.* nowadays. -2a. Make QSsl::TlsV1 also use SSLv23_*_method(), noone in good mind would - want to run TLSv1.0-only connections, and too many developers fail - same way due to bad naming. - ---- qt-everywhere-opensource-src-4.8.7/src/network/ssl/qsslsocket_openssl.cpp.orig Thu May 7 17:14:44 2015 -+++ qt-everywhere-opensource-src-4.8.7/src/network/ssl/qsslsocket_openssl.cpp Wed Jan 6 20:10:23 2016 -@@ -267,16 +267,18 @@ init_context: - #endif - break; - case QSsl::SslV3: -+#ifndef OPENSSL_NO_SSL3 - ctx = q_SSL_CTX_new(client ? q_SSLv3_client_method() : q_SSLv3_server_method()); -+#else -+ ctx = 0; // SSL 3 not supported by the system, but chosen deliberately -> error -+#endif - break; -- case QSsl::SecureProtocols: // SslV2 will be disabled below -- case QSsl::TlsV1SslV3: // SslV2 will be disabled below - case QSsl::AnyProtocol: -+ case QSsl::SecureProtocols: -+ case QSsl::TlsV1SslV3: -+ case QSsl::TlsV1: // this is TLSv1.0 only case, but misused as TLSv1.x too often - default: - ctx = q_SSL_CTX_new(client ? q_SSLv23_client_method() : q_SSLv23_server_method()); -- break; -- case QSsl::TlsV1: -- ctx = q_SSL_CTX_new(client ? q_TLSv1_client_method() : q_TLSv1_server_method()); - break; - } - if (!ctx) { diff --git a/srcpkgs/qt/patches/patch-src_network_ssl_qsslsocket_openssl_symbols_cpp.diff b/srcpkgs/qt/patches/patch-src_network_ssl_qsslsocket_openssl_symbols_cpp.diff deleted file mode 100644 index 2f8c6777aac..00000000000 --- a/srcpkgs/qt/patches/patch-src_network_ssl_qsslsocket_openssl_symbols_cpp.diff +++ /dev/null @@ -1,40 +0,0 @@ -$OpenBSD: patch-src_network_ssl_qsslsocket_openssl_symbols_cpp,v 1.3 2015/09/17 12:24:42 dcoppa Exp $ - ---- qt-everywhere-opensource-src-4.8.7/src/network/ssl/qsslsocket_openssl_symbols.cpp.orig Wed Sep 16 13:27:39 2015 -+++ qt-everywhere-opensource-src-4.8.7/src/network/ssl/qsslsocket_openssl_symbols.cpp Wed Sep 16 13:33:06 2015 -@@ -228,13 +228,17 @@ DEFINEFUNC(int, SSL_shutdown, SSL *a, a, return -1, re - #ifndef OPENSSL_NO_SSL2 - DEFINEFUNC(const SSL_METHOD *, SSLv2_client_method, DUMMYARG, DUMMYARG, return 0, return) - #endif -+#ifndef OPENSSL_NO_SSL3 - DEFINEFUNC(const SSL_METHOD *, SSLv3_client_method, DUMMYARG, DUMMYARG, return 0, return) -+#endif - DEFINEFUNC(const SSL_METHOD *, SSLv23_client_method, DUMMYARG, DUMMYARG, return 0, return) - DEFINEFUNC(const SSL_METHOD *, TLSv1_client_method, DUMMYARG, DUMMYARG, return 0, return) - #ifndef OPENSSL_NO_SSL2 - DEFINEFUNC(const SSL_METHOD *, SSLv2_server_method, DUMMYARG, DUMMYARG, return 0, return) - #endif -+#ifndef OPENSSL_NO_SSL3 - DEFINEFUNC(const SSL_METHOD *, SSLv3_server_method, DUMMYARG, DUMMYARG, return 0, return) -+#endif - DEFINEFUNC(const SSL_METHOD *, SSLv23_server_method, DUMMYARG, DUMMYARG, return 0, return) - DEFINEFUNC(const SSL_METHOD *, TLSv1_server_method, DUMMYARG, DUMMYARG, return 0, return) - #else -@@ -822,13 +826,17 @@ bool q_resolveOpenSslSymbols() - #ifndef OPENSSL_NO_SSL2 - RESOLVEFUNC(SSLv2_client_method) - #endif -+#ifndef OPENSSL_NO_SSL3 - RESOLVEFUNC(SSLv3_client_method) -+#endif - RESOLVEFUNC(SSLv23_client_method) - RESOLVEFUNC(TLSv1_client_method) - #ifndef OPENSSL_NO_SSL2 - RESOLVEFUNC(SSLv2_server_method) - #endif -+#ifndef OPENSSL_NO_SSL3 - RESOLVEFUNC(SSLv3_server_method) -+#endif - RESOLVEFUNC(SSLv23_server_method) - RESOLVEFUNC(TLSv1_server_method) - RESOLVEFUNC(X509_NAME_entry_count) diff --git a/srcpkgs/qt/patches/powerpc.patch b/srcpkgs/qt/patches/powerpc.patch deleted file mode 100644 index b3b0e313571..00000000000 --- a/srcpkgs/qt/patches/powerpc.patch +++ /dev/null @@ -1,754 +0,0 @@ -Source: @pullmoll -Upstream: no (Qt4 is dead) -Reason: Implement atomic operations like it was done for aarch64 using gcc builtins - -diff -rub qt.orig/src/corelib/arch/powerpc/arch.pri qt/src/corelib/arch/powerpc/arch.pri ---- qt.orig/src/corelib/arch/powerpc/arch.pri 2015-05-07 16:14:48.000000000 +0200 -+++ qt/src/corelib/arch/powerpc/arch.pri 2019-06-13 13:29:09.168289246 +0200 -@@ -1,10 +1,4 @@ - # - # PowerPC architecture - # --!*-g++* { -- *-64 { -- SOURCES += $$QT_ARCH_CPP/qatomic64.s -- } else { -- SOURCES += $$QT_ARCH_CPP/qatomic32.s -- } --} -+SOURCES += $$QT_ARCH_CPP/qatomic_powerpc.cpp -diff -rub qt.orig/src/corelib/arch/qatomic_powerpc.h qt/corelib/arch/qatomic_powerpc.h ---- qt.orig/src/corelib/arch/qatomic_powerpc.h 2015-05-07 16:14:48.000000000 +0200 -+++ qt/src/corelib/arch/qatomic_powerpc.h 2019-06-13 13:30:55.499295070 +0200 -@@ -101,546 +101,233 @@ - Q_INLINE_TEMPLATE bool QBasicAtomicPointer::isFetchAndAddWaitFree() - { return false; } - --#if defined(Q_CC_GNU) -- --#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 2) \ -- || (!defined(__64BIT__) && !defined(__powerpc64__) && !defined(__ppc64__)) --# define _Q_VALUE "0, %[_q_value]" --# define _Q_VALUE_MEMORY_OPERAND "+m" (_q_value) --# define _Q_VALUE_REGISTER_OPERAND [_q_value] "r" (&_q_value), --#else --// On 64-bit with gcc >= 4.2 --# define _Q_VALUE "%y[_q_value]" --# define _Q_VALUE_MEMORY_OPERAND [_q_value] "+Z" (_q_value) --# define _Q_VALUE_REGISTER_OPERAND -+#ifndef Q_DATA_MEMORY_BARRIER -+# define Q_DATA_MEMORY_BARRIER asm volatile("sync\n":::"memory") -+#endif -+#ifndef Q_COMPILER_MEMORY_BARRIER -+# define Q_COMPILER_MEMORY_BARRIER asm volatile("":::"memory") - #endif - - inline bool QBasicAtomicInt::ref() - { -- register int originalValue; -- register int newValue; -- asm volatile("lwarx %[originalValue]," _Q_VALUE "\n" -- "addi %[newValue], %[originalValue], %[one]\n" -- "stwcx. %[newValue]," _Q_VALUE "\n" -- "bne- $-12\n" -- : [originalValue] "=&b" (originalValue), -- [newValue] "=&r" (newValue), -- _Q_VALUE_MEMORY_OPERAND -- : _Q_VALUE_REGISTER_OPERAND -- [one] "i" (1) -- : "cc", "memory"); -+ int newValue; -+ -+ Q_COMPILER_MEMORY_BARRIER; -+ newValue = __atomic_add_fetch(&_q_value, 1, __ATOMIC_ACQ_REL); -+ Q_COMPILER_MEMORY_BARRIER; -+ - return newValue != 0; - } - - inline bool QBasicAtomicInt::deref() - { -- register int originalValue; -- register int newValue; -- asm volatile("lwarx %[originalValue]," _Q_VALUE "\n" -- "addi %[newValue], %[originalValue], %[minusOne]\n" -- "stwcx. %[newValue]," _Q_VALUE "\n" -- "bne- $-12\n" -- : [originalValue] "=&b" (originalValue), -- [newValue] "=&r" (newValue), -- _Q_VALUE_MEMORY_OPERAND -- : _Q_VALUE_REGISTER_OPERAND -- [minusOne] "i" (-1) -- : "cc", "memory"); -+ int newValue; -+ -+ Q_COMPILER_MEMORY_BARRIER; -+ newValue = __atomic_sub_fetch(&_q_value, 1, __ATOMIC_ACQ_REL); -+ Q_COMPILER_MEMORY_BARRIER; -+ - return newValue != 0; - } - - inline bool QBasicAtomicInt::testAndSetRelaxed(int expectedValue, int newValue) - { -- register int result; -- asm volatile("lwarx %[result]," _Q_VALUE "\n" -- "xor. %[result], %[result], %[expectedValue]\n" -- "bne $+12\n" -- "stwcx. %[newValue]," _Q_VALUE "\n" -- "bne- $-16\n" -- : [result] "=&r" (result), -- _Q_VALUE_MEMORY_OPERAND -- : _Q_VALUE_REGISTER_OPERAND -- [expectedValue] "r" (expectedValue), -- [newValue] "r" (newValue) -- : "cc", "memory"); -- return result == 0; --} -+ bool val; - --inline bool QBasicAtomicInt::testAndSetAcquire(int expectedValue, int newValue) --{ -- register int result; -- asm volatile("lwarx %[result]," _Q_VALUE "\n" -- "xor. %[result], %[result], %[expectedValue]\n" -- "bne $+16\n" -- "stwcx. %[newValue]," _Q_VALUE "\n" -- "bne- $-16\n" -- "isync\n" -- : [result] "=&r" (result), -- _Q_VALUE_MEMORY_OPERAND -- : _Q_VALUE_REGISTER_OPERAND -- [expectedValue] "r" (expectedValue), -- [newValue] "r" (newValue) -- : "cc", "memory"); -- return result == 0; --} -- --inline bool QBasicAtomicInt::testAndSetRelease(int expectedValue, int newValue) --{ -- register int result; -- asm volatile("eieio\n" -- "lwarx %[result]," _Q_VALUE "\n" -- "xor. %[result], %[result], %[expectedValue]\n" -- "bne $+12\n" -- "stwcx. %[newValue]," _Q_VALUE "\n" -- "bne- $-16\n" -- : [result] "=&r" (result), -- _Q_VALUE_MEMORY_OPERAND -- : _Q_VALUE_REGISTER_OPERAND -- [expectedValue] "r" (expectedValue), -- [newValue] "r" (newValue) -- : "cc", "memory"); -- return result == 0; -+ Q_COMPILER_MEMORY_BARRIER; -+ val = __atomic_compare_exchange_n (&_q_value, &expectedValue, newValue, -+ false, __ATOMIC_RELAXED, __ATOMIC_RELAXED); -+ Q_COMPILER_MEMORY_BARRIER; -+ return val; - } - - inline int QBasicAtomicInt::fetchAndStoreRelaxed(int newValue) - { -- register int originalValue; -- asm volatile("lwarx %[originalValue]," _Q_VALUE "\n" -- "stwcx. %[newValue]," _Q_VALUE "\n" -- "bne- $-8\n" -- : [originalValue] "=&r" (originalValue), -- _Q_VALUE_MEMORY_OPERAND -- : _Q_VALUE_REGISTER_OPERAND -- [newValue] "r" (newValue) -- : "cc", "memory"); -- return originalValue; --} -- --inline int QBasicAtomicInt::fetchAndStoreAcquire(int newValue) --{ -- register int originalValue; -- asm volatile("lwarx %[originalValue]," _Q_VALUE "\n" -- "stwcx. %[newValue]," _Q_VALUE "\n" -- "bne- $-8\n" -- "isync\n" -- : [originalValue] "=&r" (originalValue), -- _Q_VALUE_MEMORY_OPERAND -- : _Q_VALUE_REGISTER_OPERAND -- [newValue] "r" (newValue) -- : "cc", "memory"); -- return originalValue; --} -- --inline int QBasicAtomicInt::fetchAndStoreRelease(int newValue) --{ -- register int originalValue; -- asm volatile("eieio\n" -- "lwarx %[originalValue]," _Q_VALUE "\n" -- "stwcx. %[newValue]," _Q_VALUE "\n" -- "bne- $-8\n" -- : [originalValue] "=&r" (originalValue), -- _Q_VALUE_MEMORY_OPERAND -- : _Q_VALUE_REGISTER_OPERAND -- [newValue] "r" (newValue) -- : "cc", "memory"); -- return originalValue; -+ int val; -+ Q_COMPILER_MEMORY_BARRIER; -+ val = __atomic_exchange_n(&_q_value, newValue, __ATOMIC_RELAXED); -+ Q_COMPILER_MEMORY_BARRIER; -+ return val; - } - - inline int QBasicAtomicInt::fetchAndAddRelaxed(int valueToAdd) - { -- register int originalValue; -- register int newValue; -- asm volatile("lwarx %[originalValue]," _Q_VALUE "\n" -- "add %[newValue], %[originalValue], %[valueToAdd]\n" -- "stwcx. %[newValue]," _Q_VALUE "\n" -- "bne- $-12\n" -- : [originalValue] "=&r" (originalValue), -- [newValue] "=&r" (newValue), -- _Q_VALUE_MEMORY_OPERAND -- : _Q_VALUE_REGISTER_OPERAND -- [valueToAdd] "r" (valueToAdd) -- : "cc", "memory"); -- return originalValue; -+ int val; -+ Q_COMPILER_MEMORY_BARRIER; -+ val = __atomic_fetch_add(&_q_value, valueToAdd, __ATOMIC_RELAXED); -+ Q_COMPILER_MEMORY_BARRIER; -+ return val; - } - --inline int QBasicAtomicInt::fetchAndAddAcquire(int valueToAdd) --{ -- register int originalValue; -- register int newValue; -- asm volatile("lwarx %[originalValue]," _Q_VALUE "\n" -- "add %[newValue], %[originalValue], %[valueToAdd]\n" -- "stwcx. %[newValue]," _Q_VALUE "\n" -- "bne- $-12\n" -- "isync\n" -- : [originalValue] "=&r" (originalValue), -- [newValue] "=&r" (newValue), -- _Q_VALUE_MEMORY_OPERAND -- : _Q_VALUE_REGISTER_OPERAND -- [valueToAdd] "r" (valueToAdd) -- : "cc", "memory"); -- return originalValue; --} -- --inline int QBasicAtomicInt::fetchAndAddRelease(int valueToAdd) --{ -- register int originalValue; -- register int newValue; -- asm volatile("eieio\n" -- "lwarx %[originalValue]," _Q_VALUE "\n" -- "add %[newValue], %[originalValue], %[valueToAdd]\n" -- "stwcx. %[newValue]," _Q_VALUE "\n" -- "bne- $-12\n" -- : [originalValue] "=&r" (originalValue), -- [newValue] "=&r" (newValue), -- _Q_VALUE_MEMORY_OPERAND -- : _Q_VALUE_REGISTER_OPERAND -- [valueToAdd] "r" (valueToAdd) -- : "cc", "memory"); -- return originalValue; --} -- --#if defined(__64BIT__) || defined(__powerpc64__) || defined(__ppc64__) --# define LPARX "ldarx" --# define STPCX "stdcx." --#else --# define LPARX "lwarx" --# define STPCX "stwcx." --#endif -- - template - Q_INLINE_TEMPLATE bool QBasicAtomicPointer::testAndSetRelaxed(T *expectedValue, T *newValue) - { -- register void *result; -- asm volatile(LPARX" %[result]," _Q_VALUE "\n" -- "xor. %[result], %[result], %[expectedValue]\n" -- "bne $+12\n" -- STPCX" %[newValue]," _Q_VALUE "\n" -- "bne- $-16\n" -- : [result] "=&r" (result), -- _Q_VALUE_MEMORY_OPERAND -- : _Q_VALUE_REGISTER_OPERAND -- [expectedValue] "r" (expectedValue), -- [newValue] "r" (newValue) -- : "cc", "memory"); -- return result == 0; --} -- --template --Q_INLINE_TEMPLATE bool QBasicAtomicPointer::testAndSetAcquire(T *expectedValue, T *newValue) --{ -- register void *result; -- asm volatile(LPARX" %[result]," _Q_VALUE "\n" -- "xor. %[result], %[result], %[expectedValue]\n" -- "bne $+16\n" -- STPCX" %[newValue]," _Q_VALUE "\n" -- "bne- $-16\n" -- "isync\n" -- : [result] "=&r" (result), -- _Q_VALUE_MEMORY_OPERAND -- : _Q_VALUE_REGISTER_OPERAND -- [expectedValue] "r" (expectedValue), -- [newValue] "r" (newValue) -- : "cc", "memory"); -- return result == 0; --} -- --template --Q_INLINE_TEMPLATE bool QBasicAtomicPointer::testAndSetRelease(T *expectedValue, T *newValue) --{ -- register void *result; -- asm volatile("eieio\n" -- LPARX" %[result]," _Q_VALUE "\n" -- "xor. %[result], %[result], %[expectedValue]\n" -- "bne $+12\n" -- STPCX" %[newValue]," _Q_VALUE "\n" -- "bne- $-16\n" -- : [result] "=&r" (result), -- _Q_VALUE_MEMORY_OPERAND -- : _Q_VALUE_REGISTER_OPERAND -- [expectedValue] "r" (expectedValue), -- [newValue] "r" (newValue) -- : "cc", "memory"); -- return result == 0; -+ bool val; -+ Q_COMPILER_MEMORY_BARRIER; -+ val = __atomic_compare_exchange_n (&_q_value, &expectedValue, newValue, -+ false, __ATOMIC_RELAXED, __ATOMIC_RELAXED); -+ Q_COMPILER_MEMORY_BARRIER; -+ return val; - } - - template - Q_INLINE_TEMPLATE T *QBasicAtomicPointer::fetchAndStoreRelaxed(T *newValue) - { -- register T *originalValue; -- asm volatile(LPARX" %[originalValue]," _Q_VALUE "\n" -- STPCX" %[newValue]," _Q_VALUE "\n" -- "bne- $-8\n" -- : [originalValue] "=&r" (originalValue), -- _Q_VALUE_MEMORY_OPERAND -- : _Q_VALUE_REGISTER_OPERAND -- [newValue] "r" (newValue) -- : "cc", "memory"); -- return originalValue; --} -- --template --Q_INLINE_TEMPLATE T *QBasicAtomicPointer::fetchAndStoreAcquire(T *newValue) --{ -- register T *originalValue; -- asm volatile(LPARX" %[originalValue]," _Q_VALUE "\n" -- STPCX" %[newValue]," _Q_VALUE "\n" -- "bne- $-8\n" -- "isync\n" -- : [originalValue] "=&r" (originalValue), -- _Q_VALUE_MEMORY_OPERAND -- : _Q_VALUE_REGISTER_OPERAND -- [newValue] "r" (newValue) -- : "cc", "memory"); -- return originalValue; --} -- --template --Q_INLINE_TEMPLATE T *QBasicAtomicPointer::fetchAndStoreRelease(T *newValue) --{ -- register T *originalValue; -- asm volatile("eieio\n" -- LPARX" %[originalValue]," _Q_VALUE "\n" -- STPCX" %[newValue]," _Q_VALUE "\n" -- "bne- $-8\n" -- : [originalValue] "=&r" (originalValue), -- _Q_VALUE_MEMORY_OPERAND -- : _Q_VALUE_REGISTER_OPERAND -- [newValue] "r" (newValue) -- : "cc", "memory"); -- return originalValue; -+ T *val; -+ Q_COMPILER_MEMORY_BARRIER; -+ val = __atomic_exchange_n(&_q_value, newValue, __ATOMIC_RELAXED); -+ Q_COMPILER_MEMORY_BARRIER; -+ return val; - } - - template - Q_INLINE_TEMPLATE T *QBasicAtomicPointer::fetchAndAddRelaxed(qptrdiff valueToAdd) - { -- register T *originalValue; -- register T *newValue; -- asm volatile(LPARX" %[originalValue]," _Q_VALUE "\n" -- "add %[newValue], %[originalValue], %[valueToAdd]\n" -- STPCX" %[newValue]," _Q_VALUE "\n" -- "bne- $-12\n" -- : [originalValue] "=&r" (originalValue), -- [newValue] "=&r" (newValue), -- _Q_VALUE_MEMORY_OPERAND -- : _Q_VALUE_REGISTER_OPERAND -- [valueToAdd] "r" (valueToAdd * sizeof(T)) -- : "cc", "memory"); -- return originalValue; --} -- --template --Q_INLINE_TEMPLATE T *QBasicAtomicPointer::fetchAndAddAcquire(qptrdiff valueToAdd) --{ -- register T *originalValue; -- register T *newValue; -- asm volatile(LPARX" %[originalValue]," _Q_VALUE "\n" -- "add %[newValue], %[originalValue], %[valueToAdd]\n" -- STPCX" %[newValue]," _Q_VALUE "\n" -- "bne- $-12\n" -- "isync\n" -- : [originalValue] "=&r" (originalValue), -- [newValue] "=&r" (newValue), -- _Q_VALUE_MEMORY_OPERAND -- : _Q_VALUE_REGISTER_OPERAND -- [valueToAdd] "r" (valueToAdd * sizeof(T)) -- : "cc", "memory"); -- return originalValue; --} -- --template --Q_INLINE_TEMPLATE T *QBasicAtomicPointer::fetchAndAddRelease(qptrdiff valueToAdd) --{ -- register T *originalValue; -- register T *newValue; -- asm volatile("eieio\n" -- LPARX" %[originalValue]," _Q_VALUE "\n" -- "add %[newValue], %[originalValue], %[valueToAdd]\n" -- STPCX" %[newValue]," _Q_VALUE "\n" -- "bne- $-12\n" -- : [originalValue] "=&r" (originalValue), -- [newValue] "=&r" (newValue), -- _Q_VALUE_MEMORY_OPERAND -- : _Q_VALUE_REGISTER_OPERAND -- [valueToAdd] "r" (valueToAdd * sizeof(T)) -- : "cc", "memory"); -- return originalValue; --} -- --#undef LPARX --#undef STPCX --#undef _Q_VALUE --#undef _Q_VALUE_MEMORY_OPERAND --#undef _Q_VALUE_REGISTER_OPERAND -- --#else -- --extern "C" { -- int q_atomic_test_and_set_int(volatile int *ptr, int expectedValue, int newValue); -- int q_atomic_test_and_set_acquire_int(volatile int *ptr, int expectedValue, int newValue); -- int q_atomic_test_and_set_release_int(volatile int *ptr, int expectedValue, int newValue); -- int q_atomic_test_and_set_ptr(volatile void *ptr, void *expectedValue, void *newValue); -- int q_atomic_test_and_set_acquire_ptr(volatile void *ptr, void *expectedValue, void *newValue); -- int q_atomic_test_and_set_release_ptr(volatile void *ptr, void *expectedValue, void *newValue); -- int q_atomic_increment(volatile int *); -- int q_atomic_decrement(volatile int *); -- int q_atomic_set_int(volatile int *, int); -- int q_atomic_fetch_and_store_acquire_int(volatile int *ptr, int newValue); -- int q_atomic_fetch_and_store_release_int(volatile int *ptr, int newValue); -- void *q_atomic_set_ptr(volatile void *, void *); -- int q_atomic_fetch_and_store_acquire_ptr(volatile void *ptr, void *newValue); -- int q_atomic_fetch_and_store_release_ptr(volatile void *ptr, void *newValue); -- int q_atomic_fetch_and_add_int(volatile int *ptr, int valueToAdd); -- int q_atomic_fetch_and_add_acquire_int(volatile int *ptr, int valueToAdd); -- int q_atomic_fetch_and_add_release_int(volatile int *ptr, int valueToAdd); -- void *q_atomic_fetch_and_add_ptr(volatile void *ptr, qptrdiff valueToAdd); -- void *q_atomic_fetch_and_add_acquire_ptr(volatile void *ptr, qptrdiff valueToAdd); -- void *q_atomic_fetch_and_add_release_ptr(volatile void *ptr, qptrdiff valueToAdd); --} // extern "C" -- -- --inline bool QBasicAtomicInt::ref() --{ -- return q_atomic_increment(&_q_value) != 0; --} -- --inline bool QBasicAtomicInt::deref() --{ -- return q_atomic_decrement(&_q_value) != 0; --} -- --inline bool QBasicAtomicInt::testAndSetRelaxed(int expectedValue, int newValue) --{ -- return q_atomic_test_and_set_int(&_q_value, expectedValue, newValue) != 0; -+ T *val; -+ Q_COMPILER_MEMORY_BARRIER; -+ val = __atomic_fetch_add(&_q_value, valueToAdd, __ATOMIC_RELAXED); -+ Q_COMPILER_MEMORY_BARRIER; -+ return val; - } - - inline bool QBasicAtomicInt::testAndSetAcquire(int expectedValue, int newValue) - { -- return q_atomic_test_and_set_acquire_int(&_q_value, expectedValue, newValue) != 0; -+ bool returnValue = testAndSetRelaxed(expectedValue, newValue); -+ Q_DATA_MEMORY_BARRIER; -+ return returnValue; - } - - inline bool QBasicAtomicInt::testAndSetRelease(int expectedValue, int newValue) - { -- return q_atomic_test_and_set_release_int(&_q_value, expectedValue, newValue) != 0; -+ Q_DATA_MEMORY_BARRIER; -+ return testAndSetRelaxed(expectedValue, newValue); - } - --inline int QBasicAtomicInt::fetchAndStoreRelaxed(int newValue) -+inline bool QBasicAtomicInt::testAndSetOrdered(int expectedValue, int newValue) - { -- return q_atomic_set_int(&_q_value, newValue); -+ Q_DATA_MEMORY_BARRIER; -+ bool returnValue = testAndSetRelaxed(expectedValue, newValue); -+ Q_COMPILER_MEMORY_BARRIER; -+ return returnValue; - } - - inline int QBasicAtomicInt::fetchAndStoreAcquire(int newValue) - { -- return q_atomic_fetch_and_store_acquire_int(&_q_value, newValue); -+ int returnValue = fetchAndStoreRelaxed(newValue); -+ Q_DATA_MEMORY_BARRIER; -+ return returnValue; - } - - inline int QBasicAtomicInt::fetchAndStoreRelease(int newValue) - { -- return q_atomic_fetch_and_store_release_int(&_q_value, newValue); -+ Q_DATA_MEMORY_BARRIER; -+ return fetchAndStoreRelaxed(newValue); - } - --inline int QBasicAtomicInt::fetchAndAddRelaxed(int valueToAdd) -+inline int QBasicAtomicInt::fetchAndStoreOrdered(int newValue) - { -- return q_atomic_fetch_and_add_int(&_q_value, valueToAdd); -+ Q_DATA_MEMORY_BARRIER; -+ int returnValue = fetchAndStoreRelaxed(newValue); -+ Q_COMPILER_MEMORY_BARRIER; -+ return returnValue; - } - - inline int QBasicAtomicInt::fetchAndAddAcquire(int valueToAdd) - { -- return q_atomic_fetch_and_add_acquire_int(&_q_value, valueToAdd); -+ int returnValue = fetchAndAddRelaxed(valueToAdd); -+ Q_DATA_MEMORY_BARRIER; -+ return returnValue; - } - - inline int QBasicAtomicInt::fetchAndAddRelease(int valueToAdd) - { -- return q_atomic_fetch_and_add_release_int(&_q_value, valueToAdd); -+ Q_DATA_MEMORY_BARRIER; -+ return fetchAndAddRelaxed(valueToAdd); - } - --template --Q_INLINE_TEMPLATE bool QBasicAtomicPointer::testAndSetRelaxed(T *expectedValue, T *newValue) -+inline int QBasicAtomicInt::fetchAndAddOrdered(int valueToAdd) - { -- return q_atomic_test_and_set_ptr(&_q_value, expectedValue, newValue) != 0; -+ Q_DATA_MEMORY_BARRIER; -+ int returnValue = fetchAndAddRelaxed(valueToAdd); -+ Q_COMPILER_MEMORY_BARRIER; -+ return returnValue; - } - - template - Q_INLINE_TEMPLATE bool QBasicAtomicPointer::testAndSetAcquire(T *expectedValue, T *newValue) - { -- return q_atomic_test_and_set_acquire_ptr(&_q_value, expectedValue, newValue) != 0; -+ bool returnValue = testAndSetRelaxed(expectedValue, newValue); -+ Q_DATA_MEMORY_BARRIER; -+ return returnValue; - } - - template - Q_INLINE_TEMPLATE bool QBasicAtomicPointer::testAndSetRelease(T *expectedValue, T *newValue) - { -- return q_atomic_test_and_set_release_ptr(&_q_value, expectedValue, newValue) != 0; -+ Q_DATA_MEMORY_BARRIER; -+ return testAndSetRelaxed(expectedValue, newValue); - } - - template --Q_INLINE_TEMPLATE T *QBasicAtomicPointer::fetchAndStoreRelaxed(T *newValue) -+Q_INLINE_TEMPLATE bool QBasicAtomicPointer::testAndSetOrdered(T *expectedValue, T *newValue) - { -- return reinterpret_cast(q_atomic_set_ptr(&_q_value, newValue)); -+ Q_DATA_MEMORY_BARRIER; -+ bool returnValue = testAndSetAcquire(expectedValue, newValue); -+ Q_COMPILER_MEMORY_BARRIER; -+ return returnValue; - } - - template - Q_INLINE_TEMPLATE T *QBasicAtomicPointer::fetchAndStoreAcquire(T *newValue) - { -- return reinterpret_cast(q_atomic_fetch_and_store_acquire_ptr(&_q_value, newValue)); -+ T *returnValue = fetchAndStoreRelaxed(newValue); -+ Q_DATA_MEMORY_BARRIER; -+ return returnValue; - } - - template - Q_INLINE_TEMPLATE T *QBasicAtomicPointer::fetchAndStoreRelease(T *newValue) - { -- return reinterpret_cast(q_atomic_fetch_and_store_release_ptr(&_q_value, newValue)); -+ Q_DATA_MEMORY_BARRIER; -+ return fetchAndStoreRelaxed(newValue); - } - - template --Q_INLINE_TEMPLATE T *QBasicAtomicPointer::fetchAndAddRelaxed(qptrdiff valueToAdd) -+Q_INLINE_TEMPLATE T *QBasicAtomicPointer::fetchAndStoreOrdered(T *newValue) - { -- return reinterpret_cast(q_atomic_fetch_and_add_ptr(&_q_value, valueToAdd * sizeof(T))); -+ Q_DATA_MEMORY_BARRIER; -+ T *returnValue = fetchAndStoreRelaxed(newValue); -+ Q_COMPILER_MEMORY_BARRIER; -+ return returnValue; - } -+ - template - Q_INLINE_TEMPLATE T *QBasicAtomicPointer::fetchAndAddAcquire(qptrdiff valueToAdd) - { -- return reinterpret_cast(q_atomic_fetch_and_add_acquire_ptr(&_q_value, valueToAdd * sizeof(T))); -+ T *returnValue = fetchAndAddRelaxed(valueToAdd); -+ Q_DATA_MEMORY_BARRIER; -+ return returnValue; - } - - template - Q_INLINE_TEMPLATE T *QBasicAtomicPointer::fetchAndAddRelease(qptrdiff valueToAdd) - { -- return reinterpret_cast(q_atomic_fetch_and_add_release_ptr(&_q_value, valueToAdd * sizeof(T))); --} -- --#endif -- --inline bool QBasicAtomicInt::testAndSetOrdered(int expectedValue, int newValue) --{ -- return testAndSetAcquire(expectedValue, newValue); --} -- --inline int QBasicAtomicInt::fetchAndStoreOrdered(int newValue) --{ -- return fetchAndStoreAcquire(newValue); --} -- --inline int QBasicAtomicInt::fetchAndAddOrdered(int valueToAdd) --{ -- return fetchAndAddAcquire(valueToAdd); --} -- --template --Q_INLINE_TEMPLATE bool QBasicAtomicPointer::testAndSetOrdered(T *expectedValue, T *newValue) --{ -- return testAndSetAcquire(expectedValue, newValue); --} -- --template --Q_INLINE_TEMPLATE T *QBasicAtomicPointer::fetchAndStoreOrdered(T *newValue) --{ -- return fetchAndStoreAcquire(newValue); -+ Q_DATA_MEMORY_BARRIER; -+ return fetchAndAddRelaxed(valueToAdd); - } - - template - Q_INLINE_TEMPLATE T *QBasicAtomicPointer::fetchAndAddOrdered(qptrdiff valueToAdd) - { -- return fetchAndAddAcquire(valueToAdd); -+ Q_DATA_MEMORY_BARRIER; -+ T *returnValue = fetchAndAddRelaxed(valueToAdd); -+ Q_COMPILER_MEMORY_BARRIER; -+ return returnValue; - } - -+#undef Q_DATA_MEMORY_BARRIER -+#undef Q_COMPILER_MEMORY_BARRIER -+ - QT_END_NAMESPACE - - QT_END_HEADER ---- /dev/null -+++ qt/src/corelib/arch/powerpc/qatomic_powerpc.cpp -@@ -0,0 +1,70 @@ -+/**************************************************************************** -+** -+** Copyright (C) 2012, 2013 Digia Plc and/or its subsidiary(-ies). -+** Contact: http://www.qt-project.org/legal -+** -+** This file is part of the QtCore module of the Qt Toolkit. -+** -+** $QT_BEGIN_LICENSE:LGPL$ -+** Commercial License Usage -+** Licensees holding valid commercial Qt licenses may use this file in -+** accordance with the commercial license agreement provided with the -+** Software or, alternatively, in accordance with the terms contained in -+** a written agreement between you and Digia. For licensing terms and -+** conditions see http://qt.digia.com/licensing. For further information -+** use the contact form at http://qt.digia.com/contact-us. -+** -+** GNU Lesser General Public License Usage -+** Alternatively, this file may be used under the terms of the GNU Lesser -+** General Public License version 2.1 as published by the Free Software -+** Foundation and appearing in the file LICENSE.LGPL included in the -+** packaging of this file. Please review the following information to -+** ensure the GNU Lesser General Public License version 2.1 requirements -+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -+** -+** In addition, as a special exception, Digia gives you certain additional -+** rights. These rights are described in the Digia Qt LGPL Exception -+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -+** -+** GNU General Public License Usage -+** Alternatively, this file may be used under the terms of the GNU -+** General Public License version 3.0 as published by the Free Software -+** Foundation and appearing in the file LICENSE.GPL included in the -+** packaging of this file. Please review the following information to -+** ensure the GNU General Public License version 3.0 requirements will be -+** met: http://www.gnu.org/copyleft/gpl.html. -+** -+** -+** $QT_END_LICENSE$ -+** -+****************************************************************************/ -+ -+#include -+ -+#include -+#ifdef _POSIX_PRIORITY_SCHEDULING -+# include -+#endif -+#include -+ -+QT_BEGIN_NAMESPACE -+ -+QT_USE_NAMESPACE -+ -+Q_CORE_EXPORT void qt_atomic_yield(int *count) -+{ -+#ifdef _POSIX_PRIORITY_SCHEDULING -+ if((*count)++ < 50) { -+ sched_yield(); -+ } else -+#endif -+ { -+ struct timespec tm; -+ tm.tv_sec = 0; -+ tm.tv_nsec = 2000001; -+ nanosleep(&tm, NULL); -+ *count = 0; -+ } -+} -+ -+QT_END_NAMESPACE diff --git a/srcpkgs/qt/patches/qsettings-recursive-global-mutex.patch b/srcpkgs/qt/patches/qsettings-recursive-global-mutex.patch deleted file mode 100644 index 8c66b7a9fa6..00000000000 --- a/srcpkgs/qt/patches/qsettings-recursive-global-mutex.patch +++ /dev/null @@ -1,17 +0,0 @@ -Calling qsettings before constructing qapplications causes a dead-lock. - -http://sourceforge.net/tracker/?func=detail&aid=3168620&group_id=4932&atid=104932 -http://developer.qt.nokia.com/forums/viewthread/10365 - - ---- a/src/corelib/io/qsettings.cpp.orig -+++ b/src/corelib/io/qsettings.cpp -@@ -122,7 +122,7 @@ - Q_GLOBAL_STATIC(ConfFileCache, unusedCacheFunc) - Q_GLOBAL_STATIC(PathHash, pathHashFunc) - Q_GLOBAL_STATIC(CustomFormatVector, customFormatVectorFunc) --Q_GLOBAL_STATIC(QMutex, globalMutex) -+Q_GLOBAL_STATIC_WITH_ARGS(QMutex, globalMutex, (QMutex::Recursive)) - static QSettings::Format globalDefaultFormat = QSettings::NativeFormat; - - #ifndef Q_OS_WIN diff --git a/srcpkgs/qt/patches/qt-clucene-timeb.patch b/srcpkgs/qt/patches/qt-clucene-timeb.patch deleted file mode 100644 index e3f478fc631..00000000000 --- a/srcpkgs/qt/patches/qt-clucene-timeb.patch +++ /dev/null @@ -1,17 +0,0 @@ ---- a/src/3rdparty/clucene/src/CLucene/util/Misc.cpp.orig -+++ b/src/3rdparty/clucene/src/CLucene/util/Misc.cpp -@@ -20,11 +20,11 @@ - # endif - #endif - --#ifdef _CL_HAVE_SYS_TIMEB_H -+#ifndef UNDER_CE -+#ifdef _defined(_CLCOMPILER_MSVC) || defined(__MINGW32__) || defined(__BORLANDC__) - # include - #endif -- --#ifdef UNDER_CE -+#else - #include - #endif - diff --git a/srcpkgs/qt/patches/qt-gtk-theme-fix.patch b/srcpkgs/qt/patches/qt-gtk-theme-fix.patch deleted file mode 100644 index ee2045ac502..00000000000 --- a/srcpkgs/qt/patches/qt-gtk-theme-fix.patch +++ /dev/null @@ -1,59 +0,0 @@ -Author: Timo Teräs - -Fix QT GTK style to use GTK API to get the active theme name. This fixes -things for non-GNOME setups, as well as realtime theme change detection. - -It still tries to detect if GTK-Qt is in use and refuse to run with that -as it would cause obvious recursion, however that might be not always -possible. - ---- a/src/gui/styles/qgtkstyle_p.cpp 2013-06-07 05:16:59.000000000 +0000 -+++ b/src/gui/styles/qgtkstyle_p.cpp 2013-09-25 16:37:34.703506640 +0000 -@@ -505,7 +505,7 @@ void QGtkStylePrivate::initGtkWidgets() - - static QString themeName; - if (!gtkWidgetMap()->contains("GtkWindow") && themeName.isEmpty()) { -- themeName = getThemeName(); -+ themeName = getThemeNameGuess(); - - if (themeName == QLS("Qt") || themeName == QLS("Qt4")) { - // Due to namespace conflicts with Qt3 and obvious recursion with Qt4, -@@ -648,7 +648,7 @@ bool QGtkStylePrivate::getGConfBool(cons - return retVal; - } - --QString QGtkStylePrivate::getThemeName() -+QString QGtkStylePrivate::getThemeNameGuess() - { - QString themeName; - // We try to parse the gtkrc file first -@@ -685,6 +685,19 @@ QString QGtkStylePrivate::getThemeName() - - return themeName; - } -+ -+QString QGtkStylePrivate::getThemeName() -+{ -+ QString themeName; -+ gchar *theme_name; -+ -+ GtkSettings *settings = gtk_settings_get_default(); -+ g_object_get(settings, "gtk-theme-name", &theme_name, NULL); -+ themeName = QString::fromUtf8(theme_name); -+ g_free(theme_name); -+ -+ return themeName; -+} - - // Get size of the arrow controls in a GtkSpinButton - int QGtkStylePrivate::getSpinboxArrowSize() const ---- a/src/gui/styles/qgtkstyle_p.h 2013-06-07 05:16:59.000000000 +0000 -+++ b/src/gui/styles/qgtkstyle_p.h 2013-09-25 16:29:11.310167033 +0000 -@@ -338,6 +338,7 @@ public: - static bool getGConfBool(const QString &key, bool fallback = 0); - static QString getGConfString(const QString &key, const QString &fallback = QString()); - -+ static QString getThemeNameGuess(); - static QString getThemeName(); - virtual int getSpinboxArrowSize() const; - diff --git a/srcpkgs/qt/patches/qt-musl-iconv-no-bom.patch b/srcpkgs/qt/patches/qt-musl-iconv-no-bom.patch deleted file mode 100644 index 35380ad6714..00000000000 --- a/srcpkgs/qt/patches/qt-musl-iconv-no-bom.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- qt-everywhere-opensource-src-4.8.5/src/corelib/codecs/qiconvcodec.cpp.orig -+++ qt-everywhere-opensource-src-4.8.5/src/corelib/codecs/qiconvcodec.cpp -@@ -62,7 +62,7 @@ - #elif defined(Q_OS_AIX) - # define NO_BOM - # define UTF16 "UCS-2" --#elif defined(Q_OS_FREEBSD) || defined(Q_OS_MAC) -+#elif defined(Q_OS_FREEBSD) || defined(Q_OS_MAC) || (defined(Q_OS_LINUX) && !defined(__GLIBC__)) - # define NO_BOM - # if Q_BYTE_ORDER == Q_BIG_ENDIAN - # define UTF16 "UTF-16BE" diff --git a/srcpkgs/qt/patches/qt-musl.patch b/srcpkgs/qt/patches/qt-musl.patch deleted file mode 100644 index 90b9ccda08c..00000000000 --- a/srcpkgs/qt/patches/qt-musl.patch +++ /dev/null @@ -1,14 +0,0 @@ ---- qt-everywhere-opensource-src-4.8.5/mkspecs/linux-g++/qplatformdefs.h.orig -+++ qt-everywhere-opensource-src-4.8.5/mkspecs/linux-g++/qplatformdefs.h -@@ -86,11 +86,7 @@ - - #undef QT_SOCKLEN_T - --#if defined(__GLIBC__) && (__GLIBC__ >= 2) - #define QT_SOCKLEN_T socklen_t --#else --#define QT_SOCKLEN_T int --#endif - - #if defined(_XOPEN_SOURCE) && (_XOPEN_SOURCE >= 500) - #define QT_SNPRINTF ::snprintf diff --git a/srcpkgs/qt/template b/srcpkgs/qt/template deleted file mode 100644 index 6f6f9771e12..00000000000 --- a/srcpkgs/qt/template +++ /dev/null @@ -1,431 +0,0 @@ -# Template file for 'qt' -pkgname=qt -version=4.8.7 -revision=29 -_distname=qt-everywhere-opensource-src -patch_args="-Np1" -wrksrc=${_distname}-${version} -homepage="https://qt.io/" -short_desc="A cross-platform application and UI framework" -maintainer="Orphaned " -license="GPL-3, LGPL-2.1" -distfiles="https://download.qt.io/archive/qt/${version%.*}/${version}/${_distname}-${version}.tar.gz" -checksum=e2882295097e47fe089f8ac741a95fef47e0a73a3f3cdf21b56990638f626ea0 - -hostmakedepends="perl sqlite pkg-config" -makedepends=" - MesaLib-devel libressl-devel unixodbc-devel libXv-devel libXinerama-devel - libXrandr-devel libXcursor-devel glib-devel cups-devel sqlite-devel - alsa-lib-devel libmng-devel libSM-devel gtk+-devel libnotify-devel - libmysqlclient-devel postgresql-libs-devel pulseaudio-devel tslib-devel" -depends="qtchooser hicolor-icon-theme" -replaces="qt-qtconfig>=0" - -CXXFLAGS="-std=gnu++98 -Wno-deprecated -fno-delete-null-pointer-checks -fno-lifetime-dse -Wno-class-memaccess" - -if [ -n "$CROSS_BUILD" ]; then - hostmakedepends+=" qt-qmake qt-host-tools" - LDFLAGS="-L${XBPS_CROSS_BASE}/usr/lib" -fi -case "$XBPS_TARGET_MACHINE" in - mips*) broken="Serveral Assembler messages: Error: branch out of range" ;; -esac - -do_configure() { - local _opts _spec - echo "QMAKE_CXXFLAGS += -std=gnu++98" >> src/3rdparty/javascriptcore/JavaScriptCore/JavaScriptCore.pri - echo "QMAKE_CXXFLAGS += -std=gnu++98" >> src/plugins/accessible/qaccessiblebase.pri - echo "QMAKE_LFLAGS += -Wl,-rpath-link,${wrksrc}/lib" >> mkspecs/features/help.prf - - _opts+=" -confirm-license" - _opts+=" -opensource" - _opts+=" -prefix /usr" - _opts+=" -sysconfdir /etc" - _opts+=" -bindir /usr/lib/qt/bin" - _opts+=" -datadir /usr/share/qt" - _opts+=" -docdir /usr/share/doc/qt" - _opts+=" -plugindir /usr/lib/qt/plugins" - _opts+=" -importdir /usr/lib/qt/imports" - _opts+=" -translationdir /usr/share/qt/translations" - - if [ -n "$CROSS_BUILD" ]; then - _opts+=" -force-pkg-config" - _opts+=" -continue" - _opts+=" -xplatform ${CXX}" - _opts+=" -exceptions" - _opts+=" -make libs" - _opts+=" -make tools" - _opts+=" -make docs" - _opts+=" -make translations" - _opts+=" -qt3support" - case "$XBPS_TARGET_MACHINE" in - armv5tel) - _opts+=" -arch arm" - _spec="arm-linux-gnueabi-c++" - ;; - armv5tel-musl) - _opts+=" -arch arm" - _spec="arm-linux-musleabi-c++" - ;; - armv6l) - _opts+=" -arch arm" - _spec="arm-linux-gnueabihf-c++" - ;; - armv6l-musl) - _opts+=" -arch arm" - _spec="arm-linux-musleabihf-c++" - ;; - armv7l) - _opts+=" -arch arm" - _spec="armv7l-linux-gnueabihf-c++" - ;; - armv7l-musl) - _opts+=" -arch arm" - _spec="armv7l-linux-musleabihf-c++" - ;; - aarch64) - _opts+=" -arch aarch64" - _spec="aarch64-linux-gnu-c++" - ;; - aarch64-musl) - _opts+=" -arch aarch64" - _spec="aarch64-linux-musl-c++" - ;; - mips-musl) - _opts+=" -arch mips" - _spec="mips-linux-musl-c++" - ;; - mipshf-musl) - _opts+=" -arch mips" - _spec="mips-linux-muslhf-c++" - ;; - mipsel-musl) - _opts+=" -arch mips" - _spec="mipsel-linux-musl-c++" - ;; - mipselhf-musl) - _opts+=" -arch mips" - _spec="mipsel-linux-muslhf-c++" - ;; - ppc64le) - _opts+=" -arch powerpc" - _spec="powerpc64le-linux-gnu-c++" - ;; - ppc64le-musl) - _opts+=" -arch powerpc" - _spec="powerpc64le-linux-musl-c++" - ;; - ppc64) - _opts+=" -arch powerpc" - _spec="powerpc64-linux-gnu-c++" - ;; - ppc64-musl) - _opts+=" -arch powerpc" - _spec="powerpc64-linux-musl-c++" - ;; - ppc) - _opts+=" -arch powerpc" - _spec="powerpc-linux-gnu-c++" - ;; - ppc-musl) - _opts+=" -arch powerpc" - _spec="powerpc-linux-musl-c++" - ;; - ppcle) - _opts+=" -arch powerpc" - _spec="powerpcle-linux-gnu-c++" - ;; - ppcle-musl) - _opts+=" -arch powerpc" - _spec="powerpcle-linux-musl-c++" - ;; - *-musl) - _opts+=" -arch arm" - _spec="${XBPS_TARGET_MACHINE}-linux-musl-c++" - ;; - *) - _opts+=" -arch arm" - _spec="${XBPS_TARGET_MACHINE}-linux-gnu-c++" - ;; - esac - mkdir -p mkspecs/${_spec} - cat > mkspecs/${_spec}/qmake.conf << _EOF -# -# qmake specification for ${_spec} -# -MAKEFILE_GENERATOR = UNIX -TARGET_PLATFORM = unix -TEMPLATE = app -CONFIG += qt warn_on release incremental link_prl gdb_dwarf_index -QT += core gui -QMAKE_INCREMENTAL_STYLE = sublib - -include(../common/linux.conf) -include(../common/gcc-base-unix.conf) -QMAKE_CC = ${CC} -QMAKE_LINK_C = ${CC} -QMAKE_LINK_C_SHLIB = ${CC} -QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -O2 -g -QMAKE_CXX = ${CXX} -QMAKE_LINK = ${CXX} -QMAKE_LINK_SHLIB = ${CXX} -QMAKE_CXXFLAGS_RELEASE_WITH_DEBUGINFO += -O2 -g -QMAKE_PCH_OUTPUT_EXT = .gch -QMAKE_CFLAGS_PRECOMPILE = -x c-header -c \${QMAKE_PCH_INPUT} -o \${QMAKE_PCH_OUTPUT} -QMAKE_CFLAGS_USE_PRECOMPILE = -include \${QMAKE_PCH_OUTPUT_BASE} -QMAKE_CXXFLAGS_PRECOMPILE = -x c++-header -c \${QMAKE_PCH_INPUT} -o \${QMAKE_PCH_OUTPUT} -QMAKE_CXXFLAGS_USE_PRECOMPILE = -include \${QMAKE_PCH_OUTPUT_BASE} -QMAKE_LFLAGS_RELEASE += -Wl,-O1 -Wl,-rpath,${wrksrc}/lib -QMAKE_LFLAGS_NOUNDEF += -Wl,--no-undefined - -load(qt_config) -_EOF - cat > mkspecs/${_spec}/qplatformdefs.h << _EOF -#include "../linux-g++/qplatformdefs.h" -_EOF - - # Force enable qfilesystemwatcher_{i,d}notify - cat >> src/corelib/io/io.pri << _EOF -SOURCES += io/qfilesystemwatcher_inotify.cpp io/qfilesystemwatcher_dnotify.cpp -HEADERS += io/qfilesystemwatcher_inotify_p.h io/qfilesystemwatcher_dnotify_p.h -_EOF - - # qmake CFLAGS/LDFLAGS - sed -i configure \ - -e '/outpath\/qmake\".*\"\$MAKE\")/s/)/ CC=gcc CXX=g++ LINK=g++ QMAKE_CFLAGS="$XBPS_CFLAGS" QMAKE_CXXFLAGS="$XBPS_CXXFLAGS" QMAKE_LFLAGS="$XBPS_LDFLAGS" )/' \ - -e 's/\(setBootstrapVariable\s\+\|EXTRA_C\(XX\)\?FLAGS=.*\)QMAKE_C\(XX\)\?FLAGS_\(DEBUG\|RELEASE\).*/:/' \ - -e 's/5\*\|4\*\|3\.4\*)/8*|7*|6*|&/' - export PKG_CONFIG_PATH=${XBPS_CROSS_BASE}/usr/lib/pkgconfig:${XBPS_CROSS_BASE}/usr/share/pkgconfig - export PKG_CONFIG_LIBDIR=${XBPS_CROSS_BASE}/usr/lib/pkgconfig - export PKG_CONFIG_SYSROOT_DIR=${XBPS_CROSS_BASE} - - else - # qmake CFLAGS/LDFLAGS - sed -i configure \ - -e '/outpath\/qmake\".*\"\$MAKE\")/s/)/ QMAKE_CFLAGS="$CFLAGS" QMAKE_CXXFLAGS="$CXXFLAGS" QMAKE_LFLAGS="$LDFLAGS" )/' \ - -e 's/\(setBootstrapVariable\s\+\|EXTRA_C\(XX\)\?FLAGS=.*\)QMAKE_C\(XX\)\?FLAGS_\(DEBUG\|RELEASE\).*/:/' - fi - - _opts+=" -nomake demos" - _opts+=" -nomake examples" - _opts+=" -openssl-linked" - _opts+=" -xmlpatterns" - _opts+=" -no-webkit" - _opts+=" -gtkstyle" - _opts+=" -system-sqlite" - _opts+=" -shared" - _opts+=" -graphicssystem raster" - _opts+=" -no-icu" - _opts+=" -no-openvg" - _opts+=" -no-phonon" - _opts+=" -no-phonon-backend" - _opts+=" -no-pch" - _opts+=" -no-rpath" - _opts+=" -optimized-qmake" - _opts+=" -no-reduce-relocations" - _opts+=" -dbus-linked" - _opts+=" -silent" - # _opts+=" -v" - - echo "=== ./configure ${_opts}" - export LD_LIBRARY_PATH="${wrksrc}/lib:${LD_LIBRARY_PATH}" - export LD="$CXX" - export QMAKE_CFLAGS="${CFLAGS}" - export QMAKE_CXXFLAGS="${CXXFLAGS}" - export QMAKE_LFLAGS="${LDFLAGS} -Wl,-rpath,${wrksrc}/lib" - ./configure ${_opts} -} -do_build() { - local _f - if [ -n "$CROSS_BUILD" ]; then - # Replace binaries for host - find -name Makefile\* -exec sed -i "{}" -e"s;/builddir/.*/bin/;/usr/lib/qt/bin/;g" \; - # Build qmake for the target - echo "=== Building qmake for the target ${XBPS_TARGET_MACHINE}" - mv bin/qmake{,-host} - sed -i qmake/Makefile \ - -e"s;^\(CC =\).*;\1 ${CC};" \ - -e"s;^\(CXX =\).*;\1 ${CXX};" \ - -e"s;^\(QMAKE_CFLAGS =\).*;\1 ${CFLAGS};" \ - -e"s;^\(QMAKE_CXXFLAGS =\).*;\1 ${CXXFLAGS};" \ - -e"s;^\(QMAKE_LFLAGS =\).*;\1 ${LDFLAGS};" - cd qmake - make clean - make ${makejobs} - cd ${wrksrc} - mv bin/qmake{,-target} - mv bin/qmake{-host,} - cd ${wrksrc} - fi - export LD_LIBRARY_PATH="${wrksrc}/lib:${LD_LIBRARY_PATH}" - export LD="$CXX" - make ${makejobs} -} -do_install() { - local hicolordir=${DESTDIR}/usr/share/icons/hicolor - - make INSTALL_ROOT=${DESTDIR} install - - # install missing qatomic_aarch64.h - # TODO: find better fix (add to install targets?) - install -D -m644 src/corelib/arch/qatomic_aarch64.h ${DESTDIR}/usr/include/QtCore/ - install -D -m644 src/corelib/arch/qatomic_aarch64.h ${DESTDIR}/usr/include/Qt/ - - # delete tests - rm -rf ${DESTDIR}/usr/tests - - # 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 -D -m644 ${icon} \ - ${hicolordir}/${size}x${size}/apps/linguist.png - done - install -Dm644 src/gui/dialogs/images/qtlogo-64.png \ - ${hicolordir}/64x64/apps/qtlogo.png - install -Dm644 src/gui/dialogs/images/qtlogo-64.png \ - ${DESTDIR}/usr/share/pixmaps/qtlogo.png - install -Dm644 tools/assistant/tools/assistant/images/assistant.png \ - ${hicolordir}/32x32/apps/assistant.png - install -Dm644 tools/designer/src/designer/images/designer.png \ - ${hicolordir}/128x128/apps/designer.png - install -d ${DESTDIR}/usr/share/applications - install -m644 ${FILESDIR}/*.desktop \ - ${DESTDIR}/usr/share/applications - - vlicense LGPL_EXCEPTION.txt - - vmkdir usr/bin - for f in ${DESTDIR}/usr/lib/qt/bin/*; do - ln -s /usr/lib/qt/bin/$(basename $f) ${DESTDIR}/usr/bin/$(basename $f)-qt4 - done - - # Remove wrong stuff - rm -rf ${DESTDIR}/usr/{examples,demos} - - # Clean generated qmake.conf reference to builddir - find -name qmake.conf -exec sed -i "{}" -e"s; -Wl,-rpath,/builddir.*;;" \; - - # For a cross build replace qmake with the target binary - if [ -f ${wrksrc}/bin/qmake-target ]; then - mv ${wrksrc}/bin/qmake-target ${DESTDIR}/usr/lib/qt/bin/qmake - ln -s /usr/lib/qt/bin/qmake ${DESTDIR}/usr/bin/qmake-qt4 - fi -} - -qt-doc_package() { - depends="qt-devel-tools>=${version}_${revision}" - short_desc+=" - Documentation" - pkg_install() { - vmove usr/share/doc/qt - } -} -qt-designer_package() { - depends="hicolor-icon-theme qt-designer-libs>=${version}_${revision}" - short_desc+=" - GUI designer" - pkg_install() { - vmove usr/bin/designer-qt4 - vmove usr/lib/qt/bin/designer - vmove usr/lib/qt/plugins/designer - vmove "usr/share/icons/hicolor/128x128/apps/designer.*" - vmove "usr/share/applications/designer.*" - vmove "usr/share/qt/translations/designer*" - } -} -qt-designer-libs_package() { - depends="${sourcepkg}>=${version}_${revision}" - short_desc+=" - GUI designer libraries" - pkg_install() { - vmove usr/lib/libQtDesigner.so.* - vmove usr/lib/libQtDesignerComponents.so.* - } -} -qt-designer-devel_package() { - depends="qt-designer-libs>=${version}_${revision}" - short_desc+=" - GUI designer development" - pkg_install() { - vmove usr/lib/libQtDesigner.so - vmove usr/lib/libQtDesignerComponents.so - } -} -qt-host-tools_package() { - short_desc+=" - host tools" - pkg_install() { - for f in lrelease lupdate moc qdbuscpp2xml qdbusxml2cpp qt3to4 \ - rcc uic uic3; do - if [ -f "${DESTDIR}/usr/lib/qt/bin/${f}" ]; then - vmove usr/lib/qt/bin/${f} - fi - done - } -} -qt-devel-tools_package() { - depends="hicolor-icon-theme" - short_desc+=" - development tools" - pkg_install() { - for f in assistant lconvert linguist pixeltool qcollectiongenerator \ - qhelpgenerator qhelpconverter xmlpatterns xmlpatternsvalidator \ - qttracereplay qdoc3 qmlviewer; do - if [ -f "${DESTDIR}/usr/lib/qt/bin/${f}" ]; then - vmove usr/bin/${f}-qt4 - vmove usr/lib/qt/bin/${f} - fi - done - vmove usr/share/icons/hicolor - for f in linguist assistant; do - vmove usr/share/applications/${f}.desktop - [ ! -f ${DESTDIR}/usr/share/pixmaps/${f}.png ] && continue - vmove usr/share/pixmaps/${f}.png - done - vmove usr/share/qt/phrasebooks - } -} -qt-devel_package() { - depends="qt-qmake qt-devel-tools qt-host-tools libX11-devel qt>=${version}_${revision}" - short_desc+=" - development files" - pkg_install() { - for f in lrelease lupdate moc qdbuscpp2xml qdbusxml2cpp qt3to4 \ - rcc uic uic3; do - if [ -f "${DESTDIR}/usr/bin/${f}-qt4" ]; then - vmove usr/bin/${f}-qt4 - fi - done - vmove usr/include - vmove "usr/lib/*.so" - vmove "usr/lib/*.a" - vmove "usr/lib/*.prl" - vmove usr/lib/pkgconfig - } -} - -qt-plugin-odbc_package() { - short_desc+=" - ODBC plugin" - pkg_install() { - vmove usr/lib/qt/plugins/sqldrivers/libqsqlodbc.so - } -} -qt-plugin-pgsql_package() { - short_desc+=" - PostgreSQL plugin" - pkg_install() { - vmove usr/lib/qt/plugins/sqldrivers/libqsqlpsql.so - } -} -qt-plugin-mysql_package() { - short_desc+=" - MySQL plugin" - pkg_install() { - vmove usr/lib/qt/plugins/sqldrivers/libqsqlmysql.so - } -} -qt-plugin-sqlite_package() { - short_desc+=" - SQLite plugin" - pkg_install() { - vmove usr/lib/qt/plugins/sqldrivers/libqsqlite.so - } -} -qt-qmake_package() { - short_desc+=" - qmake Makefile generator tool" - pkg_install() { - vmove usr/bin/qmake-qt4 - vmove usr/lib/qt/bin/qmake - vmove usr/share/qt/mkspecs - } -}