After more testing and polishing I've come up with the attached patch. It's a full diff to -current that incorporates the fixes from Stuart as well as the ONLY_FOR_ARCH=amd64 proposed by Landry.
I believe that only the icui18n problem is left: > On Sun, Jan 03, 2016 at 06:01:33PM +0000, Stuart Henderson wrote: > - dlopen handling needs adjusting for OpenBSD, otherwise you get > Unable to load library icui18n "Cannot load library icui18n: (File not found)" > as it tries to open libicui18n.so.56 Anybody know how to reproduce this? Is it only on specific urls? Frank
? test.pdf Index: Makefile =================================================================== RCS file: /cvs/ports/textproc/wkhtmltopdf/Makefile,v retrieving revision 1.3 diff -u -p -r1.3 Makefile --- Makefile 29 Dec 2015 19:49:41 -0000 1.3 +++ Makefile 6 Jan 2016 15:06:49 -0000 @@ -1,11 +1,17 @@ # $OpenBSD: Makefile,v 1.3 2015/12/29 19:49:41 jasper Exp $ +ONLY_FOR_ARCHS = amd64 +DPB_PROPERTIES = parallel nojunk + COMMENT = convert HTML to PDF using Webkit GH_ACCOUNT = wkhtmltopdf GH_PROJECT = wkhtmltopdf GH_TAGNAME = 0.12.2.4 - +QT_COMMIT = 7e48a1fac7e0f9aefccd01e9871f987da3a62fda +MASTER_SITES0 = https://github.com/wkhtmltopdf/qt/archive/ +DISTFILES = ${DISTNAME}.tar.gz wkhtmltopdf-qt-${QT_COMMIT}{${QT_COMMIT}}.tar.gz:0 +REVISION = 0 SHARED_LIBS = wkhtmltox 0.0 # 0.12 @@ -19,19 +25,104 @@ MAINTAINER = Frank Groeneveld <frank@fr PERMIT_PACKAGE_CDROM = Yes WANTLIB += ICE SM X11 Xext Xi Xinerama Xrender c fontconfig -WANTLIB += freetype m pthread stdc++ QtCore QtGui QtNetwork -WANTLIB += QtSvg QtWebKit QtXmlPatterns - -MODULES = x11/qt4 +WANTLIB += freetype m pthread stdc++ +BUILD_DEPENDS = converters/libiconv devel/gmake graphics/png graphics/jpeg MAKE_FLAGS = LIBwkhtmltox_VERSION=${LIBwkhtmltox_VERSION} +MAKE_ENV += WRKBUILD=${WRKBUILD} FAKE_FLAGS = INSTALL_ROOT=${WRKINST}${TRUEPREFIX} SEPARATE_BUILD = Yes NO_TEST = Yes +pre-patch: + cd ${WRKDIR}/${DISTNAME} && rmdir qt + cd ${WRKDIR}/${DISTNAME} && mv ../qt-${QT_COMMIT} qt + do-configure: - cd ${WRKBUILD} && env -i ${CONFIGURE_ENV} qmake4 ${WRKSRC}/wkhtmltopdf.pro + mkdir ${WRKBUILD}/qt + # qt config options taken from scripts/build.py + cd ${WRKBUILD}/qt && \ + env -i ${CONFIGURE_ENV} ${WRKSRC}/qt/configure \ + --prefix=${WRKBUILD}/qt \ + -opensource \ + -confirm-license \ + -fast \ + -release \ + -static \ + -graphicssystem raster \ + -webkit \ + -exceptions \ + -xmlpatterns \ + -system-zlib \ + -system-libpng \ + -system-libjpeg \ + -no-libmng \ + -no-libtiff \ + -no-accessibility \ + -no-stl \ + -no-qt3support \ + -no-phonon \ + -no-phonon-backend \ + -no-opengl \ + -no-declarative \ + -no-script \ + -no-scripttools \ + -no-sql-ibase \ + -no-sql-mysql \ + -no-sql-odbc \ + -no-sql-psql \ + -no-sql-sqlite \ + -no-sql-sqlite2 \ + -no-mmx \ + -no-3dnow \ + -no-sse \ + -no-sse2 \ + -no-multimedia \ + -nomake demos \ + -nomake docs \ + -nomake examples \ + -nomake tools \ + -nomake tests \ + -nomake translations \ + -silent \ + -xrender \ + -largefile \ + -iconv \ + -openssl \ + -no-rpath \ + -no-dbus \ + -no-nis \ + -no-cups \ + -no-pch \ + -no-gtkstyle \ + -no-nas-sound \ + -no-sm \ + -no-xshape \ + -no-xinerama \ + -no-xcursor \ + -no-xfixes \ + -no-xrandr \ + -no-mitshm \ + -no-xinput \ + -no-xkb \ + -no-glib \ + -no-gstreamer \ + -D ENABLE_VIDEO=0 \ + -no-openvg \ + -no-xsync \ + -no-audio-backend \ + -no-sse3 \ + -no-ssse3 \ + -no-sse4.1 \ + -no-sse4.2 \ + -no-avx \ + -no-neon + cd ${WRKBUILD} && env -i ${CONFIGURE_ENV} qt/bin/qmake \ + ${WRKSRC}/wkhtmltopdf.pro + +pre-build: + cd ${WRKBUILD}/qt && env -i ${MAKE_ENV} gmake ${MAKE_FLAGS} .include <bsd.port.mk> Index: distinfo =================================================================== RCS file: /cvs/ports/textproc/wkhtmltopdf/distinfo,v retrieving revision 1.1.1.1 diff -u -p -r1.1.1.1 distinfo --- distinfo 4 Nov 2015 21:11:16 -0000 1.1.1.1 +++ distinfo 6 Jan 2016 15:06:49 -0000 @@ -1,2 +1,4 @@ SHA256 (wkhtmltopdf-0.12.2.4.tar.gz) = 27AWbpzhkeeH6QlgHkzbrnEGnylpM2Lt9c19TUREcog= +SHA256 (wkhtmltopdf-qt-7e48a1fac7e0f9aefccd01e9871f987da3a62fda.tar.gz) = 0uxGcEwKVGE7Wlhv/0bSRZLFCiYYJJTxqkmKy0aLwlQ= SIZE (wkhtmltopdf-0.12.2.4.tar.gz) = 127595 +SIZE (wkhtmltopdf-qt-7e48a1fac7e0f9aefccd01e9871f987da3a62fda.tar.gz) = 173043701 Index: patches/patch-qt_config_tests_unix_gnu-libiconv_gnu-libiconv_cpp =================================================================== RCS file: patches/patch-qt_config_tests_unix_gnu-libiconv_gnu-libiconv_cpp diff -N patches/patch-qt_config_tests_unix_gnu-libiconv_gnu-libiconv_cpp --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-qt_config_tests_unix_gnu-libiconv_gnu-libiconv_cpp 6 Jan 2016 15:06:49 -0000 @@ -0,0 +1,12 @@ +$OpenBSD$ +--- qt/config.tests/unix/gnu-libiconv/gnu-libiconv.cpp.orig Wed Dec 9 20:22:20 2015 ++++ qt/config.tests/unix/gnu-libiconv/gnu-libiconv.cpp Wed Dec 9 20:22:28 2015 +@@ -48,7 +48,7 @@ int main(int, char **) + { + iconv_t x = iconv_open("", ""); + +- const char *inp; ++ char *inp; + char *outp; + size_t inbytes, outbytes; + iconv(x, &inp, &inbytes, &outp, &outbytes); Index: patches/patch-qt_qmake_generators_unix_unixmake2_cpp =================================================================== RCS file: patches/patch-qt_qmake_generators_unix_unixmake2_cpp diff -N patches/patch-qt_qmake_generators_unix_unixmake2_cpp --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-qt_qmake_generators_unix_unixmake2_cpp 6 Jan 2016 15:06:49 -0000 @@ -0,0 +1,121 @@ +$OpenBSD$ +--- qt/qmake/generators/unix/unixmake2.cpp.orig Thu Jul 2 13:46:37 2015 ++++ qt/qmake/generators/unix/unixmake2.cpp Sun Dec 13 11:47:43 2015 +@@ -247,10 +247,8 @@ UnixMakefileGenerator::writeMakeParts(QTextStream &t) + } else if(!project->isEmpty("QMAKE_SYMBIAN_SHLIB")) { + t << "TARGETD = " << escapeFilePath(var("TARGET")) << endl; + } else if(project->isEmpty("QMAKE_HPUX_SHLIB")) { +- t << "TARGETD = " << escapeFilePath(var("TARGET_x.y.z")) << endl; +- t << "TARGET0 = " << escapeFilePath(var("TARGET_")) << endl; +- t << "TARGET1 = " << escapeFilePath(var("TARGET_x")) << endl; +- t << "TARGET2 = " << escapeFilePath(var("TARGET_x.y")) << endl; ++ t << "LIB" << var("OBSD_TARGET_NAME") << "_VERSION = " << var("OBSD_TARGET_VERSION") << endl; ++ t << "TARGETD = " << var("OBSD_TARGET_x.y") << endl; + } else { + t << "TARGETD = " << escapeFilePath(var("TARGET_x")) << endl; + t << "TARGET0 = " << escapeFilePath(var("TARGET_")) << endl; +@@ -572,31 +570,22 @@ UnixMakefileGenerator::writeMakeParts(QTextStream &t) + t << endl << endl; + } else if(project->isEmpty("QMAKE_HPUX_SHLIB")) { + t << "\n\t" +- << "-$(DEL_FILE) $(TARGET) $(TARGET0) $(TARGET1) $(TARGET2)" << "\n\t" + << var("QMAKE_LINK_SHLIB_CMD") << "\n\t"; +- t << varGlue("QMAKE_LN_SHLIB","-"," "," $(TARGET) $(TARGET0)") << "\n\t" +- << varGlue("QMAKE_LN_SHLIB","-"," "," $(TARGET) $(TARGET1)") << "\n\t" +- << varGlue("QMAKE_LN_SHLIB","-"," "," $(TARGET) $(TARGET2)"); + if(!destdir.isEmpty()) + t << "\n\t" + << "-$(DEL_FILE) " << destdir << "$(TARGET)\n\t" +- << "-$(DEL_FILE) " << destdir << "$(TARGET0)\n\t" +- << "-$(DEL_FILE) " << destdir << "$(TARGET1)\n\t" +- << "-$(DEL_FILE) " << destdir << "$(TARGET2)\n\t" +- << "-$(MOVE) $(TARGET) $(TARGET0) $(TARGET1) $(TARGET2) " << destdir; ++ << "-$(MOVE) $(TARGET) " << destdir; + if(!project->isEmpty("QMAKE_POST_LINK")) + t << "\n\t" << var("QMAKE_POST_LINK"); + t << endl << endl; + } else { + t << "\n\t" +- << "-$(DEL_FILE) $(TARGET) $(TARGET0)" << "\n\t" ++ << "-$(DEL_FILE) $(TARGET)" << "\n\t" + << var("QMAKE_LINK_SHLIB_CMD") << "\n\t"; +- t << varGlue("QMAKE_LN_SHLIB",""," "," $(TARGET) $(TARGET0)"); + if(!destdir.isEmpty()) + t << "\n\t" + << "-$(DEL_FILE) " << destdir << "$(TARGET)\n\t" +- << "-$(DEL_FILE) " << destdir << "$(TARGET0)\n\t" +- << "-$(MOVE) $(TARGET) $(TARGET0) " << destdir; ++ << "-$(MOVE) $(TARGET) " << destdir; + if(!project->isEmpty("QMAKE_POST_LINK")) + t << "\n\t" << var("QMAKE_POST_LINK"); + t << endl << endl; +@@ -1019,6 +1008,13 @@ void UnixMakefileGenerator::init2() + project->values("VER_MAJ").append(l[0]); + project->values("VER_MIN").append(l[1]); + project->values("VER_PAT").append(l[2]); ++ project->values("OBSD_TARGET_NAME").append(project->first("TARGET")); ++ project->values("OBSD_TARGET_VERSION").append(project->first("VER_MAJ") + "." + project->first("VER_MIN")); ++ // for (portable) Makefiles ++ project->values("OBSD_TARGET_x.y").append("lib" + project->first("TARGET") + "." + project->first("QMAKE_EXTENSION_SHLIB") + ".$(LIB" + project->first("TARGET") + "_VERSION)"); ++ // for libtool files, to be updated by SUBST_CMD in OpenBSD ports ++ project->values("OBSD_SUBST_x.y").append("lib" + project->first("TARGET") + "." + project->first("QMAKE_EXTENSION_SHLIB") + ".${LIB" + project->first("TARGET") + "_VERSION}"); ++ + if(project->isEmpty("QMAKE_FRAMEWORK_VERSION")) + project->values("QMAKE_FRAMEWORK_VERSION").append(project->values("VER_MAJ").first()); + +@@ -1159,7 +1155,7 @@ void UnixMakefileGenerator::init2() + project->first("VER_MIN") + "." + + project->first("VER_PAT")); + } +- project->values("TARGET") = project->values("TARGET_x.y.z"); ++ project->values("TARGET") = project->values("OBSD_TARGET_x.y"); + } + if(project->isEmpty("QMAKE_LN_SHLIB")) + project->values("QMAKE_LN_SHLIB").append("ln -s"); +@@ -1304,18 +1300,31 @@ UnixMakefileGenerator::writeLibtoolFile() + << QT_VERSION_STR << ") on: " << QDateTime::currentDateTime().toString(); + t << "\n"; + +- t << "# The name that we can dlopen(3).\n" +- << "dlname='" << var(project->isActiveConfig("plugin") ? "TARGET" : "TARGET_x") +- << "'\n\n"; ++ t << "# The name that we can dlopen(3).\ndlname='"; ++ if(project->isActiveConfig("plugin")) { ++ t << var("TARGET"); ++ } else { ++#ifdef __OpenBSD__ ++ t << var("OBSD_SUBST_x.y"); ++#else ++ t << var("TARGET_x"); ++#endif ++ } ++ t << "'\n\n"; + + t << "# Names of this library.\n"; + t << "library_names='"; + if(project->isActiveConfig("plugin")) { + t << var("TARGET"); + } else { +- if (project->isEmpty("QMAKE_HPUX_SHLIB")) +- t << var("TARGET_x.y.z") << " "; +- t << var("TARGET_x") << " " << var("TARGET_"); ++ if (project->isEmpty("QMAKE_HPUX_SHLIB")) { ++#ifdef __OpenBSD__ ++ t << var("OBSD_SUBST_x.y") << " "; ++#else ++ t << var("TARGET_x.y.z") << " " << var("TARGET_x") << " "; ++#endif ++ } ++ t << var("TARGET_"); + } + t << "'\n\n"; + +@@ -1330,7 +1339,7 @@ UnixMakefileGenerator::writeLibtoolFile() + libs << "QMAKE_LIBS"; //obvious one + t << "dependency_libs='"; + for(QStringList::ConstIterator it = libs.begin(); it != libs.end(); ++it) +- t << project->values((*it)).join(" ") << " "; ++ t << project->values((*it)).join(" ").replace('(', '{').replace(')', '}') << " "; + t << "'\n\n"; + + t << "# Version information for " << lname << "\n"; Index: patches/patch-qt_qmake_generators_unix_unixmake_cpp =================================================================== RCS file: patches/patch-qt_qmake_generators_unix_unixmake_cpp diff -N patches/patch-qt_qmake_generators_unix_unixmake_cpp --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-qt_qmake_generators_unix_unixmake_cpp 6 Jan 2016 15:06:49 -0000 @@ -0,0 +1,12 @@ +$OpenBSD$ +--- qt/qmake/generators/unix/unixmake.cpp.orig Mon Dec 14 19:17:46 2015 ++++ qt/qmake/generators/unix/unixmake.cpp Mon Dec 14 19:17:54 2015 +@@ -757,7 +757,7 @@ UnixMakefileGenerator::defaultInstall(const QString &t + if(project->isEmpty("QMAKE_CYGWIN_SHLIB")) { + if(!project->isActiveConfig("staticlib") && !project->isActiveConfig("plugin")) { + if(project->isEmpty("QMAKE_HPUX_SHLIB")) { +- links << "$(TARGET0)" << "$(TARGET1)" << "$(TARGET2)"; ++ //links << "$(TARGET0)" << "$(TARGET1)" << "$(TARGET2)"; + } else { + links << "$(TARGET0)"; + } Index: patches/patch-qt_src_3rdparty_webkit_Source_JavaScriptCore_heap_MachineStackMarker_cpp =================================================================== RCS file: patches/patch-qt_src_3rdparty_webkit_Source_JavaScriptCore_heap_MachineStackMarker_cpp diff -N patches/patch-qt_src_3rdparty_webkit_Source_JavaScriptCore_heap_MachineStackMarker_cpp --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-qt_src_3rdparty_webkit_Source_JavaScriptCore_heap_MachineStackMarker_cpp 6 Jan 2016 15:06:49 -0000 @@ -0,0 +1,29 @@ +$OpenBSD$ +--- qt/src/3rdparty/webkit/Source/JavaScriptCore/heap/MachineStackMarker.cpp.orig Wed Dec 9 20:20:38 2015 ++++ qt/src/3rdparty/webkit/Source/JavaScriptCore/heap/MachineStackMarker.cpp Wed Dec 9 20:21:52 2015 +@@ -380,8 +380,10 @@ static size_t getPlatformThreadRegisters(const Platfor + #elif USE(PTHREADS) + pthread_attr_init(®s); + #if HAVE(PTHREAD_NP_H) || OS(NETBSD) ++#ifndef __OpenBSD__ + // e.g. on FreeBSD 5.4, [email protected] + pthread_attr_get_np(platformThread, ®s); ++#endif + #else + // FIXME: this function is non-portable; other POSIX systems may have different np alternatives + pthread_getattr_np(platformThread, ®s); +@@ -432,7 +434,14 @@ static inline void* otherThreadStackPointer(const Plat + #elif USE(PTHREADS) + void* stackBase = 0; + size_t stackSize = 0; ++#if defined(__OpenBSD__) ++ stack_t ss; ++ int rc = pthread_stackseg_np(pthread_self(), &ss); ++ stackBase = (void*)((size_t) ss.ss_sp - ss.ss_size); ++ stackSize = ss.ss_size; ++#else + int rc = pthread_attr_getstack(®s, &stackBase, &stackSize); ++#endif + (void)rc; // FIXME: Deal with error code somehow? Seems fatal. + ASSERT(stackBase); + return static_cast<char*>(stackBase) + stackSize; Index: patches/patch-qt_src_3rdparty_webkit_Source_JavaScriptCore_jit_JITStubs_cpp =================================================================== RCS file: patches/patch-qt_src_3rdparty_webkit_Source_JavaScriptCore_jit_JITStubs_cpp diff -N patches/patch-qt_src_3rdparty_webkit_Source_JavaScriptCore_jit_JITStubs_cpp --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-qt_src_3rdparty_webkit_Source_JavaScriptCore_jit_JITStubs_cpp 6 Jan 2016 15:06:49 -0000 @@ -0,0 +1,12 @@ +$OpenBSD$ +--- qt/src/3rdparty/webkit/Source/JavaScriptCore/jit/JITStubs.cpp.orig Wed Dec 9 21:34:01 2015 ++++ qt/src/3rdparty/webkit/Source/JavaScriptCore/jit/JITStubs.cpp Wed Dec 9 21:34:22 2015 +@@ -79,7 +79,7 @@ namespace JSC { + #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 SYMBOL_STRING_RELOCATION(name) #name "@plt" + #elif OS(DARWIN) || (CPU(X86_64) && COMPILER(MINGW) && !GCC_VERSION_AT_LEAST(4, 5, 0)) + #define SYMBOL_STRING_RELOCATION(name) "_" #name Index: patches/patch-qt_src_corelib_codecs_qiconvcodec_cpp =================================================================== RCS file: patches/patch-qt_src_corelib_codecs_qiconvcodec_cpp diff -N patches/patch-qt_src_corelib_codecs_qiconvcodec_cpp --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-qt_src_corelib_codecs_qiconvcodec_cpp 6 Jan 2016 15:06:49 -0000 @@ -0,0 +1,40 @@ +$OpenBSD$ +--- qt/src/corelib/codecs/qiconvcodec.cpp.orig Wed Dec 9 20:22:51 2015 ++++ qt/src/corelib/codecs/qiconvcodec.cpp Wed Dec 9 20:23:50 2015 +@@ -219,12 +219,7 @@ QString QIconvCodec::convertToUnicode(const char* char + IconvState *state = *pstate; + size_t inBytesLeft = len; + // best case assumption, each byte is converted into one UTF-16 character, plus 2 bytes for the BOM +-#ifdef GNU_LIBICONV +- // GNU doesn't disagree with POSIX :/ +- const char *inBytes = chars; +-#else + char *inBytes = const_cast<char *>(chars); +-#endif + + QByteArray in; + if (remainingCount) { +@@ -318,11 +313,7 @@ static bool setByteOrder(iconv_t cd) + size_t outBytesLeft = sizeof buf; + size_t inBytesLeft = sizeof bom; + +-#if defined(GNU_LIBICONV) +- const char **inBytesPtr = const_cast<const char **>(&inBytes); +-#else + char **inBytesPtr = &inBytes; +-#endif + + if (iconv(cd, inBytesPtr, &inBytesLeft, &outBytes, &outBytesLeft) == (size_t) -1) { + return false; +@@ -338,11 +329,7 @@ QByteArray QIconvCodec::convertFromUnicode(const QChar + char *outBytes; + size_t inBytesLeft; + +-#if defined(GNU_LIBICONV) +- const char **inBytesPtr = const_cast<const char **>(&inBytes); +-#else + char **inBytesPtr = &inBytes; +-#endif + + IconvState *temporaryState = 0; + QThreadStorage<QIconvCodec::IconvState *> *ts = fromUnicodeState(); Index: patches/patch-qt_src_network_ssl_qsslsocket_cpp =================================================================== RCS file: patches/patch-qt_src_network_ssl_qsslsocket_cpp diff -N patches/patch-qt_src_network_ssl_qsslsocket_cpp --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-qt_src_network_ssl_qsslsocket_cpp 6 Jan 2016 15:06:49 -0000 @@ -0,0 +1,13 @@ +$OpenBSD$ +--- qt/src/network/ssl/qsslsocket.cpp.orig Thu Jul 2 13:46:37 2015 ++++ qt/src/network/ssl/qsslsocket.cpp Wed Jan 6 14:32:16 2016 +@@ -2330,7 +2330,8 @@ QList<QByteArray> QSslSocketPrivate::unixRootCertDirec + << "/var/ssl/certs/" // AIX + << "/usr/local/ssl/certs/" // Solaris + << "/etc/openssl/certs/" // BlackBerry +- << "/opt/openssl/certs/"; // HP-UX ++ << "/opt/openssl/certs/" // HP-UX ++ << "/etc/ssl/"; // OpenBSD + } + + QT_END_NAMESPACE Index: patches/patch-qt_src_network_ssl_qsslsocket_openssl_cpp =================================================================== RCS file: patches/patch-qt_src_network_ssl_qsslsocket_openssl_cpp diff -N patches/patch-qt_src_network_ssl_qsslsocket_openssl_cpp --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-qt_src_network_ssl_qsslsocket_openssl_cpp 6 Jan 2016 15:06:49 -0000 @@ -0,0 +1,26 @@ +$OpenBSD$ +--- qt/src/network/ssl/qsslsocket_openssl.cpp.orig Thu Jul 2 13:46:37 2015 ++++ qt/src/network/ssl/qsslsocket_openssl.cpp Tue Jan 5 22:55:31 2016 +@@ -267,15 +267,19 @@ init_context: + #endif + break; + case QSsl::SslV3: ++#ifndef OPENSSL_NO_SSL3 + ctx = q_SSL_CTX_new(client ? q_SSLv3_client_method() : q_SSLv3_server_method()); ++#else ++ ctx = 0; // SSL 3 not supported by the system, but chosen deliberately -> error ++#endif + break; +- case QSsl::SecureProtocols: // SslV2 will be disabled below +- case QSsl::TlsV1SslV3: // SslV2 will be disabled below + case QSsl::AnyProtocol: +- default: + ctx = q_SSL_CTX_new(client ? q_SSLv23_client_method() : q_SSLv23_server_method()); + break; + case QSsl::TlsV1: ++ case QSsl::SecureProtocols: ++ case QSsl::TlsV1SslV3: ++ default: + ctx = q_SSL_CTX_new(client ? q_TLSv1_client_method() : q_TLSv1_server_method()); + break; + } Index: patches/patch-qt_src_network_ssl_qsslsocket_openssl_symbols_cpp =================================================================== RCS file: patches/patch-qt_src_network_ssl_qsslsocket_openssl_symbols_cpp diff -N patches/patch-qt_src_network_ssl_qsslsocket_openssl_symbols_cpp --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-qt_src_network_ssl_qsslsocket_openssl_symbols_cpp 6 Jan 2016 15:06:49 -0000 @@ -0,0 +1,39 @@ +$OpenBSD$ +--- qt/src/network/ssl/qsslsocket_openssl_symbols.cpp.orig Thu Jul 2 13:46:37 2015 ++++ qt/src/network/ssl/qsslsocket_openssl_symbols.cpp Tue Jan 5 22:55:36 2016 +@@ -228,13 +228,17 @@ DEFINEFUNC(int, SSL_shutdown, SSL *a, a, return -1, re + #ifndef OPENSSL_NO_SSL2 + DEFINEFUNC(const SSL_METHOD *, SSLv2_client_method, DUMMYARG, DUMMYARG, return 0, return) + #endif ++#ifndef OPENSSL_NO_SSL3 + DEFINEFUNC(const SSL_METHOD *, SSLv3_client_method, DUMMYARG, DUMMYARG, return 0, return) ++#endif + DEFINEFUNC(const SSL_METHOD *, SSLv23_client_method, DUMMYARG, DUMMYARG, return 0, return) + DEFINEFUNC(const SSL_METHOD *, TLSv1_client_method, DUMMYARG, DUMMYARG, return 0, return) + #ifndef OPENSSL_NO_SSL2 + DEFINEFUNC(const SSL_METHOD *, SSLv2_server_method, DUMMYARG, DUMMYARG, return 0, return) + #endif ++#ifndef OPENSSL_NO_SSL3 + DEFINEFUNC(const SSL_METHOD *, SSLv3_server_method, DUMMYARG, DUMMYARG, return 0, return) ++#endif + DEFINEFUNC(const SSL_METHOD *, SSLv23_server_method, DUMMYARG, DUMMYARG, return 0, return) + DEFINEFUNC(const SSL_METHOD *, TLSv1_server_method, DUMMYARG, DUMMYARG, return 0, return) + #else +@@ -822,13 +826,17 @@ bool q_resolveOpenSslSymbols() + #ifndef OPENSSL_NO_SSL2 + RESOLVEFUNC(SSLv2_client_method) + #endif ++#ifndef OPENSSL_NO_SSL3 + RESOLVEFUNC(SSLv3_client_method) ++#endif + RESOLVEFUNC(SSLv23_client_method) + RESOLVEFUNC(TLSv1_client_method) + #ifndef OPENSSL_NO_SSL2 + RESOLVEFUNC(SSLv2_server_method) + #endif ++#ifndef OPENSSL_NO_SSL3 + RESOLVEFUNC(SSLv3_server_method) ++#endif + RESOLVEFUNC(SSLv23_server_method) + RESOLVEFUNC(TLSv1_server_method) + RESOLVEFUNC(X509_NAME_entry_count) Index: patches/patch-src_image_image_pro =================================================================== RCS file: /cvs/ports/textproc/wkhtmltopdf/patches/patch-src_image_image_pro,v retrieving revision 1.1.1.1 diff -u -p -r1.1.1.1 patch-src_image_image_pro --- patches/patch-src_image_image_pro 4 Nov 2015 21:11:16 -0000 1.1.1.1 +++ patches/patch-src_image_image_pro 6 Jan 2016 15:06:49 -0000 @@ -1,6 +1,6 @@ $OpenBSD: patch-src_image_image_pro,v 1.1.1.1 2015/11/04 21:11:16 sthen Exp $ ---- src/image/image.pro.orig Fri Oct 23 22:05:02 2015 -+++ src/image/image.pro Fri Oct 23 22:06:26 2015 +--- src/image/image.pro.orig Sun Jul 12 07:34:52 2015 ++++ src/image/image.pro Sun Dec 27 11:11:46 2015 @@ -24,8 +24,8 @@ DEPENDPATH += . ../shared INCLUDEPATH += . ../shared @@ -12,3 +12,12 @@ $OpenBSD: patch-src_image_image_pro,v 1. QMAKE_EXTRA_TARGETS += man INSTALLS += man +@@ -45,6 +45,8 @@ CONFIG(shared, shared|static) { + } else { + include(../lib/lib.pri) + } ++ ++QMAKE_LFLAGS = -L${WRKBUILD}/qt/lib + + # Input + SOURCES += wkhtmltoimage.cc imagearguments.cc imagecommandlineparser.cc imagedocparts.cc Index: patches/patch-src_pdf_pdf_pro =================================================================== RCS file: /cvs/ports/textproc/wkhtmltopdf/patches/patch-src_pdf_pdf_pro,v retrieving revision 1.1.1.1 diff -u -p -r1.1.1.1 patch-src_pdf_pdf_pro --- patches/patch-src_pdf_pdf_pro 4 Nov 2015 21:11:16 -0000 1.1.1.1 +++ patches/patch-src_pdf_pdf_pro 6 Jan 2016 15:06:49 -0000 @@ -1,6 +1,6 @@ $OpenBSD: patch-src_pdf_pdf_pro,v 1.1.1.1 2015/11/04 21:11:16 sthen Exp $ ---- src/pdf/pdf.pro.orig Fri Oct 23 22:05:22 2015 -+++ src/pdf/pdf.pro Fri Oct 23 22:06:01 2015 +--- src/pdf/pdf.pro.orig Sun Jul 12 07:34:52 2015 ++++ src/pdf/pdf.pro Sun Dec 27 11:11:26 2015 @@ -24,8 +24,8 @@ DEPENDPATH += . ../shared INCLUDEPATH += . ../shared @@ -12,3 +12,12 @@ $OpenBSD: patch-src_pdf_pdf_pro,v 1.1.1. QMAKE_EXTRA_TARGETS += man INSTALLS += man +@@ -45,6 +45,8 @@ CONFIG(shared, shared|static) { + } else { + include(../lib/lib.pri) + } ++ ++QMAKE_LFLAGS = -L${WRKBUILD}/qt/lib + + #Application part + SOURCES += wkhtmltopdf.cc pdfarguments.cc pdfcommandlineparser.cc \
