1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-11-20 00:21:35 +00:00

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.
This commit is contained in:
Adriaan de Groot 2020-06-04 21:02:12 +00:00
parent f0711b4f79
commit 273e40a293
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=537960
4 changed files with 38 additions and 1 deletions

View File

@ -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>

View File

@ -0,0 +1,2 @@
#include "KReportGroupTracker.h"
KReportGroupTracker::~KReportGroupTracker() {}

View File

@ -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

View File

@ -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;