commit:     9cbbc021c699959be69810b3a271dc46a393f6cc
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Sat Feb 18 22:59:55 2017 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Sat Feb 18 23:33:11 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9cbbc021

dev-util/kdevplatform: Fix build w/ >=KF-5.30

Gentoo-bug: 606158
Reported-by: Simon Gander <simongander <AT> gmx.ch>

Package-Manager: portage-2.3.3

 .../files/kdevplatform-5.0.3-kconfig-5.30.patch    | 109 ++++++++++++++++++++
 dev-util/kdevplatform/kdevplatform-5.0.3-r1.ebuild | 112 +++++++++++++++++++++
 2 files changed, 221 insertions(+)

diff --git a/dev-util/kdevplatform/files/kdevplatform-5.0.3-kconfig-5.30.patch 
b/dev-util/kdevplatform/files/kdevplatform-5.0.3-kconfig-5.30.patch
new file mode 100644
index 0000000000..ad6b896851
--- /dev/null
+++ b/dev-util/kdevplatform/files/kdevplatform-5.0.3-kconfig-5.30.patch
@@ -0,0 +1,109 @@
+commit e84645d1694bdad7f179cd41babce723fe07aa63
+Author: Kevin Funk <[email protected]>
+Date:   Mon Dec 5 15:20:53 2016 +0100
+
+    Hotfix for restoring build with newer KConfig
+    
+    https://phabricator.kde.org/D3386 is a SIC change, handle that
+
+diff --git a/project/projectconfigskeleton.cpp 
b/project/projectconfigskeleton.cpp
+index 0e06149..c4c9767 100644
+--- a/project/projectconfigskeleton.cpp
++++ b/project/projectconfigskeleton.cpp
+@@ -46,6 +46,10 @@ ProjectConfigSkeleton::ProjectConfigSkeleton( const QString 
& configname )
+ ProjectConfigSkeleton::ProjectConfigSkeleton( KSharedConfigPtr config )
+         : KConfigSkeleton( config ), d( new ProjectConfigSkeletonPrivate )
+ {
++    // FIXME: Check if that does the right thing.
++    // https://phabricator.kde.org/D3386 broke source compat in kconfig, thus 
requiring us to make this ctor public
++    Q_ASSERT(config);
++    d->m_developerTempFile = config->name();
+ }
+ 
+ void ProjectConfigSkeleton::setDeveloperTempFile( const QString& cfg )
+diff --git a/project/projectconfigskeleton.h b/project/projectconfigskeleton.h
+index ed17ed0..c8314df 100644
+--- a/project/projectconfigskeleton.h
++++ b/project/projectconfigskeleton.h
+@@ -55,16 +55,12 @@ public:
+ 
+     Path projectFile() const;
+     Path developerFile() const;
++
++protected:
++    explicit ProjectConfigSkeleton( KSharedConfigPtr config );
++
+ private:
+-    /**
+-     * There's no way in KDE4 API to find out the file that the config object
+-     * was created from, so we can't apply defaults when using this
+-     * constructors. Thus I'm making this private, so we can find out when
+-     * this constructor is used and see if we need to add appropriate API to
+-     * kdelibs
+-     */
+-     explicit ProjectConfigSkeleton( KSharedConfigPtr config );
+-     struct ProjectConfigSkeletonPrivate * const d;
++    struct ProjectConfigSkeletonPrivate * const d;
+ };
+ 
+ }
+commit 3fc389e64b2955cd7347d6798202b2bf22ab5643
+Author: Kevin Funk <[email protected]>
+Date:   Fri Dec 9 12:00:49 2016 +0100
+
+    ProjectConfigSkeleton: Remove FIXME
+    
+    Code works as expected, just verified. Also fix the visibility of the
+    other ctor
+
+diff --git a/project/projectconfigskeleton.cpp 
b/project/projectconfigskeleton.cpp
+index c4c9767..9d37a54 100644
+--- a/project/projectconfigskeleton.cpp
++++ b/project/projectconfigskeleton.cpp
+@@ -46,8 +46,6 @@ ProjectConfigSkeleton::ProjectConfigSkeleton( const QString 
& configname )
+ ProjectConfigSkeleton::ProjectConfigSkeleton( KSharedConfigPtr config )
+         : KConfigSkeleton( config ), d( new ProjectConfigSkeletonPrivate )
+ {
+-    // FIXME: Check if that does the right thing.
+-    // https://phabricator.kde.org/D3386 broke source compat in kconfig, thus 
requiring us to make this ctor public
+     Q_ASSERT(config);
+     d->m_developerTempFile = config->name();
+ }
+diff --git a/project/projectconfigskeleton.h b/project/projectconfigskeleton.h
+index c8314df..ad3c063 100644
+--- a/project/projectconfigskeleton.h
++++ b/project/projectconfigskeleton.h
+@@ -32,17 +32,8 @@ class Path;
+ class KDEVPLATFORMPROJECT_EXPORT ProjectConfigSkeleton: public KConfigSkeleton
+ {
+     Q_OBJECT
+-public:
+-
+-    /**
+-     * Constructs a new skeleton, the skeleton will write to the developer
+-     * configuration file, which is by default located in projectdir/.kdev4
+-     * The defaults will be set from the project file, which is in the 
projectdir
+-     *
+-     * @param configname The absolute filename of the developer configuration 
file
+-     */
+-    explicit ProjectConfigSkeleton( const QString & configname );
+ 
++public:
+     ~ProjectConfigSkeleton() override;
+ 
+     void setDeveloperTempFile( const QString& );
+@@ -58,6 +49,14 @@ public:
+ 
+ protected:
+     explicit ProjectConfigSkeleton( KSharedConfigPtr config );
++    /**
++     * Constructs a new skeleton, the skeleton will write to the developer
++     * configuration file, which is by default located in projectdir/.kdev4
++     * The defaults will be set from the project file, which is in the 
projectdir
++     *
++     * @param configname The absolute filename of the developer configuration 
file
++     */
++    explicit ProjectConfigSkeleton( const QString & configname );
+ 
+ private:
+     struct ProjectConfigSkeletonPrivate * const d;

diff --git a/dev-util/kdevplatform/kdevplatform-5.0.3-r1.ebuild 
b/dev-util/kdevplatform/kdevplatform-5.0.3-r1.ebuild
new file mode 100644
index 0000000000..0c1e18998f
--- /dev/null
+++ b/dev-util/kdevplatform/kdevplatform-5.0.3-r1.ebuild
@@ -0,0 +1,112 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+EGIT_BRANCH="5.0"
+KDEBASE="kdevelop"
+KDE_TEST="forceoptional-recursive"
+VIRTUALDBUS_TEST="true"
+VIRTUALX_REQUIRED="test"
+inherit kde5
+
+DESCRIPTION="KDE development support libraries and apps"
+IUSE="cvs reviewboard subversion +welcomepage"
+[[ ${KDE_BUILD_TYPE} = release ]] && KEYWORDS="~amd64 ~x86"
+
+COMMON_DEPEND="
+       $(add_frameworks_dep karchive)
+       $(add_frameworks_dep kbookmarks)
+       $(add_frameworks_dep kcmutils)
+       $(add_frameworks_dep kcodecs)
+       $(add_frameworks_dep kcompletion)
+       $(add_frameworks_dep kconfig)
+       $(add_frameworks_dep kconfigwidgets)
+       $(add_frameworks_dep kcoreaddons)
+       $(add_frameworks_dep kdeclarative)
+       $(add_frameworks_dep kguiaddons)
+       $(add_frameworks_dep ki18n)
+       $(add_frameworks_dep kiconthemes)
+       $(add_frameworks_dep kio)
+       $(add_frameworks_dep kitemmodels)
+       $(add_frameworks_dep kitemviews)
+       $(add_frameworks_dep kjobwidgets)
+       $(add_frameworks_dep knewstuff)
+       $(add_frameworks_dep knotifications)
+       $(add_frameworks_dep knotifyconfig)
+       $(add_frameworks_dep kparts)
+       $(add_frameworks_dep kservice)
+       $(add_frameworks_dep ktexteditor)
+       $(add_frameworks_dep ktextwidgets)
+       $(add_frameworks_dep kwidgetsaddons)
+       $(add_frameworks_dep kwindowsystem)
+       $(add_frameworks_dep kxmlgui)
+       $(add_frameworks_dep sonnet)
+       $(add_frameworks_dep threadweaver)
+       $(add_kdeapps_dep libkomparediff2)
+       $(add_qt_dep qtdbus)
+       $(add_qt_dep qtgui)
+       $(add_qt_dep qttest)
+       $(add_qt_dep qtwebkit)
+       $(add_qt_dep qtwidgets)
+       $(add_qt_dep qtxml)
+       dev-libs/grantlee:5
+       reviewboard? ( dev-libs/purpose )
+       subversion? (
+               dev-libs/apr:1
+               dev-libs/apr-util:1
+               dev-vcs/subversion
+       )
+       welcomepage? ( $(add_qt_dep qtdeclarative 'widgets') )
+"
+DEPEND="${COMMON_DEPEND}
+       dev-libs/boost
+       $(add_qt_dep qtconcurrent)
+"
+RDEPEND="${COMMON_DEPEND}
+       cvs? ( dev-vcs/cvs )
+       !dev-util/kdevelop:4
+       !dev-util/kdevplatform:4
+"
+
+REQUIRED_USE="test? ( welcomepage )"
+
+RESTRICT+=" test"
+
+PATCHES=(
+       "${FILESDIR}/${PN}-5.0.1-unused-deps.patch"
+       "${FILESDIR}/${P}-kconfig-5.30.patch"
+)
+
+src_prepare() {
+       kde5_src_prepare
+       # root tests subdirectory actually does not contain tests, installs 
stuff
+       if ! use test; then
+               sed -i -e "/add_subdirectory(tests)/ s/#DONOTCOMPILE //" \
+                       CMakeLists.txt || die "Failed to fix CMakeLists.txt"
+               sed -i -e '1s/^/find_package(Qt5Test \$\{QT_MIN_VERSION\})\n/' \
+                       tests/CMakeLists.txt || die "Failed to fix 
tests/CMakeLists.txt"
+       fi
+}
+
+src_configure() {
+       local mycmakeargs=(
+               -DBUILD_cvs=$(usex cvs)
+               $(cmake-utils_use_find_package reviewboard 
KDEExperimentalPurpose)
+               $(cmake-utils_use_find_package subversion SubversionLibrary)
+               $(cmake-utils_use_find_package welcomepage Qt5QuickWidgets)
+       )
+
+       kde5_src_configure
+}
+
+pkg_postinst() {
+       kde5_pkg_postinst
+
+       if ! has_version "kde-apps/konsole" ; then
+               echo
+               elog "For konsole view, please install kde-apps/konsole"
+               echo
+       fi
+}

Reply via email to