Index: Mk/bsd.qt.mk =================================================================== --- Mk/bsd.qt.mk +++ Mk/bsd.qt.mk @@ -92,8 +92,8 @@ declarative-render2d gamepad graphicaleffects imageformats \ location multimedia quickcontrols quickcontrols2 script scxml \ sensors serialbus serialport svg tools translations \ - virtualkeyboard wayland webchannel webkit websockets x11extras \ - xmlpatterns + virtualkeyboard wayland webchannel webengine webkit \ + websockets x11extras xmlpatterns . endif . endif @@ -321,7 +321,7 @@ qdbus qdoc qdoc-data qev qml quick quickcontrols \ quickcontrols2 scxml sensors serialbus serialport \ sql-tds uiplugin uitools virtualkeyboard wayland webchannel \ - websockets websockets-qml widgets x11extras + webengine websockets websockets-qml widgets x11extras 3d_PORT= graphics/${_QT_RELNAME}-3d 3d_LIB= libQt${_QT_LIBVER}3DCore.so @@ -591,6 +591,9 @@ webchannel_PORT= www/${_QT_RELNAME}-webchannel webchannel_LIB= libQt${_QT_LIBVER}WebChannel.so + +webengine_PORT= www/${_QT_RELNAME}-webengine +webengine_LIB= libQt${_QT_LIBVER}WebEngine.so websockets_PORT= www/${_QT_RELNAME}-websockets websockets_LIB= libQt${_QT_LIBVER}WebSockets.so Index: devel/qt5/distinfo =================================================================== --- devel/qt5/distinfo +++ devel/qt5/distinfo @@ -51,6 +51,8 @@ SIZE (KDE/Qt/5.7.1/qtwayland-opensource-src-5.7.1.tar.xz) = 291776 SHA256 (KDE/Qt/5.7.1/qtwebchannel-opensource-src-5.7.1.tar.xz) = 63ab3ac76ff993009cfa978162a764e05b763cacb70d1a862893f8de4492319b SIZE (KDE/Qt/5.7.1/qtwebchannel-opensource-src-5.7.1.tar.xz) = 122436 +SHA256 (KDE/Qt/5.7.1/qtwebengine-opensource-src-5.7.1.tar.xz) = 2101883e3d632b50133a14e3bbdc1d4d649e405c9618f2eef1b72a7b821ccc2b +SIZE (KDE/Qt/5.7.1/qtwebengine-opensource-src-5.7.1.tar.xz) = 163782564 SHA256 (KDE/Qt/5.7.1/qtwebkit-opensource-src-5.7.1.tar.xz) = a46cf7c89339645f94a5777e8ae5baccf75c5fc87ab52c9dafc25da3327b5f03 SIZE (KDE/Qt/5.7.1/qtwebkit-opensource-src-5.7.1.tar.xz) = 35298736 SHA256 (KDE/Qt/5.7.1/qtwebsockets-opensource-src-5.7.1.tar.xz) = 5c2a75b68e7f2e98530659b33bb08edee83013832dbf99cc5b40afc8a90652d1 Index: www/Makefile =================================================================== --- www/Makefile +++ www/Makefile @@ -1864,6 +1864,7 @@ SUBDIR += qooxdoo SUBDIR += qt4-webkit SUBDIR += qt5-webchannel + SUBDIR += qt5-webengine SUBDIR += qt5-webkit SUBDIR += qt5-websockets SUBDIR += qt5-websockets-qml Index: www/qt5-webengine/Makefile =================================================================== --- www/qt5-webengine/Makefile +++ www/qt5-webengine/Makefile @@ -0,0 +1,105 @@ +# $FreeBSD$ + +# QtWebEngine itself is a very thin layer of Qt code on top of a large part of +# Chromium (everything up to the content/ layer). As such, most of the work in +# this port revolves around taming Chromium and getting it to build on FreeBSD. +# While it does build at the moment, there are several items that should be +# investigated or improved: +# - We are using several stub files, especially in Chromium's base/ and net/ +# layers. We should look at implementing the missing bits instead. +# - We are currently not using any sandboxing mechanism. +# - We are disabling support for features such as WebRTC and printing. We need +# to see what it would take to properly support them. +# - We need to see if more "use_system_" flags can be passed. +# - The process of porting QtWebEngine needs to be documented so we can move to +# newer releases more easily. + +PORTNAME= webengine +DISTVERSION= ${QT5_VERSION} +CATEGORIES= www +PKGNAMEPREFIX= qt5- + +MAINTAINER= kde@FreeBSD.org +COMMENT= Qt 5 library to render web content + +BUILD_DEPENDS= bison:devel/bison \ + ninja:devel/ninja \ + python:lang/python \ + yasm:devel/yasm \ + ${LOCALBASE}/include/linux/videodev2.h:multimedia/v4l_compat +LIB_DEPENDS= libdbus-1.so:devel/dbus \ + libevent.so:devel/libevent \ + libfontconfig.so:x11-fonts/fontconfig \ + libfreetype.so:print/freetype2 \ + libjsoncpp.so:devel/jsoncpp \ + libnspr4.so:devel/nspr \ + libnss3.so:security/nss \ + libopus.so:audio/opus \ + libpci.so:devel/libpci \ + libpng.so:graphics/png \ + libprotobuf.so:devel/protobuf \ + libsnappy.so:archivers/snappy \ + libsrtp.so:net/libsrtp \ + libwebp.so:graphics/webp + +OPTIONS_SINGLE= AUDIO +OPTIONS_SINGLE_AUDIO= ALSA PULSEAUDIO +OPTIONS_DEFAULT= ALSA + +AUDIO_DESC= Audio backend + +ALSA_LIB_DEPENDS= libasound.so:audio/alsa-lib +ALSA_QMAKE_ON= QT_CONFIG+=alsa +PULSEAUDIO_LIB_DEPENDS= libpulse.so:audio/pulseaudio +PULSEAUDIO_QMAKE_ON= QT_CONFIG+=pulseaudio + +# We pass `norecursive' to USES=qmake because src/plugins/plugins.pro checks +# whether webenginewidgets is available, which fails when qmake processes all +# .pro files at once. +USES= gperf jpeg python:2,build pkgconfig \ + qmake:norecursive,outsource shebangfix +USE_GNOME= glib20 libxml2 libxslt +USE_QT5= core designer gui location network qml quick webchannel \ + widgets buildtools_build qmake_build +USE_XORG= scrnsaverproto x11 xcomposite xcursor xext xi xproto \ + xrandr xrender xscrnsaver xtst + +USE_LDCONFIG= ${QT_LIBDIR} + +QT_DIST= ${PORTNAME} + +QMAKE_ARGS= WEBENGINE_CONFIG+=use_nss \ + WEBENGINE_CONFIG+=use_proprietary_codecs \ + WEBENGINE_CONFIG+=use_system_libevent + +# We could just set it to an empty string as well. "all" does not account for +# dependencies correctly in the generated Makefiles, use the right target here. +ALL_TARGET= first + +# The build system reads the environment variable $NINJA_PATH to decide whether +# to boostrap ninja or not (and also to invoke it afterwards). CC and CXX are +# read by some Chromium code to determine which compiler to invoke when running +# some configuration tests. +# Since we use USES=qmake:norecursive, we also need to pass some variables to +# MAKE_ENV because part of the configuration process happens during the build. +CONFIGURE_ENV+= NINJAFLAGS="-j${MAKE_JOBS_NUMBER}" \ + NINJA_PATH="${LOCALBASE}/bin/ninja" +MAKE_ENV+= CC="${CC}" CXX="${CXX}" ${CONFIGURE_ENV} + +post-extract: +# Install FreeBSD's freebsd.pri file. + ${CP} ${FILESDIR}/freebsd.pri ${WRKSRC}/src/core/config/freebsd.pri +# Unbundle libusb. + ${RM} -r ${WRKSRC}/src/3rdparty/chromium/third_party/libusb/src + ${CP} ${WRKSRC}/src/3rdparty/chromium/build/linux/unbundle/libusb.gyp \ + ${WRKSRC}/src/3rdparty/chromium/third_party/libusb/libusb.gyp +# Unbundle libxml. + ${CP} ${WRKSRC}/src/3rdparty/chromium/build/linux/unbundle/libxml.gyp \ + ${WRKSRC}/src/3rdparty/chromium/third_party/libxml/libxml.gyp + +post-patch: +# Too many occurrences to keep in a patch in files/. + ${REINPLACE_CMD} -e 's,OS == "linux",(OS == "linux" or OS == "freebsd"),g' \ + ${WRKSRC}/src/3rdparty/chromium/third_party/ffmpeg/ffmpeg_generated.gypi + +.include Index: www/qt5-webengine/distinfo =================================================================== --- www/qt5-webengine/distinfo +++ www/qt5-webengine/distinfo @@ -0,0 +1 @@ +TIMESTAMP = 1491910958 Index: www/qt5-webengine/files/freebsd.pri =================================================================== --- www/qt5-webengine/files/freebsd.pri +++ www/qt5-webengine/files/freebsd.pri @@ -0,0 +1,16 @@ +include(desktop_linux.pri) + +GYP_CONFIG += disable_nacl=1 \ + enable_basic_printing=0 \ + enable_printing=0 \ + enable_webrtc=0 \ + enable_hidpi=1 \ + use_dbus=1 \ + use_pulseaudio=0 + +# Once the port works better, we can think about readding the diverse `use_system_` +# for bundled libraries. +# For now, only add very few system libraries. +GYP_CONFIG += use_system_yasm=1 \ + use_system_libusb=1 \ + use_system_libcxx=1 Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_base_base.gyp =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_base_base.gyp +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_base_base.gyp @@ -0,0 +1,13 @@ +Disable USE_SYMBOLIZE, it assumes Linux is being used and does things such as +reading from /proc. +--- src/3rdparty/chromium/base/base.gyp.orig 2017-04-19 16:31:45 UTC ++++ src/3rdparty/chromium/base/base.gyp +@@ -46,7 +46,7 @@ + 'xdg_mime', + ], + 'defines': [ +- 'USE_SYMBOLIZE', ++ # 'USE_SYMBOLIZE', + ], + }, { # desktop_linux == 0 and chromeos == 0 + 'sources/': [ Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_base_base.gypi =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_base_base.gypi +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_base_base.gypi @@ -0,0 +1,17 @@ +--- src/3rdparty/chromium/base/base.gypi.orig 2016-11-07 14:46:18 UTC ++++ src/3rdparty/chromium/base/base.gypi +@@ -1006,9 +1006,14 @@ + 'process/memory_stubs.cc', + ], + 'sources/': [ ++ ['exclude', '^debug/proc_maps_linux\\.cc$'], ++ ['exclude', '^files/file_path_watcher_fsevents\\.cc$'], + ['exclude', '^files/file_path_watcher_linux\\.cc$'], + ['exclude', '^files/file_path_watcher_stub\\.cc$'], + ['exclude', '^files/file_util_linux\\.cc$'], ++ ['exclude', '^process/memory_linux\\.cc$'], ++ ['exclude', '^process/process_iterator_linux\\.cc$'], ++ ['exclude', '^process/process_metrics_linux\\.cc$'], + ['exclude', '^process/process_linux\\.cc$'], + ['exclude', '^sys_info_linux\\.cc$'], + ], Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_base_files_file__path__watcher__kqueue.h =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_base_files_file__path__watcher__kqueue.h +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_base_files_file__path__watcher__kqueue.h @@ -0,0 +1,14 @@ +--- src/3rdparty/chromium/base/files/file_path_watcher_kqueue.h.orig 2017-04-11 14:08:45 UTC ++++ src/3rdparty/chromium/base/files/file_path_watcher_kqueue.h +@@ -5,6 +5,11 @@ + #ifndef BASE_FILES_FILE_PATH_WATCHER_KQUEUE_H_ + #define BASE_FILES_FILE_PATH_WATCHER_KQUEUE_H_ + ++#ifdef __FreeBSD__ ++#include ++#include ++#endif ++ + #include + #include + Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_base_files_file__path__watcher__kqueue.cc =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_base_files_file__path__watcher__kqueue.cc +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_base_files_file__path__watcher__kqueue.cc @@ -0,0 +1,13 @@ +--- src/3rdparty/chromium/base/files/file_path_watcher_kqueue.cc.orig 2017-04-19 09:33:16 UTC ++++ src/3rdparty/chromium/base/files/file_path_watcher_kqueue.cc +@@ -388,4 +388,10 @@ void FilePathWatcherKQueue::CancelOnMess + } + } + ++// In the upstream version, this method is implemented in ++// file_path_watcher_mac.cc, which we obviously do not use. ++FilePathWatcher::FilePathWatcher() { ++ impl_ = new FilePathWatcherKQueue(); ++} ++ + } // namespace base Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_base_posix_unix__domain__socket__linux.cc =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_base_posix_unix__domain__socket__linux.cc +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_base_posix_unix__domain__socket__linux.cc @@ -0,0 +1,44 @@ +--- src/3rdparty/chromium/base/posix/unix_domain_socket_linux.cc.orig 2017-04-11 14:08:45 UTC ++++ src/3rdparty/chromium/base/posix/unix_domain_socket_linux.cc +@@ -21,6 +21,15 @@ + #include + #endif + ++#if defined(__FreeBSD__) ++// Port over Linux ucred structure ++struct ucred { ++ pid_t pid; // process ID of the sending process ++ uid_t uid; // user ID of the sending process ++ gid_t gid; // group ID of the sending process ++}; ++#endif ++ + namespace base { + + const size_t UnixDomainSocket::kMaxFileDescriptors = 16; +@@ -41,7 +50,13 @@ static bool CreateSocketPair(ScopedFD* one, ScopedFD* + // static + bool UnixDomainSocket::EnableReceiveProcessId(int fd) { + const int enable = 1; ++#if defined(__FreeBSD__) ++ // XXX(rene) do this? : ++ // taken from dbus, Academic Free License 2.1 / GPL 2+ ++ return 0; // fake OK ++#else + return setsockopt(fd, SOL_SOCKET, SO_PASSCRED, &enable, sizeof(enable)) == 0; ++#endif + } + #endif // !defined(OS_NACL_NONSFI) + +@@ -147,7 +162,11 @@ ssize_t UnixDomainSocket::RecvMsgWithFlags(int fd, + // The PNaCl toolchain for Non-SFI binary build does not support + // SCM_CREDENTIALS. + if (cmsg->cmsg_level == SOL_SOCKET && ++#if defined(__FreeBSD__) ++ 1) { ++#else + cmsg->cmsg_type == SCM_CREDENTIALS) { ++#endif + DCHECK_EQ(payload_len, sizeof(struct ucred)); + DCHECK_EQ(pid, -1); + pid = reinterpret_cast(CMSG_DATA(cmsg))->pid; Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_base_process_memory__stubs.cc =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_base_process_memory__stubs.cc +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_base_process_memory__stubs.cc @@ -0,0 +1,15 @@ +Use the definition in memory.cc instead. +--- src/3rdparty/chromium/base/process/memory_stubs.cc.orig 2017-04-19 16:40:17 UTC ++++ src/3rdparty/chromium/base/process/memory_stubs.cc +@@ -32,9 +32,11 @@ bool UncheckedMalloc(size_t size, void** + return *result != nullptr; + } + ++#if !defined(OS_BSD) + bool UncheckedCalloc(size_t num_items, size_t size, void** result) { + *result = calloc(num_items, size); + return *result != nullptr; + } ++#endif + + } // namespace base Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_base_process_process__posix.cc =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_base_process_process__posix.cc +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_base_process_process__posix.cc @@ -0,0 +1,10 @@ +--- src/3rdparty/chromium/base/process/process_posix.cc.orig 2017-04-11 14:08:45 UTC ++++ src/3rdparty/chromium/base/process/process_posix.cc +@@ -8,6 +8,7 @@ + #include + #include + #include ++#include + + #include "base/files/scoped_file.h" + #include "base/logging.h" Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_base_threading_platform__thread__linux.cc =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_base_threading_platform__thread__linux.cc +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_base_threading_platform__thread__linux.cc @@ -0,0 +1,21 @@ +--- src/3rdparty/chromium/base/threading/platform_thread_linux.cc.orig 2017-04-11 14:08:45 UTC ++++ src/3rdparty/chromium/base/threading/platform_thread_linux.cc +@@ -17,7 +17,9 @@ + + #if !defined(OS_NACL) + #include ++#if !defined(OS_BSD) + #include ++#endif + #include + #include + #endif +@@ -81,7 +83,7 @@ void PlatformThread::SetName(const std::string& name) + ThreadIdNameManager::GetInstance()->SetName(CurrentId(), name); + tracked_objects::ThreadData::InitializeThreadContext(name); + +-#if !defined(OS_NACL) ++#if !defined(OS_NACL) && !defined(OS_BSD) + // On linux we can get the thread names to show up in the debugger by setting + // the process name for the LWP. We don't want to do this for the main + // thread because that would rename the process, causing tools like killall Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_base_trace__event_process__memory__dump.cc =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_base_trace__event_process__memory__dump.cc +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_base_trace__event_process__memory__dump.cc @@ -0,0 +1,29 @@ +--- src/3rdparty/chromium/base/trace_event/process_memory_dump.cc.orig 2016-11-07 14:46:18 UTC ++++ src/3rdparty/chromium/base/trace_event/process_memory_dump.cc +@@ -52,7 +52,7 @@ size_t ProcessMemoryDump::CountResidentB + const size_t page_count = (chunk_size + page_size - 1) / page_size; + size_t resident_page_count = 0; + +-#if defined(OS_MACOSX) || defined(OS_IOS) ++#if defined(OS_MACOSX) || defined(OS_IOS) || defined(OS_BSD) + std::vector vec(page_count + 1); + // mincore in MAC does not fail with EAGAIN. + result = mincore(chunk_start, chunk_size, vec.data()); +@@ -61,7 +61,7 @@ size_t ProcessMemoryDump::CountResidentB + + for (size_t i = 0; i < page_count; i++) + resident_page_count += vec[i] & MINCORE_INCORE ? 1 : 0; +-#else // defined(OS_MACOSX) || defined(OS_IOS) ++#else // defined(OS_MACOSX) || defined(OS_IOS) || defined(OS_BSD) + std::vector vec(page_count + 1); + int error_counter = 0; + // HANDLE_EINTR tries for 100 times. So following the same pattern. +@@ -73,7 +73,7 @@ size_t ProcessMemoryDump::CountResidentB + + for (size_t i = 0; i < page_count; i++) + resident_page_count += vec[i]; +-#endif // defined(OS_MACOSX) || defined(OS_IOS) ++#endif // defined(OS_MACOSX) || defined(OS_IOS) || defined(OS_BSD) + + total_resident_size += resident_page_count * page_size; + offset += kMaxChunkSize; Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_base_tracked__objects.cc =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_base_tracked__objects.cc +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_base_tracked__objects.cc @@ -0,0 +1,11 @@ +--- src/3rdparty/chromium/base/tracked_objects.cc.orig 2017-04-11 14:08:45 UTC ++++ src/3rdparty/chromium/base/tracked_objects.cc +@@ -431,7 +431,7 @@ void ThreadData::OnThreadTerminationCleanup() { + } + // We must NOT do any allocations during this callback. + // Using the simple linked lists avoids all allocations. +- DCHECK_EQ(this->next_retired_worker_, reinterpret_cast(NULL)); ++ DCHECK_EQ(this->next_retired_worker_, reinterpret_cast(0)); + this->next_retired_worker_ = first_retired_worker_; + first_retired_worker_ = this; + } Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_build_common.gypi =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_build_common.gypi +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_build_common.gypi @@ -0,0 +1,16 @@ +--- src/3rdparty/chromium/build/common.gypi.orig 2017-04-11 14:08:45 UTC ++++ src/3rdparty/chromium/build/common.gypi +@@ -4781,6 +4781,13 @@ + 'ldflags': [ + '-Wl,--no-keep-memory', + ], ++ 'ldflags!': [ ++ '-ldl', ++ '-pie', ++ ], ++ 'libraries!': [ ++ '-ldl', ++ ], + }, + }], + # Android-specific options; note that most are set above with Linux. Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_build_linux_unbundle_libusb.gyp =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_build_linux_unbundle_libusb.gyp +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_build_linux_unbundle_libusb.gyp @@ -0,0 +1,20 @@ +--- src/3rdparty/chromium/build/linux/unbundle/libusb.gyp.orig 2017-04-11 14:08:45 UTC ++++ src/3rdparty/chromium/build/linux/unbundle/libusb.gyp +@@ -18,14 +18,14 @@ + ], + 'direct_dependent_settings': { + 'cflags': [ +- 'ForkRequest( + cmd_line->argv(), std::move(files_to_register), process_type); +@@ -296,7 +296,7 @@ void TerminateOnLauncherThread(bool zygote, base::Proc + process.Terminate(RESULT_CODE_NORMAL_EXIT, false); + // On POSIX, we must additionally reap the child. + #if defined(OS_POSIX) +-#if !defined(OS_MACOSX) ++#if !defined(OS_MACOSX) && !defined(OS_BSD) + if (zygote) { + // If the renderer was created via a zygote, we have to proxy the reaping + // through the zygote process. +@@ -398,7 +398,7 @@ void ChildProcessLauncher::Launch( + + void ChildProcessLauncher::UpdateTerminationStatus(bool known_dead) { + DCHECK(CalledOnValidThread()); +-#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_ANDROID) ++#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_ANDROID) && !defined(OS_BSD) + if (zygote_) { + termination_status_ = ZygoteHostImpl::GetInstance()-> + GetTerminationStatus(process_.Handle(), known_dead, &exit_code_); +@@ -469,7 +469,7 @@ void ChildProcessLauncher::Notify( + starting_ = false; + process_ = std::move(process); + +-#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_ANDROID) ++#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_ANDROID) && !defined(OS_BSD) + zygote_ = zygote; + #endif + if (process_.IsValid()) { Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_content_browser_download_file__metadata__linux.cc =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_content_browser_download_file__metadata__linux.cc +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_content_browser_download_file__metadata__linux.cc @@ -0,0 +1,20 @@ +--- src/3rdparty/chromium/content/browser/download/file_metadata_linux.cc.orig 2017-04-20 13:00:41 UTC ++++ src/3rdparty/chromium/content/browser/download/file_metadata_linux.cc +@@ -6,7 +6,7 @@ + + #include + #include +-#include ++#include + + #include "base/files/file_path.h" + #include "base/files/file_util.h" +@@ -21,7 +21,7 @@ const char kReferrerURLAttrName[] = "use + static void SetExtendedFileAttribute(const char* path, const char* name, + const char* value, size_t value_size, + int flags) { +- int result = setxattr(path, name, value, value_size, flags); ++ int result = extattr_set_file(path, EXTATTR_NAMESPACE_USER, name, value, value_size); + if (result) { + DPLOG(ERROR) + << "Could not set extended attribute " << name << " on file " << path; Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_content_browser_frame__host_render__widget__host__view__guest.cc =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_content_browser_frame__host_render__widget__host__view__guest.cc +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_content_browser_frame__host_render__widget__host__view__guest.cc @@ -0,0 +1,16 @@ +--- src/3rdparty/chromium/content/browser/frame_host/render_widget_host_view_guest.cc.orig 2017-04-11 14:08:45 UTC ++++ src/3rdparty/chromium/content/browser/frame_host/render_widget_host_view_guest.cc +@@ -338,11 +338,11 @@ gfx::NativeView RenderWidgetHostViewGuest::GetNativeVi + + gfx::NativeViewId RenderWidgetHostViewGuest::GetNativeViewId() const { + if (!guest_) +- return static_cast(NULL); ++ return reinterpret_cast(NULL); + + RenderWidgetHostView* rwhv = guest_->GetOwnerRenderWidgetHostView(); + if (!rwhv) +- return static_cast(NULL); ++ return reinterpret_cast(NULL); + return rwhv->GetNativeViewId(); + } + Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_content_browser_geolocation_location__arbitrator__impl.cc =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_content_browser_geolocation_location__arbitrator__impl.cc +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_content_browser_geolocation_location__arbitrator__impl.cc @@ -0,0 +1,11 @@ +--- src/3rdparty/chromium/content/browser/geolocation/location_arbitrator_impl.cc.orig 2017-04-19 16:57:24 UTC ++++ src/3rdparty/chromium/content/browser/geolocation/location_arbitrator_impl.cc +@@ -174,7 +174,7 @@ LocationProvider* LocationArbitratorImpl + } + + LocationProvider* LocationArbitratorImpl::NewSystemLocationProvider() { +-#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) ++#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) + return NULL; + #else + return content::NewSystemLocationProvider(); Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_content_content__browser.gypi =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_content_content__browser.gypi +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_content_content__browser.gypi @@ -0,0 +1,33 @@ +--- src/3rdparty/chromium/content/content_browser.gypi.orig 2016-11-07 14:46:18 UTC ++++ src/3rdparty/chromium/content/content_browser.gypi +@@ -2140,6 +2140,9 @@ + ['os_bsd==1', { + 'sources/': [ + ['exclude', '^browser/gamepad/gamepad_platform_data_fetcher_linux\\.cc$'], ++ ['exclude', '^browser/zygote_host/zygote_host_impl_linux\\.cc$'], ++ ['exclude', '^zygote/zygote_linux\\.cc$'], ++ ['exclude', '^zygote/zygote_main_linux\\.cc$'], + ], + }], + ['use_aura==1', { +@@ -2191,14 +2194,16 @@ + 'browser/geolocation/empty_wifi_data_provider.cc', + ], + }], +- ['OS == "linux" and use_dbus==1', { +- 'sources!': [ +- 'browser/geolocation/empty_wifi_data_provider.cc', +- ], ++ ['use_dbus==1', { + 'dependencies': [ + '../build/linux/system.gyp:dbus', + '../dbus/dbus.gyp:dbus', + ], ++ }], ++ ['OS == "linux" and use_dbus==1', { ++ 'sources!': [ ++ 'browser/geolocation/empty_wifi_data_provider.cc', ++ ], + }, { # OS != "linux" or use_dbus==0 + 'sources!': [ + 'browser/geolocation/wifi_data_provider_linux.cc', Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_content_content__common.gypi =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_content_content__common.gypi +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_content_content__common.gypi @@ -0,0 +1,32 @@ +--- src/3rdparty/chromium/content/content_common.gypi.orig 2016-11-07 14:46:18 UTC ++++ src/3rdparty/chromium/content/content_common.gypi +@@ -12,6 +12,7 @@ + '../skia/skia.gyp:skia', + '../third_party/WebKit/public/blink_headers.gyp:blink_headers', + '../third_party/icu/icu.gyp:icuuc', ++ '../third_party/mesa/mesa.gyp:mesa_headers', + '../ui/accessibility/accessibility.gyp:accessibility', + '../ui/accessibility/accessibility.gyp:ax_gen', + '../ui/base/ime/ui_base_ime.gyp:ui_base_ime', +@@ -756,6 +757,21 @@ + 'content.gyp:common_aidl', + ], + }], ++ ['os_bsd==1', { ++ 'sources!': [ ++ 'common/sandbox_linux/bpf_cros_arm_gpu_policy_linux.cc', ++ 'common/sandbox_linux/bpf_gpu_policy_linux.cc', ++ 'common/sandbox_linux/bpf_ppapi_policy_linux.cc', ++ 'common/sandbox_linux/bpf_renderer_policy_linux.cc', ++ 'common/sandbox_linux/bpf_utility_policy_linux.cc', ++ 'common/sandbox_linux/sandbox_bpf_base_policy_linux.cc', ++ 'common/sandbox_linux/sandbox_debug_handling_linux.cc', ++ 'common/sandbox_linux/sandbox_init_linux.cc', ++ 'common/sandbox_linux/sandbox_linux.cc', ++ 'common/sandbox_linux/sandbox_seccomp_bpf_linux.cc', ++ 'common/set_process_title_linux.cc', ++ ], ++ }], + ['use_pango == 1', { + 'dependencies': [ + '../build/linux/system.gyp:pangocairo', Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_content_gpu_gpu__child__thread.cc =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_content_gpu_gpu__child__thread.cc +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_content_gpu_gpu__child__thread.cc @@ -0,0 +1,18 @@ +--- src/3rdparty/chromium/content/gpu/gpu_child_thread.cc.orig 2017-04-11 14:08:45 UTC ++++ src/3rdparty/chromium/content/gpu/gpu_child_thread.cc +@@ -306,6 +306,7 @@ void GpuChildThread::StopWatchdog() { + } + + void GpuChildThread::OnCollectGraphicsInfo() { ++#if !defined(OS_FREEBSD) + #if defined(OS_WIN) + // GPU full info collection should only happen on un-sandboxed GPU process + // or single process/in-process gpu mode on Windows. +@@ -348,6 +349,7 @@ void GpuChildThread::OnCollectGraphicsInfo() { + base::MessageLoop::current()->QuitWhenIdle(); + } + #endif // OS_WIN ++#endif + } + + void GpuChildThread::OnGetVideoMemoryUsageStats() { Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_content_gpu_gpu__main.cc =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_content_gpu_gpu__main.cc +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_content_gpu_gpu__main.cc @@ -0,0 +1,45 @@ +--- src/3rdparty/chromium/content/gpu/gpu_main.cc.orig 2017-04-11 14:08:45 UTC ++++ src/3rdparty/chromium/content/gpu/gpu_main.cc +@@ -99,7 +99,7 @@ void GetGpuInfoFromCommandLine(gpu::GPUInfo& gpu_info, + const base::CommandLine& command_line); + bool WarmUpSandbox(const base::CommandLine& command_line); + +-#if !defined(OS_MACOSX) ++#if !defined(OS_MACOSX) && !defined(OS_FREEBSD) + bool CollectGraphicsInfo(gpu::GPUInfo& gpu_info); + #endif + +@@ -191,13 +191,13 @@ int GpuMain(const MainFunctionParams& parameters) { + #else + base::MessageLoop main_message_loop(base::MessageLoop::TYPE_UI); + #endif +-#elif defined(OS_LINUX) && defined(USE_X11) ++#elif (defined(OS_LINUX)||defined(OS_BSD)) && defined(USE_X11) + // We need a UI loop so that we can grab the Expose events. See GLSurfaceGLX + // and https://crbug.com/326995. + base::MessageLoop main_message_loop(base::MessageLoop::TYPE_UI); + scoped_ptr event_source = + ui::PlatformEventSource::CreateDefault(); +-#elif defined(OS_LINUX) ++#elif defined(OS_LINUX)||defined(OS_BSD) + base::MessageLoop main_message_loop(base::MessageLoop::TYPE_DEFAULT); + #elif defined(OS_MACOSX) + // This is necessary for CoreAnimation layers hosted in the GPU process to be +@@ -303,7 +303,7 @@ int GpuMain(const MainFunctionParams& parameters) { + // and we already registered them through SetGpuInfo() above. + base::TimeTicks before_collect_context_graphics_info = + base::TimeTicks::Now(); +-#if !defined(OS_MACOSX) ++#if !defined(OS_MACOSX) && !defined(OS_FREEBSD) + if (!CollectGraphicsInfo(gpu_info)) + dead_on_arrival = true; + +@@ -457,7 +457,7 @@ bool WarmUpSandbox(const base::CommandLine& command_li + return true; + } + +-#if !defined(OS_MACOSX) ++#if !defined(OS_MACOSX) && !defined(OS_FREEBSD) + bool CollectGraphicsInfo(gpu::GPUInfo& gpu_info) { + TRACE_EVENT0("gpu,startup", "Collect Graphics Info"); + Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_content_renderer_devtools_v8__sampling__profiler.cc =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_content_renderer_devtools_v8__sampling__profiler.cc +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_content_renderer_devtools_v8__sampling__profiler.cc @@ -0,0 +1,21 @@ +--- src/3rdparty/chromium/content/renderer/devtools/v8_sampling_profiler.cc.orig 2017-04-11 14:08:45 UTC ++++ src/3rdparty/chromium/content/renderer/devtools/v8_sampling_profiler.cc +@@ -6,6 +6,7 @@ + + #include + #include ++#include + + #include "base/format_macros.h" + #include "base/location.h" +@@ -544,6 +546,10 @@ void V8SamplingThread::HandleProfilerSignal(int signal + state.pc = reinterpret_cast(mcontext->__ss.REG_64_32(__rip, __eip)); + state.sp = reinterpret_cast(mcontext->__ss.REG_64_32(__rsp, __esp)); + state.fp = reinterpret_cast(mcontext->__ss.REG_64_32(__rbp, __ebp)); ++#elif defined(OS_FREEBSD) ++ state.pc = reinterpret_cast(mcontext.REG_64_32(mc_rip, mc_eip)); ++ state.sp = reinterpret_cast(mcontext.REG_64_32(mc_rsp, mc_esp)); ++ state.fp = reinterpret_cast(mcontext.REG_64_32(mc_rbp, mc_ebp)); + #else + state.pc = + reinterpret_cast(mcontext.gregs[REG_64_32(REG_RIP, REG_EIP)]); Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_content_renderer_renderer__main__platform__delegate__linux.cc =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_content_renderer_renderer__main__platform__delegate__linux.cc +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_content_renderer_renderer__main__platform__delegate__linux.cc @@ -0,0 +1,18 @@ +--- src/3rdparty/chromium/content/renderer/renderer_main_platform_delegate_linux.cc.orig 2017-04-20 13:24:44 UTC ++++ src/3rdparty/chromium/content/renderer/renderer_main_platform_delegate_linux.cc +@@ -29,6 +29,7 @@ void RendererMainPlatformDelegate::Platf + } + + bool RendererMainPlatformDelegate::EnableSandbox() { ++#if defined(OS_LINUX) + // The setuid sandbox is started in the zygote process: zygote_main_linux.cc + // http://code.google.com/p/chromium/wiki/LinuxSUIDSandbox + // +@@ -60,6 +61,7 @@ bool RendererMainPlatformDelegate::Enabl + } + #endif // __x86_64__ + ++#endif // defined(OS_LINUX) + return true; + } + Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_crypto_nss__util.cc =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_crypto_nss__util.cc +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_crypto_nss__util.cc @@ -0,0 +1,24 @@ +--- src/3rdparty/chromium/crypto/nss_util.cc.orig 2017-04-23 10:32:17 UTC ++++ src/3rdparty/chromium/crypto/nss_util.cc +@@ -15,7 +15,7 @@ + + #include "crypto/nss_util_internal.h" + +-#if defined(OS_OPENBSD) ++#if defined(OS_BSD) + #include + #include + #endif +@@ -158,10 +158,10 @@ void UseLocalCacheOfNSSDatabaseIfNFS(con + base::FileSystemType fs_type = base::FILE_SYSTEM_UNKNOWN; + if (base::GetFileSystemType(database_dir, &fs_type)) + db_on_nfs = (fs_type == base::FILE_SYSTEM_NFS); +-#elif defined(OS_OPENBSD) ++#elif defined(OS_BSD) + struct statfs buf; + if (statfs(database_dir.value().c_str(), &buf) == 0) +- db_on_nfs = (strcmp(buf.f_fstypename, MOUNT_NFS) == 0); ++ db_on_nfs = (strcmp(buf.f_fstypename, "nfs") == 0); + #else + NOTIMPLEMENTED(); + #endif Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_device_usb_usb__context.cc =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_device_usb_usb__context.cc +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_device_usb_usb__context.cc @@ -0,0 +1,22 @@ +--- src/3rdparty/chromium/device/usb/usb_context.cc.orig 2017-04-11 14:15:58 UTC ++++ src/3rdparty/chromium/device/usb/usb_context.cc +@@ -9,8 +9,7 @@ + #include "base/macros.h" + #include "base/threading/simple_thread.h" + #include "device/usb/usb_error.h" +-#include "third_party/libusb/src/libusb/interrupt.h" +-#include "third_party/libusb/src/libusb/libusb.h" ++#include "libusb.h" + + namespace device { + +@@ -58,7 +57,9 @@ void UsbContext::UsbEventHandler::Run() { + + void UsbContext::UsbEventHandler::Stop() { + base::subtle::Release_Store(&running_, 0); ++#if !defined(__FreeBSD__) + libusb_interrupt_handle_event(context_); ++#endif + } + + UsbContext::UsbContext(PlatformUsbContext context) : context_(context) { Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_device_usb_usb__service__impl.h =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_device_usb_usb__service__impl.h +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_device_usb_usb__service__impl.h @@ -0,0 +1,33 @@ +The hotplug API is not available on FreeBSD <= 10.3. + +The API was added in base r302080, so it is part of FreeBSD 11.0+. It was +MFC'ed to stable/10 in r302275, which is between __FreeBSD_version's 1003505 +(r302228) and 1003506 (r304611). +--- src/3rdparty/chromium/device/usb/usb_service_impl.h.orig 2017-04-20 16:14:03 UTC ++++ src/3rdparty/chromium/device/usb/usb_service_impl.h +@@ -72,6 +72,7 @@ class UsbServiceImpl : + void RemoveDevice(scoped_refptr device); + + // Handle hotplug events from libusb. ++#if defined(__FreeBSD_version) && __FreeBSD_version >= 1003506 + static int LIBUSB_CALL HotplugCallback(libusb_context* context, + PlatformUsbDevice device, + libusb_hotplug_event event, +@@ -79,6 +80,7 @@ class UsbServiceImpl : + // These functions release a reference to the provided platform device. + void OnPlatformDeviceAdded(PlatformUsbDevice platform_device); + void OnPlatformDeviceRemoved(PlatformUsbDevice platform_device); ++#endif + + scoped_refptr context_; + scoped_refptr task_runner_; +@@ -88,7 +90,9 @@ class UsbServiceImpl : + // connected instead of only when a full enumeration is requested. + // TODO(reillyg): Support this on all platforms. crbug.com/411715 + bool hotplug_enabled_ = false; ++#if defined(__FreeBSD_version) && __FreeBSD_version >= 1003506 + libusb_hotplug_callback_handle hotplug_handle_; ++#endif + + // Enumeration callbacks are queued until an enumeration completes. + bool enumeration_ready_ = false; Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_device_usb_usb__service__impl.cc =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_device_usb_usb__service__impl.cc +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_device_usb_usb__service__impl.cc @@ -0,0 +1,48 @@ +The hotplug API is not available on FreeBSD <= 10.3. + +The API was added in base r302080, so it is part of FreeBSD 11.0+. It was +MFC'ed to stable/10 in r302275, which is between __FreeBSD_version's 1003505 +(r302228) and 1003506 (r304611). +--- src/3rdparty/chromium/device/usb/usb_service_impl.cc.orig 2017-04-20 16:14:07 UTC ++++ src/3rdparty/chromium/device/usb/usb_service_impl.cc +@@ -482,6 +482,7 @@ UsbServiceImpl::UsbServiceImpl( + } + context_ = new UsbContext(platform_context); + ++#if defined(__FreeBSD_version) && __FreeBSD_version >= 1003506 + rv = libusb_hotplug_register_callback( + context_->context(), + static_cast(LIBUSB_HOTPLUG_EVENT_DEVICE_ARRIVED | +@@ -492,6 +493,7 @@ UsbServiceImpl::UsbServiceImpl( + if (rv == LIBUSB_SUCCESS) { + hotplug_enabled_ = true; + } ++#endif + + RefreshDevices(); + #if defined(OS_WIN) +@@ -504,7 +506,9 @@ UsbServiceImpl::UsbServiceImpl( + + UsbServiceImpl::~UsbServiceImpl() { + if (hotplug_enabled_) { ++#if defined(__FreeBSD_version) && __FreeBSD_version >= 1003506 + libusb_hotplug_deregister_callback(context_->context(), hotplug_handle_); ++#endif + } + for (const auto& map_entry : devices_) { + map_entry.second->OnDisconnect(); +@@ -744,6 +748,7 @@ void UsbServiceImpl::RemoveDevice(scoped + } + + // static ++#if defined(__FreeBSD_version) && __FreeBSD_version >= 1003506 + int LIBUSB_CALL UsbServiceImpl::HotplugCallback(libusb_context* context, + PlatformUsbDevice device, + libusb_hotplug_event event, +@@ -799,5 +804,6 @@ void UsbServiceImpl::OnPlatformDeviceRem + } + libusb_unref_device(platform_device); + } ++#endif // defined(__FreeBSD_version) && __FreeBSD_version >= 1003506 + + } // namespace device Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_gpu_gpu__config.gypi =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_gpu_gpu__config.gypi +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_gpu_gpu__config.gypi @@ -0,0 +1,17 @@ +--- src/3rdparty/chromium/gpu/gpu_config.gypi.orig 2016-11-07 14:46:18 UTC ++++ src/3rdparty/chromium/gpu/gpu_config.gypi +@@ -66,12 +66,12 @@ + '../third_party/amd/amd_videocard_info_win.cc', + ], + }], +- ['OS=="linux" and use_libpci==1 and (use_x11==1 or use_ozone==1)', { ++ ['(OS=="linux" or os_bsd==1) and use_libpci==1 and (use_x11==1 or use_ozone==1)', { + 'dependencies': [ + '../build/linux/system.gyp:libpci', + ], + }], +- ['OS=="linux" and use_x11==1', { ++ ['(OS=="linux" or os_bsd==1) and use_x11==1', { + 'dependencies': [ + '../build/linux/system.gyp:x11', + '../build/linux/system.gyp:xext', Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_media_capture_video_file__video__capture__device__factory.cc =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_media_capture_video_file__video__capture__device__factory.cc +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_media_capture_video_file__video__capture__device__factory.cc @@ -0,0 +1,11 @@ +--- src/3rdparty/chromium/media/capture/video/file_video_capture_device_factory.cc.orig 2017-04-23 10:37:42 UTC ++++ src/3rdparty/chromium/media/capture/video/file_video_capture_device_factory.cc +@@ -50,7 +50,7 @@ void FileVideoCaptureDeviceFactory::GetD + device_names->push_back(VideoCaptureDevice::Name( + command_line_file_path.value(), kFileVideoCaptureDeviceName, + VideoCaptureDevice::Name::AVFOUNDATION)); +-#elif defined(OS_LINUX) ++#elif defined(OS_LINUX) || defined(OS_BSD) + device_names->push_back(VideoCaptureDevice::Name( + command_line_file_path.value(), kFileVideoCaptureDeviceName, + VideoCaptureDevice::Name::V4L2_SINGLE_PLANE)); Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_media_capture_video_linux_v4l2__capture__delegate.cc =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_media_capture_video_linux_v4l2__capture__delegate.cc +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_media_capture_video_linux_v4l2__capture__delegate.cc @@ -0,0 +1,21 @@ +--- src/3rdparty/chromium/media/capture/video/linux/v4l2_capture_delegate.cc.orig 2017-04-19 19:13:43 UTC ++++ src/3rdparty/chromium/media/capture/video/linux/v4l2_capture_delegate.cc +@@ -20,7 +20,7 @@ + #include "media/capture/video/linux/v4l2_capture_delegate_single_plane.h" + #include "media/capture/video/linux/video_capture_device_linux.h" + +-#if !defined(OS_OPENBSD) ++#if !defined(OS_BSD) + #include + #endif + +@@ -277,9 +277,7 @@ void V4L2CaptureDelegate::AllocateAndSta + // operation (|errno| == EINVAL in this case) or plain failure. + if ((power_line_frequency_ == V4L2_CID_POWER_LINE_FREQUENCY_50HZ) + || (power_line_frequency_ == V4L2_CID_POWER_LINE_FREQUENCY_60HZ) +-#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,2,0) + || (power_line_frequency_ == V4L2_CID_POWER_LINE_FREQUENCY_AUTO) +-#endif + ) { + struct v4l2_control control = {}; + control.id = V4L2_CID_POWER_LINE_FREQUENCY; Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_media_capture_video_linux_video__capture__device__linux.cc =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_media_capture_video_linux_video__capture__device__linux.cc +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_media_capture_video_linux_video__capture__device__linux.cc @@ -0,0 +1,25 @@ +--- src/3rdparty/chromium/media/capture/video/linux/video_capture_device_linux.cc.orig 2016-11-07 14:46:18 UTC ++++ src/3rdparty/chromium/media/capture/video/linux/video_capture_device_linux.cc +@@ -17,7 +17,9 @@ + #include + #else + #include ++#if !defined(OS_BSD) + #include ++#endif // defined(OS_BSD) + #endif + + namespace media { +@@ -144,12 +146,8 @@ int VideoCaptureDeviceLinux::TranslatePo + case media::PowerLineFrequency::FREQUENCY_60HZ: + return V4L2_CID_POWER_LINE_FREQUENCY_60HZ; + default: +-#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,2,0) + // If we have no idea of the frequency, at least try and set it to AUTO. + return V4L2_CID_POWER_LINE_FREQUENCY_AUTO; +-#else +- return V4L2_CID_POWER_LINE_FREQUENCY_60HZ; +-#endif + } + } + Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_media_capture_video_video__capture__device.h =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_media_capture_video_video__capture__device.h +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_media_capture_video_video__capture__device.h @@ -0,0 +1,38 @@ +--- src/3rdparty/chromium/media/capture/video/video_capture_device.h.orig 2016-11-07 14:46:18 UTC ++++ src/3rdparty/chromium/media/capture/video/video_capture_device.h +@@ -51,7 +51,7 @@ class MEDIA_EXPORT VideoCaptureDevice { + Name(); + Name(const std::string& name, const std::string& id); + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + // Linux/CrOS targets Capture Api type: it can only be set on construction. + enum CaptureApiType { + V4L2_SINGLE_PLANE, +@@ -83,7 +83,7 @@ class MEDIA_EXPORT VideoCaptureDevice { + #endif + + #if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || \ +- defined(OS_ANDROID) ++ defined(OS_ANDROID) || defined(OS_BSD) + Name(const std::string& name, + const std::string& id, + const CaptureApiType api_type); +@@ -120,7 +120,7 @@ class MEDIA_EXPORT VideoCaptureDevice { + bool operator<(const Name& other) const { return unique_id_ < other.id(); } + + #if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || \ +- defined(OS_ANDROID) ++ defined(OS_ANDROID) || defined(OS_BSD) + CaptureApiType capture_api_type() const { + return capture_api_class_.capture_api_type(); + } +@@ -144,7 +144,7 @@ class MEDIA_EXPORT VideoCaptureDevice { + std::string device_name_; + std::string unique_id_; + #if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || \ +- defined(OS_ANDROID) ++ defined(OS_ANDROID) || defined(OS_BSD) + // This class wraps the CaptureApiType to give it a by default value if not + // initialized. + class CaptureApiClass { Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_media_capture_video_video__capture__device.cc =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_media_capture_video_video__capture__device.cc +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_media_capture_video_video__capture__device.cc @@ -0,0 +1,20 @@ +--- src/3rdparty/chromium/media/capture/video/video_capture_device.cc.orig 2016-11-07 14:46:18 UTC ++++ src/3rdparty/chromium/media/capture/video/video_capture_device.cc +@@ -35,7 +35,7 @@ VideoCaptureDevice::Name::Name(const std + : device_name_(name), unique_id_(id) { + } + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + VideoCaptureDevice::Name::Name(const std::string& name, + const std::string& id, + const CaptureApiType api_type) +@@ -82,7 +82,7 @@ VideoCaptureDevice::Name::Name(const std + VideoCaptureDevice::Name::~Name() { + } + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + const char* VideoCaptureDevice::Name::GetCaptureApiTypeString() const { + switch (capture_api_type()) { + case V4L2_SINGLE_PLANE: Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_media_capture_video_video__capture__device__factory.cc =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_media_capture_video_video__capture__device__factory.cc +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_media_capture_video_video__capture__device__factory.cc @@ -0,0 +1,11 @@ +--- src/3rdparty/chromium/media/capture/video/video_capture_device_factory.cc.orig 2017-04-23 20:12:45 UTC ++++ src/3rdparty/chromium/media/capture/video/video_capture_device_factory.cc +@@ -55,7 +55,7 @@ void VideoCaptureDeviceFactory::Enumerat + } + + #if !defined(OS_MACOSX) && !defined(OS_LINUX) && !defined(OS_ANDROID) && \ +- !defined(OS_WIN) ++ !defined(OS_WIN) && !defined(OS_BSD) + // static + VideoCaptureDeviceFactory* + VideoCaptureDeviceFactory::CreateVideoCaptureDeviceFactory( Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_media_filters_vp9__parser.h =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_media_filters_vp9__parser.h +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_media_filters_vp9__parser.h @@ -0,0 +1,10 @@ +--- src/3rdparty/chromium/media/filters/vp9_parser.h.orig 2016-11-07 14:46:18 UTC ++++ src/3rdparty/chromium/media/filters/vp9_parser.h +@@ -14,6 +14,7 @@ + + #include + #include ++#include + + #include + Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_media_media.gyp =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_media_media.gyp +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_media_media.gyp @@ -0,0 +1,20 @@ +--- src/3rdparty/chromium/media/media.gyp.orig 2016-11-07 14:46:18 UTC ++++ src/3rdparty/chromium/media/media.gyp +@@ -809,7 +809,7 @@ + 'capture/video/linux/v4l2_capture_delegate_multi_plane.h', + ], + }], +- ['OS=="linux"', { ++ ['OS=="linux" or os_bsd==1', { + 'conditions': [ + ['use_x11==1', { + 'dependencies': [ +@@ -1146,7 +1146,7 @@ + 'base/simd/filter_yuv_sse2.cc', + ], + }], +- ['OS!="linux" and OS!="win"', { ++ ['OS!="linux" and OS!="win" and os_bsd!=1', { + 'sources!': [ + 'base/keyboard_event_counter.cc', + 'base/keyboard_event_counter.h', Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_net_base_address__tracker__linux.h =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_net_base_address__tracker__linux.h +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_net_base_address__tracker__linux.h @@ -0,0 +1,15 @@ +--- src/3rdparty/chromium/net/base/address_tracker_linux.h.orig 2016-11-07 14:46:18 UTC ++++ src/3rdparty/chromium/net/base/address_tracker_linux.h +@@ -6,10 +6,12 @@ + #define NET_BASE_ADDRESS_TRACKER_LINUX_H_ + + #include // Needed to include netlink. ++#if !defined(__FreeBSD__) + // Mask superfluous definition of |struct net|. This is fixed in Linux 2.6.38. + #define net net_kernel + #include + #undef net ++#endif + #include + + #include Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_net_base_network__interfaces__posix.cc =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_net_base_network__interfaces__posix.cc +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_net_base_network__interfaces__posix.cc @@ -0,0 +1,21 @@ +Piggyback on the existing #ifdefs for the definitions of some stub functions. +--- src/3rdparty/chromium/net/base/network_interfaces_posix.cc.orig 2017-04-20 16:49:59 UTC ++++ src/3rdparty/chromium/net/base/network_interfaces_posix.cc +@@ -9,7 +9,7 @@ + + #include "base/memory/scoped_ptr.h" + +-#if !defined(OS_NACL) ++#if !defined(OS_NACL) && !defined(OS_BSD) + #include "net/base/network_interfaces_posix.h" + #include + #include +@@ -17,7 +17,7 @@ + + namespace net { + +-#if !defined(OS_NACL) ++#if !defined(OS_NACL) && !defined(OS_BSD) + namespace internal { + + // The application layer can pass |policy| defined in net_util.h to Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_net_dns_address__sorter__posix.cc =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_net_dns_address__sorter__posix.cc +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_net_dns_address__sorter__posix.cc @@ -0,0 +1,11 @@ +Needed on FreeBSD 10.3. +--- src/3rdparty/chromium/net/dns/address_sorter_posix.cc.orig 2017-04-20 10:17:24 UTC ++++ src/3rdparty/chromium/net/dns/address_sorter_posix.cc +@@ -11,6 +11,7 @@ + #include // Must be included before ifaddrs.h. + #include + #include ++#include + #include + #include + #include Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_net_dns_dns__reloader.cc =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_net_dns_dns__reloader.cc +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_net_dns_dns__reloader.cc @@ -0,0 +1,17 @@ +Include all headers required by res_init(3) and friends. + +Note that as of base r289315 (present in FreeBSD 11+), the libc resolver +already reloads /etc/resolv.conf when it is changed, so we should also consider +whether to just disable this functionality in Chromium altogether. +--- src/3rdparty/chromium/net/dns/dns_reloader.cc.orig 2016-11-07 14:46:18 UTC ++++ src/3rdparty/chromium/net/dns/dns_reloader.cc +@@ -7,6 +7,9 @@ + #if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_OPENBSD) && \ + !defined(OS_ANDROID) + ++#include ++#include ++#include + #include + + #include "base/lazy_instance.h" Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_net_net.gypi =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_net_net.gypi +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_net_net.gypi @@ -0,0 +1,33 @@ +--- src/3rdparty/chromium/net/net.gypi.orig 2017-04-19 19:48:59 UTC ++++ src/3rdparty/chromium/net/net.gypi +@@ -435,8 +435,8 @@ + 'android/network_library.h', + 'android/traffic_stats.cc', + 'android/traffic_stats.h', +- 'base/address_tracker_linux.cc', +- 'base/address_tracker_linux.h', ++ # 'base/address_tracker_linux.cc', ++ # 'base/address_tracker_linux.h', + 'base/backoff_entry.cc', + 'base/backoff_entry.h', + 'base/backoff_entry_serializer.cc', +@@ -497,8 +497,8 @@ + 'base/network_change_notifier.cc', + 'base/network_change_notifier.h', + 'base/network_change_notifier_factory.h', +- 'base/network_change_notifier_linux.cc', +- 'base/network_change_notifier_linux.h', ++ # 'base/network_change_notifier_linux.cc', ++ # 'base/network_change_notifier_linux.h', + 'base/network_change_notifier_mac.cc', + 'base/network_change_notifier_mac.h', + 'base/network_change_notifier_win.cc', +@@ -509,7 +509,7 @@ + 'base/network_delegate.h', + 'base/network_delegate_impl.cc', + 'base/network_delegate_impl.h', +- 'base/network_interfaces_linux.cc', ++ # 'base/network_interfaces_linux.cc', + 'base/network_interfaces_mac.cc', + 'base/network_interfaces_win.cc', + 'base/network_quality_estimator.cc', Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_ppapi_shared__impl_private_net__address__private__impl.cc =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_ppapi_shared__impl_private_net__address__private__impl.cc +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_ppapi_shared__impl_private_net__address__private__impl.cc @@ -0,0 +1,10 @@ +--- src/3rdparty/chromium/ppapi/shared_impl/private/net_address_private_impl.cc.orig 2016-11-07 14:46:18 UTC ++++ src/3rdparty/chromium/ppapi/shared_impl/private/net_address_private_impl.cc +@@ -24,6 +24,7 @@ + #include + #elif defined(OS_POSIX) && !defined(OS_NACL) + #include ++#include + #include + #include + #endif Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_skia_skia__chrome.gypi =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_skia_skia__chrome.gypi +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_skia_skia__chrome.gypi @@ -0,0 +1,11 @@ +--- src/3rdparty/chromium/skia/skia_chrome.gypi.orig 2017-04-20 12:39:06 UTC ++++ src/3rdparty/chromium/skia/skia_chrome.gypi +@@ -66,7 +66,7 @@ + 'ext/skia_utils_base.cc', + ], + }], +- [ 'OS != "android" and (OS != "linux" or use_cairo==1)', { ++ [ 'OS != "android" and ((OS != "linux" and os_bsd != 1) or use_cairo==1)', { + 'sources!': [ + 'ext/bitmap_platform_device_skia.cc', + ], Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_WebKit_Source_bindings_core_v8_V8ScriptRunner.cpp =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_WebKit_Source_bindings_core_v8_V8ScriptRunner.cpp +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_WebKit_Source_bindings_core_v8_V8ScriptRunner.cpp @@ -0,0 +1,11 @@ +--- src/3rdparty/chromium/third_party/WebKit/Source/bindings/core/v8/V8ScriptRunner.cpp.orig 2017-04-11 12:57:39 UTC ++++ src/3rdparty/chromium/third_party/WebKit/Source/bindings/core/v8/V8ScriptRunner.cpp +@@ -43,6 +43,8 @@ + + #if OS(WIN) + #include ++#elif defined(__FreeBSD__) ++#include + #else + #include + #endif Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_WebKit_Source_core_core.gyp =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_WebKit_Source_core_core.gyp +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_WebKit_Source_core_core.gyp @@ -0,0 +1,34 @@ +--- src/3rdparty/chromium/third_party/WebKit/Source/core/core.gyp.orig 2016-11-07 14:46:18 UTC ++++ src/3rdparty/chromium/third_party/WebKit/Source/core/core.gyp +@@ -458,13 +458,13 @@ + 'layout/LayoutThemeMac.mm', + ], + }], +- ['OS != "linux"', { ++ ['OS != "linux" and os_bsd != 1', { + 'sources!': [ + 'layout/LayoutThemeLinux.cpp', + 'layout/LayoutThemeLinux.h', + ], + }], +- ['OS != "linux" and OS != "android"', { ++ ['OS != "linux" and OS != "android" and os_bsd != 1', { + 'sources!': [ + 'layout/LayoutThemeFontProviderLinux.cpp', + ], +@@ -785,13 +785,13 @@ + 'layout/LayoutThemeMac.mm', + ], + }], +- ['OS != "linux"', { ++ ['OS != "linux" and os_bsd != 1', { + 'sources!': [ + 'layout/LayoutThemeLinux.cpp', + 'layout/LayoutThemeLinux.h', + ], + }], +- ['OS != "linux" and OS != "android"', { ++ ['OS != "linux" and OS != "android" and os_bsd == 1', { + 'sources!': [ + 'layout/LayoutThemeFontProviderLinux.cpp', + ], Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_WebKit_Source_platform_blink__platform.gyp =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_WebKit_Source_platform_blink__platform.gyp +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_WebKit_Source_platform_blink__platform.gyp @@ -0,0 +1,38 @@ +--- src/3rdparty/chromium/third_party/WebKit/Source/platform/blink_platform.gyp.orig 2016-11-07 14:46:18 UTC ++++ src/3rdparty/chromium/third_party/WebKit/Source/platform/blink_platform.gyp +@@ -203,7 +204,7 @@ + ['include', 'graphics/cpu/x86/WebGLImageConversionSSE\\.h$'], + ], + }], +- ['OS=="linux" or OS=="android" or OS=="win"', { ++ ['OS=="linux" or OS=="android" or OS=="win" or os_bsd==1', { + 'sources/': [ + # Cherry-pick files excluded by the broader regular expressions above. + ['include', 'fonts/opentype/OpenTypeTypes\\.h$'], +@@ -214,7 +215,7 @@ + ], + }, + ], +- ['OS=="linux" or OS=="android"', { ++ ['OS=="linux" or OS=="android" or os_bsd==1', { + 'sources/': [ + ['include', 'fonts/linux/FontPlatformDataLinux\\.cpp$'], + ] +@@ -307,7 +308,7 @@ + ['exclude', 'scroll/ScrollbarThemeMac'], + ], + }], +- ['OS != "linux" and OS != "mac" and OS != "win"', { ++ ['OS != "linux" and OS != "mac" and OS != "win" and os_bsd != 1', { + 'sources/': [ + ['exclude', 'VDMX[^/]+\\.(cpp|h)$'], + ], +@@ -350,7 +351,7 @@ + ['exclude', 'Android\\.cpp$'], + ], + }], +- ['OS=="linux"', { ++ ['OS=="linux" or os_bsd==1', { + 'dependencies': [ + '<(DEPTH)/build/linux/system.gyp:fontconfig', + ], Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_WebKit_Source_platform_fonts_FontPlatformData.cpp =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_WebKit_Source_platform_fonts_FontPlatformData.cpp +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_WebKit_Source_platform_fonts_FontPlatformData.cpp @@ -0,0 +1,11 @@ +--- src/3rdparty/chromium/third_party/WebKit/Source/platform/fonts/FontPlatformData.cpp.orig 2017-04-11 14:26:52 UTC ++++ src/3rdparty/chromium/third_party/WebKit/Source/platform/fonts/FontPlatformData.cpp +@@ -357,7 +357,7 @@ PassRefPtr FontPlatformData::openTypeTab + { + RefPtr buffer; + +- SkFontTableTag tag = WTF::bswap32(table); ++ SkFontTableTag tag = bswap32(table); + const size_t tableSize = m_typeface->getTableSize(tag); + if (tableSize) { + Vector tableBuffer(tableSize); Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_WebKit_Source_platform_heap_StackFrameDepth.cpp =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_WebKit_Source_platform_heap_StackFrameDepth.cpp +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_WebKit_Source_platform_heap_StackFrameDepth.cpp @@ -0,0 +1,11 @@ +--- src/3rdparty/chromium/third_party/WebKit/Source/platform/heap/StackFrameDepth.cpp.orig 2017-04-11 14:08:45 UTC ++++ src/3rdparty/chromium/third_party/WebKit/Source/platform/heap/StackFrameDepth.cpp +@@ -6,6 +6,8 @@ + + #include "public/platform/Platform.h" + ++#include ++ + #if OS(WIN) + #include + #include Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_WebKit_Source_web_web.gyp =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_WebKit_Source_web_web.gyp +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_WebKit_Source_web_web.gyp @@ -0,0 +1,11 @@ +--- src/3rdparty/chromium/third_party/WebKit/Source/web/web.gyp.orig 2017-04-19 18:03:26 UTC ++++ src/3rdparty/chromium/third_party/WebKit/Source/web/web.gyp +@@ -161,7 +161,7 @@ + '../core/core.gyp:webcore', + ], + }], +- ['OS == "linux"', { ++ ['OS == "linux" or os_bsd == 1', { + 'dependencies': [ + '<(DEPTH)/build/linux/system.gyp:fontconfig', + ], Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_WebKit_Source_wtf_ByteSwap.h =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_WebKit_Source_wtf_ByteSwap.h +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_WebKit_Source_wtf_ByteSwap.h @@ -0,0 +1,18 @@ +--- src/3rdparty/chromium/third_party/WebKit/Source/wtf/ByteSwap.h.orig 2017-04-11 14:08:45 UTC ++++ src/3rdparty/chromium/third_party/WebKit/Source/wtf/ByteSwap.h +@@ -52,9 +52,15 @@ ALWAYS_INLINE uint16_t bswap16(uint16_t x) { return _b + + #else + ++#ifndef bswap64 + ALWAYS_INLINE uint64_t bswap64(uint64_t x) { return __builtin_bswap64(x); } ++#endif ++#ifndef bswap32 + ALWAYS_INLINE uint32_t bswap32(uint32_t x) { return __builtin_bswap32(x); } ++#endif ++#ifndef bswap16 + ALWAYS_INLINE uint16_t bswap16(uint16_t x) { return __builtin_bswap16(x); } ++#endif + + #endif + Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_ffmpeg_libavutil_mem.c =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_ffmpeg_libavutil_mem.c +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_ffmpeg_libavutil_mem.c @@ -0,0 +1,12 @@ +--- src/3rdparty/chromium/third_party/ffmpeg/libavutil/mem.c.orig 2017-04-28 19:55:07 UTC ++++ src/3rdparty/chromium/third_party/ffmpeg/libavutil/mem.c +@@ -32,9 +32,6 @@ + #include + #include + #include +-#if HAVE_MALLOC_H +-#include +-#endif + + #include "avassert.h" + #include "avutil.h" Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_libjingle_libjingle.gyp =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_libjingle_libjingle.gyp +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_libjingle_libjingle.gyp @@ -0,0 +1,11 @@ +--- src/3rdparty/chromium/third_party/libjingle/libjingle.gyp.orig 2017-04-11 14:08:45 UTC ++++ src/3rdparty/chromium/third_party/libjingle/libjingle.gyp +@@ -395,7 +395,7 @@ + ], + 'conditions': [ + # TODO(mallinath) - Enable SCTP for iOS. +- ['OS!="ios"', { ++ ['OS!="ios" and os_bsd!=1', { + 'defines': [ + 'HAVE_SCTP', + ], Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_ots_include_opentype-sanitiser.h =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_ots_include_opentype-sanitiser.h +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_ots_include_opentype-sanitiser.h @@ -0,0 +1,12 @@ +Already fixed upstream: +https://github.com/khaledhosny/ots/commit/5d82ccd35fa61f605a43a5433625e379ca0f4018 +--- src/3rdparty/chromium/third_party/ots/include/opentype-sanitiser.h.orig 2017-04-11 14:08:45 UTC ++++ src/3rdparty/chromium/third_party/ots/include/opentype-sanitiser.h +@@ -22,6 +22,7 @@ typedef unsigned __int64 uint64_t; + #else + #include + #include ++#include + #endif + + #include Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_sfntly_src_cpp_src_sfntly_table_core_cmap__table.cc =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_sfntly_src_cpp_src_sfntly_table_core_cmap__table.cc +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_sfntly_src_cpp_src_sfntly_table_core_cmap__table.cc @@ -0,0 +1,47 @@ +--- src/3rdparty/chromium/third_party/sfntly/src/cpp/src/sfntly/table/core/cmap_table.cc.orig 2017-04-11 14:08:45 UTC ++++ src/3rdparty/chromium/third_party/sfntly/src/cpp/src/sfntly/table/core/cmap_table.cc +@@ -439,7 +439,7 @@ CMapTable::CMapFormat0::Builder::Builder( + } + + CMapTable::CMapFormat0::Builder::Builder(const CMapId& cmap_id) +- : CMap::Builder(reinterpret_cast(NULL), ++ : CMap::Builder(static_cast(NULL), + CMapFormat::kFormat0, + cmap_id) { + } +@@ -563,7 +563,7 @@ CMapTable::CMapFormat2::Builder::Builder(WritableFontD + : CMapTable::CMap::Builder(data ? down_cast( + data->Slice(offset, data->ReadUShort( + offset + Offset::kFormat0Length))) +- : reinterpret_cast(NULL), ++ : static_cast(NULL), + CMapFormat::kFormat2, cmap_id) { + // TODO(arthurhsu): FIXIT: heavy lifting and leak, need fix. + } +@@ -574,7 +574,7 @@ CMapTable::CMapFormat2::Builder::Builder(ReadableFontD + : CMapTable::CMap::Builder(data ? down_cast( + data->Slice(offset, data->ReadUShort( + offset + Offset::kFormat0Length))) +- : reinterpret_cast(NULL), ++ : static_cast(NULL), + CMapFormat::kFormat2, cmap_id) { + // TODO(arthurhsu): FIXIT: heavy lifting and leak, need fix. + } +@@ -958,7 +958,7 @@ CMapTable::CMapFormat4::Builder::Builder(WritableFontD + CMapTable::CMapFormat4::Builder::Builder(SegmentList* segments, + IntegerList* glyph_id_array, + const CMapId& cmap_id) +- : CMap::Builder(reinterpret_cast(NULL), ++ : CMap::Builder(static_cast(NULL), + CMapFormat::kFormat4, cmap_id), + segments_(segments->begin(), segments->end()), + glyph_id_array_(glyph_id_array->begin(), glyph_id_array->end()) { +@@ -966,7 +966,7 @@ CMapTable::CMapFormat4::Builder::Builder(SegmentList* + } + + CMapTable::CMapFormat4::Builder::Builder(const CMapId& cmap_id) +- : CMap::Builder(reinterpret_cast(NULL), ++ : CMap::Builder(static_cast(NULL), + CMapFormat::kFormat4, cmap_id) { + } + Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_webrtc_base_platform__thread.cc =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_webrtc_base_platform__thread.cc +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_webrtc_base_platform__thread.cc @@ -0,0 +1,29 @@ +--- src/3rdparty/chromium/third_party/webrtc/base/platform_thread.cc.orig 2016-11-07 14:46:18 UTC ++++ src/3rdparty/chromium/third_party/webrtc/base/platform_thread.cc +@@ -12,6 +12,8 @@ + + #include "webrtc/base/checks.h" + ++#include ++ + #if defined(WEBRTC_LINUX) + #include + #include +@@ -30,6 +32,8 @@ PlatformThreadId CurrentThreadId() { + ret = syscall(__NR_gettid); + #elif defined(WEBRTC_ANDROID) + ret = gettid(); ++#elif defined(BSD) ++ ret = pthread_getthreadid_np(); + #else + // Default implementation for nacl and solaris. + ret = reinterpret_cast(pthread_self()); +@@ -73,6 +77,8 @@ void SetCurrentThreadName(const char* na + prctl(PR_SET_NAME, reinterpret_cast(name)); + #elif defined(WEBRTC_MAC) || defined(WEBRTC_IOS) + pthread_setname_np(name); ++#elif defined(BSD) ++ pthread_set_name_np(pthread_self(), name); + #endif + } + Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_webrtc_base_taskrunner.cc =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_webrtc_base_taskrunner.cc +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_webrtc_base_taskrunner.cc @@ -0,0 +1,11 @@ +--- src/3rdparty/chromium/third_party/webrtc/base/taskrunner.cc.orig 2016-11-07 14:46:18 UTC ++++ src/3rdparty/chromium/third_party/webrtc/base/taskrunner.cc +@@ -102,7 +102,7 @@ void TaskRunner::InternalRunTasks(bool i + std::vector::iterator it; + it = std::remove(tasks_.begin(), + tasks_.end(), +- reinterpret_cast(NULL)); ++ static_cast(NULL)); + + tasks_.erase(it, tasks_.end()); + Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_webrtc_build_common.gypi =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_webrtc_build_common.gypi +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_webrtc_build_common.gypi @@ -0,0 +1,18 @@ +Define WEBRTC_BSD, to better handle FreeBSD in the sources. + +Copied from www/chromium. + +--- src/3rdparty/chromium/third_party/webrtc/build/common.gypi.orig 2016-11-07 14:46:18 UTC ++++ src/3rdparty/chromium/third_party/webrtc/build/common.gypi +@@ -352,6 +352,11 @@ + 'WEBRTC_LINUX', + ], + }], ++ ['os_bsd==1', { ++ 'defines': [ ++ 'BSD', ++ ], ++ }], + ['OS=="mac"', { + 'defines': [ + 'WEBRTC_MAC', Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_webrtc_modules_rtp__rtcp_source_rtp__utility.cc =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_webrtc_modules_rtp__rtcp_source_rtp__utility.cc +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_webrtc_modules_rtp__rtcp_source_rtp__utility.cc @@ -0,0 +1,11 @@ +--- src/3rdparty/chromium/third_party/webrtc/modules/rtp_rtcp/source/rtp_utility.cc.orig 2017-04-20 13:10:18 UTC ++++ src/3rdparty/chromium/third_party/webrtc/modules/rtp_rtcp/source/rtp_utility.cc +@@ -57,7 +57,7 @@ bool StringCompare(const char* str1, con + const uint32_t length) { + return _strnicmp(str1, str2, length) == 0; + } +-#elif defined(WEBRTC_LINUX) || defined(WEBRTC_MAC) ++#elif defined(WEBRTC_LINUX) || defined(WEBRTC_MAC) || defined(BSD) + bool StringCompare(const char* str1, const char* str2, + const uint32_t length) { + return strncasecmp(str1, str2, length) == 0; Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_webrtc_modules_video__capture_device__info__impl.cc =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_webrtc_modules_video__capture_device__info__impl.cc +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_webrtc_modules_video__capture_device__info__impl.cc @@ -0,0 +1,10 @@ +--- src/3rdparty/chromium/third_party/webrtc/modules/video_capture/device_info_impl.cc.orig 2017-04-19 18:46:33 UTC ++++ src/3rdparty/chromium/third_party/webrtc/modules/video_capture/device_info_impl.cc +@@ -11,6 +11,7 @@ + #include + #include + ++#include "webrtc/base/stringutils.h" + #include "webrtc/modules/video_capture/device_info_impl.h" + #include "webrtc/modules/video_capture/video_capture_config.h" + #include "webrtc/system_wrappers/include/logging.h" Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_webrtc_system__wrappers_source_atomic32__posix.cc =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_webrtc_system__wrappers_source_atomic32__posix.cc +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_webrtc_system__wrappers_source_atomic32__posix.cc @@ -0,0 +1,10 @@ +--- src/3rdparty/chromium/third_party/webrtc/system_wrappers/source/atomic32_posix.cc.orig 2016-11-07 14:46:18 UTC ++++ src/3rdparty/chromium/third_party/webrtc/system_wrappers/source/atomic32_posix.cc +@@ -12,7 +12,6 @@ + + #include + #include +-#include + + #include "webrtc/common_types.h" + Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_webrtc_system__wrappers_source_condition__variable.cc =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_webrtc_system__wrappers_source_condition__variable.cc +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_webrtc_system__wrappers_source_condition__variable.cc @@ -0,0 +1,20 @@ +--- src/3rdparty/chromium/third_party/webrtc/system_wrappers/source/condition_variable.cc.orig 2017-04-19 18:46:43 UTC ++++ src/3rdparty/chromium/third_party/webrtc/system_wrappers/source/condition_variable.cc +@@ -14,7 +14,7 @@ + #include + #include "webrtc/system_wrappers/source/condition_variable_event_win.h" + #include "webrtc/system_wrappers/source/condition_variable_native_win.h" +-#elif defined(WEBRTC_LINUX) || defined(WEBRTC_MAC) ++#elif defined(WEBRTC_LINUX) || defined(WEBRTC_MAC) || defined(BSD) + #include + #include "webrtc/system_wrappers/source/condition_variable_posix.h" + #endif +@@ -31,7 +31,7 @@ ConditionVariableWrapper* ConditionVaria + ret_val = new ConditionVariableEventWin(); + } + return ret_val; +-#elif defined(WEBRTC_LINUX) || defined(WEBRTC_MAC) ++#elif defined(WEBRTC_LINUX) || defined(WEBRTC_MAC) || defined(BSD) + return ConditionVariablePosix::Create(); + #else + return NULL; Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_webrtc_voice__engine_voice__engine__defines.h =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_webrtc_voice__engine_voice__engine__defines.h +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_webrtc_voice__engine_voice__engine__defines.h @@ -0,0 +1,25 @@ +--- src/3rdparty/chromium/third_party/webrtc/voice_engine/voice_engine_defines.h.orig 2016-11-07 14:46:18 UTC ++++ src/3rdparty/chromium/third_party/webrtc/voice_engine/voice_engine_defines.h +@@ -203,19 +203,21 @@ inline int VoEChannelId(int moduleId) { + + // *** LINUX *** + +-#ifdef WEBRTC_LINUX ++#if defined(WEBRTC_LINUX) || defined(BSD) + + #include + #include + #include + #include + #include ++#ifndef BSD + #ifndef QNX + #include + #ifndef ANDROID + #include + #endif // ANDROID + #endif // QNX ++#endif // BSD + #include + #include + #include Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_ui_events_event__switches.h =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_ui_events_event__switches.h +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_ui_events_event__switches.h @@ -0,0 +1,11 @@ +--- src/3rdparty/chromium/ui/events/event_switches.h.orig 2017-04-11 14:08:45 UTC ++++ src/3rdparty/chromium/ui/events/event_switches.h +@@ -18,7 +18,7 @@ EVENTS_BASE_EXPORT extern const char kTouchEventsEnabl + EVENTS_BASE_EXPORT extern const char kTouchEventsDisabled[]; + EVENTS_BASE_EXPORT extern const char kCompensateForUnstablePinchZoom[]; + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_FREEBSD) + EVENTS_BASE_EXPORT extern const char kTouchDevices[]; + #endif + Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_ui_events_event__switches.cc =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_ui_events_event__switches.cc +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_ui_events_event__switches.cc @@ -0,0 +1,11 @@ +--- src/3rdparty/chromium/ui/events/event_switches.cc.orig 2017-04-19 09:39:54 UTC ++++ src/3rdparty/chromium/ui/events/event_switches.cc +@@ -28,7 +28,7 @@ const char kTouchEventsDisabled[] = "dis + const char kCompensateForUnstablePinchZoom[] = + "compensate-for-unstable-pinch-zoom"; + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_FREEBSD) + // Tells chrome to interpret events from these devices as touch events. Only + // available with XInput 2 (i.e. X server 1.8 or above). The id's of the + // devices can be retrieved from 'xinput list'. Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_ui_gl_gl.gyp =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_ui_gl_gl.gyp +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_ui_gl_gl.gyp @@ -0,0 +1,20 @@ +--- src/3rdparty/chromium/ui/gl/gl.gyp.orig 2017-04-11 14:08:45 UTC ++++ src/3rdparty/chromium/ui/gl/gl.gyp +@@ -132,7 +132,7 @@ + 'trace_util.h', + ], + 'conditions': [ +- ['OS in ("win", "android", "linux")', { ++ ['OS in ("win", "android", "linux", "freebsd")', { + 'sources': [ + 'egl_util.cc', + 'egl_util.h', +@@ -150,7 +150,7 @@ + 'gl_surface_egl.h', + ], + }], +- ['OS in ("android", "linux")', { ++ ['OS in ("android", "linux", "freebsd")', { + 'sources': [ + 'gl_implementation_osmesa.cc', + 'gl_implementation_osmesa.h', Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_v8_src_crankshaft_lithium.h =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_v8_src_crankshaft_lithium.h +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_v8_src_crankshaft_lithium.h @@ -0,0 +1,14 @@ +--- src/3rdparty/chromium/v8/src/crankshaft/lithium.h.orig 2017-04-11 14:08:45 UTC ++++ src/3rdparty/chromium/v8/src/crankshaft/lithium.h +@@ -344,6 +344,11 @@ LITHIUM_OPERAND_LIST(LITHIUM_TYPEDEF_SUBKIND_OPERAND_C + #undef LITHIUM_TYPEDEF_SUBKIND_OPERAND_CLASS + + ++template ++LSubKindOperand* ++LSubKindOperand::cache = NULL; ++ ++ + class LParallelMove final : public ZoneObject { + public: + explicit LParallelMove(Zone* zone) : move_operands_(4, zone) { } Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_v8_src_crankshaft_lithium.cc =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_v8_src_crankshaft_lithium.cc +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_v8_src_crankshaft_lithium.cc @@ -0,0 +1,14 @@ +--- src/3rdparty/chromium/v8/src/crankshaft/lithium.cc.orig 2017-04-11 14:08:45 UTC ++++ src/3rdparty/chromium/v8/src/crankshaft/lithium.cc +@@ -125,11 +125,6 @@ void LOperand::PrintTo(StringStream* stream) { + + + template +-LSubKindOperand* +-LSubKindOperand::cache = NULL; +- +- +-template + void LSubKindOperand::SetUpCache() { + if (cache) return; + cache = new LSubKindOperand[kNumCachedOperands]; Index: www/qt5-webengine/files/patch-src_core_core__common.pri =================================================================== --- www/qt5-webengine/files/patch-src_core_core__common.pri +++ www/qt5-webengine/files/patch-src_core_core__common.pri @@ -0,0 +1,13 @@ +Do not pass --no-undefined to the linker, Chromium uses `environ'. +--- src/core/core_common.pri.orig 2017-04-18 20:27:53 UTC ++++ src/core/core_common.pri +@@ -5,6 +5,9 @@ TARGET = QtWebEngineCore + QT += qml quick webchannel + QT_PRIVATE += quick-private gui-private core-private webenginecoreheaders-private + ++# The code uses environ, so we cannot pass --no-undefined to the linker. ++freebsd: QMAKE_LFLAGS_NOUNDEF = ++ + # Make QtCreator happy. + CHROMIUM_SRC_DIR = $$QTWEBENGINE_ROOT/$$getChromiumSrcDir() + INCLUDEPATH += $$CHROMIUM_SRC_DIR Index: www/qt5-webengine/files/patch-src_core_core__module.pro =================================================================== --- www/qt5-webengine/files/patch-src_core_core__module.pro +++ www/qt5-webengine/files/patch-src_core_core__module.pro @@ -0,0 +1,13 @@ +Generate split out debug files on FreeBSD too. + +--- src/core/core_module.pro.orig 2017-04-20 22:41:02 UTC ++++ src/core/core_module.pro +@@ -42,7 +42,7 @@ CONFIG -= bsymbolic_functions + + contains(QT_CONFIG, egl): CONFIG += egl + +-linux: contains(QT_CONFIG, separate_debug_info): QMAKE_POST_LINK="cd $(DESTDIR) && $(STRIP) --strip-unneeded $(TARGET)" ++unix: contains(QT_CONFIG, separate_debug_info): QMAKE_POST_LINK="cd $(DESTDIR) && $(STRIP) --strip-unneeded $(TARGET)" + + REPACK_DIR = $$OUT_PWD/$$getConfigDir()/gen/repack + # Duplicated from resources/resources.gyp Index: www/qt5-webengine/files/patch-src_core_gyp__run.pro =================================================================== --- www/qt5-webengine/files/patch-src_core_gyp__run.pro +++ www/qt5-webengine/files/patch-src_core_gyp__run.pro @@ -0,0 +1,13 @@ +Include the freebsd.pri file provided by the port, to pass FreeBSD specific +settings to gyp. + +--- src/core/gyp_run.pro.orig 2017-04-11 14:08:46 UTC ++++ src/core/gyp_run.pro +@@ -15,6 +15,7 @@ cross_compile { + linux: include(config/desktop_linux.pri) + mac: include(config/mac_osx.pri) + win32: include(config/windows.pri) ++ freebsd: include(config/freebsd.pri) + } + GYP_CONFIG += qtwe_process_name_debug=$$QTWEBENGINEPROCESS_NAME_DEBUG + GYP_CONFIG += qtwe_process_name_release=$$QTWEBENGINEPROCESS_NAME_RELEASE Index: www/qt5-webengine/files/patch-src_core_qtwebengine.gypi =================================================================== --- www/qt5-webengine/files/patch-src_core_qtwebengine.gypi +++ www/qt5-webengine/files/patch-src_core_qtwebengine.gypi @@ -0,0 +1,11 @@ +--- src/core/qtwebengine.gypi.orig 2017-04-19 08:40:53 UTC ++++ src/core/qtwebengine.gypi +@@ -109,7 +109,7 @@ + # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. + 'msvs_disabled_warnings': [ 4267, 4996, ], + }], # OS=="win" +- ['OS=="linux"', { ++ ['os_posix==1', { + 'dependencies': [ + '<(chromium_src_dir)/build/linux/system.gyp:fontconfig', + ], Index: www/qt5-webengine/files/patch-tools-qmake-config.tests-enable-on-FreeBSD =================================================================== --- www/qt5-webengine/files/patch-tools-qmake-config.tests-enable-on-FreeBSD +++ www/qt5-webengine/files/patch-tools-qmake-config.tests-enable-on-FreeBSD @@ -0,0 +1,22 @@ +--- tools/qmake/config.tests/khr/khr.pro.orig 2017-04-19 08:32:39 UTC ++++ tools/qmake/config.tests/khr/khr.pro +@@ -3,4 +3,4 @@ + + CONFIG-=qt + +-linux:SOURCES += khr.cpp ++SOURCES += khr.cpp +--- tools/qmake/config.tests/snappy/snappy.pro.orig 2017-04-11 14:08:45 UTC ++++ tools/qmake/config.tests/snappy/snappy.pro +@@ -1,3 +1,3 @@ +-linux:SOURCES += snappy.cpp ++SOURCES += snappy.cpp + LIBS += -lsnappy + CONFIG -= qt +--- tools/qmake/config.tests/srtp/srtp.pro.orig 2017-04-11 14:08:45 UTC ++++ tools/qmake/config.tests/srtp/srtp.pro +@@ -1,3 +1,3 @@ +-linux:SOURCES += srtp.cpp ++SOURCES += srtp.cpp + LIBS += -lsrtp + CONFIG -= qt Index: www/qt5-webengine/files/patch-tools_qmake_mkspecs_features_configure.prf =================================================================== --- www/qt5-webengine/files/patch-tools_qmake_mkspecs_features_configure.prf +++ www/qt5-webengine/files/patch-tools_qmake_mkspecs_features_configure.prf @@ -0,0 +1,29 @@ +--- tools/qmake/mkspecs/features/configure.prf.orig 2017-04-19 08:37:44 UTC ++++ tools/qmake/mkspecs/features/configure.prf +@@ -4,7 +4,7 @@ load(functions) + + defineTest(runConfigure) { + webengine_successfully_configured: return(true) +- linux:contains(QT_CONFIG,no-pkg-config) { ++ unix:contains(QT_CONFIG,no-pkg-config) { + skipBuild("pkg-config is required") + return(false) + } +@@ -20,7 +20,7 @@ defineTest(runConfigure) { + qtCompileTest($$test) + } + +- linux { ++ unix { + !config_khr:skipBuild("khronos development headers appear to be missing (mesa/libegl1-mesa-dev)") + + REQUIRED_PACKAGES = dbus-1 fontconfig +@@ -78,7 +78,7 @@ defineTest(runConfigure) { + # This is called from default_post, at which point we've also parsed + # command line options + defineTest(finalizeConfigure) { +- linux { ++ unix { + use?(nss) { + log("Certificate handling.............. Using system NSS$${EOL}") + } else { Index: www/qt5-webengine/files/patch-tools_qmake_mkspecs_features_functions.prf =================================================================== --- www/qt5-webengine/files/patch-tools_qmake_mkspecs_features_functions.prf +++ www/qt5-webengine/files/patch-tools_qmake_mkspecs_features_functions.prf @@ -0,0 +1,11 @@ +Allow qt5-webengine to be built on FreeBSD with clang + +--- tools/qmake/mkspecs/features/functions.prf.orig 2017-04-11 14:08:45 UTC ++++ tools/qmake/mkspecs/features/functions.prf +@@ -1,5 +1,5 @@ + defineTest(isPlatformSupported) { +- linux { ++ unix { + !gcc:!clang { + skipBuild("Qt WebEngine on Linux requires clang or GCC.") + return(false) Index: www/qt5-webengine/pkg-plist =================================================================== --- www/qt5-webengine/pkg-plist +++ www/qt5-webengine/pkg-plist @@ -0,0 +1,195 @@ +%%QT_INCDIR%%/QtWebEngine/%%FULLVER%%/QtWebEngine/private/qquickwebenginecertificateerror_p.h +%%QT_INCDIR%%/QtWebEngine/%%FULLVER%%/QtWebEngine/private/qquickwebenginecontextmenudata_p.h +%%QT_INCDIR%%/QtWebEngine/%%FULLVER%%/QtWebEngine/private/qquickwebenginedownloaditem_p.h +%%QT_INCDIR%%/QtWebEngine/%%FULLVER%%/QtWebEngine/private/qquickwebenginedownloaditem_p_p.h +%%QT_INCDIR%%/QtWebEngine/%%FULLVER%%/QtWebEngine/private/qquickwebenginefaviconprovider_p_p.h +%%QT_INCDIR%%/QtWebEngine/%%FULLVER%%/QtWebEngine/private/qquickwebenginehistory_p.h +%%QT_INCDIR%%/QtWebEngine/%%FULLVER%%/QtWebEngine/private/qquickwebenginehistory_p_p.h +%%QT_INCDIR%%/QtWebEngine/%%FULLVER%%/QtWebEngine/private/qquickwebengineloadrequest_p.h +%%QT_INCDIR%%/QtWebEngine/%%FULLVER%%/QtWebEngine/private/qquickwebenginenavigationrequest_p.h +%%QT_INCDIR%%/QtWebEngine/%%FULLVER%%/QtWebEngine/private/qquickwebenginenewviewrequest_p.h +%%QT_INCDIR%%/QtWebEngine/%%FULLVER%%/QtWebEngine/private/qquickwebengineprofile_p.h +%%QT_INCDIR%%/QtWebEngine/%%FULLVER%%/QtWebEngine/private/qquickwebenginescript_p.h +%%QT_INCDIR%%/QtWebEngine/%%FULLVER%%/QtWebEngine/private/qquickwebenginescript_p_p.h +%%QT_INCDIR%%/QtWebEngine/%%FULLVER%%/QtWebEngine/private/qquickwebenginesettings_p.h +%%QT_INCDIR%%/QtWebEngine/%%FULLVER%%/QtWebEngine/private/qquickwebenginesingleton_p.h +%%QT_INCDIR%%/QtWebEngine/%%FULLVER%%/QtWebEngine/private/qquickwebenginetestsupport_p.h +%%QT_INCDIR%%/QtWebEngine/%%FULLVER%%/QtWebEngine/private/qquickwebengineview_p.h +%%QT_INCDIR%%/QtWebEngine/%%FULLVER%%/QtWebEngine/private/qquickwebengineview_p_p.h +%%QT_INCDIR%%/QtWebEngine/%%FULLVER%%/QtWebEngine/private/qtwebengineglobal_p.h +%%QT_INCDIR%%/QtWebEngine/QQuickWebEngineProfile +%%QT_INCDIR%%/QtWebEngine/QtWebEngine +%%QT_INCDIR%%/QtWebEngine/QtWebEngineDepends +%%QT_INCDIR%%/QtWebEngine/QtWebEngineVersion +%%QT_INCDIR%%/QtWebEngine/qquickwebengineprofile.h +%%QT_INCDIR%%/QtWebEngine/qtwebengineglobal.h +%%QT_INCDIR%%/QtWebEngine/qtwebengineversion.h +%%QT_INCDIR%%/QtWebEngineCore/%%FULLVER%%/QtWebEngineCore/private/qtwebenginecoreglobal_p.h +%%QT_INCDIR%%/QtWebEngineCore/%%FULLVER%%/QtWebEngineCore/private/qwebenginecallback_p.h +%%QT_INCDIR%%/QtWebEngineCore/%%FULLVER%%/QtWebEngineCore/private/qwebenginecookiestore_p.h +%%QT_INCDIR%%/QtWebEngineCore/%%FULLVER%%/QtWebEngineCore/private/qwebengineurlrequestinfo_p.h +%%QT_INCDIR%%/QtWebEngineCore/QWebEngineCallback +%%QT_INCDIR%%/QtWebEngineCore/QWebEngineCookieStore +%%QT_INCDIR%%/QtWebEngineCore/QWebEngineUrlRequestInfo +%%QT_INCDIR%%/QtWebEngineCore/QWebEngineUrlRequestInterceptor +%%QT_INCDIR%%/QtWebEngineCore/QWebEngineUrlRequestJob +%%QT_INCDIR%%/QtWebEngineCore/QWebEngineUrlSchemeHandler +%%QT_INCDIR%%/QtWebEngineCore/QtWebEngineCore +%%QT_INCDIR%%/QtWebEngineCore/QtWebEngineCoreDepends +%%QT_INCDIR%%/QtWebEngineCore/QtWebEngineCoreVersion +%%QT_INCDIR%%/QtWebEngineCore/qtwebenginecoreglobal.h +%%QT_INCDIR%%/QtWebEngineCore/qtwebenginecoreversion.h +%%QT_INCDIR%%/QtWebEngineCore/qwebenginecallback.h +%%QT_INCDIR%%/QtWebEngineCore/qwebenginecookiestore.h +%%QT_INCDIR%%/QtWebEngineCore/qwebengineurlrequestinfo.h +%%QT_INCDIR%%/QtWebEngineCore/qwebengineurlrequestinterceptor.h +%%QT_INCDIR%%/QtWebEngineCore/qwebengineurlrequestjob.h +%%QT_INCDIR%%/QtWebEngineCore/qwebengineurlschemehandler.h +%%QT_INCDIR%%/QtWebEngineWidgets/%%FULLVER%%/QtWebEngineWidgets/private/qwebenginedownloaditem_p.h +%%QT_INCDIR%%/QtWebEngineWidgets/%%FULLVER%%/QtWebEngineWidgets/private/qwebenginehistory_p.h +%%QT_INCDIR%%/QtWebEngineWidgets/%%FULLVER%%/QtWebEngineWidgets/private/qwebenginepage_p.h +%%QT_INCDIR%%/QtWebEngineWidgets/%%FULLVER%%/QtWebEngineWidgets/private/qwebengineprofile_p.h +%%QT_INCDIR%%/QtWebEngineWidgets/%%FULLVER%%/QtWebEngineWidgets/private/qwebenginescriptcollection_p.h +%%QT_INCDIR%%/QtWebEngineWidgets/%%FULLVER%%/QtWebEngineWidgets/private/qwebengineview_p.h +%%QT_INCDIR%%/QtWebEngineWidgets/QWebEngineCertificateError +%%QT_INCDIR%%/QtWebEngineWidgets/QWebEngineContextMenuData +%%QT_INCDIR%%/QtWebEngineWidgets/QWebEngineDownloadItem +%%QT_INCDIR%%/QtWebEngineWidgets/QWebEngineFullScreenRequest +%%QT_INCDIR%%/QtWebEngineWidgets/QWebEngineHistory +%%QT_INCDIR%%/QtWebEngineWidgets/QWebEngineHistoryItem +%%QT_INCDIR%%/QtWebEngineWidgets/QWebEnginePage +%%QT_INCDIR%%/QtWebEngineWidgets/QWebEngineProfile +%%QT_INCDIR%%/QtWebEngineWidgets/QWebEngineScript +%%QT_INCDIR%%/QtWebEngineWidgets/QWebEngineScriptCollection +%%QT_INCDIR%%/QtWebEngineWidgets/QWebEngineSettings +%%QT_INCDIR%%/QtWebEngineWidgets/QWebEngineView +%%QT_INCDIR%%/QtWebEngineWidgets/QtWebEngineWidgets +%%QT_INCDIR%%/QtWebEngineWidgets/QtWebEngineWidgetsDepends +%%QT_INCDIR%%/QtWebEngineWidgets/QtWebEngineWidgetsVersion +%%QT_INCDIR%%/QtWebEngineWidgets/qtwebenginewidgetsglobal.h +%%QT_INCDIR%%/QtWebEngineWidgets/qtwebenginewidgetsversion.h +%%QT_INCDIR%%/QtWebEngineWidgets/qwebenginecertificateerror.h +%%QT_INCDIR%%/QtWebEngineWidgets/qwebenginecontextmenudata.h +%%QT_INCDIR%%/QtWebEngineWidgets/qwebenginedownloaditem.h +%%QT_INCDIR%%/QtWebEngineWidgets/qwebenginefullscreenrequest.h +%%QT_INCDIR%%/QtWebEngineWidgets/qwebenginehistory.h +%%QT_INCDIR%%/QtWebEngineWidgets/qwebenginepage.h +%%QT_INCDIR%%/QtWebEngineWidgets/qwebengineprofile.h +%%QT_INCDIR%%/QtWebEngineWidgets/qwebenginescript.h +%%QT_INCDIR%%/QtWebEngineWidgets/qwebenginescriptcollection.h +%%QT_INCDIR%%/QtWebEngineWidgets/qwebenginesettings.h +%%QT_INCDIR%%/QtWebEngineWidgets/qwebengineview.h +%%QT_CMAKEDIR%%/Qt5Designer/Qt5Designer_QWebEngineViewPlugin.cmake +%%QT_CMAKEDIR%%/Qt5WebEngine/Qt5WebEngineConfig.cmake +%%QT_CMAKEDIR%%/Qt5WebEngine/Qt5WebEngineConfigVersion.cmake +%%QT_CMAKEDIR%%/Qt5WebEngineCore/Qt5WebEngineCoreConfig.cmake +%%QT_CMAKEDIR%%/Qt5WebEngineCore/Qt5WebEngineCoreConfigVersion.cmake +%%QT_CMAKEDIR%%/Qt5WebEngineWidgets/Qt5WebEngineWidgetsConfig.cmake +%%QT_CMAKEDIR%%/Qt5WebEngineWidgets/Qt5WebEngineWidgetsConfigVersion.cmake +%%QT_LIBDIR%%/libQt5WebEngine.prl +%%QT_LIBDIR%%/libQt5WebEngine.so +%%QT_LIBDIR%%/libQt5WebEngine.so.5 +%%QT_LIBDIR%%/libQt5WebEngine.so.%%SHORTVER%% +%%QT_LIBDIR%%/libQt5WebEngine.so.%%FULLVER%% +%%DEBUG%%%%QT_LIBDIR%%/libQt5WebEngine.so.%%FULLVER%%.debug +%%QT_LIBDIR%%/libQt5WebEngineCore.prl +%%QT_LIBDIR%%/libQt5WebEngineCore.so +%%QT_LIBDIR%%/libQt5WebEngineCore.so.5 +%%QT_LIBDIR%%/libQt5WebEngineCore.so.%%SHORTVER%% +%%QT_LIBDIR%%/libQt5WebEngineCore.so.%%FULLVER%% +%%DEBUG%%%%QT_LIBDIR%%/libQt5WebEngineCore.so.%%FULLVER%%.debug +%%QT_LIBDIR%%/libQt5WebEngineWidgets.prl +%%QT_LIBDIR%%/libQt5WebEngineWidgets.so +%%QT_LIBDIR%%/libQt5WebEngineWidgets.so.5 +%%QT_LIBDIR%%/libQt5WebEngineWidgets.so.%%SHORTVER%% +%%QT_LIBDIR%%/libQt5WebEngineWidgets.so.%%FULLVER%% +%%DEBUG%%%%QT_LIBDIR%%/libQt5WebEngineWidgets.so.%%FULLVER%%.debug +%%QT_MKSPECDIR%%/modules/qt_lib_webengine.pri +%%QT_MKSPECDIR%%/modules/qt_lib_webengine_private.pri +%%QT_MKSPECDIR%%/modules/qt_lib_webenginecore.pri +%%QT_MKSPECDIR%%/modules/qt_lib_webenginecore_private.pri +%%QT_MKSPECDIR%%/modules/qt_lib_webenginecoreheaders_private.pri +%%QT_MKSPECDIR%%/modules/qt_lib_webenginewidgets.pri +%%QT_MKSPECDIR%%/modules/qt_lib_webenginewidgets_private.pri +%%QT_PLUGINDIR%%/designer/libqwebengineview.so +%%DEBUG%%%%QT_PLUGINDIR%%/designer/libqwebengineview.so.debug +%%QT_QMLDIR%%/QtWebEngine/UIDelegates/AlertDialog.qml +%%QT_QMLDIR%%/QtWebEngine/UIDelegates/AuthenticationDialog.qml +%%QT_QMLDIR%%/QtWebEngine/UIDelegates/ColorDialog.qml +%%QT_QMLDIR%%/QtWebEngine/UIDelegates/ConfirmDialog.qml +%%QT_QMLDIR%%/QtWebEngine/UIDelegates/FilePicker.qml +%%QT_QMLDIR%%/QtWebEngine/UIDelegates/Menu.qml +%%QT_QMLDIR%%/QtWebEngine/UIDelegates/MenuItem.qml +%%QT_QMLDIR%%/QtWebEngine/UIDelegates/MenuSeparator.qml +%%QT_QMLDIR%%/QtWebEngine/UIDelegates/MessageBubble.qml +%%QT_QMLDIR%%/QtWebEngine/UIDelegates/PromptDialog.qml +%%QT_QMLDIR%%/QtWebEngine/UIDelegates/qmldir +%%QT_QMLDIR%%/QtWebEngine/experimental/libqtwebengineexperimentalplugin.so +%%DEBUG%%%%QT_QMLDIR%%/QtWebEngine/experimental/libqtwebengineexperimentalplugin.so.debug +%%QT_QMLDIR%%/QtWebEngine/experimental/qmldir +%%QT_QMLDIR%%/QtWebEngine/libqtwebengineplugin.so +%%DEBUG%%%%QT_QMLDIR%%/QtWebEngine/libqtwebengineplugin.so.debug +%%QT_QMLDIR%%/QtWebEngine/plugins.qmltypes +%%QT_QMLDIR%%/QtWebEngine/qmldir +libdata/pkgconfig/Qt5WebEngine.pc +libdata/pkgconfig/Qt5WebEngineCore.pc +libdata/pkgconfig/Qt5WebEngineWidgets.pc +%%QT_LIBEXECDIR%%/QtWebEngineProcess +%%QT_DATADIR%%/resources/icudtl.dat +%%QT_DATADIR%%/resources/qtwebengine_devtools_resources.pak +%%QT_DATADIR%%/resources/qtwebengine_resources.pak +%%QT_DATADIR%%/resources/qtwebengine_resources_100p.pak +%%QT_DATADIR%%/resources/qtwebengine_resources_200p.pak +%%QT_L10NDIR%%/qtwebengine_locales/am.pak +%%QT_L10NDIR%%/qtwebengine_locales/ar.pak +%%QT_L10NDIR%%/qtwebengine_locales/bg.pak +%%QT_L10NDIR%%/qtwebengine_locales/bn.pak +%%QT_L10NDIR%%/qtwebengine_locales/ca.pak +%%QT_L10NDIR%%/qtwebengine_locales/cs.pak +%%QT_L10NDIR%%/qtwebengine_locales/da.pak +%%QT_L10NDIR%%/qtwebengine_locales/de.pak +%%QT_L10NDIR%%/qtwebengine_locales/el.pak +%%QT_L10NDIR%%/qtwebengine_locales/en-GB.pak +%%QT_L10NDIR%%/qtwebengine_locales/en-US.pak +%%QT_L10NDIR%%/qtwebengine_locales/es-419.pak +%%QT_L10NDIR%%/qtwebengine_locales/es.pak +%%QT_L10NDIR%%/qtwebengine_locales/et.pak +%%QT_L10NDIR%%/qtwebengine_locales/fa.pak +%%QT_L10NDIR%%/qtwebengine_locales/fi.pak +%%QT_L10NDIR%%/qtwebengine_locales/fil.pak +%%QT_L10NDIR%%/qtwebengine_locales/fr.pak +%%QT_L10NDIR%%/qtwebengine_locales/gu.pak +%%QT_L10NDIR%%/qtwebengine_locales/he.pak +%%QT_L10NDIR%%/qtwebengine_locales/hi.pak +%%QT_L10NDIR%%/qtwebengine_locales/hr.pak +%%QT_L10NDIR%%/qtwebengine_locales/hu.pak +%%QT_L10NDIR%%/qtwebengine_locales/id.pak +%%QT_L10NDIR%%/qtwebengine_locales/it.pak +%%QT_L10NDIR%%/qtwebengine_locales/ja.pak +%%QT_L10NDIR%%/qtwebengine_locales/kn.pak +%%QT_L10NDIR%%/qtwebengine_locales/ko.pak +%%QT_L10NDIR%%/qtwebengine_locales/lt.pak +%%QT_L10NDIR%%/qtwebengine_locales/lv.pak +%%QT_L10NDIR%%/qtwebengine_locales/ml.pak +%%QT_L10NDIR%%/qtwebengine_locales/mr.pak +%%QT_L10NDIR%%/qtwebengine_locales/ms.pak +%%QT_L10NDIR%%/qtwebengine_locales/nb.pak +%%QT_L10NDIR%%/qtwebengine_locales/nl.pak +%%QT_L10NDIR%%/qtwebengine_locales/pl.pak +%%QT_L10NDIR%%/qtwebengine_locales/pt-BR.pak +%%QT_L10NDIR%%/qtwebengine_locales/pt-PT.pak +%%QT_L10NDIR%%/qtwebengine_locales/ro.pak +%%QT_L10NDIR%%/qtwebengine_locales/ru.pak +%%QT_L10NDIR%%/qtwebengine_locales/sk.pak +%%QT_L10NDIR%%/qtwebengine_locales/sl.pak +%%QT_L10NDIR%%/qtwebengine_locales/sr.pak +%%QT_L10NDIR%%/qtwebengine_locales/sv.pak +%%QT_L10NDIR%%/qtwebengine_locales/sw.pak +%%QT_L10NDIR%%/qtwebengine_locales/ta.pak +%%QT_L10NDIR%%/qtwebengine_locales/te.pak +%%QT_L10NDIR%%/qtwebengine_locales/th.pak +%%QT_L10NDIR%%/qtwebengine_locales/tr.pak +%%QT_L10NDIR%%/qtwebengine_locales/uk.pak +%%QT_L10NDIR%%/qtwebengine_locales/vi.pak +%%QT_L10NDIR%%/qtwebengine_locales/zh-CN.pak +%%QT_L10NDIR%%/qtwebengine_locales/zh-TW.pak