aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarius Bakke <mbakke@fastmail.com>2020-03-29 11:35:04 +0200
committerMarius Bakke <mbakke@fastmail.com>2020-03-29 11:35:04 +0200
commit26e92a3025513ec8e2b243cf819a7526a5d8d7c3 (patch)
tree8d959ac00ca31a6960e90cdc6c33a1e08889e3fc
parent58f705c18ebfafc4e291ba3be2ceeeead9e2a289 (diff)
downloadguix-26e92a3025513ec8e2b243cf819a7526a5d8d7c3.tar
guix-26e92a3025513ec8e2b243cf819a7526a5d8d7c3.tar.gz
gnu: qtbase: Patch the 'moc' executable to cope with GCCs C++ headers.
* gnu/packages/patches/qtbase-moc-ignore-gcc-macro.patch: New file. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/qt.scm (qtbase)[source](patches): Add it.
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/patches/qtbase-moc-ignore-gcc-macro.patch17
-rw-r--r--gnu/packages/qt.scm1
3 files changed, 19 insertions, 0 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index b0b72e6349..46e2936567 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1385,6 +1385,7 @@ dist_patch_DATA = \
%D%/packages/patches/qemu-fix-documentation-build-failure.patch \
%D%/packages/patches/qrcodegen-cpp-make-install.patch \
%D%/packages/patches/qt4-ldflags.patch \
+ %D%/packages/patches/qtbase-moc-ignore-gcc-macro.patch \
%D%/packages/patches/qtbase-use-TZDIR.patch \
%D%/packages/patches/qtbase-QTBUG-81715.patch \
%D%/packages/patches/qtscript-disable-tests.patch \
diff --git a/gnu/packages/patches/qtbase-moc-ignore-gcc-macro.patch b/gnu/packages/patches/qtbase-moc-ignore-gcc-macro.patch
new file mode 100644
index 0000000000..b296cf0b72
--- /dev/null
+++ b/gnu/packages/patches/qtbase-moc-ignore-gcc-macro.patch
@@ -0,0 +1,17 @@
+The moc executable loops through headers on CPLUS_INCLUDE_PATH and stumbles
+on the GCC internal _GLIBCXX_VISIBILITY macro. Tell it to ignore it as it is
+not supposed to be looking there to begin with.
+
+Upstream report: https://bugreports.qt.io/browse/QTBUG-83160
+
+diff --git a/src/tools/moc/main.cpp b/src/tools/moc/main.cpp
+--- a/src/tools/moc/main.cpp
++++ b/src/tools/moc/main.cpp
+@@ -188,6 +188,7 @@ int runMoc(int argc, char **argv)
+ dummyVariadicFunctionMacro.arguments += Symbol(0, PP_IDENTIFIER, "__VA_ARGS__");
+ pp.macros["__attribute__"] = dummyVariadicFunctionMacro;
+ pp.macros["__declspec"] = dummyVariadicFunctionMacro;
++ pp.macros["_GLIBCXX_VISIBILITY"] = dummyVariadicFunctionMacro;
+
+ QString filename;
+ QString output;
diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 81989f68c3..368cfb7e15 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -352,6 +352,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
"0pb68d30clksdhgy8n6rrs838bb3qcsfq4pv463yy2nr4p5kk2di"))
;; Use TZDIR to avoid depending on package "tzdata".
(patches (search-patches "qtbase-use-TZDIR.patch"
+ "qtbase-moc-ignore-gcc-macro.patch"
"qtbase-QTBUG-81715.patch"))
(modules '((guix build utils)))
(snippet