From 3801ecb0d90cac8f01559e5e486af15471094230 Mon Sep 17 00:00:00 2001 From: Ambroz Bizjak Date: Tue, 7 Feb 2017 19:51:19 +0100 Subject: [PATCH] kdevplatform: Add patch to fix build with newer KF5. --- .../kdevplatform-projectconfigskeleton.patch | 55 +++++++++++++++++++ .../editors/kdevelop5/kdevplatform.nix | 2 + 2 files changed, 57 insertions(+) create mode 100644 pkgs/applications/editors/kdevelop5/kdevplatform-projectconfigskeleton.patch diff --git a/pkgs/applications/editors/kdevelop5/kdevplatform-projectconfigskeleton.patch b/pkgs/applications/editors/kdevelop5/kdevplatform-projectconfigskeleton.patch new file mode 100644 index 000000000000..ba5140c77fcf --- /dev/null +++ b/pkgs/applications/editors/kdevelop5/kdevplatform-projectconfigskeleton.patch @@ -0,0 +1,55 @@ +From e84645d1694bdad7f179cd41babce723fe07aa63 Mon Sep 17 00:00:00 2001 +From: Kevin Funk +Date: Mon, 5 Dec 2016 15:20:53 +0100 +Subject: Hotfix for restoring build with newer KConfig + +https://phabricator.kde.org/D3386 is a SIC change, handle that +--- + project/projectconfigskeleton.cpp | 4 ++++ + project/projectconfigskeleton.h | 14 +++++--------- + 2 files changed, 9 insertions(+), 9 deletions(-) + +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; + }; + + } +-- +cgit v0.11.2 + diff --git a/pkgs/applications/editors/kdevelop5/kdevplatform.nix b/pkgs/applications/editors/kdevelop5/kdevplatform.nix index 93c3eac9c343..c36885a9e139 100644 --- a/pkgs/applications/editors/kdevelop5/kdevplatform.nix +++ b/pkgs/applications/editors/kdevelop5/kdevplatform.nix @@ -18,6 +18,8 @@ stdenv.mkDerivation rec { sha256 = "643d1145e1948af221f9ae148d0a10809f3d89af4b97ff0d6c4d571004f46bd4"; }; + patches = [ ./kdevplatform-projectconfigskeleton.patch ]; + nativeBuildInputs = [ cmake gettext pkgconfig extra-cmake-modules makeQtWrapper ]; propagatedBuildInputs = [ ];