summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Sturmlechner <asturm@gentoo.org>2017-02-18 23:59:55 +0100
committerAndreas Sturmlechner <asturm@gentoo.org>2017-02-19 00:33:11 +0100
commit9cbbc021c699959be69810b3a271dc46a393f6cc (patch)
treefd04837b70e588192314f038f21932c864aa50d6
parentmedia-gfx/digikam: Fix crash on fixing red eyes (diff)
downloadgentoo-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.patch109
-rw-r--r--dev-util/kdevplatform/kdevplatform-5.0.3-r1.ebuild112
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
+}