Index: head/converters/wkhtmltopdf/Makefile
===================================================================
--- head/converters/wkhtmltopdf/Makefile (revision 437047)
+++ head/converters/wkhtmltopdf/Makefile (revision 437048)
@@ -1,81 +1,86 @@
# Created by: Martin Matuska
# $FreeBSD$
PORTNAME= wkhtmltopdf
-PORTVERSION= 0.12.3.2
+PORTVERSION= 0.12.4
CATEGORIES= converters
MAINTAINER= mm@FreeBSD.org
COMMENT= Convert HTML (or live webpages) to PDF or image
LICENSE= LGPL3
LICENSE_FILE= ${WRKSRC}/LICENSE
LIB_DEPENDS= libfontconfig.so:x11-fonts/fontconfig \
libfreetype.so:print/freetype2 \
libpng.so:graphics/png
USES= gmake iconv jpeg perl5 pkgconfig ssl:build
USE_XORG= x11 xext xrender
USE_PERL5= build
USE_LDCONFIG= yes
USE_GITHUB= yes
-WKQT_TAGNAME= fe194f9
+WKQT_TAGNAME= c0cfa03
GH_TUPLE= ${PORTNAME}:qt:${WKQT_TAGNAME}:qt
HAS_CONFIGURE= yes
BROKEN_aarch64= Does not build: error: cast from pointer to smaller type loses information
BROKEN_armv6= Does not build: error: Not supported ARM architecture
BROKEN_mips64= Does not link: undefined reference to __sync_add_and_fetch_4
BROKEN_powerpc64= Does not build
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
post-patch:
@${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" \
${PATCH_WRKSRC}/mkspecs/common/g++-base.conf
@${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 \
${WRKSRC}/build/wkhtmltox
post-build:
@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
.include
Index: head/converters/wkhtmltopdf/distinfo
===================================================================
--- head/converters/wkhtmltopdf/distinfo (revision 437047)
+++ head/converters/wkhtmltopdf/distinfo (revision 437048)
@@ -1,5 +1,5 @@
-TIMESTAMP = 1467664988
-SHA256 (wkhtmltopdf-wkhtmltopdf-0.12.3.2_GH0.tar.gz) = 721523ef87ccb937bf3714ade19b112f4cb8a2cd840e34b30f26ee262c41fe16
-SIZE (wkhtmltopdf-wkhtmltopdf-0.12.3.2_GH0.tar.gz) = 128050
-SHA256 (wkhtmltopdf-qt-fe194f9_GH0.tar.gz) = fa3f9dfc3fe3ee68280226bd1f4b8500883dd2549b985373e71aeff4e958b95a
-SIZE (wkhtmltopdf-qt-fe194f9_GH0.tar.gz) = 173008155
+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
Index: head/converters/wkhtmltopdf/files/patch-clientcert
===================================================================
--- head/converters/wkhtmltopdf/files/patch-clientcert (nonexistent)
+++ head/converters/wkhtmltopdf/files/patch-clientcert (revision 437048)
@@ -0,0 +1,129 @@
+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
___________________________________________________________________
Added: fbsd:nokeywords
## -0,0 +1 ##
+yes
\ No newline at end of property
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Index: head/converters/wkhtmltopdf/pkg-plist
===================================================================
--- head/converters/wkhtmltopdf/pkg-plist (revision 437047)
+++ head/converters/wkhtmltopdf/pkg-plist (revision 437048)
@@ -1,12 +1,12 @@
-bin/wkhtmltopdf
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.3
+lib/libwkhtmltox.so.0.12.4
man/man1/wkhtmltoimage.1.gz
man/man1/wkhtmltopdf.1.gz