converters/wkhtmltopdf: update 0.12.4 -> 0.12.5, unbreak
- take maintainer PR: 228968, 228732 Submitted by: truckman, pi Reviewed by: Ashish Kulkarni <kulkarni.ashish@gmail.com> (upstream) Approved by: mm (maintainer) Relnotes: https://github.com/wkhtmltopdf/wkhtmltopdf/releases
This commit is contained in:
parent
7f2748bce1
commit
0fc336a6f2
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=472285
@ -2,10 +2,10 @@
|
||||
# $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
|
||||
@ -28,8 +28,9 @@ 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
|
||||
@ -58,24 +59,26 @@ CONFIGURE_ARGS= -prefix ${WRKSRC}/build/qt \
|
||||
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} \
|
||||
@ -84,14 +87,6 @@ post-build:
|
||||
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 <bsd.port.pre.mk>
|
||||
|
||||
.if ${OPSYS} == FreeBSD
|
||||
.if ${COMPILER_TYPE:Mclang} && ${COMPILER_VERSION} >= 60
|
||||
BROKEN= Does not build
|
||||
.endif
|
||||
.endif
|
||||
|
||||
.include <bsd.port.post.mk>
|
||||
.include <bsd.port.mk>
|
||||
|
@ -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
|
||||
|
@ -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 <JasonParallel@gmail.com>
|
||||
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 <QNetworkDiskCache>
|
||||
#include <QTimer>
|
||||
#include <QUuid>
|
||||
+#include <QList>
|
||||
+#include <QByteArray>
|
||||
+#if (QT_VERSION >= 0x050000 && !defined QT_NO_SSL) || !defined QT_NO_OPENSSL
|
||||
+#include <QSslCertificate>
|
||||
+#include <QSslKey>
|
||||
+#include <QSslConfiguration>
|
||||
+#endif
|
||||
#if QT_VERSION >= 0x050000
|
||||
#include <QUrlQuery>
|
||||
#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<QSslCertificate> chainCerts =
|
||||
+ QSslCertificate::fromPath(settings.clientSslCrtPath.toLatin1(), QSsl::Pem, QRegExp::FixedString);
|
||||
+ QList<QSslCertificate> 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<LoadGlobal>::ReflectImpl(LoadGlobal & c) {
|
||||
ReflectImpl<LoadPage>::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"));
|
@ -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<HTMLImageElement> HTMLImageEl
|
||||
RefPtr<HTMLImageElement> image = adoptRef(new HTMLImageElement(imgTag, document));
|
||||
if (optionalWidth)
|
||||
image->setWidth(*optionalWidth);
|
||||
- if (optionalHeight > 0)
|
||||
+ if (optionalHeight)
|
||||
image->setHeight(*optionalHeight);
|
||||
return image.release();
|
||||
}
|
@ -7,6 +7,6 @@ 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
|
||||
|
Loading…
Reference in New Issue
Block a user