diff --git a/converters/wkhtmltopdf/Makefile b/converters/wkhtmltopdf/Makefile index 95a2d2c62c0f..1fcd2ec5c1fc 100644 --- a/converters/wkhtmltopdf/Makefile +++ b/converters/wkhtmltopdf/Makefile @@ -1,102 +1,101 @@ PORTNAME= wkhtmltopdf PORTVERSION= 0.12.6 PORTREVISION= 1 CATEGORIES= converters MAINTAINER= pi@FreeBSD.org COMMENT= Convert HTML (or live webpages) to PDF or image WWW= https://github.com/wkhtmltopdf/wkhtmltopdf LICENSE= LGPL3 LICENSE_FILE= ${WRKSRC}/LICENSE DEPRECATED= Upstream abandoned the project EXPIRATION_DATE= 2024-06-30 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 RUN_DEPENDS= webfonts>=0:x11-fonts/webfonts LIB_DEPENDS= libfontconfig.so:x11-fonts/fontconfig \ libfreetype.so:print/freetype2 \ libpng.so:graphics/png USES= compiler gmake iconv jpeg perl5 pkgconfig ssl xorg USE_XORG= x11 xext xrender USE_PERL5= build USE_LDCONFIG= yes USE_GITHUB= yes WKQT_TAGNAME= 5db36ec GH_TUPLE= ${PORTNAME}:qt:${WKQT_TAGNAME}:qt 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-linked -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}" .include .if ${ARCH} == "i386" || ${ARCH} == "powerpc" || ${CHOSEN_COMPILER_TYPE} == gcc USE_GCC= 8 .endif 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|%%LOCALBASE%%|${LOCALBASE}|g' \ ${PATCH_WRKSRC}/mkspecs/common/gcc-base.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 ${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 .if ${OPSYS} == FreeBSD && ( ${OSVERSION} >= 1400091 || ( ${OSVERSION} >= 1302507 && ${OSVERSION} < 1400000 )) @${FIND} ${PATCH_WRKSRC}/../qt-5db36ec -name "*.cpp" -o -name "*.h" | \ ${XARGS} ${REINPLACE_CMD} -E 's|register ([a-zA-Z])|\1|g' .endif 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.${PORTVERSION} .include diff --git a/converters/wkhtmltopdf/files/patch-src_3rdparty_webkit_Source_WebCore_platform_graphics_filters_arm_FEGaussianBlurNEON.cpp b/converters/wkhtmltopdf/files/patch-src_3rdparty_webkit_Source_WebCore_platform_graphics_filters_arm_FEGaussianBlurNEON.cpp new file mode 100644 index 000000000000..ded07e4bb198 --- /dev/null +++ b/converters/wkhtmltopdf/files/patch-src_3rdparty_webkit_Source_WebCore_platform_graphics_filters_arm_FEGaussianBlurNEON.cpp @@ -0,0 +1,11 @@ +--- src/3rdparty/webkit/Source/WebCore/platform/graphics/filters/arm/FEGaussianBlurNEON.cpp.orig 2023-10-03 22:33:30 UTC ++++ src/3rdparty/webkit/Source/WebCore/platform/graphics/filters/arm/FEGaussianBlurNEON.cpp +@@ -285,7 +285,7 @@ TOSTRING(neonDrawAlphaChannelGaussianBlur) ":" NL + "vmov.u32 " REMAINING_STRIDES_R ", " REMAINING_STRIDES_S0 NL + // Early return for 0 strides. + "cmp " REMAINING_STRIDES_R ", #0" NL +- "ldmeqia sp!, {r4-r8, r10, r11, pc}" NL ++ "ldmiaeq sp!, {r4-r8, r10, r11, pc}" NL + + // Initialize the sum variable. + "vmov.u32 " SUM_Q ", #0" NL diff --git a/converters/wkhtmltopdf/files/patch-src_3rdparty_webkit_Source_WebCore_platform_graphics_filters_arm_FELightingNEON.cpp b/converters/wkhtmltopdf/files/patch-src_3rdparty_webkit_Source_WebCore_platform_graphics_filters_arm_FELightingNEON.cpp new file mode 100644 index 000000000000..4397f3ac2e80 --- /dev/null +++ b/converters/wkhtmltopdf/files/patch-src_3rdparty_webkit_Source_WebCore_platform_graphics_filters_arm_FELightingNEON.cpp @@ -0,0 +1,16 @@ +--- src/3rdparty/webkit/Source/WebCore/platform/graphics/filters/arm/FELightingNEON.cpp.orig 2023-10-03 22:30:40 UTC ++++ src/3rdparty/webkit/Source/WebCore/platform/graphics/filters/arm/FELightingNEON.cpp +@@ -398,11 +398,11 @@ TOSTRING(neonDrawLighting) ":" NL + "vmin.f32 " TMP2_D0 ", " TMP2_D0 ", " CONST_ONE_HI_D NL + "vmul.f32 " TMP3_Q ", " COLOR_Q ", " TMP2_D0 "[1]" NL + "vcvt.u32.f32 " TMP3_Q ", " TMP3_Q NL +- "vmov.u32 r2, r3, " TMP3_S0 ", " TMP3_S1 NL ++ "vmov r2, r3, " TMP3_S0 ", " TMP3_S1 NL + // The color values are stored in-place. + "strb r2, [" PIXELS_R ", #-11]" NL + "strb r3, [" PIXELS_R ", #-10]" NL +- "vmov.u32 r2, " TMP3_S2 NL ++ "vmov r2, " TMP3_S2 NL + "strb r2, [" PIXELS_R ", #-9]" NL + + // Continue to the next pixel. diff --git a/converters/wkhtmltopdf/files/patch-src_gui_kernel_qx11embed__x11.cpp b/converters/wkhtmltopdf/files/patch-src_gui_kernel_qx11embed__x11.cpp new file mode 100644 index 000000000000..7091bedefde3 --- /dev/null +++ b/converters/wkhtmltopdf/files/patch-src_gui_kernel_qx11embed__x11.cpp @@ -0,0 +1,29 @@ +--- src/gui/kernel/qx11embed_x11.cpp.orig 2023-10-03 21:02:05 UTC ++++ src/gui/kernel/qx11embed_x11.cpp +@@ -483,7 +483,7 @@ QX11EmbedWidget::QX11EmbedWidget(QWidget *parent) + | ExposureMask | StructureNotifyMask + | SubstructureNotifyMask | PropertyChangeMask); + +- long data[] = {XEMBED_VERSION, XEMBED_MAPPED}; ++ long data[] = {static_cast(XEMBED_VERSION), XEMBED_MAPPED}; + XChangeProperty(x11Info().display(), internalWinId(), ATOM(_XEMBED_INFO), + ATOM(_XEMBED_INFO), 32, PropModeReplace, + (unsigned char*) data, 2); +@@ -1578,7 +1578,7 @@ void QX11EmbedContainer::showEvent(QShowEvent *) + { + Q_D(QX11EmbedContainer); + if (d->client) { +- long data[] = {XEMBED_VERSION, XEMBED_MAPPED}; ++ long data[] = {static_cast(XEMBED_VERSION), XEMBED_MAPPED}; + XChangeProperty(x11Info().display(), d->client, ATOM(_XEMBED_INFO), ATOM(_XEMBED_INFO), 32, + PropModeReplace, (unsigned char *) data, 2); + } +@@ -1594,7 +1594,7 @@ void QX11EmbedContainer::hideEvent(QHideEvent *) + { + Q_D(QX11EmbedContainer); + if (d->client) { +- long data[] = {XEMBED_VERSION, XEMBED_MAPPED}; ++ long data[] = {static_cast(XEMBED_VERSION), XEMBED_MAPPED}; + XChangeProperty(x11Info().display(), d->client, ATOM(_XEMBED_INFO), ATOM(_XEMBED_INFO), 32, + PropModeReplace, (unsigned char *) data, 2); + }