commit:     90af7f4b55fee69599636543bcce649c5537b61c
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Mon Nov 23 23:59:50 2020 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Tue Nov 24 00:26:02 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=90af7f4b

dev-libs/kreport: Fix app-office/kexi build with GCC-10

See also: https://mail.kde.org/pipermail/distributions/2020-November/000891.html
KDE-Bug: https://bugs.kde.org/show_bug.cgi?id=422886
Upstream commit 5d3053ea78b349b81b7a562974ad78f93d169791

Package-Manager: Portage-3.0.10, Repoman-3.0.2
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 dev-libs/kreport/files/kreport-3.2.0-gcc10.patch | 120 +++++++++++++++++++++++
 dev-libs/kreport/kreport-3.2.0-r1.ebuild         |  58 +++++++++++
 2 files changed, 178 insertions(+)

diff --git a/dev-libs/kreport/files/kreport-3.2.0-gcc10.patch 
b/dev-libs/kreport/files/kreport-3.2.0-gcc10.patch
new file mode 100644
index 00000000000..8d5b26bee06
--- /dev/null
+++ b/dev-libs/kreport/files/kreport-3.2.0-gcc10.patch
@@ -0,0 +1,120 @@
+From 5d3053ea78b349b81b7a562974ad78f93d169791 Mon Sep 17 00:00:00 2001
+From: Jaroslaw Staniek <[email protected]>
+Date: Tue, 16 Jun 2020 21:59:12 +0200
+Subject: [PATCH] Fix build with GCC 10 (make KReportGroupTracker use C++ file)
+
+BUG:422886
+CCMAIL:[email protected]
+
+FIXED-IN:3.2.1
+---
+ src/CMakeLists.txt                            |  5 +---
+ .../scripting/KReportGroupTracker.cpp         | 26 +++++++++++++++++++
+ src/renderer/scripting/KReportGroupTracker.h  | 25 +++++++++++++++---
+ 3 files changed, 48 insertions(+), 8 deletions(-)
+ create mode 100644 src/renderer/scripting/KReportGroupTracker.cpp
+
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 1cf0b389..65bcf6e5 100644
+--- a/src/CMakeLists.txt
++++ b/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
+@@ -133,10 +134,6 @@ if(KREPORT_SCRIPTING)
+         items/text/KReportScriptText.cpp
+     )
+ 
+-    qt_wrap_cpp(KReport kreport_LIB_SRCS
+-        renderer/scripting/KReportGroupTracker.h
+-    )
+-
+     list(APPEND kreport_INCLUDE_DIRS
+         ${CMAKE_CURRENT_SOURCE_DIR}/renderer/scripting
+     )
+diff --git a/src/renderer/scripting/KReportGroupTracker.cpp 
b/src/renderer/scripting/KReportGroupTracker.cpp
+new file mode 100644
+index 00000000..9274d4a5
+--- /dev/null
++++ b/src/renderer/scripting/KReportGroupTracker.cpp
+@@ -0,0 +1,26 @@
++/* This file is part of the KDE project
++ * Copyright (C) 2015 by Adam Pigg ([email protected])
++ *
++ * This library is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU Lesser General Public
++ * License as published by the Free Software Foundation; either
++ * version 2.1 of the License, or (at your option) any later version.
++ *
++ * This library is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ * Lesser General Public License for more details.
++ *
++ * You should have received a copy of the GNU Lesser General Public
++ * License along with this library.  If not, see 
<http://www.gnu.org/licenses/>.
++ */
++
++#include "KReportGroupTracker.h"
++
++KReportGroupTracker::KReportGroupTracker()
++{
++}
++
++KReportGroupTracker::~KReportGroupTracker()
++{
++}
+diff --git a/src/renderer/scripting/KReportGroupTracker.h 
b/src/renderer/scripting/KReportGroupTracker.h
+index e434e05a..4c0852ea 100644
+--- a/src/renderer/scripting/KReportGroupTracker.h
++++ b/src/renderer/scripting/KReportGroupTracker.h
+@@ -1,3 +1,20 @@
++/* This file is part of the KDE project
++ * Copyright (C) 2015 by Adam Pigg ([email protected])
++ *
++ * This library is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU Lesser General Public
++ * License as published by the Free Software Foundation; either
++ * version 2.1 of the License, or (at your option) any later version.
++ *
++ * This library is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ * Lesser General Public License for more details.
++ *
++ * You should have received a copy of the GNU Lesser General Public
++ * License along with this library.  If not, see 
<http://www.gnu.org/licenses/>.
++ */
++
+ #ifndef KREPORTGROUPTRACKER_H
+ #define KREPORTGROUPTRACKER_H
+ 
+@@ -7,16 +24,16 @@
+ /*!
+  * @brief Keeps track of groups as the data for the group changes
+  */
+-class KREPORT_EXPORT KReportGroupTracker : public QObject {
++class KREPORT_EXPORT KReportGroupTracker : public QObject
++{
+     Q_OBJECT
+ 
+ protected:
+-    KReportGroupTracker() {}
+-    ~KReportGroupTracker() override{}
++    KReportGroupTracker();
++    ~KReportGroupTracker() override;
+ 
+ public:
+     Q_SLOT virtual void setGroupData(const QMap<QString, QVariant> 
&groupData) = 0;
+ };
+ 
+ #endif // KREPORTGROUPTRACKER_H
+-
+-- 
+GitLab
+

diff --git a/dev-libs/kreport/kreport-3.2.0-r1.ebuild 
b/dev-libs/kreport/kreport-3.2.0-r1.ebuild
new file mode 100644
index 00000000000..058f6a40c5b
--- /dev/null
+++ b/dev-libs/kreport/kreport-3.2.0-r1.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+ECM_QTHELP="true"
+ECM_TEST="true"
+PYTHON_COMPAT=( python3_{7,8,9} )
+KFMIN=5.74.0
+QTMIN=5.15.1
+VIRTUALX_REQUIRED="test"
+inherit ecm kde.org python-any-r1
+
+DESCRIPTION="Framework for creation and generation of reports in multiple 
formats"
+HOMEPAGE="https://community.kde.org/KReport";
+
+if [[ ${KDE_BUILD_TYPE} = release ]]; then
+       SRC_URI="mirror://kde/stable/${PN}/src/${P}.tar.xz"
+       KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="LGPL-2+"
+SLOT="5/4"
+IUSE="marble +scripting webkit"
+
+RDEPEND="
+       >=dev-libs/kproperty-${PV}:5=
+       >=dev-qt/qtgui-${QTMIN}:5
+       >=dev-qt/qtprintsupport-${QTMIN}:5
+       >=dev-qt/qtwidgets-${QTMIN}:5
+       >=dev-qt/qtxml-${QTMIN}:5
+       >=kde-frameworks/kconfig-${KFMIN}:5
+       >=kde-frameworks/kcoreaddons-${KFMIN}:5
+       >=kde-frameworks/kguiaddons-${KFMIN}:5
+       >=kde-frameworks/kwidgetsaddons-${KFMIN}:5
+       marble? ( kde-apps/marble:5= )
+       scripting? ( >=dev-qt/qtdeclarative-${QTMIN}:5 )
+       webkit? ( >=dev-qt/qtwebkit-5.212.0_pre20180120:5 )
+"
+DEPEND="${RDEPEND}
+       ${PYTHON_DEPS}
+"
+
+PATCHES=( "${FILESDIR}/${P}-gcc10.patch" )
+
+pkg_setup() {
+       python-any-r1_pkg_setup
+       ecm_pkg_setup
+}
+
+src_configure() {
+       local mycmakeargs=(
+               $(cmake_use_find_package marble Marble)
+               $(cmake_use_find_package webkit Qt5WebKitWidgets)
+               -DKREPORT_SCRIPTING=$(usex scripting)
+       )
+       ecm_src_configure
+}

Reply via email to