[SCM] Qt 4 packaging branch, master, updated. debian/4.8.5+dfsg-2-2-g5872a67

Lisandro Damián Nicanor Pérez lisandro at alioth.debian.org
Wed Jul 24 03:25:45 UTC 2013


Gitweb-URL: http://git.debian.org/?p=pkg-kde/qt/qt4-x11.git;a=commitdiff;h=5872a67

The following commit has been merged in the master branch:
commit 5872a673047f61f56164261e8c18864c512e71a5
Author: Lisandro Damián Nicanor Pérez Meyer <perezmeyer at gmail.com>
Date:   Wed Jul 24 00:25:14 2013 -0300

    Add upstream patch to support m68k arch.
---
 debian/changelog                                   |    4 +
 .../Add-support-for-the-Linux-m68k-platform.patch  |  311 ++++++++++++++++++++
 debian/patches/series                              |    1 +
 3 files changed, 316 insertions(+)

diff --git a/debian/changelog b/debian/changelog
index 06db245..955f680 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,5 +1,9 @@
 qt4-x11 (4:4.8.5+dfsg-3) UNRELEASED; urgency=low
 
+  [ Lisandro Damián Nicanor Pérez Meyer ]
+  * Add Add-support-for-the-Linux-m68k-platform.patch for supporting the m68k
+    architecture (Closes: 660963).
+
  -- Debian Qt/KDE Maintainers <debian-qt-kde at lists.debian.org>  Wed, 24 Jul 2013 00:20:19 -0300
 
 qt4-x11 (4:4.8.5+dfsg-2) unstable; urgency=low
diff --git a/debian/patches/Add-support-for-the-Linux-m68k-platform.patch b/debian/patches/Add-support-for-the-Linux-m68k-platform.patch
new file mode 100644
index 0000000..abef144
--- /dev/null
+++ b/debian/patches/Add-support-for-the-Linux-m68k-platform.patch
@@ -0,0 +1,311 @@
+From db13a5a2fe48da963e0c471cd88b56148aa2b65e Mon Sep 17 00:00:00 2001
+From: Thorsten Glaser <tg at mirsolutions.de>
+Date: Fri, 5 Jul 2013 13:59:34 +0200
+Subject: [PATCH 1/2] Add support for the Linux/m68k platform
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Add necessary support code to recognize m68k as an architecture;
+use GCC builtin atomics like avr32 does. Copy avr32 header, since
+it was hinted that including it from m68k was not liked.
+
+This is not needed in Qt5 because it’s said to automatically use
+the GCC atomic builtins.
+
+Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=660963
+
+Task-number: QTBUG-28237
+Change-Id: I6c51405c47549c904899a6971b6cd34b8239c642
+Reviewed-by: Thiago Macieira <thiago.macieira at intel.com>
+---
+ src/corelib/arch/m68k/arch.pri  |   3 +
+ src/corelib/arch/qatomic_arch.h |   2 +
+ src/corelib/arch/qatomic_m68k.h | 252 ++++++++++++++++++++++++++++++++++++++++
+ 3 files changed, 257 insertions(+)
+ create mode 100644 src/corelib/arch/m68k/arch.pri
+ create mode 100644 src/corelib/arch/qatomic_m68k.h
+
+diff --git a/src/corelib/arch/m68k/arch.pri b/src/corelib/arch/m68k/arch.pri
+new file mode 100644
+index 0000000..3a50858
+--- /dev/null
++++ b/src/corelib/arch/m68k/arch.pri
+@@ -0,0 +1,3 @@
++#
++# Motorola 68000 and ColdFire (m68k) architecture
++#
+diff --git a/src/corelib/arch/qatomic_arch.h b/src/corelib/arch/qatomic_arch.h
+index 2207df9..141726c 100644
+--- a/src/corelib/arch/qatomic_arch.h
++++ b/src/corelib/arch/qatomic_arch.h
+@@ -66,6 +66,8 @@ QT_BEGIN_HEADER
+ #  include "QtCore/qatomic_i386.h"
+ #elif defined(QT_ARCH_IA64)
+ #  include "QtCore/qatomic_ia64.h"
++#elif defined(QT_ARCH_M68K)
++#  include "QtCore/qatomic_m68k.h"
+ #elif defined(QT_ARCH_MACOSX)
+ #  include "QtCore/qatomic_macosx.h"
+ #elif defined(QT_ARCH_MIPS)
+diff --git a/src/corelib/arch/qatomic_m68k.h b/src/corelib/arch/qatomic_m68k.h
+new file mode 100644
+index 0000000..57e3565
+--- /dev/null
++++ b/src/corelib/arch/qatomic_m68k.h
+@@ -0,0 +1,252 @@
++/****************************************************************************
++**
++** Copyright (C) 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$
++**
++****************************************************************************/
++
++#ifndef QATOMIC_M68K_H
++#define QATOMIC_M68K_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
++#define Q_ATOMIC_INT_FETCH_AND_STORE_IS_WAIT_FREE
++
++inline bool QBasicAtomicInt::isFetchAndStoreNative()
++{ return true; }
++inline bool QBasicAtomicInt::isFetchAndStoreWaitFree()
++{ return true; }
++
++#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 <typename T>
++Q_INLINE_TEMPLATE bool QBasicAtomicPointer<T>::isTestAndSetNative()
++{ return true; }
++template <typename T>
++Q_INLINE_TEMPLATE bool QBasicAtomicPointer<T>::isTestAndSetWaitFree()
++{ return false; }
++
++#define Q_ATOMIC_POINTER_FETCH_AND_STORE_IS_ALWAYS_NATIVE
++#define Q_ATOMIC_POINTER_FETCH_AND_STORE_IS_WAIT_FREE
++
++template <typename T>
++Q_INLINE_TEMPLATE bool QBasicAtomicPointer<T>::isFetchAndStoreNative()
++{ return true; }
++template <typename T>
++Q_INLINE_TEMPLATE bool QBasicAtomicPointer<T>::isFetchAndStoreWaitFree()
++{ return true; }
++
++#define Q_ATOMIC_POINTER_FETCH_AND_ADD_IS_ALWAYS_NATIVE
++
++template <typename T>
++Q_INLINE_TEMPLATE bool QBasicAtomicPointer<T>::isFetchAndAddNative()
++{ return true; }
++template <typename T>
++Q_INLINE_TEMPLATE bool QBasicAtomicPointer<T>::isFetchAndAddWaitFree()
++{ return false; }
++
++inline bool QBasicAtomicInt::ref()
++{
++    return __sync_add_and_fetch(&_q_value, 1);
++}
++
++inline bool QBasicAtomicInt::deref()
++{
++    return __sync_sub_and_fetch(&_q_value, 1);
++}
++
++inline bool QBasicAtomicInt::testAndSetOrdered(int expectedValue, int newValue)
++{
++    return __sync_bool_compare_and_swap(&_q_value, expectedValue, newValue);
++}
++
++inline bool QBasicAtomicInt::testAndSetRelaxed(int expectedValue, int newValue)
++{
++    return testAndSetOrdered(expectedValue, newValue);
++}
++
++inline bool QBasicAtomicInt::testAndSetAcquire(int expectedValue, int newValue)
++{
++    return testAndSetOrdered(expectedValue, newValue);
++}
++
++inline bool QBasicAtomicInt::testAndSetRelease(int expectedValue, int newValue)
++{
++    return testAndSetOrdered(expectedValue, newValue);
++}
++
++inline int QBasicAtomicInt::fetchAndStoreOrdered(int newValue)
++{
++    return __sync_lock_test_and_set(&_q_value, newValue);
++}
++
++inline int QBasicAtomicInt::fetchAndStoreRelaxed(int newValue)
++{
++    return fetchAndStoreOrdered(newValue);
++}
++
++inline int QBasicAtomicInt::fetchAndStoreAcquire(int newValue)
++{
++    return fetchAndStoreOrdered(newValue);
++}
++
++inline int QBasicAtomicInt::fetchAndStoreRelease(int newValue)
++{
++    return fetchAndStoreOrdered(newValue);
++}
++
++inline int QBasicAtomicInt::fetchAndAddOrdered(int valueToAdd)
++{
++    return __sync_fetch_and_add(&_q_value, valueToAdd);
++}
++
++inline int QBasicAtomicInt::fetchAndAddRelaxed(int valueToAdd)
++{
++    return fetchAndAddOrdered(valueToAdd);
++}
++
++inline int QBasicAtomicInt::fetchAndAddAcquire(int valueToAdd)
++{
++    return fetchAndAddOrdered(valueToAdd);
++}
++
++inline int QBasicAtomicInt::fetchAndAddRelease(int valueToAdd)
++{
++    return fetchAndAddOrdered(valueToAdd);
++}
++
++template <typename T>
++Q_INLINE_TEMPLATE bool QBasicAtomicPointer<T>::testAndSetOrdered(T *expectedValue, T *newValue)
++{
++    return __sync_bool_compare_and_swap(&_q_value, expectedValue, newValue);
++}
++
++template <typename T>
++Q_INLINE_TEMPLATE bool QBasicAtomicPointer<T>::testAndSetRelaxed(T *expectedValue, T *newValue)
++{
++    return testAndSetOrdered(expectedValue, newValue);
++}
++
++template <typename T>
++Q_INLINE_TEMPLATE bool QBasicAtomicPointer<T>::testAndSetAcquire(T *expectedValue, T *newValue)
++{
++    return testAndSetOrdered(expectedValue, newValue);
++}
++
++template <typename T>
++Q_INLINE_TEMPLATE bool QBasicAtomicPointer<T>::testAndSetRelease(T *expectedValue, T *newValue)
++{
++    return testAndSetOrdered(expectedValue, newValue);
++}
++
++template <typename T>
++Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndStoreOrdered(T *newValue)
++{
++    return __sync_lock_test_and_set(&_q_value, newValue);
++}
++
++template <typename T>
++Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndStoreRelaxed(T *newValue)
++{
++    return fetchAndStoreOrdered(newValue);
++}
++
++template <typename T>
++Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndStoreAcquire(T *newValue)
++{
++    return fetchAndStoreOrdered(newValue);
++}
++
++template <typename T>
++Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndStoreRelease(T *newValue)
++{
++    return fetchAndStoreOrdered(newValue);
++}
++
++template <typename T>
++Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndAddOrdered(qptrdiff valueToAdd)
++{
++    return __sync_fetch_and_add(&_q_value, valueToAdd * sizeof(T));
++}
++
++template <typename T>
++Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndAddRelaxed(qptrdiff valueToAdd)
++{
++    return fetchAndAddOrdered(valueToAdd);
++}
++
++template <typename T>
++Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndAddAcquire(qptrdiff valueToAdd)
++{
++    return fetchAndAddOrdered(valueToAdd);
++}
++
++template <typename T>
++Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndAddRelease(qptrdiff valueToAdd)
++{
++    return fetchAndAddOrdered(valueToAdd);
++}
++
++QT_END_NAMESPACE
++
++QT_END_HEADER
++
++#endif // QATOMIC_M68K_H
+-- 
+1.8.3.2
+
diff --git a/debian/patches/series b/debian/patches/series
index 7b0b9c6..36cdb77 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,6 +1,7 @@
 # upstream patches
 Add_support_for_QT_USE_DRAG_DISTANCE_env_var.patch
 QTBUG-21900_Buttons_in_Qt_applications_not_clickable_when_run_under_gnome-shell.patch
+Add-support-for-the-Linux-m68k-platform.patch
 
 # qt-copy patches
 0195-compositing-properties.diff

-- 
Qt 4 packaging



More information about the pkg-kde-commits mailing list