aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Clausecker <fuz@FreeBSD.org>2023-10-03 23:40:18 +0000
committerRobert Clausecker <fuz@FreeBSD.org>2023-10-04 20:01:38 +0000
commit6e1435185574836bea45bf9dab35b81b64fc158f (patch)
tree413964260c4fec8c4c582a27c012054c7a1b7097
parent943d012d6dd00e22fe04f4a84400c11cd2bcac55 (diff)
downloadports-6e1435185574836bea45bf9dab35b81b64fc158f.tar.gz
ports-6e1435185574836bea45bf9dab35b81b64fc158f.zip
converters/wkhtmltopdf: fix build on armv7
Import an old QT4 patch to fix the build. Obtained from: b0d780b0342270fef8bd26b4ae301d18467f5d04 MFH: 2023Q4
-rw-r--r--converters/wkhtmltopdf/Makefile1
-rw-r--r--converters/wkhtmltopdf/files/patch-src_3rdparty_webkit_Source_WebCore_platform_graphics_filters_arm_FEGaussianBlurNEON.cpp11
-rw-r--r--converters/wkhtmltopdf/files/patch-src_3rdparty_webkit_Source_WebCore_platform_graphics_filters_arm_FELightingNEON.cpp16
-rw-r--r--converters/wkhtmltopdf/files/patch-src_gui_kernel_qx11embed__x11.cpp29
4 files changed, 56 insertions, 1 deletions
diff --git a/converters/wkhtmltopdf/Makefile b/converters/wkhtmltopdf/Makefile
index 95a2d2c62c0f..1fcd2ec5c1fc 100644
--- a/converters/wkhtmltopdf/Makefile
+++ b/converters/wkhtmltopdf/Makefile
@@ -13,7 +13,6 @@ 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
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<long>(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<long>(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<long>(XEMBED_VERSION), XEMBED_MAPPED};
+ XChangeProperty(x11Info().display(), d->client, ATOM(_XEMBED_INFO), ATOM(_XEMBED_INFO), 32,
+ PropModeReplace, (unsigned char *) data, 2);
+ }