From owner-svn-ports-head@FreeBSD.ORG Wed Jun 5 22:02:09 2013 Return-Path: Delivered-To: svn-ports-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id AF5BEB48; Wed, 5 Jun 2013 22:02:09 +0000 (UTC) (envelope-from rakuco@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 91D8F16B2; Wed, 5 Jun 2013 22:02:09 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id r55M29mk062651; Wed, 5 Jun 2013 22:02:09 GMT (envelope-from rakuco@svn.freebsd.org) Received: (from rakuco@localhost) by svn.freebsd.org (8.14.7/8.14.5/Submit) id r55M29b6062649; Wed, 5 Jun 2013 22:02:09 GMT (envelope-from rakuco@svn.freebsd.org) Message-Id: <201306052202.r55M29b6062649@svn.freebsd.org> From: Raphael Kubo da Costa Date: Wed, 5 Jun 2013 22:02:09 +0000 (UTC) To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r320031 - in head/deskutils/kdepimlibs4: . files X-SVN-Group: ports-head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-ports-head@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: SVN commit messages for the ports tree for head List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 05 Jun 2013 22:02:09 -0000 Author: rakuco Date: Wed Jun 5 22:02:08 2013 New Revision: 320031 URL: http://svnweb.freebsd.org/changeset/ports/320031 Log: 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. Added: head/deskutils/kdepimlibs4/files/patch-akonadi__resourcebase.h (contents, props changed) Modified: head/deskutils/kdepimlibs4/Makefile Modified: head/deskutils/kdepimlibs4/Makefile ============================================================================== --- head/deskutils/kdepimlibs4/Makefile Wed Jun 5 21:56:03 2013 (r320030) +++ head/deskutils/kdepimlibs4/Makefile Wed Jun 5 22:02:08 2013 (r320031) @@ -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 Added: head/deskutils/kdepimlibs4/files/patch-akonadi__resourcebase.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/deskutils/kdepimlibs4/files/patch-akonadi__resourcebase.h Wed Jun 5 22:02:08 2013 (r320031) @@ -0,0 +1,55 @@ +commit e65bae22cf6da5c0db468691a8037ac81ffce291 +Author: Raphael Kubo da Costa +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