diff options
author | Andreas Sturmlechner <asturm@gentoo.org> | 2017-02-18 23:59:55 +0100 |
---|---|---|
committer | Andreas Sturmlechner <asturm@gentoo.org> | 2017-02-19 00:33:11 +0100 |
commit | 9cbbc021c699959be69810b3a271dc46a393f6cc (patch) | |
tree | fd04837b70e588192314f038f21932c864aa50d6 | |
parent | media-gfx/digikam: Fix crash on fixing red eyes (diff) | |
download | gentoo-9cbbc021c699959be69810b3a271dc46a393f6cc.tar.gz gentoo-9cbbc021c699959be69810b3a271dc46a393f6cc.tar.bz2 gentoo-9cbbc021c699959be69810b3a271dc46a393f6cc.zip |
dev-util/kdevplatform: Fix build w/ >=KF-5.30
Gentoo-bug: 606158
Reported-by: Simon Gander <simongander@gmx.ch>
Package-Manager: portage-2.3.3
-rw-r--r-- | dev-util/kdevplatform/files/kdevplatform-5.0.3-kconfig-5.30.patch | 109 | ||||
-rw-r--r-- | dev-util/kdevplatform/kdevplatform-5.0.3-r1.ebuild | 112 |
2 files changed, 221 insertions, 0 deletions
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 000000000000..ad6b89685167 --- /dev/null +++ b/dev-util/kdevplatform/files/kdevplatform-5.0.3-kconfig-5.30.patch @@ -0,0 +1,109 @@ +commit e84645d1694bdad7f179cd41babce723fe07aa63 +Author: Kevin Funk <kfunk@kde.org> +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 <kfunk@kde.org> +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 000000000000..0c1e18998ff6 --- /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 +} |