Changeset 118155


Ignore:
Timestamp:
Mar 23, 2014, 10:58:46 PM (7 years ago)
Author:
devans@…
Message:

GNOME-3/stable: copy/merge unstable ports to stable in preparation for 3.12 stable release.

Location:
users/devans/GNOME-3/stable/dports
Files:
5 added
11 deleted
100 edited
46 copied

Legend:

Unmodified
Added
Removed
  • users/devans/GNOME-3/stable/dports/gnome/alacarte

  • users/devans/GNOME-3/stable/dports/gnome/alacarte/Portfile

    r117824 r118155  
    55
    66name            alacarte
    7 version         3.10.0
     7version         3.11.91
    88epoch           1
    99license         GPL-2+
     
    2222use_xz          yes
    2323
    24 checksums       rmd160  2ad11884d64d337d36cf222e29e1fe7781ea660b \
    25                 sha256  bdc91981859a5076ae38a213892074e1263629835702920d47f6ee2bb76179f1
     24checksums       rmd160  234571ead2b7cce827645f75af7b699ff742b8c2 \
     25                sha256  d77294f25ac9e4f293530080578d83dc8e014d5b7c6c01d6f9a7f1715719a384
    2626
    2727supported_archs noarch
     
    8686}
    8787
    88 livecheck.type  gnome
     88livecheck.type  gnome-with-unstable
  • users/devans/GNOME-3/stable/dports/gnome/alacarte/files/patch-Makefile.am.diff

    r117824 r118155  
    1 --- Makefile.am.orig    2014-03-09 09:04:17.000000000 -0700
    2 +++ Makefile.am 2014-03-09 09:06:24.000000000 -0700
    3 @@ -4,16 +4,16 @@
     1--- Makefile.am.orig    2014-02-07 08:07:17.000000000 -0800
     2+++ Makefile.am 2014-03-14 19:24:03.000000000 -0700
     3@@ -8,16 +8,16 @@
    44 
    55 CLEANFILES=
  • users/devans/GNOME-3/stable/dports/gnome/alacarte/files/patch-acinclude.m4.diff

    r117824 r118155  
    1 --- acinclude.m4.orig   2014-03-09 09:22:23.000000000 -0700
    2 +++ acinclude.m4        2014-03-09 09:23:17.000000000 -0700
    3 @@ -79,8 +79,8 @@
     1--- acinclude.m4.orig   2014-02-07 08:04:52.000000000 -0800
     2+++ acinclude.m4        2014-03-14 19:23:00.000000000 -0700
     3@@ -77,8 +77,8 @@
    44   dnl distinct variables so they can be overridden if need be.  However,
    55   dnl general consensus is that you shouldn't need this ability.
  • users/devans/GNOME-3/stable/dports/gnome/alacarte/files/patch-configure.ac.diff

    r117824 r118155  
    1 --- configure.ac.orig   2014-03-09 08:56:46.000000000 -0700
    2 +++ configure.ac        2014-03-09 09:02:22.000000000 -0700
     1--- configure.ac.orig   2014-03-03 05:01:44.000000000 -0800
     2+++ configure.ac        2014-03-14 19:20:22.000000000 -0700
    33@@ -1,7 +1,7 @@
    44 dnl -*- Mode: autoconf -*-
    55 dnl Process this file with autoconf to produce a configure script.
    66 AC_PREREQ(2.53)
    7 -AC_INIT(alacarte, 3.10.0, http://bugzilla.gnome.org/enter_bug.cgi?product=alacarte)
    8 +AC_INIT(alacarte.py, 3.10.0, http://bugzilla.gnome.org/enter_bug.cgi?product=alacarte)
     7-AC_INIT(alacarte, 3.11.91, http://bugzilla.gnome.org/enter_bug.cgi?product=alacarte)
     8+AC_INIT(alacarte.py, 3.11.91, http://bugzilla.gnome.org/enter_bug.cgi?product=alacarte)
    99 m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])])
    1010 AC_CONFIG_SRCDIR(alacarte.in)
  • users/devans/GNOME-3/stable/dports/gnome/anjuta

  • users/devans/GNOME-3/stable/dports/gnome/anjuta/Portfile

    r117824 r118155  
    66
    77name            anjuta
    8 version         3.10.2
    9 revision        1
     8version         3.11.92
    109license         GPL-2+
    1110set branch      [join [lrange [split ${version} .] 0 1] .]
     
    2019use_xz          yes
    2120
    22 checksums       rmd160  d51e40a87cfb9157102c2490c3e78f5b701b8196 \
    23                 sha256  ff16c646dbf0234f7056c697b2546125c89d43f8c1f5138a21409053c016d3bc
     21checksums       rmd160  4021f89b350864ca04416920c81efda6d7afca62 \
     22                sha256  2a1bd681b5e8c65e7fa09d84f06edd205748fa923de26536bb30001cb7f41196
    2423
    2524depends_build   port:pkgconfig \
     
    5150
    5251patchfiles      patch-configure.ac.diff \
    53                 patch-ltmain.sh.diff \
    54                 patch-plugins-language-support-vala-Makefile.am.diff
     52                patch-ltmain.sh.diff
    5553
    5654#reconfigure with our intltool.m4 using autogen.sh
     
    135133}
    136134
    137 livecheck.type  gnome
     135livecheck.type  gnome-with-unstable
  • users/devans/GNOME-3/stable/dports/gnome/anjuta/files/patch-configure.ac.diff

    r117824 r118155  
    1 --- configure.ac.orig   2014-03-11 14:12:24.000000000 -0700
    2 +++ configure.ac        2014-03-11 14:12:52.000000000 -0700
    3 @@ -101,7 +101,7 @@
     1--- configure.ac.orig   2014-03-19 14:51:44.000000000 -0700
     2+++ configure.ac        2014-03-21 06:42:33.000000000 -0700
     3@@ -102,7 +102,7 @@
    44 AC_SUBST(AM_CXXFLAGS)
    55 
  • users/devans/GNOME-3/stable/dports/gnome/dconf

  • users/devans/GNOME-3/stable/dports/gnome/dconf/Portfile

    r117701 r118155  
    55
    66name            dconf
    7 version         0.18.0
    8 revision        1
     7version         0.19.92
    98set branch      [join [lrange [split ${version} .] 0 1] .]
    109maintainers     devans openmaintainer
     
    2524use_xz          yes
    2625
    27 checksums       rmd160  2d010c1998f093878f4be4ce8b46ee6066c9f9af \
    28                 sha256  109b1bc6078690af1ed88cb144ef5c5aee7304769d8bdc82ed48c3696f10c955
     26checksums       rmd160  e3ee36b0b82936126860ddadec79c37639d312c6 \
     27                sha256  634bd8437fd08d864be4c2f47d18e01778b50ff890633837a2fbd2b2adf6707f
    2928
    3029depends_build   port:pkgconfig \
     
    6160}
    6261
    63 livecheck.type  gnome
     62livecheck.type  gnome-with-unstable
  • users/devans/GNOME-3/stable/dports/gnome/devhelp

  • users/devans/GNOME-3/stable/dports/gnome/empathy

  • users/devans/GNOME-3/stable/dports/gnome/empathy/Portfile

    r117701 r118155  
    55
    66name            empathy
    7 version         3.10.3
     7version         3.11.92
    88license         GPL-2+ LGPL-2.1+ GFDL-1.3+ Attribution-ShareAlike-3.0
    99set branch      [join [lrange [split ${version} .] 0 1] .]
     
    2121use_xz          yes
    2222
    23 checksums       rmd160  7b62ac6943013581d9d9e7ba1d19e534def391d4 \
    24                 sha256  49366acdd3c3ef9a74f63eb09920803c4c9df83056acbf8a7899e7890a9fb196
     23checksums       rmd160  f322523b35b617aefada5e8ed46c70131d28c0c8 \
     24                sha256  87651003d5986564540f655182d3058df098b77754170bdae773a8ea2fa98871
    2525
    2626depends_build   port:pkgconfig \
     
    162162}
    163163
    164 livecheck.type  gnome
     164livecheck.type  gnome-with-unstable
  • users/devans/GNOME-3/stable/dports/gnome/eog

  • users/devans/GNOME-3/stable/dports/gnome/eog-plugins

  • users/devans/GNOME-3/stable/dports/gnome/eog-plugins/Portfile

    r117824 r118155  
    55
    66name            eog-plugins
    7 version         3.10.1
    8 revision        1
     7version         3.11.92
    98license         GPL-2+
    109set branch      [join [lrange [split ${version} .] 0 1] .]
     
    2019use_xz          yes
    2120
    22 checksums       rmd160  28859d3ade22dc275b452a28930c8155fa89e65f \
    23                 sha256  d5b32c49dbf1e0b6cf56c9fdc6c19186c92e98d92b71aa98805491e2bb2f8e12
     21checksums       rmd160  ac9cb5b5c77818957839f9d1b6712e76817f3139 \
     22                sha256  7d954383659a86971f02f0cef4ce0713dfe404a38697681f0682d1aa60e95662
    2423
    2524depends_build   port:pkgconfig \
     
    3635                port:gsettings-desktop-schemas
    3736
    38 # reconfigure with our intltool.m4
     37# update m4/intltool.m4 and autoreconf
     38
     39pre-configure {
     40    copy -force ${prefix}/share/aclocal/intltool.m4 ${worksrcpath}/m4
     41}
    3942
    4043use_autoreconf  yes
     
    4548                --disable-silent-rules
    4649
    47 # provided python plugins use libpeas python2 loader only
    48 # libpeas python2 loader supports python27
     50# requires python32 or later
    4951
    50 variant python27 description {Use python 2.7} {
    51     depends_lib-append        port:py27-pygtk
    52     configure.python          ${prefix}/bin/python2.7
    53     set python_framework      ${frameworks_dir}/Python.framework/Versions/2.7
     52variant python32 description {Use python 3.2} {
     53    configure.python          ${prefix}/bin/python3.2
     54    set python_framework      ${frameworks_dir}/Python.framework/Versions/3.2
    5455    configure.pkg_config_path ${python_framework}/lib/pkgconfig
    5556    configure.args-replace    --disable-python --enable-python
    5657}
    5758
    58 default_variants +python27
     59default_variants +python32
    5960
    6061post-activate {
     
    6263}
    6364
    64 livecheck.type  gnome
     65livecheck.type  gnome-with-unstable
  • users/devans/GNOME-3/stable/dports/gnome/eog/Portfile

    r117195 r118155  
    55
    66name            eog
    7 version         3.10.2
    8 revision        3
     7version         3.11.92
    98license         GPL-2+
    109set branch      [join [lrange [split ${version} .] 0 1] .]
     
    2221use_xz          yes
    2322
    24 checksums       rmd160  44527bdd11d8dcf87caeb939f131e7410511cfc6 \
    25                 sha256  5ccc98609ca666420719383cc7d9b44335bbc0aacf048e38036d1f946ce54763
     23checksums           rmd160  ef39dccc772130813644dc0d99fa87412d5a00be \
     24                    sha256  997e7b192a45f738d44c9f2367c16fb7d8eb75a6588e7b1a7b00da545d71c213
    2625
    2726depends_build   port:pkgconfig \
     
    5251                port:yelp
    5352               
    54 patchfiles      redefinition-buildfix.patch
    55 
    5653# update m4/intltool.m4 and autoreconf
    5754
     
    7269}
    7370
    74 livecheck.type  gnome
     71livecheck.type  gnome-with-unstable
  • users/devans/GNOME-3/stable/dports/gnome/epiphany

  • users/devans/GNOME-3/stable/dports/gnome/evince

  • users/devans/GNOME-3/stable/dports/gnome/evince/Portfile

    r117598 r118155  
    55
    66name            evince
    7 version         3.10.3
    8 revision        1
     7version         3.11.92
    98license         GPL-2+
    109set branch      [join [lrange [split ${version} .] 0 1] .]
     
    2019use_xz          yes
    2120
    22 checksums       rmd160  4f53cfe7df43e4775b9d932b9a35db799a65669d \
    23                 sha256  b30dcc3a93dd3c682325e685061c48ccd800835af49578f4db813bbaf5f5e9af
     21checksums       rmd160  7386adfcbf2dd5b7e62708b3905ce7ae1d4d2dab \
     22                sha256  0378582f5925664c51dbe0b26b5604c86caab65d6a07bae62a243df8a94a3f00
    2423
    2524depends_build   port:pkgconfig \
     
    4847depends_run     port:gnome-settings-daemon
    4948
     49# update m4/intltool.m4 and autoreconf
     50# teach glibtool about -stdlib=libc++
     51
     52pre-configure {
     53    copy -force ${prefix}/share/aclocal/intltool.m4 ${worksrcpath}/m4
     54}
     55
     56use_autoreconf  yes
     57autoreconf.args -fvi
     58
    5059configure.cflags-append -Wno-format-nonliteral
    5160
     
    6372                --enable-comics \
    6473                --enable-t1lib
    65 
    66 # update m4/intltool.m4 and autoreconf
    67 # teach glibtool about -stdlib=libc++
    68 
    69 pre-configure {
    70     copy -force ${prefix}/share/aclocal/intltool.m4 ${worksrcpath}/m4
    71 }
    72 
    73 use_autoreconf  yes
    74 autoreconf.args -fvi
    7574
    7675variant djvu description {Support for djvu documents using djvulibre} {
     
    9089}
    9190
    92 livecheck.type  gnome
     91livecheck.type  gnome-with-unstable
  • users/devans/GNOME-3/stable/dports/gnome/evolution-data-server

  • users/devans/GNOME-3/stable/dports/gnome/evolution-data-server/Portfile

    r117053 r118155  
    55
    66name            evolution-data-server
    7 version         3.10.4
     7version         3.11.92
    88set branch      [join [lrange [split ${version} .] 0 1] .]
    99description     Addressbook and calender libs for GNOME.
     
    1919use_xz          yes
    2020
    21 checksums       rmd160  9bcb9c1bd882bca58e6d3f26767de86251b53966 \
    22                 sha256  5c2d5e19af19ecfa81f31306411ab6155c3c62cf407d5a5aaa675a8ce940fa2d
     21checksums       rmd160  af6fd198a92b6475551947ce76d553adf8d3bb2e \
     22                sha256  95d9520f96711aaeb3a9620af62653bd9560fcaf63aa4a73a08f441030c47a12
    2323
    2424depends_build   port:pkgconfig \
     
    4141                port:gobject-introspection \
    4242                port:sqlite3 \
    43                 port:vala
     43                port:vala \
     44                port:db46
    4445
    4546patchfiles      patch-configure.ac.diff \
    46                 patch-calendar-libedata-cal-e-cal-backend-intervaltree.c.diff \
    4747                patch-addressbook-libebook-contacts-e-phone-number-private.cpp.diff
    4848
     
    5656autoreconf.args -fvi
    5757
     58configure.env-append \
     59                DB_CFLAGS="-I${prefix}/include/db46" \
     60                DB_LIBS="-L${prefix}/lib/db46 -ldb"
     61
    5862configure.args  --enable-smime \
    5963                --enable-ipv6 \
    60                 --enable-nntp \
    6164                --enable-weather \
    6265                --enable-google \
     
    9396}
    9497
    95 livecheck.type  gnome
     98livecheck.type  gnome-with-unstable
  • users/devans/GNOME-3/stable/dports/gnome/evolution-data-server/files/patch-addressbook-libebook-contacts-e-phone-number-private.cpp.diff

    r110290 r118155  
    1 --- addressbook/libebook-contacts/e-phone-number-private.cpp.orig       2013-08-27 02:10:57.000000000 -0700
    2 +++ addressbook/libebook-contacts/e-phone-number-private.cpp    2013-08-27 02:16:53.000000000 -0700
    3 @@ -122,9 +122,13 @@
     1--- addressbook/libebook-contacts/e-phone-number-private.cpp.orig       2014-01-07 06:48:13.000000000 -0800
     2+++ addressbook/libebook-contacts/e-phone-number-private.cpp    2014-01-24 13:56:09.000000000 -0800
     3@@ -120,9 +120,13 @@
    44        /* Extract two-letter country code from current locale id if needed.
    55         * From outside this is a C library, so we better consult the
  • users/devans/GNOME-3/stable/dports/gnome/evolution-data-server/files/patch-configure.ac.diff

    r116955 r118155  
    1 --- configure.ac.orig   2013-12-08 18:41:02.000000000 -0800
    2 +++ configure.ac        2014-02-10 16:57:44.000000000 -0800
    3 @@ -322,8 +322,8 @@
     1--- configure.ac.orig   2014-01-17 12:19:46.000000000 -0800
     2+++ configure.ac        2014-02-10 20:05:35.000000000 -0800
     3@@ -317,8 +317,8 @@
    44 
    55 dnl This must appear after AC_CANONICAL_HOST, which defines $host.
     
    1212 *)
    1313        LDFLAGS="$LDFLAGS -Wl,--no-undefined"
    14 @@ -546,8 +546,8 @@
     14@@ -605,8 +605,8 @@
     15        AS_HELP_STRING([--with-libdb=PREFIX],
    1516        [Prefix where libdb is installed]),
    16         [libdb_prefix="$withval"], [libdb_prefix='${prefix}'])
    17  
    18 -DB_CFLAGS="-I$libdb_prefix/include"
    19 -DB_LIBS="-L$libdb_prefix/lib -ldb"
    20 +DB_CFLAGS="-I$prefix/include/db46"
    21 +DB_LIBS="-L$prefix/lib/db46  -ldb"
    22  
    23  AC_MSG_CHECKING([Berkeley DB])
    24  save_cflags=$CFLAGS; CFLAGS=$DB_CFLAGS
     17        [
     18-               DB_CFLAGS="-I$withval/include"
     19-               DB_LIBS="-L$withval/lib -ldb"
     20+               DB_CFLAGS="-I$prefix/include/db46"
     21+               DB_LIBS="-L$prefix/lib/db46 -ldb"
     22        ],
     23        [
     24                if test -z "$DB_CFLAGS" -a -z "$DB_LIBS"; then
  • users/devans/GNOME-3/stable/dports/gnome/file-roller

  • users/devans/GNOME-3/stable/dports/gnome/file-roller/Portfile

    r117598 r118155  
    55
    66name            file-roller
    7 version         3.10.2.1
    8 revision        1
     7version         3.11.92
    98license         GPL-2+
    109set branch      [join [lrange [split ${version} .] 0 1] .]
     
    2524use_xz          yes
    2625
    27 checksums       rmd160  9e5df7f8d6e2bc93bbeefff2908bf43365393cb4 \
    28                 sha256  fde1104103df71c126e759089f12dc7fa25ec642308649e87d542ee7c3276790
     26checksums       rmd160  b5a41e51abc3e0f5250b218cbbb8a30fdb4c03bc \
     27                sha256  c74bc2b3456f7cbfcf76da2277289979314a2b167da5664a7cda3bf7f45cc6db
    2928
    3029depends_build   port:pkgconfig \
     
    7372}
    7473
    75 livecheck.type  gnome
     74livecheck.type  gnome-with-unstable
  • users/devans/GNOME-3/stable/dports/gnome/folks

  • users/devans/GNOME-3/stable/dports/gnome/gcr

  • users/devans/GNOME-3/stable/dports/gnome/gcr/Portfile

    r117598 r118155  
    55
    66name            gcr
    7 version         3.10.1
    8 revision        2
     7version         3.11.91
    98license         LGPL-2
    109set branch      [join [lrange [split ${version} .] 0 1] .]
     
    2524use_xz          yes
    2625
    27 checksums       rmd160  8ed4dbfab04e79d04a95b3ffeffbbc32cb3ec04a \
    28                 sha256  006f4f5a54be00418346f28eac2b53f3e640e9c6aa389808cf846f861438645b
     26checksums       rmd160  a2c9ff541294cdbc381ce56292b4b52fc3a707ab \
     27                sha256  25cbee374cf7fbbf67ef7be6afb1ee6f5636a4d0b2cecd6568a872cdab7ff553
    2928
    3029depends_build   port:pkgconfig \
     
    8382}
    8483
    85 livecheck.type  gnome
    86 
     84livecheck.type  gnome-with-unstable
  • users/devans/GNOME-3/stable/dports/gnome/gdm

  • users/devans/GNOME-3/stable/dports/gnome/gdm/Portfile

    r117876 r118155  
    88
    99name            gdm
    10 version         3.10.0.1
    11 revision        2
     10version         3.11.90
    1211license         GPL-2
    1312set branch      [join [lrange [split ${version} .] 0 1] .]
     
    2423use_xz          yes
    2524
    26 checksums       rmd160  3e4839d56165e2f68451374d89d70986f5e247a1 \
    27                 sha256  549a42009af9c79a4e07632e405dcb71ba2e876e766cff02471511ad641b6ae7
     25checksums       rmd160  98ccd8bfc99773264d73ef077c424b0518ae1df8 \
     26                sha256  51b54d428aeb1c55d91e992edd8c4603d6e528c888321d39cfc9d17039545482
    2827
    2928depends_build   port:pkgconfig \
     
    3332depends_lib     port:desktop-file-utils \
    3433                port:gtk3 \
     34                port:dconf \
    3535                port:accountsservice \
    3636                port:nss \
     
    5151                port:gnome-settings-daemon
    5252               
    53 patchfiles      patch-daemon-gdm-session-worker.c.diff \
    54                 patch-use-g_credentials_get_unix_pid.diff \
     53patchfiles      patch-daemon.diff \
     54                patch-daemon-gdm-session-worker.c.diff \
    5555                patch-configure.ac.diff
    5656
     
    7373configure.args  --enable-ipv6 \
    7474                --without-console-kit \
     75                --without-plymouth \
     76                --disable-systemd-journal \
     77                --disable-wayland-support \
    7578                --disable-schemas-compile \
    7679                --disable-silent-rules
     
    103106}
    104107
    105 livecheck.type  gnome
     108livecheck.type  gnome-with-unstable
  • users/devans/GNOME-3/stable/dports/gnome/gdm/files/patch-configure.ac.diff

    r117876 r118155  
    2828    X_SERVER_PATH="/usr/X11/bin"
    2929    X_SERVER="/usr/X11/bin/Xserver"
    30 From c14b16af23529afb7371890e3c686457c365e8be Mon Sep 17 00:00:00 2001
    31 From: Laurent Bigonville <bigon@bigon.be>
    32 Date: Mon, 11 Nov 2013 06:36:26 +0000
    33 Subject: Don't use both AM_GNU_GETTEXT and IT_PROG_INTLTOOL
    34 
    35 When using IT_PROG_INTLTOOL using the gettext automake macros isn't
    36 necessary. To make matters worse, when mixing the marcos both try to
    37 generate po/Makefile.in.in. Recent versions of intltool detect when
    38 gettext won and bails when building.
    39 
    40 https://bugzilla.gnome.org/show_bug.cgi?id=711818
    41 ---
    42 diff --git a/configure.ac b/configure.ac
    43 index fdb0497..6afa49e 100644
    44 --- configure.ac
    45 +++ configure.ac
    46 @@ -52,9 +52,6 @@ AM_CONDITIONAL(ENABLE_DOCUMENTATION, test x$enable_documentation = xyes)
    47  # i18n stuff
    48  IT_PROG_INTLTOOL([0.40.0])
    49  
    50 -AM_GNU_GETTEXT_VERSION([0.17])
    51 -AM_GNU_GETTEXT([external])
    52 -
    53  GETTEXT_PACKAGE=gdm
    54  AC_SUBST(GETTEXT_PACKAGE)
    55  AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE", [gettext package])
    56 --
    57 cgit v0.9.2
  • users/devans/GNOME-3/stable/dports/gnome/gdm/files/patch-daemon-gdm-session-worker.c.diff

    r114990 r118155  
    1 --- daemon/gdm-session-worker.c.orig    2013-12-18 13:49:21.000000000 -0800
    2 +++ daemon/gdm-session-worker.c 2013-12-18 13:52:29.000000000 -0800
    3 @@ -740,6 +740,33 @@
     1--- daemon/gdm-session-worker.c.orig    2014-02-20 12:01:48.000000000 -0800
     2+++ daemon/gdm-session-worker.c 2014-03-16 20:16:54.000000000 -0700
     3@@ -741,6 +741,33 @@
    44         return utf8;
    55 }
  • users/devans/GNOME-3/stable/dports/gnome/gedit

  • users/devans/GNOME-3/stable/dports/gnome/gedit/files/patch-gedit-gedit-app.c.diff

    r113058 r118155  
    1 --- gedit/gedit-app.c.orig      2013-09-29 07:56:34.000000000 -0700
    2 +++ gedit/gedit-app.c   2013-11-03 01:37:41.000000000 -0800
    3 @@ -95,7 +95,7 @@
     1--- gedit/gedit-app.c.orig      2014-01-11 05:54:03.000000000 -0800
     2+++ gedit/gedit-app.c   2014-01-31 12:12:54.000000000 -0800
     3@@ -96,7 +96,7 @@
    44 static gboolean new_window = FALSE;
    55 static gboolean new_document = FALSE;
     
    77-static gboolean wait = FALSE;
    88+static gboolean gwait = FALSE;
     9 static gboolean gapplication_service = FALSE;
    910 static gboolean standalone = FALSE;
    1011 static gchar **remaining_args = NULL;
    11  static const GeditEncoding *encoding = NULL;
    12 @@ -161,7 +161,7 @@
     12@@ -171,7 +171,7 @@
    1313        /* Wait for closing documents */
    1414        {
     
    1919                NULL
    2020        },
    21 @@ -753,7 +753,7 @@
     21@@ -811,7 +811,7 @@
    2222        new_window = FALSE;
    2323        new_document = FALSE;
     
    2828        remaining_args = NULL;
    2929        encoding = NULL;
     30@@ -874,7 +874,7 @@
     31        }
     32        else
     33        {
     34-               if (wait)
     35+               if (gwait)
     36                {
     37                        command_line = cl;
     38                }
  • users/devans/GNOME-3/stable/dports/gnome/gnome-backgrounds

  • users/devans/GNOME-3/stable/dports/gnome/gnome-backgrounds/Portfile

    r117598 r118155  
    55
    66name                gnome-backgrounds
    7 version             3.10.1
     7version             3.11.5
    88set branch          [join [lrange [split ${version} .] 0 1] .]
    99maintainers         nomaintainer
     
    2222use_xz              yes
    2323
    24 checksums           rmd160  e27f5ecb45fca206b7a69ff5cdf0462646cc3419 \
    25                     sha256  cc47e7b21f94464b013e5805baa51c3fa540008df0109717e8d77e48ea003b87
     24checksums           rmd160  14bd2ff2e5a1daccbf21bbf842c360e73e41d212 \
     25                    sha256  ff74b154444c5deab2dab03039095f6ac6861a73404796f37cfacae2f316b2cf
    2626
    2727depends_build       port:intltool \
     
    3939autoreconf.args     -fvi
    4040
    41 livecheck.type      gnome
     41livecheck.type      gnome-with-unstable
  • users/devans/GNOME-3/stable/dports/gnome/gnome-control-center

  • users/devans/GNOME-3/stable/dports/gnome/gnome-desktop

  • users/devans/GNOME-3/stable/dports/gnome/gnome-desktop/Portfile

    r117051 r118155  
    55
    66name            gnome-desktop
    7 version         3.10.2
     7version         3.11.91
    88set branch      [join [lrange [split ${version} .] 0 1] .]
    99maintainers     devans openmaintainer
     
    2525use_xz          yes
    2626
    27 checksums       rmd160  9d59c58c497eafa75a5ae7a38edaa740c8c77726 \
    28                 sha256  d4f5944aea5f2a8c7c5dc0e738bf07f293dfff81ddc55a53d661370bf24e4632
     27checksums       rmd160  61cf6e72df0ee97cd07c0ca458f950879670bcbd \
     28                sha256  61b636ec7ec718c96f3d32a04997adcb1478725bc0dda2e38d63dcb3c1f6368d
    2929
    3030depends_build   port:pkgconfig \
     
    7777}
    7878
    79 livecheck.type  gnome
     79livecheck.type  gnome-with-unstable
  • users/devans/GNOME-3/stable/dports/gnome/gnome-desktop/files/patch-gnome-desktop-Makefile.am.diff

    r114072 r118155  
    1 --- libgnome-desktop/Makefile.am.orig   2013-10-04 15:18:41.000000000 -0700
    2 +++ libgnome-desktop/Makefile.am        2013-11-26 14:58:19.000000000 -0800
    3 @@ -79,8 +79,7 @@
     1--- libgnome-desktop/Makefile.am.orig   2014-01-15 13:04:02.000000000 -0800
     2+++ libgnome-desktop/Makefile.am        2014-01-24 16:42:17.000000000 -0800
     3@@ -78,8 +78,7 @@
    44        $(XLIB_LIBS)            \
    55        $(LIBM)                 \
  • users/devans/GNOME-3/stable/dports/gnome/gnome-desktop/files/patch-libgnome-destktop-libgsystem.diff

    r115829 r118155  
    11diff -urN libgnome-desktop/libgsystem.orig/Makefile-libgsystem.am libgnome-desktop/libgsystem/Makefile-libgsystem.am
    2 --- libgnome-desktop/libgsystem.orig/Makefile-libgsystem.am     2013-10-04 15:18:43.000000000 -0700
    3 +++ libgnome-desktop/libgsystem/Makefile-libgsystem.am  2014-01-11 18:24:46.000000000 -0800
     2--- libgnome-desktop/libgsystem.orig/Makefile-libgsystem.am     2014-01-15 13:06:25.000000000 -0800
     3+++ libgnome-desktop/libgsystem/Makefile-libgsystem.am  2014-01-24 17:02:13.000000000 -0800
    44@@ -35,6 +35,8 @@
    55        $(libgsystem_srcpath)/gsystem-subprocess.h \
     
    1212 libgsystem_la_CFLAGS = $(AM_CFLAGS) $(libgsystem_cflags)
    1313diff -urN libgnome-desktop/libgsystem.orig/gsystem-file-utils.c libgnome-desktop/libgsystem/gsystem-file-utils.c
    14 --- libgnome-desktop/libgsystem.orig/gsystem-file-utils.c       2013-10-04 15:18:43.000000000 -0700
    15 +++ libgnome-desktop/libgsystem/gsystem-file-utils.c    2014-01-11 18:24:46.000000000 -0800
    16 @@ -38,6 +38,10 @@
    17  #include <limits.h>
    18  #include <dirent.h>
     14--- libgnome-desktop/libgsystem.orig/gsystem-file-utils.c       2014-01-15 13:06:25.000000000 -0800
     15+++ libgnome-desktop/libgsystem/gsystem-file-utils.c    2014-01-24 17:02:13.000000000 -0800
     16@@ -41,6 +41,10 @@
     17 #include <attr/xattr.h>
     18 #endif
    1919 
    2020+#ifdef __APPLE__
     
    2525 close_nointr (int fd)
    2626 {
    27 @@ -444,12 +448,28 @@
     27@@ -454,12 +458,28 @@
    2828                      GError       **error)
    2929 {
     
    5454 }
    5555 
     56diff -urN libgnome-desktop/libgsystem.orig/gsystem-file-utils.c.orig libgnome-desktop/libgsystem/gsystem-file-utils.c.orig
     57--- libgnome-desktop/libgsystem.orig/gsystem-file-utils.c.orig  1969-12-31 16:00:00.000000000 -0800
     58+++ libgnome-desktop/libgsystem/gsystem-file-utils.c.orig       2014-01-15 13:06:25.000000000 -0800
     59@@ -0,0 +1,1626 @@
     60+/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*-
     61+ *
     62+ * Copyright (C) 2012 William Jon McCann <mccann@redhat.com>
     63+ * Copyright (C) 2012 Colin Walters <walters@verbum.org>
     64+ *
     65+ * This library is free software; you can redistribute it and/or
     66+ * modify it under the terms of the GNU Lesser General Public
     67+ * License as published by the Free Software Foundation; either
     68+ * version 2 of the License, or (at your option) any later version.
     69+ *
     70+ * This library is distributed in the hope that it will be useful,
     71+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
     72+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
     73+ * Lesser General Public License for more details.
     74+ *
     75+ * You should have received a copy of the GNU Lesser General Public
     76+ * License along with this library; if not, write to the
     77+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
     78+ * Boston, MA 02111-1307, USA.
     79+ */
     80+
     81+#include "config.h"
     82+
     83+#ifndef _GNU_SOURCE
     84+#define _GNU_SOURCE
     85+#endif
     86+
     87+#include <string.h>
     88+
     89+#define _GSYSTEM_NO_LOCAL_ALLOC
     90+#include "libgsystem.h"
     91+#include "gsystem-glib-compat.h"
     92+#include <glib/gstdio.h>
     93+#include <gio/gunixinputstream.h>
     94+#include <gio/gfiledescriptorbased.h>
     95+#include <gio/gunixoutputstream.h>
     96+#include <glib-unix.h>
     97+#include <limits.h>
     98+#include <dirent.h>
     99+#ifdef GSYSTEM_CONFIG_XATTRS
     100+#include <attr/xattr.h>
     101+#endif
     102+
     103+static int
     104+close_nointr (int fd)
     105+{
     106+  int res;
     107+  /* Note this is NOT actually a retry loop.
     108+   * See: https://bugzilla.gnome.org/show_bug.cgi?id=682819
     109+   */
     110+  res = close (fd);
     111+  /* Just ignore EINTR...on Linux, retrying is wrong. */
     112+  if (res == EINTR)
     113+    res = 0;
     114+  return res;
     115+}
     116+
     117+static void
     118+close_nointr_noerror (int fd)
     119+{
     120+  (void) close_nointr (fd);
     121+}
     122+
     123+static int
     124+open_nointr (const char *path, int flags, mode_t mode)
     125+{
     126+  int res;
     127+  do
     128+    res = open (path, flags, mode);
     129+  while (G_UNLIKELY (res == -1 && errno == EINTR));
     130+  return res;
     131+}
     132+
     133+static inline void
     134+_set_error_from_errno (GError **error)
     135+{
     136+  int errsv = errno;
     137+  g_set_error_literal (error, G_IO_ERROR, g_io_error_from_errno (errsv),
     138+                       g_strerror (errsv));
     139+}
     140+
     141+/**
     142+ * gs_file_openat_noatime:
     143+ * @dfd: File descriptor for directory
     144+ * @name: Pathname, relative to @dfd
     145+ * @ret_fd: (out): Returned file descriptor
     146+ * @cancellable: Cancellable
     147+ * @error: Error
     148+ *
     149+ * Wrapper for openat() using %O_RDONLY with %O_NOATIME if available.
     150+ */
     151+gboolean
     152+gs_file_openat_noatime (int            dfd,
     153+                        const char    *name,
     154+                        int           *ret_fd,
     155+                        GCancellable  *cancellable,
     156+                        GError       **error)
     157+{
     158+  int fd;
     159+
     160+#ifdef O_NOATIME
     161+  do
     162+    fd = openat (dfd, name, O_RDONLY | O_NOATIME, 0);
     163+  while (G_UNLIKELY (fd == -1 && errno == EINTR));
     164+  /* Only the owner or superuser may use O_NOATIME; so we may get
     165+   * EPERM.  EINVAL may happen if the kernel is really old...
     166+   */
     167+  if (fd == -1 && (errno == EPERM || errno == EINVAL))
     168+#endif
     169+    do
     170+      fd = openat (dfd, name, O_RDONLY, 0);
     171+    while (G_UNLIKELY (fd == -1 && errno == EINTR));
     172
     173+  if (fd == -1)
     174+    {
     175+      _set_error_from_errno (error);
     176+      return FALSE;
     177+    }
     178+  else
     179+    {
     180+      *ret_fd = fd;
     181+      return TRUE;
     182+    }
     183+}
     184+
     185+/**
     186+ * gs_file_read_noatime:
     187+ * @file: a #GFile
     188+ * @cancellable: a #GCancellable
     189+ * @error: a #GError
     190+ *
     191+ * Like g_file_read(), but try to avoid updating the file's
     192+ * access time.  This should be used by background scanning
     193+ * components such as search indexers, antivirus programs, etc.
     194+ *
     195+ * Returns: (transfer full): A new input stream, or %NULL on error
     196+ */
     197+GInputStream *
     198+gs_file_read_noatime (GFile         *file,
     199+                      GCancellable  *cancellable,
     200+                      GError       **error)
     201+{
     202+  const char *path = NULL;
     203+  int fd;
     204+
     205+  if (g_cancellable_set_error_if_cancelled (cancellable, error))
     206+    return NULL;
     207+
     208+  path = gs_file_get_path_cached (file);
     209+  if (path == NULL)
     210+    {
     211+      char *uri;
     212+      uri = g_file_get_uri (file);
     213+      g_set_error (error, G_FILE_ERROR, G_FILE_ERROR_NOENT,
     214+                   "%s has no associated path", uri);
     215+      g_free (uri);
     216+      return NULL;
     217+    }
     218+
     219+  if (!gs_file_openat_noatime (AT_FDCWD, path, &fd, cancellable, error))
     220+    return NULL;
     221+
     222+  return g_unix_input_stream_new (fd, TRUE);
     223+}
     224+
     225+/**
     226+ * gs_stream_fstat:
     227+ * @stream: A stream containing a Unix file descriptor
     228+ * @stbuf: Memory location to write stat buffer
     229+ * @cancellable:
     230+ * @error:
     231+ *
     232+ * Some streams created via libgsystem are #GUnixInputStream; these do
     233+ * not support e.g. g_file_input_stream_query_info().  This function
     234+ * allows dropping to the raw unix fstat() call for these types of
     235+ * streams, while still conveniently wrapped with the normal GLib
     236+ * handling of @cancellable and @error.
     237+ */
     238+gboolean
     239+gs_stream_fstat (GFileDescriptorBased *stream,
     240+                 struct stat          *stbuf,
     241+                 GCancellable         *cancellable,
     242+                 GError              **error)
     243+{
     244+  gboolean ret = FALSE;
     245+  int fd;
     246+
     247+  if (g_cancellable_set_error_if_cancelled (cancellable, error))
     248+    goto out;
     249+
     250+  fd = g_file_descriptor_based_get_fd (stream);
     251+
     252+  if (fstat (fd, stbuf) == -1)
     253+    {
     254+      _set_error_from_errno (error);
     255+      goto out;
     256+    }
     257+
     258+  ret = TRUE;
     259+ out:
     260+  return ret;
     261+}
     262+
     263+/**
     264+ * gs_file_map_noatime: (skip)
     265+ * @file: a #GFile
     266+ * @cancellable: a #GCancellable
     267+ * @error: a #GError
     268+ *
     269+ * Like g_mapped_file_new(), but try to avoid updating the file's
     270+ * access time.  This should be used by background scanning
     271+ * components such as search indexers, antivirus programs, etc.
     272+ *
     273+ * Returns: (transfer full): A new mapped file, or %NULL on error
     274+ */
     275+GMappedFile *
     276+gs_file_map_noatime (GFile         *file,
     277+                     GCancellable  *cancellable,
     278+                     GError       **error)
     279+{
     280+  const char *path;
     281+  int fd;
     282+  GMappedFile *ret;
     283+
     284+  if (g_cancellable_set_error_if_cancelled (cancellable, error))
     285+    return NULL;
     286+
     287+  path = gs_file_get_path_cached (file);
     288+  if (path == NULL)
     289+    return NULL;
     290+
     291+  if (!gs_file_openat_noatime (AT_FDCWD, path, &fd, cancellable, error))
     292+    return NULL;
     293
     294+  ret = g_mapped_file_new_from_fd (fd, FALSE, error);
     295+  close_nointr_noerror (fd); /* Ignore errors - we always want to close */
     296+
     297+  return ret;
     298+}
     299+
     300+#if GLIB_CHECK_VERSION(2,34,0)
     301+/**
     302+ * gs_file_map_readonly:
     303+ * @file: a #GFile
     304+ * @cancellable:
     305+ * @error:
     306+ *
     307+ * Return a #GBytes which references a readonly view of the contents of
     308+ * @file.  This function uses #GMappedFile internally.
     309+ *
     310+ * Returns: (transfer full): a newly referenced #GBytes
     311+ */
     312+GBytes *
     313+gs_file_map_readonly (GFile         *file,
     314+                      GCancellable  *cancellable,
     315+                      GError       **error)
     316+{
     317+  GMappedFile *mfile;
     318+  GBytes *ret;
     319+
     320+  if (g_cancellable_set_error_if_cancelled (cancellable, error))
     321+    return NULL;
     322+
     323+  mfile = g_mapped_file_new (gs_file_get_path_cached (file), FALSE, error);
     324+  if (!mfile)
     325+    return NULL;
     326+
     327+  ret = g_mapped_file_get_bytes (mfile);
     328+  g_mapped_file_unref (mfile);
     329+  return ret;
     330+}
     331+#endif
     332+
     333+/**
     334+ * gs_file_sync_data:
     335+ * @file: a #GFile
     336+ * @cancellable:
     337+ * @error:
     338+ *
     339+ * Wraps the UNIX fsync() function (or fdatasync(), if available), which
     340+ * ensures that the data in @file is on non-volatile storage.
     341+ */
     342+gboolean
     343+gs_file_sync_data (GFile          *file,
     344+                   GCancellable   *cancellable,
     345+                   GError        **error)
     346+{
     347+  gboolean ret = FALSE;
     348+  int res;
     349+  int fd = -1;
     350+
     351+  if (!gs_file_openat_noatime (AT_FDCWD, gs_file_get_path_cached (file), &fd,
     352+                               cancellable, error))
     353+    goto out;
     354+
     355+  do
     356+    {
     357+#ifdef __linux
     358+      res = fdatasync (fd);
     359+#else
     360+      res = fsync (fd);
     361+#endif
     362+    }
     363+  while (G_UNLIKELY (res != 0 && errno == EINTR));
     364+  if (res != 0)
     365+    {
     366+      _set_error_from_errno (error);
     367+      goto out;
     368+    }
     369+
     370+  res = close_nointr (fd);
     371+  if (res != 0)
     372+    {
     373+      _set_error_from_errno (error);
     374+      goto out;
     375+    }
     376+  fd = -1;
     377
     378+  ret = TRUE;
     379+ out:
     380+  if (fd != -1)
     381+    close_nointr_noerror (fd);
     382+  return ret;
     383+}
     384+
     385+/**
     386+ * gs_file_create:
     387+ * @file: Path to non-existent file
     388+ * @mode: Unix access permissions
     389+ * @out_stream: (out) (transfer full) (allow-none): Newly created output, or %NULL
     390+ * @cancellable: a #GCancellable
     391+ * @error: a #GError
     392+ *
     393+ * Like g_file_create(), except this function allows specifying the
     394+ * access mode.  This allows atomically creating private files.
     395+ */
     396+gboolean
     397+gs_file_create (GFile          *file,
     398+                int             mode,
     399+                GOutputStream **out_stream,
     400+                GCancellable   *cancellable,
     401+                GError        **error)
     402+{
     403+  gboolean ret = FALSE;
     404+  int fd;
     405+  GOutputStream *ret_stream = NULL;
     406+
     407+  fd = open_nointr (gs_file_get_path_cached (file), O_WRONLY | O_CREAT | O_EXCL, mode);
     408+  if (fd < 0)
     409+    {
     410+      _set_error_from_errno (error);
     411+      goto out;
     412+    }
     413+
     414+  if (fchmod (fd, mode) < 0)
     415+    {
     416+      close (fd);
     417+      _set_error_from_errno (error);
     418+      goto out;
     419+    }
     420
     421+  ret_stream = g_unix_output_stream_new (fd, TRUE);
     422
     423+  ret = TRUE;
     424+  gs_transfer_out_value (out_stream, &ret_stream);
     425+ out:
     426+  g_clear_object (&ret_stream);
     427+  return ret;
     428+}
     429+
     430+static const char *
     431+get_default_tmp_prefix (void)
     432+{
     433+  static char *tmpprefix = NULL;
     434+
     435+  if (g_once_init_enter (&tmpprefix))
     436+    {
     437+      const char *prgname = g_get_prgname ();
     438+      const char *p;
     439+      char *prefix;
     440+      char *iter;
     441+
     442+      if (prgname)
     443+        {
     444+          p = strrchr (prgname, '/');
     445+          if (p)
     446+            prgname = p + 1;
     447+        }
     448+      else
     449+        prgname = "";
     450+         
     451+      prefix = g_strdup_printf ("tmp-%s%u-", prgname, getuid ());
     452+      for (iter = prefix; *iter; iter++)
     453+        {
     454+          char c = *iter;
     455+          if (c == ' ')
     456+            *iter = '_';
     457+        }
     458+     
     459+      g_once_init_leave (&tmpprefix, prefix);
     460+    }
     461+
     462+  return tmpprefix;
     463+}
     464+
     465+/**
     466+ * gs_fileutil_gen_tmp_name:
     467+ * @prefix: (allow-none): String prepended to the result
     468+ * @suffix: (allow-none): String suffixed to the result
     469+ *
     470+ * Generate a name suitable for use as a temporary file.  This
     471+ * function does no I/O; it is not guaranteed that a file with that
     472+ * name does not exist.
     473+ */
     474+char *
     475+gs_fileutil_gen_tmp_name (const char *prefix,
     476+                          const char *suffix)
     477+{
     478+  static const char table[] = "ABCEDEFGHIJKLMNOPQRSTUVWXYZabcedefghijklmnopqrstuvwxyz0123456789";
     479+  GString *str = g_string_new ("");
     480+  guint i;
     481+
     482+  if (!prefix)
     483+    prefix = get_default_tmp_prefix ();
     484+  if (!suffix)
     485+    suffix = "tmp";
     486+
     487+  g_string_append (str, prefix);
     488+  for (i = 0; i < 8; i++)
     489+    {
     490+      int offset = g_random_int_range (0, sizeof (table) - 1);
     491+      g_string_append_c (str, (guint8)table[offset]);
     492+    }
     493+  g_string_append_c (str, '.');
     494+  g_string_append (str, suffix);
     495+
     496+  return g_string_free (str, FALSE);
     497+}
     498+
     499+/**
     500+ * gs_file_open_dir_fd:
     501+ * @path: Directory name
     502+ * @out_fd: (out): File descriptor for directory
     503+ * @cancellable: Cancellable
     504+ * @error: Error
     505+ *
     506+ * On success, sets @out_fd to a file descriptor for the directory
     507+ * that can be used with UNIX functions such as openat().
     508+ */
     509+gboolean
     510+gs_file_open_dir_fd (GFile         *path,
     511+                     int           *out_fd,
     512+                     GCancellable  *cancellable,
     513+                     GError       **error)
     514+{
     515+  /* Linux specific probably */
     516+  *out_fd = open (gs_file_get_path_cached (path), O_RDONLY | O_NONBLOCK | O_DIRECTORY | O_CLOEXEC);
     517+  if (*out_fd == -1)
     518+    {
     519+      _set_error_from_errno (error);
     520+      return FALSE;
     521+    }
     522+  return TRUE;
     523+}
     524+
     525+/**
     526+ * gs_file_open_in_tmpdir_at:
     527+ * @tmpdir_fd: Directory to place temporary file
     528+ * @mode: Default mode (will be affected by umask)
     529+ * @out_name: (out) (transfer full): Newly created file name
     530+ * @out_stream: (out) (transfer full) (allow-none): Newly created output stream
     531+ * @cancellable:
     532+ * @error:
     533+ *
     534+ * Like g_file_open_tmp(), except the file will be created in the
     535+ * provided @tmpdir, and allows specification of the Unix @mode, which
     536+ * means private files may be created.  Return values will be stored
     537+ * in @out_name, and optionally @out_stream.
     538+ */
     539+gboolean
     540+gs_file_open_in_tmpdir_at (int                tmpdir_fd,
     541+                           int                mode,
     542+                           char             **out_name,
     543+                           GOutputStream    **out_stream,
     544+                           GCancellable      *cancellable,
     545+                           GError           **error)
     546+{
     547+  gboolean ret = FALSE;
     548+  const int max_attempts = 128;
     549+  int i;
     550+  char *tmp_name = NULL;
     551+  int fd;
     552+
     553+  /* 128 attempts seems reasonable... */
     554+  for (i = 0; i < max_attempts; i++)
     555+    {
     556+      g_free (tmp_name);
     557+      tmp_name = gs_fileutil_gen_tmp_name (NULL, NULL);
     558+
     559+      do
     560+        fd = openat (tmpdir_fd, tmp_name, O_WRONLY | O_CREAT | O_EXCL, mode);
     561+      while (fd == -1 && errno == EINTR);
     562+      if (fd < 0 && errno != EEXIST)
     563+        {
     564+          _set_error_from_errno (error);
     565+          goto out;
     566+        }
     567+      else if (fd != -1)
     568+        break;
     569+    }
     570+  if (i == max_attempts)
     571+    {
     572+      g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED,
     573+                   "Exhausted attempts to open temporary file");
     574+      goto out;
     575+    }
     576+
     577+  ret = TRUE;
     578+  gs_transfer_out_value (out_name, &tmp_name);
     579+  if (out_stream)
     580+    *out_stream = g_unix_output_stream_new (fd, TRUE);
     581+  else
     582+    (void) close (fd);
     583+ out:
     584+  g_free (tmp_name);
     585+  return ret;
     586+}
     587+
     588+/**
     589+ * gs_file_open_in_tmpdir:
     590+ * @tmpdir: Directory to place temporary file
     591+ * @mode: Default mode (will be affected by umask)
     592+ * @out_file: (out) (transfer full): Newly created file path
     593+ * @out_stream: (out) (transfer full) (allow-none): Newly created output stream
     594+ * @cancellable:
     595+ * @error:
     596+ *
     597+ * Like g_file_open_tmp(), except the file will be created in the
     598+ * provided @tmpdir, and allows specification of the Unix @mode, which
     599+ * means private files may be created.  Return values will be stored
     600+ * in @out_file, and optionally @out_stream.
     601+ */
     602+gboolean
     603+gs_file_open_in_tmpdir (GFile             *tmpdir,
     604+                        int                mode,
     605+                        GFile            **out_file,
     606+                        GOutputStream    **out_stream,
     607+                        GCancellable      *cancellable,
     608+                        GError           **error)
     609+{
     610+  gboolean ret = FALSE;
     611+  DIR *d = NULL;
     612+  int dfd = -1;
     613+  char *tmp_name = NULL;
     614+  GOutputStream *ret_stream = NULL;
     615+
     616+  d = opendir (gs_file_get_path_cached (tmpdir));
     617+  if (!d)
     618+    {
     619+      _set_error_from_errno (error);
     620+      goto out;
     621+    }
     622+  dfd = dirfd (d);
     623+
     624+  if (!gs_file_open_in_tmpdir_at (dfd, mode, &tmp_name,
     625+                                  out_stream ? &ret_stream : NULL,
     626+                                  cancellable, error))
     627+    goto out;
     628+
     629+  ret = TRUE;
     630+  *out_file = g_file_get_child (tmpdir, tmp_name);
     631+  gs_transfer_out_value (out_stream, &ret_stream);
     632+ out:
     633+  if (d) (void) closedir (d);
     634+  g_clear_object (&ret_stream);
     635+  g_free (tmp_name);
     636+  return ret;
     637+}
     638+
     639+static gboolean
     640+linkcopy_internal_attempt (GFile          *src,
     641+                          GFile          *dest,
     642+                          GFile          *dest_parent,
     643+                          GFileCopyFlags  flags,
     644+                          gboolean        sync_data,
     645+                          gboolean        enable_guestfs_fuse_workaround,
     646+                          gboolean       *out_try_again,
     647+                          GCancellable   *cancellable,
     648+                          GError        **error)
     649+{
     650+  gboolean ret = FALSE;
     651+  int res;
     652+  char *tmp_name = NULL;
     653+  GFile *tmp_dest = NULL;
     654+
     655+  if (g_cancellable_set_error_if_cancelled (cancellable, error))
     656+    goto out;
     657+
     658+  tmp_name = gs_fileutil_gen_tmp_name (NULL, NULL);
     659+  tmp_dest = g_file_get_child (dest_parent, tmp_name);
     660+
     661+  res = link (gs_file_get_path_cached (src), gs_file_get_path_cached (tmp_dest));
     662+  if (res == -1)
     663+    {
     664+      if (errno == EEXIST)
     665+        {
     666+          /* Nothing, fall through */
     667+          *out_try_again = TRUE;
     668+          ret = TRUE;
     669+          goto out;
     670+        }
     671+      else if (errno == EXDEV || errno == EMLINK || errno == EPERM
     672+               || (enable_guestfs_fuse_workaround && errno == ENOENT))
     673+        {
     674+          if (!g_file_copy (src, tmp_dest, flags,
     675+                            cancellable, NULL, NULL, error))
     676+            goto out;
     677+        }
     678+      else
     679+        {
     680+          _set_error_from_errno (error);
     681+          goto out;
     682+        }
     683+    }
     684+     
     685+  if (sync_data)
     686+    {
     687+      /* Now, we need to fsync */
     688+      if (!gs_file_sync_data (tmp_dest, cancellable, error))
     689+        goto out;
     690+    }
     691+
     692+  if (!gs_file_rename (tmp_dest, dest, cancellable, error))
     693+    goto out;
     694+
     695+  ret = TRUE;
     696+  *out_try_again = FALSE;
     697+ out:
     698+  g_clear_pointer (&tmp_name, g_free);
     699+  g_clear_object (&tmp_dest);
     700+  return ret;
     701+}
     702+
     703+static gboolean
     704+linkcopy_internal (GFile          *src,
     705+                   GFile          *dest,
     706+                   GFileCopyFlags  flags,
     707+                   gboolean        sync_data,
     708+                   GCancellable   *cancellable,
     709+                   GError        **error)
     710+{
     711+  gboolean ret = FALSE;
     712+  gboolean dest_exists;
     713+  int i;
     714+  gboolean enable_guestfs_fuse_workaround;
     715+  struct stat src_stat;
     716+  struct stat dest_stat;
     717+  GFile *dest_parent = NULL;
     718+
     719+  flags |= G_FILE_COPY_NOFOLLOW_SYMLINKS;
     720+
     721+  g_return_val_if_fail ((flags & (G_FILE_COPY_BACKUP | G_FILE_COPY_TARGET_DEFAULT_PERMS)) == 0, FALSE);
     722+
     723+  dest_parent = g_file_get_parent (dest);
     724+
     725+  if (lstat (gs_file_get_path_cached (src), &src_stat) == -1)
     726+    {
     727+      int errsv = errno;
     728+      g_set_error_literal (error, G_IO_ERROR, g_io_error_from_errno (errno),
     729+                           g_strerror (errsv));
     730+      goto out;
     731+    }
     732+
     733+  if (lstat (gs_file_get_path_cached (dest), &dest_stat) == -1)
     734+    dest_exists = FALSE;
     735+  else
     736+    dest_exists = TRUE;
     737
     738+  if (((flags & G_FILE_COPY_OVERWRITE) == 0) && dest_exists)
     739+    {
     740+      g_set_error_literal (error, G_IO_ERROR, G_IO_ERROR_EXISTS,
     741+                           "File exists");
     742+      goto out;
     743+    }
     744+
     745+  /* Work around the behavior of link() where it's a no-op if src and
     746+   * dest are the same.
     747+   */
     748+  if (dest_exists &&
     749+      src_stat.st_dev == dest_stat.st_dev &&
     750+      src_stat.st_ino == dest_stat.st_ino)
     751+    {
     752+      ret = TRUE;
     753+      goto out;
     754+    }
     755+
     756+  enable_guestfs_fuse_workaround = getenv ("LIBGSYSTEM_ENABLE_GUESTFS_FUSE_WORKAROUND") != NULL;
     757+
     758+  /* 128 attempts seems reasonable... */
     759+  for (i = 0; i < 128; i++)
     760+    {
     761+      gboolean tryagain = FALSE;
     762+
     763+      if (!linkcopy_internal_attempt (src, dest, dest_parent,
     764+                                      flags, sync_data,
     765+                                      enable_guestfs_fuse_workaround,
     766+                                      &tryagain,
     767+                                      cancellable, error))
     768+        goto out;
     769+
     770+      if (!tryagain)
     771+        break;
     772+    }
     773+
     774+  ret = TRUE;
     775+ out:
     776+  g_clear_object (&dest_parent);
     777+  return ret;
     778+
     779+}
     780+
     781+/**
     782+ * gs_file_linkcopy:
     783+ * @src: Source file
     784+ * @dest: Destination file
     785+ * @flags: flags
     786+ * @cancellable:
     787+ * @error:
     788+ *
     789+ * First tries to use the UNIX link() call, but if the files are on
     790+ * separate devices, fall back to copying via g_file_copy().
     791+ *
     792+ * The given @flags have different semantics than those documented
     793+ * when hardlinking is used.  Specifically, both
     794+ * #G_FILE_COPY_TARGET_DEFAULT_PERMS and #G_FILE_COPY_BACKUP are not
     795+ * supported.  #G_FILE_COPY_NOFOLLOW_SYMLINKS treated as if it was
     796+ * always given - if you want to follow symbolic links, you will need
     797+ * to resolve them manually.
     798+ *
     799+ * Beware - do not use this function if @src may be modified, and it's
     800+ * undesirable for the changes to also be reflected in @dest.  The
     801+ * best use of this function is in the case where @src and @dest are
     802+ * read-only, or where @src is a temporary file, and you want to put
     803+ * it in the final place.
     804+ */
     805+gboolean
     806+gs_file_linkcopy (GFile          *src,
     807+                  GFile          *dest,
     808+                  GFileCopyFlags  flags,
     809+                  GCancellable   *cancellable,
     810+                  GError        **error)
     811+{
     812+  return linkcopy_internal (src, dest, flags, FALSE, cancellable, error);
     813+}
     814+
     815+/**
     816+ * gs_file_linkcopy_sync_data:
     817+ * @src: Source file
     818+ * @dest: Destination file
     819+ * @flags: flags
     820+ * @cancellable:
     821+ * @error:
     822+ *
     823+ * This function is similar to gs_file_linkcopy(), except it also uses
     824+ * gs_file_sync_data() to ensure that @dest is in stable storage
     825+ * before it is moved into place.
     826+ */
     827+gboolean
     828+gs_file_linkcopy_sync_data (GFile          *src,
     829+                            GFile          *dest,
     830+                            GFileCopyFlags  flags,
     831+                            GCancellable   *cancellable,
     832+                            GError        **error)
     833+{
     834+  return linkcopy_internal (src, dest, flags, TRUE, cancellable, error);
     835+}
     836+
     837+static char *
     838+gs_file_get_target_path (GFile *file)
     839+{
     840+  GFileInfo *info;
     841+  const char *target;
     842+  char *path;
     843+
     844+  info = g_file_query_info (file, G_FILE_ATTRIBUTE_STANDARD_TARGET_URI, G_FILE_QUERY_INFO_NONE, NULL, NULL);
     845+  if (info == NULL)
     846+    return NULL;
     847+  target = g_file_info_get_attribute_string (info, G_FILE_ATTRIBUTE_STANDARD_TARGET_URI);
     848+  path = g_filename_from_uri (target, NULL, NULL);
     849+  g_object_unref (info);
     850+
     851+  return path;
     852+}
     853+
     854+G_LOCK_DEFINE_STATIC (pathname_cache);
     855+
     856+/**
     857+ * gs_file_get_path_cached:
     858+ *
     859+ * Like g_file_get_path(), but returns a constant copy so callers
     860+ * don't need to free the result.
     861+ */
     862+const char *
     863+gs_file_get_path_cached (GFile *file)
     864+{
     865+  const char *path;
     866+  static GQuark _file_path_quark = 0;
     867+
     868+  if (G_UNLIKELY (_file_path_quark) == 0)
     869+    _file_path_quark = g_quark_from_static_string ("gsystem-file-path");
     870+
     871+  G_LOCK (pathname_cache);
     872+
     873+  path = g_object_get_qdata ((GObject*)file, _file_path_quark);
     874+  if (!path)
     875+    {
     876+      if (g_file_has_uri_scheme (file, "trash") ||
     877+          g_file_has_uri_scheme (file, "recent"))
     878+        path = gs_file_get_target_path (file);
     879+      else
     880+        path = g_file_get_path (file);
     881+      if (path == NULL)
     882+        {
     883+          G_UNLOCK (pathname_cache);
     884+          return NULL;
     885+        }
     886+      g_object_set_qdata_full ((GObject*)file, _file_path_quark, (char*)path, (GDestroyNotify)g_free);
     887+    }
     888+
     889+  G_UNLOCK (pathname_cache);
     890+
     891+  return path;
     892+}
     893+
     894+/**
     895+ * gs_file_get_basename_cached:
     896+ *
     897+ * Like g_file_get_basename(), but returns a constant copy so callers
     898+ * don't need to free the result.
     899+ */
     900+const char *
     901+gs_file_get_basename_cached (GFile *file)
     902+{
     903+  const char *name;
     904+  static GQuark _file_name_quark = 0;
     905+
     906+  if (G_UNLIKELY (_file_name_quark) == 0)
     907+    _file_name_quark = g_quark_from_static_string ("gsystem-file-name");
     908+
     909+  G_LOCK (pathname_cache);
     910+
     911+  name = g_object_get_qdata ((GObject*)file, _file_name_quark);
     912+  if (!name)
     913+    {
     914+      name = g_file_get_basename (file);
     915+      g_object_set_qdata_full ((GObject*)file, _file_name_quark, (char*)name, (GDestroyNotify)g_free);
     916+    }
     917+
     918+  G_UNLOCK (pathname_cache);
     919+
     920+  return name;
     921+}
     922+
     923+/**
     924+ * gs_file_enumerator_iterate:
     925+ * @direnum: an open #GFileEnumerator
     926+ * @out_info: (out) (transfer none) (allow-none): Output location for the next #GFileInfo
     927+ * @out_child: (out) (transfer none) (allow-none): Output location for the next #GFile, or %NULL
     928+ * @cancellable: a #GCancellable
     929+ * @error: a #GError
     930+ *
     931+ * This is a version of g_file_enumerator_next_file() that's easier to
     932+ * use correctly from C programs.  With g_file_enumerator_next_file(),
     933+ * the gboolean return value signifies "end of iteration or error", which
     934+ * requires allocation of a temporary #GError.
     935+ *
     936+ * In contrast, with this function, a %FALSE return from
     937+ * gs_file_enumerator_iterate() <emphasis>always</emphasis> means
     938+ * "error".  End of iteration is signaled by @out_info being %NULL.
     939+ *
     940+ * Another crucial difference is that the references for @out_info and
     941+ * @out_child are owned by @direnum (they are cached as hidden
     942+ * properties).  You must not unref them in your own code.  This makes
     943+ * memory management significantly easier for C code in combination
     944+ * with loops.
     945+ *
     946+ * Finally, this function optionally allows retrieving a #GFile as
     947+ * well.
     948+ *
     949+ * The code pattern for correctly using gs_file_enumerator_iterate() from C
     950+ * is:
     951+ *
     952+ * |[
     953+ * direnum = g_file_enumerate_children (file, ...);
     954+ * while (TRUE)
     955+ *   {
     956+ *     GFileInfo *info;
     957+ *     if (!gs_file_enumerator_iterate (direnum, &info, NULL, cancellable, error))
     958+ *       goto out;
     959+ *     if (!info)
     960+ *       break;
     961+ *     ... do stuff with "info"; do not unref it! ...
     962+ *   }
     963+ *
     964+ * out:
     965+ *   g_object_unref (direnum); // Note: frees the last @info
     966+ * ]|
     967+ */
     968+gboolean
     969+gs_file_enumerator_iterate (GFileEnumerator  *direnum,
     970+                            GFileInfo       **out_info,
     971+                            GFile           **out_child,
     972+                            GCancellable     *cancellable,
     973+                            GError          **error)
     974+{
     975+  gboolean ret = FALSE;
     976+  GError *temp_error = NULL;
     977+
     978+  static GQuark cached_info_quark;
     979+  static GQuark cached_child_quark;
     980+  static gsize quarks_initialized;
     981+
     982+  g_return_val_if_fail (direnum != NULL, FALSE);
     983+  g_return_val_if_fail (out_info != NULL, FALSE);
     984+
     985+  if (g_once_init_enter (&quarks_initialized))
     986+    {
     987+      cached_info_quark = g_quark_from_static_string ("gsystem-cached-info");
     988+      cached_child_quark = g_quark_from_static_string ("gsystem-cached-child");
     989+      g_once_init_leave (&quarks_initialized, 1);
     990+    }
     991+
     992
     993+  *out_info = g_file_enumerator_next_file (direnum, cancellable, &temp_error);
     994+  if (out_child)
     995+    *out_child = NULL;
     996+  if (temp_error != NULL)
     997+    {
     998+      g_propagate_error (error, temp_error);
     999+      goto out;
     1000+    }
     1001+  else if (*out_info != NULL)
     1002+    {
     1003+      g_object_set_qdata_full ((GObject*)direnum, cached_info_quark, *out_info, (GDestroyNotify)g_object_unref);
     1004+      if (out_child != NULL)
     1005+        {
     1006+          const char *name = g_file_info_get_name (*out_info);
     1007+          *out_child = g_file_get_child (g_file_enumerator_get_container (direnum), name);
     1008+          g_object_set_qdata_full ((GObject*)direnum, cached_child_quark, *out_child, (GDestroyNotify)g_object_unref);
     1009+        }
     1010+    }
     1011+
     1012+  ret = TRUE;
     1013+ out:
     1014+  return ret;
     1015+}
     1016+
     1017+/**
     1018+ * gs_file_rename:
     1019+ * @from: Current path
     1020+ * @to: New path
     1021+ * @cancellable: a #GCancellable
     1022+ * @error: a #GError
     1023+ *
     1024+ * This function wraps the raw Unix function rename().
     1025+ *
     1026+ * Returns: %TRUE on success, %FALSE on error
     1027+ */
     1028+gboolean
     1029+gs_file_rename (GFile          *from,
     1030+                GFile          *to,
     1031+                GCancellable   *cancellable,
     1032+                GError        **error)
     1033+{
     1034+  if (g_cancellable_set_error_if_cancelled (cancellable, error))
     1035+    return FALSE;
     1036+
     1037+  if (rename (gs_file_get_path_cached (from),
     1038+              gs_file_get_path_cached (to)) < 0)
     1039+    {
     1040+      _set_error_from_errno (error);
     1041+      return FALSE;
     1042+    }
     1043+  return TRUE;
     1044+}
     1045+
     1046+/**
     1047+ * gs_file_unlink:
     1048+ * @path: Path to file
     1049+ * @cancellable: a #GCancellable
     1050+ * @error: a #GError
     1051+ *
     1052+ * Like g_file_delete(), except this function does not follow Unix
     1053+ * symbolic links, and will delete a symbolic link even if it's
     1054+ * pointing to a nonexistent file.  In other words, this function
     1055+ * merely wraps the raw Unix function unlink().
     1056+ *
     1057+ * Returns: %TRUE on success, %FALSE on error
     1058+ */
     1059+gboolean
     1060+gs_file_unlink (GFile          *path,
     1061+                GCancellable   *cancellable,
     1062+                GError        **error)
     1063+{
     1064+  if (g_cancellable_set_error_if_cancelled (cancellable, error))
     1065+    return FALSE;
     1066+
     1067+  if (unlink (gs_file_get_path_cached (path)) < 0)
     1068+    {
     1069+      _set_error_from_errno (error);
     1070+      return FALSE;
     1071+    }
     1072+  return TRUE;
     1073+}
     1074+
     1075+static gboolean
     1076+chown_internal (GFile          *path,
     1077+                gboolean        dereference_links,
     1078+                guint32         owner,
     1079+                guint32         group,
     1080+                GCancellable   *cancellable,
     1081+                GError        **error)
     1082+{
     1083+  gboolean ret = FALSE;
     1084+  int res;
     1085+
     1086+  if (g_cancellable_set_error_if_cancelled (cancellable, error))
     1087+    return FALSE;
     1088+
     1089+  do
     1090+    if (dereference_links)
     1091+      res = chown (gs_file_get_path_cached (path), owner, group);
     1092+    else
     1093+      res = lchown (gs_file_get_path_cached (path), owner, group);
     1094+  while (G_UNLIKELY (res != 0 && errno == EINTR));
     1095+
     1096+  if (res < 0)
     1097+    {
     1098+      _set_error_from_errno (error);
     1099+      goto out;
     1100+    }
     1101+
     1102+  ret = TRUE;
     1103+ out:
     1104+  return ret;
     1105+}
     1106+
     1107+/**
     1108+ * gs_file_chown:
     1109+ * @path: Path to file
     1110+ * @owner: UNIX owner
     1111+ * @group: UNIX group
     1112+ * @cancellable: a #GCancellable
     1113+ * @error: a #GError
     1114+ *
     1115+ * Merely wraps UNIX chown().
     1116+ *
     1117+ * Returns: %TRUE on success, %FALSE on error
     1118+ */
     1119+gboolean
     1120+gs_file_chown (GFile          *path,
     1121+               guint32         owner,
     1122+               guint32         group,
     1123+               GCancellable   *cancellable,
     1124+               GError        **error)
     1125+{
     1126+  return chown_internal (path, TRUE, owner, group, cancellable, error);
     1127+}
     1128+
     1129+/**
     1130+ * gs_file_lchown:
     1131+ * @path: Path to file
     1132+ * @owner: UNIX owner
     1133+ * @group: UNIX group
     1134+ * @cancellable: a #GCancellable
     1135+ * @error: a #GError
     1136+ *
     1137+ * Merely wraps UNIX lchown().
     1138+ *
     1139+ * Returns: %TRUE on success, %FALSE on error
     1140+ */
     1141+gboolean
     1142+gs_file_lchown (GFile          *path,
     1143+                guint32         owner,
     1144+                guint32         group,
     1145+                GCancellable   *cancellable,
     1146+                GError        **error)
     1147+{
     1148+  return chown_internal (path, FALSE, owner, group, cancellable, error);
     1149+}
     1150+
     1151+/**
     1152+ * gs_file_chmod:
     1153+ * @path: Path to file
     1154+ * @mode: UNIX mode
     1155+ * @cancellable: a #GCancellable
     1156+ * @error: a #GError
     1157+ *
     1158+ * Merely wraps UNIX chmod().
     1159+ *
     1160+ * Returns: %TRUE on success, %FALSE on error
     1161+ */
     1162+gboolean
     1163+gs_file_chmod (GFile          *path,
     1164+               guint           mode,
     1165+               GCancellable   *cancellable,
     1166+               GError        **error)
     1167+{
     1168+  gboolean ret = FALSE;
     1169+  int res;
     1170+
     1171+  if (g_cancellable_set_error_if_cancelled (cancellable, error))
     1172+    return FALSE;
     1173+
     1174+  do
     1175+    res = chmod (gs_file_get_path_cached (path), mode);
     1176+  while (G_UNLIKELY (res != 0 && errno == EINTR));
     1177+
     1178+  if (res < 0)
     1179+    {
     1180+      _set_error_from_errno (error);
     1181+      goto out;
     1182+    }
     1183+
     1184+  ret = TRUE;
     1185+ out:
     1186+  return ret;
     1187+}
     1188+
     1189+/**
     1190+ * gs_file_ensure_directory:
     1191+ * @dir: Path to create as directory
     1192+ * @with_parents: Also create parent directories
     1193+ * @cancellable: a #GCancellable
     1194+ * @error: a #GError
     1195+ *
     1196+ * Like g_file_make_directory(), except does not throw an error if the
     1197+ * directory already exists.
     1198+ */
     1199+gboolean
     1200+gs_file_ensure_directory (GFile         *dir,
     1201+                          gboolean       with_parents,
     1202+                          GCancellable  *cancellable,
     1203+                          GError       **error)
     1204+{
     1205+  gboolean ret = FALSE;
     1206+  GError *temp_error = NULL;
     1207+  GFile *parent = NULL;
     1208+
     1209+  if (!g_file_make_directory (dir, cancellable, &temp_error))
     1210+    {
     1211+      if (with_parents &&
     1212+          g_error_matches (temp_error, G_IO_ERROR, G_IO_ERROR_NOT_FOUND))
     1213+        {
     1214+          g_clear_error (&temp_error);
     1215+
     1216+          parent = g_file_get_parent (dir);
     1217+          if (parent)
     1218+            {
     1219+              if (!gs_file_ensure_directory (parent, TRUE, cancellable, error))
     1220+                goto out;
     1221+            }
     1222+          if (!gs_file_ensure_directory (dir, FALSE, cancellable, error))
     1223+            goto out;
     1224+        }
     1225+      else if (!g_error_matches (temp_error, G_IO_ERROR, G_IO_ERROR_EXISTS))
     1226+        {
     1227+          g_propagate_error (error, temp_error);
     1228+          goto out;
     1229+        }
     1230+      else
     1231+        g_clear_error (&temp_error);
     1232+    }
     1233+
     1234+  ret = TRUE;
     1235+ out:
     1236+  g_clear_object (&parent);
     1237+  return ret;
     1238+}
     1239+
     1240+/**
     1241+ * gs_file_ensure_directory_mode:
     1242+ * @dir: Path to create as directory
     1243+ * @mode: Create directory with these permissions
     1244+ * @cancellable: a #GCancellable
     1245+ * @error: a #GError
     1246+ *
     1247+ * Wraps UNIX mkdir() function with support for @cancellable, and
     1248+ * uses @error instead of errno.
     1249+ */
     1250+gboolean
     1251+gs_file_ensure_directory_mode (GFile         *dir,
     1252+                               guint          mode,
     1253+                               GCancellable  *cancellable,
     1254+                               GError       **error)
     1255+{
     1256+  if (g_cancellable_set_error_if_cancelled (cancellable, error))
     1257+    return FALSE;
     1258+
     1259+  if (mkdir (gs_file_get_path_cached (dir), mode) == -1 && errno != EEXIST)
     1260+    {
     1261+      _set_error_from_errno (error);
     1262+      return FALSE;
     1263+    }
     1264+  return TRUE;
     1265+}
     1266+
     1267+/**
     1268+ * gs_file_load_contents_utf8:
     1269+ * @file: Path to file whose contents must be UTF-8
     1270+ * @cancellable:
     1271+ * @error:
     1272+ *
     1273+ * Like g_file_load_contents(), except validates the contents are
     1274+ * UTF-8.
     1275+ */
     1276+gchar *
     1277+gs_file_load_contents_utf8 (GFile         *file,
     1278+                            GCancellable  *cancellable,
     1279+                            GError       **error)
     1280+{
     1281+  gboolean ret = FALSE;
     1282+  gsize len;
     1283+  char *ret_contents = NULL;
     1284+
     1285+  if (!g_file_load_contents (file, cancellable, &ret_contents, &len,
     1286+                             NULL, error))
     1287+    goto out;
     1288+  if (!g_utf8_validate (ret_contents, len, NULL))
     1289+    {
     1290+      g_set_error (error,
     1291+                   G_IO_ERROR,
     1292+                   G_IO_ERROR_INVALID_DATA,
     1293+                   "Invalid UTF-8");
     1294+      goto out;
     1295+    }
     1296+
     1297+  ret = TRUE;
     1298+ out:
     1299+  if (!ret)
     1300+    {
     1301+      g_free (ret_contents);
     1302+      return NULL;
     1303+    }
     1304+  return ret_contents;
     1305+}
     1306+
     1307+static int
     1308+path_common_directory (char *one,
     1309+                       char *two)
     1310+{
     1311+  int dir_index = 0;
     1312+  int i = 0;
     1313+
     1314+  while (*one && *two)
     1315+    {
     1316+      if (*one != *two)
     1317+        break;
     1318+      if (*one == '/')
     1319+        dir_index = i + 1;
     1320+
     1321+      one++;
     1322+      two++;
     1323+      i++;
     1324+    }
     1325+
     1326+  return dir_index;
     1327+}
     1328+
     1329+/**
     1330+ * gs_file_get_relpath:
     1331+ * @one: The first #GFile
     1332+ * @two: The second #GFile
     1333+ *
     1334+ * Like gs_file_get_relative_path(), but does not mandate that
     1335+ * the two files have any parent in common. This function will
     1336+ * instead insert "../" where appropriate.
     1337+ *
     1338+ * Returns: (transfer full): The relative path between the two.
     1339+ */
     1340+gchar *
     1341+gs_file_get_relpath (GFile *one,
     1342+                     GFile *two)
     1343+{
     1344+  gchar *simple_path;
     1345+  gchar *one_path, *one_suffix;
     1346+  gchar *two_path, *two_suffix;
     1347+  GString *path;
     1348+  int i;
     1349+
     1350+  simple_path = g_file_get_relative_path (one, two);
     1351+  if (simple_path)
     1352+    return simple_path;
     1353+
     1354+  one_path = g_file_get_path (one);
     1355+  two_path = g_file_get_path (two);
     1356+
     1357+  i = path_common_directory (one_path, two_path);
     1358+  one_suffix = one_path + i;
     1359+  two_suffix = two_path + i;
     1360+
     1361+  path = g_string_new ("");
     1362+
     1363+  /* For every leftover path segment one has, append "../" so
     1364+   * that we reach the same directory. */
     1365+  while (*one_suffix)
     1366+    {
     1367+      g_string_append (path, "../");
     1368+      one_suffix = strchr (one_suffix, '/');
     1369+      if (one_suffix == NULL)
     1370+        break;
     1371+      one_suffix++;
     1372+    }
     1373+
     1374+  /* And now append the leftover stuff on two's side. */
     1375+  g_string_append (path, two_suffix);
     1376+
     1377+  g_free (one_path);
     1378+  g_free (two_path);
     1379+
     1380+  return g_string_free (path, FALSE);
     1381+}
     1382+
     1383+/**
     1384+ * gs_file_realpath:
     1385+ * @file: A #GFile
     1386+ *
     1387+ * Return a #GFile that contains the same path with symlinks
     1388+ * followed. That is, it's a #GFile whose path is the result
     1389+ * of calling realpath() on @file.
     1390+ *
     1391+ * Returns: (allow-none) (transfer full): A new #GFile or %NULL if @file is invalid
     1392+ */
     1393+GFile *
     1394+gs_file_realpath (GFile *file)
     1395+{
     1396+  gchar *path;
     1397+  gchar path_real[PATH_MAX];
     1398+
     1399+  path = g_file_get_path (file);
     1400+
     1401+  if (realpath ((const char *) path, path_real) == NULL)
     1402+    {
     1403+      g_free (path);
     1404+      return NULL;
     1405+    }
     1406+
     1407+  g_free (path);
     1408+  return g_file_new_for_path (path_real);
     1409+}
     1410+
     1411+#ifdef GSYSTEM_CONFIG_XATTRS
     1412+static char *
     1413+canonicalize_xattrs (char    *xattr_string,
     1414+                     size_t   len)
     1415+{
     1416+  char *p;
     1417+  GSList *xattrs = NULL;
     1418+  GSList *iter;
     1419+  GString *result;
     1420+
     1421+  result = g_string_new (0);
     1422+
     1423+  p = xattr_string;
     1424+  while (p < xattr_string+len)
     1425+    {
     1426+      xattrs = g_slist_prepend (xattrs, p);
     1427+      p += strlen (p) + 1;
     1428+    }
     1429+
     1430+  xattrs = g_slist_sort (xattrs, (GCompareFunc) strcmp);
     1431+  for (iter = xattrs; iter; iter = iter->next) {
     1432+    g_string_append (result, iter->data);
     1433+    g_string_append_c (result, '\0');
     1434+  }
     1435+
     1436+  g_slist_free (xattrs);
     1437+  return g_string_free (result, FALSE);
     1438+}
     1439+
     1440+static GVariant *
     1441+variant_new_ay_bytes (GBytes *bytes)
     1442+{
     1443+  gsize size;
     1444+  gconstpointer data;
     1445+  data = g_bytes_get_data (bytes, &size);
     1446+  g_bytes_ref (bytes);
     1447+  return g_variant_new_from_data (G_VARIANT_TYPE ("ay"), data, size,
     1448+                                  TRUE, (GDestroyNotify)g_bytes_unref, bytes);
     1449+}
     1450+
     1451+static gboolean
     1452+read_xattr_name_array (const char *path,
     1453+                       const char *xattrs,
     1454+                       size_t      len,
     1455+                       GVariantBuilder *builder,
     1456+                       GError  **error)
     1457+{
     1458+  gboolean ret = FALSE;
     1459+  const char *p;
     1460+
     1461+  p = xattrs;
     1462+  while (p < xattrs+len)
     1463+    {
     1464+      ssize_t bytes_read;
     1465+      char *buf;
     1466+      GBytes *bytes = NULL;
     1467+
     1468+      bytes_read = lgetxattr (path, p, NULL, 0);
     1469+      if (bytes_read < 0)
     1470+        {
     1471+          _set_error_from_errno (error);
     1472+          g_prefix_error (error, "lgetxattr (%s, %s) failed: ", path, p);
     1473+          goto out;
     1474+        }
     1475+      if (bytes_read == 0)
     1476+        continue;
     1477+
     1478+      buf = g_malloc (bytes_read);
     1479+      bytes = g_bytes_new_take (buf, bytes_read);
     1480+      if (lgetxattr (path, p, buf, bytes_read) < 0)
     1481+        {
     1482+          g_bytes_unref (bytes);
     1483+          _set_error_from_errno (error);
     1484+          g_prefix_error (error, "lgetxattr (%s, %s) failed: ", path, p);
     1485+          goto out;
     1486+        }
     1487+     
     1488+      g_variant_builder_add (builder, "(@ay@ay)",
     1489+                             g_variant_new_bytestring (p),
     1490+                             variant_new_ay_bytes (bytes));
     1491+
     1492+      p = p + strlen (p) + 1;
     1493+      g_bytes_unref (bytes);
     1494+    }
     1495
     1496+  ret = TRUE;
     1497+ out:
     1498+  return ret;
     1499+}
     1500+
     1501+#endif
     1502+
     1503+/**
     1504+ * gs_file_get_all_xattrs:
     1505+ * @f: a #GFile
     1506+ * @out_xattrs: (out): A new #GVariant containing the extended attributes
     1507+ * @cancellable: Cancellable
     1508+ * @error: Error
     1509+ *
     1510+ * Read all extended attributes of @f in a canonical sorted order, and
     1511+ * set @out_xattrs with the result.
     1512+ *
     1513+ * If the filesystem does not support extended attributes, @out_xattrs
     1514+ * will have 0 elements, and this function will return successfully.
     1515+ */
     1516+gboolean
     1517+gs_file_get_all_xattrs (GFile         *f,
     1518+                        GVariant     **out_xattrs,
     1519+                        GCancellable  *cancellable,
     1520+                        GError       **error)
     1521+{
     1522+  gboolean ret = FALSE;
     1523+  const char *path;
     1524+  ssize_t bytes_read;
     1525+  GVariant *ret_xattrs = NULL;
     1526+  char *xattr_names = NULL;
     1527+  char *xattr_names_canonical = NULL;
     1528+  GVariantBuilder builder;
     1529+  gboolean builder_initialized = FALSE;
     1530+
     1531+  path = gs_file_get_path_cached (f);
     1532+
     1533+  g_variant_builder_init (&builder, G_VARIANT_TYPE ("a(ayay)"));
     1534+  builder_initialized = TRUE;
     1535+
     1536+#ifdef GSYSTEM_CONFIG_XATTRS
     1537+  bytes_read = llistxattr (path, NULL, 0);
     1538+
     1539+  if (bytes_read < 0)
     1540+    {
     1541+      if (errno != ENOTSUP)
     1542+        {
     1543+          _set_error_from_errno (error);
     1544+          g_prefix_error (error, "llistxattr (%s) failed: ", path);
     1545+          goto out;
     1546+        }
     1547+    }
     1548+  else if (bytes_read > 0)
     1549+    {
     1550+      xattr_names = g_malloc (bytes_read);
     1551+      if (llistxattr (path, xattr_names, bytes_read) < 0)
     1552+        {
     1553+          _set_error_from_errno (error);
     1554+          g_prefix_error (error, "llistxattr (%s) failed: ", path);
     1555+          goto out;
     1556+        }
     1557+      xattr_names_canonical = canonicalize_xattrs (xattr_names, bytes_read);
     1558+     
     1559+      if (!read_xattr_name_array (path, xattr_names_canonical, bytes_read, &builder, error))
     1560+        goto out;
     1561+    }
     1562+
     1563+#endif
     1564+
     1565+  ret_xattrs = g_variant_builder_end (&builder);
     1566+  g_variant_ref_sink (ret_xattrs);
     1567
     1568+  ret = TRUE;
     1569+  gs_transfer_out_value (out_xattrs, &ret_xattrs);
     1570+ out:
     1571+  g_clear_pointer (&ret_xattrs, g_variant_unref);
     1572+  g_clear_pointer (&xattr_names, g_free);
     1573+  g_clear_pointer (&xattr_names_canonical, g_free);
     1574+  if (!builder_initialized)
     1575+    g_variant_builder_clear (&builder);
     1576+  return ret;
     1577+}
     1578+
     1579+/**
     1580+ * gs_fd_set_all_xattrs:
     1581+ * @fd: File descriptor
     1582+ * @xattrs: Extended attributes
     1583+ * @cancellable: Cancellable
     1584+ * @error: Error
     1585+ *
     1586+ * For each attribute in @xattrs, set its value on the file or
     1587+ * directory referred to by @fd.  This function does not remove any
     1588+ * attributes not in @xattrs.
     1589+ */
     1590+gboolean
     1591+gs_fd_set_all_xattrs (int            fd,
     1592+                      GVariant      *xattrs,
     1593+                      GCancellable  *cancellable,
     1594+                      GError       **error)
     1595+{
     1596+#ifdef GSYSTEM_CONFIG_XATTRS
     1597+  gboolean ret = FALSE;
     1598+  int i, n;
     1599+
     1600+  n = g_variant_n_children (xattrs);
     1601+  for (i = 0; i < n; i++)
     1602+    {
     1603+      const guint8* name;
     1604+      const guint8* value_data;
     1605+      GVariant *value = NULL;
     1606+      gsize value_len;
     1607+      int res;
     1608+
     1609+      g_variant_get_child (xattrs, i, "(^&ay@ay)",
     1610+                           &name, &value);
     1611+      value_data = g_variant_get_fixed_array (value, &value_len, 1);
     1612+     
     1613+      do
     1614+        res = fsetxattr (fd, (char*)name, (char*)value_data, value_len, 0);
     1615+      while (G_UNLIKELY (res == -1 && errno == EINTR));
     1616+      g_variant_unref (value);
     1617+      if (G_UNLIKELY (res == -1))
     1618+        {
     1619+          _set_error_from_errno (error);
     1620+          goto out;
     1621+        }
     1622+    }
     1623+
     1624+  ret = TRUE;
     1625+ out:
     1626+  return ret;
     1627+#else
     1628+  return TRUE;
     1629+#endif
     1630+}
     1631+
     1632+/**
     1633+ * gs_file_set_all_xattrs:
     1634+ * @file: File descriptor
     1635+ * @xattrs: Extended attributes
     1636+ * @cancellable: Cancellable
     1637+ * @error: Error
     1638+ *
     1639+ * For each attribute in @xattrs, set its value on the file or
     1640+ * directory referred to by @file.  This function does not remove any
     1641+ * attributes not in @xattrs.
     1642+ */
     1643+gboolean
     1644+gs_file_set_all_xattrs (GFile         *file,
     1645+                        GVariant      *xattrs,
     1646+                        GCancellable  *cancellable,
     1647+                        GError       **error)
     1648+{
     1649+#ifdef GSYSTEM_CONFIG_XATTRS
     1650+  gboolean ret = FALSE;
     1651+  const char *path;
     1652+  int i, n;
     1653+
     1654+  path = gs_file_get_path_cached (file);
     1655+
     1656+  n = g_variant_n_children (xattrs);
     1657+  for (i = 0; i < n; i++)
     1658+    {
     1659+      const guint8* name;
     1660+      GVariant *value;
     1661+      const guint8* value_data;
     1662+      gsize value_len;
     1663+      gboolean loop_err;
     1664+
     1665+      g_variant_get_child (xattrs, i, "(^&ay@ay)",
     1666+                           &name, &value);
     1667+      value_data = g_variant_get_fixed_array (value, &value_len, 1);
     1668+     
     1669+      loop_err = lsetxattr (path, (char*)name, (char*)value_data, value_len, 0) < 0;
     1670+      g_clear_pointer (&value, (GDestroyNotify) g_variant_unref);
     1671+      if (loop_err)
     1672+        {
     1673+          _set_error_from_errno (error);
     1674+          g_prefix_error (error, "lsetxattr (%s, %s) failed: ", path, name);
     1675+          goto out;
     1676+        }
     1677+    }
     1678+
     1679+  ret = TRUE;
     1680+ out:
     1681+  return ret;
     1682+#else
     1683+  return TRUE;
     1684+#endif
     1685+}
    561686diff -urN libgnome-desktop/libgsystem.orig/gsystem-osx-compat.c libgnome-desktop/libgsystem/gsystem-osx-compat.c
    571687--- libgnome-desktop/libgsystem.orig/gsystem-osx-compat.c       1969-12-31 16:00:00.000000000 -0800
    58 +++ libgnome-desktop/libgsystem/gsystem-osx-compat.c    2014-01-11 18:32:40.000000000 -0800
     1688+++ libgnome-desktop/libgsystem/gsystem-osx-compat.c    2014-01-24 17:02:13.000000000 -0800
    591689@@ -0,0 +1,578 @@
    601690+/*
     
    6382268diff -urN libgnome-desktop/libgsystem.orig/gsystem-osx-compat.h libgnome-desktop/libgsystem/gsystem-osx-compat.h
    6392269--- libgnome-desktop/libgsystem.orig/gsystem-osx-compat.h       1969-12-31 16:00:00.000000000 -0800
    640 +++ libgnome-desktop/libgsystem/gsystem-osx-compat.h    2014-01-11 18:24:46.000000000 -0800
     2270+++ libgnome-desktop/libgsystem/gsystem-osx-compat.h    2014-01-24 17:02:13.000000000 -0800
    6412271@@ -0,0 +1,52 @@
    6422272+/*
     
    6932323+DIR *fdopendir(int fd);
    6942324diff -urN libgnome-desktop/libgsystem.orig/gsystem-shutil.c libgnome-desktop/libgsystem/gsystem-shutil.c
    695 --- libgnome-desktop/libgsystem.orig/gsystem-shutil.c   2013-10-04 15:18:43.000000000 -0700
    696 +++ libgnome-desktop/libgsystem/gsystem-shutil.c        2014-01-11 18:24:46.000000000 -0800
     2325--- libgnome-desktop/libgsystem.orig/gsystem-shutil.c   2014-01-15 13:06:25.000000000 -0800
     2326+++ libgnome-desktop/libgsystem/gsystem-shutil.c        2014-01-24 17:02:13.000000000 -0800
    6972327@@ -33,6 +33,11 @@
    6982328 #include <dirent.h>
     
    7072337 union dirent_storage {
    7082338         struct dirent dent;
    709 @@ -248,7 +253,11 @@
     2339@@ -299,7 +304,11 @@
    7102340       if (dent->d_type == DT_UNKNOWN)
    7112341         {
     
    7192349               int errsv = errno;
    7202350               if (errsv == ENOENT)
    721 @@ -271,6 +280,7 @@
     2351@@ -322,6 +331,7 @@
    7222352           
    7232353       if (dent->d_type == DT_DIR)
     
    7272357 
    7282358           if (child_dfd == -1)
    729 @@ -285,7 +295,31 @@
     2359@@ -336,7 +346,31 @@
    7302360                   goto out;
    7312361                 }
     
    7332363+#else
    7342364+          int child_dfd = openat (dfd, dent->d_name, O_RDONLY | O_NONBLOCK | O_DIRECTORY | O_NOFOLLOW);
    735  
     2365+
    7362366+          if (child_dfd == -1)
    7372367+            {
     
    7462376+                }
    7472377+            }
    748 +
     2378 
    7492379+          int fc_error = fcntl(child_dfd, F_SETFD, FD_CLOEXEC);
    7502380+         
     
    7592389           if (!child_dir)
    7602390             {
    761 @@ -352,9 +386,9 @@
     2391@@ -403,9 +437,9 @@
    7622392   DIR *d = NULL;
    7632393 
     
    7702400     {
    7712401       int errsv = errno;
    772 @@ -374,7 +408,40 @@
     2402@@ -425,7 +459,40 @@
    7732403           goto out;
    7742404         }
     
    8122442       d = fdopendir (dfd);
    8132443       if (!d)
     2444diff -urN libgnome-desktop/libgsystem.orig/gsystem-shutil.c.orig libgnome-desktop/libgsystem/gsystem-shutil.c.orig
     2445--- libgnome-desktop/libgsystem.orig/gsystem-shutil.c.orig      1969-12-31 16:00:00.000000000 -0800
     2446+++ libgnome-desktop/libgsystem/gsystem-shutil.c.orig   2014-01-15 13:06:25.000000000 -0800
     2447@@ -0,0 +1,459 @@
     2448+/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*-
     2449+ *
     2450+ * Copyright (C) 2012 William Jon McCann <mccann@redhat.com>
     2451+ * Copyright (C) 2012 Colin Walters <walters@verbum.org>
     2452+ *
     2453+ * This library is free software; you can redistribute it and/or
     2454+ * modify it under the terms of the GNU Lesser General Public
     2455+ * License as published by the Free Software Foundation; either
     2456+ * version 2 of the License, or (at your option) any later version.
     2457+ *
     2458+ * This library is distributed in the hope that it will be useful,
     2459+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
     2460+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
     2461+ * Lesser General Public License for more details.
     2462+ *
     2463+ * You should have received a copy of the GNU Lesser General Public
     2464+ * License along with this library; if not, write to the
     2465+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
     2466+ * Boston, MA 02111-1307, USA.
     2467+ */
     2468+
     2469+#include "config.h"
     2470+
     2471+#ifndef _GNU_SOURCE
     2472+#define _GNU_SOURCE
     2473+#endif
     2474+
     2475+#define _GSYSTEM_NO_LOCAL_ALLOC
     2476+#include "libgsystem.h"
     2477+#include <glib-unix.h>
     2478+#include <string.h>
     2479+#include <sys/stat.h>
     2480+#include <dirent.h>
     2481+#include <fcntl.h>
     2482+
     2483+/* Taken from systemd/src/shared/util.h */
     2484+union dirent_storage {
     2485+        struct dirent dent;
     2486+        guint8 storage[offsetof(struct dirent, d_name) +
     2487+                        ((NAME_MAX + 1 + sizeof(long)) & ~(sizeof(long) - 1))];
     2488+};
     2489+
     2490+static inline void
     2491+_set_error_from_errno (GError **error)
     2492+{
     2493+  int errsv = errno;
     2494+  g_set_error_literal (error, G_IO_ERROR, g_io_error_from_errno (errsv),
     2495+                       g_strerror (errsv));
     2496+}
     2497+
     2498+static gboolean
     2499+copy_xattrs_from_file_to_fd (GFile         *src,
     2500+                             int            dest_fd,
     2501+                             GCancellable  *cancellable,
     2502+                             GError       **error)
     2503+{
     2504+  gboolean ret = FALSE;
     2505+  GVariant *src_xattrs = NULL;
     2506+
     2507+  if (!gs_file_get_all_xattrs (src, &src_xattrs, cancellable, error))
     2508+    goto out;
     2509+
     2510+  if (src_xattrs)
     2511+    {
     2512+      if (!gs_fd_set_all_xattrs (dest_fd, src_xattrs, cancellable, error))
     2513+        goto out;
     2514+    }
     2515+
     2516+  ret = TRUE;
     2517+ out:
     2518+  g_clear_pointer (&src_xattrs, g_variant_unref);
     2519+  return ret;
     2520+}
     2521+
     2522+typedef enum {
     2523+  GS_CP_MODE_NONE,
     2524+  GS_CP_MODE_HARDLINK,
     2525+  GS_CP_MODE_COPY_ALL
     2526+} GsCpMode;
     2527+
     2528+static gboolean
     2529+cp_internal (GFile         *src,
     2530+             GFile         *dest,
     2531+             GsCpMode       mode,
     2532+             GCancellable  *cancellable,
     2533+             GError       **error)
     2534+{
     2535+  gboolean ret = FALSE;
     2536+  GFileEnumerator *enumerator = NULL;
     2537+  GFileInfo *src_info = NULL;
     2538+  GFile *dest_child = NULL;
     2539+  int dest_dfd = -1;
     2540+  int r;
     2541+
     2542+  enumerator = g_file_enumerate_children (src, "standard::type,standard::name,unix::uid,unix::gid,unix::mode",
     2543+                                          G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS,
     2544+                                          cancellable, error);
     2545+  if (!enumerator)
     2546+    goto out;
     2547+
     2548+  src_info = g_file_query_info (src, "standard::name,unix::mode,unix::uid,unix::gid," \
     2549+                                "time::modified,time::modified-usec,time::access,time::access-usec",
     2550+                                G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS,
     2551+                                cancellable, error);
     2552+  if (!src_info)
     2553+    goto out;
     2554+
     2555+  do
     2556+    r = mkdir (gs_file_get_path_cached (dest), 0755);
     2557+  while (G_UNLIKELY (r == -1 && errno == EINTR));
     2558+  if (r == -1)
     2559+    {
     2560+      _set_error_from_errno (error);
     2561+      goto out;
     2562+    }
     2563+
     2564+  if (mode != GS_CP_MODE_NONE)
     2565+    {
     2566+      if (!gs_file_open_dir_fd (dest, &dest_dfd,
     2567+                                cancellable, error))
     2568+        goto out;
     2569+
     2570+      do
     2571+        r = fchown (dest_dfd,
     2572+                    g_file_info_get_attribute_uint32 (src_info, "unix::uid"),
     2573+                    g_file_info_get_attribute_uint32 (src_info, "unix::gid"));
     2574+      while (G_UNLIKELY (r == -1 && errno == EINTR));
     2575+      if (r == -1)
     2576+        {
     2577+          _set_error_from_errno (error);
     2578+          goto out;
     2579+        }
     2580+
     2581+      do
     2582+        r = fchmod (dest_dfd, g_file_info_get_attribute_uint32 (src_info, "unix::mode"));
     2583+      while (G_UNLIKELY (r == -1 && errno == EINTR));
     2584+
     2585+      if (!copy_xattrs_from_file_to_fd (src, dest_dfd, cancellable, error))
     2586+        goto out;
     2587+
     2588+      if (dest_dfd != -1)
     2589+        {
     2590+          (void) close (dest_dfd);
     2591+          dest_dfd = -1;
     2592+        }
     2593+    }
     2594+
     2595+  while (TRUE)
     2596+    {
     2597+      GFileInfo *file_info = NULL;
     2598+      GFile *src_child = NULL;
     2599+
     2600+      if (!gs_file_enumerator_iterate (enumerator, &file_info, &src_child,
     2601+                                       cancellable, error))
     2602+        goto out;
     2603+      if (!file_info)
     2604+        break;
     2605+
     2606+      if (dest_child) g_object_unref (dest_child);
     2607+      dest_child = g_file_get_child (dest, g_file_info_get_name (file_info));
     2608+
     2609+      if (g_file_info_get_file_type (file_info) == G_FILE_TYPE_DIRECTORY)
     2610+        {
     2611+          if (!cp_internal (src_child, dest_child, mode,
     2612+                            cancellable, error))
     2613+            goto out;
     2614+        }
     2615+      else
     2616+        {
     2617+          gboolean did_link = FALSE;
     2618+          (void) unlink (gs_file_get_path_cached (dest_child));
     2619+          if (mode == GS_CP_MODE_HARDLINK)
     2620+            {
     2621+              if (link (gs_file_get_path_cached (src_child), gs_file_get_path_cached (dest_child)) == -1)
     2622+                {
     2623+                  if (!(errno == EMLINK || errno == EXDEV))
     2624+                    {
     2625+                      int errsv = errno;
     2626+                      g_set_error_literal (error, G_IO_ERROR, g_io_error_from_errno (errsv),
     2627+                                           g_strerror (errsv));
     2628+                      goto out;
     2629+                    }
     2630+                  /* We failed to hardlink; fall back to copying all; this will
     2631+                   * affect subsequent directory copies too.
     2632+                   */
     2633+                  mode = GS_CP_MODE_COPY_ALL;
     2634+                }
     2635+              else
     2636+                did_link = TRUE;
     2637+            }
     2638+          if (!did_link)
     2639+            {
     2640+              GFileCopyFlags copyflags = G_FILE_COPY_OVERWRITE | G_FILE_COPY_NOFOLLOW_SYMLINKS;
     2641+              if (mode == GS_CP_MODE_COPY_ALL)
     2642+                copyflags |= G_FILE_COPY_ALL_METADATA;
     2643+              if (!g_file_copy (src_child, dest_child, copyflags,
     2644+                                cancellable, NULL, NULL, error))
     2645+                goto out;
     2646+            }
     2647+        }
     2648+    }
     2649+
     2650+  ret = TRUE;
     2651+ out:
     2652+  if (dest_dfd != -1)
     2653+    (void) close (dest_dfd);
     2654+  g_clear_object (&src_info);
     2655+  g_clear_object (&enumerator);
     2656+  g_clear_object (&dest_child);
     2657+  return ret;
     2658+}
     2659+
     2660+/**
     2661+ * gs_shutil_cp_al_or_fallback:
     2662+ * @src: Source path
     2663+ * @dest: Destination path
     2664+ * @cancellable:
     2665+ * @error:
     2666+ *
     2667+ * Recursively copy path @src (which must be a directory) to the
     2668+ * target @dest.  If possible, hardlinks are used; if a hardlink is
     2669+ * not possible, a regular copy is created.  Any existing files are
     2670+ * overwritten.
     2671+ *
     2672+ * Returns: %TRUE on success
     2673+ */
     2674+gboolean
     2675+gs_shutil_cp_al_or_fallback (GFile         *src,
     2676+                             GFile         *dest,
     2677+                             GCancellable  *cancellable,
     2678+                             GError       **error)
     2679+{
     2680+  return cp_internal (src, dest, GS_CP_MODE_HARDLINK,
     2681+                      cancellable, error);
     2682+}
     2683+
     2684+/**
     2685+ * gs_shutil_cp_a:
     2686+ * @src: Source path
     2687+ * @dest: Destination path
     2688+ * @cancellable:
     2689+ * @error:
     2690+ *
     2691+ * Recursively copy path @src (which must be a directory) to the
     2692+ * target @dest.  Any existing files are overwritten.
     2693+ *
     2694+ * Returns: %TRUE on success
     2695+ */
     2696+gboolean
     2697+gs_shutil_cp_a (GFile         *src,
     2698+                GFile         *dest,
     2699+                GCancellable  *cancellable,
     2700+                GError       **error)
     2701+{
     2702+  return cp_internal (src, dest, GS_CP_MODE_COPY_ALL,
     2703+                      cancellable, error);
     2704+}
     2705+
     2706+static unsigned char
     2707+struct_stat_to_dt (struct stat *stbuf)
     2708+{
     2709+  if (S_ISDIR (stbuf->st_mode))
     2710+    return DT_DIR;
     2711+  if (S_ISREG (stbuf->st_mode))
     2712+    return DT_REG;
     2713+  if (S_ISCHR (stbuf->st_mode))
     2714+    return DT_CHR;
     2715+  if (S_ISBLK (stbuf->st_mode))
     2716+    return DT_BLK;
     2717+  if (S_ISFIFO (stbuf->st_mode))
     2718+    return DT_FIFO;
     2719+  if (S_ISLNK (stbuf->st_mode))
     2720+    return DT_LNK;
     2721+  if (S_ISSOCK (stbuf->st_mode))
     2722+    return DT_SOCK;
     2723+  return DT_UNKNOWN;
     2724+}
     2725+
     2726+static gboolean
     2727+gs_shutil_rm_rf_children (DIR                *dir,
     2728+                          GCancellable       *cancellable,
     2729+                          GError            **error)
     2730+{
     2731+  gboolean ret = FALSE;
     2732+  int dfd;
     2733+  DIR *child_dir = NULL;
     2734+  struct dirent *dent;
     2735+  union dirent_storage buf;
     2736+
     2737+  if (g_cancellable_set_error_if_cancelled (cancellable, error))
     2738+    goto out;
     2739+
     2740+  dfd = dirfd (dir);
     2741+
     2742+  while (readdir_r (dir, &buf.dent, &dent) == 0)
     2743+    {
     2744+      if (dent == NULL)
     2745+        break;
     2746+      if (dent->d_type == DT_UNKNOWN)
     2747+        {
     2748+          struct stat stbuf;
     2749+          if (fstatat (dfd, dent->d_name, &stbuf, AT_SYMLINK_NOFOLLOW) == -1)
     2750+            {
     2751+              int errsv = errno;
     2752+              if (errsv == ENOENT)
     2753+                continue;
     2754+              else
     2755+                {
     2756+                  g_set_error_literal (error, G_IO_ERROR, g_io_error_from_errno (errsv),
     2757+                                       g_strerror (errsv));
     2758+                  goto out;
     2759+                }
     2760+            }
     2761+          dent->d_type = struct_stat_to_dt (&stbuf);
     2762+          /* Assume unknown types are just treated like regular files */
     2763+          if (dent->d_type == DT_UNKNOWN)
     2764+            dent->d_type = DT_REG;
     2765+        }
     2766+
     2767+      if (strcmp (dent->d_name, ".") == 0 || strcmp (dent->d_name, "..") == 0)
     2768+        continue;
     2769+         
     2770+      if (dent->d_type == DT_DIR)
     2771+        {
     2772+          int child_dfd = openat (dfd, dent->d_name, O_RDONLY | O_NONBLOCK | O_DIRECTORY | O_CLOEXEC | O_NOFOLLOW);
     2773+
     2774+          if (child_dfd == -1)
     2775+            {
     2776+              if (errno == ENOENT)
     2777+                continue;
     2778+              else
     2779+                {
     2780+                  int errsv = errno;
     2781+                  g_set_error_literal (error, G_IO_ERROR, g_io_error_from_errno (errsv),
     2782+                                       g_strerror (errsv));
     2783+                  goto out;
     2784+                }
     2785+            }
     2786+
     2787+          child_dir = fdopendir (child_dfd);
     2788+          if (!child_dir)
     2789+            {
     2790+              int errsv = errno;
     2791+              g_set_error_literal (error, G_IO_ERROR, g_io_error_from_errno (errsv),
     2792+                                   g_strerror (errsv));
     2793+              goto out;
     2794+            }
     2795+
     2796+          if (!gs_shutil_rm_rf_children (child_dir, cancellable, error))
     2797+            goto out;
     2798+
     2799+          if (unlinkat (dfd, dent->d_name, AT_REMOVEDIR) == -1)
     2800+            {
     2801+              int errsv = errno;
     2802+              g_set_error_literal (error, G_IO_ERROR, g_io_error_from_errno (errsv),
     2803+                                   g_strerror (errsv));
     2804+              goto out;
     2805+            }
     2806+
     2807+          (void) closedir (child_dir);
     2808+          child_dir = NULL;
     2809+        }
     2810+      else
     2811+        {
     2812+          if (unlinkat (dfd, dent->d_name, 0) == -1)
     2813+            {
     2814+              int errsv = errno;
     2815+              if (errno != ENOENT)
     2816+                {
     2817+                  g_set_error_literal (error, G_IO_ERROR, g_io_error_from_errno (errsv),
     2818+                                       g_strerror (errsv));
     2819+                  goto out;
     2820+                }
     2821+            }
     2822+        }
     2823+    }
     2824+  /* Ignore error result from readdir_r, that's what others
     2825+   * seem to do =(
     2826+   */
     2827+
     2828+  ret = TRUE;
     2829+ out:
     2830+  if (child_dir) (void) closedir (child_dir);
     2831+  return ret;
     2832+}
     2833+
     2834+/**
     2835+ * gs_shutil_rm_rf:
     2836+ * @path: A file or directory
     2837+ * @cancellable:
     2838+ * @error:
     2839+ *
     2840+ * Recursively delete the filename referenced by @path; it may be a
     2841+ * file or directory.  No error is thrown if @path does not exist.
     2842+ */
     2843+gboolean
     2844+gs_shutil_rm_rf (GFile        *path,
     2845+                 GCancellable *cancellable,
     2846+                 GError      **error)
     2847+{
     2848+  gboolean ret = FALSE;
     2849+  int dfd = -1;
     2850+  DIR *d = NULL;
     2851+
     2852+  /* With O_NOFOLLOW first */
     2853+  dfd = openat (AT_FDCWD, gs_file_get_path_cached (path),
     2854+                O_RDONLY | O_NONBLOCK | O_DIRECTORY | O_CLOEXEC | O_NOFOLLOW);
     2855+
     2856+  if (dfd == -1)
     2857+    {
     2858+      int errsv = errno;
     2859+      if (errsv == ENOENT)
     2860+        {
     2861+          ;
     2862+        }
     2863+      else if (errsv == ENOTDIR || errsv == ELOOP)
     2864+        {
     2865+          if (!gs_file_unlink (path, cancellable, error))
     2866+            goto out;
     2867+        }
     2868+      else
     2869+        {
     2870+          g_set_error_literal (error, G_IO_ERROR, g_io_error_from_errno (errsv),
     2871+                               g_strerror (errsv));
     2872+          goto out;
     2873+        }
     2874+    }
     2875+  else
     2876+    {
     2877+      d = fdopendir (dfd);
     2878+      if (!d)
     2879+        {
     2880+          int errsv = errno;
     2881+          g_set_error_literal (error, G_IO_ERROR, g_io_error_from_errno (errsv),
     2882+                               g_strerror (errsv));
     2883+          goto out;
     2884+        }
     2885+
     2886+      if (!gs_shutil_rm_rf_children (d, cancellable, error))
     2887+        goto out;
     2888+
     2889+      if (rmdir (gs_file_get_path_cached (path)) == -1)
     2890+        {
     2891+          int errsv = errno;
     2892+          if (errsv != ENOENT)
     2893+            {
     2894+              g_set_error_literal (error, G_IO_ERROR, g_io_error_from_errno (errsv),
     2895+                                   g_strerror (errsv));
     2896+              goto out;
     2897+            }
     2898+        }
     2899+    }
     2900+
     2901+  ret = TRUE;
     2902+ out:
     2903+  if (d) (void) closedir (d);
     2904+  return ret;
     2905+}
     2906+
    8142907diff -urN libgnome-desktop/libgsystem.orig/gsystem-subprocess.c libgnome-desktop/libgsystem/gsystem-subprocess.c
    815 --- libgnome-desktop/libgsystem.orig/gsystem-subprocess.c       2013-10-04 15:18:43.000000000 -0700
    816 +++ libgnome-desktop/libgsystem/gsystem-subprocess.c    2014-01-11 18:24:46.000000000 -0800
     2908--- libgnome-desktop/libgsystem.orig/gsystem-subprocess.c       2014-01-15 13:06:25.000000000 -0800
     2909+++ libgnome-desktop/libgsystem/gsystem-subprocess.c    2014-01-24 17:02:13.000000000 -0800
    8172910@@ -259,7 +259,11 @@
    8182911   gint my_fd;
  • users/devans/GNOME-3/stable/dports/gnome/gnome-devel-docs

  • users/devans/GNOME-3/stable/dports/gnome/gnome-devel-docs/Portfile

    r117598 r118155  
    55
    66name                gnome-devel-docs
    7 version             3.10.3
     7version             3.11.92
    88license             GFDL-1.1
    99set branch          [join [lrange [split ${version} .] 0 1] .]
     
    2727use_xz              yes
    2828
    29 checksums           rmd160  403eda4d6158556e5859c8eafc81423f599103ad \
    30                     sha256  746839d741538c5b4c0f0f8d3200375b28010d8d9bb1f9513ace69e7cc13b450
     29checksums           rmd160  04bae1d2d2a2c2c335725e036ee8a90e79b02e75 \
     30                    sha256  a613a52151fe45711dbc2bfd2326deb70fa9ff9532e5d3d7deaf74591e743f80
    3131
    3232depends_build       port:itstool \
     
    3535configure.args      --disable-silent-rules
    3636
    37 livecheck.type      gnome
     37livecheck.type      gnome-with-unstable
  • users/devans/GNOME-3/stable/dports/gnome/gnome-icon-theme

  • users/devans/GNOME-3/stable/dports/gnome/gnome-icon-theme-symbolic

  • users/devans/GNOME-3/stable/dports/gnome/gnome-icon-theme-symbolic/Portfile

    r114990 r118155  
    55
    66name            gnome-icon-theme-symbolic
    7 version         3.10.1
     7version         3.11.92
    88set branch      [join [lrange [split ${version} .] 0 1] .]
    99maintainers     nomaintainer
     
    2222use_xz          yes
    2323
    24 checksums       rmd160  331225cb81f3c6201d27b84b96ad7781e06d0084 \
    25                 sha256  344e88e5f9dac3184bf012d9bac972110df2133b93d76f2ad128d4c9cbf41412
     24checksums       rmd160  5b2e3f946757b8b432cbd69badb647f880106fed \
     25                sha256  10a60c85a559d3413dc14ba71f67200158a70b98c0569144f33788ba0766ba76
    2626
    2727depends_build   port:pkgconfig \
    28                 port:icon-naming-utils
     28                port:icon-naming-utils \
     29                port:gtk3
    2930
    3031configure.env-append \
     
    3435installs_libs   no
    3536
    36 livecheck.type  gnome
     37patchfiles      patch-configure.diff
     38
     39livecheck.type  gnome-with-unstable
  • users/devans/GNOME-3/stable/dports/gnome/gnome-icon-theme/Portfile

    r113095 r118155  
    55
    66name                gnome-icon-theme
    7 version             3.10.0
     7version             3.11.92
    88set branch          [join [lrange [split ${version} .] 0 1] .]
    99maintainers         nomaintainer
     
    2121use_xz              yes
    2222
    23 checksums           rmd160  2d7f1945a40d87b201e868d599e7ddd3b57eb251 \
    24                     sha256  c65472b5846c67b97fe75200c5180faccd1347a04caa8390fc0ad23de75b36f6
     23checksums           rmd160  a3c27c41413b3db1cdd6f3f39752a3759c485181 \
     24                    sha256  9214fe976429a6542bd952d507ceb54e623e2036e6798dcba87bf9d84eb41878
    2525
    2626depends_build       port:intltool \
     
    3131supported_archs     noarch
    3232
    33 # autoreconf with MacPorts patched intltool.m4
     33# update m4/intltool.m4 and autoreconf
     34
     35post-patch {
     36    copy -force ${prefix}/share/aclocal/intltool.m4 ${worksrcpath}/m4
     37}
    3438
    3539use_autoreconf      yes
     
    4145configure.args      --enable-icon-mapping
    4246
    43 livecheck.type      gnome
     47livecheck.type      gnome-with-unstable
  • users/devans/GNOME-3/stable/dports/gnome/gnome-keyring

  • users/devans/GNOME-3/stable/dports/gnome/gnome-keyring/Portfile

    r116179 r118155  
    66name            gnome-keyring
    77epoch           1
    8 version         3.10.1
    9 revision        1
     8version         3.11.92
    109set branch      [join [lrange [split ${version} .] 0 1] .]
    1110maintainers     devans openmaintainer
     
    2524use_xz          yes
    2625
    27 checksums       rmd160  beb643992eed921e82102669399ccf8e1fc423cd \
    28                 sha256  18001fa94c6d92e476b76423fe585dbf649051bba33012a037b07449c215dbf8
     26checksums       rmd160  eca9535d478587b938a8f9dbd53ca596a79566f5 \
     27                sha256  a2943e02e37e76b63239dc7ce37864e5d152201b766bb848ac8851cadbd4e24b
    2928
    3029patchfiles      patch-egg-egg-asn1x.h.diff \
    31                 patch-egg-egg-armor.c.diff \
    32                 patch-disable-pkcs11-tests.diff
     30                patch-egg-egg-armor.c.diff
     31
     32#                patch-disable-pkcs11-tests.diff
    3333
    3434depends_build   port:pkgconfig \
     
    4242                port:libgcrypt
    4343
    44 # Don't do intltool's INTLTOOL_PERL dance
     44# update build/m4/intltool.m4 and autoreconf
     45
     46pre-configure {
     47    copy -force ${prefix}/share/aclocal/intltool.m4 ${worksrcpath}/build/m4
     48}
     49
    4550use_autoreconf  yes
    4651autoreconf.args -fvi
     
    6873}
    6974
    70 livecheck.type  gnome
     75livecheck.type  gnome-with-unstable
  • users/devans/GNOME-3/stable/dports/gnome/gnome-keyring/files/patch-egg-egg-armor.c.diff

    r109503 r118155  
    1 --- egg/egg-armor.c.orig        2013-08-15 13:10:37.000000000 -0700
    2 +++ egg/egg-armor.c     2013-08-15 13:12:47.000000000 -0700
    3 @@ -60,6 +60,27 @@
    4  #define ARMOR_PREF_END      "-----END "
    5  #define ARMOR_PREF_END_L    9
    6  
    7 +#ifdef __APPLE__
    8 +/*
    9 + * Reverse memchr()
    10 + * Find the last occurrence of 'c' in the buffer 's' of size 'n'.
    11 + */
    12 +static void *
    13 +memrchr(const void *s, int c, size_t n)
    14 +{
    15 +        const unsigned char *cp;
    16 +
    17 +        if (n != 0) {
    18 +                cp = (const unsigned char *)s + n;
    19 +                do {
    20 +                        if (*(--cp) == (unsigned char)c)
    21 +                                return((void *)cp);
    22 +                } while (--n != 0);
    23 +        }
    24 +        return(NULL);
    25 +}
    26 +#endif
    27 +
    28  static void
    29  parse_header_lines (const gchar *hbeg,
    30                      const gchar *hend,
  • users/devans/GNOME-3/stable/dports/gnome/gnome-keyring/files/patch-egg-egg-asn1x.h.diff

    r109503 r118155  
    1 --- egg/egg-asn1x.h.orig        2013-08-15 14:58:31.000000000 -0700
    2 +++ egg/egg-asn1x.h     2013-08-15 14:58:51.000000000 -0700
    3 @@ -68,7 +68,7 @@
     1--- egg/egg-asn1x.h.orig        2014-03-16 00:52:15.000000000 -0700
     2+++ egg/egg-asn1x.h     2014-03-19 00:41:13.000000000 -0700
     3@@ -67,7 +67,7 @@
    44        EGG_ASN1X_GENERALIZED_TIME = 37,
    55 } EggAsn1xType;
  • users/devans/GNOME-3/stable/dports/gnome/gnome-online-accounts

  • users/devans/GNOME-3/stable/dports/gnome/gnome-online-accounts/files/patch-return-val-if-fail.diff

    r114025 r118155  
    1 --- src/goabackend/goaproviderfactory.c.orig    2013-11-27 07:11:13.000000000 -0800
    2 +++ src/goabackend/goaproviderfactory.c 2013-11-27 07:13:03.000000000 -0800
    3 @@ -114,7 +114,7 @@
     1--- src/goabackend/goaproviderfactory.c.orig    2014-01-08 07:53:27.000000000 -0800
     2+++ src/goabackend/goaproviderfactory.c 2014-01-21 15:16:14.000000000 -0800
     3@@ -86,7 +86,7 @@
    44 {
    55   GoaProviderFactoryClass *klass;
     
    99 
    1010   klass = GOA_PROVIDER_FACTORY_GET_CLASS (factory);
    11    return klass->get_providers_finish (factory, out_providers, result, error);
    12 --- src/goabackend/goatelepathyfactory.c.orig   2013-11-27 07:19:01.000000000 -0800
    13 +++ src/goabackend/goatelepathyfactory.c        2013-11-27 07:19:36.000000000 -0800
    14 @@ -50,7 +50,7 @@
    15  get_provider (GoaProviderFactory *factory,
    16                const gchar        *provider_name)
    17  {
    18 -  g_return_if_fail (GOA_IS_TELEPATHY_FACTORY (factory));
    19 +  g_return_val_if_fail (GOA_IS_TELEPATHY_FACTORY (factory), NULL);
    20  
    21    return GOA_PROVIDER (goa_telepathy_provider_new_from_protocol_name (provider_name));
    22  }
     11   g_return_if_fail (klass->get_providers != NULL);
  • users/devans/GNOME-3/stable/dports/gnome/gnome-session

  • users/devans/GNOME-3/stable/dports/gnome/gnome-session/Portfile

    r117599 r118155  
    55
    66name                gnome-session
    7 version             3.10.1
     7version             3.11.92
    88license             LGPL-2+
    99set branch          [join [lrange [split ${version} .] 0 1] .]
     
    1919use_xz              yes
    2020
    21 checksums           rmd160  5aa9deb26cdab3cd056a9cb25db651fe24e6a131 \
    22                     sha256  f620704e07e6bbf49aa6c65897475a46f80f7ac5593606f2b6889c7cb4f6a9cc
     21checksums           rmd160  841764d88fed974f0e7a468a7a2189b749af52b0 \
     22                    sha256  9b2bb33341d436a105859a5660a3feb6593ff369bd0cf974b4f92a497cc7867f
    2323
    2424depends_build       port:pkgconfig \
     
    8080}
    8181
    82 livecheck.type  gnome
     82livecheck.type  gnome-with-unstable
  • users/devans/GNOME-3/stable/dports/gnome/gnome-session/files/patch-gnome-session-main.c.diff

    r114679 r118155  
    1 --- gnome-session/main.c.orig   2013-10-04 19:29:25.000000000 -0700
    2 +++ gnome-session/main.c        2013-12-13 12:39:51.000000000 -0800
    3 @@ -33,6 +33,10 @@
     1--- gnome-session/main.c.orig   2014-03-18 13:31:47.000000000 -0700
     2+++ gnome-session/main.c        2014-03-19 23:56:21.000000000 -0700
     3@@ -31,6 +31,10 @@
    44 
    55 #include <glib-unix.h>
     
    1212 #include <dbus/dbus-glib.h>
    1313 #include <dbus/dbus-glib-bindings.h>
    14 @@ -242,6 +246,14 @@
     14@@ -240,6 +244,14 @@
    1515         if (g_getenv ("DBUS_SESSION_BUS_ADDRESS"))
    1616                 return TRUE;
     
    2727          * dbus-launch fails to set DBUS_SESSION_BUS_ADDRESS
    2828          */
    29 @@ -266,6 +278,7 @@
     29@@ -264,6 +276,7 @@
    3030                              g_strerror (errno));
    3131                 return FALSE;
  • users/devans/GNOME-3/stable/dports/gnome/gnome-settings-daemon

  • users/devans/GNOME-3/stable/dports/gnome/gnome-settings-daemon/Portfile

    r117598 r118155  
    66
    77name            gnome-settings-daemon
    8 version         3.10.2
     8version         3.11.92
    99license         GPL-2 LGPL-2.1
    1010set branch      [join [lrange [split ${version} .] 0 1] .]
     
    1919use_xz          yes
    2020
    21 checksums       rmd160  759f890c3a322615c94ce5ba8512d98f814f9a40 \
    22                 sha256  808899c6e434ecb71f42d3ac022dc51f5963bdf2478f4634078483f9e8a78264
     21checksums       rmd160  6ae4d36900be454089482053042a708ac5f873fe \
     22                sha256  b3baae18549d19c52f3b9a2c219d757ddf188eb3d1580a17bc58a0327995ebb5
    2323
    2424depends_build   port:pkgconfig \
     
    5757#
    5858
     59pre-patch {
     60    copy ${worksrcpath}/plugins/Makefile.am ${worksrcpath}/plugins/Makefile.am.orig
     61}
     62
    5963patchfiles      patch-plugins.diff
    6064
     
    8286}
    8387
    84 livecheck.type  gnome
     88livecheck.type  gnome-with-unstable
  • users/devans/GNOME-3/stable/dports/gnome/gnome-settings-daemon/files/patch-plugins.diff

    r114681 r118155  
    1919 dnl ---------------------------------------------------------------------------
    2020 dnl - datetime
    21 --- plugins/Makefile.am.orig    2013-11-11 09:25:13.000000000 -0800
    22 +++ plugins/Makefile.am 2013-12-13 09:01:21.000000000 -0800
    23 @@ -4,11 +4,9 @@
     21--- plugins/Makefile.am.orig    2013-12-17 01:29:53.000000000 -0800
     22+++ plugins/Makefile.am 2014-01-24 12:46:28.000000000 -0800
     23@@ -4,22 +4,23 @@
    2424        a11y-keyboard   \
    2525        a11y-settings   \
     
    3333        keyboard        \
    3434        media-keys      \
    35 @@ -16,11 +14,13 @@
    36         remote-display  \
     35        mouse           \
    3736        screensaver-proxy \
    3837        sound           \
     
    4241 
    4342-disabled_plugins = $(NULL)
    44 +disabled_plugins = color \
    45 +                   power \
    46 +                  xrandr \
    47 +                  $(NULL)
     43+disabled_plugins = \
     44+       color \
     45+       power \
     46+       xrandr \
     47+       $(NULL)
    4848 
    4949 if HAVE_PACKAGEKIT
     
    7171 libexec_PROGRAMS = gsd-test-screensaver-proxy
    7272 
     73--- plugins/cursor/Makefile.am.orig     2014-01-24 11:55:28.000000000 -0800
     74+++ plugins/cursor/Makefile.am  2014-01-24 11:55:52.000000000 -0800
     75@@ -26,6 +26,7 @@
     76 
     77 libcursor_la_LIBADD  =                                 \
     78        $(top_builddir)/plugins/common/libcommon.la     \
     79+       $(top_builddir)/gnome-settings-daemon/libgsd.la \
     80        $(CURSOR_LIBS)                                  \
     81        $(SETTINGS_PLUGIN_LIBS)
     82 
     83--- plugins/keyboard/Makefile.am.orig   2014-01-24 12:01:28.000000000 -0800
     84+++ plugins/keyboard/Makefile.am        2014-01-24 12:02:57.000000000 -0800
     85@@ -43,6 +43,7 @@
     86 
     87 libkeyboard_la_LIBADD  =                               \
     88        $(top_builddir)/plugins/common/libcommon.la     \
     89+       $(top_builddir)/gnome-settings-daemon/libgsd.la \
     90        $(SETTINGS_PLUGIN_LIBS)                         \
     91        $(XF86MISC_LIBS)                                \
     92        $(KEYBOARD_LIBS)                                \
     93--- plugins/mouse/Makefile.am.orig      2014-01-24 12:12:34.000000000 -0800
     94+++ plugins/mouse/Makefile.am   2014-01-24 12:13:16.000000000 -0800
     95@@ -28,6 +28,7 @@
     96 libmouse_la_LIBADD  =                                                  \
     97        $(MOUSE_LIBS)                                                   \
     98        $(top_builddir)/plugins/common/libcommon.la                     \
     99+       $(top_builddir)/gnome-settings-daemon/libgsd.la \
     100        $(SETTINGS_PLUGIN_LIBS)
     101 
     102 plugin_in_files = mouse.gnome-settings-plugin.in
  • users/devans/GNOME-3/stable/dports/gnome/gnome-system-monitor

  • users/devans/GNOME-3/stable/dports/gnome/gnome-system-monitor/Portfile

    r118043 r118155  
    55
    66name            gnome-system-monitor
    7 version         3.10.2
     7version         3.11.92
    88license         GPL-2+
    99set branch      [join [lrange [split ${version} .] 0 1] .]
     
    2121use_xz          yes
    2222
    23 checksums       rmd160  767dad0a7f8197bef017568ffe987c0c00c05462 \
    24                 sha256  bd009e15672afe4ad3ebd7ed286cce79b9f76420fd39bc77a5826b29134b9db0
     23checksums       rmd160  3948ca158b804937d71b0fad1ffaf432741dd69c \
     24                sha256  22b9525d50d9cf2ad5c6923fb0b275dec897ada0077cbb6f35a7665c8d560131
    2525
    2626depends_build   port:pkgconfig \
     
    4545                port:yelp
    4646
    47 patchfiles      patch-src_openfiles.cpp.diff \
    48                 patch-src-procproperties.cpp.diff
     47patchfiles      patch-src-procproperties.cpp.diff
    4948
    5049# update m4/intltool.m4 and autoreconf
     
    6766}
    6867
    69 livecheck.type  gnome
     68livecheck.type  gnome-with-unstable
  • users/devans/GNOME-3/stable/dports/gnome/gnome-system-monitor/files/patch-src-procproperties.cpp.diff

    r114053 r118155  
    1 --- src/procproperties.cpp.orig 2013-10-11 19:30:58.000000000 -0700
    2 +++ src/procproperties.cpp      2013-11-25 16:12:16.000000000 -0800
    3 @@ -30,6 +30,9 @@
     1--- src/procproperties.cpp.orig 2014-02-19 14:01:08.000000000 -0800
     2+++ src/procproperties.cpp      2014-03-19 15:57:08.000000000 -0700
     3@@ -29,6 +29,9 @@
    44 #elif defined(__OpenBSD__) || defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
    55 #include <sys/param.h>
     
    1111 
    1212 #include "application.h"
    13 @@ -79,6 +82,8 @@
     13@@ -78,6 +81,8 @@
    1414         HZ = 100;
    1515     else
     
    1818+    int HZ = 100;
    1919 #endif
    20      proc_arg proc_props[] = {
    21          { N_("Process Name"), g_strdup_printf("%s", info->name)},
     20 #ifdef __GNU__
     21     int HZ;
  • users/devans/GNOME-3/stable/dports/gnome/gnome-terminal

  • users/devans/GNOME-3/stable/dports/gnome/gnome-terminal/Portfile

    r117598 r118155  
    55
    66name            gnome-terminal
    7 version         3.10.2
     7version         3.11.3
    88set branch      [join [lrange [split ${version} .] 0 1] .]
    99description Terminal component for the GNOME 2 Desktop
     
    1919use_xz          yes
    2020
    21 checksums       rmd160  b25d2782052cf65f7b8b4dc591762cf69e21f630 \
    22                 sha256  e02827c29de45c09973483d821ab29ea60ab3fbba34b62a81d67b8304a9ad913
     21checksums       rmd160  59c19a4b4fb81662b631e13e5cb1315744ae4055 \
     22                sha256  135d85cf2643c5b523451ff0dd42cc88970d4f34a7ce307fbc9b52055ed78ea8
    2323
    2424depends_build   port:pkgconfig \
     
    4242                port:yelp
    4343
    44 patchfiles      patch-getcwd.diff \
    45                 patch-uuid.diff \
    46                 patch-gschema.xml.in.diff \
     44patchfiles      patch-uuid.diff \
    4745                no-dupfd_cloexec.patch
    4846
     
    5755
    5856configure.args  --with-gtk=3.0 \
     57                --with-nautilus-extension=no \
    5958                --disable-migration \
     59                --disable-search-provider \
    6060                --disable-silent-rules \
    6161                --disable-schemas-compile
    6262
    6363variant nautilus description {Build optional nautilus extension} {
    64     configure.args-append   --with-nautilus-extension
     64    configure.args-replace  --with-nautilus-extension=no --with-nautilus-extension=yes
    6565    depends_lib-append      port:nautilus
    6666}
     
    7171}
    7272
     73default_variants +nautilus
     74
    7375post-activate   {
    7476    system "${prefix}/bin/update-desktop-database ${prefix}/share/applications"
     
    7678}
    7779
    78 livecheck.type  gnome
     80livecheck.type  gnome-with-unstable
  • users/devans/GNOME-3/stable/dports/gnome/gnome-terminal/files/no-dupfd_cloexec.patch

    r114054 r118155  
    1 --- src/terminal-screen.c.orig  2013-10-14 12:26:50.000000000 -0700
    2 +++ src/terminal-screen.c       2013-11-25 18:08:22.000000000 -0800
    3 @@ -1338,7 +1338,12 @@
     1--- src/terminal-screen.c.orig  2014-02-17 13:39:53.000000000 -0800
     2+++ src/terminal-screen.c       2014-03-14 09:35:53.000000000 -0700
     3@@ -27,7 +27,7 @@
     4 #include <unistd.h>
     5 #include <sys/wait.h>
     6 #include <fcntl.h>
     7-#include <uuid.h>
     8+#include <uuid/uuid.h>
     9 
     10 #include <glib.h>
     11 #include <glib/gi18n.h>
     12@@ -1243,7 +1243,12 @@
    413       for (j = 0; j < n_fds; j++) {
    514         if (fds[j] == target_fd) {
    615           do {
    716+#ifdef F_DUPFD_CLOEXEC
    8              fd = fcntl (fds[j], F_DUPFD_CLOEXEC, 10);
     17             fd = fcntl (fds[j], F_DUPFD_CLOEXEC, 3);
    918+#else
    10 +            fd = fcntl (fds[j], F_DUPFD, 10);
     19+            fd = fcntl (fds[j], F_DUPFD_CLOEXEC, 3);
    1120+            fcntl(fd, F_SETFD, FD_CLOEXEC);
    1221+#endif
  • users/devans/GNOME-3/stable/dports/gnome/gnome-terminal/files/patch-uuid.diff

    r117598 r118155  
    1111 
    1212 #include <glib.h>
    13 diff -ur src.orig/terminal-profiles-list.c src/terminal-profiles-list.c
    14 --- src.orig/terminal-profiles-list.c   2013-06-21 09:10:02.000000000 -0700
    15 +++ src/terminal-profiles-list.c        2013-09-14 22:42:51.000000000 -0700
    16 @@ -25,7 +25,7 @@
    17  #include "terminal-schemas.h"
     13--- src/terminal-profiles-list.c.orig   2013-11-20 14:44:26.000000000 -0800
     14+++ src/terminal-profiles-list.c        2014-01-24 15:34:04.000000000 -0800
     15@@ -26,7 +26,7 @@
     16 #include "terminal-libgsystem.h"
    1817 
    1918 #include <string.h>
     
    3534 
    3635 #include "terminal-type-builtins.h"
    37 --- configure.ac.orig   2014-02-24 14:08:39.000000000 -0800
    38 +++ configure.ac        2014-02-24 14:08:49.000000000 -0800
    39 @@ -82,7 +82,6 @@
     36--- src/terminal-window.c.orig  2014-03-14 09:31:11.000000000 -0700
     37+++ src/terminal-window.c       2014-03-14 09:32:14.000000000 -0700
     38@@ -29,7 +29,7 @@
     39 #ifdef GDK_WINDOWING_X11
     40 #include <gdk/gdkx.h>
     41 #endif
     42-#include <uuid.h>
     43+#include <uuid/uuid.h>
     44 
     45 #include "terminal-app.h"
     46 #include "terminal-debug.h"
     47--- configure.ac.orig   2014-02-19 11:59:55.000000000 -0800
     48+++ configure.ac        2014-03-14 09:33:28.000000000 -0700
     49@@ -78,7 +78,6 @@
    4050    gtk+-$GTK_API_VERSION >= $GTK_REQUIRED
    4151    gsettings-desktop-schemas >= $GSETTINGS_DESKTOP_SCHEMAS_REQUIRED
     
    4454    $PLATFORM_DEPS])
    4555 
    46  # DConf broke API without changing the pkgconfig name
     56 # ****
  • users/devans/GNOME-3/stable/dports/gnome/gnome-user-docs

  • users/devans/GNOME-3/stable/dports/gnome/gnome-user-docs/Portfile

    r117598 r118155  
    55
    66name            gnome-user-docs
    7 version         3.10.3
     7version         3.11.92
    88set branch      [join [lrange [split ${version} .] 0 1] .]
    99description     End-user documentation for GNOME3
     
    2424use_xz          yes
    2525
    26 checksums       sha256  960b6373ea52e41e3deb3501930e024005b29d2cc958bfadc87450a291d2a905 \
    27                 rmd160  b703b4cc3a64666d103cf0133064f1ae676064d6
     26checksums           sha256  3f9e50294425e567e7a14011292ae403ad71d3c1aa6a54517d37d14617148977 \
     27                    rmd160  5548eebdf789916efb2368d1e58f2b1f8313a0bb
    2828
    2929depends_build   port:pkgconfig \
     
    3131                port:itstool
    3232
    33 livecheck.type  gnome
     33livecheck.type  gnome-with-unstable
  • users/devans/GNOME-3/stable/dports/gnome/gnome3-apps

  • users/devans/GNOME-3/stable/dports/gnome/gnome3-apps/Portfile

    r116768 r118155  
    55
    66name            gnome3-apps
    7 version         3.10.2
     7version         3.11.92
    88categories      gnome
    99license         Permissive
     
    5353# gnome-photos
    5454# gnome-robots (previously part of gnome-games)
     55# gnome-software
     56# gnome-sound-recorder
    5557# gnome-sudoku (previously part of gnome-games)
    5658# gnome-tetravex (previously part of gnome-games)
     
    6163# nemiver
    6264# orca
     65# polari
    6366# quadrapassel (previously part of gnome-games)
    6467# swell-foop
     
    7881                port:devhelp \
    7982                port:file-roller \
     83                port:gitg \
    8084                port:glade \
    8185                port:gnome-devel-docs \
  • users/devans/GNOME-3/stable/dports/gnome/gnome3-apps/files/versions.txt

    r113109 r118155  
    1 ## APPS
    2 apps:accerciser:3.8.2:
    3 apps:aisleriot:3.8.0:
    4 apps:anjuta:3.8.2:
    5 apps:brasero:3.8.0:
    6 apps:cheese:3.8.2:
    7 apps:devhelp:3.8.2:
    8 apps:evolution:3.8.2:
    9 apps:file-roller:3.8.2:
    10 apps:five-or-more:3.8.1:
    11 apps:four-in-a-row:3.8.1:
    12 apps:gedit:3.8.2:
    13 apps:glade:3.14.2:
    14 apps:gnome-boxes:3.8.2:
    15 apps:gnome-chess:3.8.2:
    16 apps:gnome-clocks:3.8.2:
    17 apps:gnome-color-manager:3.8.2:
    18 apps:gnome-devel-docs:3.8.1:
    19 apps:gnome-documents:3.8.2.1:
    20 apps:gnome-getting-started-docs:3.8.2:
    21 apps:gnome-initial-setup:0.10:
    22 apps:gnome-klotski:3.8.2:
    23 apps:gnome-mahjongg:3.8.0:
    24 apps:gnome-mines:3.8.1:
    25 apps:gnome-nettool:3.8.0:
    26 apps:gnome-nibbles:3.8.0:
    27 apps:gnome-robots:3.8.1:
    28 apps:gnome-sudoku:3.8.1:
    29 apps:gnome-tetravex:3.8.1:
    30 apps:iagno:3.8.1:
    31 apps:lightsoff:3.8.0:
    32 apps:nautilus-sendto:3.8.0:
    33 apps:nemiver:0.9.4:
    34 apps:orca:3.8.1:
    35 apps:quadrapassel:3.8.1:
    36 apps:rygel:0.18.2:
    37 apps:seahorse:3.8.2:
    38 apps:swell-foop:3.8.1:
    39 apps:tali:3.8.0:
    40 apps:vinagre:3.8.2:
    41 
     1apps:accerciser:3.11.92.1:
     2apps:aisleriot:3.10.2:
     3apps:anjuta:3.11.92:
     4apps:bijiben:3.11.92:
     5apps:brasero:3.11.3:
     6apps:cheese:3.11.92:
     7apps:devhelp:3.11.92:
     8apps:evolution:3.11.92:
     9apps:file-roller:3.11.92:
     10apps:five-or-more:3.11.92:
     11apps:four-in-a-row:3.11.92:
     12apps:gedit:3.11.92:
     13apps:gitg:0.3.2:
     14apps:glade:3.16.1:
     15apps:gnome-boxes:3.11.92:
     16apps:gnome-chess:3.11.92:
     17apps:gnome-clocks:3.11.92:
     18apps:gnome-color-manager:3.11.90:
     19apps:gnome-devel-docs:3.11.92:
     20apps:gnome-documents:3.11.92:
     21apps:gnome-getting-started-docs:3.11.90:
     22apps:gnome-initial-setup:3.11.92:
     23apps:gnome-klotski:3.11.92:
     24apps:gnome-logs:3.11.92:
     25apps:gnome-mahjongg:3.11.92:
     26apps:gnome-maps:3.11.92:
     27apps:gnome-mines:3.11.92:
     28apps:gnome-music:3.11.92:
     29apps:gnome-nettool:3.8.1:
     30apps:gnome-nibbles:3.11.92:
     31apps:gnome-photos:3.11.92:
     32apps:gnome-robots:3.11.92:
     33apps:gnome-software:3.11.92:
     34apps:gnome-sound-recorder:3.11.92:
     35apps:gnome-sudoku:3.11.92:
     36apps:gnome-tetravex:3.11.92:
     37apps:gnome-tweak-tool:3.10.1:
     38apps:gnome-weather:3.11.92:
     39apps:iagno:3.11.92:
     40apps:lightsoff:3.11.92:
     41apps:nautilus-sendto:3.8.1:
     42apps:nemiver:0.9.5:
     43apps:orca:3.11.92:
     44apps:polari:3.11.2:
     45apps:quadrapassel:3.11.92:
     46apps:rygel:0.21.6:
     47apps:seahorse:3.11.92:
     48apps:swell-foop:3.11.92:
     49apps:tali:3.11.92:
     50apps:vinagre:3.11.92:
  • users/devans/GNOME-3/stable/dports/gnome/gnome3-core

  • users/devans/GNOME-3/stable/dports/gnome/gnome3-core/Portfile

    r117124 r118155  
    55
    66name            gnome3-core
    7 version         3.10.2
    8 revision        5
     7version         3.11.92
    98categories      gnome
    109license         Permissive
     
    3029# module set but have not yet been ported to MacPorts
    3130#
    32 # ModemManager
    3331# NetworkManager
    3432# cantarell-fonts
     
    4644# gnome-video-effects
    4745# libgxps
    48 # libqmi
    4946# libzapojit
    5047# mousetweaks
     
    117114                port:gtk2 \
    118115                port:gtk-doc \
     116                port:gtk-engines2 \
    119117                port:gtkmm3 \
    120118                port:gtksourceview3 \
     
    128126                port:libgdata \
    129127                port:libgee \
    130                 port:libgnome-keyring \
    131128                port:libgnomekbd \
     129                port:libgsf \
    132130                port:libgtop \
    133131                port:libgweather \
     132                port:libmediaart \
    134133                port:libnotify \
    135134                port:libpeas \
  • users/devans/GNOME-3/stable/dports/gnome/gnome3-core/files/versions.txt

    r115677 r118155  
    1 ## CORE
    2 core:ModemManager:0.7.991:
    31core:NetworkManager:0.9.8.8:
    4 core:at-spi2-atk:2.10.2:
    5 core:at-spi2-core:2.10.2:
    6 core:atk:2.10.0:
     2core:at-spi2-atk:2.11.92:
     3core:at-spi2-core:2.11.92:
     4core:atk:2.11.92:
    75core:atkmm:2.22.7:
    8 core:baobab:3.10.1:
     6core:baobab:3.11.90:
    97core:cantarell-fonts:0.0.15:
    10 core:caribou:0.4.12:
    11 core:clutter:1.16.0:
    12 core:clutter-gst:2.0.8:
    13 core:clutter-gtk:1.4.4:
    14 core:cogl:1.16.0:
    15 core:dconf:0.18.0:
    16 core:empathy:3.10.2:
    17 core:eog:3.10.2:
    18 core:epiphany:3.10.2:
    19 core:evince:3.10.3:
    20 core:evolution-data-server:3.10.2:
     8core:caribou:0.4.13:
     9core:clutter:1.18.0:
     10core:clutter-gst:2.0.10:
     11core:clutter-gtk:1.5.2:
     12core:cogl:1.17.4:
     13core:dconf:0.19.92:
     14core:empathy:3.11.92:
     15core:eog:3.11.92:
     16core:epiphany:3.11.92:
     17core:evince:3.11.92:
     18core:evolution-data-server:3.11.92:
    2119core:folks:0.9.6:
    22 core:gcr:3.10.1:
    23 core:gdk-pixbuf:2.30.1:
    24 core:gdm:3.10.0.1:
    25 core:geocode-glib:3.10.0:
    26 core:gjs:1.38.1:
    27 core:glib:2.38.2:
    28 core:glib-networking:2.38.2:
    29 core:glibmm:2.38.1:
    30 core:gmime:2.6.19:
    31 core:gnome-backgrounds:3.10.1:
    32 core:gnome-bluetooth:3.10.0:
    33 core:gnome-calculator:3.10.2:
    34 core:gnome-contacts:3.10.1:
    35 core:gnome-control-center:3.10.2:
    36 core:gnome-desktop:3.10.1:
     20core:gcr:3.11.91:
     21core:gdk-pixbuf:2.30.6:
     22core:gdm:3.11.92.1:
     23core:geocode-glib:3.11.92.2:
     24core:gjs:1.39.91:
     25core:glib:2.39.92:
     26core:glib-networking:2.39.90:
     27core:glibmm:2.39.92:
     28core:gmime:2.6.20:
     29core:gnome-backgrounds:3.11.5:
     30core:gnome-bluetooth:3.11.91:
     31core:gnome-calculator:3.11.92:
     32core:gnome-contacts:3.11.92:
     33core:gnome-control-center:3.11.92:
     34core:gnome-desktop:3.11.91:
    3735core:gnome-dictionary:3.10.0:
    38 core:gnome-disk-utility:3.10.0:
     36core:gnome-disk-utility:3.11.0:
    3937core:gnome-font-viewer:3.10.0:
    40 core:gnome-icon-theme:3.10.0:
    41 core:gnome-icon-theme-extras:3.6.2:
    42 core:gnome-icon-theme-symbolic:3.10.1:
     38core:gnome-icon-theme:3.11.92:
     39core:gnome-icon-theme-extras:3.11.2:
     40core:gnome-icon-theme-symbolic:3.11.92:
    4341core:gnome-js-common:0.1.2:
    44 core:gnome-keyring:3.10.1:
     42core:gnome-keyring:3.11.92:
    4543core:gnome-menus:3.10.1:
    46 core:gnome-online-accounts:3.10.2:
    47 core:gnome-online-miners:3.10.0:
    48 core:gnome-packagekit:3.10.1:
    49 core:gnome-screenshot:3.10.0:
    50 core:gnome-session:3.10.1:
    51 core:gnome-settings-daemon:3.10.2:
    52 core:gnome-shell:3.10.2.1:
    53 core:gnome-shell-extensions:3.10.1:
     44core:gnome-online-accounts:3.11.92:
     45core:gnome-online-miners:3.11.90:
     46core:gnome-packagekit:3.11.90:
     47core:gnome-screenshot:3.11.90:
     48core:gnome-session:3.11.92:
     49core:gnome-settings-daemon:3.11.92:
     50core:gnome-shell:3.11.92:
     51core:gnome-shell-extensions:3.11.92:
    5452core:gnome-system-log:3.9.90:
    55 core:gnome-system-monitor:3.10.2:
    56 core:gnome-terminal:3.10.2:
    57 core:gnome-themes-standard:3.10.0:
    58 core:gnome-user-docs:3.10.2:
    59 core:gnome-user-share:3.10.1:
    60 core:gnome-video-effects:0.4.0:
    61 core:gobject-introspection:1.38.0:
    62 core:grilo:0.2.7:
    63 core:grilo-plugins:0.2.9:
    64 core:gsettings-desktop-schemas:3.10.1:
    65 core:gssdp:0.14.6:
    66 core:gst-plugins-base:1.2.0:
    67 core:gst-plugins-good:1.2.0:
    68 core:gstreamer:1.2.0:
    69 core:gtk+:3.10.4:
    70 core:gtk+:2.24.22:
    71 core:gtk-doc:1.19:
    72 core:gtkmm:3.10.1:
    73 core:gtksourceview:3.10.1:
     53core:gnome-system-monitor:3.11.92:
     54core:gnome-terminal:3.11.3:
     55core:gnome-themes-standard:3.11.92:
     56core:gnome-user-docs:3.11.92:
     57core:gnome-user-share:3.10.2:
     58core:gnome-video-effects:0.4.1:
     59core:gobject-introspection:1.39.90:
     60core:grilo:0.2.10:
     61core:grilo-plugins:0.2.12:
     62core:gsettings-desktop-schemas:3.11.91:
     63core:gssdp:0.14.7:
     64core:gst-plugins-base:1.2.3:
     65core:gst-plugins-good:1.2.3:
     66core:gstreamer:1.2.3:
     67core:gtk+:3.11.9:
     68core:gtk+:2.24.23:
     69core:gtk-doc:1.20:
     70core:gtk-engines:2.20.2:
     71core:gtkmm:3.11.9:
     72core:gtksourceview:3.11.91:
    7473core:gucharmap:3.10.1:
    75 core:gupnp:0.20.8:
    76 core:gupnp-igd:0.2.2:
    77 core:gvfs:1.18.3:
    78 core:json-glib:0.16.2:
    79 core:libchamplain:0.12.5:
     74core:gupnp:0.20.10:
     75core:gupnp-igd:0.2.3:
     76core:gvfs:1.19.90:
     77core:json-glib:0.99.2:
     78core:libchamplain:0.12.7:
    8079core:libcroco:0.6.8:
    81 core:libgdata:0.14.0:
    82 core:libgee:0.12.0:
    83 core:libgnome-keyring:3.10.1:
     80core:libgdata:0.15.0:
     81core:libgee:0.13.91:
    8482core:libgnomekbd:3.6.0:
    85 core:libgsf:1.14.28:
     83core:libgsf:1.14.30:
    8684core:libgtop:2.28.5:
    87 core:libgweather:3.10.1:
     85core:libgweather:3.11.92:
    8886core:libgxps:0.2.2:
     87core:libmediaart:0.3.0:
    8988core:libnotify:0.7.6:
    9089core:libpeas:1.9.0:
    91 core:libqmi:1.0:
    92 core:rest:0.7.90:
    93 core:librsvg:2.40.0:
    94 core:libsecret:0.16:
     90core:rest:0.7.91:
     91core:librsvg:2.40.2:
     92core:libsecret:0.18:
    9593core:libsigc++:2.3.1:
    96 core:libsoup:2.44.2:
     94core:libsoup:2.45.92:
    9795core:libwnck:3.4.7:
    9896core:libzapojit:0.0.3:
    9997core:mm-common:0.9.6:
    10098core:mousetweaks:3.10.0:
    101 core:mutter:3.10.2:
    102 core:nautilus:3.10.1:
     99core:mutter:3.11.92:
     100core:nautilus:3.11.92:
    103101core:network-manager-applet:0.9.8.8:
    104 core:pango:1.36.1:
     102core:pango:1.36.3:
    105103core:pangomm:2.34.0:
    106 core:pygobject:3.10.2:
     104core:pygobject:3.11.92:
    107105core:seed:3.8.1:
    108 core:sushi:3.10.0:
    109 core:totem:3.10.1:
    110 core:totem-pl-parser:3.10.0:
    111 core:tracker:0.16.3:
    112 core:vala:0.22.1:
    113 core:vino:3.10.1:
    114 core:vte:0.34.9:
    115 core:yelp:3.10.1:
    116 core:yelp-tools:3.10.0:
    117 core:yelp-xsl:3.10.1:
     106core:sushi:3.11.90:
     107core:totem:3.11.91:
     108core:totem-pl-parser:3.10.1:
     109core:tracker:0.17.7:
     110core:vala:0.23.3:
     111core:vino:3.11.92:
     112core:vte:0.35.90:
     113core:yelp:3.11.91:
     114core:yelp-tools:3.11.5:
     115core:yelp-xsl:3.11.90:
    118116core:zenity:3.8.0:
  • users/devans/GNOME-3/stable/dports/gnome/libgdata

  • users/devans/GNOME-3/stable/dports/gnome/libgdata/Portfile

    r117701 r118155  
    55
    66name            libgdata
    7 version         0.14.1
     7version         0.15.0
    88set branch      [join [lrange [split ${version} .] 0 1] .]
    99description     libgdata is a GLib-based library for accessing online service APIs using the \
     
    2323use_xz          yes
    2424
    25 checksums       rmd160  4e2b2cec260763ba05abcc0e66299cb7764c6bc5 \
    26                 sha256  68bbb2cb70028d79edfaec17184389275044fd58bf881e36df2663e7e191ff1a
     25checksums       rmd160  9455bc88ded1ecf227bef8863ab7c7eaa52750c7 \
     26                sha256  4845359248d8623d51e766fdc3eceaffaafa7a8a1fe8bec426b7604b711ae198
    2727
    2828depends_build   port:pkgconfig \
     
    3737                port:liboauth \
    3838                port:gnome-online-accounts \
    39                 port:gcr
     39                port:gcr \
     40                port:uhttpmock
    4041
    4142# update m4/intltool.m4 and autoreconf
     
    5253                --enable-goa
    5354
    54 livecheck.type  gnome
     55livecheck.type  gnome-with-unstable
  • users/devans/GNOME-3/stable/dports/gnome/libgnome-keyring

  • users/devans/GNOME-3/stable/dports/gnome/libgnome-keyring/Portfile

    r117916 r118155  
    55
    66name            libgnome-keyring
    7 version         3.10.1
     7version         3.11.92
    88set branch      [join [lrange [split ${version} .] 0 1] .]
    99maintainers     devans openmaintainer
     
    2323use_xz          yes
    2424
    25 checksums       rmd160  e95d1179772a62dfa5338d20b43daf4676726182 \
    26                 sha256  052cf1121ba823359afe534c425f7e216c6a2b1a2b316dee279dcf9032423772
     25checksums       rmd160  0033f8259c40027a61ab3f2cfcfcc263639b0379 \
     26                sha256  7d2179360d84de771b59d0522739977f5bcc85b8acbe0238142669ab4b32bfd8
    2727
    2828depends_build   port:pkgconfig \
     
    5454}
    5555
    56 livecheck.type  gnome
     56livecheck.type  gnome-with-unstable
  • users/devans/GNOME-3/stable/dports/gnome/nautilus

  • users/devans/GNOME-3/stable/dports/gnome/nautilus/Portfile

    r117598 r118155  
    55
    66name            nautilus
    7 version         3.10.1
     7version         3.11.92
    88set branch      [join [lrange [split ${version} .] 0 1] .]
    99description     The GNOME filemanager
     
    2121use_xz          yes
    2222
    23 checksums       rmd160  f569eca48bf18acbdd7afa4bf4f8d3d6b0f1d627 \
    24                 sha256  f6a532a170907d116e8ce55847c5c6cd4e03819f5f818087554f2ec2556fc727
     23checksums       rmd160  58d260474d444fdc0dfcdd377f43443727601d18 \
     24                sha256  46cb9451a6e3b93d2de3842a45741eb8ed94c368c22087fcf3fb5da10b94642d
    2525
    2626depends_build   port:pkgconfig \
     
    6565}
    6666
    67 livecheck.type  gnome
     67livecheck.type  gnome-with-unstable
  • users/devans/GNOME-3/stable/dports/gnome/seahorse

  • users/devans/GNOME-3/stable/dports/gnome/seahorse/Portfile

    r117598 r118155  
    55
    66name            seahorse
    7 version         3.10.2
     7version         3.11.92
    88license         GPL-2+ GFDL-1.1+
    99set branch      [join [lrange [split ${version} .] 0 1] .]
     
    2222use_xz          yes
    2323
    24 checksums       rmd160  0102c9ff96ffdec8375d597ee2fc9ef3e0f48f5f \
    25                 sha256  89cabf19f77a55f220bc61a3b97e4db845a0980f0f1d9c66147cc9a4ced8cd16
     24checksums       rmd160  9bdc53b5f3107d4a96897f189947b17b504804bc \
     25                sha256  16beb9aae1cd0e64ee2164c039c1e58993f85629b4e3ded796cd0410a6dd7fc4
    2626
    2727depends_build   port:pkgconfig \
     
    4444                port:yelp
    4545
    46 patchfiles      patch-gkr-gkr-backend.vala.diff \
    47                 patch-ssh-seahorse-ssh-key-properties.c.diff
     46# update build/m4/intltool.m4 and autoreconf
     47
     48pre-configure {
     49    copy -force ${prefix}/share/aclocal/intltool.m4 ${worksrcpath}/build/m4
     50}
     51
     52use_autoreconf  yes
     53autoreconf.args -fvi
     54
     55configure.cflags-append \
     56                -Wno-return-type
    4857
    4958configure.args  --disable-sharing \
    5059                --disable-schemas-compile \
    5160                --disable-silent-rules
    52 
    53 # update m4/intltool.m4 and autoreconf
    54 
    55 pre-configure {
    56     copy -force ${prefix}/share/aclocal/intltool.m4 ${worksrcpath}/m4
    57 }
    58 
    59 use_autoreconf  yes
    60 autoreconf.args -fvi
    6161
    6262post-activate {
     
    6666}
    6767
    68 livecheck.type  gnome
     68livecheck.type  gnome-with-unstable
  • users/devans/GNOME-3/stable/dports/gnome/totem

  • users/devans/GNOME-3/stable/dports/gnome/totem/Portfile

    r117124 r118155  
    55
    66name            totem
    7 version         3.10.1
    8 revision        3
     7version         3.11.91
    98set branch      [join [lrange [split ${version} .] 0 1] .]
    109categories      gnome
     
    2827use_xz          yes
    2928
    30 checksums       rmd160  80dce2fb0f61b442800aaa800a49991cd87c93d9 \
    31                 sha256  b6b6038c9104965671a6d25e98496a487c3a9c590c9c104f668bd9f4fa7be9e2
    32 
    33 patchfiles      patch-configure.diff
     29checksums       rmd160  3c24c9f1ce123b20cfe2efc554fbb85760280bd1 \
     30                sha256  913ac2d77e0fe6899a795247c6445bdc504dc5263f0c36b7e4fe27c6f3bd62f2
    3431
    3532depends_build   port:pkgconfig \
     
    3734                port:itstool \
    3835                port:gnome-common \
    39                 port:yelp-tools
     36                port:yelp-tools \
     37                port:appdata-tools
    4038
    4139depends_lib     port:desktop-file-utils \
     
    7371use_autoreconf  yes
    7472autoreconf.args -fvi
     73
     74configure.cflags-append \
     75                -Wno-error=format-nonliteral
    7576
    7677configure.args  --with-plugins=apple-trailers,autoload-subtitles,chapters,dbusservice,im-status,grilo,gromit,media-player-keys,ontop,opensubtitles,properties,recent,skipto \
     
    110111}
    111112
    112 livecheck.type  gnome
     113livecheck.type  gnome-with-unstable
  • users/devans/GNOME-3/stable/dports/gnome/vino

  • users/devans/GNOME-3/stable/dports/gnome/vino/Portfile

    r117598 r118155  
    55
    66name            vino
    7 version         3.10.1
     7version         3.11.92
    88license         GPL-2
    99set branch      [join [lrange [split ${version} .] 0 1] .]
     
    1818use_xz          yes
    1919
    20 checksums       rmd160  24be3b95b02c45d00f1b5dc6a735134f65015c8b \
    21                 sha256  faf10d667c43d00cd37dc6343b44012456de9d2e39d8ce679c719e65d2dfbe46
     20checksums       rmd160  82e95c64924a7e0593929e9aa7a7de1e5180d16c \
     21                sha256  ef2c6e0895f4713878491af6f3e59adf49681b941389a526d7cb160ba9a58c82
    2222
    2323depends_build   port:pkgconfig \
     
    7575}
    7676
    77 livecheck.type  gnome
     77livecheck.type  gnome-with-unstable
  • users/devans/GNOME-3/stable/dports/gnome/vte

  • users/devans/GNOME-3/stable/dports/gnome/vte/Portfile

    r117599 r118155  
    55
    66name                vte
    7 version             0.34.9
    8 revision            1
     7version             0.35.90
    98set branch          [join [lrange [split $version .] 0 1] .]
    109maintainers         nomaintainer
     
    2423use_xz              yes
    2524
    26 checksums           rmd160  7582451ff61a1cc7005433fc92942fb1974013c2 \
    27                     sha256  6f38c5edf57d0a5b870c4e5e210731cccfb4899d0856ba7a3dc599f2ba6e23e1
     25checksums           rmd160  66e2b3d879a9affb7f1a083955bf90eb7d270de0 \
     26                    sha256  c47182d1724db479095b918898ce62297ec71988f24cd575506151c59f7b98cf
    2827
    2928depends_build       port:pkgconfig \
     
    5251}
    5352
    54 livecheck.type      gnome
     53livecheck.type      gnome-with-unstable
  • users/devans/GNOME-3/stable/dports/gnome/yelp

  • users/devans/GNOME-3/stable/dports/gnome/yelp-tools

  • users/devans/GNOME-3/stable/dports/gnome/yelp-tools/Portfile

    r117598 r118155  
    55
    66name                yelp-tools
    7 version             3.10.0
     7version             3.11.5
    88license             GPL-2+
    99set branch          [join [lrange [split ${version} .] 0 1] .]
     
    1919use_xz              yes
    2020
    21 checksums           rmd160  a3812a049072fff37bdec453bc86dc186eb59323 \
    22                     sha256  ff5e1102631049b08e3ef0ade2cd10e63a62a812690e3d8558ed1413baef2611
     21checksums           rmd160  bab02806e91ec6d83cc4453ecaa85cc9b83ecd5b \
     22                    sha256  822a089e30901bb2632f39cdd3a133ebccc6802277dd18acf6fd88be982ba95f
    2323
    2424supported_archs     noarch
     
    3131depends_lib         port:yelp-xsl
    3232
    33 livecheck.type      gnome
     33livecheck.type      gnome-with-unstable
  • users/devans/GNOME-3/stable/dports/gnome/yelp-xsl

  • users/devans/GNOME-3/stable/dports/gnome/yelp-xsl/Portfile

    r117598 r118155  
    55
    66name            yelp-xsl
    7 version         3.10.1
     7version         3.11.90
    88license         GPL-2 LGPL-2.1
    99set branch      [join [lrange [split ${version} .] 0 1] .]
     
    2020use_xz          yes
    2121
    22 checksums       rmd160  ced70ec74364dd01352b61ca4625e2c7ba996401 \
    23                 sha256  59c6dee3999121f6ffd33a9c5228316b75bc22e3bd68fff310beb4eeff245887
     22checksums           rmd160  b603b76db3e79663ae0869e0200cc4962de32b9d \
     23                    sha256  157baa1eeefbd13136f9016831e75eb14816cff49802c0e10b66aeb6e7bc6a85
    2424
    2525depends_build   port:pkgconfig \
     
    3333# update m4/intltool.m4 and autoreconf
    3434
    35 pre-configure {
     35post-patch {
    3636    copy -force ${prefix}/share/aclocal/intltool.m4 ${worksrcpath}/m4
    3737}
    3838
    39 use_autoreconf  yes
    40 autoreconf.args -fvi
     39use_autoreconf      yes
     40autoreconf.args     -fvi
    4141
    4242post-activate   {
     
    4444}
    4545
    46 livecheck.type  gnome
     46livecheck.type  gnome-with-unstable
  • users/devans/GNOME-3/stable/dports/gnome/yelp/Portfile

    r117598 r118155  
    55
    66name            yelp
    7 version         3.10.2
     7version         3.11.91
    88license         GPL-2
    99set branch      [join [lrange [split ${version} .] 0 1] .]
     
    2222use_xz          yes
    2323
    24 checksums       rmd160  9245b27ca92ed49064c369bff78734b17e168d51 \
    25                 sha256  31cdff0df058fd42752808b6454b774281505f42695ee8b20891eb1332c34338
     24checksums       rmd160  41a51eb2de0525c6638fecfce82efc5da32657e5 \
     25                sha256  770ae831e2b32f2225d2222e44e3aebbb5ecc550729fad96efb9263a0428d509
    2626
    2727depends_skip_archcheck gnome-settings-daemon
     
    9191}
    9292
    93 livecheck.type  gnome
     93livecheck.type  gnome-with-unstable
  • users/devans/GNOME-3/stable/dports/net/libgweather

  • users/devans/GNOME-3/stable/dports/net/libgweather/Portfile

    r116768 r118155  
    55
    66name            libgweather
    7 version         3.10.2
     7version         3.11.92
    88set branch      [join [lrange [split ${version} .] 0 1] .]
    99maintainers     devans openmaintainer
     
    2323use_xz          yes
    2424
    25 checksums       rmd160  d0139d2e198e4ec65b044a6fbea6f75199de2a30 \
    26                 sha256  454d8d681114f7f9522df2710b63f33198d0d7ca6f0726eef7fcf72e1b580005
     25checksums       rmd160  92ec797d393d91f7bc903ccdeac57ad3fe9117ac \
     26                sha256  601c7ec366018bac9fe296daf91105344043e59f31631e2196924373302d33ee
    2727
    2828depends_build   port:pkgconfig \
     
    3939                port:gobject-introspection \
    4040                port:vala
    41 
    42 patchfiles      patch-libgweather-gweather-location.c.diff \
    43                 patch-libgweather-weather.c.diff
    4441
    4542# use autogen.sh from upstream git to update m4/intltool.m4 using intltoolize and autoreconf
     
    6562}
    6663
    67 livecheck.type  gnome
     64livecheck.type  gnome-with-unstable
  • users/devans/GNOME-3/stable/dports/net/rygel

  • users/devans/GNOME-3/stable/dports/net/rygel/Portfile

    r117598 r118155  
    55
    66name            rygel
    7 version         0.20.3
     7version         0.21.6
    88license         GPL-2+
    99set branch      [join [lrange [split ${version} .] 0 1] .]
     
    2020use_xz          yes
    2121
    22 checksums       rmd160  ed387b49a5941dcab43b935d5524cb814711678f \
    23                 sha256  4e7e3105a1d27d126938b7530f60bd7867121188651cee806f36694fbd7dd349
     22checksums       rmd160  0565d756df8a789da35a043de7477bccb40249c3 \
     23                sha256  208bf46b7116bfd06159bf09f6c85f953257874751e3949865587fe5994164b1
    2424
    2525depends_build   port:pkgconfig \
     
    3939depends_run     port:gnome-settings-daemon
    4040
    41 patchfiles      patch-configure.ac.diff \
    42                 patch-return.diff
     41patchfiles      patch-configure.ac.diff
    4342
    4443# update m4/intltool.m4 and autoreconf
     
    5958}
    6059
    61 livecheck.type  gnome
     60livecheck.type  gnome-with-unstable
  • users/devans/GNOME-3/stable/dports/net/rygel/files/patch-configure.ac.diff

    r117598 r118155  
    1 --- configure.ac.orig   2013-12-22 03:32:37.000000000 -0800
    2 +++ configure.ac        2014-02-26 00:43:42.000000000 -0800
     1--- configure.ac.orig   2014-03-06 12:39:24.000000000 -0800
     2+++ configure.ac        2014-03-14 15:55:49.000000000 -0700
    33@@ -43,7 +43,7 @@
    44 GSTPBU_REQUIRED=1.0
     
    77-UUID_REQUIRED=1.41.3
    88+UUID_REQUIRED=1.6.2
    9  LIBSOUP_REQUIRED=2.34.0
     9 LIBSOUP_REQUIRED=2.42.0
    1010 GTK_REQUIRED=3.0
    1111 
    12 @@ -387,7 +387,7 @@
     12@@ -399,7 +399,7 @@
    1313 AM_CONDITIONAL(ENABLE_VALADOC, test x$found_valadoc = xyes)
    1414 
     
    1717+         ["-module -avoid-version"])
    1818 AC_SUBST([RYGEL_PLUGIN_DIR],
    19           [${libdir}/rygel-2.0/plugins])
     19          [${libdir}/rygel-2.2/plugins])
    2020 AC_SUBST([RYGEL_MEDIA_ENGINE_DIR],
Note: See TracChangeset for help on using the changeset viewer.