diff options
author | Adriaan de Groot <adridg@FreeBSD.org> | 2020-06-04 21:02:12 +0000 |
---|---|---|
committer | Adriaan de Groot <adridg@FreeBSD.org> | 2020-06-04 21:02:12 +0000 |
commit | 273e40a2930b4d3817726920f0b7d73a557c3855 (patch) | |
tree | 9b2ceb5a3adcd2b73e9260ccdeb9a22bbe419c31 | |
parent | Tools/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/Makefile | 5 | ||||
-rw-r--r-- | textproc/kreport/files/KReportGroupTracker.cpp | 2 | ||||
-rw-r--r-- | textproc/kreport/files/patch-src_CMakeLists.txt | 21 | ||||
-rw-r--r-- | textproc/kreport/files/patch-src_renderer_scripting_KReportGroupTracker.h | 11 |
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; |