Hi All! We all know QtWebkit is insecure and outdated. Unfortunately, there are many consumers, so let's try to make our ports tree a better and safer place.
Long time ago gonzalo@ pointed out annulen/webkit[0]. A short all-round view shows us that FreeBSD[1] and ArchLinux[2] use this version. You can also see that other projects use this version too: "QtWebEngine, or QtWebKit - only the updated fork (5.212) is supported" -- https://www.qutebrowser.org/ However, a few things are ugly. USE_NINJA=No, Is that okay with the bulk group? How do we do that with the version? I start with a REVISION only!? Better ideas? Switch from qtwebkit-5.9.6 to qtwebkit-5.212.0 with EPOCH? I haven't tested all consumers yet. Most patches from www/webkitgtk4. Comments, Feedback welcome Rafael Sadowski [0]: https://github.com/annulen/webkit/wiki [1]: https://www.freshports.org/www/qt5-webkit/ [2]: https://www.archlinux.org/packages/extra/x86_64/qt5-webkit/ Index: Makefile =================================================================== RCS file: /cvs/ports/x11/qt5/qtwebkit/Makefile,v retrieving revision 1.12 diff -u -p -u -p -r1.12 Makefile --- Makefile 14 Aug 2018 14:19:50 -0000 1.12 +++ Makefile 26 Aug 2018 14:09:31 -0000 @@ -1,29 +1,40 @@ # $OpenBSD: Makefile,v 1.12 2018/08/14 14:19:50 rsadowski Exp $ -QT5NAME = QtWebkit -REVISION = 6 -COMMENT = old Webkit integration framework for Qt +COMMENT = QtWebKit with a more modern WebKit code base USE_WXNEEDED = Yes -DPB_PROPERTIES = parallel -VERSION = ${QT5_WEBKIT_VERSION} -DIST_VERSION = ${QT5_WEBKIT_VERSION} -SHARED_LIBS += Qt5WebKit 2.1 -SHARED_LIBS += Qt5WebKitWidgets 2.1 +DISTNAME = qtwebkit-5.212.0-alpha2 +PKGNAME = qtwebkit-${VERSION} +REVISION = 0 + +SHARED_LIBS += Qt5WebKit 3.0 +SHARED_LIBS += Qt5WebKitWidgets 3.0 CATEGORIES = www -WANTLIB += ${COMPILER_LIBCXX} GL Qt5Core Qt5Gui Qt5Network Qt5OpenGL -WANTLIB += Qt5Positioning Qt5PrintSupport Qt5Qml Qt5Quick Qt5Sensors -WANTLIB += Qt5Sql Qt5WebChannel Qt5Widgets X11 Xext Xrender c -WANTLIB += gio-2.0 glib-2.0 gobject-2.0 gstapp-1.0 gstaudio-1.0 -WANTLIB += gstbase-1.0 gstpbutils-1.0 gstreamer-1.0 gstvideo-1.0 -WANTLIB += icudata icui18n icuuc intl jpeg m png sqlite3 webp -WANTLIB += xml2 xslt z +# Mostly LGPLv2.1 or LGPLv3 for code; FDLv1.3 for documentation. +# Some third-party parts are BSD-licensed. +# Also, many parts have are dual-licensed having either commercial, GPL, +# Apache 2.0 or other type of license as an alternative option. +# A few components, including QtWebEngine, are LGPLv3 only, no LGPLv2.1. +PERMIT_PACKAGE_CDROM = Yes + +WANTLIB += ${COMPILER_LIBCXX} Qt5Core Qt5Gui Qt5Network Qt5Positioning +WANTLIB += Qt5PrintSupport Qt5Qml Qt5Quick Qt5Sensors Qt5WebChannel +WANTLIB += Qt5Widgets X11 Xcomposite Xrender c gio-2.0 glib-2.0 +WANTLIB += gobject-2.0 gstapp-1.0 gstaudio-1.0 gstbase-1.0 gstfft-1.0 +WANTLIB += gstpbutils-1.0 gstreamer-1.0 gsttag-1.0 gstvideo-1.0 +WANTLIB += icui18n icuuc jpeg m png sqlite3 webp xml2 xslt z + +MASTER_SITES = https://github.com/annulen/webkit/releases/download/${DISTNAME}/ + +MODULES = perl \ + lang/ruby \ + devel/cmake \ + x11/qt5 -MASTER_SITES = https://download.qt.io/community_releases/${DIST_VERSION:R}/${DIST_VERSION}-final/ +USE_NINJA = No -MODULES = perl lang/python lang/ruby MODPY_RUNDEP = No MODRUBY_RUNDEP = No @@ -43,75 +54,55 @@ LIB_DEPENDS = databases/sqlite3 \ multimedia/gstreamer1/plugins-base \ textproc/icu4c \ textproc/libxslt \ + graphics/libwebp \ x11/qt5/qtdeclarative>=${QT5_VERSION},<${QT5_NEXT_VERSION} \ x11/qt5/qtlocation>=${QT5_VERSION},<${QT5_NEXT_VERSION} \ x11/qt5/qtsensors>=${QT5_VERSION},<${QT5_NEXT_VERSION} \ x11/qt5/qtwebchannel>=${QT5_VERSION},<${QT5_NEXT_VERSION} -MAKE_ENV = NINJA_PATH="${LOCALBASE}/bin/ninja" \ - PYTHON=${MODPY_BIN} \ - RUBY=${RUBY} - -MAKE_FLAGS = PYTHON=${MODPY_BIN} \ - RUBY=${RUBY} - -FLAVORS = debug -PSEUDO_FLAVORS = no_tests - -#MODQMAKE_ARGS = WEBKIT_CONFIG+=web_audio +CONFIGURE_ARGS += -DPORT=Qt \ + -DENABLE_TOOLS=OFF # See qtbase/tests/README for details TEST_IS_INTERACTIVE = X11 TEST_DEPENDS = ${MODPY_RUN_DEPENDS} \ ${MODRUBY_RUN_DEPENDS} \ - audio/sox \ - kde4-minimal-*|kdebase-*:meta/kde4,-minimal + audio/sox -pre-configure: - # Python and Ruby are used for building mainly, those paths - # do not get into final packages. +CONFIGURE_ARGS += -DPORT=Qt \ + -DCMAKE_EXE_LINKER_FLAGS="${LDFLAGS}" \ + -DCMAKE_SHARED_LINKER_FLAGS="${LDFLAGS}" + +# sync with Source/JavaScriptCore/assembler/MacroAssembler.h +.if ${MACHINE_ARCH} != "aarch64" && ${MACHINE_ARCH} != "amd64" && \ + ${MACHINE_ARCH} != "arm" && ${MACHINE_ARCH} != "i386" && \ + ${MACHINE_ARCH} != "mips64" && ${MACHINE_ARCH} != "mips64el" && \ + ${MACHINE_ARCH} != "sh" +# #error "The MacroAssembler is not supported on this platform." +CONFIGURE_ARGS += -DENABLE_JIT=OFF +CONFIGURE_ARGS += -DENABLE_LLINT_C_LOOP=ON +.endif + +.include <bsd.port.arch.mk> + +# ld.lld does not have this option +# save memory on 32bit arches +.if !${PROPERTIES:Mlld} && ${MACHINE_ARCH} != "amd64" +LDFLAGS += -Wl,--no-keep-memory +.endif + +# __sync_add_and_fetch_8 +.if ${MACHINE_ARCH} == "i386" +CFLAGS += -march=i686 +CXXFLAGS += -march=i686 +.endif + +post-extract: ln -sf ${MODPY_BIN} ${WRKDIR}/bin/python ln -sf ${RUBY} ${WRKDIR}/bin/ruby - cd ${WRKSRC}; ${MODPY_BIN_ADJ} \ - `find . -name '*.py'` \ - `egrep -Rl '(env |bin/)python' Tools` \ - Source/WebCore/inspector/generate-inspector-protocol-version \ - Source/WebCore/html/parser/create-html-entity-table - - cd ${WRKSRC}; ${MODRUBY_RUBY_ADJ} \ - `find . -name '*.rb'` \ - Tools/Scripts/check-for-webkit-framework-include-consistency \ - Tools/Scripts/display-profiler-output \ - Tools/Scripts/check-for-inappropriate-macros-in-external-headers \ - Tools/Scripts/roll-over-ChangeLogs \ - Tools/Scripts/check-for-inappropriate-files-in-framework \ - Tools/Scripts/test-webkitruby \ - Tools/Scripts/clean-header-guards \ - Tools/Scripts/bencher \ - Source/WebKit/WebKit.vcxproj/WebKitExportGenerator/make-export-file-generator \ - Source/WebCore/make-export-file-generator \ - Source/JavaScriptCore/JavaScriptCore.vcxproj/LLInt/LLIntDesiredOffsets/build-LLIntDesiredOffsets.sh \ - Source/JavaScriptCore/JavaScriptCore.vcxproj/LLInt/LLIntAssembly/build-LLIntAssembly.sh - - cd ${WRKSRC}; perl -pi.otheradj \ - -e 's,/usr/bin/(env )?python\b,${MODPY_BIN},g;' \ - -e 's,/usr/bin/(env )?ruby\b,${RUBY},g;' \ - -e 's,(/usr)?/bin/(env )?bash\b,/bin/ksh,g;' \ - Tools/BuildSlaveSupport/gtk/pulseaudio/run \ - Tools/Scripts/old-run-webkit-tests \ - Tools/Scripts/run-webkit-websocketserver \ - Tools/Scripts/webkitpy/common/system/executive_unittest.py - - cd ${WRKSRC}; perl -pi.symname \ - -e 's/^__/_/;' \ - qtwebkit/Source/JavaScriptCore/JavaScriptCore.order - - cd ${WRKSRC}/Tools/qmake/config.tests; perl -pi.objdir \ - -e 's/^OBJECTS_DIR/#$$&/;' \ - */*.pro +pre-configure: + ${SUBST_CMD} ${WRKSRC}/Source/cmake/WebKitCommon.cmake \ + ${WRKSRC}/Source/WebKit2/Shared/Plugins/unix/PluginSearchPath.cpp .include <bsd.port.mk> -.if ${CHOSEN_COMPILER} == "base-clang" -CXXFLAGS += -fno-ret-protector -.endif Index: distinfo =================================================================== RCS file: /cvs/ports/x11/qt5/qtwebkit/distinfo,v retrieving revision 1.2 diff -u -p -u -p -r1.2 distinfo --- distinfo 17 Jul 2017 08:34:39 -0000 1.2 +++ distinfo 26 Aug 2018 14:09:31 -0000 @@ -1,2 +1,2 @@ -SHA256 (qt/qtwebkit-opensource-src-5.9.0.tar.xz) = ja0ZO3QAVamYMS4EoEDy4yqSPAgjstI5sk6rCCdqTgQ= -SIZE (qt/qtwebkit-opensource-src-5.9.0.tar.xz) = 35301288 +SHA256 (qt/qtwebkit-5.212.0-alpha2.tar.xz) = +PkB3lZ+EfxWWUAra4J+rHVQX/nFBy2OkZqjBgA/j4o= +SIZE (qt/qtwebkit-5.212.0-alpha2.tar.xz) = 12456284 Index: patches/patch-CMakeLists_txt =================================================================== RCS file: patches/patch-CMakeLists_txt diff -N patches/patch-CMakeLists_txt --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-CMakeLists_txt 26 Aug 2018 14:09:31 -0000 @@ -0,0 +1,23 @@ +$OpenBSD$ + +Index: CMakeLists.txt +--- CMakeLists.txt.orig ++++ CMakeLists.txt +@@ -69,7 +69,7 @@ elseif (LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "(x64 + set(WTF_CPU_X86_64 1) + elseif (LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "(i[3-6]86|x86)") + set(WTF_CPU_X86 1) +-elseif (LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "ppc") ++elseif (LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "(ppc|powerpc)") + set(WTF_CPU_PPC 1) + elseif (LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "ppc64") + set(WTF_CPU_PPC64 1) +@@ -81,6 +81,8 @@ elseif (LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "s390 + set(WTF_CPU_S390 1) + elseif (LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "s390x") + set(WTF_CPU_S390X 1) ++elseif (LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "sparc64") ++ set(WTF_CPU_SPARC64 1) + else () + message(FATAL_ERROR "Unknown CPU '${LOWERCASE_CMAKE_SYSTEM_PROCESSOR}'") + endif () Index: patches/patch-Source_JavaScriptCore_assembler_ARM64Assembler_h =================================================================== RCS file: patches/patch-Source_JavaScriptCore_assembler_ARM64Assembler_h diff -N patches/patch-Source_JavaScriptCore_assembler_ARM64Assembler_h --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-Source_JavaScriptCore_assembler_ARM64Assembler_h 26 Aug 2018 14:09:31 -0000 @@ -0,0 +1,14 @@ +$OpenBSD: patch-Source_JavaScriptCore_assembler_ARM64Assembler_h,v 1.2 2017/09/15 07:43:42 ajacoutot Exp $ + +Index: Source/JavaScriptCore/assembler/ARM64Assembler.h +--- Source/JavaScriptCore/assembler/ARM64Assembler.h.orig ++++ Source/JavaScriptCore/assembler/ARM64Assembler.h +@@ -2666,6 +2666,8 @@ class ARM64Assembler { (public) + { + #if OS(IOS) + sys_cache_control(kCacheFunctionPrepareForExecution, code, size); ++#elif OS(FREEBSD) || OS(NETBSD) || OS(OPENBSD) ++ __clear_cache(code, reinterpret_cast<char*>(code) + size); + #elif OS(LINUX) + size_t page = pageSize(); + uintptr_t current = reinterpret_cast<uintptr_t>(code); Index: patches/patch-Source_JavaScriptCore_assembler_ARMAssembler_h =================================================================== RCS file: patches/patch-Source_JavaScriptCore_assembler_ARMAssembler_h diff -N patches/patch-Source_JavaScriptCore_assembler_ARMAssembler_h --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-Source_JavaScriptCore_assembler_ARMAssembler_h 26 Aug 2018 14:09:31 -0000 @@ -0,0 +1,14 @@ +$OpenBSD: patch-Source_JavaScriptCore_assembler_ARMAssembler_h,v 1.3 2018/03/19 08:13:15 ajacoutot Exp $ + +Index: Source/JavaScriptCore/assembler/ARMAssembler.h +--- Source/JavaScriptCore/assembler/ARMAssembler.h.orig ++++ Source/JavaScriptCore/assembler/ARMAssembler.h +@@ -1128,6 +1128,8 @@ namespace JSC { + linuxPageFlush(current, current + page); + + linuxPageFlush(current, end); ++#elif CPU(ARM_TRADITIONAL) && (OS(FREEBSD) || OS(OPENBSD)) ++ __clear_cache(code, reinterpret_cast<char*>(code) + size); + #else + #error "The cacheFlush support is missing on this platform." + #endif Index: patches/patch-Source_JavaScriptCore_assembler_MacroAssemblerX86Common_h =================================================================== RCS file: patches/patch-Source_JavaScriptCore_assembler_MacroAssemblerX86Common_h diff -N patches/patch-Source_JavaScriptCore_assembler_MacroAssemblerX86Common_h --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-Source_JavaScriptCore_assembler_MacroAssemblerX86Common_h 26 Aug 2018 14:09:31 -0000 @@ -0,0 +1,21 @@ +$OpenBSD: patch-Source_JavaScriptCore_assembler_MacroAssemblerX86Common_h,v 1.4 2018/03/19 08:13:15 ajacoutot Exp $ + +XXX error: macro "swap32" passed 2 arguments, but takes just 1 +XXX error: macro "swap64" passed 2 arguments, but takes just 1 + +Index: Source/JavaScriptCore/assembler/MacroAssemblerX86Common.h +--- Source/JavaScriptCore/assembler/MacroAssemblerX86Common.h.orig ++++ Source/JavaScriptCore/assembler/MacroAssemblerX86Common.h +@@ -36,6 +36,12 @@ + #include <intrin.h> + #endif + ++/* conflicting definition in endian.h */ ++#if OS(OPENBSD) ++#undef swap32 ++#undef swap64 ++#endif ++ + namespace JSC { + + class MacroAssemblerX86Common : public AbstractMacroAssembler<X86Assembler, MacroAssemblerX86Common> { Index: patches/patch-Source_JavaScriptCore_dfg_DFGDisassembler_cpp =================================================================== RCS file: /cvs/ports/x11/qt5/qtwebkit/patches/patch-Source_JavaScriptCore_dfg_DFGDisassembler_cpp,v retrieving revision 1.1.1.1 diff -u -p -u -p -r1.1.1.1 patch-Source_JavaScriptCore_dfg_DFGDisassembler_cpp --- patches/patch-Source_JavaScriptCore_dfg_DFGDisassembler_cpp 25 Dec 2016 14:13:13 -0000 1.1.1.1 +++ patches/patch-Source_JavaScriptCore_dfg_DFGDisassembler_cpp 26 Aug 2018 14:09:31 -0000 @@ -1,16 +1,14 @@ -$OpenBSD: patch-Source_JavaScriptCore_dfg_DFGDisassembler_cpp,v 1.1.1.1 2016/12/25 14:13:13 zhuk Exp $ -Avoid strcpy(). ---- Source/JavaScriptCore/dfg/DFGDisassembler.cpp.orig Fri Dec 26 13:45:46 2014 -+++ Source/JavaScriptCore/dfg/DFGDisassembler.cpp Fri Dec 26 13:48:04 2014 -@@ -152,8 +152,9 @@ void Disassembler::dumpDisassembly(PrintStream& out, c - amountOfNodeWhiteSpace = 0; +$OpenBSD$ + +Index: Source/JavaScriptCore/dfg/DFGDisassembler.cpp +--- Source/JavaScriptCore/dfg/DFGDisassembler.cpp.orig ++++ Source/JavaScriptCore/dfg/DFGDisassembler.cpp +@@ -159,7 +159,7 @@ void Disassembler::dumpDisassembly(PrintStream& out, c else amountOfNodeWhiteSpace = Graph::amountOfNodeWhiteSpace(context); -- OwnArrayPtr<char> prefixBuffer = adoptArrayPtr(new char[prefixLength + amountOfNodeWhiteSpace + 1]); + auto prefixBuffer = std::make_unique<char[]>(prefixLength + amountOfNodeWhiteSpace + 1); - strcpy(prefixBuffer.get(), prefix); -+ size_t prefixBufferSize = prefixLength + amountOfNodeWhiteSpace + 1; -+ OwnArrayPtr<char> prefixBuffer = adoptArrayPtr(new char[prefixBufferSize]); -+ memcpy(prefixBuffer.get(), prefix, prefixBufferSize); ++ memcpy(prefixBuffer.get(), prefix, prefixLength); for (int i = 0; i < amountOfNodeWhiteSpace; ++i) prefixBuffer[i + prefixLength] = ' '; prefixBuffer[prefixLength + amountOfNodeWhiteSpace] = 0; Index: patches/patch-Source_JavaScriptCore_heap_MachineStackMarker_cpp =================================================================== RCS file: /cvs/ports/x11/qt5/qtwebkit/patches/patch-Source_JavaScriptCore_heap_MachineStackMarker_cpp,v retrieving revision 1.1.1.1 diff -u -p -u -p -r1.1.1.1 patch-Source_JavaScriptCore_heap_MachineStackMarker_cpp --- patches/patch-Source_JavaScriptCore_heap_MachineStackMarker_cpp 25 Dec 2016 14:13:13 -0000 1.1.1.1 +++ patches/patch-Source_JavaScriptCore_heap_MachineStackMarker_cpp 26 Aug 2018 14:09:31 -0000 @@ -1,9 +1,9 @@ -$OpenBSD: patch-Source_JavaScriptCore_heap_MachineStackMarker_cpp,v 1.1.1.1 2016/12/25 14:13:13 zhuk Exp $ -Unbreak build. -Synchronized with WebKit upsteam. ---- Source/JavaScriptCore/heap/MachineStackMarker.cpp.orig Thu Sep 11 14:48:22 2014 -+++ Source/JavaScriptCore/heap/MachineStackMarker.cpp Wed Jan 7 01:01:51 2015 -@@ -45,6 +45,10 @@ +$OpenBSD$ + +Index: Source/JavaScriptCore/heap/MachineStackMarker.cpp +--- Source/JavaScriptCore/heap/MachineStackMarker.cpp.orig ++++ Source/JavaScriptCore/heap/MachineStackMarker.cpp +@@ -49,6 +49,10 @@ #elif OS(UNIX) @@ -14,45 +14,124 @@ Synchronized with WebKit upsteam. #include <sys/mman.h> #include <unistd.h> -@@ -311,6 +315,8 @@ typedef arm_thread_state_t PlatformThreadRegisters; - typedef CONTEXT PlatformThreadRegisters; - #elif OS(QNX) - typedef struct _debug_thread_info PlatformThreadRegisters; -+#elif OS(OPENBSD) -+typedef pthread_t PlatformThreadRegisters; - #elif USE(PTHREADS) - typedef pthread_attr_t PlatformThreadRegisters; +@@ -89,7 +93,7 @@ static void pthreadSignalHandlerSuspendResume(int, sig + #if CPU(PPC) + thread->suspendedMachineContext = *userContext->uc_mcontext.uc_regs; #else -@@ -369,6 +375,8 @@ static size_t getPlatformThreadRegisters(const Platfor - } - close(fd); - return sizeof(struct _debug_thread_info); +- thread->suspendedMachineContext = userContext->uc_mcontext; ++ thread->suspendedMachineContext = *userContext; + #endif + + // Allow suspend caller to see that this thread is suspended. +@@ -566,6 +570,25 @@ void* MachineThreads::Thread::Registers::stackPointer( + #error Unknown Architecture + #endif + +#elif OS(OPENBSD) -+ regs = platformThread; - #elif USE(PTHREADS) - pthread_attr_init(®s); - #if HAVE(PTHREAD_NP_H) || OS(NETBSD) -@@ -437,7 +445,14 @@ static inline void* otherThreadStackPointer(const Plat - #elif USE(PTHREADS) - void* stackBase = 0; - size_t stackSize = 0; -+#if OS(OPENBSD) -+ stack_t ss; -+ int rc = pthread_stackseg_np(regs, &ss); -+ stackBase = (void*)((size_t) ss.ss_sp - ss.ss_size); -+ stackSize = ss.ss_size; ++ ++#if CPU(X86) ++ return reinterpret_cast<void*&>((uintptr_t&) regs.machineContex.sc_edx); ++#elif CPU(X86_64) ++ //return reinterpret_cast<void*&>((uintptr_t&) regs.machineContex.sc_rsp); ++#elif CPU(ARM)# ++ return reinterpret_cast<void*&>((uintptr_t&) regs.machineContex.__gregs[_REG_R1]); ++#elif CPU(ARM64) ++ return reinterpret_cast<void*&>((uintptr_t&) regs.machineContex.sc_x[1]); ++#elif CPU(MIPS) ++ return reinterpret_cast<void*&>((uintptr_t&) regs.machineContex.mc_regs[5]); ++#elif CPU(SPARC64) ++ return reinterpret_cast<void*&>((uintptr_t&) regs.machineContex.mc_rsi); ++#else ++#error Unknown Architecture ++#endif ++ ++ + #elif defined(__GLIBC__) && ENABLE(JIT) + + #if CPU(X86) +@@ -632,6 +655,7 @@ void* MachineThreads::Thread::Registers::framePointer( + #error Unknown Architecture + #endif + ++ + #endif // __DARWIN_UNIX03 + + // end OS(DARWIN) +@@ -665,6 +689,25 @@ void* MachineThreads::Thread::Registers::framePointer( + #error Unknown Architecture + #endif + ++#elif OS(OPENBSD) ++ ++#if CPU(X86) ++ return reinterpret_cast<void*&>((uintptr_t&) regs.machineContex.sc_esp); ++#elif CPU(X86_64) ++ //return reinterpret_cast<void*&>((uintptr_t&) regs.machineContex.sc_rsp); ++#elif CPU(ARM)# ++ return reinterpret_cast<void*&>((uintptr_t&) regs.machineContex.__gregs[_REG_SP]); ++#elif CPU(ARM64) ++ return reinterpret_cast<void*&>((uintptr_t&) regs.machineContex.sc_sp); ++#elif CPU(MIPS) ++ return reinterpret_cast<void*&>((uintptr_t&) regs.machineContex.mc_regs[29]); ++#elif CPU(SPARC64) ++ return reinterpret_cast<void*&>((uintptr_t&) regs.machineContex.mc_rsp); +#else - int rc = pthread_attr_getstack(®s, &stackBase, &stackSize); ++#error Unknown Architecture +#endif - (void)rc; // FIXME: Deal with error code somehow? Seems fatal. - ASSERT(stackBase); - return static_cast<char*>(stackBase) + stackSize; -@@ -448,7 +463,7 @@ static inline void* otherThreadStackPointer(const Plat - - static void freePlatformThreadRegisters(PlatformThreadRegisters& regs) - { --#if USE(PTHREADS) && !OS(WINDOWS) && !OS(DARWIN) && !OS(QNX) -+#if USE(PTHREADS) && !OS(WINDOWS) && !OS(DARWIN) && !OS(QNX) && !OS(OPENBSD) - pthread_attr_destroy(®s); ++ ++ + #elif defined(__GLIBC__) + + // The following sequence depends on glibc's sys/ucontext.h. +@@ -747,6 +790,25 @@ void* MachineThreads::Thread::Registers::instructionPo + #error Unknown Architecture + #endif + ++#elif OS(OPENBSD) ++ ++#if CPU(X86) ++ return reinterpret_cast<void*&>((uintptr_t&) regs.machineContex.sc_ebp); ++#elif CPU(X86_64) ++ //return reinterpret_cast<void*&>((uintptr_t&) regs.machineContex.sc_rbp); ++#elif CPU(ARM)# ++ return reinterpret_cast<void*&>((uintptr_t&) regs.machineContex.__gregs[_REG_FP]); ++#elif CPU(ARM64) ++ return reinterpret_cast<void*&>((uintptr_t&) regs.machineContex.sc_x[29]); ++#elif CPU(MIPS) ++ return reinterpret_cast<void*&>((uintptr_t&) regs.machineContex.mc_regs[30]); ++#elif CPU(SPARC64) ++ return reinterpret_cast<void*&>((uintptr_t&) regs.machineContex.mc_rbp); ++#else ++#error Unknown Architecture ++#endif ++ ++ + #elif defined(__GLIBC__) + + // The following sequence depends on glibc's sys/ucontext.h. +@@ -837,6 +899,25 @@ void* MachineThreads::Thread::Registers::llintPC() con #else - UNUSED_PARAM(regs); + #error Unknown Architecture + #endif ++ ++#elif OS(OPENBSD) ++ ++#if CPU(X86) ++ return reinterpret_cast<void*&>((uintptr_t&) regs.machineContex.sc_eip); ++#elif CPU(X86_64) ++ //return reinterpret_cast<void*&>((uintptr_t&) regs.machineContex.sc_rip); ++#elif CPU(ARM)# ++ return reinterpret_cast<void*&>((uintptr_t&) regs.machineContex.__gregs[_REG_PC]); ++#elif CPU(ARM64) ++ return reinterpret_cast<void*&>((uintptr_t&) regs.machineContex.sc_elr); ++#elif CPU(MIPS) ++ return reinterpret_cast<void*&>((uintptr_t&) regs.machineContex.mc_pc); ++#elif CPU(SPARC64) ++ return reinterpret_cast<void*&>((uintptr_t&) regs.machineContex.mc_rip); ++#else ++#error Unknown Architecture ++#endif ++ + + #elif defined(__GLIBC__) + Index: patches/patch-Source_JavaScriptCore_heap_MachineStackMarker_h =================================================================== RCS file: patches/patch-Source_JavaScriptCore_heap_MachineStackMarker_h diff -N patches/patch-Source_JavaScriptCore_heap_MachineStackMarker_h --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-Source_JavaScriptCore_heap_MachineStackMarker_h 26 Aug 2018 14:09:31 -0000 @@ -0,0 +1,32 @@ +$OpenBSD$ + +Index: Source/JavaScriptCore/heap/MachineStackMarker.h +--- Source/JavaScriptCore/heap/MachineStackMarker.h.orig ++++ Source/JavaScriptCore/heap/MachineStackMarker.h +@@ -41,7 +41,10 @@ + #if OS(FREEBSD) + #include <ucontext.h> + #endif ++#if OS(OPENBSD) ++typedef ucontext_t mcontext_t; + #endif ++#endif + + #if OS(DARWIN) + typedef mach_port_t PlatformThread; +@@ -51,6 +54,7 @@ typedef DWORD PlatformThread; + typedef pthread_t PlatformThread; + #endif // OS(DARWIN) + ++ + namespace JSC { + + class CodeBlockSet; +@@ -114,7 +118,6 @@ class MachineThreads { (public) + #else + #error Need a thread register struct for this platform + #endif +- + PlatformRegisters regs; + }; + Index: patches/patch-Source_JavaScriptCore_javascriptcoregtk_pc_in =================================================================== RCS file: patches/patch-Source_JavaScriptCore_javascriptcoregtk_pc_in diff -N patches/patch-Source_JavaScriptCore_javascriptcoregtk_pc_in --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-Source_JavaScriptCore_javascriptcoregtk_pc_in 26 Aug 2018 14:09:31 -0000 @@ -0,0 +1,11 @@ +$OpenBSD: patch-Source_JavaScriptCore_javascriptcoregtk_pc_in,v 1.2 2018/03/19 08:13:15 ajacoutot Exp $ + +--- Source/JavaScriptCore/javascriptcoregtk.pc.in.orig Tue Aug 9 01:03:49 2016 ++++ Source/JavaScriptCore/javascriptcoregtk.pc.in Tue Aug 9 01:03:57 2016 +@@ -7,5 +7,5 @@ Name: JavaScriptCoreGTK+ + Description: GTK+ version of the JavaScriptCore engine + Version: @PROJECT_VERSION@ + Requires: glib-2.0 +-Libs: -L${libdir} -ljavascriptcoregtk-@WEBKITGTK_API_VERSION@ ++Libs: -L${libdir} -ljavascriptcoregtk-@WEBKITGTK_API_VERSION@ -Wl,-z,wxneeded + Cflags: -I${includedir}/webkitgtk-@WEBKITGTK_API_VERSION@ Index: patches/patch-Source_JavaScriptCore_jit_ExecutableAllocator_h =================================================================== RCS file: /cvs/ports/x11/qt5/qtwebkit/patches/patch-Source_JavaScriptCore_jit_ExecutableAllocator_h,v retrieving revision 1.1.1.1 diff -u -p -u -p -r1.1.1.1 patch-Source_JavaScriptCore_jit_ExecutableAllocator_h --- patches/patch-Source_JavaScriptCore_jit_ExecutableAllocator_h 25 Dec 2016 14:13:13 -0000 1.1.1.1 +++ patches/patch-Source_JavaScriptCore_jit_ExecutableAllocator_h 26 Aug 2018 14:09:31 -0000 @@ -1,13 +1,13 @@ -$OpenBSD: patch-Source_JavaScriptCore_jit_ExecutableAllocator_h,v 1.1.1.1 2016/12/25 14:13:13 zhuk Exp $ -Taken from www/webkitgtk4 port, see also: -https://bugs.webkit.org/show_bug.cgi?id=61137 ---- Source/JavaScriptCore/jit/ExecutableAllocator.h.orig Tue Feb 17 07:57:12 2015 -+++ Source/JavaScriptCore/jit/ExecutableAllocator.h Wed Apr 8 00:38:31 2015 -@@ -104,7 +104,8 @@ class DemandExecutableAllocator; - #if ENABLE(EXECUTABLE_ALLOCATOR_FIXED) - #if CPU(ARM) || CPU(MIPS) +$OpenBSD$ + +Index: Source/JavaScriptCore/jit/ExecutableAllocator.h +--- Source/JavaScriptCore/jit/ExecutableAllocator.h.orig ++++ Source/JavaScriptCore/jit/ExecutableAllocator.h +@@ -80,7 +80,8 @@ static const size_t fixedExecutableMemoryPoolSize = FI static const size_t fixedExecutableMemoryPoolSize = 16 * 1024 * 1024; --#elif CPU(X86_64) && !CPU(X32) + #elif CPU(ARM64) + static const size_t fixedExecutableMemoryPoolSize = 32 * 1024 * 1024; +-#elif CPU(X86_64) +#elif CPU(X86_64) && !CPU(X32) && !OS(OPENBSD) +// default limits on OpenBSD are far less than 1GB static const size_t fixedExecutableMemoryPoolSize = 1024 * 1024 * 1024; Index: patches/patch-Source_JavaScriptCore_jsc_pro =================================================================== RCS file: patches/patch-Source_JavaScriptCore_jsc_pro diff -N patches/patch-Source_JavaScriptCore_jsc_pro --- patches/patch-Source_JavaScriptCore_jsc_pro 17 Jul 2017 08:34:39 -0000 1.2 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,11 +0,0 @@ -$OpenBSD: patch-Source_JavaScriptCore_jsc_pro,v 1.2 2017/07/17 08:34:39 zhuk Exp $ -Enable W^X in QtWebkit's JIT. -Index: Source/JavaScriptCore/jsc.pro ---- Source/JavaScriptCore/jsc.pro.orig -+++ Source/JavaScriptCore/jsc.pro -@@ -30,4 +30,5 @@ wince* { - # Prevent warnings about difference in visibility on Mac OS X - qtConfig(reduce_exports):CONFIG += hide_symbols - unix:qtConfig(reduce_relocations):CONFIG += bsymbolic_functions -+openbsd:DEFINES *= ASSEMBLER_WX_EXCLUSIVE=1 - Index: patches/patch-Source_ThirdParty_ANGLE_src_libGLESv2_Program_cpp =================================================================== RCS file: patches/patch-Source_ThirdParty_ANGLE_src_libGLESv2_Program_cpp diff -N patches/patch-Source_ThirdParty_ANGLE_src_libGLESv2_Program_cpp --- patches/patch-Source_ThirdParty_ANGLE_src_libGLESv2_Program_cpp 25 Dec 2016 14:13:13 -0000 1.1.1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,24 +0,0 @@ -$OpenBSD: patch-Source_ThirdParty_ANGLE_src_libGLESv2_Program_cpp,v 1.1.1.1 2016/12/25 14:13:13 zhuk Exp $ -Avoid strcpy(). ---- Source/ThirdParty/ANGLE/src/libGLESv2/Program.cpp.orig Fri Dec 26 13:50:19 2014 -+++ Source/ThirdParty/ANGLE/src/libGLESv2/Program.cpp Fri Dec 26 13:53:09 2014 -@@ -107,17 +107,13 @@ void InfoLog::append(const char *format, ...) - if (!mInfoLog) - { - mInfoLog = new char[infoLength + 2]; -- strcpy(mInfoLog, info); -- strcpy(mInfoLog + infoLength, "\n"); -+ snprintf(mInfoLog, infoLength + 2, "%s\n", info); - } - else - { - size_t logLength = strlen(mInfoLog); - char *newLog = new char[logLength + infoLength + 2]; -- strcpy(newLog, mInfoLog); -- strcpy(newLog + logLength, info); -- strcpy(newLog + logLength + infoLength, "\n"); -- -+ snprintf(mInfoLog, logLength + infoLength + 2, "%s%s\n", mInfoLog, info); - delete[] mInfoLog; - mInfoLog = newLog; - } Index: patches/patch-Source_ThirdParty_gtest_CMakeLists_txt =================================================================== RCS file: patches/patch-Source_ThirdParty_gtest_CMakeLists_txt diff -N patches/patch-Source_ThirdParty_gtest_CMakeLists_txt --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-Source_ThirdParty_gtest_CMakeLists_txt 26 Aug 2018 14:09:31 -0000 @@ -0,0 +1,17 @@ +$OpenBSD$ + +Index: Source/ThirdParty/gtest/CMakeLists.txt +--- Source/ThirdParty/gtest/CMakeLists.txt.orig ++++ Source/ThirdParty/gtest/CMakeLists.txt +@@ -45,9 +45,10 @@ endif () + + target_link_libraries(gtest + WTF ++ c + ) + + if (CMAKE_USE_PTHREADS_INIT) +- target_link_libraries(gtest ${CMAKE_THREAD_LIBS_INIT}) ++ target_link_libraries(gtest ${CMAKE_THREAD_LIBS_INIT} c) + add_definitions(-DGTEST_HAS_PTHREAD=1) + endif () Index: patches/patch-Source_ThirdParty_gtest_include_gtest_internal_gtest-port_h =================================================================== RCS file: patches/patch-Source_ThirdParty_gtest_include_gtest_internal_gtest-port_h diff -N patches/patch-Source_ThirdParty_gtest_include_gtest_internal_gtest-port_h --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-Source_ThirdParty_gtest_include_gtest_internal_gtest-port_h 26 Aug 2018 14:09:31 -0000 @@ -0,0 +1,13 @@ +$OpenBSD$ + +Index: Source/ThirdParty/gtest/include/gtest/internal/gtest-port.h +--- Source/ThirdParty/gtest/include/gtest/internal/gtest-port.h.orig ++++ Source/ThirdParty/gtest/include/gtest/internal/gtest-port.h +@@ -188,6 +188,7 @@ + #include <iostream> // NOLINT + #include <sstream> // NOLINT + #include <string> // NOLINT ++#include <unistd.h> + + #define GTEST_DEV_EMAIL_ "googletestframework@@googlegroups.com" + #define GTEST_FLAG_PREFIX_ "gtest_" Index: patches/patch-Source_WTF_wtf_InlineASM_h =================================================================== RCS file: patches/patch-Source_WTF_wtf_InlineASM_h diff -N patches/patch-Source_WTF_wtf_InlineASM_h --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-Source_WTF_wtf_InlineASM_h 26 Aug 2018 14:09:31 -0000 @@ -0,0 +1,14 @@ +$OpenBSD: patch-Source_WTF_wtf_InlineASM_h,v 1.2 2018/03/19 08:13:15 ajacoutot Exp $ + +Index: Source/WTF/wtf/InlineASM.h +--- Source/WTF/wtf/InlineASM.h.orig ++++ Source/WTF/wtf/InlineASM.h +@@ -40,7 +40,7 @@ + #define THUMB_FUNC_PARAM(name) + #endif + +-#if (OS(LINUX) || OS(FREEBSD)) && CPU(X86_64) ++#if (OS(LINUX) || OS(FREEBSD) || OS(OPENBSD)) && CPU(X86_64) + #define GLOBAL_REFERENCE(name) #name "@plt" + #elif CPU(X86) && COMPILER(MINGW) + #define GLOBAL_REFERENCE(name) "@" #name "@4" Index: patches/patch-Source_WTF_wtf_Platform_h =================================================================== RCS file: /cvs/ports/x11/qt5/qtwebkit/patches/patch-Source_WTF_wtf_Platform_h,v retrieving revision 1.1.1.1 diff -u -p -u -p -r1.1.1.1 patch-Source_WTF_wtf_Platform_h --- patches/patch-Source_WTF_wtf_Platform_h 25 Dec 2016 14:13:13 -0000 1.1.1.1 +++ patches/patch-Source_WTF_wtf_Platform_h 26 Aug 2018 14:09:31 -0000 @@ -1,15 +1,21 @@ -$OpenBSD: patch-Source_WTF_wtf_Platform_h,v 1.1.1.1 2016/12/25 14:13:13 zhuk Exp $ -Use system malloc(3). ---- Source/WTF/wtf/Platform.h.orig Tue Feb 17 07:57:01 2015 -+++ Source/WTF/wtf/Platform.h Wed Apr 8 00:38:31 2015 -@@ -724,6 +724,10 @@ - #endif +$OpenBSD: patch-Source_WTF_wtf_Platform_h,v 1.12 2018/03/19 08:13:15 ajacoutot Exp $ + +https://bugs.webkit.org/show_bug.cgi?id=129963 + +Index: Source/WTF/wtf/Platform.h +--- Source/WTF/wtf/Platform.h.orig ++++ Source/WTF/wtf/Platform.h +@@ -155,6 +155,13 @@ + #define WTF_CPU_BIG_ENDIAN 1 #endif -+#if PLATFORM(OPENBSD) -+#define USE_SYSTEM_MALLOC 1 ++/* CPU(SPARC64) - SPARC V9 */ ++#if defined(__sparc64__) ++#define WTF_CPU_KNOWN 1 ++#define WTF_CPU_SPARC64 1 ++#define WTF_CPU_BIG_ENDIAN 1 +#endif + - #if PLATFORM(EFL) - #define ENABLE_GLOBAL_FASTMALLOC_NEW 0 - #endif + /* CPU(X86) - i386 / x86 32-bit */ + #if defined(__i386__) \ + || defined(i386) \ Index: patches/patch-Source_WTF_wtf_RandomNumberSeed_h =================================================================== RCS file: patches/patch-Source_WTF_wtf_RandomNumberSeed_h diff -N patches/patch-Source_WTF_wtf_RandomNumberSeed_h --- patches/patch-Source_WTF_wtf_RandomNumberSeed_h 25 Dec 2016 14:13:13 -0000 1.1.1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,12 +0,0 @@ -$OpenBSD: patch-Source_WTF_wtf_RandomNumberSeed_h,v 1.1.1.1 2016/12/25 14:13:13 zhuk Exp $ ---- Source/WTF/wtf/RandomNumberSeed.h.orig Fri Dec 19 23:00:04 2014 -+++ Source/WTF/wtf/RandomNumberSeed.h Fri Dec 19 23:01:03 2014 -@@ -55,6 +55,8 @@ inline void initializeRandomNumberGenerator() - timeval time; - gettimeofday(&time, 0); - srandom(static_cast<unsigned>(time.tv_usec * getpid())); -+#elif OS(OPENBSD) -+ // On OpenBSD we use arc4random() which initialises itself - #else - srand(static_cast<unsigned>(time(0))); - #endif Index: patches/patch-Source_WTF_wtf_dtoa_utils_h =================================================================== RCS file: patches/patch-Source_WTF_wtf_dtoa_utils_h diff -N patches/patch-Source_WTF_wtf_dtoa_utils_h --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-Source_WTF_wtf_dtoa_utils_h 26 Aug 2018 14:09:31 -0000 @@ -0,0 +1,14 @@ +$OpenBSD$ + +Index: Source/WTF/wtf/dtoa/utils.h +--- Source/WTF/wtf/dtoa/utils.h.orig ++++ Source/WTF/wtf/dtoa/utils.h +@@ -49,7 +49,7 @@ + defined(__ARMEL__) || \ + defined(_MIPS_ARCH_MIPS32R2) + #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1 +-#elif CPU(MIPS) || CPU(MIPS64) || CPU(PPC) || CPU(PPC64) || CPU(PPC64LE) || CPU(SH4) || CPU(S390) || CPU(S390X) || CPU(IA64) || CPU(ALPHA) || CPU(ARM64) || CPU(HPPA) ++#elif CPU(MIPS) || CPU(MIPS64) || CPU(PPC) || CPU(PPC64) || CPU(PPC64LE) || CPU(SH4) || CPU(S390) || CPU(S390X) || CPU(IA64) || CPU(ALPHA) || CPU(ARM64) || CPU(HPPA) || CPU(SPARC64) + #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1 + #elif defined(_M_IX86) || defined(__i386__) + #if defined(_WIN32) Index: patches/patch-Source_WebCore_Target_pri =================================================================== RCS file: patches/patch-Source_WebCore_Target_pri diff -N patches/patch-Source_WebCore_Target_pri --- patches/patch-Source_WebCore_Target_pri 25 Dec 2016 14:13:13 -0000 1.1.1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,17 +0,0 @@ -$OpenBSD: patch-Source_WebCore_Target_pri,v 1.1.1.1 2016/12/25 14:13:13 zhuk Exp $ -Unbreak compilation. ---- Source/WebCore/Target.pri.orig Tue Feb 17 07:57:09 2015 -+++ Source/WebCore/Target.pri Wed Apr 8 00:38:31 2015 -@@ -4280,6 +4280,12 @@ win32:!mingw:contains(QMAKE_HOST.arch, x86_64):{ - } - } - -+openbsd: { -+ INCLUDEPATH += $(LOCALBASE)/include/libsoup-2.4 -+ INCLUDEPATH += $(LOCALBASE)/include/harfbuzz -+ INCLUDEPATH += $(X11BASE)/include/freetype2 -+} -+ - contains(CONFIG, opengl-shims) { - HEADERS += platform/graphics/OpenGLShims.h - SOURCES += platform/graphics/OpenGLShims.cpp Index: patches/patch-Source_WebCore_plugins_qt_PluginPackageQt_cpp =================================================================== RCS file: patches/patch-Source_WebCore_plugins_qt_PluginPackageQt_cpp diff -N patches/patch-Source_WebCore_plugins_qt_PluginPackageQt_cpp --- patches/patch-Source_WebCore_plugins_qt_PluginPackageQt_cpp 25 Dec 2016 14:13:13 -0000 1.1.1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,13 +0,0 @@ -$OpenBSD: patch-Source_WebCore_plugins_qt_PluginPackageQt_cpp,v 1.1.1.1 2016/12/25 14:13:13 zhuk Exp $ -Fix Qt5 in situation GTK+ shared library version is overridden. ---- Source/WebCore/plugins/qt/PluginPackageQt.cpp.orig Tue Oct 13 07:37:21 2015 -+++ Source/WebCore/plugins/qt/PluginPackageQt.cpp Thu Dec 10 09:05:23 2015 -@@ -136,7 +136,7 @@ static void initializeGtk(QLibrary* module = 0) - } - } - -- QLibrary library(QLatin1String("libgtk-x11-2.0"), 0); -+ QLibrary library(QLatin1String("libgtk-x11-2.0")); - if (library.load()) { - typedef void *(*gtk_init_check_ptr)(int*, char***); - gtk_init_check_ptr gtkInitCheck = (gtk_init_check_ptr)library.resolve("gtk_init_check"); Index: patches/patch-Source_WebCore_plugins_qt_PluginViewQt_cpp =================================================================== RCS file: patches/patch-Source_WebCore_plugins_qt_PluginViewQt_cpp diff -N patches/patch-Source_WebCore_plugins_qt_PluginViewQt_cpp --- patches/patch-Source_WebCore_plugins_qt_PluginViewQt_cpp 25 Dec 2016 14:13:13 -0000 1.1.1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,13 +0,0 @@ -$OpenBSD: patch-Source_WebCore_plugins_qt_PluginViewQt_cpp,v 1.1.1.1 2016/12/25 14:13:13 zhuk Exp $ -Fix Qt5 in situation GTK+ shared library version is overridden. ---- Source/WebCore/plugins/qt/PluginViewQt.cpp.orig Fri Dec 26 02:28:55 2014 -+++ Source/WebCore/plugins/qt/PluginViewQt.cpp Fri Dec 26 02:29:10 2014 -@@ -697,7 +697,7 @@ static Display *getPluginDisplay() - // support gdk based plugins (like flash) that use a different X connection. - // The code below has the same effect as this one: - // Display *gdkDisplay = gdk_x11_display_get_xdisplay(gdk_display_get_default()); -- QLibrary library(QLatin1String("libgdk-x11-2.0"), 0); -+ QLibrary library(QLatin1String("libgdk-x11-2.0")); - if (!library.load()) - return 0; - Index: patches/patch-Source_WebKit2_PluginProcess_qt_PluginProcessMainQt_cpp =================================================================== RCS file: patches/patch-Source_WebKit2_PluginProcess_qt_PluginProcessMainQt_cpp diff -N patches/patch-Source_WebKit2_PluginProcess_qt_PluginProcessMainQt_cpp --- patches/patch-Source_WebKit2_PluginProcess_qt_PluginProcessMainQt_cpp 25 Dec 2016 14:13:13 -0000 1.1.1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,13 +0,0 @@ -$OpenBSD: patch-Source_WebKit2_PluginProcess_qt_PluginProcessMainQt_cpp,v 1.1.1.1 2016/12/25 14:13:13 zhuk Exp $ -Fix Qt5 in situation GTK+ shared library version is overridden. ---- Source/WebKit2/PluginProcess/qt/PluginProcessMainQt.cpp.orig Fri Dec 26 02:29:24 2014 -+++ Source/WebKit2/PluginProcess/qt/PluginProcessMainQt.cpp Fri Dec 26 02:29:35 2014 -@@ -53,7 +53,7 @@ static void messageHandler(QtMsgType type, const QMess - - static bool initializeGtk() - { -- QLibrary gtkLibrary(QLatin1String("libgtk-x11-2.0"), 0); -+ QLibrary gtkLibrary(QLatin1String("libgtk-x11-2.0")); - if (!gtkLibrary.load()) - return false; - typedef void* (*gtk_init_ptr)(void*, void*); Index: patches/patch-Source_WebKit2_Shared_Plugins_unix_PluginSearchPath_cpp =================================================================== RCS file: patches/patch-Source_WebKit2_Shared_Plugins_unix_PluginSearchPath_cpp diff -N patches/patch-Source_WebKit2_Shared_Plugins_unix_PluginSearchPath_cpp --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-Source_WebKit2_Shared_Plugins_unix_PluginSearchPath_cpp 26 Aug 2018 14:09:31 -0000 @@ -0,0 +1,13 @@ +$OpenBSD$ + +Index: Source/WebKit2/Shared/Plugins/unix/PluginSearchPath.cpp +--- Source/WebKit2/Shared/Plugins/unix/PluginSearchPath.cpp.orig ++++ Source/WebKit2/Shared/Plugins/unix/PluginSearchPath.cpp +@@ -68,6 +68,7 @@ Vector<String> pluginsDirectories() + result.append("/usr/lib64/mozilla/plugins"); + result.append("/usr/lib/nsbrowser/plugins"); + result.append("/usr/lib64/nsbrowser/plugins"); ++ result.append("${LOCALBASE}/lib/mozilla/plugins"); + #endif + + return result; Index: patches/patch-Source_WebKit2_WebProcess_Plugins_Netscape_x11_NetscapePluginX11_cpp =================================================================== RCS file: patches/patch-Source_WebKit2_WebProcess_Plugins_Netscape_x11_NetscapePluginX11_cpp diff -N patches/patch-Source_WebKit2_WebProcess_Plugins_Netscape_x11_NetscapePluginX11_cpp --- patches/patch-Source_WebKit2_WebProcess_Plugins_Netscape_x11_NetscapePluginX11_cpp 25 Dec 2016 14:13:13 -0000 1.1.1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,13 +0,0 @@ -$OpenBSD: patch-Source_WebKit2_WebProcess_Plugins_Netscape_x11_NetscapePluginX11_cpp,v 1.1.1.1 2016/12/25 14:13:13 zhuk Exp $ -Fix Qt5 in situation GTK+ shared library version is overridden. ---- Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp.orig Fri Dec 26 02:30:14 2014 -+++ Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp Fri Dec 26 02:30:24 2014 -@@ -64,7 +64,7 @@ static Display* getPluginDisplay() - // The code below has the same effect as this one: - // Display *gdkDisplay = gdk_x11_display_get_xdisplay(gdk_display_get_default()); - -- QLibrary library(QLatin1String("libgdk-x11-2.0"), 0); -+ QLibrary library(QLatin1String("libgdk-x11-2.0")); - if (!library.load()) - return 0; - Index: patches/patch-Source_WebKit2_WebProcess_pro =================================================================== RCS file: patches/patch-Source_WebKit2_WebProcess_pro diff -N patches/patch-Source_WebKit2_WebProcess_pro --- patches/patch-Source_WebKit2_WebProcess_pro 25 Dec 2016 14:13:13 -0000 1.1.1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,15 +0,0 @@ -$OpenBSD: patch-Source_WebKit2_WebProcess_pro,v 1.1.1.1 2016/12/25 14:13:13 zhuk Exp $ -Unbreak compilation. ---- Source/WebKit2/WebProcess.pro.orig Thu Sep 11 14:48:23 2014 -+++ Source/WebKit2/WebProcess.pro Mon Nov 10 20:49:42 2014 -@@ -15,6 +15,10 @@ INCLUDEPATH = \ - $$PWD/Shared/linux/SandboxProcess/ \ - $$INCLUDEPATH - -+openbsd: { -+ INCLUDEPATH += $(LOCALBASE)/include -+} -+ - QT += network webkit - macx: QT += xml - Index: patches/patch-Source_WebKit_CMakeLists_txt =================================================================== RCS file: patches/patch-Source_WebKit_CMakeLists_txt diff -N patches/patch-Source_WebKit_CMakeLists_txt --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-Source_WebKit_CMakeLists_txt 26 Aug 2018 14:09:31 -0000 @@ -0,0 +1,24 @@ +$OpenBSD$ + +Index: Source/WebKit/CMakeLists.txt +--- Source/WebKit/CMakeLists.txt.orig ++++ Source/WebKit/CMakeLists.txt +@@ -36,6 +36,7 @@ set(WebKit_LIBRARIES + PRIVATE JavaScriptCore${DEBUG_SUFFIX} + PRIVATE WTF${DEBUG_SUFFIX} + PRIVATE WebCore${DEBUG_SUFFIX} ++ PUBLIC pthread c + ) + + WEBKIT_INCLUDE_CONFIG_FILES_IF_EXISTS() +@@ -57,8 +58,8 @@ WEBKIT_FRAMEWORK(WebKit) + if (${PORT} STREQUAL "Qt") + set_target_properties(WebKit PROPERTIES VERSION ${PROJECT_VERSION} SOVERSION ${PROJECT_VERSION_MAJOR}) + install(TARGETS WebKit EXPORT WebKitTargets +- DESTINATION "${LIB_INSTALL_DIR}" +- RUNTIME DESTINATION "${BIN_INSTALL_DIR}" ++ LIBRARY DESTINATION lib ++ RUNTIME DESTINATION bin + ) + if (MSVC) + install(FILES $<TARGET_PDB_FILE:WebKit> DESTINATION "${BIN_INSTALL_DIR}" OPTIONAL) Index: patches/patch-Source_WebKit_PlatformQt_cmake =================================================================== RCS file: patches/patch-Source_WebKit_PlatformQt_cmake diff -N patches/patch-Source_WebKit_PlatformQt_cmake --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-Source_WebKit_PlatformQt_cmake 26 Aug 2018 14:09:31 -0000 @@ -0,0 +1,32 @@ +$OpenBSD$ + +Index: Source/WebKit/PlatformQt.cmake +--- Source/WebKit/PlatformQt.cmake.orig ++++ Source/WebKit/PlatformQt.cmake +@@ -755,8 +755,8 @@ WEBKIT_FRAMEWORK(WebKitWidgets) + add_dependencies(WebKitWidgets WebKit) + set_target_properties(WebKitWidgets PROPERTIES VERSION ${PROJECT_VERSION} SOVERSION ${PROJECT_VERSION_MAJOR}) + install(TARGETS WebKitWidgets EXPORT Qt5WebKitWidgetsTargets +- DESTINATION "${LIB_INSTALL_DIR}" +- RUNTIME DESTINATION "${BIN_INSTALL_DIR}" ++ LIBRARY DESTINATION lib ++ RUNTIME DESTINATION bin + ) + if (MSVC) + install(FILES $<TARGET_PDB_FILE:WebKitWidgets> DESTINATION "${BIN_INSTALL_DIR}" OPTIONAL) +@@ -786,6 +786,7 @@ if (COMPILER_IS_GCC_OR_CLANG) + set_source_files_properties( + qt/Api/qwebdatabase.cpp + qt/Api/qwebelement.cpp ++ qt/Api/qwebfullscreenrequest.cpp + qt/Api/qwebhistory.cpp + qt/Api/qwebhistoryinterface.cpp + qt/Api/qwebpluginfactory.cpp +@@ -795,7 +796,6 @@ if (COMPILER_IS_GCC_OR_CLANG) + + qt/WidgetApi/qgraphicswebview.cpp + qt/WidgetApi/qwebframe.cpp +- qt/WidgetApi/qwebfullscreenrequest.cpp + qt/WidgetApi/qwebinspector.cpp + qt/WidgetApi/qwebpage.cpp + qt/WidgetApi/qwebview.cpp Index: patches/patch-Source_WebKit_qt_WebCoreSupport_QWebFrameAdapter_cpp =================================================================== RCS file: patches/patch-Source_WebKit_qt_WebCoreSupport_QWebFrameAdapter_cpp diff -N patches/patch-Source_WebKit_qt_WebCoreSupport_QWebFrameAdapter_cpp --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-Source_WebKit_qt_WebCoreSupport_QWebFrameAdapter_cpp 26 Aug 2018 14:09:31 -0000 @@ -0,0 +1,15 @@ +$OpenBSD$ + +Index: Source/WebKit/qt/WebCoreSupport/QWebFrameAdapter.cpp +--- Source/WebKit/qt/WebCoreSupport/QWebFrameAdapter.cpp.orig ++++ Source/WebKit/qt/WebCoreSupport/QWebFrameAdapter.cpp +@@ -962,6 +962,9 @@ void QWebFrameAdapter::setViewportSize(const QSize& si + ASSERT(view); + view->resize(size); + view->adjustViewSize(); ++ ++ if (view->needsLayout()) ++ view->layout(); + } + + Index: patches/patch-Source_cmake_OptionsCommon_cmake =================================================================== RCS file: patches/patch-Source_cmake_OptionsCommon_cmake diff -N patches/patch-Source_cmake_OptionsCommon_cmake --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-Source_cmake_OptionsCommon_cmake 26 Aug 2018 14:09:31 -0000 @@ -0,0 +1,37 @@ +$OpenBSD: patch-Source_cmake_OptionsCommon_cmake,v 1.12 2017/09/15 07:43:42 ajacoutot Exp $ + +Our ar(1) is too old and have not support for `T'. + +Undefined references to libc functions. + +Index: Source/cmake/OptionsCommon.cmake +--- Source/cmake/OptionsCommon.cmake.orig ++++ Source/cmake/OptionsCommon.cmake +@@ -19,10 +19,10 @@ option(USE_THIN_ARCHIVES "Produce all static libraries + if (USE_THIN_ARCHIVES) + execute_process(COMMAND ${CMAKE_AR} -V OUTPUT_VARIABLE AR_VERSION) + if ("${AR_VERSION}" MATCHES "^GNU ar") +- set(CMAKE_CXX_ARCHIVE_CREATE "<CMAKE_AR> crT <TARGET> <LINK_FLAGS> <OBJECTS>") +- set(CMAKE_C_ARCHIVE_CREATE "<CMAKE_AR> crT <TARGET> <LINK_FLAGS> <OBJECTS>") +- set(CMAKE_CXX_ARCHIVE_APPEND "<CMAKE_AR> rT <TARGET> <LINK_FLAGS> <OBJECTS>") +- set(CMAKE_C_ARCHIVE_APPEND "<CMAKE_AR> rT <TARGET> <LINK_FLAGS> <OBJECTS>") ++ set(CMAKE_CXX_ARCHIVE_CREATE "<CMAKE_AR> cr <TARGET> <LINK_FLAGS> <OBJECTS>") ++ set(CMAKE_C_ARCHIVE_CREATE "<CMAKE_AR> cr <TARGET> <LINK_FLAGS> <OBJECTS>") ++ set(CMAKE_CXX_ARCHIVE_APPEND "<CMAKE_AR> r <TARGET> <LINK_FLAGS> <OBJECTS>") ++ set(CMAKE_C_ARCHIVE_APPEND "<CMAKE_AR> r <TARGET> <LINK_FLAGS> <OBJECTS>") + endif () + endif () + +@@ -178,9 +178,9 @@ if (NOT MSVC) + string(REGEX MATCHALL "-fsanitize=[^ ]*" ENABLED_COMPILER_SANITIZERS ${CMAKE_CXX_FLAGS}) + endif () + +-if (UNIX AND NOT APPLE AND NOT ENABLED_COMPILER_SANITIZERS) +- set(CMAKE_SHARED_LINKER_FLAGS "-Wl,--no-undefined ${CMAKE_SHARED_LINKER_FLAGS}") +-endif () ++#if (UNIX AND NOT APPLE AND NOT ENABLED_COMPILER_SANITIZERS) ++# set(CMAKE_SHARED_LINKER_FLAGS "-Wl,--no-undefined ${CMAKE_SHARED_LINKER_FLAGS}") ++#endif () + + # Enable the usage of OpenMP. + # - At this moment, OpenMP is only used as an alternative implementation Index: patches/patch-Source_cmake_WebKitCommon_cmake =================================================================== RCS file: patches/patch-Source_cmake_WebKitCommon_cmake diff -N patches/patch-Source_cmake_WebKitCommon_cmake --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-Source_cmake_WebKitCommon_cmake 26 Aug 2018 14:09:31 -0000 @@ -0,0 +1,18 @@ +$OpenBSD: patch-Source_cmake_WebKitCommon_cmake,v 1.4 2018/03/19 08:13:15 ajacoutot Exp $ + +Index: Source/cmake/WebKitCommon.cmake +--- Source/cmake/WebKitCommon.cmake.orig ++++ Source/cmake/WebKitCommon.cmake +@@ -29,9 +29,9 @@ if (NOT HAS_RUN_WEBKIT_COMMON) + # We cannot check for RUBY_FOUND because it is set only when the full package is installed and + # the only thing we need is the interpreter. Unlike Python, cmake does not provide a macro + # for finding only the Ruby interpreter. +- find_package(Ruby 1.9) +- if (NOT RUBY_EXECUTABLE OR RUBY_VERSION VERSION_LESS 1.9) +- message(FATAL_ERROR "Ruby 1.9 or higher is required.") ++ find_package(Ruby ${MODRUBY_LIBREV}) ++ if (NOT RUBY_EXECUTABLE OR RUBY_VERSION VERSION_LESS ${MODRUBY_LIBREV}) ++ message(FATAL_ERROR "Ruby ${MODRUBY_LIBREV} or higher is required.") + endif () + + # ----------------------------------------------------------------------------- Index: patches/patch-Tools_DumpRenderTree_JavaScriptThreading_cpp =================================================================== RCS file: patches/patch-Tools_DumpRenderTree_JavaScriptThreading_cpp diff -N patches/patch-Tools_DumpRenderTree_JavaScriptThreading_cpp --- patches/patch-Tools_DumpRenderTree_JavaScriptThreading_cpp 25 Dec 2016 14:13:13 -0000 1.1.1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,12 +0,0 @@ -$OpenBSD: patch-Tools_DumpRenderTree_JavaScriptThreading_cpp,v 1.1.1.1 2016/12/25 14:13:13 zhuk Exp $ ---- Tools/DumpRenderTree/JavaScriptThreading.cpp.orig Fri Dec 19 23:01:59 2014 -+++ Tools/DumpRenderTree/JavaScriptThreading.cpp Fri Dec 19 23:02:47 2014 -@@ -101,7 +101,7 @@ void runJavaScriptThread(void*) - } - - // Respawn probabilistically. -- if (rand() % 5) -+ if (arc4random_uniform(5)) - continue; - - MutexLocker locker(javaScriptThreadsMutex()); Index: patches/patch-Tools_mangleme_mangle_cgi_c =================================================================== RCS file: patches/patch-Tools_mangleme_mangle_cgi_c diff -N patches/patch-Tools_mangleme_mangle_cgi_c --- patches/patch-Tools_mangleme_mangle_cgi_c 25 Dec 2016 14:13:13 -0000 1.1.1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,12 +0,0 @@ -$OpenBSD: patch-Tools_mangleme_mangle_cgi_c,v 1.1.1.1 2016/12/25 14:13:13 zhuk Exp $ ---- Tools/mangleme/mangle.cgi.c.orig Fri Dec 26 02:50:45 2014 -+++ Tools/mangleme/mangle.cgi.c Fri Dec 26 02:51:04 2014 -@@ -18,7 +18,7 @@ - - #include "tags.h" - --#define R(x) (rand() % (x)) -+#define R(x) arc4random_uniform((x)) - - #define MAXTCOUNT 100 - #define MAXPCOUNT 20 Index: patches/patch-Tools_mangleme_remangle_cgi_c =================================================================== RCS file: patches/patch-Tools_mangleme_remangle_cgi_c diff -N patches/patch-Tools_mangleme_remangle_cgi_c --- patches/patch-Tools_mangleme_remangle_cgi_c 25 Dec 2016 14:13:13 -0000 1.1.1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,12 +0,0 @@ -$OpenBSD: patch-Tools_mangleme_remangle_cgi_c,v 1.1.1.1 2016/12/25 14:13:13 zhuk Exp $ ---- Tools/mangleme/remangle.cgi.c.orig Fri Dec 26 02:49:32 2014 -+++ Tools/mangleme/remangle.cgi.c Fri Dec 26 02:50:11 2014 -@@ -17,7 +17,7 @@ - - #include "tags.h" - --#define R(x) (rand() % (x)) -+#define R(x) arc4random_uniform((x)) - - #define MAXTCOUNT 100 - #define MAXPCOUNT 20 Index: patches/patch-Tools_qmake_config_tests_gccdepends_gccdepends_pro =================================================================== RCS file: patches/patch-Tools_qmake_config_tests_gccdepends_gccdepends_pro diff -N patches/patch-Tools_qmake_config_tests_gccdepends_gccdepends_pro --- patches/patch-Tools_qmake_config_tests_gccdepends_gccdepends_pro 17 Jul 2017 08:34:39 -0000 1.2 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,37 +0,0 @@ -$OpenBSD: patch-Tools_qmake_config_tests_gccdepends_gccdepends_pro,v 1.2 2017/07/17 08:34:39 zhuk Exp $ -Unbreak configure stage. -Index: Tools/qmake/config.tests/gccdepends/gccdepends.pro ---- Tools/qmake/config.tests/gccdepends/gccdepends.pro.orig -+++ Tools/qmake/config.tests/gccdepends/gccdepends.pro -@@ -1,27 +1,22 @@ - TEMPLATE = aux --OBJECTS_DIR = obj -+#OBJECTS_DIR = obj - QMAKE_CXXFLAGS += -MD - - base_filename = empty --object_file = $$OBJECTS_DIR/$${base_filename}.o -+object_file = $${base_filename}.o - deps_filename = $${base_filename}.d - - SOURCES += $${base_filename}.cpp - - test.commands = \ -- # Earlier teambuilder and icecream versions would not -- # respect the -o argument for the .d file, so the file -- # would end up in the root build dir. -- test ! -f $${deps_filename} && \ -- \ - # But it should end up in the OBJECTS_DIR -- test -f $$OBJECTS_DIR/$${deps_filename} && \ -+ test -f $${deps_filename} && \ - \ - # Icecream 0.9.7 and earlier does not ensure that the - # target rule matches the path of the .o file, since - # the file is compiled into the current dir and then - # moved. Verify that we don't hit that case. -- grep -q \"$${object_file}:\" $$OBJECTS_DIR/$${deps_filename} && \ -+ grep -q \"$${object_file}:\" $${deps_filename} && \ - \ - # If everything is all right we mark the test as succeeded - echo success > $$basename(PWD) Index: patches/patch-Tools_qmake_config_tests_glx_glx_pro =================================================================== RCS file: patches/patch-Tools_qmake_config_tests_glx_glx_pro diff -N patches/patch-Tools_qmake_config_tests_glx_glx_pro --- patches/patch-Tools_qmake_config_tests_glx_glx_pro 17 Jul 2017 08:34:39 -0000 1.2 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,12 +0,0 @@ -$OpenBSD: patch-Tools_qmake_config_tests_glx_glx_pro,v 1.2 2017/07/17 08:34:39 zhuk Exp $ -Unbreak configure stage. -Index: Tools/qmake/config.tests/glx/glx.pro ---- Tools/qmake/config.tests/glx/glx.pro.orig -+++ Tools/qmake/config.tests/glx/glx.pro -@@ -1,4 +1,4 @@ -+CONFIG += opengl x11 - SOURCES = glx.cpp --OBJECTS_DIR = obj --LIBS += -lX11 -lGL -+#OBJECTS_DIR = obj - Index: patches/patch-Tools_qmake_config_tests_libXcomposite_libXcomposite_pro =================================================================== RCS file: patches/patch-Tools_qmake_config_tests_libXcomposite_libXcomposite_pro diff -N patches/patch-Tools_qmake_config_tests_libXcomposite_libXcomposite_pro --- patches/patch-Tools_qmake_config_tests_libXcomposite_libXcomposite_pro 17 Jul 2017 08:34:39 -0000 1.2 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,12 +0,0 @@ -$OpenBSD: patch-Tools_qmake_config_tests_libXcomposite_libXcomposite_pro,v 1.2 2017/07/17 08:34:39 zhuk Exp $ -Unbreak configure stage. -Index: Tools/qmake/config.tests/libXcomposite/libXcomposite.pro ---- Tools/qmake/config.tests/libXcomposite/libXcomposite.pro.orig -+++ Tools/qmake/config.tests/libXcomposite/libXcomposite.pro -@@ -1,3 +1,4 @@ -+CONFIG += x11 - SOURCES = libXcomposite.cpp --OBJECTS_DIR = obj --LIBS += -lXcomposite -lX11 -+#OBJECTS_DIR = obj -+LIBS += -lXcomposite ${QMAKE_LIBS_X11} Index: patches/patch-Tools_qmake_config_tests_libXrender_libXrender_pro =================================================================== RCS file: patches/patch-Tools_qmake_config_tests_libXrender_libXrender_pro diff -N patches/patch-Tools_qmake_config_tests_libXrender_libXrender_pro --- patches/patch-Tools_qmake_config_tests_libXrender_libXrender_pro 17 Jul 2017 08:34:39 -0000 1.2 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,12 +0,0 @@ -$OpenBSD: patch-Tools_qmake_config_tests_libXrender_libXrender_pro,v 1.2 2017/07/17 08:34:39 zhuk Exp $ -Unbreak configure stage. -Index: Tools/qmake/config.tests/libXrender/libXrender.pro ---- Tools/qmake/config.tests/libXrender/libXrender.pro.orig -+++ Tools/qmake/config.tests/libXrender/libXrender.pro -@@ -1,3 +1,4 @@ -+CONFIG += x11 - SOURCES = libXrender.cpp --OBJECTS_DIR = obj --LIBS += -lXrender -lX11 -+#OBJECTS_DIR = obj -+LIBS += -lXrender ${QMAKE_LIBS_X11} Index: patches/patch-Tools_qmake_mkspecs_features_functions_prf =================================================================== RCS file: patches/patch-Tools_qmake_mkspecs_features_functions_prf diff -N patches/patch-Tools_qmake_mkspecs_features_functions_prf --- patches/patch-Tools_qmake_mkspecs_features_functions_prf 25 Dec 2016 14:13:13 -0000 1.1.1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,23 +0,0 @@ -$OpenBSD: patch-Tools_qmake_mkspecs_features_functions_prf,v 1.1.1.1 2016/12/25 14:13:13 zhuk Exp $ -Unbreak linking to static libraries by providing exact paths when possible. - -Particular problem: system version of leveldb gets picked up due to madness in -L. ---- Tools/qmake/mkspecs/features/functions.prf.orig Mon May 30 14:52:29 2016 -+++ Tools/qmake/mkspecs/features/functions.prf Sat Jul 30 00:00:45 2016 -@@ -269,14 +269,13 @@ defineTest(linkAgainstLibrary) { - mac { - LIBS += -Wl,-force_load,$${path}$${QMAKE_DIR_SEP}lib$${target}.a - } else:win32-msvc*|wince*|win32-icc { -+ LIBS += -L$$path - LIBS += -l$$target - QMAKE_LFLAGS += /OPT:REF - } else { - CONFIG *= no_smart_library_merge -- LIBS += -Wl,-whole-archive -l$$target -Wl,-no-whole-archive -+ LIBS += -Wl,-whole-archive $${path}/$${QMAKE_PREFIX_STATICLIB}$${target}.$${QMAKE_EXTENSION_STATICLIB} -Wl,-no-whole-archive - } -- -- LIBS += -L$$path - - win32-msvc*|wince*|win32-icc { - POST_TARGETDEPS += $${path}$${QMAKE_DIR_SEP}$${target}.lib Index: pkg/PLIST =================================================================== RCS file: /cvs/ports/x11/qt5/qtwebkit/pkg/PLIST,v retrieving revision 1.1 diff -u -p -u -p -r1.1 PLIST --- pkg/PLIST 29 Jul 2017 00:07:15 -0000 1.1 +++ pkg/PLIST 26 Aug 2018 14:09:31 -0000 @@ -2,45 +2,20 @@ @conflict qt5-<5.6 @pkgpath x11/qt5/qtwebkit,-main include/X11/qt5/QtWebKit/ -include/X11/qt5/QtWebKit/${VERSION}/ -include/X11/qt5/QtWebKit/${VERSION}/QtWebKit/ -include/X11/qt5/QtWebKit/${VERSION}/QtWebKit/private/ -include/X11/qt5/QtWebKit/${VERSION}/QtWebKit/private/bytearraytestdata.h -include/X11/qt5/QtWebKit/${VERSION}/QtWebKit/private/qhttpheader_p.h -include/X11/qt5/QtWebKit/${VERSION}/QtWebKit/private/qquicknetworkreply_p.h -include/X11/qt5/QtWebKit/${VERSION}/QtWebKit/private/qquicknetworkrequest_p.h -include/X11/qt5/QtWebKit/${VERSION}/QtWebKit/private/qquickurlschemedelegate_p.h -include/X11/qt5/QtWebKit/${VERSION}/QtWebKit/private/qquickwebpage_p.h -include/X11/qt5/QtWebKit/${VERSION}/QtWebKit/private/qquickwebpage_p_p.h -include/X11/qt5/QtWebKit/${VERSION}/QtWebKit/private/qquickwebview_p.h -include/X11/qt5/QtWebKit/${VERSION}/QtWebKit/private/qquickwebview_p_p.h -include/X11/qt5/QtWebKit/${VERSION}/QtWebKit/private/qrawwebview_p.h -include/X11/qt5/QtWebKit/${VERSION}/QtWebKit/private/qrawwebview_p_p.h -include/X11/qt5/QtWebKit/${VERSION}/QtWebKit/private/qtwebsecurityorigin_p.h -include/X11/qt5/QtWebKit/${VERSION}/QtWebKit/private/qwebchannelwebkittransport_p.h -include/X11/qt5/QtWebKit/${VERSION}/QtWebKit/private/qwebdatabase_p.h -include/X11/qt5/QtWebKit/${VERSION}/QtWebKit/private/qwebdownloaditem_p.h -include/X11/qt5/QtWebKit/${VERSION}/QtWebKit/private/qwebdownloaditem_p_p.h -include/X11/qt5/QtWebKit/${VERSION}/QtWebKit/private/qwebelement_p.h -include/X11/qt5/QtWebKit/${VERSION}/QtWebKit/private/qwebhistory_p.h -include/X11/qt5/QtWebKit/${VERSION}/QtWebKit/private/qwebiconimageprovider_p.h -include/X11/qt5/QtWebKit/${VERSION}/QtWebKit/private/qwebkittest_p.h -include/X11/qt5/QtWebKit/${VERSION}/QtWebKit/private/qwebloadrequest_p.h -include/X11/qt5/QtWebKit/${VERSION}/QtWebKit/private/qwebnavigationhistory_p.h -include/X11/qt5/QtWebKit/${VERSION}/QtWebKit/private/qwebnavigationhistory_p_p.h -include/X11/qt5/QtWebKit/${VERSION}/QtWebKit/private/qwebnavigationrequest_p.h -include/X11/qt5/QtWebKit/${VERSION}/QtWebKit/private/qwebpermissionrequest_p.h -include/X11/qt5/QtWebKit/${VERSION}/QtWebKit/private/qwebplugindatabase_p.h -include/X11/qt5/QtWebKit/${VERSION}/QtWebKit/private/qwebpreferences_p.h -include/X11/qt5/QtWebKit/${VERSION}/QtWebKit/private/qwebpreferences_p_p.h -include/X11/qt5/QtWebKit/${VERSION}/QtWebKit/private/qwebscriptworld.h -include/X11/qt5/QtWebKit/${VERSION}/QtWebKit/private/qwebscriptworld_p.h -include/X11/qt5/QtWebKit/${VERSION}/QtWebKit/private/qwebsecurityorigin_p.h -include/X11/qt5/QtWebKit/${VERSION}/QtWebKit/private/testwindow.h -include/X11/qt5/QtWebKit/${VERSION}/QtWebKit/private/util.h +include/X11/qt5/QtWebKit/5.212.0/ +include/X11/qt5/QtWebKit/5.212.0/QtWebKit/ +include/X11/qt5/QtWebKit/5.212.0/QtWebKit/private/ +include/X11/qt5/QtWebKit/5.212.0/QtWebKit/private/qhttpheader_p.h +include/X11/qt5/QtWebKit/5.212.0/QtWebKit/private/qwebdatabase_p.h +include/X11/qt5/QtWebKit/5.212.0/QtWebKit/private/qwebelement_p.h +include/X11/qt5/QtWebKit/5.212.0/QtWebKit/private/qwebhistory_p.h +include/X11/qt5/QtWebKit/5.212.0/QtWebKit/private/qwebplugindatabase_p.h +include/X11/qt5/QtWebKit/5.212.0/QtWebKit/private/qwebscriptworld_p.h +include/X11/qt5/QtWebKit/5.212.0/QtWebKit/private/qwebsecurityorigin_p.h include/X11/qt5/QtWebKit/QWebDatabase include/X11/qt5/QtWebKit/QWebElement include/X11/qt5/QtWebKit/QWebElementCollection +include/X11/qt5/QtWebKit/QWebFullScreenRequest include/X11/qt5/QtWebKit/QWebFullScreenVideoHandler include/X11/qt5/QtWebKit/QWebHapticFeedbackPlayer include/X11/qt5/QtWebKit/QWebHistory @@ -62,6 +37,7 @@ include/X11/qt5/QtWebKit/QtWebKitVersion include/X11/qt5/QtWebKit/qtwebkitversion.h include/X11/qt5/QtWebKit/qwebdatabase.h include/X11/qt5/QtWebKit/qwebelement.h +include/X11/qt5/QtWebKit/qwebfullscreenrequest.h include/X11/qt5/QtWebKit/qwebhistory.h include/X11/qt5/QtWebKit/qwebhistoryinterface.h include/X11/qt5/QtWebKit/qwebkitglobal.h @@ -70,13 +46,13 @@ include/X11/qt5/QtWebKit/qwebpluginfacto include/X11/qt5/QtWebKit/qwebsecurityorigin.h include/X11/qt5/QtWebKit/qwebsettings.h include/X11/qt5/QtWebKitWidgets/ -include/X11/qt5/QtWebKitWidgets/${VERSION}/ -include/X11/qt5/QtWebKitWidgets/${VERSION}/QtWebKitWidgets/ -include/X11/qt5/QtWebKitWidgets/${VERSION}/QtWebKitWidgets/private/ -include/X11/qt5/QtWebKitWidgets/${VERSION}/QtWebKitWidgets/private/qwebframe_p.h -include/X11/qt5/QtWebKitWidgets/${VERSION}/QtWebKitWidgets/private/qwebinspector_p.h -include/X11/qt5/QtWebKitWidgets/${VERSION}/QtWebKitWidgets/private/qwebpage_p.h -include/X11/qt5/QtWebKitWidgets/${VERSION}/QtWebKitWidgets/private/qwebviewaccessible_p.h +include/X11/qt5/QtWebKitWidgets/5.212.0/ +include/X11/qt5/QtWebKitWidgets/5.212.0/QtWebKitWidgets/ +include/X11/qt5/QtWebKitWidgets/5.212.0/QtWebKitWidgets/private/ +include/X11/qt5/QtWebKitWidgets/5.212.0/QtWebKitWidgets/private/qwebframe_p.h +include/X11/qt5/QtWebKitWidgets/5.212.0/QtWebKitWidgets/private/qwebinspector_p.h +include/X11/qt5/QtWebKitWidgets/5.212.0/QtWebKitWidgets/private/qwebpage_p.h +include/X11/qt5/QtWebKitWidgets/5.212.0/QtWebKitWidgets/private/qwebviewaccessible_p.h include/X11/qt5/QtWebKitWidgets/QGraphicsWebView include/X11/qt5/QtWebKitWidgets/QWebFrame include/X11/qt5/QtWebKitWidgets/QWebHitTestResult @@ -92,31 +68,16 @@ include/X11/qt5/QtWebKitWidgets/qwebfram include/X11/qt5/QtWebKitWidgets/qwebinspector.h include/X11/qt5/QtWebKitWidgets/qwebpage.h include/X11/qt5/QtWebKitWidgets/qwebview.h -@lib lib/libQt5WebKit.so.${LIBQt5WebKit_VERSION} -@lib lib/libQt5WebKitWidgets.so.${LIBQt5WebKitWidgets_VERSION} -lib/pkgconfig/Qt5WebKit.pc -lib/pkgconfig/Qt5WebKitWidgets.pc -lib/qt5/cmake/Qt5WebKit/ -lib/qt5/cmake/Qt5WebKit/Qt5WebKitConfig.cmake -lib/qt5/cmake/Qt5WebKit/Qt5WebKitConfigVersion.cmake -lib/qt5/cmake/Qt5WebKitWidgets/ -lib/qt5/cmake/Qt5WebKitWidgets/Qt5WebKitWidgetsConfig.cmake -lib/qt5/cmake/Qt5WebKitWidgets/Qt5WebKitWidgetsConfigVersion.cmake -lib/qt5/libQt5WebKit.la -lib/qt5/libQt5WebKit.prl -@lib lib/qt5/libQt5WebKit.so.${LIBQt5WebKit_VERSION} -lib/qt5/libQt5WebKitWidgets.la -lib/qt5/libQt5WebKitWidgets.prl -@lib lib/qt5/libQt5WebKitWidgets.so.${LIBQt5WebKitWidgets_VERSION} +lib/qt5/lib/ +@lib lib/qt5/lib/libQt5WebKit.so.${LIBQt5WebKit_VERSION} +@lib lib/qt5/lib/libQt5WebKitWidgets.so.${LIBQt5WebKitWidgets_VERSION} lib/qt5/libexec/ +@bin lib/qt5/libexec/QtWebDatabaseProcess +@bin lib/qt5/libexec/QtWebNetworkProcess @bin lib/qt5/libexec/QtWebPluginProcess @bin lib/qt5/libexec/QtWebProcess lib/qt5/mkspecs/modules/qt_lib_webkit.pri -lib/qt5/mkspecs/modules/qt_lib_webkit_private.pri lib/qt5/mkspecs/modules/qt_lib_webkitwidgets.pri -lib/qt5/mkspecs/modules/qt_lib_webkitwidgets_private.pri -lib/qt5/pkgconfig/Qt5WebKit.pc -lib/qt5/pkgconfig/Qt5WebKitWidgets.pc lib/qt5/qml/QtWebKit/ lib/qt5/qml/QtWebKit/experimental/ lib/qt5/qml/QtWebKit/experimental/libqmlwebkitexperimentalplugin.so