mirror of
https://git.freebsd.org/ports.git
synced 2025-04-28 01:26:39 -04:00
converters/wkhtmltopdf: Fix build with gcc10
The patch is accepted from Debian:
0d4a3dd61c
Still keep it DEPRECATED and see how it builds on 13.X series.
PR: 269313
Reported by: r.quakkelaar@quaras.nl
Approved by: portmgr (just-fix-it)
This commit is contained in:
parent
1a0193ce5f
commit
3f47a0b1eb
5 changed files with 43 additions and 61 deletions
|
@ -1,44 +0,0 @@
|
||||||
--- config.m4.orig 2023-06-06 15:54:29 UTC
|
|
||||||
+++ config.m4
|
|
||||||
@@ -37,6 +37,31 @@ AC_DEFUN([PHP_MBSTRING_EXTENSION], [
|
|
||||||
|
|
||||||
out="php_config.h"
|
|
||||||
|
|
||||||
+ dnl This is PECL build, check if bundled PCRE library is used
|
|
||||||
+ old_CPPFLAGS=$CPPFLAGS
|
|
||||||
+ CPPFLAGS=$INCLUDES
|
|
||||||
+ AC_EGREP_CPP(yes,[
|
|
||||||
+#include <main/php_config.h>
|
|
||||||
+#if defined(HAVE_BUNDLED_PCRE) && !defined(COMPILE_DL_PCRE)
|
|
||||||
+yes
|
|
||||||
+#endif
|
|
||||||
+ ],[
|
|
||||||
+ PHP_PCRE_REGEX=yes
|
|
||||||
+ ],[
|
|
||||||
+ AC_EGREP_CPP(yes,[
|
|
||||||
+#include <main/php_config.h>
|
|
||||||
+#if defined(HAVE_PCRE) && !defined(COMPILE_DL_PCRE)
|
|
||||||
+yes
|
|
||||||
+#endif
|
|
||||||
+ ],[
|
|
||||||
+ PHP_PCRE_REGEX=pecl
|
|
||||||
+ PHP_ADD_INCLUDE($PHP_PCRE_DIR/include)
|
|
||||||
+ ],[
|
|
||||||
+ PHP_PCRE_REGEX=no
|
|
||||||
+ ])
|
|
||||||
+ ])
|
|
||||||
+
|
|
||||||
+
|
|
||||||
if test "$ext_shared" != "no" && test -f "$ext_builddir/config.h.in"; then
|
|
||||||
out="$abs_builddir/config.h"
|
|
||||||
fi
|
|
||||||
@@ -148,6 +173,9 @@ PHP_ARG_ENABLE([mbregex],
|
|
||||||
[MBSTRING: Disable multibyte regex support])],
|
|
||||||
[yes],
|
|
||||||
[no])
|
|
||||||
+
|
|
||||||
+PHP_ARG_WITH(pcre-dir, pcre install prefix,
|
|
||||||
+[ --with-pcre-dir MBSTRING: pcre install prefix], no, no)
|
|
||||||
|
|
||||||
if test "$PHP_MBSTRING" != "no"; then
|
|
||||||
AC_DEFINE([HAVE_MBSTRING],1,[whether to have multibyte string support])
|
|
|
@ -57,7 +57,7 @@ MAKE_ARGS= INSTALL_ROOT="${STAGEDIR}${PREFIX}"
|
||||||
.include <bsd.port.pre.mk>
|
.include <bsd.port.pre.mk>
|
||||||
|
|
||||||
.if ${ARCH} == "i386" || ${ARCH} == "powerpc" || ${CHOSEN_COMPILER_TYPE} == gcc
|
.if ${ARCH} == "i386" || ${ARCH} == "powerpc" || ${CHOSEN_COMPILER_TYPE} == gcc
|
||||||
USE_GCC= 8
|
USE_GCC= 10
|
||||||
.endif
|
.endif
|
||||||
|
|
||||||
pre-patch:
|
pre-patch:
|
||||||
|
@ -69,8 +69,6 @@ post-patch:
|
||||||
-e 's|/usr/X11R6/include|${LOCALBASE}/include/X11|g' \
|
-e 's|/usr/X11R6/include|${LOCALBASE}/include/X11|g' \
|
||||||
-e 's|/usr/X11R6/lib|${LOCALBASE}/lib|g' \
|
-e 's|/usr/X11R6/lib|${LOCALBASE}/lib|g' \
|
||||||
${PATCH_WRKSRC}/mkspecs/freebsd-g++/qmake.conf
|
${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" \
|
${REINPLACE_CMD} -e "s|gcc|${CC}|g" -e "s|g++|${CXX}|g" \
|
||||||
${PATCH_WRKSRC}/mkspecs/common/g++-base.conf
|
${PATCH_WRKSRC}/mkspecs/common/g++-base.conf
|
||||||
${REINPLACE_CMD} -e "s|share/man|man|g" \
|
${REINPLACE_CMD} -e "s|share/man|man|g" \
|
||||||
|
@ -85,7 +83,6 @@ post-patch:
|
||||||
${XARGS} ${REINPLACE_CMD} -E 's|register ([a-zA-Z])|\1|g'
|
${XARGS} ${REINPLACE_CMD} -E 's|register ([a-zA-Z])|\1|g'
|
||||||
.endif
|
.endif
|
||||||
|
|
||||||
|
|
||||||
post-build:
|
post-build:
|
||||||
cd ${WRKSRC}/build/app && ${SETENV} ${MAKE_ENV} \
|
cd ${WRKSRC}/build/app && ${SETENV} ${MAKE_ENV} \
|
||||||
../qt/bin/qmake ../../wkhtmltopdf.pro && \
|
../qt/bin/qmake ../../wkhtmltopdf.pro && \
|
||||||
|
|
|
@ -1,11 +0,0 @@
|
||||||
--- mkspecs/common/gcc-base.conf.orig 2020-09-02 16:07:46 UTC
|
|
||||||
+++ mkspecs/common/gcc-base.conf
|
|
||||||
@@ -53,7 +53,7 @@ QMAKE_CXXFLAGS_STATIC_LIB += $$QMAKE_CFLAGS_STATIC_LIB
|
|
||||||
QMAKE_CXXFLAGS_YACC += $$QMAKE_CFLAGS_YACC
|
|
||||||
QMAKE_CXXFLAGS_HIDESYMS += $$QMAKE_CFLAGS_HIDESYMS -fvisibility-inlines-hidden
|
|
||||||
|
|
||||||
-QMAKE_LFLAGS +=
|
|
||||||
+QMAKE_LFLAGS += -Wl,-rpath=%%LOCALBASE%%/lib/gcc8
|
|
||||||
QMAKE_LFLAGS_DEBUG +=
|
|
||||||
QMAKE_LFLAGS_APP +=
|
|
||||||
QMAKE_LFLAGS_RELEASE +=
|
|
|
@ -1,5 +1,5 @@
|
||||||
--- src/3rdparty/webkit/Source/JavaScriptCore/wtf/Platform.h.orig 2020-11-08 17:05:56.503694000 +0100
|
--- src/3rdparty/webkit/Source/JavaScriptCore/wtf/Platform.h.orig 2018-05-29 06:56:52 UTC
|
||||||
+++ src/3rdparty/webkit/Source/JavaScriptCore/wtf/Platform.h 2020-11-08 17:06:42.105176000 +0100
|
+++ src/3rdparty/webkit/Source/JavaScriptCore/wtf/Platform.h
|
||||||
@@ -1003,7 +1003,9 @@
|
@@ -1003,7 +1003,9 @@
|
||||||
|| CPU(SPARC64) \
|
|| CPU(SPARC64) \
|
||||||
|| CPU(S390X) \
|
|| CPU(S390X) \
|
||||||
|
|
|
@ -0,0 +1,40 @@
|
||||||
|
--- src/corelib/global/qglobal.h.orig 2023-11-20 11:36:42 UTC
|
||||||
|
+++ src/corelib/global/qglobal.h
|
||||||
|
@@ -2482,22 +2482,32 @@ typedef uint Flags;
|
||||||
|
|
||||||
|
#endif /* Q_NO_TYPESAFE_FLAGS */
|
||||||
|
|
||||||
|
-#if defined(Q_CC_GNU) && !defined(Q_CC_INTEL) && !defined(Q_CC_RVCT)
|
||||||
|
+#if (defined(Q_CC_GNU) && !defined(Q_CC_RVCT))
|
||||||
|
/* make use of typeof-extension */
|
||||||
|
template <typename T>
|
||||||
|
class QForeachContainer {
|
||||||
|
public:
|
||||||
|
- inline QForeachContainer(const T& t) : c(t), brk(0), i(c.begin()), e(c.end()) { }
|
||||||
|
+ inline QForeachContainer(const T& t) : c(t), i(c.begin()), e(c.end()), control(1) { }
|
||||||
|
const T c;
|
||||||
|
int brk;
|
||||||
|
typename T::const_iterator i, e;
|
||||||
|
+ int control;
|
||||||
|
};
|
||||||
|
|
||||||
|
+// Explanation of the control word:
|
||||||
|
+// - it's initialized to 1
|
||||||
|
+// - that means both the inner and outer loops start
|
||||||
|
+// - if there were no breaks, at the end of the inner loop, it's set to 0, which
|
||||||
|
+// causes it to exit (the inner loop is run exactly once)
|
||||||
|
+// - at the end of the outer loop, it's inverted, so it becomes 1 again, allowing
|
||||||
|
+// the outer loop to continue executing
|
||||||
|
+// - if there was a break inside the inner loop, it will exit with control still
|
||||||
|
+// set to 1; in that case, the outer loop will invert it to 0 and will exit too
|
||||||
|
#define Q_FOREACH(variable, container) \
|
||||||
|
for (QForeachContainer<__typeof__(container)> _container_(container); \
|
||||||
|
- !_container_.brk && _container_.i != _container_.e; \
|
||||||
|
- __extension__ ({ ++_container_.brk; ++_container_.i; })) \
|
||||||
|
- for (variable = *_container_.i;; __extension__ ({--_container_.brk; break;}))
|
||||||
|
+ _container_.control && _container_.i != _container_.e; \
|
||||||
|
+ ++_container_.i, _container_.control ^= 1) \
|
||||||
|
+ for (variable = *_container_.i; _container_.control; _container_.control = 0)
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
Loading…
Add table
Reference in a new issue