mirror of
https://github.com/void-linux/void-packages.git
synced 2025-06-12 18:13:50 +02:00
qt: split qt-host-tools + prepare cross
Separate the host tools from qt-devel for lighter cross compiling. Keep nocross=yes until the native builds are done.
This commit is contained in:
parent
5dc2824849
commit
32902f1fb0
4 changed files with 729 additions and 63 deletions
1
srcpkgs/qt-host-tools
Symbolic link
1
srcpkgs/qt-host-tools
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
qt
|
|
@ -1,28 +0,0 @@
|
||||||
--- qt-everywhere-opensource-src-4.8.7/src/3rdparty/webkit/Source/JavaScriptCore/wtf/Platform.h 2015-05-07 14:14:45.000000000 +0000
|
|
||||||
+++ qt-everywhere-opensource-src-4.8.7.patched/src/3rdparty/webkit/Source/JavaScriptCore/wtf/Platform.h 2015-06-09 14:55:33.493388000 +0000
|
|
||||||
@@ -369,6 +369,15 @@
|
|
||||||
|
|
||||||
#endif /* ARM */
|
|
||||||
|
|
||||||
+/* CPU(AARCH64) - AArch64 */
|
|
||||||
+#if defined(__aarch64__)
|
|
||||||
+#define WTF_CPU_AARCH64 1
|
|
||||||
+#if defined(__AARCH64EB__)
|
|
||||||
+#define WTF_CPU_BIG_ENDIAN 1
|
|
||||||
+#endif
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
+
|
|
||||||
#if CPU(ARM) || CPU(MIPS) || CPU(SH4)
|
|
||||||
#define WTF_CPU_NEEDS_ALIGNED_ACCESS 1
|
|
||||||
#endif
|
|
||||||
@@ -1003,7 +1012,8 @@
|
|
||||||
|| CPU(SPARC64) \
|
|
||||||
|| CPU(S390X) \
|
|
||||||
|| CPU(PPC64) \
|
|
||||||
- || CPU(MIPS64)
|
|
||||||
+ || CPU(MIPS64) \
|
|
||||||
+ || CPU(AARCH64)
|
|
||||||
#define WTF_USE_JSVALUE64 1
|
|
||||||
#else
|
|
||||||
#define WTF_USE_JSVALUE32_64 1
|
|
541
srcpkgs/qt/patches/aarch64.patch
Normal file
541
srcpkgs/qt/patches/aarch64.patch
Normal file
|
@ -0,0 +1,541 @@
|
||||||
|
--- 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 <QtCore/qglobal.h>
|
||||||
|
+
|
||||||
|
+#include <unistd.h>
|
||||||
|
+#ifdef _POSIX_PRIORITY_SCHEDULING
|
||||||
|
+# include <sched.h>
|
||||||
|
+#endif
|
||||||
|
+#include <time.h>
|
||||||
|
+
|
||||||
|
+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 <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
|
||||||
|
+
|
||||||
|
+template <typename T>
|
||||||
|
+Q_INLINE_TEMPLATE bool QBasicAtomicPointer<T>::isFetchAndStoreNative()
|
||||||
|
+{ return true; }
|
||||||
|
+template <typename T>
|
||||||
|
+Q_INLINE_TEMPLATE bool QBasicAtomicPointer<T>::isFetchAndStoreWaitFree()
|
||||||
|
+{ return false; }
|
||||||
|
+
|
||||||
|
+#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; }
|
||||||
|
+
|
||||||
|
+#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 <typename T>
|
||||||
|
+Q_INLINE_TEMPLATE bool QBasicAtomicPointer<T>::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 <typename T>
|
||||||
|
+Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::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 <typename T>
|
||||||
|
+Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::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 <typename T>
|
||||||
|
+Q_INLINE_TEMPLATE bool QBasicAtomicPointer<T>::testAndSetAcquire(T *expectedValue, T *newValue)
|
||||||
|
+{
|
||||||
|
+ bool returnValue = testAndSetRelaxed(expectedValue, newValue);
|
||||||
|
+ Q_DATA_MEMORY_BARRIER;
|
||||||
|
+ return returnValue;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+template <typename T>
|
||||||
|
+Q_INLINE_TEMPLATE bool QBasicAtomicPointer<T>::testAndSetRelease(T *expectedValue, T *newValue)
|
||||||
|
+{
|
||||||
|
+ Q_DATA_MEMORY_BARRIER;
|
||||||
|
+ return testAndSetRelaxed(expectedValue, newValue);
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+template <typename T>
|
||||||
|
+Q_INLINE_TEMPLATE bool QBasicAtomicPointer<T>::testAndSetOrdered(T *expectedValue, T *newValue)
|
||||||
|
+{
|
||||||
|
+ Q_DATA_MEMORY_BARRIER;
|
||||||
|
+ bool returnValue = testAndSetAcquire(expectedValue, newValue);
|
||||||
|
+ Q_COMPILER_MEMORY_BARRIER;
|
||||||
|
+ return returnValue;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+template <typename T>
|
||||||
|
+Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndStoreAcquire(T *newValue)
|
||||||
|
+{
|
||||||
|
+ T *returnValue = fetchAndStoreRelaxed(newValue);
|
||||||
|
+ Q_DATA_MEMORY_BARRIER;
|
||||||
|
+ return returnValue;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+template <typename T>
|
||||||
|
+Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndStoreRelease(T *newValue)
|
||||||
|
+{
|
||||||
|
+ Q_DATA_MEMORY_BARRIER;
|
||||||
|
+ return fetchAndStoreRelaxed(newValue);
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+template <typename T>
|
||||||
|
+Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndStoreOrdered(T *newValue)
|
||||||
|
+{
|
||||||
|
+ Q_DATA_MEMORY_BARRIER;
|
||||||
|
+ T *returnValue = fetchAndStoreRelaxed(newValue);
|
||||||
|
+ Q_COMPILER_MEMORY_BARRIER;
|
||||||
|
+ return returnValue;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+template <typename T>
|
||||||
|
+Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndAddAcquire(qptrdiff valueToAdd)
|
||||||
|
+{
|
||||||
|
+ T *returnValue = fetchAndAddRelaxed(valueToAdd);
|
||||||
|
+ Q_DATA_MEMORY_BARRIER;
|
||||||
|
+ return returnValue;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+template <typename T>
|
||||||
|
+Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndAddRelease(qptrdiff valueToAdd)
|
||||||
|
+{
|
||||||
|
+ Q_DATA_MEMORY_BARRIER;
|
||||||
|
+ return fetchAndAddRelaxed(valueToAdd);
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+template <typename T>
|
||||||
|
+Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::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
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
# Template file for 'qt'
|
# Template file for 'qt'
|
||||||
pkgname=qt
|
pkgname=qt
|
||||||
version=4.8.7
|
version=4.8.7
|
||||||
revision=14
|
revision=15
|
||||||
_distname=qt-everywhere-opensource-src
|
_distname=qt-everywhere-opensource-src
|
||||||
patch_args="-Np1"
|
patch_args="-Np1"
|
||||||
wrksrc=${_distname}-${version}
|
wrksrc=${_distname}-${version}
|
||||||
|
@ -11,51 +11,159 @@ maintainer="Juan RP <xtraeme@voidlinux.eu>"
|
||||||
license="GPL-3, LGPL-2.1"
|
license="GPL-3, LGPL-2.1"
|
||||||
distfiles="http://download.qt.io/official_releases/qt/${version%.*}/${version}/${_distname}-${version}.tar.gz"
|
distfiles="http://download.qt.io/official_releases/qt/${version%.*}/${version}/${_distname}-${version}.tar.gz"
|
||||||
checksum=e2882295097e47fe089f8ac741a95fef47e0a73a3f3cdf21b56990638f626ea0
|
checksum=e2882295097e47fe089f8ac741a95fef47e0a73a3f3cdf21b56990638f626ea0
|
||||||
|
nocross=yes # WIP: next step is to remove this line
|
||||||
|
|
||||||
nocross=yes
|
hostmakedepends="perl sqlite pkg-config"
|
||||||
hostmakedepends="sqlite pkg-config"
|
|
||||||
makedepends="
|
makedepends="
|
||||||
libressl-devel libpng-devel MesaLib-devel libXrender-devel unixodbc-devel
|
MesaLib-devel libressl-devel unixodbc-devel libXv-devel libXinerama-devel
|
||||||
fontconfig-devel libXi-devel libXv-devel libXinerama-devel libXrandr-devel
|
libXrandr-devel libXcursor-devel glib-devel icu-devel cups-devel sqlite-devel
|
||||||
libXcursor-devel dbus-devel glib-devel icu-devel cups-devel libjpeg-turbo-devel
|
alsa-lib-devel libmng-devel libSM-devel gtk+-devel libnotify-devel
|
||||||
sqlite-devel alsa-lib-devel tiff-devel libmng-devel libxshmfence-devel
|
libmysqlclient-devel postgresql-libs-devel pulseaudio-devel"
|
||||||
libSM-devel gtk+-devel libmysqlclient-devel postgresql-libs-devel
|
|
||||||
pulseaudio-devel"
|
|
||||||
depends="qtchooser hicolor-icon-theme icu-libs"
|
depends="qtchooser hicolor-icon-theme icu-libs"
|
||||||
replaces="qt-qtconfig>=0"
|
replaces="qt-qtconfig>=0"
|
||||||
|
|
||||||
CXXFLAGS="-std=gnu++98 -Wno-deprecated"
|
CXXFLAGS="-std=gnu++98 -Wno-deprecated -fno-delete-null-pointer-checks -fno-lifetime-dse -fno-schedule-insns2"
|
||||||
|
|
||||||
|
if [ -n "$CROSS_BUILD" ]; then
|
||||||
|
hostmakedepends+=" qt-qmake qt-host-tools"
|
||||||
|
LDFLAGS="-L${XBPS_CROSS_BASE}/usr/lib"
|
||||||
|
fi
|
||||||
|
|
||||||
do_configure() {
|
do_configure() {
|
||||||
local _libdir _opts
|
local _opts _spec
|
||||||
|
|
||||||
export LD_LIBRARY_PATH="${wrksrc}/lib:${LD_LIBRARY_PATH}"
|
_opts+=" -confirm-license"
|
||||||
export LD="$CXX"
|
|
||||||
|
|
||||||
if [ "$XBPS_TARGET_MACHINE" = "i686" ]; then
|
|
||||||
_libdir=lib32
|
|
||||||
else
|
|
||||||
_libdir=lib
|
|
||||||
fi
|
|
||||||
|
|
||||||
# qmake CFLAGS/LDFLAGS
|
|
||||||
sed -i -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\).*/:/' \
|
|
||||||
configure
|
|
||||||
|
|
||||||
_opts="-confirm-license"
|
|
||||||
_opts+=" -opensource"
|
_opts+=" -opensource"
|
||||||
_opts+=" -prefix /usr"
|
_opts+=" -prefix /usr"
|
||||||
_opts+=" -sysconfdir /etc"
|
_opts+=" -sysconfdir /etc"
|
||||||
_opts+=" -bindir /usr/lib/qt/bin"
|
_opts+=" -bindir /usr/lib/qt/bin"
|
||||||
_opts+=" -datadir /usr/share/qt"
|
_opts+=" -datadir /usr/share/qt"
|
||||||
_opts+=" -docdir /usr/share/doc/qt"
|
_opts+=" -docdir /usr/share/doc/qt"
|
||||||
_opts+=" -plugindir /usr/${_libdir}/qt/plugins"
|
_opts+=" -plugindir /usr/lib/qt/plugins"
|
||||||
_opts+=" -importdir /usr/lib/qt/imports"
|
_opts+=" -importdir /usr/lib/qt/imports"
|
||||||
_opts+=" -translationdir /usr/share/qt/translations"
|
_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+=" -embedded arm"
|
||||||
|
_spec="arm-linux-gnueabi-c++"
|
||||||
|
;;
|
||||||
|
armv6l)
|
||||||
|
_opts+=" -embedded arm"
|
||||||
|
_spec="arm-linux-gnueabihf-c++"
|
||||||
|
;;
|
||||||
|
armv6l-musl)
|
||||||
|
_opts+=" -embedded arm"
|
||||||
|
_spec="arm-linux-musleabihf-c++"
|
||||||
|
;;
|
||||||
|
armv7l)
|
||||||
|
_opts+=" -embedded arm"
|
||||||
|
_spec="armv7l-linux-gnueabihf-c++"
|
||||||
|
;;
|
||||||
|
armv7l-musl)
|
||||||
|
_opts+=" -embedded arm"
|
||||||
|
_spec="armv7l-linux-musleabihf-c++"
|
||||||
|
;;
|
||||||
|
aarch64)
|
||||||
|
_opts+=" -embedded aarch64"
|
||||||
|
_spec="aarch64-linux-gnu-c++"
|
||||||
|
;;
|
||||||
|
aarch64-musl)
|
||||||
|
_opts+=" -embedded aarch64"
|
||||||
|
_spec="aarch64-linux-musl-c++"
|
||||||
|
;;
|
||||||
|
mips-musl)
|
||||||
|
_opts+=" -embedded mips"
|
||||||
|
_spec="mips-linux-musl-c++"
|
||||||
|
;;
|
||||||
|
mipsel-musl)
|
||||||
|
_opts+=" -embedded mips"
|
||||||
|
_spec="mipsel-linux-musl-c++"
|
||||||
|
;;
|
||||||
|
mipselhf-musl)
|
||||||
|
_opts+=" -embedded mips"
|
||||||
|
_spec="mipsel-linux-muslhf-c++"
|
||||||
|
;;
|
||||||
|
*-musl)
|
||||||
|
_opts+=" -embedded arm"
|
||||||
|
_spec="${XBPS_TARGET_MACHINE}-linux-musl-c++"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
_opts+=" -embedded arm"
|
||||||
|
_spec="${XBPS_TARGET_MACHINE}-linux-gnu-c++"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
mkdir mkspecs/${_spec}
|
||||||
|
cat > mkspecs/${_spec}/qmake.conf << _EOF
|
||||||
|
#
|
||||||
|
# qmake specification for ${XBPS_TARGET_MACHINE}-linux-gnu-c++
|
||||||
|
#
|
||||||
|
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\*)/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
|
||||||
|
_opts+=" -graphicssystem raster"
|
||||||
|
# qmake CFLAGS/LDFLAGS
|
||||||
|
sed -i -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\).*/:/' \
|
||||||
|
configure
|
||||||
|
fi
|
||||||
|
|
||||||
_opts+=" -nomake demos"
|
_opts+=" -nomake demos"
|
||||||
_opts+=" -nomake examples"
|
_opts+=" -nomake examples"
|
||||||
_opts+=" -graphicssystem raster"
|
|
||||||
_opts+=" -openssl-linked"
|
_opts+=" -openssl-linked"
|
||||||
_opts+=" -xmlpatterns"
|
_opts+=" -xmlpatterns"
|
||||||
_opts+=" -no-webkit"
|
_opts+=" -no-webkit"
|
||||||
|
@ -71,13 +179,36 @@ do_configure() {
|
||||||
_opts+=" -dbus-linked"
|
_opts+=" -dbus-linked"
|
||||||
_opts+=" -v"
|
_opts+=" -v"
|
||||||
|
|
||||||
echo "./configure ${_opts}"
|
echo "=== ./configure ${_opts}"
|
||||||
|
export LD_LIBRARY_PATH="${wrksrc}/lib:${LD_LIBRARY_PATH}"
|
||||||
|
export LD="$CXX"
|
||||||
export QMAKE_CFLAGS="${CFLAGS}"
|
export QMAKE_CFLAGS="${CFLAGS}"
|
||||||
export QMAKE_CXXFLAGS="${CXXFLAGS}"
|
export QMAKE_CXXFLAGS="${CXXFLAGS}"
|
||||||
export QMAKE_LFLAGS="${LDFLAGS}"
|
export QMAKE_LFLAGS="${LDFLAGS} -Wl,-rpath,${wrksrc}/lib"
|
||||||
./configure ${_opts}
|
./configure ${_opts}
|
||||||
}
|
}
|
||||||
do_build() {
|
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_LIBRARY_PATH="${wrksrc}/lib:${LD_LIBRARY_PATH}"
|
||||||
export LD="$CXX"
|
export LD="$CXX"
|
||||||
make ${makejobs}
|
make ${makejobs}
|
||||||
|
@ -117,6 +248,12 @@ do_install() {
|
||||||
|
|
||||||
# Remove wrong stuff
|
# Remove wrong stuff
|
||||||
rm -rf ${DESTDIR}/usr/{examples,demos}
|
rm -rf ${DESTDIR}/usr/{examples,demos}
|
||||||
|
|
||||||
|
# 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() {
|
qt-doc_package() {
|
||||||
|
@ -154,6 +291,18 @@ qt-designer-devel_package() {
|
||||||
vmove usr/lib/libQtDesignerComponents.so
|
vmove usr/lib/libQtDesignerComponents.so
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
qt-host-tools_package() {
|
||||||
|
depends"qt"
|
||||||
|
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() {
|
qt-devel-tools_package() {
|
||||||
depends="hicolor-icon-theme"
|
depends="hicolor-icon-theme"
|
||||||
short_desc+=" - development tools"
|
short_desc+=" - development tools"
|
||||||
|
@ -161,8 +310,10 @@ qt-devel-tools_package() {
|
||||||
for f in assistant lconvert linguist pixeltool qcollectiongenerator \
|
for f in assistant lconvert linguist pixeltool qcollectiongenerator \
|
||||||
qhelpgenerator qhelpconverter xmlpatterns xmlpatternsvalidator \
|
qhelpgenerator qhelpconverter xmlpatterns xmlpatternsvalidator \
|
||||||
qttracereplay qdoc3 qmlviewer; do
|
qttracereplay qdoc3 qmlviewer; do
|
||||||
vmove usr/bin/${f}-qt4
|
if [ -f "${DESTDIR}/usr/lib/qt/bin/${f}" ]; then
|
||||||
vmove usr/lib/qt/bin/${f}
|
vmove usr/bin/${f}-qt4
|
||||||
|
vmove usr/lib/qt/bin/${f}
|
||||||
|
fi
|
||||||
done
|
done
|
||||||
vmove usr/share/icons/hicolor
|
vmove usr/share/icons/hicolor
|
||||||
for f in linguist assistant; do
|
for f in linguist assistant; do
|
||||||
|
@ -174,13 +325,14 @@ qt-devel-tools_package() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
qt-devel_package() {
|
qt-devel_package() {
|
||||||
depends="qt-qmake qt-devel-tools libX11-devel icu-devel qt>=${version}_${revision}"
|
depends="qt-qmake qt-devel-tools qt-host-tools libX11-devel icu-devel qt>=${version}_${revision}"
|
||||||
short_desc+=" - development files"
|
short_desc+=" - development files"
|
||||||
pkg_install() {
|
pkg_install() {
|
||||||
for f in lrelease lupdate moc qdbuscpp2xml qdbusxml2cpp qt3to4 \
|
for f in lrelease lupdate moc qdbuscpp2xml qdbusxml2cpp qt3to4 \
|
||||||
rcc uic uic3; do
|
rcc uic uic3; do
|
||||||
vmove usr/bin/${f}-qt4
|
if [ -f "${DESTDIR}/usr/bin/${f}-qt4" ]; then
|
||||||
vmove usr/lib/qt/bin/${f}
|
vmove usr/bin/${f}-qt4
|
||||||
|
fi
|
||||||
done
|
done
|
||||||
vmove usr/include
|
vmove usr/include
|
||||||
vmove "usr/lib/*.a"
|
vmove "usr/lib/*.a"
|
||||||
|
|
Loading…
Add table
Reference in a new issue