diff options
Diffstat (limited to 'deps/qt5-webkit')
-rw-r--r-- | deps/qt5-webkit/.url | 2 | ||||
-rw-r--r-- | deps/qt5-webkit/patches/qt5-webkit.gcc7.patch | 34 | ||||
-rw-r--r-- | deps/qt5-webkit/patches/qt5-webkit.icu59.patch | 80 | ||||
-rwxr-xr-x | deps/qt5-webkit/qt5-webkit.SlackBuild | 31 |
4 files changed, 136 insertions, 11 deletions
diff --git a/deps/qt5-webkit/.url b/deps/qt5-webkit/.url index 46f309b..0924d34 100644 --- a/deps/qt5-webkit/.url +++ b/deps/qt5-webkit/.url @@ -1 +1 @@ -http://download.qt.io/community_releases/5.6/5.6.1/qtwebkit-opensource-src-5.6.1.tar.xz +http://download.qt.io/official_releases/qt/5.9/5.9.1/submodules/qtwebkit-opensource-src-5.9.1.tar.xz diff --git a/deps/qt5-webkit/patches/qt5-webkit.gcc7.patch b/deps/qt5-webkit/patches/qt5-webkit.gcc7.patch new file mode 100644 index 0000000..bddb6fc --- /dev/null +++ b/deps/qt5-webkit/patches/qt5-webkit.gcc7.patch @@ -0,0 +1,34 @@ +diff -u -r webkitgtk-2.16.5/Source/WTF/wtf/text/StringImpl.h webkitgtk-2.16.5-gcc7/Source/WTF/wtf/text/StringImpl.h +--- webkitgtk-2.16.5/Source/WTF/wtf/text/StringImpl.h 2017-02-20 17:20:15.000000000 +0100 ++++ webkitgtk-2.16.5-gcc7/Source/WTF/wtf/text/StringImpl.h 2017-06-27 13:13:57.801527350 +0200 +@@ -581,29 +581,7 @@ + // FIXME: Does this really belong in StringImpl? + template <typename T> static void copyChars(T* destination, const T* source, unsigned numCharacters) + { +- if (numCharacters == 1) { +- *destination = *source; +- return; +- } +- +- if (numCharacters <= s_copyCharsInlineCutOff) { +- unsigned i = 0; +-#if (CPU(X86) || CPU(X86_64)) +- const unsigned charsPerInt = sizeof(uint32_t) / sizeof(T); +- +- if (numCharacters > charsPerInt) { +- unsigned stopCount = numCharacters & ~(charsPerInt - 1); +- +- const uint32_t* srcCharacters = reinterpret_cast<const uint32_t*>(source); +- uint32_t* destCharacters = reinterpret_cast<uint32_t*>(destination); +- for (unsigned j = 0; i < stopCount; i += charsPerInt, ++j) +- destCharacters[j] = srcCharacters[j]; +- } +-#endif +- for (; i < numCharacters; ++i) +- destination[i] = source[i]; +- } else +- memcpy(destination, source, numCharacters * sizeof(T)); ++ memcpy(destination, source, numCharacters * sizeof(T)); + } + + ALWAYS_INLINE static void copyChars(UChar* destination, const LChar* source, unsigned numCharacters) diff --git a/deps/qt5-webkit/patches/qt5-webkit.icu59.patch b/deps/qt5-webkit/patches/qt5-webkit.icu59.patch new file mode 100644 index 0000000..3eb73b2 --- /dev/null +++ b/deps/qt5-webkit/patches/qt5-webkit.icu59.patch @@ -0,0 +1,80 @@ +Submitted by: DJ Lucas (dj_AT_linuxfromscratch_DOT_org) +Date: 2017-04-29 +Initial Package Version: 5.8.0 +Upstream Status: Unknown +Origin: https://bugreports.qt.io/browse/QTBUG-35971 +Description: Fixes build with icu-59. + +diff -Naurp qtwebkit-opensource-src-5.8.0-orig/Source/JavaScriptCore/API/JSStringRef.h qtwebkit-opensource-src-5.8.0/Source/JavaScriptCore/API/JSStringRef.h +--- qtwebkit-opensource-src-5.8.0-orig/Source/JavaScriptCore/API/JSStringRef.h 2016-12-10 10:32:34.000000000 -0600 ++++ qtwebkit-opensource-src-5.8.0/Source/JavaScriptCore/API/JSStringRef.h 2017-04-29 17:03:35.280465079 -0500 +@@ -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 @@ extern "C" { + @typedef JSChar + @abstract A Unicode character. + */ +- typedef unsigned short JSChar; ++ typedef char16_t JSChar; + #else + typedef wchar_t JSChar; + #endif +diff -Naurp qtwebkit-opensource-src-5.8.0-orig/Source/WTF/wtf/Compiler.h qtwebkit-opensource-src-5.8.0/Source/WTF/wtf/Compiler.h +--- qtwebkit-opensource-src-5.8.0-orig/Source/WTF/wtf/Compiler.h 2016-12-10 10:32:34.000000000 -0600 ++++ qtwebkit-opensource-src-5.8.0/Source/WTF/wtf/Compiler.h 2017-04-29 17:03:35.280465079 -0500 +@@ -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 -Naurp qtwebkit-opensource-src-5.8.0-orig/Source/WTF/wtf/TypeTraits.h qtwebkit-opensource-src-5.8.0/Source/WTF/wtf/TypeTraits.h +--- qtwebkit-opensource-src-5.8.0-orig/Source/WTF/wtf/TypeTraits.h 2016-12-10 10:32:34.000000000 -0600 ++++ qtwebkit-opensource-src-5.8.0/Source/WTF/wtf/TypeTraits.h 2017-04-29 17:03:35.280465079 -0500 +@@ -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; }; +diff -Naurp qtwebkit-opensource-src-5.8.0-orig/Source/WebKit2/Shared/API/c/WKString.h qtwebkit-opensource-src-5.8.0/Source/WebKit2/Shared/API/c/WKString.h +--- qtwebkit-opensource-src-5.8.0-orig/Source/WebKit2/Shared/API/c/WKString.h 2016-12-10 10:32:34.000000000 -0600 ++++ qtwebkit-opensource-src-5.8.0/Source/WebKit2/Shared/API/c/WKString.h 2017-04-29 17:03:35.280465079 -0500 +@@ -31,6 +31,7 @@ + #ifndef __cplusplus + #include <stdbool.h> + #endif ++#include <uchar.h> + + #ifdef __cplusplus + extern "C" { +@@ -38,7 +39,7 @@ extern "C" { + + #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/deps/qt5-webkit/qt5-webkit.SlackBuild b/deps/qt5-webkit/qt5-webkit.SlackBuild index 59e9b9b..721b79d 100755 --- a/deps/qt5-webkit/qt5-webkit.SlackBuild +++ b/deps/qt5-webkit/qt5-webkit.SlackBuild @@ -22,18 +22,18 @@ # Derived from the qt5.SlackBuild -# Modifications for qt5-webkit 5.6.0, 5.6.1, 5.7.0 2016 by Eric Hameleers, Eindhoven, NL +# Modifications for qt5-webkit 5.6.0, 5.6.1, 5.7.0, 5.7.1, 5.9.0, 5.9.1 2016,2017 by Eric Hameleers, Eindhoven, NL PKGNAM=qt5-webkit -VERSION=${VERSION:-5.7.0} -BUILD=${BUILD:-1} +VERSION=${VERSION:-5.9.1} +BUILD=${BUILD:-3} NUMJOBS=${NUMJOBS:--j7} # Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then case "$(uname -m)" in - i?86) ARCH=i486 ;; + i?86) ARCH=i586 ;; arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;; # Unless $ARCH is already set, use uname -m for all other archs: *) ARCH=$(uname -m) ;; @@ -45,6 +45,10 @@ if [ "$ARCH" = "i486" ]; then SLKCFLAGS="-O2 -march=i486 -mtune=i686" SLKLDFLAGS="" LIBDIRSUFFIX="" +elif [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" + SLKLDFLAGS="" + LIBDIRSUFFIX="" elif [ "$ARCH" = "s390" ]; then SLKCFLAGS="-O2" SLKLDFLAGS="" @@ -84,8 +88,15 @@ echo "Extracting qtwebkit-opensource-src-$VERSION.tar.xz" tar xf $CWD/qtwebkit-opensource-src-$VERSION.tar.xz || exit 1 cd qtwebkit-opensource-src-$VERSION || exit 1 -## Fix linking to pthread: -#cat $CWD/patches/qt5-webkit.pthread.patch | patch -p1 --verbose || exit 1 +# Prevent crashes when compiled with gcc7: +cat $CWD/patches/qt5-webkit.gcc7.patch | patch -p1 --verbose || exit 1 + +## Prevent compile error against icu-59: +#cat $CWD/patches/qt5-webkit.icu59.patch | patch -p1 --verbose || exit 1 + +# Avoid literally thousands of unneeded warning messages (thanks BLFS): +sed -e '/CONFIG/a QMAKE_CXXFLAGS += -Wno-expansion-to-defined' \ + -i Tools/qmake/mkspecs/features/unix/default_pre.prf chown -R root:root . find . \ @@ -110,7 +121,7 @@ export LD_LIBRARY_PATH="${QTDIR}/qtbase/lib:${QTDIR}/qttools/lib:${LD_LIBRARY_PA mkdir build cd build - qmake-qt5 .. + qmake-qt5 ../WebKit.pro make || exit 1 make install INSTALL_ROOT=$PKG || exit 1 cd .. @@ -134,9 +145,9 @@ sed -i \ find "$PKG/usr/lib${LIBDIRSUFFIX}" -type f -name '*.prl' \ -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d;s/\(QMAKE_PRL_LIBS =\).*/\1/' {} \; -# Fix the qmake path in pri file: -sed -i "s,${QTDIR}/qtbase,/usr/lib${LIBDIRSUFFIX}/qt5," \ - $PKG/usr/lib${LIBDIRSUFFIX}/qt5/mkspecs/modules/qt_lib_bootstrap_private.pri +## Fix the qmake path in pri file: +#sed -i "s,${QTDIR}/qtbase,/usr/lib${LIBDIRSUFFIX}/qt5," \ +# $PKG/usr/lib${LIBDIRSUFFIX}/qt5/mkspecs/modules/qt_lib_bootstrap_private.pri # Add a documentation directory: mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION |