diff options
Diffstat (limited to 'dev-libs/glib')
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> |