summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Willich <sabotageandi@gmail.com>2011-08-06 22:56:54 +0200
committerAndreas Willich <sabotageandi@gmail.com>2011-08-06 22:56:54 +0200
commit05e2888845ef46a6851eeb8817811e7f2a5172f1 (patch)
tree01f71afdf31b80285ceaec7fe6dbb4f05a430ce5 /dev-libs
downloadsabotageandi-05e2888845ef46a6851eeb8817811e7f2a5172f1.tar.gz
sabotageandi-05e2888845ef46a6851eeb8817811e7f2a5172f1.tar.bz2
sabotageandi-05e2888845ef46a6851eeb8817811e7f2a5172f1.zip
ebuild push
Diffstat (limited to 'dev-libs')
-rw-r--r--dev-libs/glib/Manifest31
-rw-r--r--dev-libs/glib/files/glib-1.2.10-automake.patch29
-rw-r--r--dev-libs/glib/files/glib-1.2.10-configure-LANG.patch44
-rw-r--r--dev-libs/glib/files/glib-1.2.10-gcc34-fix.patch41
-rw-r--r--dev-libs/glib/files/glib-1.2.10-m4.patch9
-rw-r--r--dev-libs/glib/files/glib-2.10.3-ia64-atomic-ops.patch39
-rw-r--r--dev-libs/glib/files/glib-2.12.12-fbsd.patch21
-rw-r--r--dev-libs/glib/files/glib-2.18.1-workaround-gio-test-failure-without-userpriv.patch20
-rw-r--r--dev-libs/glib/files/glib-2.24-assert-test-failure.patch19
-rw-r--r--dev-libs/glib/files/glib-2.24-punt-python-check.patch20
-rw-r--r--dev-libs/glib/files/glib-2.25-punt-python-check.patch20
-rw-r--r--dev-libs/glib/files/glib-2.25-skip-tests-with-dbus-keyring.patch22
-rw-r--r--dev-libs/glib/files/glib-2.26.0-disable-locale-sensitive-test.patch50
-rw-r--r--dev-libs/glib/files/glib-2.26.0-disable-volumemonitor-broken-test.patch43
-rw-r--r--dev-libs/glib/files/glib-2.26.1-deprecation-tests.patch43
-rw-r--r--dev-libs/glib/files/glib-2.26.1-gatomic-header.patch11
-rw-r--r--dev-libs/glib/files/glib-2.26.1-gdatetime-test.patch21
-rw-r--r--dev-libs/glib/files/glib-2.26.1-gdbus-flushes.patch64
-rw-r--r--dev-libs/glib/files/glib-2.26.1-gsettings-read.patch25
-rw-r--r--dev-libs/glib/files/glib-2.26.1-gsettings-rules.patch33
-rw-r--r--dev-libs/glib/files/glib-2.26.1-locked-message.patch68
-rw-r--r--dev-libs/glib/files/glib-2.28.2-gio_launch_handler.patch234
-rw-r--r--dev-libs/glib/glib-2.28.5-r1.ebuild176
-rw-r--r--dev-libs/glib/glib-2.28.6-r1.ebuild176
-rw-r--r--dev-libs/glib/glib-2.28.7-r1.ebuild176
-rw-r--r--dev-libs/glib/glib-2.28.8-r1.ebuild203
-rw-r--r--dev-libs/glib/metadata.xml10
27 files changed, 1648 insertions, 0 deletions
diff --git a/dev-libs/glib/Manifest b/dev-libs/glib/Manifest
new file mode 100644
index 0000000..1cb13bf
--- /dev/null
+++ b/dev-libs/glib/Manifest
@@ -0,0 +1,31 @@
+AUX glib-1.2.10-automake.patch 827 RMD160 3b1485f89a157b60f31f5ae8ffe2333ab842d217 SHA1 cd40e4dc579190a89e09fad9ac7b209f24b231b3 SHA256 db6d22caf4054c09467b50b6d85566eec7479a29169460950e423c083332ef67
+AUX glib-1.2.10-configure-LANG.patch 1464 RMD160 91481ba6b3f7a1d6e22a4ab7003fcee17450f3c1 SHA1 d98cc2f4ac6cc4aae55270ad0e5705af4de9b3ad SHA256 32377819896297caf9628f382c7bba09ee0a049bd977e9ea927314c0c2e669b4
+AUX glib-1.2.10-gcc34-fix.patch 2008 RMD160 7e92b8842a8232cada12453d7f5e5a587a2bf496 SHA1 cb9c6e2f5320590713b3fba61f1d984e569d5d08 SHA256 848620bc200c2a42d726744fe6c36e20a396624e82b0c742b726dd72287e6cdd
+AUX glib-1.2.10-m4.patch 225 RMD160 65218d0099218a1008827c1364b6e51c073d236b SHA1 e9198bde79320d76ad942d42a0292acb5d216a86 SHA256 c470b3ecc3b8fd6a2d52df816a1c4ccb3ad2d6048e37894f415c8ea9c7925b68
+AUX glib-2.10.3-ia64-atomic-ops.patch 1058 RMD160 066e63a99739dc412fbed7f773118323f53ea774 SHA1 13c22e2f75a77e9e0546e495fd28015ddcb8bade SHA256 ad9cad6793626b4e36a59aa6cb839607847aa57ebc37592fd1e273ccd23a53c8
+AUX glib-2.12.12-fbsd.patch 668 RMD160 d8bf399b7e0b417c4622b278282086418c1d3363 SHA1 b7a0f4d67083f2c9b4bbecd84a6d597dd0f0f9ed SHA256 23b0dc406d3d45fe125268b731af67147e83f6e38a63c7892828bdbfe1c31e8d
+AUX glib-2.18.1-workaround-gio-test-failure-without-userpriv.patch 616 RMD160 dd06abe9298d6e3e4d3eda0d5d155f1545dfd1aa SHA1 92164aa1b29f49cf62fc366231f2046b8b3def52 SHA256 e64ad4fbd67f142f5a19b29eab323bf18856309ed064e7a9f838b6c1c38a8adb
+AUX glib-2.24-assert-test-failure.patch 724 RMD160 011da2b341281d14741e715eddd401968464608d SHA1 76149f52677a337569dbab1b5f664c8fc16d44ff SHA256 1e3d290455d6bbc3a4f69d7b8abdeb559a01c8cd30dc311641e1cb0b7f84c6af
+AUX glib-2.24-punt-python-check.patch 541 RMD160 8783f765b97814bc95a6143b75f317dbbdd8ba0c SHA1 dbaf420d3b8acd7691bc677f1fcc6e2fca04ed54 SHA256 0bdcc11d1434f695a5b5f6ec4c54ab7fa5a9f8a5c22d71b94f97378e92aaff84
+AUX glib-2.25-punt-python-check.patch 541 RMD160 93fe958f07c2e03abb3abf95eaa0273b0822d874 SHA1 a9b0b50847f00773254b55238785f65f516ff4ad SHA256 eea2b3a2692b93c98ff06b26b784a264391bc61f8434d101c30cb14802234a3e
+AUX glib-2.25-skip-tests-with-dbus-keyring.patch 933 RMD160 20eb4c83cffca42aca845dc74cc2a67803c5df6c SHA1 f845fa3cc991330aa3dcdfbec8426501261a8c70 SHA256 930cdfe8f3b46c20826057b5771f953172c97fed8b3e509f4fde13094ff1c251
+AUX glib-2.26.0-disable-locale-sensitive-test.patch 1256 RMD160 2754468a420189f6e8d7ea215b53069a21c14dd0 SHA1 f3008b5db6774b6c9d5a04a4bdbed4a9f553a63e SHA256 f0db01f4198ca3688ece382819d320f39d6b722381e28611df59c880f4d18e02
+AUX glib-2.26.0-disable-volumemonitor-broken-test.patch 1181 RMD160 c99e2969a3cab244dc39c81f2dd32bc42677c6e8 SHA1 cc30a7223108fb7fbe1a1c063d9546ffc457b94f SHA256 aa3075f22a9125551fbce6909645fb6b5c5b74282e6fed2ee1d06853b15437d3
+AUX glib-2.26.1-deprecation-tests.patch 1396 RMD160 2cda39fa239d9eeb83d179260cfda8ec54b68cab SHA1 0e1eda5351e47feaf249c98aa6988f0608e80a17 SHA256 9d95d7f361900116821f79e2122df4a794af648c0ff9661a937805a5aced2f7a
+AUX glib-2.26.1-gatomic-header.patch 269 RMD160 668ded743e0004b671e79d1ee5918c42cc78163d SHA1 db7808b0dfc39d8b415dce071b6a1805cad1a850 SHA256 81046ce8bdb7b1c863aba9cb457443e92b792807b304d0ee8e7dfd2b6fb7b122
+AUX glib-2.26.1-gdatetime-test.patch 760 RMD160 05b81043d5bfb0ff54806f4ac96ec135cf7f2898 SHA1 461d462f2d4509d07a70913f1268bd49847608ea SHA256 5f3569050c1fffbb5f312d0a00db9a43ff80446f510ab5d5116220406dfc61e7
+AUX glib-2.26.1-gdbus-flushes.patch 2270 RMD160 1bb9668f0df08ce54c16cf476102ca099754af96 SHA1 191e2034fa5eb2097657a82af92680c50509b1a9 SHA256 1adee16f5013695aaab38b8a9130c3ac2f3b8b802405cfa3c7d2ed4767873a07
+AUX glib-2.26.1-gsettings-read.patch 784 RMD160 1fa2eb0d8cf57e1724f7ec8738d3bf3606a3b40e SHA1 fe040110bdfdd789a60338edea9091e05f33e7ed SHA256 a43f54e7384c4233026257cd2048c5ad4e470949ad59aad57432f0b9e1a3d49f
+AUX glib-2.26.1-gsettings-rules.patch 1414 RMD160 8593654837d8cdd4f01990fdba9ada3c2d7e5c7c SHA1 ec1a9fac96b4e05cd02d2a9ad51a6198af2d8b16 SHA256 9f8d431cd0c7f1ab7559089500baabe275fee85f3b86b0645aeef1b0e913fb74
+AUX glib-2.26.1-locked-message.patch 2582 RMD160 3fa459353d46c0aa4add9beccf0737d684b91bc1 SHA1 4e3c9449ccf6ce9d0beb45abffea1742323ff846 SHA256 606e0c52b51343929b3f1f8b15b83321a7b52d31cf2be1325f11eaff7545f110
+AUX glib-2.28.2-gio_launch_handler.patch 9004 RMD160 2eced57e3144b344ad242700b2097687ea577aa2 SHA1 f88b53b2631e0a1c24858813720d62867627545e SHA256 d5e450c02e703c2f0792d9f4e41099623eac601cb58bc078351b2eea9760cbb8
+DIST glib-2.28.5.tar.bz2 6943896 RMD160 939aea42ea77d173712135ffcbcd10e3d01ecd29 SHA1 6cfc1a4e5ed069f0282b90de7635a5704cf7c04c SHA256 8eb4b56b228c6d0bf5021dd23db5b0084d80cc6d8d89d7863073c2da575ec22a
+DIST glib-2.28.6.tar.bz2 6955725 RMD160 5858c29829352c0c59fe12dbd6dceba81aabe5f6 SHA1 51996339c823cf36ba28c774c4afad933d5f5744 SHA256 557fb7c39d21b9359fbac51fd6b0b883bc97a2561c0166eef993a4078312f578
+DIST glib-2.28.7.tar.bz2 6972304 RMD160 1fbb64463d89478f0e7b4c4c8818ee6644c17751 SHA1 82ea79fc2c73df29da1c6d33e0fa027e6c77ec68 SHA256 0e1b3816a8934371d4ea2313dfbe25d10d16c950f8d02e0a7879ae10d91b1631
+DIST glib-2.28.8.tar.bz2 7017806 RMD160 f087a71445eb40fae5eab45a14cb74d4e239d5e6 SHA1 20cd63705a8805260da0320c65b979233f2e3c18 SHA256 222f3055d6c413417b50901008c654865e5a311c73f0ae918b0a9978d1f9466f
+DIST pkg-config-0.26.tar.gz 396399 RMD160 face3d16ec338b9b1ab41d56d6e4d1a5624b52d0 SHA1 fd71a70b023b9087c8a7bb76a0dc135a61059652 SHA256 94c1936a797c930fb3e4e5a154165b6268caba22b32d24083dd4c492a533c8af
+EBUILD glib-2.28.5-r1.ebuild 5540 RMD160 4c9534e9eaf1c1f57932ba6e0428e06e35e0b3f8 SHA1 958eb504d211e6257ab4377dc53c61a114dfc507 SHA256 e8e124098994e9274dcef09c93503bceb155d6fbd85c3db656071f3d366562c3
+EBUILD glib-2.28.6-r1.ebuild 5540 RMD160 81f16ac3b28fb6338d0356746507b2d050030bf9 SHA1 3eaff45d064d3a360e2dd9f3996a9f0d01f37df0 SHA256 27b8febd86b13d95f06d09719de6afb58ee1187ca21cc650ab8ba9a5d9f10a21
+EBUILD glib-2.28.7-r1.ebuild 5540 RMD160 81f16ac3b28fb6338d0356746507b2d050030bf9 SHA1 3eaff45d064d3a360e2dd9f3996a9f0d01f37df0 SHA256 27b8febd86b13d95f06d09719de6afb58ee1187ca21cc650ab8ba9a5d9f10a21
+EBUILD glib-2.28.8-r1.ebuild 7100 RMD160 435ff1dc2be2d3386206b693eb0d023955d95e24 SHA1 820dc04645471d9b08a196bb95c731e01e454d8b SHA256 04331159cbbfca79f1ef7ec5dabf757e96e093ac8df953dc5449012c2e9b6986
+MISC metadata.xml 348 RMD160 38bf96fa8c2dd45bc6bc756581391eefe35ce09f SHA1 5af15631fbbecac1dbaa98a6bd9eed791864c7c8 SHA256 ef2043aabcb66d98c534d509c23d4442b82fb8052bd2e88bcbfcd155dc26ed29
diff --git a/dev-libs/glib/files/glib-1.2.10-automake.patch b/dev-libs/glib/files/glib-1.2.10-automake.patch
new file mode 100644
index 0000000..c4f8fd3
--- /dev/null
+++ b/dev-libs/glib/files/glib-1.2.10-automake.patch
@@ -0,0 +1,29 @@
+fix errors with newer automake:
+
+gmodule/Makefile.am:44: testgmodule_LDFLAGS must be set with `=' before using `+='
+
+Makefile.am:73: BUILT_SOURCES multiply defined in condition TRUE ...
+Makefile.am:11: ... `BUILT_SOURCES' previously defined here
+
+--- Makefile.am
++++ Makefile.am
+@@ -70,7 +70,7 @@
+
+ CONFIGURE_DEPENDENCIES = acglib.m4
+
+-BUILT_SOURCES = stamp-gc-h #note: not glibconfig.h
++BUILT_SOURCES += stamp-gc-h #note: not glibconfig.h
+ glibconfig.h: stamp-gc-h
+ @:
+ stamp-gc-h: config.status
+--- gmodule/Makefile.am
++++ gmodule/Makefile.am
+@@ -41,7 +41,7 @@
+ libgplugin_b_la_LIBADD = @G_MODULE_LIBS@ $(libglib)
+
+ noinst_PROGRAMS = testgmodule
+-testgmodule_LDFLAGS += @G_MODULE_LDFLAGS@
++testgmodule_LDFLAGS = @G_MODULE_LDFLAGS@
+ testgmodule_LDADD = libgmodule.la $(libglib) @G_MODULE_LIBS@
+
+ .PHONY: files release
diff --git a/dev-libs/glib/files/glib-1.2.10-configure-LANG.patch b/dev-libs/glib/files/glib-1.2.10-configure-LANG.patch
new file mode 100644
index 0000000..b5e9e82
--- /dev/null
+++ b/dev-libs/glib/files/glib-1.2.10-configure-LANG.patch
@@ -0,0 +1,44 @@
+The LANG vars aren't reset early enough so when sed tries to use [a-zA-Z] in
+option parsing, it may break.
+
+http://bugs.gentoo.org/133679
+
+--- configure
++++ configure
+@@ -54,6 +54,19 @@
+ infodir='${prefix}/info'
+ mandir='${prefix}/man'
+
++# NLS nuisances.
++for as_var in \
++ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
++ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
++ LC_TELEPHONE LC_TIME
++do
++ if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
++ eval $as_var=C; export $as_var
++ else
++ unset $as_var
++ fi
++done
++
+ # Initialize some other variables.
+ subdirs=
+ MFLAGS= MAKEFLAGS=
+@@ -452,16 +463,6 @@
+ esac
+ done
+
+-# NLS nuisances.
+-# Only set these to C if already set. These must not be set unconditionally
+-# because not all systems understand e.g. LANG=C (notably SCO).
+-# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
+-# Non-C LC_CTYPE values break the ctype check.
+-if test "${LANG+set}" = set; then LANG=C; export LANG; fi
+-if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
+-if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
+-if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi
+-
+ # confdefs.h avoids OS command line length limits that DEFS can exceed.
+ rm -rf conftest* confdefs.h
+ # AIX cpp loses on an empty file, so make sure it contains at least a newline.
diff --git a/dev-libs/glib/files/glib-1.2.10-gcc34-fix.patch b/dev-libs/glib/files/glib-1.2.10-gcc34-fix.patch
new file mode 100644
index 0000000..1b89648
--- /dev/null
+++ b/dev-libs/glib/files/glib-1.2.10-gcc34-fix.patch
@@ -0,0 +1,41 @@
+--- glib-1.2.10/gstrfuncs.c.orig 2001-02-27 07:00:22.000000000 +0100
++++ glib-1.2.10/gstrfuncs.c 2004-03-01 13:19:49.531603760 +0100
+@@ -867,7 +867,7 @@
+ /* beware of positional parameters
+ */
+ case '$':
+- g_warning (G_GNUC_PRETTY_FUNCTION
++ g_warning ("%s%s", G_GNUC_PRETTY_FUNCTION,
+ "(): unable to handle positional parameters (%%n$)");
+ len += 1024; /* try adding some safety padding */
+ break;
+@@ -1034,7 +1034,7 @@
+ /* n . dddddddddddddddddddddddd E +- eeee */
+ conv_len += 1 + 1 + MAX (24, spec.precision) + 1 + 1 + 4;
+ if (spec.mod_extra_long)
+- g_warning (G_GNUC_PRETTY_FUNCTION
++ g_warning ("%s%s", G_GNUC_PRETTY_FUNCTION,
+ "(): unable to handle long double, collecting double only");
+ #ifdef HAVE_LONG_DOUBLE
+ #error need to implement special handling for long double
+@@ -1077,7 +1077,7 @@
+ conv_done = TRUE;
+ if (spec.mod_long)
+ {
+- g_warning (G_GNUC_PRETTY_FUNCTION
++ g_warning ("%s%s", G_GNUC_PRETTY_FUNCTION,
+ "(): unable to handle wide char strings");
+ len += 1024; /* try adding some safety padding */
+ }
+@@ -1108,9 +1108,8 @@
+ conv_len += format - spec_start;
+ break;
+ default:
+- g_warning (G_GNUC_PRETTY_FUNCTION
+- "(): unable to handle `%c' while parsing format",
+- c);
++ g_warning ("%s(): unable to handle `%c' while parsing format",
++ G_GNUC_PRETTY_FUNCTION, c);
+ break;
+ }
+ conv_done |= conv_len > 0;
diff --git a/dev-libs/glib/files/glib-1.2.10-m4.patch b/dev-libs/glib/files/glib-1.2.10-m4.patch
new file mode 100644
index 0000000..f57ecf7
--- /dev/null
+++ b/dev-libs/glib/files/glib-1.2.10-m4.patch
@@ -0,0 +1,9 @@
+Fix aclocal warning:
+/usr/share/aclocal/glib.m4:8: warning: underquoted definition of AM_PATH_GLIB
+--- glib-1.2.10/glib.m4
++++ glib-1.2.10/glib.m4
+@@ -7,3 +7,3 @@
+ dnl
+-AC_DEFUN(AM_PATH_GLIB,
++AC_DEFUN([AM_PATH_GLIB],
+ [dnl
diff --git a/dev-libs/glib/files/glib-2.10.3-ia64-atomic-ops.patch b/dev-libs/glib/files/glib-2.10.3-ia64-atomic-ops.patch
new file mode 100644
index 0000000..0859e33
--- /dev/null
+++ b/dev-libs/glib/files/glib-2.10.3-ia64-atomic-ops.patch
@@ -0,0 +1,39 @@
+From Debian, this one is needed for gcc < 4.1...
+
+--- glib-2.10.0/glib/gatomic.c 2006-02-24 14:02:51.000000000 +0000
++++ glib-2.10.0/glib/gatomic.c 2006-03-06 18:12:06.000000000 +0000
+@@ -414,14 +414,14 @@
+ g_atomic_int_exchange_and_add (volatile gint *atomic,
+ gint val)
+ {
+- return __sync_fetch_and_add (atomic, val);
++ return __sync_fetch_and_add_si (atomic, val);
+ }
+
+ void
+ g_atomic_int_add (volatile gint *atomic,
+ gint val)
+ {
+- __sync_fetch_and_add (atomic, val);
++ __sync_fetch_and_add_si (atomic, val);
+ }
+
+ gboolean
+@@ -429,7 +429,7 @@
+ gint oldval,
+ gint newval)
+ {
+- return __sync_bool_compare_and_swap (atomic, oldval, newval);
++ return __sync_bool_compare_and_swap_si (atomic, oldval, newval);
+ }
+
+ gboolean
+@@ -437,7 +437,7 @@
+ gpointer oldval,
+ gpointer newval)
+ {
+- return __sync_bool_compare_and_swap ((long *)atomic,
++ return __sync_bool_compare_and_swap_di ((long *)atomic,
+ (long)oldval, (long)newval);
+ }
+
diff --git a/dev-libs/glib/files/glib-2.12.12-fbsd.patch b/dev-libs/glib/files/glib-2.12.12-fbsd.patch
new file mode 100644
index 0000000..bba6329
--- /dev/null
+++ b/dev-libs/glib/files/glib-2.12.12-fbsd.patch
@@ -0,0 +1,21 @@
+diff --exclude-from=/home/dang/.scripts/diffrc -up -ruN glib-2.12.12.orig/gmodule/gmodule-dl.c glib-2.12.12/gmodule/gmodule-dl.c
+--- glib-2.12.12.orig/gmodule/gmodule-dl.c 2007-05-01 19:12:40.000000000 -0400
++++ glib-2.12.12/gmodule/gmodule-dl.c 2007-07-05 20:10:51.000000000 -0400
+@@ -106,6 +106,7 @@ _g_module_open (const gchar *file_name,
+ static gpointer
+ _g_module_self (void)
+ {
++#ifndef __FreeBSD__
+ gpointer handle;
+
+ /* to query symbols from the program itself, special link options
+@@ -117,6 +118,9 @@ _g_module_self (void)
+ g_module_set_error (fetch_dlerror (TRUE));
+
+ return handle;
++#else
++ return RTLD_DEFAULT;
++#endif
+ }
+
+ static void
diff --git a/dev-libs/glib/files/glib-2.18.1-workaround-gio-test-failure-without-userpriv.patch b/dev-libs/glib/files/glib-2.18.1-workaround-gio-test-failure-without-userpriv.patch
new file mode 100644
index 0000000..cabe56f
--- /dev/null
+++ b/dev-libs/glib/files/glib-2.18.1-workaround-gio-test-failure-without-userpriv.patch
@@ -0,0 +1,20 @@
+Temporary workaround for gio tests failure when ran without FEATURES=userpriv
+until upstream bug #552912 is fixed
+
+--- gio/tests/live-g-file.c.orig 2008-09-25 05:44:12.848556034 +0300
++++ gio/tests/live-g-file.c 2008-09-25 06:12:34.248726237 +0300
+@@ -769,11 +769,14 @@
+ if (posix_compat)
+ {
+ /* target directory is not accessible (no execute flag) */
++#if 0
++/* Fails when ran as root */
+ do_copy_move (root, item, TEST_DIR_NO_ACCESS,
+ TEST_NO_ACCESS);
+ /* target directory is readonly */
+ do_copy_move (root, item, TEST_DIR_NO_WRITE,
+ TEST_NO_ACCESS);
++#endif
+ }
+ }
+ }
diff --git a/dev-libs/glib/files/glib-2.24-assert-test-failure.patch b/dev-libs/glib/files/glib-2.24-assert-test-failure.patch
new file mode 100644
index 0000000..6d8e74f
--- /dev/null
+++ b/dev-libs/glib/files/glib-2.24-assert-test-failure.patch
@@ -0,0 +1,19 @@
+Tests fail when upgrading glib from 2.22 to 2.24 if sys-devel/gdb is installed
+because gdb is run on .libs/assert-msg-test before LD_LIBRARY_PATH is set. This
+causes gdb to use the system-wide glib instead, and fail on the test.
+
+This patch exports LD_LIBRARY_PATH before running gdb
+
+https://bugzilla.gnome.org/621368
+
+---
+--- tests/run-assert-msg-test.sh
++++ tests/run-assert-msg-test.sh
+@@ -34,6 +34,7 @@ if [ -e ".libs/lt-$msg_test" ]; then
+ msg_test="lt-$msg_test"
+ fi
+ echo_v "Running gdb on assert-msg-test"
++export LD_LIBRARY_PATH="`dirname $PWD`/glib/.libs:$LD_LIBRARY_PATH"
+ OUT=$(gdb --batch --ex run --ex "print (char*) __glib_assert_msg" .libs/$msg_test 2> $error_out) || \
+ fail "failed to run gdb"
+
diff --git a/dev-libs/glib/files/glib-2.24-punt-python-check.patch b/dev-libs/glib/files/glib-2.24-punt-python-check.patch
new file mode 100644
index 0000000..3cbd6dc
--- /dev/null
+++ b/dev-libs/glib/files/glib-2.24-punt-python-check.patch
@@ -0,0 +1,20 @@
+Remove python detection from configure.in, we won't be installing the gdb python
+scripts anymore. They use a redhat-specific gdb module that has not been
+upstreamed yet.
+
+https://bugs.gentoo.org/291328
+https://bugzilla.gnome.org/623552
+---
+--- configure.in
++++ configure.in
+@@ -379,10 +379,6 @@ if test "x$PERL_PATH" = x ; then
+ fi
+ AC_SUBST(PERL_PATH)
+
+-# Need suitable python path for greport
+-AM_PATH_PYTHON(2.4,,PYTHON="/usr/bin/env python2.4")
+-
+-
+ dnl ***********************
+ dnl *** Tests for iconv ***
+ dnl ***********************
diff --git a/dev-libs/glib/files/glib-2.25-punt-python-check.patch b/dev-libs/glib/files/glib-2.25-punt-python-check.patch
new file mode 100644
index 0000000..077ebf4
--- /dev/null
+++ b/dev-libs/glib/files/glib-2.25-punt-python-check.patch
@@ -0,0 +1,20 @@
+Remove python detection from configure.in, we won't be installing the gdb python
+scripts anymore. They use a redhat-specific gdb module that has not been
+upstreamed yet.
+
+https://bugs.gentoo.org/291328
+https://bugzilla.gnome.org/623552
+---
+--- configure.ac
++++ configure.ac
+@@ -379,10 +379,6 @@ if test "x$PERL_PATH" = x ; then
+ fi
+ AC_SUBST(PERL_PATH)
+
+-# Need suitable python path for greport
+-AM_PATH_PYTHON(2.4,,PYTHON="/usr/bin/env python2.4")
+-
+-
+ dnl ***********************
+ dnl *** Tests for iconv ***
+ dnl ***********************
diff --git a/dev-libs/glib/files/glib-2.25-skip-tests-with-dbus-keyring.patch b/dev-libs/glib/files/glib-2.25-skip-tests-with-dbus-keyring.patch
new file mode 100644
index 0000000..baca1ec
--- /dev/null
+++ b/dev-libs/glib/files/glib-2.25-skip-tests-with-dbus-keyring.patch
@@ -0,0 +1,22 @@
+--- gio/tests/gdbus-peer.c.orig 2010-08-28 20:06:11.000000000 +0300
++++ gio/tests/gdbus-peer.c 2010-08-28 20:06:21.000000000 +0300
+@@ -1448,7 +1448,7 @@
+
+ g_test_add_func ("/gdbus/peer-to-peer", test_peer);
+ g_test_add_func ("/gdbus/delayed-message-processing", delayed_message_processing);
+- g_test_add_func ("/gdbus/nonce-tcp", test_nonce_tcp);
++ //g_test_add_func ("/gdbus/nonce-tcp", test_nonce_tcp);
+ g_test_add_func ("/gdbus/credentials", test_credentials);
+ g_test_add_func ("/gdbus/overflow", test_overflow);
+
+--- gio/tests/gdbus-non-socket.c.orig 2010-08-28 20:36:52.000000000 +0300
++++ gio/tests/gdbus-non-socket.c 2010-08-28 20:37:02.000000000 +0300
+@@ -336,7 +336,7 @@
+ /* all the tests rely on a shared main loop */
+ loop = g_main_loop_new (NULL, FALSE);
+
+- g_test_add_func ("/gdbus/non-socket", test_non_socket);
++ //g_test_add_func ("/gdbus/non-socket", test_non_socket);
+
+ ret = g_test_run();
+
diff --git a/dev-libs/glib/files/glib-2.26.0-disable-locale-sensitive-test.patch b/dev-libs/glib/files/glib-2.26.0-disable-locale-sensitive-test.patch
new file mode 100644
index 0000000..235d5c7
--- /dev/null
+++ b/dev-libs/glib/files/glib-2.26.0-disable-locale-sensitive-test.patch
@@ -0,0 +1,50 @@
+From 3a02a86a0a413304843c1cfad359922322486da6 Mon Sep 17 00:00:00 2001
+From: Gilles Dartiguelongue <eva@gentoo.org>
+Date: Wed, 6 Oct 2010 23:21:01 +0200
+Subject: [PATCH 1/2] gsettings: disable locale sensitive test.
+
+---
+ gio/tests/gsettings.c | 8 ++++----
+ 1 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/gio/tests/gsettings.c b/gio/tests/gsettings.c
+index fdadf96..4d19618 100644
+--- a/gio/tests/gsettings.c
++++ b/gio/tests/gsettings.c
+@@ -625,14 +625,14 @@ test_l10n (void)
+ g_free (str);
+ str = NULL;
+
+- setlocale (LC_MESSAGES, "de_DE");
++ /*setlocale (LC_MESSAGES, "de_DE");
+ str = g_settings_get_string (settings, "error-message");
+ setlocale (LC_MESSAGES, locale);
+
+ g_assert_cmpstr (str, ==, "Unbenannt");
+ g_object_unref (settings);
+ g_free (str);
+- str = NULL;
++ str = NULL;*/
+
+ g_free (locale);
+ }
+@@ -666,14 +666,14 @@ test_l10n_context (void)
+ g_free (str);
+ str = NULL;
+
+- setlocale (LC_MESSAGES, "de_DE");
++ /*setlocale (LC_MESSAGES, "de_DE");
+ g_settings_get (settings, "backspace", "s", &str);
+ setlocale (LC_MESSAGES, locale);
+
+ g_assert_cmpstr (str, ==, "Löschen");
+ g_object_unref (settings);
+ g_free (str);
+- str = NULL;
++ str = NULL;*/
+
+ g_free (locale);
+ }
+--
+1.7.3
+
diff --git a/dev-libs/glib/files/glib-2.26.0-disable-volumemonitor-broken-test.patch b/dev-libs/glib/files/glib-2.26.0-disable-volumemonitor-broken-test.patch
new file mode 100644
index 0000000..34fad9e
--- /dev/null
+++ b/dev-libs/glib/files/glib-2.26.0-disable-volumemonitor-broken-test.patch
@@ -0,0 +1,43 @@
+From 8eb4fb83d0933d09bb6ef0ec1511a6b0eb2cee9b Mon Sep 17 00:00:00 2001
+From: Gilles Dartiguelongue <eva@gentoo.org>
+Date: Wed, 6 Oct 2010 23:21:22 +0200
+Subject: [PATCH 2/2] volumemonitor: disable failing test
+
+---
+ gio/tests/volumemonitor.c | 6 +++---
+ 1 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/gio/tests/volumemonitor.c b/gio/tests/volumemonitor.c
+index 54123ec..df19b58 100644
+--- a/gio/tests/volumemonitor.c
++++ b/gio/tests/volumemonitor.c
+@@ -112,7 +112,7 @@ test_connected_drives (void)
+ g_list_free (drives);
+ }
+
+-static void
++/*static void
+ test_volumes (void)
+ {
+ GList *volumes, *l;
+@@ -131,7 +131,7 @@ test_volumes (void)
+
+ g_list_foreach (volumes, (GFunc)g_object_unref, NULL);
+ g_list_free (volumes);
+-}
++}*/
+
+ static void
+ test_mounts (void)
+@@ -173,7 +173,7 @@ main (int argc, char *argv[])
+ monitor = g_volume_monitor_get ();
+
+ g_test_add_func ("/volumemonitor/connected_drives", test_connected_drives);
+- g_test_add_func ("/volumemonitor/volumes", test_volumes);
++ //g_test_add_func ("/volumemonitor/volumes", test_volumes);
+ g_test_add_func ("/volumemonitor/mounts", test_mounts);
+
+ ret = g_test_run ();
+--
+1.7.3
+
diff --git a/dev-libs/glib/files/glib-2.26.1-deprecation-tests.patch b/dev-libs/glib/files/glib-2.26.1-deprecation-tests.patch
new file mode 100644
index 0000000..c4085ae
--- /dev/null
+++ b/dev-libs/glib/files/glib-2.26.1-deprecation-tests.patch
@@ -0,0 +1,43 @@
+From cae0b1c57f0f8ce73f4f117f8abb61c68e34a0e7 Mon Sep 17 00:00:00 2001
+From: Chun-wei Fan <fanchunwei@src.gnome.org>
+Date: Tue, 30 Nov 2010 02:28:00 +0000
+Subject: Bug635093: Deprecation check in tests/testglib.c
+
+The Relation API in glib/grel.h has been marked as
+deprecated (G_DISABLE_DEPRECATED), so added check for
+that macro in this source file and added label to indicate
+deprecation
+---
+diff --git a/tests/testglib.c b/tests/testglib.c
+index b4e29f0..158808a 100644
+--- a/tests/testglib.c
++++ b/tests/testglib.c
+@@ -1038,6 +1038,7 @@ hash_table_tests (void)
+ g_hash_table_destroy (hash_table);
+ }
+
++#ifndef G_DISABLE_DEPRECATED
+ static void
+ relation_test (void)
+ {
+@@ -1110,6 +1111,7 @@ relation_test (void)
+
+ relation = NULL;
+ }
++#endif
+
+ static void
+ gstring_tests (void)
+@@ -1539,7 +1541,9 @@ main (int argc,
+ g_test_add_func ("/testglib/GTree", binary_tree_test);
+ g_test_add_func ("/testglib/Arrays", test_arrays);
+ g_test_add_func ("/testglib/GHashTable", hash_table_tests);
+- g_test_add_func ("/testglib/Relation", relation_test);
++#ifndef G_DISABLE_DEPRECATED
++ g_test_add_func ("/testglib/Relation (deprecated)", relation_test);
++#endif
+ g_test_add_func ("/testglib/File Paths", test_paths);
+ g_test_add_func ("/testglib/File Functions", test_file_functions);
+ g_test_add_func ("/testglib/Parse Debug Strings", test_g_parse_debug_string);
+--
+cgit v0.8.3.1
diff --git a/dev-libs/glib/files/glib-2.26.1-gatomic-header.patch b/dev-libs/glib/files/glib-2.26.1-gatomic-header.patch
new file mode 100644
index 0000000..f6454d4
--- /dev/null
+++ b/dev-libs/glib/files/glib-2.26.1-gatomic-header.patch
@@ -0,0 +1,11 @@
+$OpenBSD: patch-glib_gatomic_c,v 1.1 2010/10/10 10:52:04 kili Exp $
+--- glib/gatomic.c.orig Thu Sep 23 17:26:45 2010
++++ glib/gatomic.c Sun Oct 10 11:50:01 2010
+@@ -28,6 +28,7 @@
+ #endif
+
+ #include "gatomic.h"
++#include "gthread.h"
+ #include "gthreadprivate.h"
+
+ /**
diff --git a/dev-libs/glib/files/glib-2.26.1-gdatetime-test.patch b/dev-libs/glib/files/glib-2.26.1-gdatetime-test.patch
new file mode 100644
index 0000000..054f311
--- /dev/null
+++ b/dev-libs/glib/files/glib-2.26.1-gdatetime-test.patch
@@ -0,0 +1,21 @@
+From 3f059a6a123dd62257f224b9af7701078783060e Mon Sep 17 00:00:00 2001
+From: Matthias Clasen <mclasen@redhat.com>
+Date: Sat, 22 Jan 2011 04:41:12 +0000
+Subject: Remove a test that seems to fail depending on time of day
+
+---
+diff --git a/glib/tests/gdatetime.c b/glib/tests/gdatetime.c
+index 01f08de..619bb02 100644
+--- a/glib/tests/gdatetime.c
++++ b/glib/tests/gdatetime.c
+@@ -804,7 +804,7 @@ GDateTime *__dt = g_date_time_new_local (2009, 10, 24, 0, 0, 0);\
+ TEST_PRINTF_TIME (13, 13, 13, "%r", "01:13:13 PM");
+ TEST_PRINTF ("%R", "00:00");
+ TEST_PRINTF_TIME (13, 13, 31, "%R", "13:13");
+- TEST_PRINTF ("%s", t_str);
++ //TEST_PRINTF ("%s", t_str);
+ TEST_PRINTF ("%S", "00");
+ TEST_PRINTF ("%t", " ");
+ TEST_PRINTF ("%W", "42");
+--
+cgit v0.8.3.1
diff --git a/dev-libs/glib/files/glib-2.26.1-gdbus-flushes.patch b/dev-libs/glib/files/glib-2.26.1-gdbus-flushes.patch
new file mode 100644
index 0000000..5ae2d72
--- /dev/null
+++ b/dev-libs/glib/files/glib-2.26.1-gdbus-flushes.patch
@@ -0,0 +1,64 @@
+From b2315084cb21a1ef072a48b0238a2e614af78be3 Mon Sep 17 00:00:00 2001
+From: Ted Gould <ted@gould.cx>
+Date: Mon, 13 Dec 2010 18:33:15 +0000
+Subject: Bug 635626 – GDBus message idle can execute while flushes are pending
+
+https://bugzilla.gnome.org/show_bug.cgi?id=635626
+
+Signed-off-by: David Zeuthen <davidz@redhat.com>
+---
+diff --git a/gio/gdbusprivate.c b/gio/gdbusprivate.c
+index dd9d58a..228c28c 100644
+--- a/gio/gdbusprivate.c
++++ b/gio/gdbusprivate.c
+@@ -431,6 +431,7 @@ struct GDBusWorker
+ gint num_writes_pending;
+ guint64 write_num_messages_written;
+ GList *write_pending_flushes;
++ gboolean flush_pending;
+ };
+
+ /* ---------------------------------------------------------------------------------------------------- */
+@@ -1158,6 +1159,12 @@ ostream_flush_cb (GObject *source_object,
+ if (error != NULL)
+ g_error_free (error);
+
++ /* Make sure we tell folks that we don't have additional
++ flushes pending */
++ g_mutex_lock (data->worker->write_lock);
++ data->worker->flush_pending = FALSE;
++ g_mutex_unlock (data->worker->write_lock);
++
+ /* OK, cool, finally kick off the next write */
+ maybe_write_next_message (data->worker);
+
+@@ -1210,6 +1217,10 @@ message_written (GDBusWorker *worker,
+ worker->write_pending_flushes = g_list_delete_link (worker->write_pending_flushes, l);
+ }
+ }
++ if (flushers != NULL)
++ {
++ worker->flush_pending = TRUE;
++ }
+ g_mutex_unlock (worker->write_lock);
+
+ if (flushers != NULL)
+@@ -1344,7 +1355,7 @@ static gboolean
+ write_message_in_idle_cb (gpointer user_data)
+ {
+ GDBusWorker *worker = user_data;
+- if (worker->num_writes_pending == 0)
++ if (worker->num_writes_pending == 0 && !worker->flush_pending)
+ maybe_write_next_message (worker);
+ return FALSE;
+ }
+@@ -1427,6 +1438,7 @@ _g_dbus_worker_new (GIOStream *stream,
+ worker->stream = g_object_ref (stream);
+ worker->capabilities = capabilities;
+ worker->cancellable = g_cancellable_new ();
++ worker->flush_pending = FALSE;
+
+ worker->frozen = initially_frozen;
+ worker->received_messages_while_frozen = g_queue_new ();
+--
+cgit v0.8.3.1
diff --git a/dev-libs/glib/files/glib-2.26.1-gsettings-read.patch b/dev-libs/glib/files/glib-2.26.1-gsettings-read.patch
new file mode 100644
index 0000000..fa5b081
--- /dev/null
+++ b/dev-libs/glib/files/glib-2.26.1-gsettings-read.patch
@@ -0,0 +1,25 @@
+From 900a4c853f8dbf0887c66155ba489ff4570e5948 Mon Sep 17 00:00:00 2001
+From: Matthew Barnes <mbarnes@redhat.com>
+Date: Wed, 01 Dec 2010 00:19:12 +0000
+Subject: Bug 636100 - Can't read GSettings:backend property
+
+The PROP_BACKEND case was missing from the switch statement in
+g_settings_get_property().
+---
+diff --git a/gio/gsettings.c b/gio/gsettings.c
+index 94d1f3a..7f775a0 100644
+--- a/gio/gsettings.c
++++ b/gio/gsettings.c
+@@ -417,6 +417,10 @@ g_settings_get_property (GObject *object,
+ g_value_set_string (value, settings->priv->schema_name);
+ break;
+
++ case PROP_BACKEND:
++ g_value_set_object (value, settings->priv->backend);
++ break;
++
+ case PROP_PATH:
+ g_value_set_string (value, settings->priv->path);
+ break;
+--
+cgit v0.8.3.1
diff --git a/dev-libs/glib/files/glib-2.26.1-gsettings-rules.patch b/dev-libs/glib/files/glib-2.26.1-gsettings-rules.patch
new file mode 100644
index 0000000..01ce226
--- /dev/null
+++ b/dev-libs/glib/files/glib-2.26.1-gsettings-rules.patch
@@ -0,0 +1,33 @@
+From 393834ac6f32633a31e52441b051dc7d3969a530 Mon Sep 17 00:00:00 2001
+From: Dan Winship <danw@gnome.org>
+Date: Thu, 04 Nov 2010 19:23:22 +0000
+Subject: gsettings.m4: Fix rules to work when there are no schemas
+
+If there are no schemas, don't try to install "" at install time.
+(In particular, automake conditionals don't work properly with
+@-expanded rules, so if you conditionally build a schema, you'll
+still unconditionally get the install rule.)
+
+https://bugzilla.gnome.org/show_bug.cgi?id=633381
+---
+diff --git a/m4macros/gsettings.m4 b/m4macros/gsettings.m4
+index 4e4352f..f0ed838 100644
+--- a/m4macros/gsettings.m4
++++ b/m4macros/gsettings.m4
+@@ -47,9 +47,11 @@ install-data-am: install-gsettings-schemas
+
+ install-gsettings-schemas: $(gsettings_SCHEMAS) $(gsettings__enum_file)
+ @$(NORMAL_INSTALL)
+- test -z "$(gsettingsschemadir)" || $(MKDIR_P) "$(DESTDIR)$(gsettingsschemadir)"
+- $(INSTALL_DATA) $^ "$(DESTDIR)$(gsettingsschemadir)"
+- test -n "$(GSETTINGS_DISABLE_SCHEMAS_COMPILE)$(DESTDIR)" || $(GLIB_COMPILE_SCHEMAS) $(gsettingsschemadir)
++ if test -n "$^"; then \
++ test -z "$(gsettingsschemadir)" || $(MKDIR_P) "$(DESTDIR)$(gsettingsschemadir)"; \
++ $(INSTALL_DATA) $^ "$(DESTDIR)$(gsettingsschemadir)"; \
++ test -n "$(GSETTINGS_DISABLE_SCHEMAS_COMPILE)$(DESTDIR)" || $(GLIB_COMPILE_SCHEMAS) $(gsettingsschemadir); \
++ fi
+
+ uninstall-gsettings-schemas:
+ @$(NORMAL_UNINSTALL)
+--
+cgit v0.8.3.1
diff --git a/dev-libs/glib/files/glib-2.26.1-locked-message.patch b/dev-libs/glib/files/glib-2.26.1-locked-message.patch
new file mode 100644
index 0000000..acec46e
--- /dev/null
+++ b/dev-libs/glib/files/glib-2.26.1-locked-message.patch
@@ -0,0 +1,68 @@
+From 62476cd0f7ca7d3becf81243fb7ac1b97cf7db51 Mon Sep 17 00:00:00 2001
+From: Peng Huang <shawn.p.huang@gmail.com>
+Date: Mon, 13 Dec 2010 18:09:38 +0000
+Subject: Bug 632544 – Cannot send a locked message with PRESERVE_SERIAL flag
+
+https://bugzilla.gnome.org/show_bug.cgi?id=632544
+
+Signed-off-by: David Zeuthen <davidz@redhat.com>
+---
+diff --git a/gio/gdbusconnection.c b/gio/gdbusconnection.c
+index da2b9f9..cf12f41 100644
+--- a/gio/gdbusconnection.c
++++ b/gio/gdbusconnection.c
+@@ -1449,7 +1449,8 @@ g_dbus_connection_send_message_unlocked (GDBusConnection *connection,
+ if (out_serial != NULL)
+ *out_serial = serial_to_use;
+
+- g_dbus_message_set_serial (message, serial_to_use);
++ if (!(flags & G_DBUS_SEND_MESSAGE_FLAGS_PRESERVE_SERIAL))
++ g_dbus_message_set_serial (message, serial_to_use);
+
+ g_dbus_message_lock (message);
+ _g_dbus_worker_send_message (connection->worker,
+diff --git a/gio/tests/gdbus-connection.c b/gio/tests/gdbus-connection.c
+index 866e27c..5c2939e 100644
+--- a/gio/tests/gdbus-connection.c
++++ b/gio/tests/gdbus-connection.c
+@@ -880,6 +880,18 @@ test_connection_filter (void)
+
+ m2 = g_dbus_message_copy (m, &error);
+ g_assert_no_error (error);
++ g_dbus_message_set_serial (m2, data.serial);
++ /* lock the message to test PRESERVE_SERIAL flag. */
++ g_dbus_message_lock (m2);
++ g_dbus_connection_send_message (c, m2, G_DBUS_SEND_MESSAGE_FLAGS_PRESERVE_SERIAL, &data.serial, &error);
++ g_object_unref (m2);
++ g_assert_no_error (error);
++
++ while (data.num_handled == 2)
++ g_thread_yield ();
++
++ m2 = g_dbus_message_copy (m, &error);
++ g_assert_no_error (error);
+ r = g_dbus_connection_send_message_with_reply_sync (c,
+ m2,
+ G_DBUS_SEND_MESSAGE_FLAGS_NONE,
+@@ -891,7 +903,7 @@ test_connection_filter (void)
+ g_assert_no_error (error);
+ g_assert (r != NULL);
+ g_object_unref (r);
+- g_assert_cmpint (data.num_handled, ==, 3);
++ g_assert_cmpint (data.num_handled, ==, 4);
+
+ g_dbus_connection_remove_filter (c, filter_id);
+
+@@ -908,8 +920,8 @@ test_connection_filter (void)
+ g_assert_no_error (error);
+ g_assert (r != NULL);
+ g_object_unref (r);
+- g_assert_cmpint (data.num_handled, ==, 3);
+- g_assert_cmpint (data.num_outgoing, ==, 3);
++ g_assert_cmpint (data.num_handled, ==, 4);
++ g_assert_cmpint (data.num_outgoing, ==, 4);
+
+ /* this is safe; testserver will exit once the bus goes away */
+ g_assert (g_spawn_command_line_async (SRCDIR "/gdbus-testserver.py", NULL));
+--
+cgit v0.8.3.1
diff --git a/dev-libs/glib/files/glib-2.28.2-gio_launch_handler.patch b/dev-libs/glib/files/glib-2.28.2-gio_launch_handler.patch
new file mode 100644
index 0000000..2c232b4
--- /dev/null
+++ b/dev-libs/glib/files/glib-2.28.2-gio_launch_handler.patch
@@ -0,0 +1,234 @@
+From 41a32799fa223937e5e980ffb8c268b183c416e2 Mon Sep 17 00:00:00 2001
+From: Mikkel Kamstrup Erlandsen <mikkel.kamstrup@canonical.com>
+Date: Wed, 18 Aug 2010 12:02:10 +0200
+Subject: [PATCH] gio: New extension point "gio-desktop-app-info-launch-handler"
+
+Add an extension point that gets a callback each time a GAppInfo
+is launched. The callback receives the GAppInfo, the list of URIs,
+the launch context, and the pid.
+---
+ gio/gdesktopappinfo.c | 123 ++++++++++++++++++++++++++++++++++++++++++++++++-
+ gio/gdesktopappinfo.h | 31 ++++++++++++
+ gio/gio.symbols | 1 +
+ gio/giomodule.c | 3 +
+ 4 files changed, 157 insertions(+), 1 deletions(-)
+
+Index: glib-2.28.2/gio/gdesktopappinfo.c
+===================================================================
+--- glib-2.28.2.orig/gio/gdesktopappinfo.c 2011-03-05 04:49:45.000000000 +1100
++++ glib-2.28.2/gio/gdesktopappinfo.c 2011-03-08 13:31:40.605569315 +1100
+@@ -74,6 +74,12 @@
+ static void mime_info_cache_reload (const char *dir);
+ static gboolean g_desktop_app_info_ensure_saved (GDesktopAppInfo *info,
+ GError **error);
++static void
++g_desktop_app_info_launch_handler_on_launched (GDesktopAppInfoLaunchHandler *launch_handler,
++ GDesktopAppInfo *app_info,
++ GList *uris,
++ GAppLaunchContext *launch_ctx,
++ gint pid);
+
+ /**
+ * GDesktopAppInfo:
+@@ -995,6 +1001,49 @@
+ g_object_unref (msg);
+ }
+
++static void
++g_desktop_app_info_on_launched (GDesktopAppInfo *app_info,
++ GList *uris,
++ GAppLaunchContext *launch_ctx,
++ gint pid)
++{
++ static gsize lookup = 0;
++
++ if (g_once_init_enter (&lookup))
++ {
++ gsize setup_value = 1;
++ GDesktopAppInfoLaunchHandler *lookup_instance;
++ GIOExtensionPoint *ep;
++ GIOExtension *extension;
++ GList *l;
++
++ /* Ensure vfs in modules loaded */
++ _g_io_modules_ensure_loaded ();
++
++ ep = g_io_extension_point_lookup (G_DESKTOP_APP_INFO_LAUNCH_HANDLER_EXTENSION_POINT_NAME);
++
++ lookup_instance = NULL;
++ for (l = g_io_extension_point_get_extensions (ep); l != NULL; l = l->next)
++ {
++ extension = l->data;
++ lookup_instance = g_object_new (g_io_extension_get_type (extension), NULL);
++ if (lookup_instance != NULL)
++ break;
++ }
++
++ if (lookup_instance != NULL)
++ setup_value = (gsize)lookup_instance;
++
++ g_once_init_leave (&lookup, setup_value);
++ }
++
++ if (lookup == 1)
++ return;
++
++ g_desktop_app_info_launch_handler_on_launched (G_DESKTOP_APP_INFO_LAUNCH_HANDLER (lookup),
++ app_info, uris, launch_ctx, pid);
++}
++
+ #define _SPAWN_FLAGS_DEFAULT (G_SPAWN_SEARCH_PATH)
+
+ static gboolean
+@@ -1086,6 +1135,10 @@
+
+ goto out;
+ }
++ else
++ {
++ g_desktop_app_info_on_launched (info, old_uris, launch_context, pid);
++ }
+
+ if (pid_callback != NULL)
+ pid_callback (info, pid, pid_callback_data);
+@@ -3120,6 +3173,72 @@
+ return desktop_entries;
+ }
+
++/* GDesktopAppInfoLaunchHandler interface: */
++
++static void g_desktop_app_info_launch_handler_base_init (gpointer g_class);
++static void g_desktop_app_info_launch_handler_class_init (gpointer g_class,
++ gpointer class_data);
++
++GType
++g_desktop_app_info_launch_handler_get_type (void)
++{
++ static volatile gsize g_define_type_id__volatile = 0;
++
++ if (g_once_init_enter (&g_define_type_id__volatile))
++ {
++ const GTypeInfo desktop_app_info_launch_handler_info =
++ {
++ sizeof (GDesktopAppInfoLaunchHandlerIface), /* class_size */
++ g_desktop_app_info_launch_handler_base_init, /* base_init */
++ NULL, /* base_finalize */
++ g_desktop_app_info_launch_handler_class_init,
++ NULL, /* class_finalize */
++ NULL, /* class_data */
++ 0,
++ 0, /* n_preallocs */
++ NULL
++ };
++
++ GType g_define_type_id =
++ g_type_register_static (G_TYPE_INTERFACE,
++ I_("GDesktopAppInfoLaunchHandler"),
++ &desktop_app_info_launch_handler_info, 0);
++
++ g_type_interface_add_prerequisite (g_define_type_id, G_TYPE_OBJECT);
++
++ g_once_init_leave (&g_define_type_id__volatile, g_define_type_id);
++ }
++
++ return g_define_type_id__volatile;
++}
++
++static void
++g_desktop_app_info_launch_handler_class_init (gpointer g_class,
++ gpointer class_data)
++{
++}
++
++static void
++g_desktop_app_info_launch_handler_base_init (gpointer g_class)
++{
++}
++
++static void
++g_desktop_app_info_launch_handler_on_launched (GDesktopAppInfoLaunchHandler *launch_handler,
++ GDesktopAppInfo *app_info,
++ GList *uris,
++ GAppLaunchContext *launch_ctx,
++ gint pid)
++{
++ GDesktopAppInfoLaunchHandlerIface *iface;
++
++ g_return_if_fail (G_IS_DESKTOP_APP_INFO_LAUNCH_HANDLER (launch_handler));
++
++ iface = G_DESKTOP_APP_INFO_LAUNCH_HANDLER_GET_IFACE (launch_handler);
++
++ (* iface->on_launched) (launch_handler, app_info, uris, launch_ctx, pid);
++}
++
+ /* GDesktopAppInfoLookup interface: */
+
+ typedef GDesktopAppInfoLookupIface GDesktopAppInfoLookupInterface;
+Index: glib-2.28.2/gio/gdesktopappinfo.h
+===================================================================
+--- glib-2.28.2.orig/gio/gdesktopappinfo.h 2011-01-06 08:44:06.000000000 +1100
++++ glib-2.28.2/gio/gdesktopappinfo.h 2011-03-08 13:31:40.605569315 +1100
+@@ -119,6 +119,37 @@
+
+ #endif /* G_DISABLE_DEPRECATED */
+
++
++
++#define G_TYPE_DESKTOP_APP_INFO_LAUNCH_HANDLER (g_desktop_app_info_launch_handler_get_type ())
++#define G_DESKTOP_APP_INFO_LAUNCH_HANDLER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), G_TYPE_DESKTOP_APP_INFO_LAUNCH_HANDLER, GDesktopAppInfoLaunchHandler))
++#define G_IS_DESKTOP_APP_INFO_LAUNCH_HANDLER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), G_TYPE_DESKTOP_APP_INFO_LAUNCH_HANDLER))
++#define G_DESKTOP_APP_INFO_LAUNCH_HANDLER_GET_IFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), G_TYPE_DESKTOP_APP_INFO_LAUNCH_HANDLER, GDesktopAppInfoLaunchHandlerIface))
++
++/**
++ * G_DESKTOP_APP_INFO_LAUNCH_HANDLER_EXTENSION_POINT_NAME:
++ *
++ * Extension point for default handler to launching. See
++ * <link linkend="extending-gio">Extending GIO</link>.
++ */
++#define G_DESKTOP_APP_INFO_LAUNCH_HANDLER_EXTENSION_POINT_NAME "gio-desktop-app-info-launch-handler"
++
++typedef struct _GDesktopAppInfoLaunchHandler GDesktopAppInfoLaunchHandler;
++typedef struct _GDesktopAppInfoLaunchHandlerIface GDesktopAppInfoLaunchHandlerIface;
++
++struct _GDesktopAppInfoLaunchHandlerIface
++{
++ GTypeInterface g_iface;
++
++ void (* on_launched) (GDesktopAppInfoLaunchHandler *launch_handler,
++ GDesktopAppInfo *app_info,
++ GList *uris,
++ GAppLaunchContext *launch_ctx,
++ gint pid);
++};
++
++GType g_desktop_app_info_launch_handler_get_type (void) G_GNUC_CONST;
++
+ G_END_DECLS
+
+ #endif /* __G_DESKTOP_APP_INFO_H__ */
+Index: glib-2.28.2/gio/gio.symbols
+===================================================================
+--- glib-2.28.2.orig/gio/gio.symbols 2011-01-18 07:54:00.000000000 +1100
++++ glib-2.28.2/gio/gio.symbols 2011-03-08 13:31:40.605569315 +1100
+@@ -135,6 +135,7 @@
+ g_desktop_app_info_get_filename
+ g_desktop_app_info_get_is_hidden
+ g_desktop_app_info_get_type G_GNUC_CONST
++g_desktop_app_info_launch_handler_on_launched
+ g_desktop_app_info_launch_uris_as_manager
+ g_desktop_app_info_lookup_get_type G_GNUC_CONST
+ g_desktop_app_info_lookup_get_default_for_uri_scheme
+Index: glib-2.28.2/gio/giomodule.c
+===================================================================
+--- glib-2.28.2.orig/gio/giomodule.c 2011-01-06 08:44:06.000000000 +1100
++++ glib-2.28.2/gio/giomodule.c 2011-03-08 13:31:40.605569315 +1100
+@@ -559,6 +559,9 @@
+ ep = g_io_extension_point_register (G_PROXY_EXTENSION_POINT_NAME);
+ g_io_extension_point_set_required_type (ep, G_TYPE_PROXY);
+
++ ep = g_io_extension_point_register (G_DESKTOP_APP_INFO_LAUNCH_HANDLER_EXTENSION_POINT_NAME);
++ g_io_extension_point_set_required_type (ep, G_TYPE_DESKTOP_APP_INFO_LAUNCH_HANDLER);
++
+ ep = g_io_extension_point_register (G_TLS_BACKEND_EXTENSION_POINT_NAME);
+ g_io_extension_point_set_required_type (ep, G_TYPE_TLS_BACKEND);
+ }
diff --git a/dev-libs/glib/glib-2.28.5-r1.ebuild b/dev-libs/glib/glib-2.28.5-r1.ebuild
new file mode 100644
index 0000000..4533dea
--- /dev/null
+++ b/dev-libs/glib/glib-2.28.5-r1.ebuild
@@ -0,0 +1,176 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-libs/glib/glib-2.28.5.ebuild,v 1.1 2011/04/01 19:33:37 nirbheek Exp $
+
+EAPI="3"
+PYTHON_DEPEND="2"
+
+inherit autotools gnome.org libtool eutils flag-o-matic pax-utils python virtualx
+
+DESCRIPTION="The GLib library of C routines"
+HOMEPAGE="http://www.gtk.org/"
+
+LICENSE="LGPL-2"
+SLOT="2"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~sparc-fbsd ~x86-fbsd"
+IUSE="debug doc fam +introspection selinux +static-libs test xattr utouch"
+
+RDEPEND="virtual/libiconv
+ sys-libs/zlib
+ xattr? ( sys-apps/attr )
+ fam? ( virtual/fam )"
+DEPEND="${RDEPEND}
+ >=dev-util/pkgconfig-0.16
+ >=sys-devel/gettext-0.11
+ >=dev-util/gtk-doc-am-1.13
+ doc? (
+ >=dev-libs/libxslt-1.0
+ >=dev-util/gtk-doc-1.13
+ ~app-text/docbook-xml-dtd-4.1.2 )
+ test? ( >=sys-apps/dbus-1.2.14 )"
+PDEPEND="introspection? ( dev-libs/gobject-introspection )
+ !<gnome-base/gvfs-1.6.4-r990" # Earlier versions do not work with glib
+
+# XXX: Consider adding test? ( sys-devel/gdb ); assert-msg-test tries to use it
+
+pkg_setup() {
+ python_set_active_version 2
+}
+
+src_prepare() {
+ if use ia64 ; then
+ # Only apply for < 4.1
+ local major=$(gcc-major-version)
+ local minor=$(gcc-minor-version)
+ if (( major < 4 || ( major == 4 && minor == 0 ) )); then
+ epatch "${FILESDIR}/glib-2.10.3-ia64-atomic-ops.patch"
+ fi
+ fi
+
+ # Don't fail gio tests when ran without userpriv, upstream bug 552912
+ # This is only a temporary workaround, remove as soon as possible
+ epatch "${FILESDIR}/${PN}-2.18.1-workaround-gio-test-failure-without-userpriv.patch"
+
+ # Fix gmodule issues on fbsd; bug #184301
+ epatch "${FILESDIR}"/${PN}-2.12.12-fbsd.patch
+
+ # Don't check for python, hence removing the build-time python dep.
+ # We remove the gdb python scripts in src_install due to bug 291328
+ epatch "${FILESDIR}/${PN}-2.25-punt-python-check.patch"
+
+ # Fix test failure when upgrading from 2.22 to 2.24, upstream bug 621368
+ epatch "${FILESDIR}/${PN}-2.24-assert-test-failure.patch"
+
+ # Do not try to remove files on live filesystem, upstream bug #619274
+ sed 's:^\(.*"/desktop-app-info/delete".*\):/*\1*/:' \
+ -i "${S}"/gio/tests/desktop-app-info.c || die "sed failed"
+
+ # Disable failing tests, upstream bug #???
+ epatch "${FILESDIR}/${PN}-2.26.0-disable-locale-sensitive-test.patch"
+ epatch "${FILESDIR}/${PN}-2.26.0-disable-volumemonitor-broken-test.patch"
+
+ if use utouch; then
+ epatch "${FILESDIR}/${PN}-2.28.2-gio_launch_handler.patch"
+ fi
+
+ if ! use test; then
+ # don't waste time building tests
+ sed 's/^\(SUBDIRS =.*\)tests\(.*\)$/\1\2/' -i Makefile.am Makefile.in \
+ || die "sed failed"
+ fi
+
+ # Needed for the punt-python-check patch, disabling timeout test
+ # Also needed to prevent croscompile failures, see bug #267603
+ eautoreconf
+
+ [[ ${CHOST} == *-freebsd* ]] && elibtoolize
+
+ epunt_cxx
+}
+
+src_configure() {
+ local myconf
+
+ # Building with --disable-debug highly unrecommended. It will build glib in
+ # an unusable form as it disables some commonly used API. Please do not
+ # convert this to the use_enable form, as it results in a broken build.
+ # -- compnerd (3/27/06)
+ # disable-visibility needed for reference debug, bug #274647
+ use debug && myconf="--enable-debug --disable-visibility"
+
+ # Always use internal libpcre, bug #254659
+ econf ${myconf} \
+ $(use_enable xattr) \
+ $(use_enable doc man) \
+ $(use_enable doc gtk-doc) \
+ $(use_enable fam) \
+ $(use_enable selinux) \
+ $(use_enable static-libs static) \
+ --enable-regex \
+ --with-pcre=internal \
+ --with-threads=posix \
+ --disable-dtrace \
+ --disable-systemtap
+}
+
+src_install() {
+ local f
+ emake DESTDIR="${D}" install || die "Installation failed"
+
+ # Do not install charset.alias even if generated, leave it to libiconv
+ rm -f "${ED}/usr/lib/charset.alias"
+
+ # Don't install gdb python macros, bug 291328
+ rm -rf "${ED}/usr/share/gdb/" "${ED}/usr/share/glib-2.0/gdb/"
+
+ dodoc AUTHORS ChangeLog* NEWS* README || die "dodoc failed"
+
+ insinto /usr/share/bash-completion
+ for f in gdbus gsettings; do
+ newins "${ED}/etc/bash_completion.d/${f}-bash-completion.sh" ${f} || die
+ done
+ rm -rf "${ED}/etc"
+}
+
+src_test() {
+ unset DBUS_SESSION_BUS_ADDRESS
+ export XDG_CONFIG_DIRS=/etc/xdg
+ export XDG_DATA_DIRS=/usr/local/share:/usr/share
+ export G_DBUS_COOKIE_SHA1_KEYRING_DIR="${T}/temp"
+ export XDG_DATA_HOME="${T}"
+ unset GSETTINGS_BACKEND # bug 352451
+
+ # Related test is a bit nitpicking
+ mkdir "$G_DBUS_COOKIE_SHA1_KEYRING_DIR"
+ chmod 0700 "$G_DBUS_COOKIE_SHA1_KEYRING_DIR"
+
+ # Hardened: gdb needs this, bug #338891
+ if host-is-pax ; then
+ pax-mark -mr "${S}"/tests/.libs/assert-msg-test \
+ || die "Hardened adjustment failed"
+ fi
+
+ # Need X for dbus-launch session X11 initialization
+ Xemake check || die "tests failed"
+}
+
+pkg_preinst() {
+ # Only give the introspection message if:
+ # * The user has it enabled
+ # * Has glib already installed
+ # * Previous version was different from new version
+ if use introspection && has_version "${CATEGORY}/${PN}"; then
+ if ! has_version "=${CATEGORY}/${PF}"; then
+ ewarn "You must rebuild gobject-introspection so that the installed"
+ ewarn "typelibs and girs are regenerated for the new APIs in glib"
+ fi
+ fi
+}
+
+pkg_postinst() {
+ # Inform users about possible breakage when updating glib and not dbus-glib, bug #297483
+ if has_version dev-libs/dbus-glib; then
+ ewarn "If you experience a breakage after updating dev-libs/glib try"
+ ewarn "rebuilding dev-libs/dbus-glib"
+ fi
+}
diff --git a/dev-libs/glib/glib-2.28.6-r1.ebuild b/dev-libs/glib/glib-2.28.6-r1.ebuild
new file mode 100644
index 0000000..653096a
--- /dev/null
+++ b/dev-libs/glib/glib-2.28.6-r1.ebuild
@@ -0,0 +1,176 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-libs/glib/glib-2.28.6.ebuild,v 1.1 2011/04/01 19:33:37 nirbheek Exp $
+
+EAPI="3"
+PYTHON_DEPEND="2"
+
+inherit autotools gnome.org libtool eutils flag-o-matic pax-utils python virtualx
+
+DESCRIPTION="The GLib library of C routines"
+HOMEPAGE="http://www.gtk.org/"
+
+LICENSE="LGPL-2"
+SLOT="2"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~sparc-fbsd ~x86-fbsd"
+IUSE="debug doc fam +introspection selinux +static-libs test xattr utouch"
+
+RDEPEND="virtual/libiconv
+ sys-libs/zlib
+ xattr? ( sys-apps/attr )
+ fam? ( virtual/fam )"
+DEPEND="${RDEPEND}
+ >=dev-util/pkgconfig-0.16
+ >=sys-devel/gettext-0.11
+ >=dev-util/gtk-doc-am-1.13
+ doc? (
+ >=dev-libs/libxslt-1.0
+ >=dev-util/gtk-doc-1.13
+ ~app-text/docbook-xml-dtd-4.1.2 )
+ test? ( >=sys-apps/dbus-1.2.14 )"
+PDEPEND="introspection? ( dev-libs/gobject-introspection )
+ !<gnome-base/gvfs-1.6.4-r990" # Earlier versions do not work with glib
+
+# XXX: Consider adding test? ( sys-devel/gdb ); assert-msg-test tries to use it
+
+pkg_setup() {
+ python_set_active_version 2
+}
+
+src_prepare() {
+ if use ia64 ; then
+ # Only apply for < 4.1
+ local major=$(gcc-major-version)
+ local minor=$(gcc-minor-version)
+ if (( major < 4 || ( major == 4 && minor == 0 ) )); then
+ epatch "${FILESDIR}/glib-2.10.3-ia64-atomic-ops.patch"
+ fi
+ fi
+
+ # Don't fail gio tests when ran without userpriv, upstream bug 552912
+ # This is only a temporary workaround, remove as soon as possible
+ epatch "${FILESDIR}/${PN}-2.18.1-workaround-gio-test-failure-without-userpriv.patch"
+
+ # Fix gmodule issues on fbsd; bug #184301
+ epatch "${FILESDIR}"/${PN}-2.12.12-fbsd.patch
+
+ # Don't check for python, hence removing the build-time python dep.
+ # We remove the gdb python scripts in src_install due to bug 291328
+ epatch "${FILESDIR}/${PN}-2.25-punt-python-check.patch"
+
+ # Fix test failure when upgrading from 2.22 to 2.24, upstream bug 621368
+ epatch "${FILESDIR}/${PN}-2.24-assert-test-failure.patch"
+
+ # Do not try to remove files on live filesystem, upstream bug #619274
+ sed 's:^\(.*"/desktop-app-info/delete".*\):/*\1*/:' \
+ -i "${S}"/gio/tests/desktop-app-info.c || die "sed failed"
+
+ # Disable failing tests, upstream bug #???
+ epatch "${FILESDIR}/${PN}-2.26.0-disable-locale-sensitive-test.patch"
+ epatch "${FILESDIR}/${PN}-2.26.0-disable-volumemonitor-broken-test.patch"
+
+ if use utouch; then
+ epatch "${FILESDIR}/${PN}-2.28.2-gio_launch_handler.patch"
+ fi
+
+ if ! use test; then
+ # don't waste time building tests
+ sed 's/^\(SUBDIRS =.*\)tests\(.*\)$/\1\2/' -i Makefile.am Makefile.in \
+ || die "sed failed"
+ fi
+
+ # Needed for the punt-python-check patch, disabling timeout test
+ # Also needed to prevent croscompile failures, see bug #267603
+ eautoreconf
+
+ [[ ${CHOST} == *-freebsd* ]] && elibtoolize
+
+ epunt_cxx
+}
+
+src_configure() {
+ local myconf
+
+ # Building with --disable-debug highly unrecommended. It will build glib in
+ # an unusable form as it disables some commonly used API. Please do not
+ # convert this to the use_enable form, as it results in a broken build.
+ # -- compnerd (3/27/06)
+ # disable-visibility needed for reference debug, bug #274647
+ use debug && myconf="--enable-debug --disable-visibility"
+
+ # Always use internal libpcre, bug #254659
+ econf ${myconf} \
+ $(use_enable xattr) \
+ $(use_enable doc man) \
+ $(use_enable doc gtk-doc) \
+ $(use_enable fam) \
+ $(use_enable selinux) \
+ $(use_enable static-libs static) \
+ --enable-regex \
+ --with-pcre=internal \
+ --with-threads=posix \
+ --disable-dtrace \
+ --disable-systemtap
+}
+
+src_install() {
+ local f
+ emake DESTDIR="${D}" install || die "Installation failed"
+
+ # Do not install charset.alias even if generated, leave it to libiconv
+ rm -f "${ED}/usr/lib/charset.alias"
+
+ # Don't install gdb python macros, bug 291328
+ rm -rf "${ED}/usr/share/gdb/" "${ED}/usr/share/glib-2.0/gdb/"
+
+ dodoc AUTHORS ChangeLog* NEWS* README || die "dodoc failed"
+
+ insinto /usr/share/bash-completion
+ for f in gdbus gsettings; do
+ newins "${ED}/etc/bash_completion.d/${f}-bash-completion.sh" ${f} || die
+ done
+ rm -rf "${ED}/etc"
+}
+
+src_test() {
+ unset DBUS_SESSION_BUS_ADDRESS
+ export XDG_CONFIG_DIRS=/etc/xdg
+ export XDG_DATA_DIRS=/usr/local/share:/usr/share
+ export G_DBUS_COOKIE_SHA1_KEYRING_DIR="${T}/temp"
+ export XDG_DATA_HOME="${T}"
+ unset GSETTINGS_BACKEND # bug 352451
+
+ # Related test is a bit nitpicking
+ mkdir "$G_DBUS_COOKIE_SHA1_KEYRING_DIR"
+ chmod 0700 "$G_DBUS_COOKIE_SHA1_KEYRING_DIR"
+
+ # Hardened: gdb needs this, bug #338891
+ if host-is-pax ; then
+ pax-mark -mr "${S}"/tests/.libs/assert-msg-test \
+ || die "Hardened adjustment failed"
+ fi
+
+ # Need X for dbus-launch session X11 initialization
+ Xemake check || die "tests failed"
+}
+
+pkg_preinst() {
+ # Only give the introspection message if:
+ # * The user has it enabled
+ # * Has glib already installed
+ # * Previous version was different from new version
+ if use introspection && has_version "${CATEGORY}/${PN}"; then
+ if ! has_version "=${CATEGORY}/${PF}"; then
+ ewarn "You must rebuild gobject-introspection so that the installed"
+ ewarn "typelibs and girs are regenerated for the new APIs in glib"
+ fi
+ fi
+}
+
+pkg_postinst() {
+ # Inform users about possible breakage when updating glib and not dbus-glib, bug #297483
+ if has_version dev-libs/dbus-glib; then
+ ewarn "If you experience a breakage after updating dev-libs/glib try"
+ ewarn "rebuilding dev-libs/dbus-glib"
+ fi
+}
diff --git a/dev-libs/glib/glib-2.28.7-r1.ebuild b/dev-libs/glib/glib-2.28.7-r1.ebuild
new file mode 100644
index 0000000..653096a
--- /dev/null
+++ b/dev-libs/glib/glib-2.28.7-r1.ebuild
@@ -0,0 +1,176 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-libs/glib/glib-2.28.6.ebuild,v 1.1 2011/04/01 19:33:37 nirbheek Exp $
+
+EAPI="3"
+PYTHON_DEPEND="2"
+
+inherit autotools gnome.org libtool eutils flag-o-matic pax-utils python virtualx
+
+DESCRIPTION="The GLib library of C routines"
+HOMEPAGE="http://www.gtk.org/"
+
+LICENSE="LGPL-2"
+SLOT="2"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~sparc-fbsd ~x86-fbsd"
+IUSE="debug doc fam +introspection selinux +static-libs test xattr utouch"
+
+RDEPEND="virtual/libiconv
+ sys-libs/zlib
+ xattr? ( sys-apps/attr )
+ fam? ( virtual/fam )"
+DEPEND="${RDEPEND}
+ >=dev-util/pkgconfig-0.16
+ >=sys-devel/gettext-0.11
+ >=dev-util/gtk-doc-am-1.13
+ doc? (
+ >=dev-libs/libxslt-1.0
+ >=dev-util/gtk-doc-1.13
+ ~app-text/docbook-xml-dtd-4.1.2 )
+ test? ( >=sys-apps/dbus-1.2.14 )"
+PDEPEND="introspection? ( dev-libs/gobject-introspection )
+ !<gnome-base/gvfs-1.6.4-r990" # Earlier versions do not work with glib
+
+# XXX: Consider adding test? ( sys-devel/gdb ); assert-msg-test tries to use it
+
+pkg_setup() {
+ python_set_active_version 2
+}
+
+src_prepare() {
+ if use ia64 ; then
+ # Only apply for < 4.1
+ local major=$(gcc-major-version)
+ local minor=$(gcc-minor-version)
+ if (( major < 4 || ( major == 4 && minor == 0 ) )); then
+ epatch "${FILESDIR}/glib-2.10.3-ia64-atomic-ops.patch"
+ fi
+ fi
+
+ # Don't fail gio tests when ran without userpriv, upstream bug 552912
+ # This is only a temporary workaround, remove as soon as possible
+ epatch "${FILESDIR}/${PN}-2.18.1-workaround-gio-test-failure-without-userpriv.patch"
+
+ # Fix gmodule issues on fbsd; bug #184301
+ epatch "${FILESDIR}"/${PN}-2.12.12-fbsd.patch
+
+ # Don't check for python, hence removing the build-time python dep.
+ # We remove the gdb python scripts in src_install due to bug 291328
+ epatch "${FILESDIR}/${PN}-2.25-punt-python-check.patch"
+
+ # Fix test failure when upgrading from 2.22 to 2.24, upstream bug 621368
+ epatch "${FILESDIR}/${PN}-2.24-assert-test-failure.patch"
+
+ # Do not try to remove files on live filesystem, upstream bug #619274
+ sed 's:^\(.*"/desktop-app-info/delete".*\):/*\1*/:' \
+ -i "${S}"/gio/tests/desktop-app-info.c || die "sed failed"
+
+ # Disable failing tests, upstream bug #???
+ epatch "${FILESDIR}/${PN}-2.26.0-disable-locale-sensitive-test.patch"
+ epatch "${FILESDIR}/${PN}-2.26.0-disable-volumemonitor-broken-test.patch"
+
+ if use utouch; then
+ epatch "${FILESDIR}/${PN}-2.28.2-gio_launch_handler.patch"
+ fi
+
+ if ! use test; then
+ # don't waste time building tests
+ sed 's/^\(SUBDIRS =.*\)tests\(.*\)$/\1\2/' -i Makefile.am Makefile.in \
+ || die "sed failed"
+ fi
+
+ # Needed for the punt-python-check patch, disabling timeout test
+ # Also needed to prevent croscompile failures, see bug #267603
+ eautoreconf
+
+ [[ ${CHOST} == *-freebsd* ]] && elibtoolize
+
+ epunt_cxx
+}
+
+src_configure() {
+ local myconf
+
+ # Building with --disable-debug highly unrecommended. It will build glib in
+ # an unusable form as it disables some commonly used API. Please do not
+ # convert this to the use_enable form, as it results in a broken build.
+ # -- compnerd (3/27/06)
+ # disable-visibility needed for reference debug, bug #274647
+ use debug && myconf="--enable-debug --disable-visibility"
+
+ # Always use internal libpcre, bug #254659
+ econf ${myconf} \
+ $(use_enable xattr) \
+ $(use_enable doc man) \
+ $(use_enable doc gtk-doc) \
+ $(use_enable fam) \
+ $(use_enable selinux) \
+ $(use_enable static-libs static) \
+ --enable-regex \
+ --with-pcre=internal \
+ --with-threads=posix \
+ --disable-dtrace \
+ --disable-systemtap
+}
+
+src_install() {
+ local f
+ emake DESTDIR="${D}" install || die "Installation failed"
+
+ # Do not install charset.alias even if generated, leave it to libiconv
+ rm -f "${ED}/usr/lib/charset.alias"
+
+ # Don't install gdb python macros, bug 291328
+ rm -rf "${ED}/usr/share/gdb/" "${ED}/usr/share/glib-2.0/gdb/"
+
+ dodoc AUTHORS ChangeLog* NEWS* README || die "dodoc failed"
+
+ insinto /usr/share/bash-completion
+ for f in gdbus gsettings; do
+ newins "${ED}/etc/bash_completion.d/${f}-bash-completion.sh" ${f} || die
+ done
+ rm -rf "${ED}/etc"
+}
+
+src_test() {
+ unset DBUS_SESSION_BUS_ADDRESS
+ export XDG_CONFIG_DIRS=/etc/xdg
+ export XDG_DATA_DIRS=/usr/local/share:/usr/share
+ export G_DBUS_COOKIE_SHA1_KEYRING_DIR="${T}/temp"
+ export XDG_DATA_HOME="${T}"
+ unset GSETTINGS_BACKEND # bug 352451
+
+ # Related test is a bit nitpicking
+ mkdir "$G_DBUS_COOKIE_SHA1_KEYRING_DIR"
+ chmod 0700 "$G_DBUS_COOKIE_SHA1_KEYRING_DIR"
+
+ # Hardened: gdb needs this, bug #338891
+ if host-is-pax ; then
+ pax-mark -mr "${S}"/tests/.libs/assert-msg-test \
+ || die "Hardened adjustment failed"
+ fi
+
+ # Need X for dbus-launch session X11 initialization
+ Xemake check || die "tests failed"
+}
+
+pkg_preinst() {
+ # Only give the introspection message if:
+ # * The user has it enabled
+ # * Has glib already installed
+ # * Previous version was different from new version
+ if use introspection && has_version "${CATEGORY}/${PN}"; then
+ if ! has_version "=${CATEGORY}/${PF}"; then
+ ewarn "You must rebuild gobject-introspection so that the installed"
+ ewarn "typelibs and girs are regenerated for the new APIs in glib"
+ fi
+ fi
+}
+
+pkg_postinst() {
+ # Inform users about possible breakage when updating glib and not dbus-glib, bug #297483
+ if has_version dev-libs/dbus-glib; then
+ ewarn "If you experience a breakage after updating dev-libs/glib try"
+ ewarn "rebuilding dev-libs/dbus-glib"
+ fi
+}
diff --git a/dev-libs/glib/glib-2.28.8-r1.ebuild b/dev-libs/glib/glib-2.28.8-r1.ebuild
new file mode 100644
index 0000000..dfa7b9d
--- /dev/null
+++ b/dev-libs/glib/glib-2.28.8-r1.ebuild
@@ -0,0 +1,203 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-libs/glib/glib-2.28.8.ebuild,v 1.2 2011/06/08 17:47:44 pacho Exp $
+
+EAPI="3"
+PYTHON_DEPEND="2"
+
+inherit autotools gnome.org libtool eutils flag-o-matic pax-utils python virtualx
+
+DESCRIPTION="The GLib library of C routines"
+HOMEPAGE="http://www.gtk.org/"
+SRC_URI="${SRC_URI}
+ http://pkgconfig.freedesktop.org/releases/pkg-config-0.26.tar.gz" # pkg.m4 for eautoreconf
+
+LICENSE="LGPL-2"
+SLOT="2"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~sparc-fbsd ~x86-fbsd"
+IUSE="debug doc fam +introspection selinux +static-libs test xattr utouch"
+
+RDEPEND="virtual/libiconv
+ sys-libs/zlib
+ xattr? ( sys-apps/attr )
+ fam? ( virtual/fam )"
+DEPEND="${RDEPEND}
+ >=sys-devel/gettext-0.11
+ >=dev-util/gtk-doc-am-1.13
+ doc? (
+ >=dev-libs/libxslt-1.0
+ >=dev-util/gtk-doc-1.13
+ ~app-text/docbook-xml-dtd-4.1.2 )
+ test? ( dev-util/pkgconfig
+ >=sys-apps/dbus-1.2.14 )
+ !<dev-util/gtk-doc-1.15-r2"
+PDEPEND="introspection? ( dev-libs/gobject-introspection )
+ !<gnome-base/gvfs-1.6.4-r990" # Earlier versions do not work with glib
+
+# XXX: Consider adding test? ( sys-devel/gdb ); assert-msg-test tries to use it
+
+pkg_setup() {
+ python_set_active_version 2
+}
+
+src_prepare() {
+ mv -vf "${WORKDIR}"/pkg-config-*/pkg.m4 "${WORKDIR}"/ || die
+
+ if use ia64 ; then
+ # Only apply for < 4.1
+ local major=$(gcc-major-version)
+ local minor=$(gcc-minor-version)
+ if (( major < 4 || ( major == 4 && minor == 0 ) )); then
+ epatch "${FILESDIR}/glib-2.10.3-ia64-atomic-ops.patch"
+ fi
+ fi
+
+ # Don't fail gio tests when ran without userpriv, upstream bug 552912
+ # This is only a temporary workaround, remove as soon as possible
+ epatch "${FILESDIR}/${PN}-2.18.1-workaround-gio-test-failure-without-userpriv.patch"
+
+ # Fix gmodule issues on fbsd; bug #184301
+ epatch "${FILESDIR}"/${PN}-2.12.12-fbsd.patch
+
+ # Don't check for python, hence removing the build-time python dep.
+ # We remove the gdb python scripts in src_install due to bug 291328
+ epatch "${FILESDIR}/${PN}-2.25-punt-python-check.patch"
+
+ # Fix test failure when upgrading from 2.22 to 2.24, upstream bug 621368
+ epatch "${FILESDIR}/${PN}-2.24-assert-test-failure.patch"
+
+ # Do not try to remove files on live filesystem, upstream bug #619274
+ sed 's:^\(.*"/desktop-app-info/delete".*\):/*\1*/:' \
+ -i "${S}"/gio/tests/desktop-app-info.c || die "sed failed"
+
+ # Disable failing tests, upstream bug #???
+ epatch "${FILESDIR}/${PN}-2.26.0-disable-locale-sensitive-test.patch"
+ epatch "${FILESDIR}/${PN}-2.26.0-disable-volumemonitor-broken-test.patch"
+
+ if use utouch; then
+ epatch "${FILESDIR}/${PN}-2.28.2-gio_launch_handler.patch"
+ fi
+
+ # Disable tests requiring dev-util/desktop-file-utils when not installed, bug #286629
+ if ! has_version dev-util/desktop-file-utils ; then
+ ewarn "Some tests will be skipped due dev-util/desktop-file-utils not being present on your system,"
+ ewarn "think on installing it to get these tests run."
+ sed -i -e "/appinfo\/associations/d" gio/tests/appinfo.c || die
+ sed -i -e "/desktop-app-info\/default/d" gio/tests/desktop-app-info.c || die
+ sed -i -e "/desktop-app-info\/fallback/d" gio/tests/desktop-app-info.c || die
+ sed -i -e "/desktop-app-info\/lastused/d" gio/tests/desktop-app-info.c || die
+ fi
+
+ # Disable tests requiring dev-python/dbus-python, bug #349236
+ if ! has_version dev-python/dbus-python ; then
+ ewarn "Some tests will be skipped due dev-python/dbus-python not being present on your system,"
+ ewarn "think on installing it to get these tests run."
+ sed -i -e "/connection\/filter/d" gio/tests/gdbus-connection.c || die
+ sed -i -e "/connection\/large_message/d" gio/tests/gdbus-connection-slow.c || die
+ sed -i -e "/gdbus\/proxy/d" gio/tests/gdbus-proxy.c || die
+ sed -i -e "/gdbus\/bus-watch-name/d" gio/tests/gdbus-names.c || die
+ sed -i -e "/gdbus\/proxy-well-known-name/d" gio/tests/gdbus-proxy-well-known-name.c || die
+ sed -i -e "/gdbus\/introspection-parser/d" gio/tests/gdbus-introspection.c || die
+ sed -i -e "/gdbus\/method-calls-in-thread/d" gio/tests/gdbus-threading.c || die
+ fi
+
+ if ! use test; then
+ # don't waste time building tests
+ sed 's/^\(SUBDIRS =.*\)tests\(.*\)$/\1\2/' -i Makefile.am Makefile.in \
+ || die "sed failed"
+ fi
+
+ # Needed for the punt-python-check patch, disabling timeout test
+ # Also needed to prevent croscompile failures, see bug #267603
+ AT_M4DIR="${WORKDIR}" eautoreconf
+
+ [[ ${CHOST} == *-freebsd* ]] && elibtoolize
+
+ epunt_cxx
+}
+
+src_configure() {
+ local myconf
+
+ # Building with --disable-debug highly unrecommended. It will build glib in
+ # an unusable form as it disables some commonly used API. Please do not
+ # convert this to the use_enable form, as it results in a broken build.
+ # -- compnerd (3/27/06)
+ use debug && myconf="--enable-debug"
+
+ # Always use internal libpcre, bug #254659
+ econf ${myconf} \
+ $(use_enable xattr) \
+ $(use_enable doc man) \
+ $(use_enable doc gtk-doc) \
+ $(use_enable fam) \
+ $(use_enable selinux) \
+ $(use_enable static-libs static) \
+ --enable-regex \
+ --with-pcre=internal \
+ --with-threads=posix \
+ --disable-dtrace \
+ --disable-systemtap
+}
+
+src_install() {
+ local f
+ emake DESTDIR="${D}" install || die "Installation failed"
+
+ # Do not install charset.alias even if generated, leave it to libiconv
+ rm -f "${ED}/usr/lib/charset.alias"
+
+ # Don't install gdb python macros, bug 291328
+ rm -rf "${ED}/usr/share/gdb/" "${ED}/usr/share/glib-2.0/gdb/"
+
+ dodoc AUTHORS ChangeLog* NEWS* README || die "dodoc failed"
+
+ insinto /usr/share/bash-completion
+ for f in gdbus gsettings; do
+ newins "${ED}/etc/bash_completion.d/${f}-bash-completion.sh" ${f} || die
+ done
+ rm -rf "${ED}/etc"
+}
+
+src_test() {
+ unset DBUS_SESSION_BUS_ADDRESS
+ export XDG_CONFIG_DIRS=/etc/xdg
+ export XDG_DATA_DIRS=/usr/local/share:/usr/share
+ export G_DBUS_COOKIE_SHA1_KEYRING_DIR="${T}/temp"
+ export XDG_DATA_HOME="${T}"
+ unset GSETTINGS_BACKEND # bug 352451
+
+ # Related test is a bit nitpicking
+ mkdir "$G_DBUS_COOKIE_SHA1_KEYRING_DIR"
+ chmod 0700 "$G_DBUS_COOKIE_SHA1_KEYRING_DIR"
+
+ # Hardened: gdb needs this, bug #338891
+ if host-is-pax ; then
+ pax-mark -mr "${S}"/tests/.libs/assert-msg-test \
+ || die "Hardened adjustment failed"
+ fi
+
+ # Need X for dbus-launch session X11 initialization
+ Xemake check || die "tests failed"
+}
+
+pkg_preinst() {
+ # Only give the introspection message if:
+ # * The user has it enabled
+ # * Has glib already installed
+ # * Previous version was different from new version
+ if use introspection && has_version "${CATEGORY}/${PN}"; then
+ if ! has_version "=${CATEGORY}/${PF}"; then
+ ewarn "You must rebuild gobject-introspection so that the installed"
+ ewarn "typelibs and girs are regenerated for the new APIs in glib"
+ fi
+ fi
+}
+
+pkg_postinst() {
+ # Inform users about possible breakage when updating glib and not dbus-glib, bug #297483
+ if has_version dev-libs/dbus-glib; then
+ ewarn "If you experience a breakage after updating dev-libs/glib try"
+ ewarn "rebuilding dev-libs/dbus-glib"
+ fi
+}
diff --git a/dev-libs/glib/metadata.xml b/dev-libs/glib/metadata.xml
new file mode 100644
index 0000000..8b8529b
--- /dev/null
+++ b/dev-libs/glib/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>gnome</herd>
+ <use>
+ <flag name="introspection">Use <pkg>dev-libs/gobject-introspection</pkg>
+ for introspection</flag>
+ <flag name="utouch">Compile with support for utouch</flag>
+ </use>
+</pkgmetadata>