diff options
author | Peter Alfredsen <loki_val@gentoo.org> | 2008-11-22 22:50:32 +0000 |
---|---|---|
committer | Peter Alfredsen <loki_val@gentoo.org> | 2008-11-22 22:50:32 +0000 |
commit | 0a164905d8163987033b3f9e67ada58b5dcc997f (patch) | |
tree | 7ce7dbad0d61e69d3c8fbbbada9c1d1ae6a62cc9 /app-misc | |
parent | Giving acovea back to benchmark herd (diff) | |
download | gentoo-2-0a164905d8163987033b3f9e67ada58b5dcc997f.tar.gz gentoo-2-0a164905d8163987033b3f9e67ada58b5dcc997f.tar.bz2 gentoo-2-0a164905d8163987033b3f9e67ada58b5dcc997f.zip |
Fix beagle for gmime-2.4, patch from frugalware and adjust deps for gtk-sharp-2.12*
(Portage version: 2.2_rc14/cvs/Linux 2.6.28-rc4 x86_64)
Diffstat (limited to 'app-misc')
-rw-r--r-- | app-misc/beagle/ChangeLog | 10 | ||||
-rw-r--r-- | app-misc/beagle/beagle-0.3.8-r1.ebuild | 182 | ||||
-rw-r--r-- | app-misc/beagle/files/beagle-0.3.8-fix_gmime-2.4.patch | 503 | ||||
-rw-r--r-- | app-misc/beagle/files/beagle-0.3.8-fix_gvfs.patch | 11 |
4 files changed, 705 insertions, 1 deletions
diff --git a/app-misc/beagle/ChangeLog b/app-misc/beagle/ChangeLog index 999f25f15e73..35292cbecd40 100644 --- a/app-misc/beagle/ChangeLog +++ b/app-misc/beagle/ChangeLog @@ -1,6 +1,14 @@ # ChangeLog for app-misc/beagle # Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/app-misc/beagle/ChangeLog,v 1.85 2008/10/11 22:54:52 eva Exp $ +# $Header: /var/cvsroot/gentoo-x86/app-misc/beagle/ChangeLog,v 1.86 2008/11/22 22:50:32 loki_val Exp $ + +*beagle-0.3.8-r1 (22 Nov 2008) + + 22 Nov 2008; Peter Alfredsen <loki_val@gentoo.org> + +files/beagle-0.3.8-fix_gmime-2.4.patch, + +files/beagle-0.3.8-fix_gvfs.patch, +beagle-0.3.8-r1.ebuild: + Fix beagle for gmime-2.4, patch from frugalware and adjust deps for + gtk-sharp-2.12* 11 Oct 2008; Gilles Dartiguelongue <eva@gentoo.org> beagle-0.2.18.ebuild, beagle-0.2.18-r1.ebuild, beagle-0.3.6.ebuild, beagle-0.3.7-r1.ebuild, diff --git a/app-misc/beagle/beagle-0.3.8-r1.ebuild b/app-misc/beagle/beagle-0.3.8-r1.ebuild new file mode 100644 index 000000000000..bb6bbf26cf15 --- /dev/null +++ b/app-misc/beagle/beagle-0.3.8-r1.ebuild @@ -0,0 +1,182 @@ +# Copyright 1999-2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/app-misc/beagle/beagle-0.3.8-r1.ebuild,v 1.1 2008/11/22 22:50:32 loki_val Exp $ + +EAPI=2 + +inherit gnome.org eutils autotools mono mozextension + +DESCRIPTION="Search tool that ransacks your personal information space to find whatever you're looking for" +HOMEPAGE="http://www.beagle-project.org/" + +LICENSE="MIT Apache-1.1" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~x86" +IUSE="chm debug doc epiphany eds firefox galago gtk pdf inotify ole thunderbird +xscreensaver" + +RDEPEND=" + >=dev-lang/mono-1.2.4 + app-shells/bash + app-arch/zip + sys-devel/gettext + x11-misc/shared-mime-info + =dev-libs/gmime-2.4* + >=dev-libs/libxml2-2.6.19 + >=dev-db/sqlite-3.3.1 + >=dev-dotnet/dbus-sharp-0.6.0 + >=dev-dotnet/dbus-glib-sharp-0.4.1 + >=dev-dotnet/taglib-sharp-2.0 + >=dev-dotnet/gtk-sharp-2.8 + gtk? ( >=gnome-base/libgnome-2.0 + >=gnome-base/gnome-vfs-2.0 + >=dev-dotnet/gtk-sharp-2.10 + >=x11-libs/gtk+-2.10 + >=dev-libs/atk-1.2.4 + >=gnome-base/librsvg-2.0 + >=dev-dotnet/gconf-sharp-2.4 + || ( dev-dotnet/gtk-sharp[glade] >=dev-dotnet/glade-sharp-2.4 ) + >=dev-dotnet/gnome-sharp-2.4 + >=dev-dotnet/gnomevfs-sharp-2.4 ) + eds? ( >=dev-dotnet/evolution-sharp-0.13.3 + >=dev-dotnet/gconf-sharp-2.4 ) + ole? ( >=app-text/wv-1.2.3 + >=dev-dotnet/gsf-sharp-0.8 + >=app-office/gnumeric-1.4.3-r3 ) + chm? ( dev-libs/chmlib ) + pdf? ( >=app-text/poppler-0.5.1 ) + galago? ( >=dev-dotnet/galago-sharp-0.5.0 ) + thunderbird? ( || ( >=mail-client/mozilla-thunderbird-1.5 + >=mail-client/mozilla-thunderbird-bin-1.5 ) ) + firefox? ( || ( >=www-client/mozilla-firefox-1.5 + >=www-client/mozilla-firefox-bin-1.5 ) ) + epiphany? ( >=www-client/epiphany-extensions-2.16 ) + xscreensaver? ( x11-libs/libXScrnSaver ) + dev-libs/libbeagle" + # Avahi code is currently experimental + #avahi? ( >=net-dns/avahi-0.6.10 ) + +DEPEND="${RDEPEND} + doc? ( >=dev-util/monodoc-1.2.4 ) + dev-util/pkgconfig + xscreensaver? ( x11-proto/scrnsaverproto ) + >=dev-util/intltool-0.35" + +pkg_setup() { + local fail_gmime="Re-emerge dev-libs/gmime with USE mono." + local fail_libbeagle="Re-emerge dev-libs/libbeagle with USE=python." + local fail_epiphany="Re-emerge www-client/epiphany-extensions with USE=python." + + if ! built_with_use dev-libs/gmime mono; then + eerror "${fail_gmime}" + die "${fail_gmime}" + fi + + if use epiphany; then + if ! built_with_use dev-libs/libbeagle python; then + eerror "${fail_libbeagle}" + die "${fail_libbeagle}" + fi + if ! built_with_use www-client/epiphany-extensions python; then + eerror "${fail_epiphany}" + die "${fail_epiphany}" + fi + fi + + enewgroup beagleindex + enewuser beagleindex -1 -1 /var/lib/cache/beagle beagleindex +} + +src_prepare() { + epatch "${FILESDIR}/${P}-fix_gvfs.patch" + epatch "${FILESDIR}/${P}-fix_gmime-2.4.patch" + + + # Multilib fix + sed -i -e 's:prefix mono`/lib:libdir mono`:' \ + configure.in || die "sed failed" + + eautoreconf + intltoolize --force || die "intltoolize failed" +} + +src_configure() { + econf \ + --enable-sqlite3 \ + --disable-avahi \ + --disable-internal-taglib \ + $(use_enable debug xml-dump) \ + $(use_enable doc docs) \ + $(use_enable epiphany epiphany-extension) \ + $(use_enable thunderbird) \ + $(use_enable eds evolution) \ + $(use_enable gtk gui) \ + $(use_enable ole gsf-sharp wv1) \ + $(use_enable xscreensaver xss) \ + $(use_enable inotify) + # Avahi code is experimental, explicitly disabled above + #$(use_enable avahi) \ +} + +src_install() { + emake DESTDIR="${D}" install || die "emake install failed." + + dodoc AUTHORS NEWS README + + declare MOZILLA_FIVE_HOME + if use firefox; then + xpi_unpack "${S}"/firefox-extension/beagle.xpi \ + || die "Unable to find Beagle Firefox Extension" + mv "${WORKDIR}"/beagle "${WORKDIR}"/firefox-beagle + + if has_version '>=www-client/mozilla-firefox-1.5'; then + MOZILLA_FIVE_HOME="/usr/$(get_libdir)/mozilla-firefox" + xpi_install "${WORKDIR}"/firefox-beagle \ + || die "xpi install for mozilla-firefox failed!" + fi + if has_version '>=www-client/mozilla-firefox-bin-1.5'; then + MOZILLA_FIVE_HOME="/opt/firefox" + xpi_install "${WORKDIR}"/firefox-beagle \ + || die "xpi install for mozilla-firefox-bin failed!" + fi + fi + + if use thunderbird; then + xpi_unpack "${S}"/thunderbird-extension/beagle.xpi \ + || die "Unable to find Beagle Thunderbird Extension" + mv "${WORKDIR}"/beagle "${WORKDIR}"/thunderbird-beagle + + if has_version '>=mail-client/mozilla-thunderbird-1.5'; then + MOZILLA_FIVE_HOME="/usr/$(get_libdir)/mozilla-thunderbird" + xpi_install "${WORKDIR}"/thunderbird-beagle \ + || die "xpi install for mozilla-thunderbird failed!" + fi + if has_version '>=mail-client/mozilla-thunderbird-bin-1.5'; then + MOZILLA_FIVE_HOME="/opt/thunderbird" + xpi_install "${WORKDIR}"/thunderbird-beagle \ + || die "xpi install for mozilla-thunderbird-bin failed!" + fi + fi + + sed -i -e 's/CRAWL_ENABLED="yes"/CRAWL_ENABLED="no"/' \ + "${D}"/etc/beagle/crawl-rules/crawl-* + + insinto /etc/beagle/crawl-rules + doins "${FILESDIR}/crawl-portage" + + keepdir "/usr/$(get_libdir)/beagle/Backends" + diropts -o beagleindex -g beagleindex + keepdir "/var/lib/cache/beagle/indexes" +} + +pkg_postinst() { + elog "If available, Beagle greatly benefits from using certain operating" + elog "system features such as Extended Attributes and inotify." + elog + elog "If you want static queryables such as the portage tree and system" + elog "documentation you will need to edit the /etc/beagle/crawl-* files" + elog "and change CRAWL_ENABLE from 'no' to 'yes'." + elog + elog "For more info on how to create the optimal beagle environment, and" + elog "basic usage info, see the Gentoo page of the Beagle website:" + elog "http://www.beagle-project.org/Gentoo_Installation" +} diff --git a/app-misc/beagle/files/beagle-0.3.8-fix_gmime-2.4.patch b/app-misc/beagle/files/beagle-0.3.8-fix_gmime-2.4.patch new file mode 100644 index 000000000000..5a6525174749 --- /dev/null +++ b/app-misc/beagle/files/beagle-0.3.8-fix_gmime-2.4.patch @@ -0,0 +1,503 @@ +Index: beagle/beagled/EvolutionMailQueryable/EvolutionMailIndexableGenerator.cs +=================================================================== +--- beagle/beagled/EvolutionMailQueryable/EvolutionMailIndexableGenerator.cs (revision 4874) ++++ beagle/beagled/EvolutionMailQueryable/EvolutionMailIndexableGenerator.cs (working copy) +@@ -333,28 +333,46 @@ + indexable.AddProperty (Property.NewUnsearched ("fixme:folder", this.folder_name)); + + GMime.InternetAddressList addrs; +- +- addrs = message.GetRecipients (GMime.Message.RecipientType.To); +- foreach (GMime.InternetAddress ia in addrs) { +- if (this.folder_name == "Sent" && ia.AddressType != GMime.InternetAddressType.Group) +- indexable.AddProperty (Property.NewUnsearched ("fixme:sentTo", ia.Addr)); ++ ++ if (this.folder_name == "Sent") { ++ addrs = message.GetRecipients (GMime.RecipientType.To); ++ foreach (GMime.InternetAddress ia in addrs) { ++ if (ia is GMime.InternetAddressMailbox) { ++ GMime.InternetAddressMailbox mailbox = ia as GMime.InternetAddressMailbox; ++ ++ indexable.AddProperty (Property.NewUnsearched ("fixme:sentTo", mailbox.Address)); ++ } ++ } ++ ++ addrs.Dispose (); + } +- addrs.Dispose (); +- +- addrs = message.GetRecipients (GMime.Message.RecipientType.Cc); +- foreach (GMime.InternetAddress ia in addrs) { +- if (this.folder_name == "Sent" && ia.AddressType != GMime.InternetAddressType.Group) +- indexable.AddProperty (Property.NewUnsearched ("fixme:sentTo", ia.Addr)); ++ ++ if (this.folder_name == "Sent") { ++ addrs = message.GetRecipients (GMime.RecipientType.Cc); ++ foreach (GMime.InternetAddress ia in addrs) { ++ if (ia is GMime.InternetAddressMailbox) { ++ GMime.InternetAddressMailbox mailbox = ia as GMime.InternetAddressMailbox; ++ ++ indexable.AddProperty (Property.NewUnsearched ("fixme:sentTo", mailbox.Address)); ++ } ++ } ++ ++ addrs.Dispose (); + } +- addrs.Dispose (); +- +- addrs = GMime.InternetAddressList.ParseString (GMime.Utils.HeaderDecodePhrase (message.Sender)); +- foreach (GMime.InternetAddress ia in addrs) { +- if (this.folder_name != "Sent" && ia.AddressType != GMime.InternetAddressType.Group) +- indexable.AddProperty (Property.NewUnsearched ("fixme:gotFrom", ia.Addr)); ++ ++ if (this.folder_name != "Sent") { ++ addrs = GMime.InternetAddressList.Parse (message.Sender); ++ foreach (GMime.InternetAddress ia in addrs) { ++ if (ia is GMime.InternetAddressMailbox) { ++ GMime.InternetAddressMailbox mailbox = ia as GMime.InternetAddressMailbox; ++ ++ indexable.AddProperty (Property.NewUnsearched ("fixme:gotFrom", mailbox.Address)); ++ } ++ } ++ ++ addrs.Dispose (); + } +- addrs.Dispose (); +- ++ + if (this.folder_name == "Sent") + indexable.AddProperty (Property.NewFlag ("fixme:isSent")); + +@@ -750,48 +768,54 @@ + } + + GMime.InternetAddressList addrs; +- addrs = GMime.InternetAddressList.ParseString (messageInfo.to); ++ addrs = GMime.InternetAddressList.Parse (messageInfo.to); + foreach (GMime.InternetAddress ia in addrs) { ++ GMime.InternetAddressMailbox mailbox = ia as GMime.InternetAddressMailbox; ++ + if (!have_content) { + indexable.AddProperty (Property.NewUnsearched ("fixme:to", ia.ToString (false))); +- if (ia.AddressType != GMime.InternetAddressType.Group) +- indexable.AddProperty (Property.New ("fixme:to_address", ia.Addr)); +- ++ if (ia is GMime.InternetAddressMailbox) ++ indexable.AddProperty (Property.New ("fixme:to_address", mailbox.Address)); ++ + indexable.AddProperty (Property.New ("fixme:to_name", ia.Name)); + } +- +- if (this.folder_name == "Sent" && ia.AddressType != GMime.InternetAddressType.Group) +- indexable.AddProperty (Property.NewUnsearched ("fixme:sentTo", ia.Addr)); ++ ++ if (this.folder_name == "Sent" && ia is GMime.InternetAddressMailbox) ++ indexable.AddProperty (Property.NewUnsearched ("fixme:sentTo", mailbox.Address)); + } + addrs.Dispose (); + +- addrs = GMime.InternetAddressList.ParseString (messageInfo.cc); ++ addrs = GMime.InternetAddressList.Parse (messageInfo.cc); + foreach (GMime.InternetAddress ia in addrs) { ++ GMime.InternetAddressMailbox mailbox = ia as GMime.InternetAddressMailbox; ++ + if (!have_content) { + indexable.AddProperty (Property.NewUnsearched ("fixme:cc", ia.ToString (false))); +- if (ia.AddressType != GMime.InternetAddressType.Group) +- indexable.AddProperty (Property.New ("fixme:cc_address", ia.Addr)); +- ++ if (ia is GMime.InternetAddressMailbox) ++ indexable.AddProperty (Property.New ("fixme:cc_address", mailbox.Address)); ++ + indexable.AddProperty (Property.New ("fixme:cc_name", ia.Name)); + } +- +- if (this.folder_name == "Sent" && ia.AddressType != GMime.InternetAddressType.Group) +- indexable.AddProperty (Property.NewUnsearched ("fixme:sentTo", ia.Addr)); ++ ++ if (this.folder_name == "Sent" && ia is GMime.InternetAddressMailbox) ++ indexable.AddProperty (Property.NewUnsearched ("fixme:sentTo", mailbox.Address)); + } + addrs.Dispose (); + +- addrs = GMime.InternetAddressList.ParseString (messageInfo.from); ++ addrs = GMime.InternetAddressList.Parse (messageInfo.from); + foreach (GMime.InternetAddress ia in addrs) { ++ GMime.InternetAddressMailbox mailbox = ia as GMime.InternetAddressMailbox; ++ + if (!have_content) { + indexable.AddProperty (Property.NewUnsearched ("fixme:from", ia.ToString (false))); +- if (ia.AddressType != GMime.InternetAddressType.Group) +- indexable.AddProperty (Property.New ("fixme:from_address", ia.Addr)); +- ++ if (ia is GMime.InternetAddressMailbox) ++ indexable.AddProperty (Property.New ("fixme:from_address", mailbox.Address)); ++ + indexable.AddProperty (Property.New ("fixme:from_name", ia.Name)); + } + +- if (this.folder_name != "Sent" && ia.AddressType != GMime.InternetAddressType.Group) +- indexable.AddProperty (Property.NewUnsearched ("fixme:gotFrom", ia.Addr)); ++ if (this.folder_name != "Sent" && ia is GMime.InternetAddressMailbox) ++ indexable.AddProperty (Property.NewUnsearched ("fixme:gotFrom", mailbox.Address)); + } + addrs.Dispose (); + +Index: beagle/beagled/KMailQueryable/KMailIndexer.cs +=================================================================== +--- beagle/beagled/KMailQueryable/KMailIndexer.cs (revision 4874) ++++ beagle/beagled/KMailQueryable/KMailIndexer.cs (working copy) +@@ -407,28 +407,46 @@ + indexable.AddProperty (Property.NewUnsearched ("fixme:folder", folder_name)); + + GMime.InternetAddressList addrs; +- +- addrs = message.GetRecipients (GMime.Message.RecipientType.To); +- foreach (GMime.InternetAddress ia in addrs) { +- if (folder_name == Queryable.SentMailFolderName && ia.AddressType != GMime.InternetAddressType.Group) +- indexable.AddProperty (Property.NewKeyword ("fixme:sentTo", ia.Addr)); ++ ++ if (folder_name == Queryable.SentMailFolderName) { ++ addrs = message.GetRecipients (GMime.RecipientType.To); ++ foreach (GMime.InternetAddress ia in addrs) { ++ if (ia is GMime.InternetAddressMailbox) { ++ GMime.InternetAddressMailbox mailbox = ia as GMime.InternetAddressMailbox; ++ ++ indexable.AddProperty (Property.NewKeyword ("fixme:sentTo", mailbox.Address)); ++ } ++ } ++ ++ addrs.Dispose (); + } +- addrs.Dispose (); +- +- addrs = message.GetRecipients (GMime.Message.RecipientType.Cc); +- foreach (GMime.InternetAddress ia in addrs) { +- if (folder_name == Queryable.SentMailFolderName && ia.AddressType != GMime.InternetAddressType.Group) +- indexable.AddProperty (Property.NewKeyword ("fixme:sentTo", ia.Addr)); ++ ++ if (folder_name == Queryable.SentMailFolderName) { ++ addrs = message.GetRecipients (GMime.RecipientType.Cc); ++ foreach (GMime.InternetAddress ia in addrs) { ++ if (ia is GMime.InternetAddressMailbox) { ++ GMime.InternetAddressMailbox mailbox = ia as GMime.InternetAddressMailbox; ++ ++ indexable.AddProperty (Property.NewKeyword ("fixme:sentTo", mailbox.Address)); ++ } ++ } ++ ++ addrs.Dispose (); + } +- addrs.Dispose (); +- +- addrs = GMime.InternetAddressList.ParseString (GMime.Utils.HeaderDecodePhrase (message.Sender)); +- foreach (GMime.InternetAddress ia in addrs) { +- if (folder_name != Queryable.SentMailFolderName && ia.AddressType != GMime.InternetAddressType.Group) +- indexable.AddProperty (Property.NewKeyword ("fixme:gotFrom", ia.Addr)); ++ ++ if (folder_name != Queryable.SentMailFolderName) { ++ addrs = GMime.InternetAddressList.Parse (message.Sender); ++ foreach (GMime.InternetAddress ia in addrs) { ++ if (ia is GMime.InternetAddressMailbox) { ++ GMime.InternetAddressMailbox mailbox = ia as GMime.InternetAddressMailbox; ++ ++ indexable.AddProperty (Property.NewKeyword ("fixme:gotFrom", mailbox.Address)); ++ } ++ } ++ ++ addrs.Dispose (); + } +- addrs.Dispose (); +- ++ + if (folder_name == Queryable.SentMailFolderName) + indexable.AddProperty (Property.NewFlag ("fixme:isSent")); + else { +Index: beagle/beagled/ThunderbirdQueryable/ThunderbirdQueryable.cs +=================================================================== +--- beagle/beagled/ThunderbirdQueryable/ThunderbirdQueryable.cs (revision 4874) ++++ beagle/beagled/ThunderbirdQueryable/ThunderbirdQueryable.cs (working copy) +@@ -363,9 +363,14 @@ + message.Subject = Mime.HeaderDecodeText (GetText (document, "Subject")); + message.Sender = Mime.HeaderDecodePhrase (GetText (document, "Author")); + message.MessageId = GetText (document, "MessageId"); +- message.SetDate (DateTimeUtil.UnixToDateTimeUtc (Convert.ToInt64 (GetText (document, "Date"))), 0); +- message.AddRecipientsFromString ("To", Mime.HeaderDecodePhrase (GetText (document, "Recipients"))); +- ++ message.Date = DateTimeUtil.UnixToDateTimeUtc (Convert.ToInt64 (GetText (document, "Date"))); ++ ++ string str = GetText (document, "Recipients"); ++ GMime.InternetAddressList recipients = GMime.InternetAddressList.Parse (str); ++ foreach (GMime.InternetAddress ia in recipients) ++ message.To.Add (ia); ++ recipients.Dispose (); ++ + return message; + } + +@@ -430,7 +435,7 @@ + + // We _know_ that the stream comes from a StreamReader, which uses UTF8 by + // default. So we use that here when parsing our string. +- return (str != null ? Encoding.UTF8.GetString (str, 0, pos) : string.Empty); ++ return (str != null ? System.Text.Encoding.UTF8.GetString (str, 0, pos) : string.Empty); + } + + // This spell "charset=" +@@ -458,7 +463,7 @@ + // instead of UTF-8 in some cases and that will really mess things up. + byte[] buffer = null; + int c, header_length = 0, newlines = 0, charset_pos = 0; +- Encoding enc = Encoding.UTF8; ++ System.Text.Encoding enc = System.Text.Encoding.UTF8; + try { + do { + c = stream.BaseStream.ReadByte (); +@@ -487,7 +492,7 @@ + stream.BaseStream.Read (buffer, 0, buffer.Length); + + // We need to use correct encoding +- enc = Encoding.GetEncoding (encoding_str); ++ enc = System.Text.Encoding.GetEncoding (encoding_str); + } catch { + } finally { + stream.Close (); +Index: beagle/beagled/GoogleBackends/GMailSearchDriver.cs +=================================================================== +--- beagle/beagled/GoogleBackends/GMailSearchDriver.cs (revision 4874) ++++ beagle/beagled/GoogleBackends/GMailSearchDriver.cs (working copy) +@@ -322,38 +322,47 @@ + hit.AddProperty (Property.NewDate ("fixme:date", message.Date.ToUniversalTime ())); + + GMime.InternetAddressList addrs; +- addrs = message.GetRecipients (GMime.Message.RecipientType.To); ++ addrs = message.GetRecipients (GMime.RecipientType.To); + foreach (GMime.InternetAddress ia in addrs) { + hit.AddProperty (Property.NewUnsearched ("fixme:to", ia.ToString (false))); +- if (ia.AddressType != GMime.InternetAddressType.Group) +- hit.AddProperty (Property.New ("fixme:to_address", ia.Addr)); +- ++ if (ia is GMime.InternetAddressMailbox) { ++ GMime.InternetAddressMailbox mailbox = ia as GMime.InternetAddressMailbox; ++ ++ hit.AddProperty (Property.New ("fixme:to_address", mailbox.Address)); ++ } ++ + hit.AddProperty (Property.New ("fixme:to_name", ia.Name)); + } + addrs.Dispose (); + +- addrs = message.GetRecipients (GMime.Message.RecipientType.Cc); ++ addrs = message.GetRecipients (GMime.RecipientType.Cc); + foreach (GMime.InternetAddress ia in addrs) { + hit.AddProperty (Property.NewUnsearched ("fixme:cc", ia.ToString (false))); +- if (ia.AddressType != GMime.InternetAddressType.Group) +- hit.AddProperty (Property.New ("fixme:cc_address", ia.Addr)); +- ++ if (ia is GMime.InternetAddressMailbox) { ++ GMime.InternetAddressMailbox mailbox = ia as GMime.InternetAddressMailbox; ++ ++ hit.AddProperty (Property.New ("fixme:cc_address", mailbox.Address)); ++ } ++ + hit.AddProperty (Property.New ("fixme:cc_name", ia.Name)); + } + addrs.Dispose (); + +- addrs = GMime.InternetAddressList.ParseString (GMime.Utils.HeaderDecodePhrase (message.Sender)); ++ addrs = GMime.InternetAddressList.Parse (message.Sender); + foreach (GMime.InternetAddress ia in addrs) { + hit.AddProperty (Property.NewUnsearched ("fixme:from", ia.ToString (false))); +- if (ia.AddressType != GMime.InternetAddressType.Group) +- hit.AddProperty (Property.New ("fixme:from_address", ia.Addr)); +- ++ if (ia is GMime.InternetAddressMailbox) { ++ GMime.InternetAddressMailbox mailbox = ia as GMime.InternetAddressMailbox; ++ ++ hit.AddProperty (Property.New ("fixme:from_address", mailbox.Address)); ++ } ++ + hit.AddProperty (Property.New ("fixme:from_name", ia.Name)); + } + addrs.Dispose (); + + foreach (GMime.References refs in message.References) +- hit.AddProperty (Property.NewUnsearched ("fixme:reference", refs.Msgid)); ++ hit.AddProperty (Property.NewUnsearched ("fixme:reference", refs.MessageId)); + + string list_id = message.GetHeader ("List-Id"); + if (list_id != null) +Index: beagle/configure.in +=================================================================== +--- beagle/configure.in (revision 4874) ++++ beagle/configure.in (working copy) +@@ -17,7 +17,7 @@ + NDESK_DBUS_REQUIRED=0.5.2 + NDESK_DBUS_GLIB_REQUIRED=0.3.0 + GTK_SHARP_REQUIRED=2.10.0 +-GMIME_SHARP_REQUIRED=2.2.0 ++GMIME_SHARP_REQUIRED=2.3.5 + EVOLUTION_SHARP_REQUIRED=0.13.3 + GSF_SHARP_REQUIRED=0.6 + GTK_REQUIRED=2.10.0 +@@ -223,7 +223,7 @@ + glade-sharp-2.0 >= $GTK_SHARP_REQUIRED + gnome-sharp-2.0 >= $GTK_SHARP_REQUIRED + gnome-vfs-sharp-2.0 >= $GTK_SHARP_REQUIRED +- gmime-sharp >= $GMIME_SHARP_REQUIRED ++ gmime-sharp-2.4 >= $GMIME_SHARP_REQUIRED + ]) + AC_SUBST(BEAGLE_UI_LIBS) + +@@ -270,7 +270,7 @@ + evolution-sharp >= $EVOLUTION_SHARP_REQUIRED \ + gconf-sharp-2.0 >= $GTK_SHARP_REQUIRED \ + glib-sharp-2.0 >= $GTK_SHARP_REQUIRED +- gmime-sharp >= $GMIME_SHARP_REQUIRED, ++ gmime-sharp-2.4 >= $GMIME_SHARP_REQUIRED, + have_evo_dependencies=yes, have_evo_dependencies=no) + AC_SUBST(EVO_LIBS) + +@@ -377,14 +377,14 @@ + PKG_CHECK_MODULES(BEAGLED, + [ + shared-mime-info +- gmime-sharp >= $GMIME_SHARP_REQUIRED ++ gmime-sharp-2.4 >= $GMIME_SHARP_REQUIRED + glib-sharp-2.0 >= $GTK_SHARP_REQUIRED + ]) + BEAGLED_LIBS="$BEAGLED_LIBS $GSF_SHARP_LIBS" + AC_SUBST(BEAGLED_LIBS) + + GSF_SHARP_PREFIX=`$PKG_CONFIG --variable=prefix gsf-sharp` +-GMIME_SHARP_PREFIX=`$PKG_CONFIG --variable=prefix gmime-sharp` ++GMIME_SHARP_PREFIX=`$PKG_CONFIG --variable=prefix gmime-sharp-2.4` + + dnl ---------------------------------------------- + dnl Epiphany Extension +Index: beagle/Filters/FilterMail.cs +=================================================================== +--- beagle/Filters/FilterMail.cs (revision 4874) ++++ beagle/Filters/FilterMail.cs (working copy) +@@ -126,7 +126,7 @@ + + // Messages that are multipart/alternative shouldn't be considered as having + // attachments. Unless of course they do. +- if (mime_part is GMime.Multipart && mime_part.ContentType.Subtype.ToLower () != "alternative") ++ if (mime_part is GMime.Multipart && mime_part.ContentType.MediaSubtype.ToLower () != "alternative") + return true; + + return false; +@@ -140,34 +140,43 @@ + AddProperty (Property.NewDate ("fixme:date", message.Date.ToUniversalTime ())); + + GMime.InternetAddressList addrs; +- addrs = this.message.GetRecipients (GMime.Message.RecipientType.To); ++ addrs = this.message.GetRecipients (GMime.RecipientType.To); + foreach (GMime.InternetAddress ia in addrs) { + AddProperty (Property.NewUnsearched ("fixme:to", ia.ToString (false))); +- if (ia.AddressType != GMime.InternetAddressType.Group) +- AddProperty (Property.New ("fixme:to_address", ia.Addr)); +- ++ if (ia is GMime.InternetAddressMailbox) { ++ GMime.InternetAddressMailbox mailbox = ia as GMime.InternetAddressMailbox; ++ ++ AddProperty (Property.New ("fixme:to_address", mailbox.Address)); ++ } ++ + AddProperty (Property.New ("fixme:to_name", ia.Name)); + AddEmailLink (ia); + } + addrs.Dispose (); + +- addrs = this.message.GetRecipients (GMime.Message.RecipientType.Cc); ++ addrs = this.message.GetRecipients (GMime.RecipientType.Cc); + foreach (GMime.InternetAddress ia in addrs) { + AddProperty (Property.NewUnsearched ("fixme:cc", ia.ToString (false))); +- if (ia.AddressType != GMime.InternetAddressType.Group) +- AddProperty (Property.New ("fixme:cc_address", ia.Addr)); +- ++ if (ia is GMime.InternetAddressMailbox) { ++ GMime.InternetAddressMailbox mailbox = ia as GMime.InternetAddressMailbox; ++ ++ AddProperty (Property.New ("fixme:cc_address", mailbox.Address)); ++ } ++ + AddProperty (Property.New ("fixme:cc_name", ia.Name)); + AddEmailLink (ia); + } + addrs.Dispose (); + +- addrs = GMime.InternetAddressList.ParseString (GMime.Utils.HeaderDecodePhrase (this.message.Sender)); ++ addrs = GMime.InternetAddressList.Parse (this.message.Sender); + foreach (GMime.InternetAddress ia in addrs) { + AddProperty (Property.NewUnsearched ("fixme:from", ia.ToString (false))); +- if (ia.AddressType != GMime.InternetAddressType.Group) +- AddProperty (Property.New ("fixme:from_address", ia.Addr)); +- ++ if (ia is GMime.InternetAddressMailbox) { ++ GMime.InternetAddressMailbox mailbox = ia as GMime.InternetAddressMailbox; ++ ++ AddProperty (Property.New ("fixme:from_address", mailbox.Address)); ++ } ++ + AddProperty (Property.New ("fixme:from_name", ia.Name)); + AddEmailLink (ia); + } +@@ -184,7 +193,7 @@ + AddProperty (Property.NewUnsearched ("fixme:msgid", GMime.Utils.DecodeMessageId (msgid))); + + foreach (GMime.References refs in this.message.References) +- AddProperty (Property.NewUnsearched ("fixme:reference", refs.Msgid)); ++ AddProperty (Property.NewUnsearched ("fixme:reference", refs.MessageId)); + + string list_id = this.message.GetHeader ("List-Id"); + if (list_id != null) +@@ -345,16 +354,15 @@ + } + } else if (mime_part is GMime.Multipart) { + GMime.Multipart multipart = (GMime.Multipart) mime_part; ++ int num_parts = multipart.Count; + +- int num_parts = multipart.Number; +- + // If the mimetype is multipart/alternative, we only want to index + // one part -- the richest one we can filter. +- if (mime_part.ContentType.Subtype.ToLower () == "alternative") { ++ if (mime_part.ContentType.MediaSubtype.ToLower () == "alternative") { + // The richest formats are at the end, so work from there + // backward. + for (int i = num_parts - 1; i >= 0; i--) { +- GMime.Object subpart = multipart.GetPart (i); ++ GMime.Object subpart = multipart[i]; + + if (IsMimeTypeHandled (subpart.ContentType.ToString ())) { + part = subpart; +@@ -370,7 +378,7 @@ + // the parts, treat them like a bunch of attachments. + if (part == null) { + for (int i = 0; i < num_parts; i++) { +- using (GMime.Object subpart = multipart.GetPart (i)) ++ using (GMime.Object subpart = multipart[i]) + this.OnEachPart (subpart); + } + } +@@ -400,7 +408,7 @@ + } else if (mime_type == "text/html") { + no_child_needed = true; + html_part = true; +- string enc = part.GetContentTypeParameter ("charset"); ++ string enc = part.ContentType.GetParameter ("charset"); + // DataWrapper.Stream is a very limited stream + // and does not allow Seek or Tell + // HtmlFilter requires Stream.Position=0. +@@ -473,7 +481,7 @@ + if (length != -1) + child.AddProperty (Property.NewUnsearched ("fixme:filesize", length)); + +- if (part.ContentType.Type.ToLower () == "text") ++ if (part.ContentType.MediaType.ToLower () == "text") + child.SetTextReader (new StreamReader (stream)); + else + child.SetBinaryStream (stream); + diff --git a/app-misc/beagle/files/beagle-0.3.8-fix_gvfs.patch b/app-misc/beagle/files/beagle-0.3.8-fix_gvfs.patch new file mode 100644 index 000000000000..35c1fd3dcff0 --- /dev/null +++ b/app-misc/beagle/files/beagle-0.3.8-fix_gvfs.patch @@ -0,0 +1,11 @@ +--- beagle-0.3.8old/search/Beagle.Search.Tiles/Tile.cs 2008-06-12 07:41:19.000000000 +0200 ++++ beagle-0.3.8/search/Beagle.Search.Tiles/Tile.cs 2008-10-18 20:25:23.000000000 +0200 +@@ -348,7 +348,7 @@ + #else + MimeApplication app; + app = Mime.GetDefaultApplication (mimetype); +- bool expect_uris = app.SupportUris (); ++ bool expect_uris = app.SupportsUris (); + path = hit.Path; + + if (app == null) { |