Index: head/converters/wkhtmltopdf/Makefile =================================================================== --- head/converters/wkhtmltopdf/Makefile (revision 472284) +++ head/converters/wkhtmltopdf/Makefile (revision 472285) @@ -1,97 +1,92 @@ # Created by: Martin Matuska # $FreeBSD$ PORTNAME= wkhtmltopdf -PORTVERSION= 0.12.4 +PORTVERSION= 0.12.5 CATEGORIES= converters -MAINTAINER= mm@FreeBSD.org +MAINTAINER= pi@FreeBSD.org COMMENT= Convert HTML (or live webpages) to PDF or image LICENSE= LGPL3 LICENSE_FILE= ${WRKSRC}/LICENSE BROKEN_aarch64= fails to build: error: cast from pointer to smaller type loses information BROKEN_armv6= fails to build: error: Not supported ARM architecture BROKEN_armv7= fails to build: error: invalid operand for instruction BROKEN_mips64= fails to link: undefined reference to __sync_add_and_fetch_4 BROKEN_powerpc64= fails to build: RenderObject.o: sibling call optimization to does not allow automatic multiple TOCs BROKEN_SSL= openssl-devel BROKEN_SSL_REASON_openssl-devel= member access into incomplete type 'SSL_CIPHER' (aka 'ssl_cipher_st') LIB_DEPENDS= libfontconfig.so:x11-fonts/fontconfig \ libfreetype.so:print/freetype2 \ libpng.so:graphics/png USES= compiler:env gmake iconv jpeg perl5 pkgconfig ssl:build USE_XORG= x11 xext xrender USE_PERL5= build USE_LDCONFIG= yes USE_GITHUB= yes -WKQT_TAGNAME= c0cfa03 +WKQT_TAGNAME= 5db36ec GH_TUPLE= ${PORTNAME}:qt:${WKQT_TAGNAME}:qt +USE_CXXSTD= gnu++98 HAS_CONFIGURE= yes PATCH_WRKSRC= ${WRKSRC}/qt CONFIGURE_WRKSRC= ${WRKSRC}/build/qt BUILD_WRKSRC= ${WRKSRC}/build/qt INSTALL_WRKSRC= ${WRKSRC}/build/app CONFIGURE_SCRIPT= ../../qt/configure CONFIGURE_ARGS= -prefix ${WRKSRC}/build/qt \ -opensource -confirm-license -fast -release -static \ -graphicssystem raster -webkit -exceptions -xmlpatterns -system-zlib \ -system-libpng -system-libjpeg -no-libmng -no-libtiff -no-stl \ -no-accessibility -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 -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 MAKE_ARGS= INSTALL_ROOT="${STAGEDIR}${PREFIX}" pre-patch: - @${RMDIR} ${WRKSRC}/qt - @${LN} -s ../qt-${WKQT_TAGNAME} ${WRKSRC}/qt + ${RMDIR} ${WRKSRC}/qt + ${LN} -s ../qt-${WKQT_TAGNAME} ${WRKSRC}/qt post-patch: - @${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|g' \ + ${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|g' \ -e 's|/usr/X11R6/include|${LOCALBASE}/include/X11|g' \ -e 's|/usr/X11R6/lib|${LOCALBASE}/lib|g' \ ${PATCH_WRKSRC}/mkspecs/freebsd-g++/qmake.conf - @${REINPLACE_CMD} -e "s|gcc|${CC}|g" -e "s|g++|${CXX}|g" \ + ${REINPLACE_CMD} -e "s|gcc|${CC}|g" -e "s|g++|${CXX}|g" \ ${PATCH_WRKSRC}/mkspecs/common/g++-base.conf - @${REINPLACE_CMD} -e "s|share/man|man|g" \ + ${REINPLACE_CMD} -e "s|share/man|man|g" \ ${WRKSRC}/src/image/image.pro \ ${WRKSRC}/src/pdf/pdf.pro - @${MKDIR} ${WRKSRC}/build/app ${WRKSRC}/build/qt \ + ${ECHO} 'LIBS+= -lcrypto' >>${WRKSRC}/src/image/image.pro + ${ECHO} 'LIBS+= -lcrypto' >>${WRKSRC}/src/pdf/pdf.pro + ${MKDIR} ${WRKSRC}/build/app ${WRKSRC}/build/qt \ ${WRKSRC}/build/wkhtmltox post-build: - @cd ${WRKSRC}/build/app && ${SETENV} ${MAKE_ENV} \ + cd ${WRKSRC}/build/app && ${SETENV} ${MAKE_ENV} \ ../qt/bin/qmake ../../wkhtmltopdf.pro && \ ${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_FLAGS} ${MAKEFILE} \ ${_MAKE_JOBS} ${MAKE_ARGS:C,^${DESTDIRNAME}=.*,,g} \ ${ALL_TARGET} post-install: ${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/wkhtmltoimage \ ${STAGEDIR}${PREFIX}/bin/wkhtmltopdf \ - ${STAGEDIR}${PREFIX}/lib/libwkhtmltox.so.0.12.4 + ${STAGEDIR}${PREFIX}/lib/libwkhtmltox.so.${PORTVERSION} -.include - -.if ${OPSYS} == FreeBSD -.if ${COMPILER_TYPE:Mclang} && ${COMPILER_VERSION} >= 60 -BROKEN= Does not build -.endif -.endif - -.include +.include Index: head/converters/wkhtmltopdf/distinfo =================================================================== --- head/converters/wkhtmltopdf/distinfo (revision 472284) +++ head/converters/wkhtmltopdf/distinfo (revision 472285) @@ -1,5 +1,5 @@ -TIMESTAMP = 1489939659 -SHA256 (wkhtmltopdf-wkhtmltopdf-0.12.4_GH0.tar.gz) = dd466f5c2504670459f3b8265de5697b9054f077e2f3e392e5172b5133080edf -SIZE (wkhtmltopdf-wkhtmltopdf-0.12.4_GH0.tar.gz) = 128695 -SHA256 (wkhtmltopdf-qt-c0cfa03_GH0.tar.gz) = f313fdf8e0b7630f47a6bfba749bea128234379b311a8c609b1da450027eb4ee -SIZE (wkhtmltopdf-qt-c0cfa03_GH0.tar.gz) = 172992697 +TIMESTAMP = 1528798989 +SHA256 (wkhtmltopdf-wkhtmltopdf-0.12.5_GH0.tar.gz) = 861d6e61e2f5beb2d8daaade2cd5a85b84065ee9fac0d6d85000d8a7712a4621 +SIZE (wkhtmltopdf-wkhtmltopdf-0.12.5_GH0.tar.gz) = 511181 +SHA256 (wkhtmltopdf-qt-5db36ec_GH0.tar.gz) = 2b60944b46a4b0b9cdb9ce0339c3bf8f54c5ff9411cbc3c6a6ad01f88cc578e1 +SIZE (wkhtmltopdf-qt-5db36ec_GH0.tar.gz) = 172992377 Index: head/converters/wkhtmltopdf/files/patch-src_3rdparty_webkit_Source_WebCore_html_HTMLImageElement.cpp =================================================================== --- head/converters/wkhtmltopdf/files/patch-src_3rdparty_webkit_Source_WebCore_html_HTMLImageElement.cpp (revision 472284) +++ head/converters/wkhtmltopdf/files/patch-src_3rdparty_webkit_Source_WebCore_html_HTMLImageElement.cpp (nonexistent) @@ -1,21 +0,0 @@ ------------------------------------------------------------------------- -r113848 | abecsi@webkit.org | 2012-04-11 11:23:19 +0000 (Wed, 11 Apr 2012) | 27 lines - -Fix the build with gcc 4.7.0 -https://bugs.webkit.org/show_bug.cgi?id=83584 -[...] -* html/HTMLImageElement.cpp: -(WebCore::HTMLImageElement::createForJSConstructor): Fails because of -Werror=extra -[...] - ---- src/3rdparty/webkit/Source/WebCore/html/HTMLImageElement.cpp.orig 2015-05-07 14:14:47 UTC -+++ src/3rdparty/webkit/Source/WebCore/html/HTMLImageElement.cpp -@@ -74,7 +74,7 @@ PassRefPtr HTMLImageEl - RefPtr image = adoptRef(new HTMLImageElement(imgTag, document)); - if (optionalWidth) - image->setWidth(*optionalWidth); -- if (optionalHeight > 0) -+ if (optionalHeight) - image->setHeight(*optionalHeight); - return image.release(); - } Property changes on: head/converters/wkhtmltopdf/files/patch-src_3rdparty_webkit_Source_WebCore_html_HTMLImageElement.cpp ___________________________________________________________________ Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property Index: head/converters/wkhtmltopdf/files/patch-clientcert =================================================================== --- head/converters/wkhtmltopdf/files/patch-clientcert (revision 472284) +++ head/converters/wkhtmltopdf/files/patch-clientcert (nonexistent) @@ -1,129 +0,0 @@ -diff --git a/AUTHORS ../wkhtmltopdf-0.12.4/AUTHORS -index 62f43f4..1067b9b 100644 ---- a/AUTHORS -+++ ../wkhtmltopdf-0.12.4/AUTHORS -@@ -38,3 +38,4 @@ Mehdi Abbad - Lyes Amazouz - Pascal Bach - Mário Silva -+Jason Smith -diff --git a/include/wkhtmltox/loadsettings.hh ../wkhtmltopdf-0.12.4/include/wkhtmltox/loadsettings.hh -index 5b9565f..3b9c765 100644 ---- a/include/wkhtmltox/loadsettings.hh -+++ ../wkhtmltopdf-0.12.4/include/wkhtmltox/loadsettings.hh -@@ -67,6 +67,15 @@ struct DLL_PUBLIC LoadPage { - //! Password used for http auth login - QString password; - -+ //! Path to the ssl client cert private key in OpenSSL PEM format -+ QString clientSslKeyPath; -+ -+ //! Password to ssl client cert private key -+ QString clientSslKeyPassword; -+ -+ //! Path to the ssl client cert public key in OpenSSL PEM format, optionally followed by intermediate ca and trusted certs -+ QString clientSslCrtPath; -+ - //! How many milliseconds should we wait for a Javascript redirect - int jsdelay; - -diff --git a/src/lib/loadsettings.hh ../wkhtmltopdf-0.12.4/src/lib/loadsettings.hh -index 20a5da2..bdd2739 100644 ---- a/src/lib/loadsettings.hh -+++ ../wkhtmltopdf-0.12.4/src/lib/loadsettings.hh -@@ -70,6 +70,15 @@ struct DLL_PUBLIC LoadPage { - //! Password used for http auth login - QString password; - -+ //! Path to the ssl client cert private key in OpenSSL PEM format -+ QString clientSslKeyPath; -+ -+ //! Password to ssl client cert private key -+ QString clientSslKeyPassword; -+ -+ //! Path to the ssl client cert public key in OpenSSL PEM format, optionally followed by intermediate ca and trusted certs -+ QString clientSslCrtPath; -+ - //! How many milliseconds should we wait for a Javascript redirect - int jsdelay; - -diff --git a/src/lib/multipageloader.cc ../wkhtmltopdf-0.12.4/src/lib/multipageloader.cc -index 7e61485..841dd6e 100644 ---- a/src/lib/multipageloader.cc -+++ ../wkhtmltopdf-0.12.4/src/lib/multipageloader.cc -@@ -26,6 +26,13 @@ - #include - #include - #include -+#include -+#include -+#if (QT_VERSION >= 0x050000 && !defined QT_NO_SSL) || !defined QT_NO_OPENSSL -+#include -+#include -+#include -+#endif - #if QT_VERSION >= 0x050000 - #include - #endif -@@ -104,6 +111,33 @@ QNetworkReply * MyNetworkAccessManager::createRequest(Operation op, const QNetwo - foreach (const HT & j, settings.customHeaders) - r3.setRawHeader(j.first.toLatin1(), j.second.toLatin1()); - } -+ -+ #if (QT_VERSION >= 0x050000 && !defined QT_NO_SSL) || !defined QT_NO_OPENSSL -+ if(!settings.clientSslKeyPath.isEmpty() && !settings.clientSslKeyPassword.isEmpty() -+ && !settings.clientSslCrtPath.isEmpty()){ -+ bool success = true; -+ QSslConfiguration sslConfig = QSslConfiguration::defaultConfiguration(); -+ -+ QFile keyFile(settings.clientSslKeyPath); -+ if(keyFile.open(QFile::ReadOnly)){ -+ QSslKey key(&keyFile, QSsl::Rsa, QSsl::Pem, QSsl::PrivateKey, settings.clientSslKeyPassword.toUtf8()); -+ sslConfig.setPrivateKey(key); -+ keyFile.close(); -+ -+ QList chainCerts = -+ QSslCertificate::fromPath(settings.clientSslCrtPath.toLatin1(), QSsl::Pem, QRegExp::FixedString); -+ QList cas = sslConfig.caCertificates(); -+ cas.append(chainCerts); -+ if(!chainCerts.isEmpty()){ -+ sslConfig.setLocalCertificate(chainCerts.first()); -+ sslConfig.setCaCertificates(cas); -+ -+ r3.setSslConfiguration(sslConfig); -+ } -+ } -+ } -+ #endif -+ - return QNetworkAccessManager::createRequest(op, r3, outgoingData); - } - -diff --git a/src/lib/reflect.cc ../wkhtmltopdf-0.12.4/src/lib/reflect.cc -index 32fc819..46e884c 100644 ---- a/src/lib/reflect.cc -+++ ../wkhtmltopdf-0.12.4/src/lib/reflect.cc -@@ -57,6 +57,9 @@ ReflectImpl::ReflectImpl(LoadGlobal & c) { - ReflectImpl::ReflectImpl(LoadPage & c) { - WKHTMLTOPDF_REFLECT(username); - WKHTMLTOPDF_REFLECT(password); -+ WKHTMLTOPDF_REFLECT(clientSslKeyPath); -+ WKHTMLTOPDF_REFLECT(clientSslKeyPassword); -+ WKHTMLTOPDF_REFLECT(clientSslCrtPath); - WKHTMLTOPDF_REFLECT(jsdelay); - WKHTMLTOPDF_REFLECT(windowStatus); - WKHTMLTOPDF_REFLECT(zoomFactor); -diff --git a/src/shared/commonarguments.cc ../wkhtmltopdf-0.12.4/src/shared/commonarguments.cc -index 3d45aaf..812f7b8 100644 ---- a/src/shared/commonarguments.cc -+++ ../wkhtmltopdf-0.12.4/src/shared/commonarguments.cc -@@ -206,6 +206,9 @@ void CommandLineParserBase::addPageLoadArgs(LoadPage & s) { - addarg("bypass-proxy-for", 0, "Bypass proxy for host (repeatable)", new StringListSetter(s.bypassProxyForHosts, "value")); - addarg("username",0,"HTTP Authentication username", new QStrSetter(s.username, "username")); - addarg("password",0,"HTTP Authentication password", new QStrSetter(s.password, "password")); -+ addarg("ssl-key-path",0,"Path to ssl client cert private key in OpenSSL PEM format", new QStrSetter(s.clientSslKeyPath, "path")); -+ addarg("ssl-key-password",0,"Password to ssl client cert private key", new QStrSetter(s.clientSslKeyPassword, "password")); -+ addarg("ssl-crt-path",0,"Path to the ssl client cert public key in OpenSSL PEM format, optionally followed by intermediate ca and trusted certs", new QStrSetter(s.clientSslCrtPath, "path")); - addarg("load-error-handling", 0, "Specify how to handle pages that fail to load: abort, ignore or skip", new LoadErrorHandlingSetting(s.loadErrorHandling, "handler")); - addarg("load-media-error-handling", 0, "Specify how to handle media files that fail to load: abort, ignore or skip", new LoadErrorHandlingSetting(s.mediaLoadErrorHandling, "handler")); - addarg("custom-header",0,"Set an additional HTTP header (repeatable)", new MapSetter<>(s.customHeaders, "name", "value")); Property changes on: head/converters/wkhtmltopdf/files/patch-clientcert ___________________________________________________________________ Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property Index: head/converters/wkhtmltopdf/pkg-plist =================================================================== --- head/converters/wkhtmltopdf/pkg-plist (revision 472284) +++ head/converters/wkhtmltopdf/pkg-plist (revision 472285) @@ -1,12 +1,12 @@ bin/wkhtmltoimage bin/wkhtmltopdf include/wkhtmltox/dllbegin.inc include/wkhtmltox/dllend.inc include/wkhtmltox/image.h include/wkhtmltox/pdf.h lib/libwkhtmltox.so lib/libwkhtmltox.so.0 lib/libwkhtmltox.so.0.12 -lib/libwkhtmltox.so.0.12.4 +lib/libwkhtmltox.so.0.12.5 man/man1/wkhtmltoimage.1.gz man/man1/wkhtmltopdf.1.gz