diff options
author | rakuco <rakuco@FreeBSD.org> | 2013-06-06 06:02:08 +0800 |
---|---|---|
committer | rakuco <rakuco@FreeBSD.org> | 2013-06-06 06:02:08 +0800 |
commit | 29a03370887af0c77e569c6a1d223daa34d1473f (patch) | |
tree | 38a8e86a88d2648d026b9c9d20d70230e62cd26a /deskutils | |
parent | 72186c7855eb8131559d515cd6e0a159e48c6160 (diff) | |
download | freebsd-ports-gnome-29a03370887af0c77e569c6a1d223daa34d1473f.tar.gz freebsd-ports-gnome-29a03370887af0c77e569c6a1d223daa34d1473f.tar.zst freebsd-ports-gnome-29a03370887af0c77e569c6a1d223daa34d1473f.zip |
Apply my upstream patch to fix kdepim4-runtime's build with clang 3.3.
Yes, the patch is to kdepimlibs4, but it should actually fix the build
problems that people were having with kdepim4-runtime and CURRENT's clang.
Diffstat (limited to 'deskutils')
-rw-r--r-- | deskutils/kdepimlibs4/Makefile | 1 | ||||
-rw-r--r-- | deskutils/kdepimlibs4/files/patch-akonadi__resourcebase.h | 55 |
2 files changed, 56 insertions, 0 deletions
diff --git a/deskutils/kdepimlibs4/Makefile b/deskutils/kdepimlibs4/Makefile index 490fcc964f55..f6e9d3534d34 100644 --- a/deskutils/kdepimlibs4/Makefile +++ b/deskutils/kdepimlibs4/Makefile @@ -3,6 +3,7 @@ PORTNAME= kdepimlibs PORTVERSION= ${KDE4_VERSION} +PORTREVISION= 1 CATEGORIES= deskutils kde ipv6 MASTER_SITES= ${MASTER_SITE_KDE} MASTER_SITE_SUBDIR= ${KDE4_BRANCH}/${PORTVERSION}/src diff --git a/deskutils/kdepimlibs4/files/patch-akonadi__resourcebase.h b/deskutils/kdepimlibs4/files/patch-akonadi__resourcebase.h new file mode 100644 index 000000000000..a2d816e29515 --- /dev/null +++ b/deskutils/kdepimlibs4/files/patch-akonadi__resourcebase.h @@ -0,0 +1,55 @@ +commit e65bae22cf6da5c0db468691a8037ac81ffce291 +Author: Raphael Kubo da Costa <rakuco@FreeBSD.org> +Date: Sun Jun 2 02:29:49 2013 +0300 + + Correctly expose that ResourceState is a friend class. + + ResourceState is a class that lives in kdepim-runtime and is outside the + Akonadi namespace. + + clang < 3.3 and all versions of GCC erroneously consider the friend + declaration in + + namespace N { + class C { + friend class A; + }; + } + + class A { + }; + + to refer to the class A outside namespace N (technically speaking, this is + item 3 of section 7.3.1.2 of the C++ standard). clang 3.3 fixes this + behavior and makes the build of kdepim-runtime fail. + + Fix it by explicitly referring to ::ResourceState in the friend declaration. + + Alternatively, we could remove the friend declaration and make + ResourceState::collectionsRetrieved use ImapResource::Append instead of + Akonadi::ResourceBase::Append (since ImapResource also declares + ResourceState as a friend). + + REVIEW: 110777 + +diff --git a/akonadi/resourcebase.h b/akonadi/resourcebase.h +index 2e112b5..cb25ef2 100644 +--- akonadi/resourcebase.h ++++ akonadi/resourcebase.h +@@ -32,6 +32,7 @@ + + class KJob; + class Akonadi__ResourceAdaptor; ++class ResourceState; + + namespace Akonadi { + +@@ -566,7 +567,7 @@ class AKONADI_EXPORT ResourceBase : public AgentBase + void setHierarchicalRemoteIdentifiersEnabled( bool enable ); + + friend class ResourceScheduler; +- friend class ResourceState; ++ friend class ::ResourceState; + + /** + * Describes the scheduling priority of a task that has been queued |