mirror of
https://git.FreeBSD.org/ports.git
synced 2024-11-18 00:10:04 +00: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
@ -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>
|
||||
|
||||
.if ${ARCH} == "i386" || ${ARCH} == "powerpc" || ${CHOSEN_COMPILER_TYPE} == gcc
|
||||
USE_GCC= 8
|
||||
USE_GCC= 10
|
||||
.endif
|
||||
|
||||
pre-patch:
|
||||
@ -69,8 +69,6 @@ post-patch:
|
||||
-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" \
|
||||
@ -85,7 +83,6 @@ post-patch:
|
||||
${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 && \
|
||||
|
@ -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 2020-11-08 17:06:42.105176000 +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
|
||||
@@ -1003,7 +1003,9 @@
|
||||
|| CPU(SPARC64) \
|
||||
|| 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…
Reference in New Issue
Block a user