summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdriaan de Groot <adridg@FreeBSD.org>2020-06-04 21:02:12 +0000
committerAdriaan de Groot <adridg@FreeBSD.org>2020-06-04 21:02:12 +0000
commit273e40a2930b4d3817726920f0b7d73a557c3855 (patch)
tree9b2ceb5a3adcd2b73e9260ccdeb9a22bbe419c31
parentTools/scripts/mfh: revert accidental tab expansion (diff)
Pre Qt 5.15 housekeeping: textproc/kreport
This is probably a conflagration of CMake, Qt and other updates all happening at once. In poudriere, build of databases/kexi fails with ld: error: undefined symbol: KReportGroupTracker::qt_metacast(char const*) >>> referenced by mocs_compilation.cpp >>> src/plugins/reports/CMakeFiles/kexi_reportplugin.dir/kexi_reportplugin_autogen/mocs_compilation.cpp.o:(KRScriptFunctions::qt_metacast(char const*)) The problem lies in textproc/kreport, which has a QObject-derived class with no out-of-line virtual methods, and no clear path to have moc called on it. This patch splits out the virtual destructor, adds a .cpp file containing it, and causes automoc to run normally on the class. This makes all the QObject machinery appear in the shared library, and kexi can use it.
Notes
Notes: svn path=/head/; revision=537960
-rw-r--r--textproc/kreport/Makefile5
-rw-r--r--textproc/kreport/files/KReportGroupTracker.cpp2
-rw-r--r--textproc/kreport/files/patch-src_CMakeLists.txt21
-rw-r--r--textproc/kreport/files/patch-src_renderer_scripting_KReportGroupTracker.h11
4 files changed, 38 insertions, 1 deletions
diff --git a/textproc/kreport/Makefile b/textproc/kreport/Makefile
index d4e2838eacec..ea42a6e9fd22 100644
--- a/textproc/kreport/Makefile
+++ b/textproc/kreport/Makefile
@@ -2,7 +2,7 @@
PORTNAME= kreport
DISTVERSION= 3.2.0
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= textproc kde
MASTER_SITES= KDE/stable/${PORTNAME}/src
DIST_SUBDIR= KDE/${PORTNAME}
@@ -20,4 +20,7 @@ USE_QT= core declarative gui network webkit widgets xml \
CONFLICTS_INSTALL= calligra-2*
+post-extract:
+ ${CP} ${FILESDIR}/KReportGroupTracker.cpp ${WRKSRC}/src/renderer/scripting/KReportGroupTracker.cpp
+
.include <bsd.port.mk>
diff --git a/textproc/kreport/files/KReportGroupTracker.cpp b/textproc/kreport/files/KReportGroupTracker.cpp
new file mode 100644
index 000000000000..eadae46c08ec
--- /dev/null
+++ b/textproc/kreport/files/KReportGroupTracker.cpp
@@ -0,0 +1,2 @@
+#include "KReportGroupTracker.h"
+KReportGroupTracker::~KReportGroupTracker() {}
diff --git a/textproc/kreport/files/patch-src_CMakeLists.txt b/textproc/kreport/files/patch-src_CMakeLists.txt
new file mode 100644
index 000000000000..6d8704e9935c
--- /dev/null
+++ b/textproc/kreport/files/patch-src_CMakeLists.txt
@@ -0,0 +1,21 @@
+--- src/CMakeLists.txt.orig 2020-06-04 20:16:17 UTC
++++ src/CMakeLists.txt
+@@ -106,6 +106,7 @@ set(kreport_TARGET_INCLUDE_DIRS
+
+ if(KREPORT_SCRIPTING)
+ list(APPEND kreport_LIB_SRCS
++ renderer/scripting/KReportGroupTracker.cpp
+ renderer/scripting/KReportScriptHandler.cpp
+ renderer/scripting/KReportScriptConstants.cpp
+ renderer/scripting/KReportScriptDebug.cpp
+@@ -131,10 +132,6 @@ if(KREPORT_SCRIPTING)
+ items/field/KReportScriptField.cpp
+ items/image/KReportScriptImage.cpp
+ items/text/KReportScriptText.cpp
+- )
+-
+- qt_wrap_cpp(KReport kreport_LIB_SRCS
+- renderer/scripting/KReportGroupTracker.h
+ )
+
+ list(APPEND kreport_INCLUDE_DIRS
diff --git a/textproc/kreport/files/patch-src_renderer_scripting_KReportGroupTracker.h b/textproc/kreport/files/patch-src_renderer_scripting_KReportGroupTracker.h
new file mode 100644
index 000000000000..a6edeaa57bf6
--- /dev/null
+++ b/textproc/kreport/files/patch-src_renderer_scripting_KReportGroupTracker.h
@@ -0,0 +1,11 @@
+--- src/renderer/scripting/KReportGroupTracker.h.orig 2020-06-04 20:15:12 UTC
++++ src/renderer/scripting/KReportGroupTracker.h
+@@ -12,7 +12,7 @@ class KREPORT_EXPORT KReportGroupTracker : public QObj
+
+ protected:
+ KReportGroupTracker() {}
+- ~KReportGroupTracker() override{}
++ ~KReportGroupTracker() override;
+
+ public:
+ Q_SLOT virtual void setGroupData(const QMap<QString, QVariant> &groupData) = 0;