commit: a345b0125e742258af851925482b72336e76317c
Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Sat Jan 7 23:06:55 2017 +0000
Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Sat Jan 7 23:06:55 2017 +0000
URL: https://gitweb.gentoo.org/proj/kde.git/commit/?id=a345b012
kde-apps/akonadi: Remove hardcoded absolute path to stdlib header
This breaks on any GCC upgrade.
Package-Manager: portage-2.3.0
kde-apps/akonadi/akonadi-16.12.49.9999.ebuild | 6 +-
.../files/akonadi-16.12.1-rename-header.patch | 77 ++++++++++++++++++++++
.../files/akonadi-16.12.1-revert-abs-path.patch | 70 ++++++++++++++++++++
3 files changed, 152 insertions(+), 1 deletion(-)
diff --git a/kde-apps/akonadi/akonadi-16.12.49.9999.ebuild
b/kde-apps/akonadi/akonadi-16.12.49.9999.ebuild
index 8ae3948..74c041d 100644
--- a/kde-apps/akonadi/akonadi-16.12.49.9999.ebuild
+++ b/kde-apps/akonadi/akonadi-16.12.49.9999.ebuild
@@ -58,7 +58,11 @@ RDEPEND="${COMMON_DEPEND}
# some akonadi tests time out, that probably needs more work as it's ~700 tests
RESTRICT+=" test"
-PATCHES=( "${FILESDIR}/${PN}-16.12.0-mysql56-crash.patch" )
+PATCHES=(
+ "${FILESDIR}/${PN}-16.12.0-mysql56-crash.patch"
+ "${FILESDIR}/${PN}-16.12.1-revert-abs-path.patch"
+ "${FILESDIR}/${PN}-16.12.1-rename-header.patch"
+)
pkg_setup() {
# Set default storage backend in order: MySQL, SQLite PostgreSQL
diff --git a/kde-apps/akonadi/files/akonadi-16.12.1-rename-header.patch
b/kde-apps/akonadi/files/akonadi-16.12.1-rename-header.patch
new file mode 100644
index 0000000..73347f0
--- /dev/null
+++ b/kde-apps/akonadi/files/akonadi-16.12.1-rename-header.patch
@@ -0,0 +1,77 @@
+commit 248671e8200ff0883877b6d0e56700ef99ff3b51
+Author: Andreas Sturmlechner <[email protected]>
+Date: Sat Jan 7 14:38:17 2017 +0100
+
+ Rename exception.h to exceptionbase.h
+
+ REVIEW: 129788
+
+diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt
+index 6ac851e..fa996b9 100644
+--- a/src/core/CMakeLists.txt
++++ b/src/core/CMakeLists.txt
+@@ -95,7 +95,7 @@ ecm_generate_headers(AkonadiCore_base_HEADERS
+ EntityDeletedAttribute
+ EntityDisplayAttribute
+ EntityHiddenAttribute
+- Exception
++ ExceptionBase
+ GidExtractorInterface
+ IndexPolicyAttribute
+ Item
+diff --git a/src/core/exception.cpp b/src/core/exception.cpp
+index f229c1a..14f7330 100644
+--- a/src/core/exception.cpp
++++ b/src/core/exception.cpp
+@@ -17,7 +17,7 @@
+ 02110-1301, USA.
+ */
+
+-#include "exception.h"
++#include "exceptionbase.h"
+
+ #include <QString>
+
+diff --git a/src/core/exception.h b/src/core/exceptionbase.h
+similarity index 100%
+rename from src/core/exception.h
+rename to src/core/exceptionbase.h
+diff --git a/src/core/item.h b/src/core/item.h
+index de71cad..5ec62c8 100644
+--- a/src/core/item.h
++++ b/src/core/item.h
+@@ -23,7 +23,7 @@
+
+ #include "akonadicore_export.h"
+ #include "attribute.h"
+-#include "exception.h"
++#include "exceptionbase.h"
+ #include "tag.h"
+ #include "collection.h"
+ #include "relation.h"
+diff --git a/src/core/itempayloadinternals_p.h
b/src/core/itempayloadinternals_p.h
+index 0a4de3c..1626f10 100644
+--- a/src/core/itempayloadinternals_p.h
++++ b/src/core/itempayloadinternals_p.h
+@@ -32,7 +32,7 @@
+
+ #include <boost/shared_ptr.hpp>
+
+-#include "exception.h"
++#include "exceptionbase.h"
+
+ //@cond PRIVATE Doxygen 1.7.1 hangs processing this file. so skip it.
+ //for more info, see https://bugzilla.gnome.org/show_bug.cgi?id=531637
+diff --git a/src/core/protocolhelper.cpp b/src/core/protocolhelper.cpp
+index f740e9d..c218f0c 100644
+--- a/src/core/protocolhelper.cpp
++++ b/src/core/protocolhelper.cpp
+@@ -23,7 +23,7 @@
+ #include "collectionstatistics.h"
+ #include "item_p.h"
+ #include "collection_p.h"
+-#include "exception.h"
++#include "exceptionbase.h"
+ #include "itemserializer_p.h"
+ #include "itemserializerplugin.h"
+ #include "servermanager.h"
diff --git a/kde-apps/akonadi/files/akonadi-16.12.1-revert-abs-path.patch
b/kde-apps/akonadi/files/akonadi-16.12.1-revert-abs-path.patch
new file mode 100644
index 0000000..3b48253
--- /dev/null
+++ b/kde-apps/akonadi/files/akonadi-16.12.1-revert-abs-path.patch
@@ -0,0 +1,70 @@
+commit d98e29a07f4acc3bf01f06f25b3eef5522397e2e
+Author: Andreas Sturmlechner <[email protected]>
+Date: Thu Jan 5 22:41:02 2017 +0100
+
+ Revert "Workaround an include loop on case-insensitive systems"
+
+ Do not hardcode absolute patchs to GCC headers.
+
+ This reverts commit 59b9d6b79425c9ec1e5df059a2593580048c4adf.
+
+ REVIEW: 129788
+
+diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt
+index 72589cd..6ac851e 100644
+--- a/src/core/CMakeLists.txt
++++ b/src/core/CMakeLists.txt
+@@ -257,21 +257,6 @@ ecm_generate_headers(AkonadiCore_jobs_HEADERS
+ RELATIVE jobs
+ )
+
+-# This is a workaround for conflict between our "Exception" fancy header and
+-# C++ stdlib's "exception" header which occurs in case-insensitive systems.
+-# For that reason we generate std_exception.h file, which contains an absolute
+-# path to the stdlib's exception header file, which resolves the ambiguity
+-# when including <exception> from within Akonadi.
+-include(FindStdlibInclude)
+-findStdlibInclude("exception" std_exception_file)
+-if (NOT "${std_exception_file}" STREQUAL "")
+- configure_file(${CMAKE_CURRENT_SOURCE_DIR}/std_exception.h.in
+- ${CMAKE_CURRENT_BINARY_DIR}/std_exception.h
+- )
+-else()
+- message(FATAL_ERROR "stdlib <exception> include absolute path not found")
+-endif()
+-
+ set(akonadicore_dbus_xml
${Akonadi_SOURCE_DIR}/src/interfaces/org.freedesktop.Akonadi.NotificationManager.xml)
+ qt5_add_dbus_interface(akonadicore_dbus_SRCS ${akonadicore_dbus_xml}
notificationmanagerinterface)
+
+@@ -338,7 +323,6 @@ install(TARGETS
+
+ install(FILES
+ ${CMAKE_CURRENT_BINARY_DIR}/akonadicore_export.h
+- ${CMAKE_CURRENT_BINARY_DIR}/std_exception.h
+ ${AkonadiCore_base_HEADERS}
+ ${AkonadiCore_models_HEADERS}
+ ${AkonadiCore_jobs_HEADERS}
+diff --git a/src/core/exception.h b/src/core/exception.h
+index d07ca71..2a376df 100644
+--- a/src/core/exception.h
++++ b/src/core/exception.h
+@@ -20,16 +20,11 @@
+ #ifndef AKONADI_EXCEPTION_H
+ #define AKONADI_EXCEPTION_H
+
+-// The std_exception.h file is generated at build-time and #includes C++
stdlib
+-// header "exception" by aboslute path. This is to workaround an include loop
on
+-// case-insensitive systems, where #include <exception> includes our
"Exception"
+-// fancy header instead of stdlib's exception, causing an endless loop of
+-// includes between "Exception" and "exception.h".
+-#include "std_exception.h"
+-
+ #include "akonadicore_export.h"
++#include <QObject>
++#include <QByteArray>
++#include <exception>
+
+-class QByteArray;
+ class QString;
+
+ namespace Akonadi