Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 4 Jun 2020 21:02:12 +0000 (UTC)
From:      Adriaan de Groot <adridg@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r537960 - in head/textproc/kreport: . files
Message-ID:  <202006042102.054L2Cea092100@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
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;



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202006042102.054L2Cea092100>