summaryrefslogtreecommitdiff
path: root/pcr/qt5-webkit-og
diff options
context:
space:
mode:
authorIsaac David <isacdaavid@isacdaavid.info>2017-07-13 14:27:13 -0500
committerIsaac David <isacdaavid@isacdaavid.info>2017-07-13 14:27:13 -0500
commitcd87cad8f7dbdfccccd9576aec79c5906dfc470e (patch)
treee1163ace72d476daf3aa8596b8354052ca418aa2 /pcr/qt5-webkit-og
parent13e78a9e656cd310814570e64ce0855cc1276c4b (diff)
qt5-webkit-og: add package to pcr
this provides qt5-webkit in armv7h
Diffstat (limited to 'pcr/qt5-webkit-og')
-rw-r--r--pcr/qt5-webkit-og/0001-Add-ARM-64-support.patch13
-rw-r--r--pcr/qt5-webkit-og/PKGBUILD69
-rw-r--r--pcr/qt5-webkit-og/qt5-webkit-icu59.patch73
-rw-r--r--pcr/qt5-webkit-og/qt5webkit-0002-Fix-QtWebKit-build-on-ARM-softfp.patch35
4 files changed, 190 insertions, 0 deletions
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 <felixonmars@archlinux.org>
+# Contributor (Arch): Andrea Scarpino <andrea@archlinux.org>
+
+# Maintainer (ALARM): Kevin Mihelich <kevin@archlinuxarm.org>
+# - icu makedepend
+# - patch for soft-float armv5
+# - patch for AArch64 support in qtwebkit
+
+# Maintainer: Isaac David <isacdaavid@at@isacdaavid@dot@info>
+
+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<wchar_t> { static const bool value = true; };
+ #endif
++#if COMPILER_SUPPORTS(CXX_NEW_CHAR_TYPES)
++ template<> struct IsInteger<char16_t> { static const bool value = true; };
++ template<> struct IsInteger<char32_t> { static const bool value = true; };
++#endif
+
+ template<typename T> struct IsFloatingPoint { static const bool value = false; };
+ template<> struct IsFloatingPoint<float> { 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 <stdbool.h>
+ #endif
+ #include <stddef.h> /* for size_t */
++#include <uchar.h>
+
+ #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 <stdbool.h>
+ #endif
++#include <uchar.h>
+
+ #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 <allan.jensen@digia.com>
+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 <jocelyn.turcotte@digia.com>
+Signed-off-by: Fatih Aşıcı <fatih.asici@gmail.com>
+---
+ 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
+