svn commit: r537960 - in head/textproc/kreport: . files
Adriaan de Groot
adridg at FreeBSD.org
Thu Jun 4 21:02:13 UTC 2020
Author: adridg
Date: Thu Jun 4 21:02:12 2020
New Revision: 537960
URL: https://svnweb.freebsd.org/changeset/ports/537960
Log:
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.
Added:
head/textproc/kreport/files/
head/textproc/kreport/files/KReportGroupTracker.cpp (contents, props changed)
head/textproc/kreport/files/patch-src_CMakeLists.txt (contents, props changed)
head/textproc/kreport/files/patch-src_renderer_scripting_KReportGroupTracker.h (contents, props changed)
Modified:
head/textproc/kreport/Makefile
Modified: head/textproc/kreport/Makefile
==============================================================================
--- head/textproc/kreport/Makefile Thu Jun 4 21:01:37 2020 (r537959)
+++ head/textproc/kreport/Makefile Thu Jun 4 21:02:12 2020 (r537960)
@@ -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}
@@ -19,5 +19,8 @@ USE_QT= core declarative gui network webkit widgets
buildtools_build printsupport qmake_build
CONFLICTS_INSTALL= calligra-2*
+
+post-extract:
+ ${CP} ${FILESDIR}/KReportGroupTracker.cpp ${WRKSRC}/src/renderer/scripting/KReportGroupTracker.cpp
.include <bsd.port.mk>
Added: head/textproc/kreport/files/KReportGroupTracker.cpp
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/textproc/kreport/files/KReportGroupTracker.cpp Thu Jun 4 21:02:12 2020 (r537960)
@@ -0,0 +1,2 @@
+#include "KReportGroupTracker.h"
+KReportGroupTracker::~KReportGroupTracker() {}
Added: head/textproc/kreport/files/patch-src_CMakeLists.txt
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/textproc/kreport/files/patch-src_CMakeLists.txt Thu Jun 4 21:02:12 2020 (r537960)
@@ -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
Added: head/textproc/kreport/files/patch-src_renderer_scripting_KReportGroupTracker.h
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/textproc/kreport/files/patch-src_renderer_scripting_KReportGroupTracker.h Thu Jun 4 21:02:12 2020 (r537960)
@@ -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;
More information about the svn-ports-all
mailing list