diff options
-rw-r--r-- | dev-qt/qtwebkit/Manifest | 1 | ||||
-rw-r--r-- | dev-qt/qtwebkit/files/qtwebkit-fixes.patch | 31 | ||||
-rw-r--r-- | dev-qt/qtwebkit/qtwebkit-5.212.0_alpha2-r1000.ebuild | 125 |
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 +} |