From cd87cad8f7dbdfccccd9576aec79c5906dfc470e Mon Sep 17 00:00:00 2001 From: Isaac David Date: Thu, 13 Jul 2017 14:27:13 -0500 Subject: qt5-webkit-og: add package to pcr this provides qt5-webkit in armv7h --- pcr/qt5-webkit-og/0001-Add-ARM-64-support.patch | 13 ++++ pcr/qt5-webkit-og/PKGBUILD | 69 ++++++++++++++++++++ pcr/qt5-webkit-og/qt5-webkit-icu59.patch | 73 ++++++++++++++++++++++ ...kit-0002-Fix-QtWebKit-build-on-ARM-softfp.patch | 35 +++++++++++ 4 files changed, 190 insertions(+) create mode 100644 pcr/qt5-webkit-og/0001-Add-ARM-64-support.patch create mode 100644 pcr/qt5-webkit-og/PKGBUILD create mode 100644 pcr/qt5-webkit-og/qt5-webkit-icu59.patch create mode 100644 pcr/qt5-webkit-og/qt5webkit-0002-Fix-QtWebKit-build-on-ARM-softfp.patch (limited to 'pcr/qt5-webkit-og') diff --git a/pcr/qt5-webkit-og/0001-Add-ARM-64-support.patch b/pcr/qt5-webkit-og/0001-Add-ARM-64-support.patch new file mode 100644 index 000000000..73f5c97f8 --- /dev/null +++ b/pcr/qt5-webkit-og/0001-Add-ARM-64-support.patch @@ -0,0 +1,13 @@ +diff --git a/Source/WTF/wtf/Platform.h b/Source/WTF/wtf/Platform.h +index 4594ec8..639f28f 100644 +--- a/Source/WTF/wtf/Platform.h ++++ b/Source/WTF/wtf/Platform.h +@@ -342,7 +342,7 @@ + #endif + #endif + +-#if CPU(ARM) || CPU(MIPS) || CPU(SH4) || CPU(SPARC) || CPU(MIPS64) ++#if CPU(ARM) || CPU(MIPS) || CPU(SH4) || CPU(SPARC) || CPU(MIPS64) || CPU(AARCH64) + #define WTF_CPU_NEEDS_ALIGNED_ACCESS 1 + #endif + diff --git a/pcr/qt5-webkit-og/PKGBUILD b/pcr/qt5-webkit-og/PKGBUILD new file mode 100644 index 000000000..01aece7b3 --- /dev/null +++ b/pcr/qt5-webkit-og/PKGBUILD @@ -0,0 +1,69 @@ +# $Id: PKGBUILD 240297 2015-06-03 10:22:03Z fyan $ +# Maintainer (Arch): Felix Yan +# Contributor (Arch): Andrea Scarpino + +# Maintainer (ALARM): Kevin Mihelich +# - icu makedepend +# - patch for soft-float armv5 +# - patch for AArch64 support in qtwebkit + +# Maintainer: Isaac David + +pkgname=qt5-webkit-og +_qtver=5.9.0 +pkgver=${_qtver/-/} +pkgrel=2 +arch=('armv7h') +url='http://qt-project.org/' +license=('GPL3' 'LGPL3' 'FDL' 'custom') +pkgdesc='Classes for a WebKit2 based implementation and a new QML API' +depends=('qt5-location' 'qt5-sensors' 'qt5-webchannel' 'libwebp' 'libxslt' 'libxcomposite' 'gst-plugins-base') +makedepends=('ruby' 'gperf' 'python' 'icu' 'qt5-doc' 'qt5-tools') +optdepends=('gst-plugins-good: Webm codec support') +provides=('qt5-webkit') +conflicts=('qt5-webkit' 'qt') +groups=('qt' 'qt5') +_pkgfqn="qtwebkit-opensource-src-${_qtver}" +source=("http://download.qt.io/community_releases/${pkgver%.*}/${_qtver}-final/qtwebkit-opensource-src-${_qtver}.tar.xz" + qt5-webkit-icu59.patch + qt5webkit-0002-Fix-QtWebKit-build-on-ARM-softfp.patch + 0001-Add-ARM-64-support.patch) +sha256sums=('8dad193b740055a998312e04a040f2e32a923c0823b2d239b24eab08276a4e04' + '3bc9c7202f5cb055311ffb8a14145cef89060c00002f4cd5b4f4bf210bd56295' + 'f8a00464d786a0adaa840813256fcaa9885d5914c604ca66d3c750bb79161b46' + 'a1abdfd978198c5b3d76637131bd76793735f1d94f0eea04e1b223967e58bc6e') + +prepare() { + mkdir -p build + +# Fix build with ICU 59 (PLD linux) + cd ${_pkgfqn} + patch -p1 -i ../qt5-webkit-icu59.patch + +# ARM fixes + patch -p1 -i ../qt5webkit-0002-Fix-QtWebKit-build-on-ARM-softfp.patch + patch -p1 -i ../0001-Add-ARM-64-support.patch + + CFLAGS+=" -Wno-expansion-to-defined" + CXXFLAGS+=" -Wno-expansion-to-defined" +} + +build() { + cd build + + qmake ../${_pkgfqn} + make + make docs +} + +package() { + cd build + make INSTALL_ROOT="$pkgdir" install install_docs + + # Drop QMAKE_PRL_BUILD_DIR because reference the build dir + find "$pkgdir/usr/lib" -type f -name '*.prl' \ + -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \; + + install -d "$pkgdir"/usr/share/licenses + ln -s /usr/share/licenses/qt5-base "$pkgdir"/usr/share/licenses/${pkgname} +} diff --git a/pcr/qt5-webkit-og/qt5-webkit-icu59.patch b/pcr/qt5-webkit-og/qt5-webkit-icu59.patch new file mode 100644 index 000000000..2ad514c6a --- /dev/null +++ b/pcr/qt5-webkit-og/qt5-webkit-icu59.patch @@ -0,0 +1,73 @@ +diff --git a/Source/WTF/wtf/Compiler.h b/Source/WTF/wtf/Compiler.h +index ead844f..e62cfd4 100644 +--- a/Source/WTF/wtf/Compiler.h ++++ b/Source/WTF/wtf/Compiler.h +@@ -61,6 +61,7 @@ + #define WTF_COMPILER_SUPPORTS_HAS_TRIVIAL_DESTRUCTOR __has_feature(has_trivial_destructor) + #define WTF_COMPILER_SUPPORTS_CXX_STRONG_ENUMS __has_feature(cxx_strong_enums) + #define WTF_COMPILER_SUPPORTS_CXX_REFERENCE_QUALIFIED_FUNCTIONS __has_feature(cxx_reference_qualified_functions) ++#define WTF_COMPILER_SUPPORTS_CXX_NEW_CHAR_TYPES !defined(_LIBCPP_HAS_NO_UNICODE_CHARS) + + #endif + +@@ -142,6 +143,7 @@ + #define WTF_COMPILER_SUPPORTS_CXX_DELETED_FUNCTIONS 1 + #endif + #if GCC_VERSION_AT_LEAST(4, 5, 0) ++#define WTF_COMPILER_SUPPORTS_CXX_NEW_CHAR_TYPES 1 + #define WTF_COMPILER_SUPPORTS_CXX_EXPLICIT_CONVERSIONS 1 + #endif + #if GCC_VERSION_AT_LEAST(4, 6, 0) +diff --git a/Source/WTF/wtf/TypeTraits.h b/Source/WTF/wtf/TypeTraits.h +index b9e46bc..876fa45 100644 +--- a/Source/WTF/wtf/TypeTraits.h ++++ b/Source/WTF/wtf/TypeTraits.h +@@ -75,6 +75,10 @@ namespace WTF { + #if !COMPILER(MSVC) || defined(_NATIVE_WCHAR_T_DEFINED) + template<> struct IsInteger { static const bool value = true; }; + #endif ++#if COMPILER_SUPPORTS(CXX_NEW_CHAR_TYPES) ++ template<> struct IsInteger { static const bool value = true; }; ++ template<> struct IsInteger { static const bool value = true; }; ++#endif + + template struct IsFloatingPoint { static const bool value = false; }; + template<> struct IsFloatingPoint { static const bool value = true; }; +---qtwebkit-opensource-src-5.5.1/Source/JavaScriptCore/API/JSStringRef.h.orig 2015-10-13 06:37:10.000000000 +0200 ++++ qtwebkit-opensource-src-5.5.1/Source/JavaScriptCore/API/JSStringRef.h 2017-04-24 12:26:42.495345570 +0200 +@@ -32,6 +32,7 @@ + #include + #endif + #include /* for size_t */ ++#include + + #ifdef __cplusplus + extern "C" { +@@ -43,7 +44,7 @@ + @typedef JSChar + @abstract A Unicode character. + */ +- typedef unsigned short JSChar; ++ typedef char16_t JSChar; + #else + typedef wchar_t JSChar; + #endif +--- qtwebkit-opensource-src-5.5.1/Source/WebKit2/Shared/API/c/WKString.h.orig 2015-10-13 06:37:12.000000000 +0200 ++++ qtwebkit-opensource-src-5.5.1/Source/WebKit2/Shared/API/c/WKString.h 2017-04-24 12:27:33.432011867 +0200 +@@ -31,6 +31,7 @@ + #ifndef __cplusplus + #include + #endif ++#include + + #ifdef __cplusplus + extern "C" { +@@ -38,7 +39,7 @@ + + #if !defined(WIN32) && !defined(_WIN32) \ + && !((defined(__CC_ARM) || defined(__ARMCC__)) && !defined(__linux__)) /* RVCT */ +- typedef unsigned short WKChar; ++ typedef char16_t WKChar; + #else + typedef wchar_t WKChar; + #endif diff --git a/pcr/qt5-webkit-og/qt5webkit-0002-Fix-QtWebKit-build-on-ARM-softfp.patch b/pcr/qt5-webkit-og/qt5webkit-0002-Fix-QtWebKit-build-on-ARM-softfp.patch new file mode 100644 index 000000000..fc0eb22fd --- /dev/null +++ b/pcr/qt5-webkit-og/qt5webkit-0002-Fix-QtWebKit-build-on-ARM-softfp.patch @@ -0,0 +1,35 @@ +From 8a716a29721d900069d82878c45cf87a356adba3 Mon Sep 17 00:00:00 2001 +From: Allan Sandfeld Jensen +Date: Tue, 17 Dec 2013 12:26:58 +0100 +Subject: [PATCH] Fix QtWebKit build on ARM softfp + +The low level interpreter depends on hardfp, so we need to disable it +when builing on ARM targets with softfp. + +Task-number: QTBUG-35681 +Change-Id: I8aaef546b92182a87cc7116ac452d8725de6a7db +Reviewed-by: Jocelyn Turcotte +Signed-off-by: Fatih Aşıcı +--- + Source/WTF/wtf/Platform.h | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/Source/WTF/wtf/Platform.h b/Source/WTF/wtf/Platform.h +index 3a9b509..cddc210 100644 +--- a/Source/WTF/wtf/Platform.h ++++ b/Source/WTF/wtf/Platform.h +@@ -803,6 +803,11 @@ + #define ENABLE_LLINT 0 + #endif + ++/* LLINT on ARM depends on an FPU */ ++#if !defined(ENABLE_LLINT) && CPU(ARM) && !CPU(ARM_HARDFP) ++#define ENABLE_LLINT 0 ++#endif ++ + /* On some of the platforms where we have a JIT, we want to also have the + low-level interpreter. */ + #if !defined(ENABLE_LLINT) \ +-- +1.8.5.1 + -- cgit v1.2.3