Index: Mk/bsd.qt.mk =================================================================== --- Mk/bsd.qt.mk +++ Mk/bsd.qt.mk @@ -18,6 +18,11 @@ # * Common UNIX Printing System (CUPS); # * Network Audio System (NAS); # * GTK+-based Qt theme (QGTKSTYLE). +# QT5_USE_WEBKIT_FORK - Instead of using the WebKit released by the Qt Community, +# use a fork (www/qt5-webkit-$QT5_USE_WEBKIT_FORK}). +# Possible values: +# annulen: https://github.com/annulen/webkit + .if !defined(_POSTMKINCLUDED) && !defined(Qt_Pre_Include) @@ -560,7 +565,11 @@ websockets_PORT= www/${_QT_RELNAME}-websockets websockets_LIB= libQt${_QT_LIBVER}WebSockets.so +. if ${_QT_VERSION:M4*} || ! defined (QT5_USE_WEBKIT_FORK) webkit_PORT= www/webkit-${_QT_RELNAME} +. else +webkit_PORT= www/${_QT_RELNAME}-webkit-${QT5_USE_WEBKIT_FORK} +. endif webkit_LIB= libQt${_QT_LIBVER}WebKit.so widgets_PORT= x11-toolkits/${_QT_RELNAME}-widgets Index: www/qt5-webkit-annulen/Makefile =================================================================== --- /dev/null +++ www/qt5-webkit-annulen/Makefile @@ -0,0 +1,49 @@ +# Created by: tcberner +# $FreeBSD$ + +PORTNAME= webkit +PORTVERSION= 5.602.2 +CATEGORIES= www +MASTER_SITES= LOCAL/tcberner/GIT +PKGNAMEPREFIX= qt5- +PKGNAMESUFFIX= -annulen +# Repacked distfile from github.com/annulen/webkit without the Tests and +# Websites folders. This slims down the tar-ball: 900M-ish to 40M-ish. +DISTNAME= annulen-webkit-${GH_TAGNAME} +DIST_SUBDIR= KDE/${PORTNAME} + +MAINTAINER= kde@FreeBSD.org +COMMENT= QtWebKit with a more modern WebKit code base + +LICENSE= GPLv2 + +LIB_DEPENDS= libfontconfig.so:x11-fonts/fontconfig \ + libgstapp-1.0.so:multimedia/gstreamer1-plugins \ + libgstbase-1.0.so:multimedia/gstreamer1 \ + libhyphen.so:textproc/hyphen \ + libicui18n.so:devel/icu \ + libpng16.so:graphics/png \ + libwebp.so:graphics/webp + +USES= bison cmake:outsource desktop-file-utils gperf jpeg \ + pathfix perl5 pkgconfig python:build sqlite:3 tar:xz +USE_GNOME= glib20 libxml2 libxslt +USE_GSTREAMER1= core +USE_QT5= buildtools_build core gui location network \ + printsupport qmake_build sql opengl sensors testlib \ + widgets +USE_RUBY= yes +USE_XORG= x11 xcomposite xrender + +RUBY_NO_RUN_DEPENDS= yes + +CMAKE_ARGS= -DPORT:STRING="Qt" \ + -DKDE_INSTALL_INCLUDEDIR:STRING="${QT_INCDIR}" + +CONFLICTS_INSTALL= qt5-webkit-5.* +PLIST_SUB= FULLVER="${PORTVERSION}" + +# USE_GITHUB= yes +GH_TAGNAME= db25c2b + +.include Index: www/qt5-webkit-annulen/distinfo =================================================================== --- /dev/null +++ www/qt5-webkit-annulen/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1483565909 +SHA256 (KDE/webkit/annulen-webkit-db25c2b.tar.xz) = ad82f8818157df107a77083f20677b7dd63fddda8aa0bde61806efa9cc20201d +SIZE (KDE/webkit/annulen-webkit-db25c2b.tar.xz) = 44602376 Index: www/qt5-webkit-annulen/files/patch-Source_WebCore_platform_graphics_texmap_GraphicsLayerTextureMapper.cpp =================================================================== --- /dev/null +++ www/qt5-webkit-annulen/files/patch-Source_WebCore_platform_graphics_texmap_GraphicsLayerTextureMapper.cpp @@ -0,0 +1,15 @@ +/wrkdirs/usr/ports/www/qt5-webkit2/work/annulen-webkit-db25c2b/Source/WebCore/platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:549:12: error: cannot use dynamic_cast with -fno-rtti +ASSERT(dynamic_cast(m_backingStore.get())); +^ + +--- Source/WebCore/platform/graphics/texmap/GraphicsLayerTextureMapper.cpp.orig 2016-09-24 19:46:33 UTC ++++ Source/WebCore/platform/graphics/texmap/GraphicsLayerTextureMapper.cpp +@@ -546,7 +546,7 @@ void GraphicsLayerTextureMapper::updateB + return; + + #if PLATFORM(QT) && !defined(QT_NO_DYNAMIC_CAST) +- ASSERT(dynamic_cast(m_backingStore.get())); ++// ASSERT(dynamic_cast(m_backingStore.get())); + #endif + TextureMapperTiledBackingStore* backingStore = static_cast(m_backingStore.get()); + backingStore->updateContentsScale(pageScaleFactor() * deviceScaleFactor()); Index: www/qt5-webkit-annulen/files/patch-Source_cmake_ECMGeneratePkgConfigFile.cmake =================================================================== --- /dev/null +++ www/qt5-webkit-annulen/files/patch-Source_cmake_ECMGeneratePkgConfigFile.cmake @@ -0,0 +1,13 @@ +Fixup pkgconfig file location. + +--- Source/cmake/ECMGeneratePkgConfigFile.cmake.orig 2016-09-24 21:40:26 UTC ++++ Source/cmake/ECMGeneratePkgConfigFile.cmake +@@ -156,7 +156,7 @@ Requires: @PKGCONFIG_TARGET_DEPS@ + ) + + if(EGPF_INSTALL) +- set(ECM_PKGCONFIG_INSTALL_DIR "${EGPF_LIB_INSTALL_DIR}/pkgconfig" CACHE PATH "The directory where pkgconfig will be installed to.") ++ set(ECM_PKGCONFIG_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/libdata/pkgconfig" CACHE PATH "The directory where pkgconfig will be installed to.") + install(FILES ${PKGCONFIG_FILENAME} DESTINATION ${ECM_PKGCONFIG_INSTALL_DIR}) + endif() + endfunction() Index: www/qt5-webkit-annulen/pkg-descr =================================================================== --- /dev/null +++ www/qt5-webkit-annulen/pkg-descr @@ -0,0 +1,3 @@ +This is a project aiming to upgrade QtWebKit to modern WebKit code base. + +WWW: https://github.com/annulen/webkit Index: www/qt5-webkit-annulen/pkg-plist =================================================================== --- /dev/null +++ www/qt5-webkit-annulen/pkg-plist @@ -0,0 +1,77 @@ +%%QT_INCDIR%%/QtWebKit/%%FULLVER%%/QtWebKit/private/qhttpheader_p.h +%%QT_INCDIR%%/QtWebKit/%%FULLVER%%/QtWebKit/private/qwebdatabase_p.h +%%QT_INCDIR%%/QtWebKit/%%FULLVER%%/QtWebKit/private/qwebelement_p.h +%%QT_INCDIR%%/QtWebKit/%%FULLVER%%/QtWebKit/private/qwebhistory_p.h +%%QT_INCDIR%%/QtWebKit/%%FULLVER%%/QtWebKit/private/qwebplugindatabase_p.h +%%QT_INCDIR%%/QtWebKit/%%FULLVER%%/QtWebKit/private/qwebscriptworld_p.h +%%QT_INCDIR%%/QtWebKit/%%FULLVER%%/QtWebKit/private/qwebsecurityorigin_p.h +%%QT_INCDIR%%/QtWebKit/QWebDatabase +%%QT_INCDIR%%/QtWebKit/QWebElement +%%QT_INCDIR%%/QtWebKit/QWebElementCollection +%%QT_INCDIR%%/QtWebKit/QWebFullScreenRequest +%%QT_INCDIR%%/QtWebKit/QWebFullScreenVideoHandler +%%QT_INCDIR%%/QtWebKit/QWebHapticFeedbackPlayer +%%QT_INCDIR%%/QtWebKit/QWebHistory +%%QT_INCDIR%%/QtWebKit/QWebHistoryInterface +%%QT_INCDIR%%/QtWebKit/QWebHistoryItem +%%QT_INCDIR%%/QtWebKit/QWebKitPlatformPlugin +%%QT_INCDIR%%/QtWebKit/QWebNotificationData +%%QT_INCDIR%%/QtWebKit/QWebNotificationPresenter +%%QT_INCDIR%%/QtWebKit/QWebPluginFactory +%%QT_INCDIR%%/QtWebKit/QWebSecurityOrigin +%%QT_INCDIR%%/QtWebKit/QWebSelectData +%%QT_INCDIR%%/QtWebKit/QWebSelectMethod +%%QT_INCDIR%%/QtWebKit/QWebSettings +%%QT_INCDIR%%/QtWebKit/QWebSpellChecker +%%QT_INCDIR%%/QtWebKit/QWebTouchModifier +%%QT_INCDIR%%/QtWebKit/QtWebKit +%%QT_INCDIR%%/QtWebKit/QtWebKitDepends +%%QT_INCDIR%%/QtWebKit/QtWebKitVersion +%%QT_INCDIR%%/QtWebKit/qtwebkitversion.h +%%QT_INCDIR%%/QtWebKit/qwebdatabase.h +%%QT_INCDIR%%/QtWebKit/qwebelement.h +%%QT_INCDIR%%/QtWebKit/qwebfullscreenrequest.h +%%QT_INCDIR%%/QtWebKit/qwebhistory.h +%%QT_INCDIR%%/QtWebKit/qwebhistoryinterface.h +%%QT_INCDIR%%/QtWebKit/qwebkitglobal.h +%%QT_INCDIR%%/QtWebKit/qwebkitplatformplugin.h +%%QT_INCDIR%%/QtWebKit/qwebpluginfactory.h +%%QT_INCDIR%%/QtWebKit/qwebsecurityorigin.h +%%QT_INCDIR%%/QtWebKit/qwebsettings.h +%%QT_INCDIR%%/QtWebKitWidgets/%%FULLVER%%/QtWebKitWidgets/private/qwebframe_p.h +%%QT_INCDIR%%/QtWebKitWidgets/%%FULLVER%%/QtWebKitWidgets/private/qwebinspector_p.h +%%QT_INCDIR%%/QtWebKitWidgets/%%FULLVER%%/QtWebKitWidgets/private/qwebpage_p.h +%%QT_INCDIR%%/QtWebKitWidgets/%%FULLVER%%/QtWebKitWidgets/private/qwebviewaccessible_p.h +%%QT_INCDIR%%/QtWebKitWidgets/QGraphicsWebView +%%QT_INCDIR%%/QtWebKitWidgets/QWebFrame +%%QT_INCDIR%%/QtWebKitWidgets/QWebHitTestResult +%%QT_INCDIR%%/QtWebKitWidgets/QWebInspector +%%QT_INCDIR%%/QtWebKitWidgets/QWebPage +%%QT_INCDIR%%/QtWebKitWidgets/QWebView +%%QT_INCDIR%%/QtWebKitWidgets/QtWebKitWidgets +%%QT_INCDIR%%/QtWebKitWidgets/QtWebKitWidgetsDepends +%%QT_INCDIR%%/QtWebKitWidgets/QtWebKitWidgetsVersion +%%QT_INCDIR%%/QtWebKitWidgets/qgraphicswebview.h +%%QT_INCDIR%%/QtWebKitWidgets/qtwebkitwidgetsversion.h +%%QT_INCDIR%%/QtWebKitWidgets/qwebframe.h +%%QT_INCDIR%%/QtWebKitWidgets/qwebinspector.h +%%QT_INCDIR%%/QtWebKitWidgets/qwebpage.h +%%QT_INCDIR%%/QtWebKitWidgets/qwebview.h +lib/cmake/Qt5WebKit/Qt5WebKitConfig.cmake +lib/cmake/Qt5WebKit/Qt5WebKitConfigVersion.cmake +lib/cmake/Qt5WebKit/WebKitTargets-%%CMAKE_BUILD_TYPE%%.cmake +lib/cmake/Qt5WebKit/WebKitTargets.cmake +lib/cmake/Qt5WebKitWidgets/Qt5WebKitWidgetsConfig.cmake +lib/cmake/Qt5WebKitWidgets/Qt5WebKitWidgetsConfigVersion.cmake +lib/cmake/Qt5WebKitWidgets/Qt5WebKitWidgetsTargets-%%CMAKE_BUILD_TYPE%%.cmake +lib/cmake/Qt5WebKitWidgets/Qt5WebKitWidgetsTargets.cmake +lib/libQt5WebKit.so +lib/libQt5WebKit.so.5 +lib/libQt5WebKit.so.%%FULLVER%% +lib/libQt5WebKitWidgets.so +lib/libQt5WebKitWidgets.so.5 +lib/libQt5WebKitWidgets.so.%%FULLVER%% +libdata/pkgconfig/Qt5WebKit.pc +libdata/pkgconfig/Qt5WebKitWidgets.pc +%%QT_MKSPECDIR%%/modules/qt_lib_webkit.pri +%%QT_MKSPECDIR%%/modules/qt_lib_webkitwidgets.pri Index: www/webkit-qt5/Makefile =================================================================== --- www/webkit-qt5/Makefile +++ www/webkit-qt5/Makefile @@ -47,6 +47,8 @@ GSTREAMER_USE= GNOME=glib20 GSTREAMER1=yes +CONFLICTS_INSTALL= qt5-webkit-[a-z]* + .include # Base ld(1) segfaults on PowerPC (inherited from Qt 4):