[120511] users/devans/GNOME-3/unstable/dports

devans at macports.org devans at macports.org
Fri May 30 13:50:43 PDT 2014


Revision: 120511
          https://trac.macports.org/changeset/120511
Author:   devans at macports.org
Date:     2014-05-30 13:50:43 -0700 (Fri, 30 May 2014)
Log Message:
-----------
GNOME-3/unstable: update ports to unstable 3.13.2 release vertsions:
   * devel/atk 2.13.2	
   * devel/glib2 2.41.0	
   * gnome/baobab 3.13.1	
   * gnome/eog 3.13.2	
   * gnome/evolution-data-server 3.13.2	
   * gnome/gedit 3.12.2	
   * gnome/gnome-desktop 3.13.2	
   * gnome/gnome-maps 3.13.2	
   * gnome/gnome-music 3.13.2	
   * gnome/gnome-online-accounts 3.13.2	
   * gnome/gnome-photos 3.12.1	
   * gnome/gnome-system-monitor 3.13.2	
   * gnome/gnome-terminal 3.13.1	
   * gnome/gnome3-apps 3.13.2	
   * gnome/gnome3-core 3.13.2	
   * gnome/gsettings-desktop-schemas 3.13.2	
   * gnome/gtk3 3.13.2	
   * gnome/tracker 1.0.1	
   * gnome/vte 0.37.1	
   * graphics/clutter 1.19.2	
   * net/libgweather 3.13.2
   * python/py-gobject3 3.13.2

Modified Paths:
--------------
    users/devans/GNOME-3/unstable/dports/devel/atk/Portfile
    users/devans/GNOME-3/unstable/dports/devel/glib2/Portfile
    users/devans/GNOME-3/unstable/dports/devel/glib2/files/patch-glib-2.0.pc.in.diff
    users/devans/GNOME-3/unstable/dports/gnome/baobab/Portfile
    users/devans/GNOME-3/unstable/dports/gnome/eog/Portfile
    users/devans/GNOME-3/unstable/dports/gnome/evolution-data-server/Portfile
    users/devans/GNOME-3/unstable/dports/gnome/gedit/Portfile
    users/devans/GNOME-3/unstable/dports/gnome/gnome-desktop/Portfile
    users/devans/GNOME-3/unstable/dports/gnome/gnome-desktop/files/patch-libgnome-destktop-libgsystem.diff
    users/devans/GNOME-3/unstable/dports/gnome/gnome-maps/Portfile
    users/devans/GNOME-3/unstable/dports/gnome/gnome-music/Portfile
    users/devans/GNOME-3/unstable/dports/gnome/gnome-online-accounts/Portfile
    users/devans/GNOME-3/unstable/dports/gnome/gnome-photos/Portfile
    users/devans/GNOME-3/unstable/dports/gnome/gnome-system-monitor/Portfile
    users/devans/GNOME-3/unstable/dports/gnome/gnome-terminal/Portfile
    users/devans/GNOME-3/unstable/dports/gnome/gnome-terminal/files/patch-uuid.diff
    users/devans/GNOME-3/unstable/dports/gnome/gnome3-apps/Portfile
    users/devans/GNOME-3/unstable/dports/gnome/gnome3-apps/files/versions.txt
    users/devans/GNOME-3/unstable/dports/gnome/gnome3-core/Portfile
    users/devans/GNOME-3/unstable/dports/gnome/gnome3-core/files/versions.txt
    users/devans/GNOME-3/unstable/dports/gnome/gsettings-desktop-schemas/Portfile
    users/devans/GNOME-3/unstable/dports/gnome/gtk3/Portfile
    users/devans/GNOME-3/unstable/dports/gnome/tracker/Portfile
    users/devans/GNOME-3/unstable/dports/gnome/vte/Portfile
    users/devans/GNOME-3/unstable/dports/graphics/clutter/Portfile
    users/devans/GNOME-3/unstable/dports/net/libgweather/Portfile
    users/devans/GNOME-3/unstable/dports/python/py-gobject3/Portfile

Added Paths:
-----------
    users/devans/GNOME-3/unstable/dports/devel/glib2/
    users/devans/GNOME-3/unstable/dports/gnome/baobab/
    users/devans/GNOME-3/unstable/dports/gnome/gedit/
    users/devans/GNOME-3/unstable/dports/gnome/gnome-maps/
    users/devans/GNOME-3/unstable/dports/gnome/gnome-photos/
    users/devans/GNOME-3/unstable/dports/gnome/tracker/
    users/devans/GNOME-3/unstable/dports/graphics/clutter/

Modified: users/devans/GNOME-3/unstable/dports/devel/atk/Portfile
===================================================================
--- users/devans/GNOME-3/unstable/dports/devel/atk/Portfile	2014-05-30 20:42:12 UTC (rev 120510)
+++ users/devans/GNOME-3/unstable/dports/devel/atk/Portfile	2014-05-30 20:50:43 UTC (rev 120511)
@@ -5,7 +5,7 @@
 
 name                    atk
 epoch                   2
-version                 2.13.1
+version                 2.13.2
 set branch              [join [lrange [split ${version} .] 0 1] .]
 categories              devel
 license                 LGPL
@@ -19,8 +19,8 @@
 homepage                http://projects.gnome.org/accessibility/
 master_sites            gnome:sources/${name}/${branch}/
 
-checksums               rmd160  b0e7aeae32a65ad9d78ed66cc12652ba6784214e \
-                        sha256  71baf41d5b01f550e63601baf8589cacf9ccec7f3fa6638924d9100def51fa62
+checksums               rmd160  1a2cf65a2f16f4392d73f74a2bb128e6d3f297d3 \
+                        sha256  ebe1be3123da5aaa9a2e95821268ea31e955949cd56f5e1e65ec73e5b292b8f6
 
 use_xz                  yes
 


Property changes on: users/devans/GNOME-3/unstable/dports/devel/glib2
___________________________________________________________________
Added: svn:mergeinfo
   + /branches/mld-qt-481/dports/devel/glib2:92720,92813,92891,92963,93522,93556,93699,93743,93771-93773,93806,93817-93818,93856
/trunk/dports/devel/glib2:52045-52046,62644,64476,72697,91791
/trunk/dports/devel/glib2-devel:51739-120463
/users/cal/ports/devel/glib2:96570-97031

Modified: users/devans/GNOME-3/unstable/dports/devel/glib2/Portfile
===================================================================
--- trunk/dports/devel/glib2/Portfile	2014-05-29 02:45:21 UTC (rev 120463)
+++ users/devans/GNOME-3/unstable/dports/devel/glib2/Portfile	2014-05-30 20:50:43 UTC (rev 120511)
@@ -10,8 +10,7 @@
 name                        glib2
 conflicts                   glib2-devel
 set my_name                 glib
-version                     2.40.0
-revision                    1
+version                     2.41.0
 set branch                  [join [lrange [split ${version} .] 0 1] .]
 categories                  devel
 maintainers                 ryandesign openmaintainer
@@ -32,8 +31,8 @@
 master_sites                gnome:sources/${my_name}/${branch}/ \
                             ftp://ftp.gtk.org/pub/${my_name}/${branch}/
 
-checksums                   rmd160  c50eed34bf8df127b959af27b02d6036934f758e \
-                            sha256  0d27f195966ecb1995dcce0754129fd66ebe820c7cd29200d264b02af1aa28b5
+checksums                   rmd160  3ca4e66fecf1c25cf7d8e143fb17813e94cf9f1c \
+                            sha256  e85e2714147928e3f6410a3f9a5c11ebfcfc7b3b11706e3374636b091dc7c3f7
 
 # ${prefix}/include/glib-2.0/glib/gi18n.h requires -I${prefix}/include to find libintl.h
 # See https://trac.macports.org/changeset/27148
@@ -124,5 +123,5 @@
     configure.python        ${prefix}/bin/python2.7
 }
 
-livecheck.type              gnome
+livecheck.type              gnome-with-unstable
 livecheck.name              ${my_name}

Modified: users/devans/GNOME-3/unstable/dports/devel/glib2/files/patch-glib-2.0.pc.in.diff
===================================================================
--- trunk/dports/devel/glib2/files/patch-glib-2.0.pc.in.diff	2014-05-29 02:45:21 UTC (rev 120463)
+++ users/devans/GNOME-3/unstable/dports/devel/glib2/files/patch-glib-2.0.pc.in.diff	2014-05-30 20:50:43 UTC (rev 120511)
@@ -1,8 +1,8 @@
---- glib-2.0.pc.in.orig	2012-01-15 21:12:06.000000000 -0600
-+++ glib-2.0.pc.in	2012-01-19 22:29:43.000000000 -0600
+--- glib-2.0.pc.in.orig	2014-04-07 08:01:32.000000000 -0500
++++ glib-2.0.pc.in	2014-05-27 20:44:09.000000000 -0500
 @@ -13,4 +13,4 @@
  Requires.private: @PCRE_REQUIRES@
  Libs: -L${libdir} -lglib-2.0 @INTLLIBS@
- Libs.private: @G_THREAD_LIBS@ @G_LIBS_EXTRA@ @PCRE_LIBS@ @INTLLIBS@ @ICONV_LIBS@
+ Libs.private: @G_THREAD_LIBS@ @G_LIBS_EXTRA@ @PCRE_LIBS@ @INTLLIBS@ @ICONV_LIBS@ @CARBON_LIBS@ @COCOA_LIBS@
 -Cflags: -I${includedir}/glib-2.0 -I${libdir}/glib-2.0/include @GLIB_EXTRA_CFLAGS@
 +Cflags: -I${includedir}/glib-2.0 -I${libdir}/glib-2.0/include -I${includedir} @GLIB_EXTRA_CFLAGS@

Modified: users/devans/GNOME-3/unstable/dports/gnome/baobab/Portfile
===================================================================
--- users/devans/GNOME-3/stable/dports/gnome/baobab/Portfile	2014-05-27 20:16:06 UTC (rev 120409)
+++ users/devans/GNOME-3/unstable/dports/gnome/baobab/Portfile	2014-05-30 20:50:43 UTC (rev 120511)
@@ -4,7 +4,7 @@
 PortSystem          1.0
 
 name                baobab
-version             3.12.1
+version             3.13.1
 license             GPL-2 GFDL-1.1
 set branch          [join [lrange [split ${version} .] 0 1] .]
 description         GNOME disk usage analyzer.
@@ -23,8 +23,8 @@
 
 use_xz              yes
 
-checksums           rmd160  2d013486e10472031275b004a4570e1785c5a6e7 \
-                    sha256  494808d8a5b1776377749a1dcd5b251eb399208a4c90380dc8b8c789811e514c
+checksums           rmd160  882954212bdc02ad3416e081fc6e1d5e96f6635d \
+                    sha256  06c786a60e9e4a80b87ace6a18d9efbc475f4f61743862567ba415b27e8cf7db
 
 depends_build       port:pkgconfig \
                     port:intltool \
@@ -78,4 +78,4 @@
     system "${prefix}/bin/glib-compile-schemas ${prefix}/share/glib-2.0/schemas"
 }
 
-livecheck.type      gnome
+livecheck.type      gnome-with-unstable

Modified: users/devans/GNOME-3/unstable/dports/gnome/eog/Portfile
===================================================================
--- users/devans/GNOME-3/unstable/dports/gnome/eog/Portfile	2014-05-30 20:42:12 UTC (rev 120510)
+++ users/devans/GNOME-3/unstable/dports/gnome/eog/Portfile	2014-05-30 20:50:43 UTC (rev 120511)
@@ -4,7 +4,7 @@
 PortSystem      1.0
 
 name            eog
-version         3.13.1
+version         3.13.2
 license         GPL-2+
 set branch      [join [lrange [split ${version} .] 0 1] .]
 description     An image viewing and cataloging program.
@@ -20,8 +20,8 @@
 
 use_xz          yes
 
-checksums       rmd160  2ed089b3727d8f60b8409ef5f1078d13b98cefd5 \
-                sha256  7e5be753bb7ef0ce53ec0153ff0addc2e12b956909576ac3d14d5f68f6e371c2
+checksums       rmd160  30e9ab1a33ce754915b5343a77da250a9c70bed0 \
+                sha256  62497739dacfc108e03554d2e2321a8feb2c2b169d2422349c009dab114ba22f
 
 depends_build   port:pkgconfig \
                 port:intltool \

Modified: users/devans/GNOME-3/unstable/dports/gnome/evolution-data-server/Portfile
===================================================================
--- users/devans/GNOME-3/unstable/dports/gnome/evolution-data-server/Portfile	2014-05-30 20:42:12 UTC (rev 120510)
+++ users/devans/GNOME-3/unstable/dports/gnome/evolution-data-server/Portfile	2014-05-30 20:50:43 UTC (rev 120511)
@@ -4,7 +4,7 @@
 PortSystem      1.0
 
 name            evolution-data-server
-version         3.13.1
+version         3.13.2
 set branch      [join [lrange [split ${version} .] 0 1] .]
 description     Addressbook and calender libs for GNOME.
 long_description    Evolution Data Server provides a central location for \
@@ -18,8 +18,8 @@
 
 use_xz          yes
 
-checksums       rmd160  0c469cad142877ed4bf4f7532901017e9d148aa2 \
-                sha256  b3c90a802d7019d7cfb1e17b47e12513c684f00ad9c1c6e9cbeb1a9c9a419755
+checksums       rmd160  58f371e8dd4d1e6245420b5b996b7ebaa3bbf60a \
+                sha256  b4cca149d421ab44f0ced52e8a9f3e54ffbd1e40e77b28f76706fc63be2a90ab
 
 depends_build   port:pkgconfig \
                 port:gnome-common \

Modified: users/devans/GNOME-3/unstable/dports/gnome/gedit/Portfile
===================================================================
--- users/devans/GNOME-3/stable/dports/gnome/gedit/Portfile	2014-05-28 18:05:36 UTC (rev 120451)
+++ users/devans/GNOME-3/unstable/dports/gnome/gedit/Portfile	2014-05-30 20:50:43 UTC (rev 120511)
@@ -102,4 +102,4 @@
     system "${prefix}/bin/glib-compile-schemas ${prefix}/share/glib-2.0/schemas"
 }
 
-livecheck.type  gnome
+livecheck.type  gnome-with-unstable

Modified: users/devans/GNOME-3/unstable/dports/gnome/gnome-desktop/Portfile
===================================================================
--- users/devans/GNOME-3/unstable/dports/gnome/gnome-desktop/Portfile	2014-05-30 20:42:12 UTC (rev 120510)
+++ users/devans/GNOME-3/unstable/dports/gnome/gnome-desktop/Portfile	2014-05-30 20:50:43 UTC (rev 120511)
@@ -4,7 +4,7 @@
 PortSystem      1.0
 
 name            gnome-desktop
-version         3.13.1
+version         3.13.2
 set branch      [join [lrange [split ${version} .] 0 1] .]
 maintainers     devans openmaintainer
 categories      gnome
@@ -24,8 +24,8 @@
 
 use_xz          yes
 
-checksums       rmd160  e224b37ddaf066571c43135892f158a102e45792 \
-                sha256  cc62cc5e5f4f03221cbbd36d6c5098fff7f0d6330137af8010cab0aa294f81a1
+checksums       rmd160  10e91055c4f15731e1d8494f9dbbf30527e4c3fd \
+                sha256  ea4b26a778e2732b6515cc45787ae0720c7cbe4172a0ee4037a7bfefbbd1df9e
 
 depends_build   port:pkgconfig \
                 port:intltool \

Modified: users/devans/GNOME-3/unstable/dports/gnome/gnome-desktop/files/patch-libgnome-destktop-libgsystem.diff
===================================================================
--- users/devans/GNOME-3/unstable/dports/gnome/gnome-desktop/files/patch-libgnome-destktop-libgsystem.diff	2014-05-30 20:42:12 UTC (rev 120510)
+++ users/devans/GNOME-3/unstable/dports/gnome/gnome-desktop/files/patch-libgnome-destktop-libgsystem.diff	2014-05-30 20:50:43 UTC (rev 120511)
@@ -53,1636 +53,6 @@
    return TRUE;
  }
  
-diff -urN libgnome-desktop/libgsystem.orig/gsystem-file-utils.c.orig libgnome-desktop/libgsystem/gsystem-file-utils.c.orig
---- libgnome-desktop/libgsystem.orig/gsystem-file-utils.c.orig	1969-12-31 16:00:00.000000000 -0800
-+++ libgnome-desktop/libgsystem/gsystem-file-utils.c.orig	2014-01-15 13:06:25.000000000 -0800
-@@ -0,0 +1,1626 @@
-+/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*-
-+ *
-+ * Copyright (C) 2012 William Jon McCann <mccann at redhat.com>
-+ * Copyright (C) 2012 Colin Walters <walters at verbum.org>
-+ *
-+ * This library is free software; you can redistribute it and/or
-+ * modify it under the terms of the GNU Lesser General Public
-+ * License as published by the Free Software Foundation; either
-+ * version 2 of the License, or (at your option) any later version.
-+ *
-+ * This library is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-+ * Lesser General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU Lesser General Public
-+ * License along with this library; if not, write to the
-+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-+ * Boston, MA 02111-1307, USA.
-+ */
-+
-+#include "config.h"
-+
-+#ifndef _GNU_SOURCE
-+#define _GNU_SOURCE
-+#endif
-+
-+#include <string.h>
-+
-+#define _GSYSTEM_NO_LOCAL_ALLOC
-+#include "libgsystem.h"
-+#include "gsystem-glib-compat.h"
-+#include <glib/gstdio.h>
-+#include <gio/gunixinputstream.h>
-+#include <gio/gfiledescriptorbased.h>
-+#include <gio/gunixoutputstream.h>
-+#include <glib-unix.h>
-+#include <limits.h>
-+#include <dirent.h>
-+#ifdef GSYSTEM_CONFIG_XATTRS
-+#include <attr/xattr.h>
-+#endif
-+
-+static int
-+close_nointr (int fd)
-+{
-+  int res;
-+  /* Note this is NOT actually a retry loop.
-+   * See: https://bugzilla.gnome.org/show_bug.cgi?id=682819
-+   */
-+  res = close (fd);
-+  /* Just ignore EINTR...on Linux, retrying is wrong. */
-+  if (res == EINTR)
-+    res = 0;
-+  return res;
-+}
-+
-+static void
-+close_nointr_noerror (int fd)
-+{
-+  (void) close_nointr (fd);
-+}
-+
-+static int
-+open_nointr (const char *path, int flags, mode_t mode)
-+{
-+  int res;
-+  do
-+    res = open (path, flags, mode);
-+  while (G_UNLIKELY (res == -1 && errno == EINTR));
-+  return res;
-+}
-+
-+static inline void
-+_set_error_from_errno (GError **error)
-+{
-+  int errsv = errno;
-+  g_set_error_literal (error, G_IO_ERROR, g_io_error_from_errno (errsv),
-+                       g_strerror (errsv));
-+}
-+
-+/**
-+ * gs_file_openat_noatime:
-+ * @dfd: File descriptor for directory
-+ * @name: Pathname, relative to @dfd
-+ * @ret_fd: (out): Returned file descriptor
-+ * @cancellable: Cancellable
-+ * @error: Error
-+ *
-+ * Wrapper for openat() using %O_RDONLY with %O_NOATIME if available.
-+ */
-+gboolean
-+gs_file_openat_noatime (int            dfd,
-+                        const char    *name,
-+                        int           *ret_fd,
-+                        GCancellable  *cancellable,
-+                        GError       **error)
-+{
-+  int fd;
-+
-+#ifdef O_NOATIME
-+  do
-+    fd = openat (dfd, name, O_RDONLY | O_NOATIME, 0);
-+  while (G_UNLIKELY (fd == -1 && errno == EINTR));
-+  /* Only the owner or superuser may use O_NOATIME; so we may get
-+   * EPERM.  EINVAL may happen if the kernel is really old...
-+   */
-+  if (fd == -1 && (errno == EPERM || errno == EINVAL))
-+#endif
-+    do
-+      fd = openat (dfd, name, O_RDONLY, 0);
-+    while (G_UNLIKELY (fd == -1 && errno == EINTR));
-+  
-+  if (fd == -1)
-+    {
-+      _set_error_from_errno (error);
-+      return FALSE;
-+    }
-+  else
-+    {
-+      *ret_fd = fd;
-+      return TRUE;
-+    }
-+}
-+
-+/**
-+ * gs_file_read_noatime:
-+ * @file: a #GFile
-+ * @cancellable: a #GCancellable
-+ * @error: a #GError
-+ *
-+ * Like g_file_read(), but try to avoid updating the file's
-+ * access time.  This should be used by background scanning
-+ * components such as search indexers, antivirus programs, etc.
-+ *
-+ * Returns: (transfer full): A new input stream, or %NULL on error
-+ */
-+GInputStream *
-+gs_file_read_noatime (GFile         *file,
-+                      GCancellable  *cancellable,
-+                      GError       **error)
-+{
-+  const char *path = NULL;
-+  int fd;
-+
-+  if (g_cancellable_set_error_if_cancelled (cancellable, error))
-+    return NULL;
-+
-+  path = gs_file_get_path_cached (file);
-+  if (path == NULL)
-+    {
-+      char *uri;
-+      uri = g_file_get_uri (file);
-+      g_set_error (error, G_FILE_ERROR, G_FILE_ERROR_NOENT,
-+                   "%s has no associated path", uri);
-+      g_free (uri);
-+      return NULL;
-+    }
-+
-+  if (!gs_file_openat_noatime (AT_FDCWD, path, &fd, cancellable, error))
-+    return NULL;
-+
-+  return g_unix_input_stream_new (fd, TRUE);
-+}
-+
-+/**
-+ * gs_stream_fstat:
-+ * @stream: A stream containing a Unix file descriptor
-+ * @stbuf: Memory location to write stat buffer
-+ * @cancellable:
-+ * @error:
-+ *
-+ * Some streams created via libgsystem are #GUnixInputStream; these do
-+ * not support e.g. g_file_input_stream_query_info().  This function
-+ * allows dropping to the raw unix fstat() call for these types of
-+ * streams, while still conveniently wrapped with the normal GLib
-+ * handling of @cancellable and @error.
-+ */
-+gboolean
-+gs_stream_fstat (GFileDescriptorBased *stream,
-+                 struct stat          *stbuf,
-+                 GCancellable         *cancellable,
-+                 GError              **error)
-+{
-+  gboolean ret = FALSE;
-+  int fd;
-+
-+  if (g_cancellable_set_error_if_cancelled (cancellable, error))
-+    goto out;
-+
-+  fd = g_file_descriptor_based_get_fd (stream);
-+
-+  if (fstat (fd, stbuf) == -1)
-+    {
-+      _set_error_from_errno (error);
-+      goto out;
-+    }
-+
-+  ret = TRUE;
-+ out:
-+  return ret;
-+}
-+
-+/**
-+ * gs_file_map_noatime: (skip)
-+ * @file: a #GFile
-+ * @cancellable: a #GCancellable
-+ * @error: a #GError
-+ *
-+ * Like g_mapped_file_new(), but try to avoid updating the file's
-+ * access time.  This should be used by background scanning
-+ * components such as search indexers, antivirus programs, etc.
-+ *
-+ * Returns: (transfer full): A new mapped file, or %NULL on error
-+ */
-+GMappedFile *
-+gs_file_map_noatime (GFile         *file,
-+                     GCancellable  *cancellable,
-+                     GError       **error)
-+{
-+  const char *path;
-+  int fd;
-+  GMappedFile *ret;
-+
-+  if (g_cancellable_set_error_if_cancelled (cancellable, error))
-+    return NULL;
-+
-+  path = gs_file_get_path_cached (file);
-+  if (path == NULL)
-+    return NULL;
-+
-+  if (!gs_file_openat_noatime (AT_FDCWD, path, &fd, cancellable, error))
-+    return NULL;
-+  
-+  ret = g_mapped_file_new_from_fd (fd, FALSE, error);
-+  close_nointr_noerror (fd); /* Ignore errors - we always want to close */
-+
-+  return ret;
-+}
-+
-+#if GLIB_CHECK_VERSION(2,34,0)
-+/**
-+ * gs_file_map_readonly:
-+ * @file: a #GFile
-+ * @cancellable:
-+ * @error:
-+ *
-+ * Return a #GBytes which references a readonly view of the contents of
-+ * @file.  This function uses #GMappedFile internally.
-+ *
-+ * Returns: (transfer full): a newly referenced #GBytes
-+ */
-+GBytes *
-+gs_file_map_readonly (GFile         *file,
-+                      GCancellable  *cancellable,
-+                      GError       **error)
-+{
-+  GMappedFile *mfile;
-+  GBytes *ret;
-+
-+  if (g_cancellable_set_error_if_cancelled (cancellable, error))
-+    return NULL;
-+
-+  mfile = g_mapped_file_new (gs_file_get_path_cached (file), FALSE, error);
-+  if (!mfile)
-+    return NULL;
-+
-+  ret = g_mapped_file_get_bytes (mfile);
-+  g_mapped_file_unref (mfile);
-+  return ret;
-+}
-+#endif
-+
-+/**
-+ * gs_file_sync_data:
-+ * @file: a #GFile
-+ * @cancellable:
-+ * @error:
-+ *
-+ * Wraps the UNIX fsync() function (or fdatasync(), if available), which
-+ * ensures that the data in @file is on non-volatile storage.
-+ */
-+gboolean
-+gs_file_sync_data (GFile          *file,
-+                   GCancellable   *cancellable,
-+                   GError        **error)
-+{
-+  gboolean ret = FALSE;
-+  int res;
-+  int fd = -1; 
-+
-+  if (!gs_file_openat_noatime (AT_FDCWD, gs_file_get_path_cached (file), &fd,
-+                               cancellable, error))
-+    goto out;
-+
-+  do
-+    {
-+#ifdef __linux
-+      res = fdatasync (fd);
-+#else
-+      res = fsync (fd);
-+#endif
-+    }
-+  while (G_UNLIKELY (res != 0 && errno == EINTR));
-+  if (res != 0)
-+    {
-+      _set_error_from_errno (error);
-+      goto out;
-+    }
-+
-+  res = close_nointr (fd);
-+  if (res != 0)
-+    {
-+      _set_error_from_errno (error);
-+      goto out;
-+    }
-+  fd = -1;
-+  
-+  ret = TRUE;
-+ out:
-+  if (fd != -1)
-+    close_nointr_noerror (fd);
-+  return ret;
-+}
-+
-+/**
-+ * gs_file_create:
-+ * @file: Path to non-existent file
-+ * @mode: Unix access permissions
-+ * @out_stream: (out) (transfer full) (allow-none): Newly created output, or %NULL
-+ * @cancellable: a #GCancellable
-+ * @error: a #GError
-+ *
-+ * Like g_file_create(), except this function allows specifying the
-+ * access mode.  This allows atomically creating private files.
-+ */
-+gboolean
-+gs_file_create (GFile          *file,
-+                int             mode,
-+                GOutputStream **out_stream,
-+                GCancellable   *cancellable,
-+                GError        **error)
-+{
-+  gboolean ret = FALSE;
-+  int fd;
-+  GOutputStream *ret_stream = NULL;
-+
-+  fd = open_nointr (gs_file_get_path_cached (file), O_WRONLY | O_CREAT | O_EXCL, mode);
-+  if (fd < 0)
-+    {
-+      _set_error_from_errno (error);
-+      goto out;
-+    }
-+
-+  if (fchmod (fd, mode) < 0)
-+    {
-+      close (fd);
-+      _set_error_from_errno (error);
-+      goto out;
-+    }
-+  
-+  ret_stream = g_unix_output_stream_new (fd, TRUE);
-+  
-+  ret = TRUE;
-+  gs_transfer_out_value (out_stream, &ret_stream);
-+ out:
-+  g_clear_object (&ret_stream);
-+  return ret;
-+}
-+
-+static const char *
-+get_default_tmp_prefix (void)
-+{
-+  static char *tmpprefix = NULL;
-+
-+  if (g_once_init_enter (&tmpprefix))
-+    {
-+      const char *prgname = g_get_prgname ();
-+      const char *p;
-+      char *prefix;
-+      char *iter;
-+
-+      if (prgname)
-+        {
-+          p = strrchr (prgname, '/');
-+          if (p)
-+            prgname = p + 1;
-+        }
-+      else
-+        prgname = "";
-+          
-+      prefix = g_strdup_printf ("tmp-%s%u-", prgname, getuid ());
-+      for (iter = prefix; *iter; iter++)
-+        {
-+          char c = *iter;
-+          if (c == ' ')
-+            *iter = '_';
-+        }
-+      
-+      g_once_init_leave (&tmpprefix, prefix);
-+    }
-+
-+  return tmpprefix;
-+}
-+
-+/**
-+ * gs_fileutil_gen_tmp_name:
-+ * @prefix: (allow-none): String prepended to the result
-+ * @suffix: (allow-none): String suffixed to the result
-+ *
-+ * Generate a name suitable for use as a temporary file.  This
-+ * function does no I/O; it is not guaranteed that a file with that
-+ * name does not exist.
-+ */
-+char *
-+gs_fileutil_gen_tmp_name (const char *prefix,
-+                          const char *suffix)
-+{
-+  static const char table[] = "ABCEDEFGHIJKLMNOPQRSTUVWXYZabcedefghijklmnopqrstuvwxyz0123456789";
-+  GString *str = g_string_new ("");
-+  guint i;
-+
-+  if (!prefix)
-+    prefix = get_default_tmp_prefix ();
-+  if (!suffix)
-+    suffix = "tmp";
-+
-+  g_string_append (str, prefix);
-+  for (i = 0; i < 8; i++)
-+    {
-+      int offset = g_random_int_range (0, sizeof (table) - 1);
-+      g_string_append_c (str, (guint8)table[offset]);
-+    }
-+  g_string_append_c (str, '.');
-+  g_string_append (str, suffix);
-+
-+  return g_string_free (str, FALSE);
-+}
-+
-+/**
-+ * gs_file_open_dir_fd:
-+ * @path: Directory name
-+ * @out_fd: (out): File descriptor for directory
-+ * @cancellable: Cancellable
-+ * @error: Error
-+ *
-+ * On success, sets @out_fd to a file descriptor for the directory
-+ * that can be used with UNIX functions such as openat().
-+ */
-+gboolean
-+gs_file_open_dir_fd (GFile         *path,
-+                     int           *out_fd,
-+                     GCancellable  *cancellable,
-+                     GError       **error)
-+{
-+  /* Linux specific probably */
-+  *out_fd = open (gs_file_get_path_cached (path), O_RDONLY | O_NONBLOCK | O_DIRECTORY | O_CLOEXEC);
-+  if (*out_fd == -1)
-+    {
-+      _set_error_from_errno (error);
-+      return FALSE;
-+    }
-+  return TRUE;
-+}
-+
-+/**
-+ * gs_file_open_in_tmpdir_at:
-+ * @tmpdir_fd: Directory to place temporary file
-+ * @mode: Default mode (will be affected by umask)
-+ * @out_name: (out) (transfer full): Newly created file name
-+ * @out_stream: (out) (transfer full) (allow-none): Newly created output stream
-+ * @cancellable:
-+ * @error:
-+ *
-+ * Like g_file_open_tmp(), except the file will be created in the
-+ * provided @tmpdir, and allows specification of the Unix @mode, which
-+ * means private files may be created.  Return values will be stored
-+ * in @out_name, and optionally @out_stream.
-+ */
-+gboolean
-+gs_file_open_in_tmpdir_at (int                tmpdir_fd,
-+                           int                mode,
-+                           char             **out_name,
-+                           GOutputStream    **out_stream,
-+                           GCancellable      *cancellable,
-+                           GError           **error)
-+{
-+  gboolean ret = FALSE;
-+  const int max_attempts = 128;
-+  int i;
-+  char *tmp_name = NULL;
-+  int fd;
-+
-+  /* 128 attempts seems reasonable... */
-+  for (i = 0; i < max_attempts; i++)
-+    {
-+      g_free (tmp_name);
-+      tmp_name = gs_fileutil_gen_tmp_name (NULL, NULL);
-+
-+      do
-+        fd = openat (tmpdir_fd, tmp_name, O_WRONLY | O_CREAT | O_EXCL, mode);
-+      while (fd == -1 && errno == EINTR);
-+      if (fd < 0 && errno != EEXIST)
-+        {
-+          _set_error_from_errno (error);
-+          goto out;
-+        }
-+      else if (fd != -1)
-+        break;
-+    }
-+  if (i == max_attempts)
-+    {
-+      g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED,
-+                   "Exhausted attempts to open temporary file");
-+      goto out;
-+    }
-+
-+  ret = TRUE;
-+  gs_transfer_out_value (out_name, &tmp_name);
-+  if (out_stream)
-+    *out_stream = g_unix_output_stream_new (fd, TRUE);
-+  else
-+    (void) close (fd);
-+ out:
-+  g_free (tmp_name);
-+  return ret;
-+}
-+
-+/**
-+ * gs_file_open_in_tmpdir:
-+ * @tmpdir: Directory to place temporary file
-+ * @mode: Default mode (will be affected by umask)
-+ * @out_file: (out) (transfer full): Newly created file path
-+ * @out_stream: (out) (transfer full) (allow-none): Newly created output stream
-+ * @cancellable:
-+ * @error:
-+ *
-+ * Like g_file_open_tmp(), except the file will be created in the
-+ * provided @tmpdir, and allows specification of the Unix @mode, which
-+ * means private files may be created.  Return values will be stored
-+ * in @out_file, and optionally @out_stream.
-+ */
-+gboolean
-+gs_file_open_in_tmpdir (GFile             *tmpdir,
-+                        int                mode,
-+                        GFile            **out_file,
-+                        GOutputStream    **out_stream,
-+                        GCancellable      *cancellable,
-+                        GError           **error)
-+{
-+  gboolean ret = FALSE;
-+  DIR *d = NULL;
-+  int dfd = -1;
-+  char *tmp_name = NULL;
-+  GOutputStream *ret_stream = NULL;
-+
-+  d = opendir (gs_file_get_path_cached (tmpdir));
-+  if (!d)
-+    {
-+      _set_error_from_errno (error);
-+      goto out;
-+    }
-+  dfd = dirfd (d);
-+
-+  if (!gs_file_open_in_tmpdir_at (dfd, mode, &tmp_name,
-+                                  out_stream ? &ret_stream : NULL,
-+                                  cancellable, error))
-+    goto out;
-+ 
-+  ret = TRUE;
-+  *out_file = g_file_get_child (tmpdir, tmp_name);
-+  gs_transfer_out_value (out_stream, &ret_stream);
-+ out:
-+  if (d) (void) closedir (d);
-+  g_clear_object (&ret_stream);
-+  g_free (tmp_name);
-+  return ret;
-+}
-+
-+static gboolean
-+linkcopy_internal_attempt (GFile          *src,
-+                          GFile          *dest,
-+                          GFile          *dest_parent,
-+                          GFileCopyFlags  flags,
-+                          gboolean        sync_data,
-+                          gboolean        enable_guestfs_fuse_workaround,
-+                          gboolean       *out_try_again,
-+                          GCancellable   *cancellable,
-+                          GError        **error)
-+{
-+  gboolean ret = FALSE;
-+  int res;
-+  char *tmp_name = NULL;
-+  GFile *tmp_dest = NULL;
-+
-+  if (g_cancellable_set_error_if_cancelled (cancellable, error))
-+    goto out;
-+
-+  tmp_name = gs_fileutil_gen_tmp_name (NULL, NULL);
-+  tmp_dest = g_file_get_child (dest_parent, tmp_name);
-+
-+  res = link (gs_file_get_path_cached (src), gs_file_get_path_cached (tmp_dest));
-+  if (res == -1)
-+    {
-+      if (errno == EEXIST)
-+        {
-+          /* Nothing, fall through */
-+          *out_try_again = TRUE;
-+          ret = TRUE;
-+          goto out;
-+        }
-+      else if (errno == EXDEV || errno == EMLINK || errno == EPERM
-+               || (enable_guestfs_fuse_workaround && errno == ENOENT))
-+        {
-+          if (!g_file_copy (src, tmp_dest, flags,
-+                            cancellable, NULL, NULL, error))
-+            goto out;
-+        }
-+      else
-+        {
-+          _set_error_from_errno (error);
-+          goto out;
-+        }
-+    }
-+      
-+  if (sync_data)
-+    {
-+      /* Now, we need to fsync */
-+      if (!gs_file_sync_data (tmp_dest, cancellable, error))
-+        goto out;
-+    }
-+
-+  if (!gs_file_rename (tmp_dest, dest, cancellable, error))
-+    goto out;
-+
-+  ret = TRUE;
-+  *out_try_again = FALSE;
-+ out:
-+  g_clear_pointer (&tmp_name, g_free);
-+  g_clear_object (&tmp_dest);
-+  return ret;
-+}
-+
-+static gboolean
-+linkcopy_internal (GFile          *src,
-+                   GFile          *dest,
-+                   GFileCopyFlags  flags,
-+                   gboolean        sync_data,
-+                   GCancellable   *cancellable,
-+                   GError        **error)
-+{
-+  gboolean ret = FALSE;
-+  gboolean dest_exists;
-+  int i;
-+  gboolean enable_guestfs_fuse_workaround;
-+  struct stat src_stat;
-+  struct stat dest_stat;
-+  GFile *dest_parent = NULL;
-+
-+  flags |= G_FILE_COPY_NOFOLLOW_SYMLINKS;
-+
-+  g_return_val_if_fail ((flags & (G_FILE_COPY_BACKUP | G_FILE_COPY_TARGET_DEFAULT_PERMS)) == 0, FALSE);
-+
-+  dest_parent = g_file_get_parent (dest);
-+
-+  if (lstat (gs_file_get_path_cached (src), &src_stat) == -1)
-+    {
-+      int errsv = errno;
-+      g_set_error_literal (error, G_IO_ERROR, g_io_error_from_errno (errno),
-+                           g_strerror (errsv));
-+      goto out;
-+    }
-+
-+  if (lstat (gs_file_get_path_cached (dest), &dest_stat) == -1)
-+    dest_exists = FALSE;
-+  else
-+    dest_exists = TRUE;
-+  
-+  if (((flags & G_FILE_COPY_OVERWRITE) == 0) && dest_exists)
-+    {
-+      g_set_error_literal (error, G_IO_ERROR, G_IO_ERROR_EXISTS,
-+                           "File exists");
-+      goto out;
-+    }
-+
-+  /* Work around the behavior of link() where it's a no-op if src and
-+   * dest are the same.
-+   */
-+  if (dest_exists &&
-+      src_stat.st_dev == dest_stat.st_dev &&
-+      src_stat.st_ino == dest_stat.st_ino)
-+    {
-+      ret = TRUE;
-+      goto out;
-+    }
-+
-+  enable_guestfs_fuse_workaround = getenv ("LIBGSYSTEM_ENABLE_GUESTFS_FUSE_WORKAROUND") != NULL;
-+
-+  /* 128 attempts seems reasonable... */
-+  for (i = 0; i < 128; i++)
-+    {
-+      gboolean tryagain = FALSE;
-+
-+      if (!linkcopy_internal_attempt (src, dest, dest_parent,
-+                                      flags, sync_data,
-+                                      enable_guestfs_fuse_workaround,
-+                                      &tryagain,
-+                                      cancellable, error))
-+        goto out;
-+
-+      if (!tryagain)
-+        break;
-+    }
-+
-+  ret = TRUE;
-+ out:
-+  g_clear_object (&dest_parent);
-+  return ret;
-+
-+}
-+
-+/**
-+ * gs_file_linkcopy:
-+ * @src: Source file
-+ * @dest: Destination file
-+ * @flags: flags
-+ * @cancellable:
-+ * @error:
-+ *
-+ * First tries to use the UNIX link() call, but if the files are on
-+ * separate devices, fall back to copying via g_file_copy().
-+ *
-+ * The given @flags have different semantics than those documented
-+ * when hardlinking is used.  Specifically, both
-+ * #G_FILE_COPY_TARGET_DEFAULT_PERMS and #G_FILE_COPY_BACKUP are not
-+ * supported.  #G_FILE_COPY_NOFOLLOW_SYMLINKS treated as if it was
-+ * always given - if you want to follow symbolic links, you will need
-+ * to resolve them manually.
-+ *
-+ * Beware - do not use this function if @src may be modified, and it's
-+ * undesirable for the changes to also be reflected in @dest.  The
-+ * best use of this function is in the case where @src and @dest are
-+ * read-only, or where @src is a temporary file, and you want to put
-+ * it in the final place.
-+ */
-+gboolean
-+gs_file_linkcopy (GFile          *src,
-+                  GFile          *dest,
-+                  GFileCopyFlags  flags,
-+                  GCancellable   *cancellable,
-+                  GError        **error)
-+{
-+  return linkcopy_internal (src, dest, flags, FALSE, cancellable, error);
-+}
-+
-+/**
-+ * gs_file_linkcopy_sync_data:
-+ * @src: Source file
-+ * @dest: Destination file
-+ * @flags: flags
-+ * @cancellable:
-+ * @error:
-+ *
-+ * This function is similar to gs_file_linkcopy(), except it also uses
-+ * gs_file_sync_data() to ensure that @dest is in stable storage
-+ * before it is moved into place.
-+ */
-+gboolean
-+gs_file_linkcopy_sync_data (GFile          *src,
-+                            GFile          *dest,
-+                            GFileCopyFlags  flags,
-+                            GCancellable   *cancellable,
-+                            GError        **error)
-+{
-+  return linkcopy_internal (src, dest, flags, TRUE, cancellable, error);
-+}
-+
-+static char *
-+gs_file_get_target_path (GFile *file)
-+{
-+  GFileInfo *info;
-+  const char *target;
-+  char *path;
-+
-+  info = g_file_query_info (file, G_FILE_ATTRIBUTE_STANDARD_TARGET_URI, G_FILE_QUERY_INFO_NONE, NULL, NULL);
-+  if (info == NULL)
-+    return NULL;
-+  target = g_file_info_get_attribute_string (info, G_FILE_ATTRIBUTE_STANDARD_TARGET_URI);
-+  path = g_filename_from_uri (target, NULL, NULL);
-+  g_object_unref (info);
-+
-+  return path;
-+}
-+
-+G_LOCK_DEFINE_STATIC (pathname_cache);
-+
-+/**
-+ * gs_file_get_path_cached:
-+ *
-+ * Like g_file_get_path(), but returns a constant copy so callers
-+ * don't need to free the result.
-+ */
-+const char *
-+gs_file_get_path_cached (GFile *file)
-+{
-+  const char *path;
-+  static GQuark _file_path_quark = 0;
-+
-+  if (G_UNLIKELY (_file_path_quark) == 0)
-+    _file_path_quark = g_quark_from_static_string ("gsystem-file-path");
-+
-+  G_LOCK (pathname_cache);
-+
-+  path = g_object_get_qdata ((GObject*)file, _file_path_quark);
-+  if (!path)
-+    {
-+      if (g_file_has_uri_scheme (file, "trash") ||
-+          g_file_has_uri_scheme (file, "recent"))
-+        path = gs_file_get_target_path (file);
-+      else
-+        path = g_file_get_path (file);
-+      if (path == NULL)
-+        {
-+          G_UNLOCK (pathname_cache);
-+          return NULL;
-+        }
-+      g_object_set_qdata_full ((GObject*)file, _file_path_quark, (char*)path, (GDestroyNotify)g_free);
-+    }
-+
-+  G_UNLOCK (pathname_cache);
-+
-+  return path;
-+}
-+
-+/**
-+ * gs_file_get_basename_cached:
-+ *
-+ * Like g_file_get_basename(), but returns a constant copy so callers
-+ * don't need to free the result.
-+ */
-+const char *
-+gs_file_get_basename_cached (GFile *file)
-+{
-+  const char *name;
-+  static GQuark _file_name_quark = 0;
-+
-+  if (G_UNLIKELY (_file_name_quark) == 0)
-+    _file_name_quark = g_quark_from_static_string ("gsystem-file-name");
-+
-+  G_LOCK (pathname_cache);
-+
-+  name = g_object_get_qdata ((GObject*)file, _file_name_quark);
-+  if (!name)
-+    {
-+      name = g_file_get_basename (file);
-+      g_object_set_qdata_full ((GObject*)file, _file_name_quark, (char*)name, (GDestroyNotify)g_free);
-+    }
-+
-+  G_UNLOCK (pathname_cache);
-+
-+  return name;
-+}
-+
-+/**
-+ * gs_file_enumerator_iterate:
-+ * @direnum: an open #GFileEnumerator
-+ * @out_info: (out) (transfer none) (allow-none): Output location for the next #GFileInfo
-+ * @out_child: (out) (transfer none) (allow-none): Output location for the next #GFile, or %NULL
-+ * @cancellable: a #GCancellable
-+ * @error: a #GError
-+ *
-+ * This is a version of g_file_enumerator_next_file() that's easier to
-+ * use correctly from C programs.  With g_file_enumerator_next_file(),
-+ * the gboolean return value signifies "end of iteration or error", which
-+ * requires allocation of a temporary #GError.
-+ *
-+ * In contrast, with this function, a %FALSE return from
-+ * gs_file_enumerator_iterate() <emphasis>always</emphasis> means
-+ * "error".  End of iteration is signaled by @out_info being %NULL.
-+ *
-+ * Another crucial difference is that the references for @out_info and
-+ * @out_child are owned by @direnum (they are cached as hidden
-+ * properties).  You must not unref them in your own code.  This makes
-+ * memory management significantly easier for C code in combination
-+ * with loops.
-+ *
-+ * Finally, this function optionally allows retrieving a #GFile as
-+ * well.
-+ *
-+ * The code pattern for correctly using gs_file_enumerator_iterate() from C
-+ * is:
-+ *
-+ * |[
-+ * direnum = g_file_enumerate_children (file, ...);
-+ * while (TRUE)
-+ *   {
-+ *     GFileInfo *info;
-+ *     if (!gs_file_enumerator_iterate (direnum, &info, NULL, cancellable, error))
-+ *       goto out;
-+ *     if (!info)
-+ *       break;
-+ *     ... do stuff with "info"; do not unref it! ...
-+ *   }
-+ * 
-+ * out:
-+ *   g_object_unref (direnum); // Note: frees the last @info
-+ * ]|
-+ */
-+gboolean
-+gs_file_enumerator_iterate (GFileEnumerator  *direnum,
-+                            GFileInfo       **out_info,
-+                            GFile           **out_child,
-+                            GCancellable     *cancellable,
-+                            GError          **error)
-+{
-+  gboolean ret = FALSE;
-+  GError *temp_error = NULL;
-+
-+  static GQuark cached_info_quark;
-+  static GQuark cached_child_quark;
-+  static gsize quarks_initialized;
-+
-+  g_return_val_if_fail (direnum != NULL, FALSE);
-+  g_return_val_if_fail (out_info != NULL, FALSE);
-+
-+  if (g_once_init_enter (&quarks_initialized))
-+    {
-+      cached_info_quark = g_quark_from_static_string ("gsystem-cached-info");
-+      cached_child_quark = g_quark_from_static_string ("gsystem-cached-child");
-+      g_once_init_leave (&quarks_initialized, 1);
-+    }
-+
-+  
-+  *out_info = g_file_enumerator_next_file (direnum, cancellable, &temp_error);
-+  if (out_child)
-+    *out_child = NULL;
-+  if (temp_error != NULL)
-+    {
-+      g_propagate_error (error, temp_error);
-+      goto out;
-+    }
-+  else if (*out_info != NULL)
-+    {
-+      g_object_set_qdata_full ((GObject*)direnum, cached_info_quark, *out_info, (GDestroyNotify)g_object_unref);
-+      if (out_child != NULL)
-+        {
-+          const char *name = g_file_info_get_name (*out_info);
-+          *out_child = g_file_get_child (g_file_enumerator_get_container (direnum), name);
-+          g_object_set_qdata_full ((GObject*)direnum, cached_child_quark, *out_child, (GDestroyNotify)g_object_unref);
-+        }
-+    }
-+
-+  ret = TRUE;
-+ out:
-+  return ret;
-+}
-+
-+/**
-+ * gs_file_rename:
-+ * @from: Current path
-+ * @to: New path
-+ * @cancellable: a #GCancellable
-+ * @error: a #GError
-+ *
-+ * This function wraps the raw Unix function rename().
-+ *
-+ * Returns: %TRUE on success, %FALSE on error
-+ */
-+gboolean
-+gs_file_rename (GFile          *from,
-+                GFile          *to,
-+                GCancellable   *cancellable,
-+                GError        **error)
-+{
-+  if (g_cancellable_set_error_if_cancelled (cancellable, error))
-+    return FALSE;
-+
-+  if (rename (gs_file_get_path_cached (from),
-+              gs_file_get_path_cached (to)) < 0)
-+    {
-+      _set_error_from_errno (error);
-+      return FALSE;
-+    }
-+  return TRUE;
-+}
-+
-+/**
-+ * gs_file_unlink:
-+ * @path: Path to file
-+ * @cancellable: a #GCancellable
-+ * @error: a #GError
-+ *
-+ * Like g_file_delete(), except this function does not follow Unix
-+ * symbolic links, and will delete a symbolic link even if it's
-+ * pointing to a nonexistent file.  In other words, this function
-+ * merely wraps the raw Unix function unlink().
-+ *
-+ * Returns: %TRUE on success, %FALSE on error
-+ */
-+gboolean
-+gs_file_unlink (GFile          *path,
-+                GCancellable   *cancellable,
-+                GError        **error)
-+{
-+  if (g_cancellable_set_error_if_cancelled (cancellable, error))
-+    return FALSE;
-+
-+  if (unlink (gs_file_get_path_cached (path)) < 0)
-+    {
-+      _set_error_from_errno (error);
-+      return FALSE;
-+    }
-+  return TRUE;
-+}
-+
-+static gboolean
-+chown_internal (GFile          *path,
-+                gboolean        dereference_links,
-+                guint32         owner,
-+                guint32         group,
-+                GCancellable   *cancellable,
-+                GError        **error)
-+{
-+  gboolean ret = FALSE;
-+  int res;
-+
-+  if (g_cancellable_set_error_if_cancelled (cancellable, error))
-+    return FALSE;
-+
-+  do
-+    if (dereference_links)
-+      res = chown (gs_file_get_path_cached (path), owner, group);
-+    else
-+      res = lchown (gs_file_get_path_cached (path), owner, group);
-+  while (G_UNLIKELY (res != 0 && errno == EINTR));
-+
-+  if (res < 0)
-+    {
-+      _set_error_from_errno (error);
-+      goto out;
-+    }
-+
-+  ret = TRUE;
-+ out:
-+  return ret;
-+}
-+
-+/**
-+ * gs_file_chown:
-+ * @path: Path to file
-+ * @owner: UNIX owner
-+ * @group: UNIX group
-+ * @cancellable: a #GCancellable
-+ * @error: a #GError
-+ *
-+ * Merely wraps UNIX chown().
-+ *
-+ * Returns: %TRUE on success, %FALSE on error
-+ */
-+gboolean
-+gs_file_chown (GFile          *path,
-+               guint32         owner,
-+               guint32         group,
-+               GCancellable   *cancellable,
-+               GError        **error)
-+{
-+  return chown_internal (path, TRUE, owner, group, cancellable, error);
-+}
-+
-+/**
-+ * gs_file_lchown:
-+ * @path: Path to file
-+ * @owner: UNIX owner
-+ * @group: UNIX group
-+ * @cancellable: a #GCancellable
-+ * @error: a #GError
-+ *
-+ * Merely wraps UNIX lchown().
-+ *
-+ * Returns: %TRUE on success, %FALSE on error
-+ */
-+gboolean
-+gs_file_lchown (GFile          *path,
-+                guint32         owner,
-+                guint32         group,
-+                GCancellable   *cancellable,
-+                GError        **error)
-+{
-+  return chown_internal (path, FALSE, owner, group, cancellable, error);
-+}
-+
-+/**
-+ * gs_file_chmod:
-+ * @path: Path to file
-+ * @mode: UNIX mode
-+ * @cancellable: a #GCancellable
-+ * @error: a #GError
-+ *
-+ * Merely wraps UNIX chmod().
-+ *
-+ * Returns: %TRUE on success, %FALSE on error
-+ */
-+gboolean
-+gs_file_chmod (GFile          *path,
-+               guint           mode,
-+               GCancellable   *cancellable,
-+               GError        **error)
-+{
-+  gboolean ret = FALSE;
-+  int res;
-+
-+  if (g_cancellable_set_error_if_cancelled (cancellable, error))
-+    return FALSE;
-+
-+  do
-+    res = chmod (gs_file_get_path_cached (path), mode);
-+  while (G_UNLIKELY (res != 0 && errno == EINTR));
-+
-+  if (res < 0)
-+    {
-+      _set_error_from_errno (error);
-+      goto out;
-+    }
-+
-+  ret = TRUE;
-+ out:
-+  return ret;
-+}
-+
-+/**
-+ * gs_file_ensure_directory:
-+ * @dir: Path to create as directory
-+ * @with_parents: Also create parent directories
-+ * @cancellable: a #GCancellable
-+ * @error: a #GError
-+ *
-+ * Like g_file_make_directory(), except does not throw an error if the
-+ * directory already exists.
-+ */
-+gboolean
-+gs_file_ensure_directory (GFile         *dir,
-+                          gboolean       with_parents, 
-+                          GCancellable  *cancellable,
-+                          GError       **error)
-+{
-+  gboolean ret = FALSE;
-+  GError *temp_error = NULL;
-+  GFile *parent = NULL;
-+
-+  if (!g_file_make_directory (dir, cancellable, &temp_error))
-+    {
-+      if (with_parents &&
-+          g_error_matches (temp_error, G_IO_ERROR, G_IO_ERROR_NOT_FOUND))
-+        {
-+          g_clear_error (&temp_error);
-+
-+          parent = g_file_get_parent (dir);
-+          if (parent)
-+            {
-+              if (!gs_file_ensure_directory (parent, TRUE, cancellable, error))
-+                goto out;
-+            }
-+          if (!gs_file_ensure_directory (dir, FALSE, cancellable, error))
-+            goto out;
-+        }
-+      else if (!g_error_matches (temp_error, G_IO_ERROR, G_IO_ERROR_EXISTS))
-+        {
-+          g_propagate_error (error, temp_error);
-+          goto out;
-+        }
-+      else
-+        g_clear_error (&temp_error);
-+    }
-+
-+  ret = TRUE;
-+ out:
-+  g_clear_object (&parent);
-+  return ret;
-+}
-+
-+/**
-+ * gs_file_ensure_directory_mode:
-+ * @dir: Path to create as directory
-+ * @mode: Create directory with these permissions
-+ * @cancellable: a #GCancellable
-+ * @error: a #GError
-+ *
-+ * Wraps UNIX mkdir() function with support for @cancellable, and
-+ * uses @error instead of errno.
-+ */
-+gboolean
-+gs_file_ensure_directory_mode (GFile         *dir,
-+                               guint          mode,
-+                               GCancellable  *cancellable,
-+                               GError       **error)
-+{
-+  if (g_cancellable_set_error_if_cancelled (cancellable, error))
-+    return FALSE;
-+
-+  if (mkdir (gs_file_get_path_cached (dir), mode) == -1 && errno != EEXIST)
-+    {
-+      _set_error_from_errno (error);
-+      return FALSE;
-+    }
-+  return TRUE;
-+}
-+
-+/**
-+ * gs_file_load_contents_utf8:
-+ * @file: Path to file whose contents must be UTF-8
-+ * @cancellable:
-+ * @error:
-+ *
-+ * Like g_file_load_contents(), except validates the contents are
-+ * UTF-8.
-+ */
-+gchar *
-+gs_file_load_contents_utf8 (GFile         *file,
-+                            GCancellable  *cancellable,
-+                            GError       **error)
-+{
-+  gboolean ret = FALSE;
-+  gsize len;
-+  char *ret_contents = NULL;
-+
-+  if (!g_file_load_contents (file, cancellable, &ret_contents, &len,
-+                             NULL, error))
-+    goto out;
-+  if (!g_utf8_validate (ret_contents, len, NULL))
-+    {
-+      g_set_error (error,
-+                   G_IO_ERROR,
-+                   G_IO_ERROR_INVALID_DATA,
-+                   "Invalid UTF-8");
-+      goto out;
-+    }
-+
-+  ret = TRUE;
-+ out:
-+  if (!ret)
-+    {
-+      g_free (ret_contents);
-+      return NULL;
-+    }
-+  return ret_contents;
-+}
-+
-+static int
-+path_common_directory (char *one,
-+                       char *two)
-+{
-+  int dir_index = 0;
-+  int i = 0;
-+
-+  while (*one && *two)
-+    {
-+      if (*one != *two)
-+        break;
-+      if (*one == '/')
-+        dir_index = i + 1;
-+
-+      one++;
-+      two++;
-+      i++;
-+    }
-+
-+  return dir_index;
-+}
-+
-+/**
-+ * gs_file_get_relpath:
-+ * @one: The first #GFile
-+ * @two: The second #GFile
-+ *
-+ * Like gs_file_get_relative_path(), but does not mandate that
-+ * the two files have any parent in common. This function will
-+ * instead insert "../" where appropriate.
-+ *
-+ * Returns: (transfer full): The relative path between the two.
-+ */
-+gchar *
-+gs_file_get_relpath (GFile *one,
-+                     GFile *two)
-+{
-+  gchar *simple_path;
-+  gchar *one_path, *one_suffix;
-+  gchar *two_path, *two_suffix;
-+  GString *path;
-+  int i;
-+
-+  simple_path = g_file_get_relative_path (one, two);
-+  if (simple_path)
-+    return simple_path;
-+
-+  one_path = g_file_get_path (one);
-+  two_path = g_file_get_path (two);
-+
-+  i = path_common_directory (one_path, two_path);
-+  one_suffix = one_path + i;
-+  two_suffix = two_path + i;
-+
-+  path = g_string_new ("");
-+
-+  /* For every leftover path segment one has, append "../" so
-+   * that we reach the same directory. */
-+  while (*one_suffix)
-+    {
-+      g_string_append (path, "../");
-+      one_suffix = strchr (one_suffix, '/');
-+      if (one_suffix == NULL)
-+        break;
-+      one_suffix++;
-+    }
-+
-+  /* And now append the leftover stuff on two's side. */
-+  g_string_append (path, two_suffix);
-+
-+  g_free (one_path);
-+  g_free (two_path);
-+
-+  return g_string_free (path, FALSE);
-+}
-+
-+/**
-+ * gs_file_realpath:
-+ * @file: A #GFile
-+ *
-+ * Return a #GFile that contains the same path with symlinks
-+ * followed. That is, it's a #GFile whose path is the result
-+ * of calling realpath() on @file.
-+ *
-+ * Returns: (allow-none) (transfer full): A new #GFile or %NULL if @file is invalid
-+ */
-+GFile *
-+gs_file_realpath (GFile *file)
-+{
-+  gchar *path;
-+  gchar path_real[PATH_MAX];
-+
-+  path = g_file_get_path (file);
-+
-+  if (realpath ((const char *) path, path_real) == NULL)
-+    {
-+      g_free (path);
-+      return NULL;
-+    }
-+
-+  g_free (path);
-+  return g_file_new_for_path (path_real);
-+}
-+
-+#ifdef GSYSTEM_CONFIG_XATTRS
-+static char *
-+canonicalize_xattrs (char    *xattr_string,
-+                     size_t   len)
-+{
-+  char *p;
-+  GSList *xattrs = NULL;
-+  GSList *iter;
-+  GString *result;
-+
-+  result = g_string_new (0);
-+
-+  p = xattr_string;
-+  while (p < xattr_string+len)
-+    {
-+      xattrs = g_slist_prepend (xattrs, p);
-+      p += strlen (p) + 1;
-+    }
-+
-+  xattrs = g_slist_sort (xattrs, (GCompareFunc) strcmp);
-+  for (iter = xattrs; iter; iter = iter->next) {
-+    g_string_append (result, iter->data);
-+    g_string_append_c (result, '\0');
-+  }
-+
-+  g_slist_free (xattrs);
-+  return g_string_free (result, FALSE);
-+}
-+
-+static GVariant *
-+variant_new_ay_bytes (GBytes *bytes)
-+{
-+  gsize size;
-+  gconstpointer data;
-+  data = g_bytes_get_data (bytes, &size);
-+  g_bytes_ref (bytes);
-+  return g_variant_new_from_data (G_VARIANT_TYPE ("ay"), data, size,
-+                                  TRUE, (GDestroyNotify)g_bytes_unref, bytes);
-+}
-+
-+static gboolean
-+read_xattr_name_array (const char *path,
-+                       const char *xattrs,
-+                       size_t      len,
-+                       GVariantBuilder *builder,
-+                       GError  **error)
-+{
-+  gboolean ret = FALSE;
-+  const char *p;
-+
-+  p = xattrs;
-+  while (p < xattrs+len)
-+    {
-+      ssize_t bytes_read;
-+      char *buf;
-+      GBytes *bytes = NULL;
-+
-+      bytes_read = lgetxattr (path, p, NULL, 0);
-+      if (bytes_read < 0)
-+        {
-+          _set_error_from_errno (error);
-+          g_prefix_error (error, "lgetxattr (%s, %s) failed: ", path, p);
-+          goto out;
-+        }
-+      if (bytes_read == 0)
-+        continue;
-+
-+      buf = g_malloc (bytes_read);
-+      bytes = g_bytes_new_take (buf, bytes_read);
-+      if (lgetxattr (path, p, buf, bytes_read) < 0)
-+        {
-+          g_bytes_unref (bytes);
-+          _set_error_from_errno (error);
-+          g_prefix_error (error, "lgetxattr (%s, %s) failed: ", path, p);
-+          goto out;
-+        }
-+      
-+      g_variant_builder_add (builder, "(@ay at ay)",
-+                             g_variant_new_bytestring (p),
-+                             variant_new_ay_bytes (bytes));
-+
-+      p = p + strlen (p) + 1;
-+      g_bytes_unref (bytes);
-+    }
-+  
-+  ret = TRUE;
-+ out:
-+  return ret;
-+}
-+
-+#endif
-+
-+/**
-+ * gs_file_get_all_xattrs:
-+ * @f: a #GFile
-+ * @out_xattrs: (out): A new #GVariant containing the extended attributes
-+ * @cancellable: Cancellable
-+ * @error: Error
-+ *
-+ * Read all extended attributes of @f in a canonical sorted order, and
-+ * set @out_xattrs with the result.
-+ *
-+ * If the filesystem does not support extended attributes, @out_xattrs
-+ * will have 0 elements, and this function will return successfully.
-+ */
-+gboolean
-+gs_file_get_all_xattrs (GFile         *f,
-+                        GVariant     **out_xattrs,
-+                        GCancellable  *cancellable,
-+                        GError       **error)
-+{
-+  gboolean ret = FALSE;
-+  const char *path;
-+  ssize_t bytes_read;
-+  GVariant *ret_xattrs = NULL;
-+  char *xattr_names = NULL;
-+  char *xattr_names_canonical = NULL;
-+  GVariantBuilder builder;
-+  gboolean builder_initialized = FALSE;
-+
-+  path = gs_file_get_path_cached (f);
-+
-+  g_variant_builder_init (&builder, G_VARIANT_TYPE ("a(ayay)"));
-+  builder_initialized = TRUE;
-+
-+#ifdef GSYSTEM_CONFIG_XATTRS
-+  bytes_read = llistxattr (path, NULL, 0);
-+
-+  if (bytes_read < 0)
-+    {
-+      if (errno != ENOTSUP)
-+        {
-+          _set_error_from_errno (error);
-+          g_prefix_error (error, "llistxattr (%s) failed: ", path);
-+          goto out;
-+        }
-+    }
-+  else if (bytes_read > 0)
-+    {
-+      xattr_names = g_malloc (bytes_read);
-+      if (llistxattr (path, xattr_names, bytes_read) < 0)
-+        {
-+          _set_error_from_errno (error);
-+          g_prefix_error (error, "llistxattr (%s) failed: ", path);
-+          goto out;
-+        }
-+      xattr_names_canonical = canonicalize_xattrs (xattr_names, bytes_read);
-+      
-+      if (!read_xattr_name_array (path, xattr_names_canonical, bytes_read, &builder, error))
-+        goto out;
-+    }
-+
-+#endif
-+
-+  ret_xattrs = g_variant_builder_end (&builder);
-+  g_variant_ref_sink (ret_xattrs);
-+  
-+  ret = TRUE;
-+  gs_transfer_out_value (out_xattrs, &ret_xattrs);
-+ out:
-+  g_clear_pointer (&ret_xattrs, g_variant_unref);
-+  g_clear_pointer (&xattr_names, g_free);
-+  g_clear_pointer (&xattr_names_canonical, g_free);
-+  if (!builder_initialized)
-+    g_variant_builder_clear (&builder);
-+  return ret;
-+}
-+
-+/**
-+ * gs_fd_set_all_xattrs:
-+ * @fd: File descriptor
-+ * @xattrs: Extended attributes
-+ * @cancellable: Cancellable
-+ * @error: Error
-+ *
-+ * For each attribute in @xattrs, set its value on the file or
-+ * directory referred to by @fd.  This function does not remove any
-+ * attributes not in @xattrs.
-+ */
-+gboolean
-+gs_fd_set_all_xattrs (int            fd,
-+                      GVariant      *xattrs,
-+                      GCancellable  *cancellable,
-+                      GError       **error)
-+{
-+#ifdef GSYSTEM_CONFIG_XATTRS
-+  gboolean ret = FALSE;
-+  int i, n;
-+
-+  n = g_variant_n_children (xattrs);
-+  for (i = 0; i < n; i++)
-+    {
-+      const guint8* name;
-+      const guint8* value_data;
-+      GVariant *value = NULL;
-+      gsize value_len;
-+      int res;
-+
-+      g_variant_get_child (xattrs, i, "(^&ay at ay)",
-+                           &name, &value);
-+      value_data = g_variant_get_fixed_array (value, &value_len, 1);
-+      
-+      do
-+        res = fsetxattr (fd, (char*)name, (char*)value_data, value_len, 0);
-+      while (G_UNLIKELY (res == -1 && errno == EINTR));
-+      g_variant_unref (value);
-+      if (G_UNLIKELY (res == -1))
-+        {
-+          _set_error_from_errno (error);
-+          goto out;
-+        }
-+    }
-+
-+  ret = TRUE;
-+ out:
-+  return ret;
-+#else
-+  return TRUE;
-+#endif
-+}
-+
-+/**
-+ * gs_file_set_all_xattrs:
-+ * @file: File descriptor
-+ * @xattrs: Extended attributes
-+ * @cancellable: Cancellable
-+ * @error: Error
-+ *
-+ * For each attribute in @xattrs, set its value on the file or
-+ * directory referred to by @file.  This function does not remove any
-+ * attributes not in @xattrs.
-+ */
-+gboolean
-+gs_file_set_all_xattrs (GFile         *file,
-+                        GVariant      *xattrs,
-+                        GCancellable  *cancellable,
-+                        GError       **error)
-+{
-+#ifdef GSYSTEM_CONFIG_XATTRS
-+  gboolean ret = FALSE;
-+  const char *path;
-+  int i, n;
-+
-+  path = gs_file_get_path_cached (file);
-+
-+  n = g_variant_n_children (xattrs);
-+  for (i = 0; i < n; i++)
-+    {
-+      const guint8* name;
-+      GVariant *value;
-+      const guint8* value_data;
-+      gsize value_len;
-+      gboolean loop_err;
-+
-+      g_variant_get_child (xattrs, i, "(^&ay at ay)",
-+                           &name, &value);
-+      value_data = g_variant_get_fixed_array (value, &value_len, 1);
-+      
-+      loop_err = lsetxattr (path, (char*)name, (char*)value_data, value_len, 0) < 0;
-+      g_clear_pointer (&value, (GDestroyNotify) g_variant_unref);
-+      if (loop_err)
-+        {
-+          _set_error_from_errno (error);
-+          g_prefix_error (error, "lsetxattr (%s, %s) failed: ", path, name);
-+          goto out;
-+        }
-+    }
-+
-+  ret = TRUE;
-+ out:
-+  return ret;
-+#else
-+  return TRUE;
-+#endif
-+}
 diff -urN libgnome-desktop/libgsystem.orig/gsystem-osx-compat.c libgnome-desktop/libgsystem/gsystem-osx-compat.c
 --- libgnome-desktop/libgsystem.orig/gsystem-osx-compat.c	1969-12-31 16:00:00.000000000 -0800
 +++ libgnome-desktop/libgsystem/gsystem-osx-compat.c	2014-01-24 17:02:13.000000000 -0800
@@ -2441,469 +811,6 @@
      {
        d = fdopendir (dfd);
        if (!d)
-diff -urN libgnome-desktop/libgsystem.orig/gsystem-shutil.c.orig libgnome-desktop/libgsystem/gsystem-shutil.c.orig
---- libgnome-desktop/libgsystem.orig/gsystem-shutil.c.orig	1969-12-31 16:00:00.000000000 -0800
-+++ libgnome-desktop/libgsystem/gsystem-shutil.c.orig	2014-01-15 13:06:25.000000000 -0800
-@@ -0,0 +1,459 @@
-+/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*-
-+ *
-+ * Copyright (C) 2012 William Jon McCann <mccann at redhat.com>
-+ * Copyright (C) 2012 Colin Walters <walters at verbum.org>
-+ *
-+ * This library is free software; you can redistribute it and/or
-+ * modify it under the terms of the GNU Lesser General Public
-+ * License as published by the Free Software Foundation; either
-+ * version 2 of the License, or (at your option) any later version.
-+ *
-+ * This library is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-+ * Lesser General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU Lesser General Public
-+ * License along with this library; if not, write to the
-+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-+ * Boston, MA 02111-1307, USA.
-+ */
-+
-+#include "config.h"
-+
-+#ifndef _GNU_SOURCE
-+#define _GNU_SOURCE
-+#endif
-+
-+#define _GSYSTEM_NO_LOCAL_ALLOC
-+#include "libgsystem.h"
-+#include <glib-unix.h>
-+#include <string.h>
-+#include <sys/stat.h>
-+#include <dirent.h>
-+#include <fcntl.h>
-+
-+/* Taken from systemd/src/shared/util.h */
-+union dirent_storage {
-+        struct dirent dent;
-+        guint8 storage[offsetof(struct dirent, d_name) +
-+                        ((NAME_MAX + 1 + sizeof(long)) & ~(sizeof(long) - 1))];
-+};
-+
-+static inline void
-+_set_error_from_errno (GError **error)
-+{
-+  int errsv = errno;
-+  g_set_error_literal (error, G_IO_ERROR, g_io_error_from_errno (errsv),
-+                       g_strerror (errsv));
-+}
-+
-+static gboolean
-+copy_xattrs_from_file_to_fd (GFile         *src,
-+                             int            dest_fd,
-+                             GCancellable  *cancellable,
-+                             GError       **error)
-+{
-+  gboolean ret = FALSE;
-+  GVariant *src_xattrs = NULL;
-+
-+  if (!gs_file_get_all_xattrs (src, &src_xattrs, cancellable, error))
-+    goto out;
-+
-+  if (src_xattrs)
-+    {
-+      if (!gs_fd_set_all_xattrs (dest_fd, src_xattrs, cancellable, error))
-+        goto out;
-+    }
-+
-+  ret = TRUE;
-+ out:
-+  g_clear_pointer (&src_xattrs, g_variant_unref);
-+  return ret;
-+}
-+
-+typedef enum {
-+  GS_CP_MODE_NONE,
-+  GS_CP_MODE_HARDLINK,
-+  GS_CP_MODE_COPY_ALL
-+} GsCpMode;
-+
-+static gboolean
-+cp_internal (GFile         *src,
-+             GFile         *dest,
-+             GsCpMode       mode,
-+             GCancellable  *cancellable,
-+             GError       **error)
-+{
-+  gboolean ret = FALSE;
-+  GFileEnumerator *enumerator = NULL;
-+  GFileInfo *src_info = NULL;
-+  GFile *dest_child = NULL;
-+  int dest_dfd = -1;
-+  int r;
-+
-+  enumerator = g_file_enumerate_children (src, "standard::type,standard::name,unix::uid,unix::gid,unix::mode",
-+                                          G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS,
-+                                          cancellable, error);
-+  if (!enumerator)
-+    goto out;
-+
-+  src_info = g_file_query_info (src, "standard::name,unix::mode,unix::uid,unix::gid," \
-+                                "time::modified,time::modified-usec,time::access,time::access-usec",
-+                                G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS,
-+                                cancellable, error);
-+  if (!src_info)
-+    goto out;
-+
-+  do
-+    r = mkdir (gs_file_get_path_cached (dest), 0755);
-+  while (G_UNLIKELY (r == -1 && errno == EINTR));
-+  if (r == -1)
-+    {
-+      _set_error_from_errno (error);
-+      goto out;
-+    }
-+
-+  if (mode != GS_CP_MODE_NONE)
-+    {
-+      if (!gs_file_open_dir_fd (dest, &dest_dfd,
-+                                cancellable, error))
-+        goto out;
-+
-+      do
-+        r = fchown (dest_dfd,
-+                    g_file_info_get_attribute_uint32 (src_info, "unix::uid"),
-+                    g_file_info_get_attribute_uint32 (src_info, "unix::gid"));
-+      while (G_UNLIKELY (r == -1 && errno == EINTR));
-+      if (r == -1)
-+        {
-+          _set_error_from_errno (error);
-+          goto out;
-+        }
-+
-+      do
-+        r = fchmod (dest_dfd, g_file_info_get_attribute_uint32 (src_info, "unix::mode"));
-+      while (G_UNLIKELY (r == -1 && errno == EINTR));
-+
-+      if (!copy_xattrs_from_file_to_fd (src, dest_dfd, cancellable, error))
-+        goto out;
-+
-+      if (dest_dfd != -1)
-+        {
-+          (void) close (dest_dfd);
-+          dest_dfd = -1;
-+        }
-+    }
-+
-+  while (TRUE)
-+    {
-+      GFileInfo *file_info = NULL;
-+      GFile *src_child = NULL;
-+
-+      if (!gs_file_enumerator_iterate (enumerator, &file_info, &src_child,
-+                                       cancellable, error))
-+        goto out;
-+      if (!file_info)
-+        break;
-+
-+      if (dest_child) g_object_unref (dest_child);
-+      dest_child = g_file_get_child (dest, g_file_info_get_name (file_info));
-+
-+      if (g_file_info_get_file_type (file_info) == G_FILE_TYPE_DIRECTORY)
-+        {
-+          if (!cp_internal (src_child, dest_child, mode,
-+                            cancellable, error))
-+            goto out;
-+        }
-+      else
-+        {
-+          gboolean did_link = FALSE;
-+          (void) unlink (gs_file_get_path_cached (dest_child));
-+          if (mode == GS_CP_MODE_HARDLINK)
-+            {
-+              if (link (gs_file_get_path_cached (src_child), gs_file_get_path_cached (dest_child)) == -1)
-+                {
-+                  if (!(errno == EMLINK || errno == EXDEV))
-+                    {
-+                      int errsv = errno;
-+                      g_set_error_literal (error, G_IO_ERROR, g_io_error_from_errno (errsv),
-+                                           g_strerror (errsv));
-+                      goto out;
-+                    }
-+                  /* We failed to hardlink; fall back to copying all; this will
-+                   * affect subsequent directory copies too.
-+                   */
-+                  mode = GS_CP_MODE_COPY_ALL;
-+                }
-+              else
-+                did_link = TRUE;
-+            }
-+          if (!did_link)
-+            {
-+              GFileCopyFlags copyflags = G_FILE_COPY_OVERWRITE | G_FILE_COPY_NOFOLLOW_SYMLINKS;
-+              if (mode == GS_CP_MODE_COPY_ALL)
-+                copyflags |= G_FILE_COPY_ALL_METADATA;
-+              if (!g_file_copy (src_child, dest_child, copyflags,
-+                                cancellable, NULL, NULL, error))
-+                goto out;
-+            }
-+        }
-+    }
-+
-+  ret = TRUE;
-+ out:
-+  if (dest_dfd != -1)
-+    (void) close (dest_dfd);
-+  g_clear_object (&src_info);
-+  g_clear_object (&enumerator);
-+  g_clear_object (&dest_child);
-+  return ret;
-+}
-+
-+/**
-+ * gs_shutil_cp_al_or_fallback:
-+ * @src: Source path
-+ * @dest: Destination path
-+ * @cancellable:
-+ * @error:
-+ *
-+ * Recursively copy path @src (which must be a directory) to the
-+ * target @dest.  If possible, hardlinks are used; if a hardlink is
-+ * not possible, a regular copy is created.  Any existing files are
-+ * overwritten.
-+ *
-+ * Returns: %TRUE on success
-+ */
-+gboolean
-+gs_shutil_cp_al_or_fallback (GFile         *src,
-+                             GFile         *dest,
-+                             GCancellable  *cancellable,
-+                             GError       **error)
-+{
-+  return cp_internal (src, dest, GS_CP_MODE_HARDLINK,
-+                      cancellable, error);
-+}
-+
-+/**
-+ * gs_shutil_cp_a:
-+ * @src: Source path
-+ * @dest: Destination path
-+ * @cancellable:
-+ * @error:
-+ *
-+ * Recursively copy path @src (which must be a directory) to the
-+ * target @dest.  Any existing files are overwritten.
-+ *
-+ * Returns: %TRUE on success
-+ */
-+gboolean
-+gs_shutil_cp_a (GFile         *src,
-+                GFile         *dest,
-+                GCancellable  *cancellable,
-+                GError       **error)
-+{
-+  return cp_internal (src, dest, GS_CP_MODE_COPY_ALL,
-+                      cancellable, error);
-+}
-+
-+static unsigned char
-+struct_stat_to_dt (struct stat *stbuf)
-+{
-+  if (S_ISDIR (stbuf->st_mode))
-+    return DT_DIR;
-+  if (S_ISREG (stbuf->st_mode))
-+    return DT_REG;
-+  if (S_ISCHR (stbuf->st_mode))
-+    return DT_CHR;
-+  if (S_ISBLK (stbuf->st_mode))
-+    return DT_BLK;
-+  if (S_ISFIFO (stbuf->st_mode))
-+    return DT_FIFO;
-+  if (S_ISLNK (stbuf->st_mode))
-+    return DT_LNK;
-+  if (S_ISSOCK (stbuf->st_mode))
-+    return DT_SOCK;
-+  return DT_UNKNOWN;
-+}
-+
-+static gboolean
-+gs_shutil_rm_rf_children (DIR                *dir,
-+                          GCancellable       *cancellable,
-+                          GError            **error)
-+{
-+  gboolean ret = FALSE;
-+  int dfd;
-+  DIR *child_dir = NULL;
-+  struct dirent *dent;
-+  union dirent_storage buf;
-+
-+  if (g_cancellable_set_error_if_cancelled (cancellable, error))
-+    goto out;
-+
-+  dfd = dirfd (dir);
-+
-+  while (readdir_r (dir, &buf.dent, &dent) == 0)
-+    {
-+      if (dent == NULL)
-+        break;
-+      if (dent->d_type == DT_UNKNOWN)
-+        {
-+          struct stat stbuf;
-+          if (fstatat (dfd, dent->d_name, &stbuf, AT_SYMLINK_NOFOLLOW) == -1)
-+            {
-+              int errsv = errno;
-+              if (errsv == ENOENT)
-+                continue;
-+              else
-+                {
-+                  g_set_error_literal (error, G_IO_ERROR, g_io_error_from_errno (errsv),
-+                                       g_strerror (errsv));
-+                  goto out;
-+                }
-+            }
-+          dent->d_type = struct_stat_to_dt (&stbuf);
-+          /* Assume unknown types are just treated like regular files */
-+          if (dent->d_type == DT_UNKNOWN)
-+            dent->d_type = DT_REG;
-+        }
-+
-+      if (strcmp (dent->d_name, ".") == 0 || strcmp (dent->d_name, "..") == 0)
-+        continue;
-+          
-+      if (dent->d_type == DT_DIR)
-+        {
-+          int child_dfd = openat (dfd, dent->d_name, O_RDONLY | O_NONBLOCK | O_DIRECTORY | O_CLOEXEC | O_NOFOLLOW);
-+
-+          if (child_dfd == -1)
-+            {
-+              if (errno == ENOENT)
-+                continue;
-+              else
-+                {
-+                  int errsv = errno;
-+                  g_set_error_literal (error, G_IO_ERROR, g_io_error_from_errno (errsv),
-+                                       g_strerror (errsv));
-+                  goto out;
-+                }
-+            }
-+
-+          child_dir = fdopendir (child_dfd);
-+          if (!child_dir)
-+            {
-+              int errsv = errno;
-+              g_set_error_literal (error, G_IO_ERROR, g_io_error_from_errno (errsv),
-+                                   g_strerror (errsv));
-+              goto out;
-+            }
-+
-+          if (!gs_shutil_rm_rf_children (child_dir, cancellable, error))
-+            goto out;
-+
-+          if (unlinkat (dfd, dent->d_name, AT_REMOVEDIR) == -1)
-+            {
-+              int errsv = errno;
-+              g_set_error_literal (error, G_IO_ERROR, g_io_error_from_errno (errsv),
-+                                   g_strerror (errsv));
-+              goto out;
-+            }
-+
-+          (void) closedir (child_dir);
-+          child_dir = NULL;
-+        }
-+      else
-+        {
-+          if (unlinkat (dfd, dent->d_name, 0) == -1)
-+            {
-+              int errsv = errno;
-+              if (errno != ENOENT)
-+                {
-+                  g_set_error_literal (error, G_IO_ERROR, g_io_error_from_errno (errsv),
-+                                       g_strerror (errsv));
-+                  goto out;
-+                }
-+            }
-+        }
-+    }
-+  /* Ignore error result from readdir_r, that's what others
-+   * seem to do =(
-+   */
-+
-+  ret = TRUE;
-+ out:
-+  if (child_dir) (void) closedir (child_dir);
-+  return ret;
-+}
-+
-+/**
-+ * gs_shutil_rm_rf:
-+ * @path: A file or directory
-+ * @cancellable:
-+ * @error:
-+ *
-+ * Recursively delete the filename referenced by @path; it may be a
-+ * file or directory.  No error is thrown if @path does not exist.
-+ */
-+gboolean
-+gs_shutil_rm_rf (GFile        *path,
-+                 GCancellable *cancellable,
-+                 GError      **error)
-+{
-+  gboolean ret = FALSE;
-+  int dfd = -1;
-+  DIR *d = NULL;
-+
-+  /* With O_NOFOLLOW first */
-+  dfd = openat (AT_FDCWD, gs_file_get_path_cached (path),
-+                O_RDONLY | O_NONBLOCK | O_DIRECTORY | O_CLOEXEC | O_NOFOLLOW);
-+
-+  if (dfd == -1)
-+    {
-+      int errsv = errno;
-+      if (errsv == ENOENT)
-+        {
-+          ;
-+        }
-+      else if (errsv == ENOTDIR || errsv == ELOOP)
-+        {
-+          if (!gs_file_unlink (path, cancellable, error))
-+            goto out;
-+        }
-+      else
-+        {
-+          g_set_error_literal (error, G_IO_ERROR, g_io_error_from_errno (errsv),
-+                               g_strerror (errsv));
-+          goto out;
-+        }
-+    }
-+  else
-+    {
-+      d = fdopendir (dfd);
-+      if (!d)
-+        {
-+          int errsv = errno;
-+          g_set_error_literal (error, G_IO_ERROR, g_io_error_from_errno (errsv),
-+                               g_strerror (errsv));
-+          goto out;
-+        }
-+
-+      if (!gs_shutil_rm_rf_children (d, cancellable, error))
-+        goto out;
-+
-+      if (rmdir (gs_file_get_path_cached (path)) == -1)
-+        {
-+          int errsv = errno;
-+          if (errsv != ENOENT)
-+            {
-+              g_set_error_literal (error, G_IO_ERROR, g_io_error_from_errno (errsv),
-+                                   g_strerror (errsv));
-+              goto out;
-+            }
-+        }
-+    }
-+
-+  ret = TRUE;
-+ out:
-+  if (d) (void) closedir (d);
-+  return ret;
-+}
-+
 diff -urN libgnome-desktop/libgsystem.orig/gsystem-subprocess.c libgnome-desktop/libgsystem/gsystem-subprocess.c
 --- libgnome-desktop/libgsystem.orig/gsystem-subprocess.c	2014-01-15 13:06:25.000000000 -0800
 +++ libgnome-desktop/libgsystem/gsystem-subprocess.c	2014-01-24 17:02:13.000000000 -0800

Modified: users/devans/GNOME-3/unstable/dports/gnome/gnome-maps/Portfile
===================================================================
--- users/devans/GNOME-3/stable/dports/gnome/gnome-maps/Portfile	2014-05-27 17:47:38 UTC (rev 120405)
+++ users/devans/GNOME-3/unstable/dports/gnome/gnome-maps/Portfile	2014-05-30 20:50:43 UTC (rev 120511)
@@ -4,7 +4,7 @@
 PortSystem          1.0
 
 name                gnome-maps
-version             3.12.2
+version             3.13.2
 license             GPL-2
 set branch          [join [lrange [split ${version} .] 0 1] .]
 description         Map application for GNOME 3.
@@ -19,8 +19,8 @@
 
 use_xz              yes
 
-checksums           rmd160  7a06f495ac50acecbff5741c9736309a1c9389d2 \
-                    sha256  3e91f0dfd034ff374f03adbc3a204faf6f85e03b02d7d250a1af7b1fc442c0cf
+checksums           rmd160  fb7d1fa603f436bfd792674a319af348e8225391 \
+                    sha256  6f227ba3278811bce0f043e5687ebb15249920e1af6ae2b2fb1d3e31b9dace71
 
 depends_build       port:pkgconfig \
                     port:intltool
@@ -55,4 +55,4 @@
     system "${prefix}/bin/glib-compile-schemas ${prefix}/share/glib-2.0/schemas"
 }
 
-livecheck.type      gnome
+livecheck.type      gnome-with-unstable

Modified: users/devans/GNOME-3/unstable/dports/gnome/gnome-music/Portfile
===================================================================
--- users/devans/GNOME-3/unstable/dports/gnome/gnome-music/Portfile	2014-05-30 20:42:12 UTC (rev 120510)
+++ users/devans/GNOME-3/unstable/dports/gnome/gnome-music/Portfile	2014-05-30 20:50:43 UTC (rev 120511)
@@ -4,7 +4,7 @@
 PortSystem          1.0
 
 name                gnome-music
-version             3.13.1
+version             3.13.2
 license             GPL-2
 set branch          [join [lrange [split ${version} .] 0 1] .]
 description         Music is the GNOME music playing application.
@@ -18,8 +18,8 @@
 
 use_xz              yes
 
-checksums           rmd160  a2b463544311ec950cbb258892761dc83c7154ee \
-                    sha256  a024c92e62424883756ca7d72518a480679d3fef091aefaf84454f63512b85d6
+checksums           rmd160  b2c3c1429054f2f34cbbbf742d77caa60bfb1072 \
+                    sha256  d72dcc55226ef2b768bd706d207f23e13b9addd301ca5fd7a238c8e527ddb8f2
 
 depends_build       port:pkgconfig \
                     port:intltool \

Modified: users/devans/GNOME-3/unstable/dports/gnome/gnome-online-accounts/Portfile
===================================================================
--- users/devans/GNOME-3/unstable/dports/gnome/gnome-online-accounts/Portfile	2014-05-30 20:42:12 UTC (rev 120510)
+++ users/devans/GNOME-3/unstable/dports/gnome/gnome-online-accounts/Portfile	2014-05-30 20:50:43 UTC (rev 120511)
@@ -8,7 +8,7 @@
 if {${os.platform} eq "darwin" && ${os.major} >= 13} {
 
 set mavericks_or_better yes
-version         3.13.1
+version         3.13.2
 
 } else {
 
@@ -33,8 +33,8 @@
 
 if {$mavericks_or_better} {
 
-checksums       rmd160  b2710a2142dcd63e9641b1c151a22f2e136f7224 \
-                sha256  cbeebfe6888b346292c6392c0b642e81f2c5d4db60346450fdc906bb55aa4eae
+checksums       rmd160  13ca610837a6dba25905de858fe912db48a888ee \
+                sha256  e05e6d18082f58d35274931009c0eec9754bb0b14ecf4bd71a85893f9b3be094
 
 depends_build   port:pkgconfig \
                 port:intltool \
@@ -77,7 +77,6 @@
                 --enable-pocket \
                 --disable-kerberos \
                 --disable-maintainer-mode \
-                --disable-gtk-doc \
                 --disable-silent-rules
 
 } else {

Modified: users/devans/GNOME-3/unstable/dports/gnome/gnome-photos/Portfile
===================================================================
--- users/devans/GNOME-3/stable/dports/gnome/gnome-photos/Portfile	2014-05-29 02:45:21 UTC (rev 120463)
+++ users/devans/GNOME-3/unstable/dports/gnome/gnome-photos/Portfile	2014-05-30 20:50:43 UTC (rev 120511)
@@ -70,4 +70,4 @@
     system "${prefix}/bin/glib-compile-schemas ${prefix}/share/glib-2.0/schemas"
 }
 
-livecheck.type      gnome
+livecheck.type      gnome-with-unstable

Modified: users/devans/GNOME-3/unstable/dports/gnome/gnome-system-monitor/Portfile
===================================================================
--- users/devans/GNOME-3/unstable/dports/gnome/gnome-system-monitor/Portfile	2014-05-30 20:42:12 UTC (rev 120510)
+++ users/devans/GNOME-3/unstable/dports/gnome/gnome-system-monitor/Portfile	2014-05-30 20:50:43 UTC (rev 120511)
@@ -4,7 +4,7 @@
 PortSystem      1.0
 
 name            gnome-system-monitor
-version         3.13.1
+version         3.13.2
 license         GPL-2+
 set branch      [join [lrange [split ${version} .] 0 1] .]
 description     A system monitor.
@@ -20,8 +20,8 @@
 
 use_xz          yes
 
-checksums       rmd160  0a6eb420c4b117ba0c7dfb083be8e9af55c4db9a \
-                sha256  851a179e7181b63275ec55776f085f956e43c6b0720983ab3f486b23f7a9b563
+checksums       rmd160  70d55f56c719d3a388db4ca4d8ca838ba75dfdeb \
+                sha256  28b3b2992b2f625768a9d329039f2415183c5849b07863b8574c97077581a8f9
 
 depends_build   port:pkgconfig \
                 port:intltool \

Modified: users/devans/GNOME-3/unstable/dports/gnome/gnome-terminal/Portfile
===================================================================
--- users/devans/GNOME-3/unstable/dports/gnome/gnome-terminal/Portfile	2014-05-30 20:42:12 UTC (rev 120510)
+++ users/devans/GNOME-3/unstable/dports/gnome/gnome-terminal/Portfile	2014-05-30 20:50:43 UTC (rev 120511)
@@ -4,7 +4,7 @@
 PortSystem      1.0
 
 name            gnome-terminal
-version         3.13.0
+version         3.13.1
 set branch      [join [lrange [split ${version} .] 0 1] .]
 description     Terminal component for the GNOME 3 Desktop
 long_description \
@@ -18,8 +18,8 @@
 
 use_xz          yes
 
-checksums       rmd160  4368f55b0ea49426adaa2264b2f19b8979106d10 \
-                sha256  1d2c43e928f26d344a17d6767f27910aa01d17bc659728cccc520724009466d0
+checksums       rmd160  0bc53edcaf3c23543a861ce76b4aeb4ccc526aec \
+                sha256  677c83c0bcab3cdc64c3946d927b99a6ec846107728bc69a1788f1c205f5bf4f
 
 depends_build   port:pkgconfig \
                 port:intltool \

Modified: users/devans/GNOME-3/unstable/dports/gnome/gnome-terminal/files/patch-uuid.diff
===================================================================
--- users/devans/GNOME-3/unstable/dports/gnome/gnome-terminal/files/patch-uuid.diff	2014-05-30 20:42:12 UTC (rev 120510)
+++ users/devans/GNOME-3/unstable/dports/gnome/gnome-terminal/files/patch-uuid.diff	2014-05-30 20:50:43 UTC (rev 120511)
@@ -44,9 +44,9 @@
  
  #include "terminal-app.h"
  #include "terminal-debug.h"
---- configure.ac.orig	2014-02-19 11:59:55.000000000 -0800
-+++ configure.ac	2014-03-14 09:33:28.000000000 -0700
-@@ -78,7 +78,6 @@
+--- configure.ac.orig	2014-05-28 10:42:49.000000000 -0700
++++ configure.ac	2014-05-28 11:52:45.000000000 -0700
+@@ -75,7 +75,6 @@
     gtk+-$GTK_API_VERSION >= $GTK_REQUIRED
     gsettings-desktop-schemas >= $GSETTINGS_DESKTOP_SCHEMAS_REQUIRED
     dconf >= $DCONF_REQUIRED

Modified: users/devans/GNOME-3/unstable/dports/gnome/gnome3-apps/Portfile
===================================================================
--- users/devans/GNOME-3/unstable/dports/gnome/gnome3-apps/Portfile	2014-05-30 20:42:12 UTC (rev 120510)
+++ users/devans/GNOME-3/unstable/dports/gnome/gnome3-apps/Portfile	2014-05-30 20:50:43 UTC (rev 120511)
@@ -4,7 +4,7 @@
 PortSystem      1.0
 
 name            gnome3-apps
-version         3.13.1
+version         3.13.2
 categories      gnome
 license         Permissive
 maintainers     devans openmaintainer
@@ -45,7 +45,6 @@
 # gnome-initial-setup
 # gnome-klotski (previously part of gnome-games)
 # gnome-mahjongg (previously part of gnome-games)
-# gnome-maps
 # gnome-mines (previously part of gnome-games)
 # gnome-nettool
 # gnome-nibbles (previously part of gnome-games)
@@ -80,6 +79,7 @@
                 port:gitg \
                 port:glade \
                 port:gnome-devel-docs \
+                port:gnome-maps \
                 port:gnome-music \
                 port:gnome-photos \
                 port:rygel \

Modified: users/devans/GNOME-3/unstable/dports/gnome/gnome3-apps/files/versions.txt
===================================================================
--- users/devans/GNOME-3/unstable/dports/gnome/gnome3-apps/files/versions.txt	2014-05-30 20:42:12 UTC (rev 120510)
+++ users/devans/GNOME-3/unstable/dports/gnome/gnome3-apps/files/versions.txt	2014-05-30 20:50:43 UTC (rev 120511)
@@ -1,50 +1,50 @@
 apps:accerciser:3.12.0:
-apps:aisleriot:3.12.0:
+apps:aisleriot:3.12.1:
 apps:anjuta:3.13.1:
-apps:bijiben:3.13.1:
+apps:bijiben:3.13.2:
 apps:brasero:3.11.3:
 apps:cheese:3.13.1:
 apps:devhelp:3.12.1:
-apps:evolution:3.13.1:
+apps:evolution:3.12.2:
 apps:file-roller:3.13.1:
-apps:five-or-more:3.12.1:
-apps:four-in-a-row:3.12.1:
-apps:gedit:3.12.1:
+apps:five-or-more:3.12.2:
+apps:four-in-a-row:3.12.2:
+apps:gedit:3.12.2:
 apps:gitg:0.3.2:
-apps:glade:3.18.2:
-apps:gnome-boxes:3.12.1:
+apps:glade:3.18.3:
+apps:gnome-boxes:3.12.2:
 apps:gnome-chess:3.13.1:
 apps:gnome-clocks:3.12.0:
 apps:gnome-color-manager:3.13.1:
-apps:gnome-devel-docs:3.12.1:
-apps:gnome-documents:3.12.0:
-apps:gnome-getting-started-docs:3.12.0:
-apps:gnome-initial-setup:3.12.0:
-apps:gnome-klotski:3.12.1:
-apps:gnome-logs:3.13.1:
+apps:gnome-devel-docs:3.12.2:
+apps:gnome-documents:3.13.1:
+apps:gnome-getting-started-docs:3.12.1:
+apps:gnome-initial-setup:3.12.1:
+apps:gnome-klotski:3.12.2:
+apps:gnome-logs:3.13.2:
 apps:gnome-mahjongg:3.13.1:
-apps:gnome-maps:3.12.1:
-apps:gnome-mines:3.13.1:
-apps:gnome-music:3.13.1:
+apps:gnome-maps:3.13.2:
+apps:gnome-mines:3.13.2:
+apps:gnome-music:3.13.2:
 apps:gnome-nettool:3.8.1:
-apps:gnome-nibbles:3.12.1:
+apps:gnome-nibbles:3.12.2:
 apps:gnome-photos:3.12.1:
-apps:gnome-robots:3.12.1:
-apps:gnome-software:3.13.1:
-apps:gnome-sound-recorder:3.12.1:
-apps:gnome-sudoku:3.12.1:
+apps:gnome-robots:3.12.2:
+apps:gnome-software:3.13.2:
+apps:gnome-sound-recorder:3.12.2:
+apps:gnome-sudoku:3.12.2:
 apps:gnome-tetravex:3.13.1:
 apps:gnome-tweak-tool:3.12.0:
-apps:gnome-weather:3.13.1:
-apps:iagno:3.12.1:
+apps:gnome-weather:3.13.2:
+apps:iagno:3.12.2:
 apps:lightsoff:3.13.1:
 apps:nautilus-sendto:3.8.1:
 apps:nemiver:0.9.5:
 apps:orca:3.13.1:
-apps:polari:3.13.1:
+apps:polari:3.13.2:
 apps:quadrapassel:3.13.1:
 apps:rygel:0.22.1:
-apps:seahorse:3.12.0:
+apps:seahorse:3.12.2:
 apps:swell-foop:3.13.1:
 apps:tali:3.13.1:
-apps:vinagre:3.12.1:
+apps:vinagre:3.13.2:

Modified: users/devans/GNOME-3/unstable/dports/gnome/gnome3-core/Portfile
===================================================================
--- users/devans/GNOME-3/unstable/dports/gnome/gnome3-core/Portfile	2014-05-30 20:42:12 UTC (rev 120510)
+++ users/devans/GNOME-3/unstable/dports/gnome/gnome3-core/Portfile	2014-05-30 20:50:43 UTC (rev 120511)
@@ -4,7 +4,7 @@
 PortSystem      1.0
 
 name            gnome3-core
-version         3.13.1
+version         3.13.2
 categories      gnome
 license         Permissive
 maintainers     devans openmaintainer
@@ -90,9 +90,6 @@
                 port:gnome-desktop \
                 port:gnome-dictionary \
                 port:gnome-font-viewer \
-                port:gnome-icon-theme \
-                port:gnome-icon-theme-extras \
-                port:gnome-icon-theme-symbolic \
                 port:gnome-js-common \
                 port:gnome-keyring \
                 port:gnome-menus \
@@ -108,9 +105,6 @@
                 port:grilo-plugins \
                 port:gsettings-desktop-schemas \
                 port:gssdp \
-                port:gstreamer1-gst-plugins-base \
-                port:gstreamer1-gst-plugins-good \
-                port:gstreamer1 \
                 port:gtk3 \
                 port:gtk2 \
                 port:gtk-doc \

Modified: users/devans/GNOME-3/unstable/dports/gnome/gnome3-core/files/versions.txt
===================================================================
--- users/devans/GNOME-3/unstable/dports/gnome/gnome3-core/files/versions.txt	2014-05-30 20:42:12 UTC (rev 120510)
+++ users/devans/GNOME-3/unstable/dports/gnome/gnome3-core/files/versions.txt	2014-05-30 20:50:43 UTC (rev 120511)
@@ -2,9 +2,9 @@
 core:adwaita-icon-theme:3.13.1:
 core:at-spi2-atk:2.13.1:
 core:at-spi2-core:2.13.1:
-core:atk:2.13.1:
+core:atk:2.13.2:
 core:atkmm:2.22.7:
-core:baobab:3.12.1:
+core:baobab:3.13.1:
 core:cantarell-fonts:0.0.15:
 core:caribou:0.4.13:
 core:clutter:1.18.2:
@@ -12,47 +12,44 @@
 core:clutter-gtk:1.5.2:
 core:cogl:1.18.0:
 core:dconf:0.20.0:
-core:empathy:3.12.1:
-core:eog:3.13.1:
-core:epiphany:3.12.0:
+core:empathy:3.12.2:
+core:eog:3.13.2:
+core:epiphany:3.12.1:
 core:evince:3.12.1:
-core:evolution-data-server:3.13.1:
+core:evolution-data-server:3.12.2:
 core:folks:0.9.6:
-core:gcr:3.12.0:
-core:gdk-pixbuf:2.30.7:
-core:gdm:3.12.1:
-core:geocode-glib:3.12.0:
+core:gcr:3.12.2:
+core:gdk-pixbuf:2.30.8:
+core:gdm:3.12.2:
+core:geocode-glib:3.12.2:
 core:gjs:1.40.1:
-core:glib:2.40.0:
+core:glib:2.41.0:
 core:glib-networking:2.40.1:
 core:glibmm:2.40.0:
 core:gmime:2.6.20:
-core:gnome-backgrounds:3.12.1:
+core:gnome-backgrounds:3.12.2:
 core:gnome-bluetooth:3.12.0:
 core:gnome-calculator:3.12.1:
 core:gnome-contacts:3.12.0:
 core:gnome-control-center:3.13.1:
-core:gnome-desktop:3.12.1:
+core:gnome-desktop:3.13.2:
 core:gnome-dictionary:3.10.0:
 core:gnome-disk-utility:3.12.1:
 core:gnome-font-viewer:3.12.0:
-core:gnome-icon-theme:3.12.0:
-core:gnome-icon-theme-extras:3.12.0:
-core:gnome-icon-theme-symbolic:3.12.0:
 core:gnome-js-common:0.1.2:
-core:gnome-keyring:3.12.0:
+core:gnome-keyring:3.12.2:
 core:gnome-menus:3.10.1:
-core:gnome-online-accounts:3.13.1:
+core:gnome-online-accounts:3.13.2:
 core:gnome-online-miners:3.12.0:
-core:gnome-packagekit:3.12.1:
+core:gnome-packagekit:3.12.2:
 core:gnome-screenshot:3.12.0:
 core:gnome-session:3.12.1:
 core:gnome-settings-daemon:3.13.1:
-core:gnome-shell:3.13.1:
-core:gnome-shell-extensions:3.13.1:
+core:gnome-shell:3.13.2:
+core:gnome-shell-extensions:3.13.2:
 core:gnome-system-log:3.9.90:
-core:gnome-system-monitor:3.13.1:
-core:gnome-terminal:3.13.0:
+core:gnome-system-monitor:3.13.2:
+core:gnome-terminal:3.13.1:
 core:gnome-themes-standard:3.13.1:
 core:gnome-user-docs:3.12.1:
 core:gnome-user-share:3.10.2:
@@ -60,31 +57,28 @@
 core:gobject-introspection:1.40.0:
 core:grilo:0.2.10:
 core:grilo-plugins:0.2.12:
-core:gsettings-desktop-schemas:3.13.1:
-core:gssdp:0.14.7:
-core:gst-plugins-base:1.2.4:
-core:gst-plugins-good:1.2.4:
-core:gstreamer:1.2.4:
-core:gtk+:3.13.1:
+core:gsettings-desktop-schemas:3.13.2:
+core:gssdp:0.14.8:
+core:gtk+:3.13.2:
 core:gtk+:2.24.23:
 core:gtk-doc:1.20:
 core:gtk-engines:2.20.2:
 core:gtkmm:3.12.0:
-core:gtksourceview:3.12.1:
-core:gucharmap:3.12.0:
-core:gupnp:0.20.10:
+core:gtksourceview:3.12.2:
+core:gucharmap:3.12.1:
+core:gupnp:0.20.11:
 core:gupnp-igd:0.2.3:
-core:gvfs:1.21.1:
+core:gvfs:1.21.2:
 core:json-glib:1.0.0:
 core:libchamplain:0.12.7:
 core:libcroco:0.6.8:
-core:libgdata:0.15.0:
+core:libgdata:0.15.1:
 core:libgee:0.14.0:
 core:libgnomekbd:3.6.0:
 core:libgsf:1.14.30:
 core:libgsystem:2014.1:
 core:libgtop:2.30.0:
-core:libgweather:3.13.1:
+core:libgweather:3.13.2:
 core:libgxps:0.2.2:
 core:libmediaart:0.4.0:
 core:libnotify:0.7.6:
@@ -98,20 +92,20 @@
 core:libzapojit:0.0.3:
 core:mm-common:0.9.6:
 core:mousetweaks:3.12.0:
-core:mutter:3.13.1:
+core:mutter:3.13.2:
 core:nautilus:3.13.1:
 core:network-manager-applet:0.9.8.10:
 core:pango:1.36.3:
 core:pangomm:2.34.0:
-core:pygobject:3.13.1:
+core:pygobject:3.13.2:
 core:seed:3.8.1:
 core:sushi:3.12.0:
 core:totem:3.12.1:
 core:totem-pl-parser:3.10.2:
-core:tracker:1.0.0:
+core:tracker:1.0.1:
 core:vala:0.24.0:
 core:vino:3.12.0:
-core:vte:0.37.0:
+core:vte:0.37.1:
 core:yelp:3.12.0:
 core:yelp-tools:3.12.1:
 core:yelp-xsl:3.12.0:

Modified: users/devans/GNOME-3/unstable/dports/gnome/gsettings-desktop-schemas/Portfile
===================================================================
--- users/devans/GNOME-3/unstable/dports/gnome/gsettings-desktop-schemas/Portfile	2014-05-30 20:42:12 UTC (rev 120510)
+++ users/devans/GNOME-3/unstable/dports/gnome/gsettings-desktop-schemas/Portfile	2014-05-30 20:50:43 UTC (rev 120511)
@@ -4,7 +4,7 @@
 PortSystem      1.0
 
 name            gsettings-desktop-schemas
-version         3.13.1
+version         3.13.2
 license         LGPL-2.1
 set branch      [join [lrange [split ${version} .] 0 1] .]
 
@@ -22,8 +22,8 @@
 
 use_xz          yes
 
-checksums       rmd160  5f024a23beab6bd1e438791bdf2da747a70eb4cd \
-                sha256  ce8a561a2a9b90ed2a1d76a3d7148fdd558143ab6338d325cf887c201a1ee11a
+checksums       rmd160  1c295612105b81e6e12d4e40cf8bb680a70990fb \
+                sha256  a2069893becc25c5f18ff08467c78d6093740e14adf3ff35ec790bd552fe9324
 
 supported_archs noarch
 

Modified: users/devans/GNOME-3/unstable/dports/gnome/gtk3/Portfile
===================================================================
--- users/devans/GNOME-3/unstable/dports/gnome/gtk3/Portfile	2014-05-30 20:42:12 UTC (rev 120510)
+++ users/devans/GNOME-3/unstable/dports/gnome/gtk3/Portfile	2014-05-30 20:50:43 UTC (rev 120511)
@@ -10,15 +10,15 @@
 name                gtk3
 set real_name       gtk+
 epoch               1
-version             3.13.1
+version             3.13.2
 set branch          [join [lrange [split ${version} .] 0 1] .]
 categories          gnome x11
 license             LGPL-2.1+
 maintainers         cal openmaintainer
 platforms           darwin
 
-checksums           rmd160  f7a634e5d1adc25546975727871009cbc6ebb297 \
-                    sha256  96258f26d2f49651d440175c285d4a06c05b0c4b4e08baa218dc0f58ad0c2ccb
+checksums           rmd160  9b4fe4e1629706007335e51fd6c64c2653ae67d7 \
+                    sha256  7414ed9114631ecb562842507c4b55fd4d4454b72e19f03287ab38d7f66878d5
 
 description         GTK+ widget toolkit
 

Modified: users/devans/GNOME-3/unstable/dports/gnome/tracker/Portfile
===================================================================
--- users/devans/GNOME-3/stable/dports/gnome/tracker/Portfile	2014-05-29 02:45:21 UTC (rev 120463)
+++ users/devans/GNOME-3/unstable/dports/gnome/tracker/Portfile	2014-05-30 20:50:43 UTC (rev 120511)
@@ -144,4 +144,4 @@
     system "${prefix}/bin/glib-compile-schemas ${prefix}/share/glib-2.0/schemas"
 }
 
-livecheck.type  gnome
+livecheck.type  gnome-with-unstable

Modified: users/devans/GNOME-3/unstable/dports/gnome/vte/Portfile
===================================================================
--- users/devans/GNOME-3/unstable/dports/gnome/vte/Portfile	2014-05-30 20:42:12 UTC (rev 120510)
+++ users/devans/GNOME-3/unstable/dports/gnome/vte/Portfile	2014-05-30 20:50:43 UTC (rev 120511)
@@ -4,7 +4,7 @@
 PortSystem          1.0
 
 name                vte
-version             0.37.0
+version             0.37.1
 set branch          [join [lrange [split $version .] 0 1] .]
 maintainers         nomaintainer
 categories          gnome
@@ -22,8 +22,8 @@
 
 use_xz              yes
 
-checksums           rmd160  1ae98a06d38bc96eac7834386069fbe93c05f420 \
-                    sha256  cde755dabcbf7553501181ae6e423be4159d99b8d60b2f070c4662be6f865fab
+checksums           rmd160  c9737d8a9a1e765355d55dfdb63c4841f9d5a928 \
+                    sha256  03d7e1109b78bbf6d23f3dd5d5474449a4abdc35ab73d09d88fe538474ed6ac2
 
 depends_build       port:pkgconfig \
                     port:intltool \
@@ -34,8 +34,12 @@
 
 patchfiles          patch-src-vteutils.c.diff
 
-# autoreconf with our intltool.m4
+# update m4/intltool.m4 and autoreconf
 
+pre-configure {
+    copy -force ${prefix}/share/aclocal/intltool.m4 ${worksrcpath}/m4
+}
+
 use_autoreconf      yes
 autoreconf.args     -fvi
 

Modified: users/devans/GNOME-3/unstable/dports/graphics/clutter/Portfile
===================================================================
--- trunk/dports/graphics/clutter/Portfile	2014-05-29 02:45:21 UTC (rev 120463)
+++ users/devans/GNOME-3/unstable/dports/graphics/clutter/Portfile	2014-05-30 20:50:43 UTC (rev 120511)
@@ -4,7 +4,7 @@
 PortSystem          1.0
 
 name                clutter
-version             1.18.2
+version             1.19.2
 license             LGPL-2.1
 set branch          [join [lrange [split ${version} .] 0 1] .]
 categories          graphics
@@ -19,8 +19,8 @@
 
 use_xz              yes
 
-checksums           rmd160  7c2bacaf795d33cce8d9ee2cd40488255225d2fe \
-                    sha256  f9fe12e6148426063c90e67dfaeb56013bf1aea224ef502223d13eab6c1add63
+checksums           rmd160  8f3f3aceb4d8a576b77d1bacb48cca306784a649 \
+                    sha256  192506c26f51208d46ba1ee6a28105c30bf1b2a7dff29da184882a2e9f3e0f6b
 
 depends_build       port:pkgconfig
 
@@ -68,4 +68,4 @@
 
 default_variants +x11
 
-livecheck.type      gnome
+livecheck.type      gnome-with-unstable

Modified: users/devans/GNOME-3/unstable/dports/net/libgweather/Portfile
===================================================================
--- users/devans/GNOME-3/unstable/dports/net/libgweather/Portfile	2014-05-30 20:42:12 UTC (rev 120510)
+++ users/devans/GNOME-3/unstable/dports/net/libgweather/Portfile	2014-05-30 20:50:43 UTC (rev 120511)
@@ -4,7 +4,7 @@
 PortSystem      1.0
 
 name            libgweather
-version         3.13.1
+version         3.13.2
 set branch      [join [lrange [split ${version} .] 0 1] .]
 maintainers     devans openmaintainer
 categories      net gnome
@@ -22,8 +22,8 @@
 
 use_xz          yes
 
-checksums       rmd160  318a9aa905bd6e40e2c0eff2d4a0f25613291a44 \
-                sha256  b9820ef1d2c3818250b06b7a042898b6ebb63d1db8e0df16a3c0aec6e41ef7fd
+checksums       rmd160  4988302e64c4f14cacf80643d8bd9f308e201ace \
+                sha256  ebf990d95a47b10e504326b83b50dadb47bfa94c93898c9da6ca103bbff7f98d
 
 depends_build   port:pkgconfig \
                 port:intltool \

Modified: users/devans/GNOME-3/unstable/dports/python/py-gobject3/Portfile
===================================================================
--- users/devans/GNOME-3/unstable/dports/python/py-gobject3/Portfile	2014-05-30 20:42:12 UTC (rev 120510)
+++ users/devans/GNOME-3/unstable/dports/python/py-gobject3/Portfile	2014-05-30 20:50:43 UTC (rev 120511)
@@ -6,7 +6,7 @@
 
 name                py-gobject3
 set my_name         pygobject
-version             3.13.1
+version             3.13.2
 set branch          [join [lrange [split ${version} .] 0 1] .]
 categories-append   gnome
 license             LGPL-2.1+
@@ -23,8 +23,8 @@
 distname            ${my_name}-${version}
 use_xz              yes
 
-checksums           sha256  47f16a9736c109fa71653832f776f78aef01f6469834d985e5f504cdd4c7089e \
-                    rmd160  b4cc70625eb1dfae95cb5d1e9a8f46f268a6f131
+checksums           sha256  69eb8b642463ca26644a64019ed539c5185ed2abd06600dfc83e793cd028a8de \
+                    rmd160  2b94a29d3e5fd48fce02746b0127510e20a036ac
 
 python.versions     27 32 33 34
 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/macports-changes/attachments/20140530/03d21a68/attachment-0001.html>


More information about the macports-changes mailing list