summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dev-qt/qtwebkit/Manifest1
-rw-r--r--dev-qt/qtwebkit/files/qtwebkit-fixes.patch31
-rw-r--r--dev-qt/qtwebkit/qtwebkit-5.212.0_alpha2-r1000.ebuild125
3 files changed, 157 insertions, 0 deletions
diff --git a/dev-qt/qtwebkit/Manifest b/dev-qt/qtwebkit/Manifest
new file mode 100644
index 00000000..d39f0ff9
--- /dev/null
+++ b/dev-qt/qtwebkit/Manifest
@@ -0,0 +1 @@
+DIST qtwebkit-5.212.0-alpha2.tar.xz 12456284 BLAKE2B f8dab5acb62dc660d16c990af22ec6e9c478044b2829c6eb5ef82de9f72956cf4e91d245130a7a9ae01049e21644ae4afd92bf85c783ee5125d260edd1b885b4 SHA512 b15985aab20c5618dc1f71a0d91f02dbed993516272090a4a12990714bf4c9554ccbdcf9d6a143bf46fcc2c170f691e571114d61686fe49791f8d5c540785758
diff --git a/dev-qt/qtwebkit/files/qtwebkit-fixes.patch b/dev-qt/qtwebkit/files/qtwebkit-fixes.patch
new file mode 100644
index 00000000..a34c4810
--- /dev/null
+++ b/dev-qt/qtwebkit/files/qtwebkit-fixes.patch
@@ -0,0 +1,31 @@
+diff -Nur a/Source/WebKit/PlatformQt.cmake b/Source/WebKit/PlatformQt.cmake
+--- a/Source/WebKit/PlatformQt.cmake 2017-06-09 15:11:36.000000000 +0100
++++ b/Source/WebKit/PlatformQt.cmake 2018-04-26 20:40:30.062720394 +0100
+@@ -786,6 +786,7 @@
+ set_source_files_properties(
+ qt/Api/qwebdatabase.cpp
+ qt/Api/qwebelement.cpp
++ qt/Api/qwebfullscreenrequest.cpp
+ qt/Api/qwebhistory.cpp
+ qt/Api/qwebhistoryinterface.cpp
+ qt/Api/qwebpluginfactory.cpp
+@@ -795,7 +796,6 @@
+
+ qt/WidgetApi/qgraphicswebview.cpp
+ qt/WidgetApi/qwebframe.cpp
+- qt/WidgetApi/qwebfullscreenrequest.cpp
+ qt/WidgetApi/qwebinspector.cpp
+ qt/WidgetApi/qwebpage.cpp
+ qt/WidgetApi/qwebview.cpp
+diff -Nur a/Source/WebKit/qt/WebCoreSupport/QWebFrameAdapter.cpp b/Source/WebKit/qt/WebCoreSupport/QWebFrameAdapter.cpp
+--- a/Source/WebKit/qt/WebCoreSupport/QWebFrameAdapter.cpp 2017-06-04 21:16:07.000000000 +0100
++++ b/Source/WebKit/qt/WebCoreSupport/QWebFrameAdapter.cpp 2018-04-26 20:41:32.399699229 +0100
+@@ -961,6 +961,8 @@
+ FrameView* view = frame->view();
+ ASSERT(view);
+ view->resize(size);
++ if (view->needsLayout())
++ view->layout();
+ view->adjustViewSize();
+ }
+
diff --git a/dev-qt/qtwebkit/qtwebkit-5.212.0_alpha2-r1000.ebuild b/dev-qt/qtwebkit/qtwebkit-5.212.0_alpha2-r1000.ebuild
new file mode 100644
index 00000000..546c2f38
--- /dev/null
+++ b/dev-qt/qtwebkit/qtwebkit-5.212.0_alpha2-r1000.ebuild
@@ -0,0 +1,125 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python2_7 )
+QT_MIN_VER="5.9.3:5"
+inherit cmake-utils python-any-r1 qt5-build-r10000 versionator
+
+DESCRIPTION="WebKit rendering library for the Qt5 framework (deprecated)"
+
+if [[ ${QT5_BUILD_TYPE} == release ]]; then
+ KEYWORDS="amd64"
+fi
+
+SRC_URI="https://github.com/annulen/webkit/releases/download/${P/_/-}/${P/_/-}.tar.xz"
+
+# TODO: qttestlib
+
+IUSE="geolocation gstreamer gles2 +jit multimedia opengl orientation printsupport qml test webchannel webp"
+REQUIRED_USE="?? ( gstreamer multimedia )"
+
+RDEPEND="
+ dev-db/sqlite:3
+ dev-libs/icu:=
+ >=dev-libs/leveldb-1.18-r1
+ dev-libs/libxml2:2
+ dev-libs/libxslt
+ >=dev-qt/qtcore-${QT_MIN_VER}[icu]
+ >=dev-qt/qtgui-${QT_MIN_VER}
+ >=dev-qt/qtnetwork-${QT_MIN_VER}
+ >=dev-qt/qtsql-${QT_MIN_VER}
+ >=dev-qt/qtwidgets-${QT_MIN_VER}
+ media-libs/fontconfig:1.0
+ media-libs/libpng:0=
+ >=sys-libs/zlib-1.2.5
+ virtual/jpeg:0
+ virtual/opengl
+ x11-libs/libX11
+ x11-libs/libXcomposite
+ x11-libs/libXrender
+ geolocation? ( >=dev-qt/qtpositioning-${QT_MIN_VER} )
+ gstreamer? (
+ dev-libs/glib:2
+ media-libs/gstreamer:1.0
+ media-libs/gst-plugins-base:1.0
+ )
+ multimedia? ( >=dev-qt/qtmultimedia-${QT_MIN_VER}[widgets] )
+ opengl? (
+ >=dev-qt/qtgui-${QT_MIN_VER}[gles2=]
+ >=dev-qt/qtopengl-${QT_MIN_VER}
+ )
+ orientation? ( >=dev-qt/qtsensors-${QT_MIN_VER} )
+ printsupport? ( >=dev-qt/qtprintsupport-${QT_MIN_VER} )
+ qml? ( >=dev-qt/qtdeclarative-${QT_MIN_VER} )
+ webchannel? ( >=dev-qt/qtwebchannel-${QT_MIN_VER} )
+ webp? ( media-libs/libwebp:0= )
+"
+DEPEND="${RDEPEND}
+ ${PYTHON_DEPS}
+ dev-lang/ruby
+ dev-util/gperf
+ sys-devel/bison
+ sys-devel/flex
+ virtual/rubygems
+ test? ( >=dev-qt/qttest-${QT_MIN_VER} )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-fixes.patch"
+)
+
+S=${WORKDIR}/${P/_/-}
+
+src_prepare() {
+ # force using system library
+ sed -i -e 's/qtConfig(system-jpeg)/true/' \
+ -e 's/qtConfig(system-png)/true/' \
+ Tools/qmake/mkspecs/features/functions.prf || die
+
+ qt_use_disable_config opengl opengl Tools/qmake/mkspecs/features/functions.prf
+
+ qt_use_disable_mod geolocation positioning Tools/qmake/mkspecs/features/functions.prf
+ qt_use_disable_mod multimedia multimediawidgets Tools/qmake/mkspecs/features/functions.prf
+ qt_use_disable_mod orientation sensors Tools/qmake/mkspecs/features/functions.prf
+ qt_use_disable_mod printsupport printsupport Tools/qmake/mkspecs/features/functions.prf
+ qt_use_disable_mod qml quick Tools/qmake/mkspecs/features/functions.prf
+
+ use webp || sed -i -e '/config_libwebp: WEBKIT_CONFIG += use_webp/d' \
+ Tools/qmake/mkspecs/features/functions.prf || die
+
+ qt5-build-r10000_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DENABLE_DEVICE_ORIENTATION=$(usex orientation)
+ -DENABLE_GAMEPAD_DEPRECATED=OFF
+ -DENABLE_GEOLOCATION=$(usex geolocation)
+ -DENABLE_PRINT_SUPPORT=$(usex printsupport)
+ -DENABLE_QT_GESTURE_EVENTS=$(usex printsupport)
+ -DENABLE_QT_WEBCHANNEL=$(usex webchannel)
+ -DUSE_GSTREAMER=$(usex gstreamer)
+ -DUSE_MEDIA_FOUNDATION=$(usex multimedia)
+ -DUSE_QT_MULTIMEDIA=$(usex multimedia)
+ -DPORT=Qt
+ -DENABLE_TOOLS=OFF
+ -DENABLE_API_TESTS=OFF
+ )
+
+ cmake-utils_src_configure
+}
+
+src_compile() {
+ cmake-utils_src_compile
+}
+
+src_install() {
+ qt5-build-r10000_src_install
+
+ # bug 572056
+ if [[ ! -f ${D%/}${QT5_LIBDIR}/libQt5WebKit.so ]]; then
+ eerror "${CATEGORY}/${PF} could not build due to a broken ruby environment."
+ die 'Check "eselect ruby" and ensure you have a working ruby in your $PATH'
+ fi
+}