summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Gryniewicz <dang@gentoo.org>2007-10-29 17:28:01 +0000
committerDaniel Gryniewicz <dang@gentoo.org>2007-10-29 17:28:01 +0000
commit00a6d5d61459fc849e90eec1eb912a276d0c43e5 (patch)
tree382cafd1af0e245f8bec1f42f176c5b4034b15d4 /gnome-base
parentBump and enable bsdcpio. (diff)
downloadhistorical-00a6d5d61459fc849e90eec1eb912a276d0c43e5.tar.gz
historical-00a6d5d61459fc849e90eec1eb912a276d0c43e5.tar.bz2
historical-00a6d5d61459fc849e90eec1eb912a276d0c43e5.zip
Bump to 2.20.0-r1
* Crash with small fonts (bugs.gnome.org #454884) (thanks plaes) * Thumbnails not showing (bugs.gnome.org #480608) (thanks plaes) * Missing thumbnail frames (bugs.gnome.org #478363) (thanks plaes) * Add new gstreamer/totem support for sound previews; bug #196822 Package-Manager: portage-2.1.3.16
Diffstat (limited to 'gnome-base')
-rw-r--r--gnome-base/nautilus/ChangeLog16
-rw-r--r--gnome-base/nautilus/Manifest41
-rw-r--r--gnome-base/nautilus/files/digest-nautilus-2.20.0-r13
-rw-r--r--gnome-base/nautilus/files/nautilus-2.20.0-async-thumbnail-framing.patch27
-rw-r--r--gnome-base/nautilus/files/nautilus-2.20.0-small-font-crasher.patch12
-rw-r--r--gnome-base/nautilus/files/nautilus-2.20.0-sound-preview-cleanup.patch414
-rw-r--r--gnome-base/nautilus/files/nautilus-2.20.0-thumbnail-flashing.patch145
-rw-r--r--gnome-base/nautilus/nautilus-2.20.0-r1.ebuild88
8 files changed, 741 insertions, 5 deletions
diff --git a/gnome-base/nautilus/ChangeLog b/gnome-base/nautilus/ChangeLog
index c6a1d0fedd69..e34b9d998a52 100644
--- a/gnome-base/nautilus/ChangeLog
+++ b/gnome-base/nautilus/ChangeLog
@@ -1,6 +1,20 @@
# ChangeLog for gnome-base/nautilus
# Copyright 2002-2007 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/gnome-base/nautilus/ChangeLog,v 1.241 2007/10/19 09:50:59 uberlord Exp $
+# $Header: /var/cvsroot/gentoo-x86/gnome-base/nautilus/ChangeLog,v 1.242 2007/10/29 17:28:00 dang Exp $
+
+*nautilus-2.20.0-r1 (29 Oct 2007)
+
+ 29 Oct 2007; Daniel Gryniewicz <dang@gentoo.org>
+ +files/nautilus-2.20.0-async-thumbnail-framing.patch,
+ +files/nautilus-2.20.0-small-font-crasher.patch,
+ +files/nautilus-2.20.0-sound-preview-cleanup.patch,
+ +files/nautilus-2.20.0-thumbnail-flashing.patch,
+ +nautilus-2.20.0-r1.ebuild:
+ Bump to 2.20.0-r1
+ * Crash with small fonts (bugs.gnome.org #454884) (thanks plaes)
+ * Thumbnails not showing (bugs.gnome.org #480608) (thanks plaes)
+ * Missing thumbnail frames (bugs.gnome.org #478363) (thanks plaes)
+ * Add new gstreamer/totem support for sound previews; bug #196822
19 Oct 2007; Roy Marples <uberlord@gentoo.org>
+files/nautilus-2.20.0-statfs.patch, nautilus-2.20.0.ebuild:
diff --git a/gnome-base/nautilus/Manifest b/gnome-base/nautilus/Manifest
index cd1445dbcbcc..adcbd16f9dd1 100644
--- a/gnome-base/nautilus/Manifest
+++ b/gnome-base/nautilus/Manifest
@@ -1,3 +1,6 @@
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA1
+
AUX nautilus-2.16.0-idl_include.patch 575 RMD160 8ee41c84f597683e2d34eea5acdb43f5592d3262 SHA1 738a2e9bb13aab07ed256e37af3ddc10fa2dfe0e SHA256 07cd75e4cf1c34c5fcd3f4d2257ae1d9c578cb2c2f014e69280e511de28862f0
MD5 c496549444ef2727f6c0555b590ef4fe files/nautilus-2.16.0-idl_include.patch 575
RMD160 8ee41c84f597683e2d34eea5acdb43f5592d3262 files/nautilus-2.16.0-idl_include.patch 575
@@ -10,10 +13,26 @@ AUX nautilus-2.19.90-noesd.patch 5535 RMD160 575daa550c85d06985d871970cf3e5dfa03
MD5 e2c12a6d42644954821357ba855497fe files/nautilus-2.19.90-noesd.patch 5535
RMD160 575daa550c85d06985d871970cf3e5dfa039a2a5 files/nautilus-2.19.90-noesd.patch 5535
SHA256 b530b9f7a54d9c45af446f91d9377240ea0d49ea31684d928a7d6cfb07f300fa files/nautilus-2.19.90-noesd.patch 5535
+AUX nautilus-2.20.0-async-thumbnail-framing.patch 911 RMD160 c7886957cb703ef97b3210d4d84f9b21a261c634 SHA1 93c2ccfac58fb1832cdc726f2a7c19f423a1ac45 SHA256 80afad12814bc55540e0a98535a81b4fc9a409b7bfc58a06f0bd35a6b2cb89db
+MD5 58dbb68fe0f549f778af2b5489064e64 files/nautilus-2.20.0-async-thumbnail-framing.patch 911
+RMD160 c7886957cb703ef97b3210d4d84f9b21a261c634 files/nautilus-2.20.0-async-thumbnail-framing.patch 911
+SHA256 80afad12814bc55540e0a98535a81b4fc9a409b7bfc58a06f0bd35a6b2cb89db files/nautilus-2.20.0-async-thumbnail-framing.patch 911
+AUX nautilus-2.20.0-small-font-crasher.patch 492 RMD160 0ee8dacd7d83db84864c477b59a375563c016591 SHA1 6306c38a91d6d6f8fcf609a5f3bacabc7bb86eda SHA256 b1d4b3ebd00569df1aa8e40e8f5bb5199f73167267b81c18c165991748713eb4
+MD5 50160d2e6221fc691f39f341467783e9 files/nautilus-2.20.0-small-font-crasher.patch 492
+RMD160 0ee8dacd7d83db84864c477b59a375563c016591 files/nautilus-2.20.0-small-font-crasher.patch 492
+SHA256 b1d4b3ebd00569df1aa8e40e8f5bb5199f73167267b81c18c165991748713eb4 files/nautilus-2.20.0-small-font-crasher.patch 492
+AUX nautilus-2.20.0-sound-preview-cleanup.patch 13013 RMD160 19f50049d52145d2f80326d96ededbed9f895671 SHA1 8a6e8e2340c9c5f64a02438ed5025fe3a5c2b164 SHA256 6b0e7f8c5b50b5ef54d6a075c90324be9b18164aa951fca612c58d31c7d63a38
+MD5 bc9e85eeace20684d29f698e145548ca files/nautilus-2.20.0-sound-preview-cleanup.patch 13013
+RMD160 19f50049d52145d2f80326d96ededbed9f895671 files/nautilus-2.20.0-sound-preview-cleanup.patch 13013
+SHA256 6b0e7f8c5b50b5ef54d6a075c90324be9b18164aa951fca612c58d31c7d63a38 files/nautilus-2.20.0-sound-preview-cleanup.patch 13013
AUX nautilus-2.20.0-statfs.patch 470 RMD160 860c6179e0b2796b1bb44fb53caf38b243602de7 SHA1 586f1e438c8ffcd176b056992679b5c6e94fd533 SHA256 0d5cb2624ed32a1eb37ae9619604b2935ba56e22453aeabda36df75b79772623
MD5 354b7893e81dc020002e3e33ce80959d files/nautilus-2.20.0-statfs.patch 470
RMD160 860c6179e0b2796b1bb44fb53caf38b243602de7 files/nautilus-2.20.0-statfs.patch 470
SHA256 0d5cb2624ed32a1eb37ae9619604b2935ba56e22453aeabda36df75b79772623 files/nautilus-2.20.0-statfs.patch 470
+AUX nautilus-2.20.0-thumbnail-flashing.patch 4787 RMD160 d9cf1ace6cf1f367cfdd66317ee1bbfb96957b76 SHA1 db9503f51aefbe541aeb39541733543dcea551f2 SHA256 bec9d2a07c8b04137b50591b753e4913583dc673c889f44de40ddbadff5ab6ec
+MD5 340aac6831eb26d04474c389c3150e42 files/nautilus-2.20.0-thumbnail-flashing.patch 4787
+RMD160 d9cf1ace6cf1f367cfdd66317ee1bbfb96957b76 files/nautilus-2.20.0-thumbnail-flashing.patch 4787
+SHA256 bec9d2a07c8b04137b50591b753e4913583dc673c889f44de40ddbadff5ab6ec files/nautilus-2.20.0-thumbnail-flashing.patch 4787
DIST nautilus-2.16.3.tar.bz2 4268274 RMD160 a7723054cacb954f48376e68de66dd144b36d3c5 SHA1 329e11d4c5e77346350b69f34cf2eb749807b12e SHA256 af2ff5ad922e28cc831b4ac3d83f0f35eedcf7a3230d3df76aa9f91c3ffbc36c
DIST nautilus-2.18.1.tar.bz2 4325821 RMD160 3cdef422befc96bbd921f2f4788d302cf9249204 SHA1 c1922ebee16a5ecb51f27af24e19142b48120820 SHA256 b42e90788c14a4aecd748963135bf54fef20d7a19a448f7393d446028f73ec3b
DIST nautilus-2.18.3.tar.bz2 4331118 RMD160 2069e1e9bb00c1ef6d942b114f8acda4776a06b0 SHA1 3f8eb87aa12080b67cb1f472655c10f03b440d4d SHA256 8ecc2b27f9e8e7f12ee2a84ae54d71d60c769e559f9952f8d792447e6f657c16
@@ -34,14 +53,18 @@ EBUILD nautilus-2.18.3.ebuild 2219 RMD160 3410a6ce1fb1312228d3127e9c0feb8c979b6a
MD5 2d4eee0af6b02c41516a070100898c6e nautilus-2.18.3.ebuild 2219
RMD160 3410a6ce1fb1312228d3127e9c0feb8c979b6a55 nautilus-2.18.3.ebuild 2219
SHA256 6803dd2d62a84edef9efba966e8abc7ed492d2cf8d660000a5210cd77eb9ad49 nautilus-2.18.3.ebuild 2219
+EBUILD nautilus-2.20.0-r1.ebuild 2840 RMD160 46935b80d7d68284b2c982fa5edfea123986ad19 SHA1 c1e852846b264990acf583e9bfcf966824d10950 SHA256 1999d8342d8c5098d58dc52dc5dae1f24edd3ec113afdec4d7d42d6cdaca6888
+MD5 272c08f6fa474a083bebf7ea2a700a91 nautilus-2.20.0-r1.ebuild 2840
+RMD160 46935b80d7d68284b2c982fa5edfea123986ad19 nautilus-2.20.0-r1.ebuild 2840
+SHA256 1999d8342d8c5098d58dc52dc5dae1f24edd3ec113afdec4d7d42d6cdaca6888 nautilus-2.20.0-r1.ebuild 2840
EBUILD nautilus-2.20.0.ebuild 2443 RMD160 2fad8f0f71e73c8121b97fc4f795c1ae138aadd9 SHA1 ba62e049f6b332b1ed372db6b740d295af603a3d SHA256 ec6a549abbb9830c4916285408f98484cc838f20cc0964b887fee6f1d490dd92
MD5 62f33132974f798e1a8026afc2bf4e0c nautilus-2.20.0.ebuild 2443
RMD160 2fad8f0f71e73c8121b97fc4f795c1ae138aadd9 nautilus-2.20.0.ebuild 2443
SHA256 ec6a549abbb9830c4916285408f98484cc838f20cc0964b887fee6f1d490dd92 nautilus-2.20.0.ebuild 2443
-MISC ChangeLog 32667 RMD160 1e48c1ff3641d8d9c530036d780e4c422aa5d41d SHA1 e06f73cf27bcd8d4d6a75ae3c739041ffd1fc794 SHA256 9a51181af186a728cdd11910730ac1c6485a1410e253bf48bc7a134b09f8b508
-MD5 27c058a83a9d0bb68440dfeb41bae2a9 ChangeLog 32667
-RMD160 1e48c1ff3641d8d9c530036d780e4c422aa5d41d ChangeLog 32667
-SHA256 9a51181af186a728cdd11910730ac1c6485a1410e253bf48bc7a134b09f8b508 ChangeLog 32667
+MISC ChangeLog 33296 RMD160 f4c17c18c44faea4edfd465a1cb26b2444d5a61b SHA1 d24cedd35cee780ad4fa0fbbf729d75885b4f0f4 SHA256 1c0affc11a620095378c9f47f44f6a3df21232e86280bfcd0224225bc54d3d68
+MD5 4f151196d6c763b5065632fdd29005b5 ChangeLog 33296
+RMD160 f4c17c18c44faea4edfd465a1cb26b2444d5a61b ChangeLog 33296
+SHA256 1c0affc11a620095378c9f47f44f6a3df21232e86280bfcd0224225bc54d3d68 ChangeLog 33296
MISC metadata.xml 158 RMD160 c0e2bae8e91bb6be8922bac5e4f597302e06587e SHA1 38f78e9790bcd4382b4a49aa226aa6dda1d3a3d7 SHA256 3a7dbca0fdc557de69783e0663e2d76ddab129ea8a19b2d0ef6d3e5d1b947ce1
MD5 03ad2e6c4ab41244af1015a8bbb0b39f metadata.xml 158
RMD160 c0e2bae8e91bb6be8922bac5e4f597302e06587e metadata.xml 158
@@ -61,3 +84,13 @@ SHA256 fa243747bb67794ea26d8725f7d1c60d6eaea66227d0162e19438bac3f3f716e files/di
MD5 543691c3a7235d78e4da187bb3ec69d4 files/digest-nautilus-2.20.0 253
RMD160 7a3b169d0fb3f51107c447a2c81c133dd18ff684 files/digest-nautilus-2.20.0 253
SHA256 a919d0e168e212a27254be6deb89c08dd07fda3e6a281cd788a1fa406eb13632 files/digest-nautilus-2.20.0 253
+MD5 543691c3a7235d78e4da187bb3ec69d4 files/digest-nautilus-2.20.0-r1 253
+RMD160 7a3b169d0fb3f51107c447a2c81c133dd18ff684 files/digest-nautilus-2.20.0-r1 253
+SHA256 a919d0e168e212a27254be6deb89c08dd07fda3e6a281cd788a1fa406eb13632 files/digest-nautilus-2.20.0-r1 253
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v2.0.7 (GNU/Linux)
+
+iD8DBQFHJhg5omPajV0RnrERAgCQAJ4szFx12E1CzSQexPxU7a2BNCJrMQCfV5w1
+ckCM9cd1Gpz76KzhH2h56Ow=
+=6idU
+-----END PGP SIGNATURE-----
diff --git a/gnome-base/nautilus/files/digest-nautilus-2.20.0-r1 b/gnome-base/nautilus/files/digest-nautilus-2.20.0-r1
new file mode 100644
index 000000000000..3c16cce1c1cb
--- /dev/null
+++ b/gnome-base/nautilus/files/digest-nautilus-2.20.0-r1
@@ -0,0 +1,3 @@
+MD5 3856ec2ffeba786d12f8f6622e398c33 nautilus-2.20.0.tar.bz2 4916284
+RMD160 9eeb18c886795ebbdd6dfc61ccddaee8eab81808 nautilus-2.20.0.tar.bz2 4916284
+SHA256 98f9d9f7bc89db67cbcc4c7d08ec72175b8c9b3eb9489f7869c5cec9f16feb08 nautilus-2.20.0.tar.bz2 4916284
diff --git a/gnome-base/nautilus/files/nautilus-2.20.0-async-thumbnail-framing.patch b/gnome-base/nautilus/files/nautilus-2.20.0-async-thumbnail-framing.patch
new file mode 100644
index 000000000000..4e947bb51f6c
--- /dev/null
+++ b/gnome-base/nautilus/files/nautilus-2.20.0-async-thumbnail-framing.patch
@@ -0,0 +1,27 @@
+* libnautilus-private/nautilus-icon-factory.c:
+ (async_thumbnail_load_func): Frame asynchronously loaded thumbnails.
+ Fixes #478363
+--- libnautilus-private/nautilus-icon-factory.c 2007/09/27 17:15:05 13235
++++ libnautilus-private/nautilus-icon-factory.c 2007/09/27 17:19:21 13236
+@@ -384,9 +384,21 @@
+ goto out;
+ }
+
++ if (!gdk_pixbuf_get_has_alpha (pixbuf)) {
++ /* we don't own the pixbuf, but nautilus_thumbnail_frame_image() assumes so and unrefs it. */
++ g_object_ref (pixbuf);
++
++ nautilus_thumbnail_frame_image (&pixbuf);
++ /* at this point, we own a pixbuf, which is the framed version of the passed-in pixbuf. */
++ }
++
+ cached_icon = cache_icon_new (pixbuf, NULL, scale_x, scale_y);
+ cached_icon->mtime = statbuf.st_mtime;
+
++ if (!gdk_pixbuf_get_has_alpha (pixbuf)) {
++ g_object_unref (pixbuf);
++ }
++
+ if (cached_icon != NULL) {
+ key = g_new (CacheKey, 1);
+ key->name = g_strdup (path);
diff --git a/gnome-base/nautilus/files/nautilus-2.20.0-small-font-crasher.patch b/gnome-base/nautilus/files/nautilus-2.20.0-small-font-crasher.patch
new file mode 100644
index 000000000000..eb7b165c0a77
--- /dev/null
+++ b/gnome-base/nautilus/files/nautilus-2.20.0-small-font-crasher.patch
@@ -0,0 +1,12 @@
+Fix crash with small fonts (#454884)
+--- src/nautilus-sidebar-title.c 2007/10/03 06:38:48 13255
++++ src/nautilus-sidebar-title.c 2007/10/03 06:39:37 13256
+@@ -364,7 +364,7 @@
+ title_font = pango_font_description_copy (style->font_desc);
+
+ max_style_font_size = pango_font_description_get_size (title_font) * 1.8 / PANGO_SCALE;
+- if (max_style_font_size < MIN_TITLE_FONT_SIZE) {
++ if (max_style_font_size < MIN_TITLE_FONT_SIZE + 1) {
+ max_style_font_size = MIN_TITLE_FONT_SIZE + 1;
+ }
+
diff --git a/gnome-base/nautilus/files/nautilus-2.20.0-sound-preview-cleanup.patch b/gnome-base/nautilus/files/nautilus-2.20.0-sound-preview-cleanup.patch
new file mode 100644
index 000000000000..8cb976393f46
--- /dev/null
+++ b/gnome-base/nautilus/files/nautilus-2.20.0-sound-preview-cleanup.patch
@@ -0,0 +1,414 @@
+diff --exclude-from=/home/dang/.scripts/diffrc -up -ruN nautilus-2.20.0.orig/configure.in nautilus-2.20.0/configure.in
+--- nautilus-2.20.0.orig/configure.in 2007-09-18 02:55:14.000000000 -0400
++++ nautilus-2.20.0/configure.in 2007-10-29 10:50:48.000000000 -0400
+@@ -90,7 +90,6 @@ fi
+ AC_SUBST(STARTUP_NOTIFICATION_PACKAGE)
+
+ PKG_CHECK_MODULES(ALL, [
+- esound >= esound_minver
+ bonobo-activation-2.0 >= bonobo_activation_minver
+ eel-2.0 >= eel_minver
+ glib-2.0 >= glib_minver
+@@ -312,6 +311,25 @@ fi
+
+ dnl ==========================================================================
+
++AM_CONDITIONAL(HAVE_ESOUND, false)
++
++dnl esound checking
++
++AC_ARG_ENABLE(esound, [ --disable-esound build without esound support])
++msg_esound=no
++if test "x$enable_esound" != "xno"; then
++ PKG_CHECK_MODULES(ESOUND, esound >= esound_minver, [
++ AM_CONDITIONAL(HAVE_ESOUND, true)
++ AC_DEFINE(HAVE_ESOUND, 1, [Define to enable esound support])
++ ]
++ msg_esound=yes,
++ [AM_CONDITIONAL(HAVE_ESOUND, false)])
++ AC_SUBST(ESOUND_CFLAGS)
++ AC_SUBST(ESOUND_LIBS)
++fi
++
++dnl ==========================================================================
++
+ dnl ****************************
+ dnl *** Check for libselinux ***
+ dnl ****************************
+@@ -404,7 +422,7 @@ LIBNAUTILUS_EXTENSION_LIBS="`$PKG_CONFIG
+ AC_SUBST(LIBNAUTILUS_EXTENSION_LIBS)
+
+ dnl core nautilus (must list bonobo-activation and libbonobo because idldir does not respect "requires")
+-CORE_MODULES="eel-2.0 librsvg-2.0 bonobo-activation-2.0 libbonobo-2.0 esound gnome-desktop-2.0 gnome-vfs-module-2.0 $EXTRA_CORE_MODULES"
++CORE_MODULES="eel-2.0 librsvg-2.0 bonobo-activation-2.0 libbonobo-2.0 gnome-desktop-2.0 gnome-vfs-module-2.0 $EXTRA_CORE_MODULES"
+ CORE_CFLAGS="`$PKG_CONFIG --cflags $CORE_MODULES` $x_cflags $WARNING_CFLAGS"
+ AC_SUBST(CORE_CFLAGS)
+ CORE_LIBS="`$PKG_CONFIG --libs $CORE_MODULES` $x_libs"
+diff --exclude-from=/home/dang/.scripts/diffrc -up -ruN nautilus-2.20.0.orig/libnautilus-private/Makefile.am nautilus-2.20.0/libnautilus-private/Makefile.am
+--- nautilus-2.20.0.orig/libnautilus-private/Makefile.am 2007-08-21 05:37:54.000000000 -0400
++++ nautilus-2.20.0/libnautilus-private/Makefile.am 2007-10-29 10:50:48.000000000 -0400
+@@ -10,6 +10,7 @@ INCLUDES = \
+ $(DISABLE_DEPRECATED_CFLAGS) \
+ $(TRACKER_CFLAGS) \
+ $(BEAGLE_CFLAGS) \
++ $(ESOUND_CFLAGS) \
+ -DDATADIR=\""$(datadir)"\" \
+ -DSYSCONFDIR=\""$(sysconfdir)"\" \
+ -DNAUTILUS_DATADIR=\""$(datadir)/nautilus"\" \
+@@ -31,6 +32,7 @@ libnautilus_private_la_LIBADD = \
+ $(SELINUX_LIBS) \
+ $(BEAGLE_LIBS) \
+ $(TRACKER_LIBS) \
++ $(ESOUND_LIBS) \
+ $(top_builddir)/libnautilus-extension/libnautilus-extension.la \
+ $(CORE_LIBS) \
+ $(NULL)
+@@ -49,8 +51,6 @@ marshal_sources = \
+
+ libnautilus_private_la_SOURCES = \
+ $(nautilus_metafile_server_idl_sources) \
+- nautilus-audio-player.c \
+- nautilus-audio-player.h \
+ nautilus-bookmark.c \
+ nautilus-bookmark.h \
+ nautilus-cell-renderer-pixbuf-emblem.c \
+@@ -228,6 +228,14 @@ if HAVE_TRACKER
+ libnautilus_private_la_SOURCES += $(TRACKER_SOURCES)
+ endif
+
++ESOUND_SOURCES = \
++ nautilus-audio-player.c \
++ nautilus-audio-player.h
++
++if HAVE_ESOUND
++libnautilus_private_la_SOURCES += $(ESOUND_SOURCES)
++endif
++
+ $(lib_LTLIBRARIES): $(dependency_static_libs)
+
+ $(nautilus_metafile_server_idl_sources): nautilus_metafile_server_idl_stamp
+@@ -264,6 +272,7 @@ EXTRA_DIST = \
+ nautilus-marshal.list \
+ $(schema_in_files) \
+ $(BEAGLE_SOURCES) \
++ $(ESOUND_SOURCES) \
+ $(TRACKER_SOURCES) \
+ $(NULL)
+
+diff --exclude-from=/home/dang/.scripts/diffrc -up -ruN nautilus-2.20.0.orig/src/file-manager/fm-icon-view.c nautilus-2.20.0/src/file-manager/fm-icon-view.c
+--- nautilus-2.20.0.orig/src/file-manager/fm-icon-view.c 2007-04-03 06:08:04.000000000 -0400
++++ nautilus-2.20.0/src/file-manager/fm-icon-view.c 2007-10-29 12:02:21.000000000 -0400
+@@ -24,6 +24,7 @@
+
+ #include <config.h>
+ #include "fm-icon-view.h"
++#include "nautilus-audio-mime-types.h"
+
+ #include "fm-actions.h"
+ #include "fm-icon-container.h"
+@@ -78,7 +79,9 @@
+ #include <sys/types.h>
+ #include <sys/wait.h>
+ #include <unistd.h>
++#ifdef HAVE_ESOUND
+ #include <esd.h>
++#endif
+
+ #define USE_OLD_AUDIO_PREVIEW 1
+ #define READ_CHUNK_SIZE 16384
+@@ -165,9 +168,8 @@ static const SortCriterion sort_criteria
+
+ static gboolean default_sort_in_reverse_order = FALSE;
+ static int preview_sound_auto_value;
+-static gboolean gnome_esd_enabled_auto_value;
+
+-#if USE_OLD_AUDIO_PREVIEW
++#ifndef HAVE_ESOUND
+ static pid_t audio_preview_pid = 0;
+ #endif
+
+@@ -1747,60 +1749,59 @@ band_select_ended_callback (NautilusIcon
+
+ /* handle the preview signal by inspecting the mime type. For now, we only preview local sound files. */
+
++#ifndef HAVE_ESOUND
++static char *
++get_preview_command (void)
++{
++ char *command;
++
++ command = g_find_program_in_path ("totem-audio-preview");
++ if (command)
++ return command;
++ command = g_find_program_in_path ("gst-launch-0.10");
++ if (command) {
++ char *new_cmd;
++
++ new_cmd = g_strdup_printf ("%s playbin uri=fd://0", command);
++ g_free (command);
++ return new_cmd;
++ }
++
++ return NULL;
++}
++#endif /* !HAVE_ESOUND */
++
+ /* here's the timer task that actually plays the file using mpg123, ogg123 or play. */
+ /* FIXME bugzilla.gnome.org 41258: we should get the application from our mime-type stuff */
+ static gboolean
+ play_file (gpointer callback_data)
+ {
+-#if USE_OLD_AUDIO_PREVIEW
++#ifndef HAVE_ESOUND
+ NautilusFile *file;
+ FMIconView *icon_view;
+ FILE *sound_process;
+ char *file_uri;
+- char *suffix;
+- char *mime_type;
+- const char *command_str;
+- gboolean is_mp3;
+- gboolean is_ogg;
++ char *command_str;
+ pid_t mp3_pid;
+
+ GnomeVFSResult result;
+ GnomeVFSHandle *handle;
+ char *buffer;
+- const char *audio_device = NULL;
+ GnomeVFSFileSize bytes_read;
+
+- audio_device = g_getenv ("AUDIODEV");
+ icon_view = FM_ICON_VIEW (callback_data);
++
++ command_str = get_preview_command ();
++ if (command_str == NULL)
++ return FALSE;
+
+ file = icon_view->details->audio_preview_file;
+ file_uri = nautilus_file_get_uri (file);
+- mime_type = nautilus_file_get_mime_type (file);
+- is_mp3 = eel_strcasecmp (mime_type, "audio/mpeg") == 0;
+- is_ogg = eel_strcasecmp (mime_type, "application/ogg") == 0 ||
+- eel_strcasecmp (mime_type, "application/x-ogg") == 0;
+
+ mp3_pid = fork ();
+ if (mp3_pid == (pid_t) 0) {
+ /* Set the group (session) id to this process for future killing. */
+ setsid();
+- if (is_mp3) {
+- command_str = "mpg123 -y -q -";
+- } else if (is_ogg) {
+- command_str = "ogg123 -q -";
+- } else {
+- suffix = strrchr(file_uri, '.');
+- if (suffix == NULL) {
+- suffix = "wav";
+- } else {
+- suffix += 1; /* skip the period */
+- }
+- if (audio_device) {
+- command_str = g_strdup_printf("play -d %s -t %s -", audio_device, suffix);
+- } else {
+- command_str = g_strdup_printf("play -t %s -", suffix);
+- }
+- }
+
+ /* read the file with gnome-vfs, feeding it to the sound player's standard input */
+ /* First, open the file. */
+@@ -1851,10 +1852,10 @@ play_file (gpointer callback_data)
+ }
+
+ g_free (file_uri);
+- g_free (mime_type);
++ g_free (command_str);
+
+ icon_view->details->audio_preview_timeout = 0;
+-#else
++#else /* HAVE_ESOUND */
+ char *file_path, *file_uri, *mime_type;
+ gboolean is_mp3;
+ FMIconView *icon_view;
+@@ -1893,13 +1894,13 @@ static void
+ preview_audio (FMIconView *icon_view, NautilusFile *file, gboolean start_flag)
+ {
+ /* Stop current audio playback */
+-#if USE_OLD_AUDIO_PREVIEW
++#ifndef HAVE_ESOUND
+ if (audio_preview_pid > 0) {
+ kill (-audio_preview_pid, SIGTERM);
+ waitpid (audio_preview_pid, NULL, 0);
+ audio_preview_pid = 0;
+ }
+-#else
++#else /* HAVE_ESOUND */
+ if (icon_view->details->audio_player_data != NULL) {
+ nautilus_audio_player_stop (icon_view->details->audio_player_data);
+ g_free (icon_view->details->audio_player_data);
+@@ -1913,9 +1914,9 @@ preview_audio (FMIconView *icon_view, Na
+
+ if (start_flag) {
+ icon_view->details->audio_preview_file = file;
+-#if USE_OLD_AUDIO_PREVIEW
++#ifndef HAVE_ESOUND
+ icon_view->details->audio_preview_timeout = g_timeout_add (1000, play_file, icon_view);
+-#else
++#else /* HAVE_ESOUND */
+ /* FIXME: Need to kill the existing timeout if there is one? */
+ icon_view->details->audio_preview_timeout = g_timeout_add (1000, play_file, icon_view);
+ #endif
+@@ -1923,15 +1924,31 @@ preview_audio (FMIconView *icon_view, Na
+ }
+
+ static gboolean
+-should_preview_sound (NautilusFile *file)
++sound_preview_type_supported (NautilusFile *file)
+ {
+- char *uri;
++ char *mime_type;
++ guint i;
+
+- /* Check gnome config sound preference */
+- if (!gnome_esd_enabled_auto_value) {
++ mime_type = nautilus_file_get_mime_type (file);
++ if (mime_type == NULL)
+ return FALSE;
++ for (i = 0; i < G_N_ELEMENTS (audio_mime_types); i++) {
++ GnomeVFSMimeEquivalence equivalence = gnome_vfs_mime_type_get_equivalence (mime_type, audio_mime_types[i]);
++ if (equivalence == GNOME_VFS_MIME_IDENTICAL || equivalence == GNOME_VFS_MIME_PARENT) {
++ g_free (mime_type);
++ return TRUE;
++ }
+ }
+
++ g_free (mime_type);
++ return FALSE;
++}
++
++static gboolean
++should_preview_sound (NautilusFile *file)
++{
++ char *uri;
++
+ uri = nautilus_file_get_uri (file);
+ if (uri && eel_istr_has_prefix (uri, "burn:")) {
+ g_free (uri);
+@@ -1956,12 +1973,9 @@ can_play_sound (void)
+ {
+ int open_result;
+
+-#if USE_OLD_AUDIO_PREVIEW
+- /* first see if there's already one in progress; if so, return true */
+- if (audio_preview_pid > 0) {
+- return TRUE;
+- }
+-#endif
++#ifndef HAVE_ESOUND
++ return TRUE;
++#else /* HAVE_ESOUND */
+
+ /* Now check and see if system has audio out capabilites */
+ open_result = esd_open_sound (NULL);
+@@ -1972,6 +1986,7 @@ can_play_sound (void)
+ esd_close (open_result);
+
+ return TRUE;
++#endif
+ }
+
+ static int
+@@ -1981,25 +1996,17 @@ icon_container_preview_callback (Nautilu
+ FMIconView *icon_view)
+ {
+ int result;
+- char *mime_type, *file_name, *message;
++ char *file_name, *message;
+
+ result = 0;
+
+ /* preview files based on the mime_type. */
+ /* at first, we just handle sounds */
+ if (should_preview_sound (file)) {
+- mime_type = nautilus_file_get_mime_type (file);
+-
+- if ((eel_istr_has_prefix (mime_type, "audio/")
+- || eel_istr_has_prefix (mime_type, "application/ogg")
+- || eel_istr_has_prefix (mime_type, "application/x-ogg"))
+- && eel_strcasecmp (mime_type, "audio/x-pn-realaudio") != 0
+- && eel_strcasecmp (mime_type, "audio/x-mpegurl") != 0
+- && can_play_sound ()) {
++ if (sound_preview_type_supported (file) && can_play_sound ()) {
+ result = 1;
+ preview_audio (icon_view, file, start_flag);
+ }
+- g_free (mime_type);
+ }
+
+ /* Display file name in status area at low zoom levels, since
+@@ -2708,10 +2715,6 @@ fm_icon_view_init (FMIconView *icon_view
+ eel_preferences_add_auto_enum (NAUTILUS_PREFERENCES_PREVIEW_SOUND,
+ &preview_sound_auto_value);
+
+- eel_preferences_monitor_directory ("/desktop/gnome/sound");
+- eel_preferences_add_auto_boolean ("/desktop/gnome/sound/enable_esd",
+- &gnome_esd_enabled_auto_value);
+-
+ setup_sound_preview = TRUE;
+ }
+
+diff --exclude-from=/home/dang/.scripts/diffrc -up -ruN nautilus-2.20.0.orig/src/file-manager/Makefile.am nautilus-2.20.0/src/file-manager/Makefile.am
+--- nautilus-2.20.0.orig/src/file-manager/Makefile.am 2007-06-27 03:12:32.000000000 -0400
++++ nautilus-2.20.0/src/file-manager/Makefile.am 2007-10-29 10:55:00.000000000 -0400
+@@ -38,6 +38,7 @@ libnautilus_file_manager_la_SOURCES= \
+ fm-tree-model.h \
+ fm-tree-view.c \
+ fm-tree-view.h \
++ nautilus-audio-mime-types.h \
+ $(NULL)
+
+ EMPTY_VIEW_SOURCES = \
+diff --exclude-from=/home/dang/.scripts/diffrc -up -ruN nautilus-2.20.0.orig/src/file-manager/nautilus-audio-mime-types.h nautilus-2.20.0/src/file-manager/nautilus-audio-mime-types.h
+--- nautilus-2.20.0.orig/src/file-manager/nautilus-audio-mime-types.h 1969-12-31 19:00:00.000000000 -0500
++++ nautilus-2.20.0/src/file-manager/nautilus-audio-mime-types.h 2007-10-29 10:55:00.000000000 -0400
+@@ -0,0 +1,41 @@
++/* generated with mime-types-include.sh in the totem module, don't edit or
++ commit in the nautilus module without filing a bug against totem */
++static char *audio_mime_types[] = {
++"audio/3gpp",
++"audio/ac3",
++"audio/AMR",
++"audio/AMR-WB",
++"audio/basic",
++"audio/mp4",
++"audio/mpeg",
++"audio/mpegurl",
++"audio/ogg",
++"audio/vnd.rn-realaudio",
++"audio/x-ape",
++"audio/x-flac",
++"audio/x-it",
++"audio/x-m4a",
++"audio/x-matroska",
++"audio/x-mod",
++"audio/x-mp3",
++"audio/x-mpeg",
++"audio/x-mpegurl",
++"audio/x-ms-asf",
++"audio/x-ms-asx",
++"audio/x-ms-wax",
++"audio/x-ms-wma",
++"audio/x-musepack",
++"audio/x-pn-aiff",
++"audio/x-pn-au",
++"audio/x-pn-wav",
++"audio/x-pn-windows-acm",
++"audio/x-realaudio",
++"audio/x-real-audio",
++"audio/x-sbc",
++"audio/x-scpls",
++"audio/x-tta",
++"audio/x-wav",
++"audio/x-wav",
++"audio/x-wavpack",
++"audio/x-vorbis",
++};
diff --git a/gnome-base/nautilus/files/nautilus-2.20.0-thumbnail-flashing.patch b/gnome-base/nautilus/files/nautilus-2.20.0-thumbnail-flashing.patch
new file mode 100644
index 000000000000..2aabd5769798
--- /dev/null
+++ b/gnome-base/nautilus/files/nautilus-2.20.0-thumbnail-flashing.patch
@@ -0,0 +1,145 @@
+2007-10-02 Frederic Crozat <fcrozat@mandriva.com>
+
+ Backport from gio-branch, fixes #480608, from
+ Alexander Larsson <alexl@redhat.com>
+
+* libnautilus-private/nautilus-icon-factory.c:
+ Don't clear thumbnails and other absolute pathnames from icon
+ cache when mime data or icon theme changes. This is to avoid
+ flashing and async realoading of all thumbnails.
+
+* libnautilus-private/nautilus-directory-async.c:
+ (mime_db_changed_callback):
+ Use the right call to invalidate attributes, so that
+ they get re-read correctly.
+--- libnautilus-private/nautilus-icon-factory.c 2007/10/02 13:28:27 13248
++++ libnautilus-private/nautilus-icon-factory.c 2007/10/02 13:28:59 13249
+@@ -200,7 +200,7 @@
+ const char *modifier,
+ guint nominal_size,
+ gboolean force_nominal);
+-static void nautilus_icon_factory_clear (void);
++static void nautilus_icon_factory_clear (gboolean clear_pathnames);
+
+ GNOME_CLASS_BOILERPLATE (NautilusIconFactory,
+ nautilus_icon_factory,
+@@ -270,7 +270,7 @@
+ {
+ NautilusIconFactory *factory;
+
+- nautilus_icon_factory_clear ();
++ nautilus_icon_factory_clear (FALSE);
+
+ factory = user_data;
+
+@@ -726,9 +726,23 @@
+ return TRUE;
+ }
+
+-/* Reset the cache to the default state. */
++static gboolean
++remove_non_pathnames (gpointer _key, gpointer value, gpointer user_data)
++{
++ CacheKey *key = _key;
++
++ if (key->name && key->name[0] == '/') {
++ return FALSE;
++ }
++
++ return TRUE; /* Tell the caller to remove the hash table entry. */
++}
++
++/* Reset the cache to the default state.
++ Clear pathnames can be set to FALSE which means we only clear icon names, not
++ absolute pathnames. This is useful to avoid throwing away all loaded thumbnails. */
+ static void
+-nautilus_icon_factory_clear (void)
++nautilus_icon_factory_clear (gboolean clear_pathnames)
+ {
+ NautilusIconFactory *factory;
+ CircularList *head;
+@@ -736,24 +750,25 @@
+ factory = get_icon_factory ();
+
+ g_hash_table_foreach_remove (factory->icon_cache,
+- remove_all,
++ clear_pathnames ? remove_all : remove_non_pathnames,
+ NULL);
+
+ /* Empty out the recently-used list. */
+ head = &factory->recently_used_dummy_head;
+
+- /* fallback_icon hangs around, but we don't know if it
+- * was ever inserted in the list
+- */
+- g_assert (factory->recently_used_count == 0 ||
+- factory->recently_used_count == 1);
+-
+- if (factory->recently_used_count == 1) {
+- /* make sure this one is the fallback_icon */
+- g_assert (head->next == head->prev);
+- g_assert (&factory->fallback_icon->recently_used_node == head->next);
++ if (clear_pathnames) {
++ /* fallback_icon hangs around, but we don't know if it
++ * was ever inserted in the list
++ */
++ g_assert (factory->recently_used_count == 0 ||
++ factory->recently_used_count == 1);
++ if (factory->recently_used_count == 1) {
++ /* make sure this one is the fallback_icon */
++ g_assert (head->next == head->prev);
++ g_assert (&factory->fallback_icon->recently_used_node == head->next);
++ }
+ }
+-
++
+ }
+
+ static void
+@@ -806,7 +821,7 @@
+ * signal to mean only "thumbnails might have changed" if this ends up being slow
+ * for some reason.
+ */
+- nautilus_icon_factory_clear ();
++ nautilus_icon_factory_clear (TRUE);
+ g_signal_emit (global_icon_factory,
+ signals[ICONS_CHANGED], 0);
+ }
+@@ -820,7 +835,7 @@
+ * signal to mean only "thumbnails might have changed" if this ends up being slow
+ * for some reason.
+ */
+- nautilus_icon_factory_clear ();
++ nautilus_icon_factory_clear (TRUE);
+ g_signal_emit (global_icon_factory,
+ signals[ICONS_CHANGED], 0);
+ }
+@@ -830,7 +845,7 @@
+ {
+ show_image_thumbs = eel_preferences_get_enum (NAUTILUS_PREFERENCES_SHOW_IMAGE_FILE_THUMBNAILS);
+
+- nautilus_icon_factory_clear ();
++ nautilus_icon_factory_clear (TRUE);
+ /* If the user disabled thumbnailing, remove all outstanding thumbnails */
+ if (show_image_thumbs == NAUTILUS_SPEED_TRADEOFF_NEVER) {
+ nautilus_thumbnail_remove_all_from_queue ();
+@@ -848,7 +863,7 @@
+ /* We don't know which data changed, so we have to assume that
+ * any or all icons might have changed.
+ */
+- nautilus_icon_factory_clear ();
++ nautilus_icon_factory_clear (FALSE);
+ g_signal_emit (get_icon_factory (),
+ signals[ICONS_CHANGED], 0);
+ }
+--- libnautilus-private/nautilus-directory-async.c 2007/10/02 13:28:27 13248
++++ libnautilus-private/nautilus-directory-async.c 2007/10/02 13:28:59 13249
+@@ -594,7 +594,7 @@
+ NAUTILUS_FILE_ATTRIBUTE_FILE_TYPE |
+ NAUTILUS_FILE_ATTRIBUTE_DIRECTORY_ITEM_MIME_TYPES;
+
+- nautilus_directory_invalidate_file_attributes (dir, attrs);
++ nautilus_directory_force_reload_internal (dir, attrs);
+ }
+
+ void
diff --git a/gnome-base/nautilus/nautilus-2.20.0-r1.ebuild b/gnome-base/nautilus/nautilus-2.20.0-r1.ebuild
new file mode 100644
index 000000000000..70b30a79a86a
--- /dev/null
+++ b/gnome-base/nautilus/nautilus-2.20.0-r1.ebuild
@@ -0,0 +1,88 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/gnome-base/nautilus/nautilus-2.20.0-r1.ebuild,v 1.1 2007/10/29 17:28:00 dang Exp $
+
+inherit virtualx eutils gnome2 autotools
+
+DESCRIPTION="A file manager for the GNOME desktop"
+HOMEPAGE="http://www.gnome.org/projects/nautilus/"
+
+LICENSE="GPL-2 LGPL-2 FDL-1.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sh ~sparc ~x86 ~x86-fbsd"
+IUSE="beagle esd gnome tracker"
+# cups flac gstreamer mad ogg vorbis
+
+RDEPEND=">=media-libs/libart_lgpl-2.3.10
+ >=gnome-base/libbonobo-2.1
+ >=gnome-base/eel-2.15.92
+ esd? ( >=media-sound/esound-0.2.27 )
+ >=dev-libs/glib-2.13
+ >=gnome-base/gnome-desktop-2.9.91
+ >=gnome-base/libgnome-2.14.0
+ >=gnome-base/libgnomeui-2.6
+ >=gnome-base/gnome-vfs-2.19.3
+ >=gnome-base/orbit-2.4
+ >=x11-libs/pango-1.1.2
+ >=x11-libs/gtk+-2.11.6
+ >=gnome-base/librsvg-2.0.1
+ >=dev-libs/libxml2-2.4.7
+ >=x11-libs/startup-notification-0.8
+ >=media-libs/libexif-0.5.12
+ >=gnome-base/gconf-2
+ media-libs/audiofile
+ beagle? ( >=app-misc/beagle-0.0.12 )
+ x86? ( tracker? ( >=app-misc/tracker-0.0.1 ) )
+ x11-libs/libICE
+ x11-libs/libSM
+ x11-proto/xproto
+ virtual/eject"
+# !gstreamer? ( vorbis? ( media-sound/vorbis-tools ) )
+# gstreamer? (
+# >=media-libs/gstreamer-0.8
+# >=media-libs/gst-plugins-0.8
+# >=media-plugins/gst-plugins-gnomevfs-0.8
+# mad? ( >=media-plugins/gst-plugins-mad-0.8 )
+# ogg? ( >=media-plugins/gst-plugins-ogg-0.8 )
+# vorbis? ( >=media-plugins/gst-plugins-vorbis-0.8 )
+# flac? ( >=media-plugins/gst-plugins-flac-0.8 ) )"
+DEPEND="${RDEPEND}
+ sys-devel/gettext
+ >=dev-util/intltool-0.35
+ >=dev-util/pkgconfig-0.9"
+PDEPEND="gnome? ( >=x11-themes/gnome-icon-theme-1.1.91 )"
+
+DOCS="AUTHORS ChangeLog* HACKING MAINTAINERS NEWS README THANKS TODO"
+
+pkg_setup() {
+ G2CONF="--disable-update-mimedb $(use_enable beagle) $(use_enable tracker) $(use_enable esd esound)"
+}
+
+src_unpack() {
+ gnome2_src_unpack
+ epatch "${FILESDIR}/${P}-sound-preview-cleanup.patch"
+ epatch "${FILESDIR}/${P}-statfs.patch"
+
+ # Patches from unreleased 2.20.1
+ epatch "${FILESDIR}/${P}-async-thumbnail-framing.patch"
+ epatch "${FILESDIR}/${P}-thumbnail-flashing.patch"
+ epatch "${FILESDIR}/${P}-small-font-crasher.patch"
+
+ eautoreconf
+}
+
+src_test() {
+ addwrite "/root/.gnome2_private"
+ Xmake check || die "Test phase failed"
+}
+
+pkg_postinst() {
+ gnome2_pkg_postinst
+
+ elog "nautilus now has three ways of previewing sound. First, if the esd"
+ elog "USE flag is given, it will attempt to play directly via esd. If"
+ elog "the esd USE flag is *not* given, it will attempt to use totem to"
+ elog "play the sound. If totem is not installed, it will attempt to use"
+ elog "gstreamer 10.x to play the sound. If gstreamer 10.x is not installed"
+ elog "it will fail to preview the sound."
+}