[arch-commits] Commit in folks/trunk (2 files)

Jan Steffens heftig at archlinux.org
Tue Sep 13 21:31:42 UTC 2011


    Date: Tuesday, September 13, 2011 @ 17:31:42
  Author: heftig
Revision: 138000

wee, new stuff

Added:
  folks/trunk/Bug_658631_crash_at_empathy_startup.patch
Modified:
  folks/trunk/PKGBUILD

-------------------------------------------+
 Bug_658631_crash_at_empathy_startup.patch |   41 ++++++++++++++++++++++++++++
 PKGBUILD                                  |   20 ++++++++++---
 2 files changed, 56 insertions(+), 5 deletions(-)

Added: Bug_658631_crash_at_empathy_startup.patch
===================================================================
--- Bug_658631_crash_at_empathy_startup.patch	                        (rev 0)
+++ Bug_658631_crash_at_empathy_startup.patch	2011-09-13 21:31:42 UTC (rev 138000)
@@ -0,0 +1,41 @@
+From 1f85f89051e63b05e271b418687c242a83e2f296 Mon Sep 17 00:00:00 2001
+From: Philip Withnall <philip at tecnocode.co.uk>
+Date: Mon, 12 Sep 2011 22:09:10 +0000
+Subject: Bug 658631 — crash at empathy startup
+
+In the case that a persona is removed and the individual containing that
+persona is replaced by a different non-null individual which doesn't contain
+that persona (because it's been removed), we need to set the persona's
+individual pointer to null rather than the replacement individual.
+
+This stops us tripping the assertion in the setter for Persona.individual.
+
+Closes: bgo#658631
+---
+diff --git a/folks/individual.vala b/folks/individual.vala
+index 3b6c12b..59548ee 100644
+--- a/folks/individual.vala
++++ b/folks/individual.vala
+@@ -1510,7 +1510,19 @@ public class Folks.Individual : Object,
+        * aggregator's rewritten, it would be nice to fix this. */
+       if (persona.individual == this)
+         {
+-          persona.individual = replacement_individual;
++          /* It may be the case that the persona's being removed from the
++           * individual (i.e. the replacement individual is non-null, but
++           * doesn't contain this persona). In this case, we need to set the
++           * persona's individual to null. */
++          if (replacement_individual != null &&
++              persona in replacement_individual.personas)
++            {
++              persona.individual = replacement_individual;
++            }
++          else
++            {
++              persona.individual = null;
++            }
+         }
+     }
+ 
+--
+cgit v0.9.0.2

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2011-09-13 21:30:22 UTC (rev 137999)
+++ PKGBUILD	2011-09-13 21:31:42 UTC (rev 138000)
@@ -2,20 +2,30 @@
 # Maintainer: Ionut Biru <ibiru at archlinux.org>
 pkgname=folks
 pkgver=0.6.2.1
-pkgrel=1
+pkgrel=2
 pkgdesc="Library to aggregates people into metacontacts "
 arch=(i686 x86_64)
 url="http://telepathy.freedesktop.org/wiki/Folks"
 license=('LGPL2.1')
 depends=('telepathy-glib' 'libgee' 'libxml2' 'evolution-data-server' 'libsocialweb')
-makedepends=('gobject-introspection' 'vala' 'intltool')
+makedepends=('gobject-introspection' 'vala' 'intltool' 'libtracker-sparql')
 options=('!libtool')
-source=(http://ftp.gnome.org/pub/GNOME/sources/${pkgname}/0.6/${pkgname}-${pkgver}.tar.xz)
-sha256sums=('3eda79a71890b51b6f723067b61c32ef25e9041a9e188b483d7f23e3dcd328ee')
+source=(http://ftp.gnome.org/pub/GNOME/sources/${pkgname}/0.6/${pkgname}-${pkgver}.tar.xz
+        Bug_658631_crash_at_empathy_startup.patch)
+sha256sums=('3eda79a71890b51b6f723067b61c32ef25e9041a9e188b483d7f23e3dcd328ee'
+            '4ef4caaab73e799fe31e7a93ba1f3f088e99f66600e644828bbcc4fb966c1196')
 
 build() {
   cd "$srcdir/$pkgname-$pkgver"
-  ./configure --prefix=/usr
+
+  # Fix a crash
+  patch -Np1 -i "$srcdir/Bug_658631_crash_at_empathy_startup.patch"
+  find . -name '*.stamp' -delete
+
+  # Change tracker version
+  grep -lr sparql-0.10 . | xargs sed -i 's/sparql-0.10/sparql-0.12/g'
+
+  ./configure --prefix=/usr --enable-tracker-backend
   make
 }
 




More information about the arch-commits mailing list