From e490f2efd194df32ed9e809cc41a521d17ccbe67 Mon Sep 17 00:00:00 2001 From: Daniel Gryniewicz Date: Thu, 7 Sep 2006 03:49:51 +0000 Subject: [PATCH] gnome 2.16 Package-Manager: portage-2.1.1_rc1-r2 --- mail-client/evolution/ChangeLog | 11 +- mail-client/evolution/Manifest | 46 +- mail-client/evolution/evolution-2.8.0.ebuild | 221 ++++++ .../evolution/files/digest-evolution-2.8.0 | 6 + .../files/evolution-2.7.3-bf-junk.patch.gz | Bin 0 -> 10418 bytes .../files/evolution-2.8.0-64-bit.patch | 178 +++++ .../files/evolution-2.8.0-blank-reply.patch | 12 + .../files/evolution-2.8.0-includes.patch | 11 + .../evolution/files/evolution-2.8.0-uri.patch | 746 ++++++++++++++++++ 9 files changed, 1226 insertions(+), 5 deletions(-) create mode 100644 mail-client/evolution/evolution-2.8.0.ebuild create mode 100644 mail-client/evolution/files/digest-evolution-2.8.0 create mode 100644 mail-client/evolution/files/evolution-2.7.3-bf-junk.patch.gz create mode 100644 mail-client/evolution/files/evolution-2.8.0-64-bit.patch create mode 100644 mail-client/evolution/files/evolution-2.8.0-blank-reply.patch create mode 100644 mail-client/evolution/files/evolution-2.8.0-includes.patch create mode 100644 mail-client/evolution/files/evolution-2.8.0-uri.patch diff --git a/mail-client/evolution/ChangeLog b/mail-client/evolution/ChangeLog index 5e7bae000463..946fabdc8e50 100644 --- a/mail-client/evolution/ChangeLog +++ b/mail-client/evolution/ChangeLog @@ -1,6 +1,15 @@ # ChangeLog for mail-client/evolution # Copyright 2002-2006 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/mail-client/evolution/ChangeLog,v 1.136 2006/08/16 17:34:52 corsair Exp $ +# $Header: /var/cvsroot/gentoo-x86/mail-client/evolution/ChangeLog,v 1.137 2006/09/07 03:49:51 dang Exp $ + +*evolution-2.8.0 (07 Sep 2006) + + 07 Sep 2006; Daniel Gryniewicz + +files/evolution-2.7.3-bf-junk.patch, +files/evolution-2.8.0-64-bit.patch, + +files/evolution-2.8.0-blank-reply.patch, + +files/evolution-2.8.0-includes.patch, +files/evolution-2.8.0-uri.patch, + +evolution-2.8.0.ebuild: + New version for gnome 2.16 16 Aug 2006; Markus Rothe evolution-2.6.2-r1.ebuild: Stable on ppc64 diff --git a/mail-client/evolution/Manifest b/mail-client/evolution/Manifest index d8339f808473..e6442a88c710 100644 --- a/mail-client/evolution/Manifest +++ b/mail-client/evolution/Manifest @@ -1,3 +1,6 @@ +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA1 + AUX evolution-2.0.3-gentoo_etc_services.patch 1662 RMD160 9ac648a5f055cb5e3e98b5e41547fed0c4a7ad3d SHA1 628bf559a4915bd794893f54c552025fb015e4ce SHA256 e881f56b96b7f5b692f63f7d96705bb70626ff1957d6fabd47090ff76f46acb3 MD5 7b8c1cc2fd2428815184d471af4bb3bf files/evolution-2.0.3-gentoo_etc_services.patch 1662 RMD160 9ac648a5f055cb5e3e98b5e41547fed0c4a7ad3d files/evolution-2.0.3-gentoo_etc_services.patch 1662 @@ -26,9 +29,30 @@ AUX evolution-2.6.2-as-needed.patch 503 RMD160 11a3c2c6bee5b14e267747dccfa7aca4e MD5 d4f9b28fa25d52fd14a8144f22682ba9 files/evolution-2.6.2-as-needed.patch 503 RMD160 11a3c2c6bee5b14e267747dccfa7aca4eaf14fdd files/evolution-2.6.2-as-needed.patch 503 SHA256 b59fe688da890c40d5deef4c9ed791223d5dcba54a2a7286c0b588e5d974b49c files/evolution-2.6.2-as-needed.patch 503 +AUX evolution-2.7.3-bf-junk.patch.gz 10418 RMD160 8945624b19ac72b6047921b476ef968d4e9c2591 SHA1 66db9d34202c06c8fa0483bb1b321825ac245575 SHA256 a3aec31580402fb4113554acac684d12a083d22b80f273634d96e77364676dad +MD5 74c3c80932b7e89b3b44ad3569c3cc49 files/evolution-2.7.3-bf-junk.patch.gz 10418 +RMD160 8945624b19ac72b6047921b476ef968d4e9c2591 files/evolution-2.7.3-bf-junk.patch.gz 10418 +SHA256 a3aec31580402fb4113554acac684d12a083d22b80f273634d96e77364676dad files/evolution-2.7.3-bf-junk.patch.gz 10418 +AUX evolution-2.8.0-64-bit.patch 8622 RMD160 771ee5513d7f08d51452406ab1a7fafcd44798a9 SHA1 0d240faafa5b7a7319bbc58ed9eb5b076ef390c6 SHA256 6aac01f6d570b5384ec52107d9f7a4a516cdc5b5ff87bace25325ad0cf45d8b3 +MD5 31b37532a5d9282d9364f4ee6763ad55 files/evolution-2.8.0-64-bit.patch 8622 +RMD160 771ee5513d7f08d51452406ab1a7fafcd44798a9 files/evolution-2.8.0-64-bit.patch 8622 +SHA256 6aac01f6d570b5384ec52107d9f7a4a516cdc5b5ff87bace25325ad0cf45d8b3 files/evolution-2.8.0-64-bit.patch 8622 +AUX evolution-2.8.0-blank-reply.patch 606 RMD160 c8a377778d408e6487d581efb0193f3204efd32f SHA1 6a83605f5652fd888a80716c559a76fc5a6df27d SHA256 0e5a2c6eeef519bfae9809dd0e9f056c1ac521b76f345d7ae5b72114f4b8b62f +MD5 e52a96128b67f47ba799bc167a643f9c files/evolution-2.8.0-blank-reply.patch 606 +RMD160 c8a377778d408e6487d581efb0193f3204efd32f files/evolution-2.8.0-blank-reply.patch 606 +SHA256 0e5a2c6eeef519bfae9809dd0e9f056c1ac521b76f345d7ae5b72114f4b8b62f files/evolution-2.8.0-blank-reply.patch 606 +AUX evolution-2.8.0-includes.patch 670 RMD160 876a94d3a07af418bcd31051705c649262ecee3c SHA1 59355de5ac6fa86031f5986a4b0e36ebb7e9f883 SHA256 f3fcd6ed94e571ea0580b955f3b309802e91157811f00e98540276d3f854048a +MD5 49191e4a9a06eb90a9f756599eb455e7 files/evolution-2.8.0-includes.patch 670 +RMD160 876a94d3a07af418bcd31051705c649262ecee3c files/evolution-2.8.0-includes.patch 670 +SHA256 f3fcd6ed94e571ea0580b955f3b309802e91157811f00e98540276d3f854048a files/evolution-2.8.0-includes.patch 670 +AUX evolution-2.8.0-uri.patch 23552 RMD160 02a12b1cd9b510b152463b4024e48675cded9c4d SHA1 1d784b51829085863feaa6eded68a22ab0fe48f6 SHA256 9c366a00c37dd9fb11dd95111815b4f4c0c2bdc37dda43459e9d6e93ca8700c0 +MD5 8588a0f1fdf2f803301287c6fbc048b6 files/evolution-2.8.0-uri.patch 23552 +RMD160 02a12b1cd9b510b152463b4024e48675cded9c4d files/evolution-2.8.0-uri.patch 23552 +SHA256 9c366a00c37dd9fb11dd95111815b4f4c0c2bdc37dda43459e9d6e93ca8700c0 files/evolution-2.8.0-uri.patch 23552 DIST evolution-2.4.2.1.tar.bz2 11503590 RMD160 cb72e939fbd651a43ae09e0341f47e6ebf490c56 SHA1 b3e61e8f013ea35aa137928d1d25a91b3043357d SHA256 eae8fed13de8eee9f60606ec0e645876e4b9a1e9bb30d21dace54e3995ca5f40 DIST evolution-2.5.5.1-bf-junk.tar.bz2 10771 RMD160 7ae764761607d50024fbec32680bc57e04ac7879 SHA1 465205cf50770b72641995ec59617010dadaf204 SHA256 b8988b28836a201606d8fa651f48722ebac8c984dcc171f7f7a3b860d0f7a045 DIST evolution-2.6.2.tar.bz2 12394719 RMD160 72133312fb9cceae74d9f0e570dd898d5119a10b SHA1 08a6a9bf3754fff71cbdf82857337b1edc13ef46 SHA256 a69c45e9deae3a2eea06af08eacb9266e6cdcd452dd600ad96c2de23effa56f5 +DIST evolution-2.8.0.tar.bz2 12821926 RMD160 ba73d9529a02f2ea6db8c8f2c7da3041276e1d5c SHA1 0da65a3de84e60d0e41265607c7c7fcec18fe072 SHA256 1d83cbea7ef5b86df5eea5f553a0c3be3d157ed20bb8469b467f30cf18bb3320 EBUILD evolution-2.4.2.1.ebuild 5759 RMD160 1741e9b15ba81cd0b7befebc63d15b1808c4e114 SHA1 dc25b4f38a2700bc17d5b9c5749c5d49cd7079d3 SHA256 758f842eaa8dbffd1a700f6806a1fdd2c66bc9b3eab05aafbb08e54079822660 MD5 71b07fe7a01202020ed600b75ad32caa evolution-2.4.2.1.ebuild 5759 RMD160 1741e9b15ba81cd0b7befebc63d15b1808c4e114 evolution-2.4.2.1.ebuild 5759 @@ -37,10 +61,14 @@ EBUILD evolution-2.6.2-r1.ebuild 6015 RMD160 9c157bd49b3879e3a1cad9ce989288d2784 MD5 01b6b1aa09747d320447761898dd2f80 evolution-2.6.2-r1.ebuild 6015 RMD160 9c157bd49b3879e3a1cad9ce989288d2784bc7db evolution-2.6.2-r1.ebuild 6015 SHA256 3445f01c798527da0a8214efe040857a68f3c19bb8dd5438c7fb8f2b0322daf8 evolution-2.6.2-r1.ebuild 6015 -MISC ChangeLog 36135 RMD160 272e80aa9e0c6f32712aa0a7c92a579bddf7a8fc SHA1 900f4bbfd01dd477b78597df691cae4ae65b3080 SHA256 994662db7bbc21943992e1508f62b265dc4a747b4ae30e117ad284ddb40c0505 -MD5 0b8e70049af35db680e83dda94d2a623 ChangeLog 36135 -RMD160 272e80aa9e0c6f32712aa0a7c92a579bddf7a8fc ChangeLog 36135 -SHA256 994662db7bbc21943992e1508f62b265dc4a747b4ae30e117ad284ddb40c0505 ChangeLog 36135 +EBUILD evolution-2.8.0.ebuild 6684 RMD160 895680c57fba21e8810518f1e48a13f9a8274b5a SHA1 9f196e3ae5b5bc84b9032ff9506b6032e173998c SHA256 b9050a5aab40f845755f29d9b694930712cb3b8b16f8f524cd8e3258e315eb24 +MD5 d2d8c04ad86da601512f6ec50a6a9cc4 evolution-2.8.0.ebuild 6684 +RMD160 895680c57fba21e8810518f1e48a13f9a8274b5a evolution-2.8.0.ebuild 6684 +SHA256 b9050a5aab40f845755f29d9b694930712cb3b8b16f8f524cd8e3258e315eb24 evolution-2.8.0.ebuild 6684 +MISC ChangeLog 36468 RMD160 0e59215f85acfd958b9f54f7a3baab2235d084e7 SHA1 2dc8f9c82ce6749564a78759182cdb0fc5bb5e37 SHA256 c156d4f1fc5456d9b245b91e50f89ac9dad92c02a73dcd28a8f78dfc6fa5f1dc +MD5 0fcde35db0599262df2151a25aba204c ChangeLog 36468 +RMD160 0e59215f85acfd958b9f54f7a3baab2235d084e7 ChangeLog 36468 +SHA256 c156d4f1fc5456d9b245b91e50f89ac9dad92c02a73dcd28a8f78dfc6fa5f1dc ChangeLog 36468 MISC metadata.xml 285 RMD160 0c12c7c2e6dd66ea44e83541384d6b634c642bc0 SHA1 bbd215b7c718049707751c25e6bfc2318fa0f292 SHA256 0c662917bda7d3035eab7db55ade83dadca650d2ceddc44b7765ba5f898bd816 MD5 f0750af493d9560f5faf50f39fd644c5 metadata.xml 285 RMD160 0c12c7c2e6dd66ea44e83541384d6b634c642bc0 metadata.xml 285 @@ -51,3 +79,13 @@ SHA256 66512ea95e1843f7da7daff072e06ae1c770a51c57cf954c66d8924ba2c9213c files/di MD5 f58ca96f6e0006d63acada5e98d62982 files/digest-evolution-2.6.2-r1 533 RMD160 94fb86de744f42bcae39b6f5a0d6276ed559014e files/digest-evolution-2.6.2-r1 533 SHA256 730a2ffe0655db234cb17adecb91357a37e42064f41dc64cccfb7ab2fda0614d files/digest-evolution-2.6.2-r1 533 +MD5 26fe6f66858beb4a799a0d4a2ef4ed19 files/digest-evolution-2.8.0 533 +RMD160 51f8fb00430feb4a94d4851754fc5fe6cc5c77d5 files/digest-evolution-2.8.0 533 +SHA256 ad352c750121d30170619502ba3a3dcf059d205cb1832e31b2f20687e188dbc9 files/digest-evolution-2.8.0 533 +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v1.4.5-ecc0.1.6 (GNU/Linux) + +iD8DBQFE/5bpomPajV0RnrERAkB3AJ9m1Q2lZkwv4pKNUGJSCPFGQf7V6QCfcQMd +drFXeXtkLyRsO6lmYsKhaUM= +=+U2t +-----END PGP SIGNATURE----- diff --git a/mail-client/evolution/evolution-2.8.0.ebuild b/mail-client/evolution/evolution-2.8.0.ebuild new file mode 100644 index 000000000000..583cb92e0bb8 --- /dev/null +++ b/mail-client/evolution/evolution-2.8.0.ebuild @@ -0,0 +1,221 @@ +# Copyright 1999-2006 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/mail-client/evolution/evolution-2.8.0.ebuild,v 1.1 2006/09/07 03:49:51 dang Exp $ + +inherit eutils flag-o-matic alternatives gnome2 autotools + +DESCRIPTION="Integrated mail, addressbook and calendaring functionality" +HOMEPAGE="http://www.gnome.org/projects/evolution/" +SRC_URI="${SRC_URI} + bogofilter? ( mirror://gentoo/${PN}-2.5.5.1-bf-junk.tar.bz2 )" + +LICENSE="GPL-2 FDL-1.1" +SLOT="2.0" +KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86" +IUSE="bogofilter crypt dbus debug doc gstreamer hal ipv6 kerberos krb4 ldap mono nntp pda profile spell ssl" + +# Pango dependency required to avoid font rendering problems +# evolution-data-server dep is 1.5 because in the e-utils directories, +# the includes reference locations only present in eds > 1.5 +RDEPEND=">=x11-themes/gnome-icon-theme-1.2 + dev-libs/atk + >=gnome-extra/gtkhtml-3.9.90 + >=dev-libs/glib-2 + >=gnome-base/orbit-2.9.8 + >=gnome-base/libbonobo-2 + >=gnome-extra/evolution-data-server-1.7.90 + >=gnome-base/libbonoboui-2.4.2 + >=gnome-base/gnome-vfs-2.4 + >=gnome-base/libgnomeui-2 + >=gnome-base/libglade-2 + >=gnome-base/libgnomecanvas-2 + >=dev-libs/libxml2-2 + >=gnome-base/gconf-2 + >=gnome-base/libgnomeprint-2.2 + >=gnome-base/libgnomeprintui-2.2.1 + >=x11-libs/gtk+-2 + >=gnome-base/libgnome-2 + >=net-libs/libsoup-2.2.96 + >=x11-libs/pango-1.8.1 + x11-libs/libnotify + hal? ( >=sys-apps/hal-0.5.4 ) + pda? ( + >=app-pda/gnome-pilot-2 + >=app-pda/gnome-pilot-conduits-2 ) + spell? ( >=app-text/gnome-spell-1.0.5 ) + crypt? ( >=app-crypt/gnupg-1.2.2 ) + ssl? ( >=dev-libs/nspr-4.6.1 + >=dev-libs/nss-3.11 ) + ldap? ( >=net-nds/openldap-2 ) + kerberos? ( virtual/krb5 ) + krb4? ( virtual/krb5 ) + gstreamer? ( + >=media-libs/gstreamer-0.10 + >=media-libs/gst-plugins-base-0.10 ) + dbus? ( sys-apps/dbus ) + mono? ( >=dev-lang/mono-1 ) + bogofilter? ( mail-filter/bogofilter ) + !bogofilter? ( mail-filter/spamassassin )" + +DEPEND="${RDEPEND} + >=dev-util/pkgconfig-0.9 + >=dev-util/intltool-0.35 + sys-devel/gettext + sys-devel/bison + app-text/scrollkeeper + >=gnome-base/gnome-common-2.12.0 + doc? ( >=dev-util/gtk-doc-0.6 )" + +DOCS="AUTHORS ChangeLog* HACKING MAINTAINERS NEWS* README" +ELTCONF="--reverse-deps" + + +pkg_setup() { + G2CONF="--disable-default-binary \ + --without-kde-applnk-path \ + $(use_enable ssl nss) \ + $(use_enable ssl smime) \ + $(use_enable ipv6) \ + $(use_enable mono) \ + $(use_enable nntp) \ + $(use_enable pda pilot-conduits) \ + $(use_enable profile profiling) \ + $(use_with ldap openldap) \ + $(use_with kerberos krb5 /usr)" + + if use krb4 && ! built_with_use virtual/krb5 krb4; then + ewarn + ewarn "In order to add kerberos 4 support, you have to emerge" + ewarn "virtual/krb5 with the 'krb4' USE flag enabled as well." + ewarn + ewarn "Skipping for now." + ewarn + G2CONF="${G2CONF} --without-krb4" + else + G2CONF="${G2CONF} $(use_with krb4 krb4 /usr)" + fi + + # Plug-ins to install. Normally we would want something similar to + # --enable-plugins=all (plugins_base + plugins_standard), except for some + # special cases. + local plugins="calendar-file calendar-http calendar-weather \ + itip-formatter plugin-manager default-source addressbook-file \ + startup-wizard print-message mark-all-read groupwise-features \ + groupwise-account-setup hula-account-setup mail-account-disable \ + publish-calendar caldav \ + bbdb subject-thread save-calendar select-one-source copy-tool \ + mail-to-task mark-calendar-offline mailing-list-actions \ + new-mail-notify default-mailer import-ics-attachments" + + # For dev releases, add experimental plugins + plugins="${plugins} backup-restore folder-unsubscribe mail-to-meeting \ + prefer-plain save-attachments" + + if use bogofilter; then + plugins="${plugins} bf-junk-plugin" + else + plugins="${plugins} sa-junk-plugin" + fi + + # The special cases + + # remove this due to bug #128035 re-enable later if it doesn't dep on + # gstreamer-0.8 + # use gstreamer && plugins="${plugins} audio-inline" + use dbus && plugins="${plugins} new-mail-notify" + use mono && plugins="${plugins} mono" + + if built_with_use gnome-extra/evolution-data-server ldap; then + plugins="${plugins} exchange-operations" + fi + + local pluginlist="" + for p in $plugins; do + [ "x$pluginlist" != "x" ] && pluginlist="${pluginlist}," + pluginlist="${pluginlist}${p}" + done + + G2CONF="${G2CONF} --enable-plugins=${pluginlist}" +} + +src_unpack() { + unpack ${P}.tar.bz2 + cd "${S}" + + gnome2_omf_fix help/omf.make + + # Accept the list of plugins separated by commas instead of spaces. + epatch ${FILESDIR}/${PN}-2.3.7-configure_plugins.patch + + # Move evo to URI-based saving + epatch ${FILESDIR}/${PN}-2.8.0-uri.patch + + # Fix 64-bit warnings + epatch ${FILESDIR}/${PN}-2.8.0-64-bit.patch + + # Fix missing includes + epatch ${FILESDIR}/${PN}-2.8.0-includes.patch + + # Fix blank replys + epatch ${FILESDIR}/${PN}-2.8.0-blank-reply.patch + + # Add bogofilter junk plugin source + use bogofilter && epatch ${FILESDIR}/${PN}-2.7.3-bf-junk.patch.gz + + + eaclocal || die + _elibtoolize --copy --force || die + eautoheader || die + eautomake || die + intltoolize --force || die + eautoconf || die +} + +src_compile() { + # Use NSS/NSPR only if 'ssl' is enabled. + if use ssl ; then + sed -i -e "s|mozilla-nss|nss| + s|mozilla-nspr|nspr|" ${S}/configure + G2CONF="${G2CONF} --enable-nss=yes" + else + G2CONF="${G2CONF} --without-nspr-libs --without-nspr-includes \ + --without-nss-libs --without-nss-includes" + fi +# if use ssl ; then +# NSS_LIB=/usr/$(get_libdir)/nss +# NSS_INC=/usr/include/nss +# NSPR_LIB=/usr/$(get_libdir)/nspr +# NSPR_INC=/usr/include/nspr +# +# G2CONF="${G2CONF} \ +# --with-nspr-includes=${NSPR_INC} \ +# --with-nspr-libs=${NSPR_LIB} \ +# --with-nss-includes=${NSS_INC} \ +# --with-nss-libs=${NSS_LIB}" +# else +# G2CONF="${G2CONF} --without-nspr-libs --without-nspr-includes \ +# --without-nss-libs --without-nss-includes" +# fi + + + # problems with -O3 on gcc-3.3.1 + replace-flags -O3 -O2 + + if [ "${ARCH}" = "hppa" ]; then + append-flags "-fPIC -ffunction-sections" + export LDFLAGS="-ffunction-sections -Wl,--stub-group-size=25000" + fi + + gnome2_src_compile +} + +pkg_postinst() { + gnome2_pkg_postinst + + alternatives_auto_makesym "/usr/bin/evolution" "/usr/bin/evolution-[0-9].[0-9]" + einfo "To change the default browser if you are not using GNOME, do:" + einfo "gconftool-2 --set /desktop/gnome/url-handlers/http/command -t string 'mozilla %s'" + einfo "gconftool-2 --set /desktop/gnome/url-handlers/https/command -t string 'mozilla %s'" + einfo "" + einfo "Replace 'mozilla %s' with which ever browser you use." +} diff --git a/mail-client/evolution/files/digest-evolution-2.8.0 b/mail-client/evolution/files/digest-evolution-2.8.0 new file mode 100644 index 000000000000..8b7e069d7086 --- /dev/null +++ b/mail-client/evolution/files/digest-evolution-2.8.0 @@ -0,0 +1,6 @@ +MD5 31456188591167083628df719adc8f22 evolution-2.5.5.1-bf-junk.tar.bz2 10771 +RMD160 7ae764761607d50024fbec32680bc57e04ac7879 evolution-2.5.5.1-bf-junk.tar.bz2 10771 +SHA256 b8988b28836a201606d8fa651f48722ebac8c984dcc171f7f7a3b860d0f7a045 evolution-2.5.5.1-bf-junk.tar.bz2 10771 +MD5 fdcdaa4f6c11cb3b42078262838967d7 evolution-2.8.0.tar.bz2 12821926 +RMD160 ba73d9529a02f2ea6db8c8f2c7da3041276e1d5c evolution-2.8.0.tar.bz2 12821926 +SHA256 1d83cbea7ef5b86df5eea5f553a0c3be3d157ed20bb8469b467f30cf18bb3320 evolution-2.8.0.tar.bz2 12821926 diff --git a/mail-client/evolution/files/evolution-2.7.3-bf-junk.patch.gz b/mail-client/evolution/files/evolution-2.7.3-bf-junk.patch.gz new file mode 100644 index 0000000000000000000000000000000000000000..9a6337c14bbbcfb72c0653462d7e14778b415789 GIT binary patch literal 10418 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 + #include + #include ++#include + + static void ea_gnome_calendar_class_init (EaGnomeCalendarClass *klass); + +diff --exclude-from=/home/dang/.diffrc -u -ruN evolution-2.7.91.orig/addressbook/gui/widgets/e-minicard.c evolution-2.7.91.64-bit/addressbook/gui/widgets/e-minicard.c +--- evolution-2.7.91.orig/addressbook/gui/widgets/e-minicard.c 2006-07-22 07:14:49.000000000 -0400 ++++ evolution-2.7.91.64-bit/addressbook/gui/widgets/e-minicard.c 2006-08-24 13:18:28.000000000 -0400 +@@ -40,6 +40,7 @@ + #include "e-minicard-view.h" + #include "e-contact-editor.h" + #include ++#include + #include + #include "a11y/addressbook/ea-addressbook.h" + +diff --exclude-from=/home/dang/.diffrc -u -ruN evolution-2.7.91.orig/calendar/gui/dialogs/memo-page.h evolution-2.7.91.64-bit/calendar/gui/dialogs/memo-page.h +--- evolution-2.7.91.orig/calendar/gui/dialogs/memo-page.h 2006-07-22 07:14:51.000000000 -0400 ++++ evolution-2.7.91.64-bit/calendar/gui/dialogs/memo-page.h 2006-08-24 13:18:28.000000000 -0400 +@@ -53,6 +53,8 @@ + GtkType memo_page_get_type (void); + MemoPage *memo_page_construct (MemoPage *epage); + MemoPage *memo_page_new (BonoboUIComponent *uic, CompEditorPageFlags flags); ++void memo_page_set_show_categories (MemoPage *page, gboolean state); ++void memo_page_set_classification (MemoPage *page, ECalComponentClassification class); + + G_END_DECLS + +diff --exclude-from=/home/dang/.diffrc -u -ruN evolution-2.7.91.orig/calendar/gui/e-calendar-view.h evolution-2.7.91.64-bit/calendar/gui/e-calendar-view.h +--- evolution-2.7.91.orig/calendar/gui/e-calendar-view.h 2006-08-07 00:47:42.000000000 -0400 ++++ evolution-2.7.91.64-bit/calendar/gui/e-calendar-view.h 2006-08-24 13:18:28.000000000 -0400 +@@ -166,6 +166,12 @@ + gboolean new); + + gboolean e_calendar_view_get_tooltips (ECalendarViewEventData *data); ++void e_calendar_view_move_tip (GtkWidget *widget, int x, int y); ++#ifdef ENABLE_CAIRO ++void draw_curved_rectangle (cairo_t *cr, double x0, double y0, ++ double rect_width, double rect_height, ++ double radius); ++#endif + G_END_DECLS + + #endif +diff --exclude-from=/home/dang/.diffrc -u -ruN evolution-2.7.91.orig/calendar/gui/e-cal-model-tasks.h evolution-2.7.91.64-bit/calendar/gui/e-cal-model-tasks.h +--- evolution-2.7.91.orig/calendar/gui/e-cal-model-tasks.h 2005-10-03 02:16:51.000000000 -0400 ++++ evolution-2.7.91.64-bit/calendar/gui/e-cal-model-tasks.h 2006-08-24 13:18:28.000000000 -0400 +@@ -63,6 +63,7 @@ + + void e_cal_model_tasks_mark_task_complete (ECalModelTasks *model, gint model_row); + void e_cal_model_tasks_update_due_tasks (ECalModelTasks *model); ++void e_cal_model_tasks_mark_task_incomplete (ECalModelTasks *model, gint model_row); + + G_END_DECLS + +diff --exclude-from=/home/dang/.diffrc -u -ruN evolution-2.7.91.orig/calendar/gui/e-day-view.c evolution-2.7.91.64-bit/calendar/gui/e-day-view.c +--- evolution-2.7.91.orig/calendar/gui/e-day-view.c 2006-08-07 00:47:43.000000000 -0400 ++++ evolution-2.7.91.64-bit/calendar/gui/e-day-view.c 2006-08-24 13:18:28.000000000 -0400 +@@ -65,6 +65,7 @@ + #include "calendar-commands.h" + #include "calendar-config.h" + #include "goto.h" ++#include "e-calendar-view.h" + #include "e-cal-model-calendar.h" + #include "e-day-view-time-item.h" + #include "e-day-view-top-item.h" +diff --exclude-from=/home/dang/.diffrc -u -ruN evolution-2.7.91.orig/calendar/gui/e-meeting-store.c evolution-2.7.91.64-bit/calendar/gui/e-meeting-store.c +--- evolution-2.7.91.orig/calendar/gui/e-meeting-store.c 2006-04-22 00:39:20.000000000 -0400 ++++ evolution-2.7.91.64-bit/calendar/gui/e-meeting-store.c 2006-08-24 13:18:28.000000000 -0400 +@@ -1472,7 +1472,7 @@ + guint + e_meeting_store_get_num_queries (EMeetingStore *store) + { +- g_return_if_fail (E_IS_MEETING_STORE (store)); ++ g_return_val_if_fail (E_IS_MEETING_STORE (store), 0); + + return store->priv->num_queries; + } +diff --exclude-from=/home/dang/.diffrc -u -ruN evolution-2.7.91.orig/calendar/gui/e-week-view.c evolution-2.7.91.64-bit/calendar/gui/e-week-view.c +--- evolution-2.7.91.orig/calendar/gui/e-week-view.c 2006-07-22 07:14:51.000000000 -0400 ++++ evolution-2.7.91.64-bit/calendar/gui/e-week-view.c 2006-08-24 13:18:28.000000000 -0400 +@@ -69,6 +69,7 @@ + #include "e-week-view-layout.h" + #include "e-week-view-main-item.h" + #include "e-week-view-titles-item.h" ++#include "e-calendar-view.h" + #include "misc.h" + #include + +diff --exclude-from=/home/dang/.diffrc -u -ruN evolution-2.7.91.orig/calendar/gui/gnome-cal.h evolution-2.7.91.64-bit/calendar/gui/gnome-cal.h +--- evolution-2.7.91.orig/calendar/gui/gnome-cal.h 2006-07-22 07:14:51.000000000 -0400 ++++ evolution-2.7.91.64-bit/calendar/gui/gnome-cal.h 2006-08-24 13:18:29.000000000 -0400 +@@ -198,6 +198,7 @@ + const char* comp_uid, + const char* comp_rid); + ++GtkWidget * gnome_calendar_get_tag (GnomeCalendar *gcal); + G_END_DECLS + + #endif +diff --exclude-from=/home/dang/.diffrc -u -ruN evolution-2.7.91.orig/composer/e-msg-composer.c evolution-2.7.91.64-bit/composer/e-msg-composer.c +--- evolution-2.7.91.orig/composer/e-msg-composer.c 2006-08-07 00:47:43.000000000 -0400 ++++ evolution-2.7.91.64-bit/composer/e-msg-composer.c 2006-08-24 13:18:29.000000000 -0400 +@@ -63,6 +63,7 @@ + + #include + #include ++#include + #include + #include + +diff --exclude-from=/home/dang/.diffrc -u -ruN evolution-2.7.91.orig/e-util/e-profile-event.c evolution-2.7.91.64-bit/e-util/e-profile-event.c +--- evolution-2.7.91.orig/e-util/e-profile-event.c 2006-02-08 06:43:02.000000000 -0500 ++++ evolution-2.7.91.64-bit/e-util/e-profile-event.c 2006-08-24 13:18:29.000000000 -0400 +@@ -133,12 +133,6 @@ + + e_event_emit((EEvent *)epe, "event", (EEventTarget *)t); + } +-#else +-#undef e_profile_event_emit +-void +-e_profile_event_emit(const char *id, const char *uid, guint32 flags) +-{ +-} + #endif + + /* ********************************************************************** */ +diff --exclude-from=/home/dang/.diffrc -u -ruN evolution-2.7.91.orig/e-util/e-util.h evolution-2.7.91.64-bit/e-util/e-util.h +--- evolution-2.7.91.orig/e-util/e-util.h 2006-07-22 07:14:52.000000000 -0400 ++++ evolution-2.7.91.64-bit/e-util/e-util.h 2006-08-24 13:18:52.000000000 -0400 +@@ -29,6 +29,7 @@ + #include + #include + #include ++#include + + #ifdef __cplusplus + extern "C" { +diff --exclude-from=/home/dang/.diffrc -u -ruN evolution-2.7.91.orig/mail/em-folder-view.c evolution-2.7.91.64-bit/mail/em-folder-view.c +--- evolution-2.7.91.orig/mail/em-folder-view.c 2006-07-22 07:14:53.000000000 -0400 ++++ evolution-2.7.91.64-bit/mail/em-folder-view.c 2006-08-24 13:18:29.000000000 -0400 +@@ -69,6 +69,8 @@ + #include + #include + ++#include ++ + #include "menus/gal-view-etable.h" + #include "menus/gal-view-factory-etable.h" + #include "menus/gal-view-instance.h" +diff --exclude-from=/home/dang/.diffrc -u -ruN evolution-2.7.91.orig/mail/em-format-html-display.c evolution-2.7.91.64-bit/mail/em-format-html-display.c +--- evolution-2.7.91.orig/mail/em-format-html-display.c 2006-08-07 00:47:44.000000000 -0400 ++++ evolution-2.7.91.64-bit/mail/em-format-html-display.c 2006-08-24 13:18:29.000000000 -0400 +@@ -42,6 +42,7 @@ + #include + #include + ++#include + #include + #include + #include +diff --exclude-from=/home/dang/.diffrc -u -ruN evolution-2.7.91.orig/plugins/mono/mono-plugin.c evolution-2.7.91.64-bit/plugins/mono/mono-plugin.c +--- evolution-2.7.91.orig/plugins/mono/mono-plugin.c 2005-12-17 13:47:10.000000000 -0500 ++++ evolution-2.7.91.64-bit/plugins/mono/mono-plugin.c 2006-08-24 13:18:29.000000000 -0400 +@@ -8,6 +8,7 @@ + #include + #include + #include ++#include + #include + + #define d(x) diff --git a/mail-client/evolution/files/evolution-2.8.0-blank-reply.patch b/mail-client/evolution/files/evolution-2.8.0-blank-reply.patch new file mode 100644 index 000000000000..6ad938bb234f --- /dev/null +++ b/mail-client/evolution/files/evolution-2.8.0-blank-reply.patch @@ -0,0 +1,12 @@ +diff --exclude-from=/home/dang/.diffrc -u -ruN evolution-2.8.0.orig/mail/em-folder-view.c evolution-2.8.0/mail/em-folder-view.c +--- evolution-2.8.0.orig/mail/em-folder-view.c 2006-09-02 02:43:04.000000000 -0400 ++++ evolution-2.8.0/mail/em-folder-view.c 2006-09-06 12:24:49.000000000 -0400 +@@ -1486,7 +1486,7 @@ + + if (gtk_html_command(((EMFormatHTML *)emfv->preview)->html, "is-selection-active") + && (html = gtk_html_get_selection_html (((EMFormatHTML *)emfv->preview)->html, &len)) +- && len) { ++ && len && html[0]) { + CamelMimeMessage *msg, *src; + struct _camel_header_raw *header; + diff --git a/mail-client/evolution/files/evolution-2.8.0-includes.patch b/mail-client/evolution/files/evolution-2.8.0-includes.patch new file mode 100644 index 000000000000..e6c8a8ff957d --- /dev/null +++ b/mail-client/evolution/files/evolution-2.8.0-includes.patch @@ -0,0 +1,11 @@ +diff --exclude-from=/home/dang/.diffrc -u -ruN evolution-2.7.91.orig/widgets/misc/e-attachment-bar.h evolution-2.7.91.includes/widgets/misc/e-attachment-bar.h +--- evolution-2.7.91.orig/widgets/misc/e-attachment-bar.h 2006-05-31 23:30:06.000000000 -0400 ++++ evolution-2.7.91.includes/widgets/misc/e-attachment-bar.h 2006-08-24 12:19:22.000000000 -0400 +@@ -82,6 +82,7 @@ + GSList *e_attachment_bar_get_selected (EAttachmentBar *bar); + void e_attachment_bar_set_width(EAttachmentBar *bar, int bar_width); + GSList * e_attachment_bar_get_all_attachments (EAttachmentBar *bar); ++void e_attachment_bar_create_attachment_cache (EAttachment *attachment); + + #ifdef __cplusplus + } diff --git a/mail-client/evolution/files/evolution-2.8.0-uri.patch b/mail-client/evolution/files/evolution-2.8.0-uri.patch new file mode 100644 index 000000000000..118e8ee07aba --- /dev/null +++ b/mail-client/evolution/files/evolution-2.8.0-uri.patch @@ -0,0 +1,746 @@ +diff --exclude-from=/home/dang/.diffrc -u -ruN evolution-2.7.91.orig/calendar/gui/apps_evolution_calendar.schemas.in.in evolution-2.7.91.uri/calendar/gui/apps_evolution_calendar.schemas.in.in +--- evolution-2.7.91.orig/calendar/gui/apps_evolution_calendar.schemas.in.in 2006-08-07 00:47:42.000000000 -0400 ++++ evolution-2.7.91.uri/calendar/gui/apps_evolution_calendar.schemas.in.in 2006-08-24 13:06:28.000000000 -0400 +@@ -577,5 +577,19 @@ + The URL template to use as a free/busy data fallback, %u is replaced by the user part of the mail address and %d is replaced by the domain. + + ++ ++ ++ /schemas/apps/evolution/calendar/audio_dir ++ /apps/evolution/calendar/audio_dir ++ evolution-calendar ++ string ++ ++ Save directory for alarm audio ++ ++ Directory for saving alarm audio files ++ ++ ++ ++ + + +diff --exclude-from=/home/dang/.diffrc -u -ruN evolution-2.7.91.orig/calendar/gui/calendar-config-keys.h evolution-2.7.91.uri/calendar/gui/calendar-config-keys.h +--- evolution-2.7.91.orig/calendar/gui/calendar-config-keys.h 2006-07-22 07:14:50.000000000 -0400 ++++ evolution-2.7.91.uri/calendar/gui/calendar-config-keys.h 2006-08-24 12:05:43.000000000 -0400 +@@ -91,7 +91,7 @@ + /* Free/Busy settings */ + #define CALENDAR_CONFIG_TEMPLATE CALENDAR_CONFIG_PREFIX"/publish/template" + +-#define CALENDAR_CONFIG_SAVE_DIR "/apps/evolution/mail/save_dir" ++#define CALENDAR_CONFIG_SAVE_DIR CALENDAR_CONFIG_PREFIX"/audio_dir" + G_END_DECLS + + #endif +diff --exclude-from=/home/dang/.diffrc -u -ruN evolution-2.7.91.orig/calendar/gui/dialogs/alarm-dialog.c evolution-2.7.91.uri/calendar/gui/dialogs/alarm-dialog.c +--- evolution-2.7.91.orig/calendar/gui/dialogs/alarm-dialog.c 2006-07-09 23:54:00.000000000 -0400 ++++ evolution-2.7.91.uri/calendar/gui/dialogs/alarm-dialog.c 2006-08-24 11:47:41.000000000 -0400 +@@ -1080,6 +1080,7 @@ + dir = calendar_config_get_dir_path (); + if ( dir && *dir ) + gnome_file_entry_set_default_path (GNOME_FILE_ENTRY (dialog->aalarm_file_entry), dir); ++ g_free(dir); + check_custom_sound (dialog); + break; + +diff --exclude-from=/home/dang/.diffrc -u -ruN evolution-2.7.91.orig/e-util/e-dialog-utils.c evolution-2.7.91.uri/e-util/e-dialog-utils.c +--- evolution-2.7.91.orig/e-util/e-dialog-utils.c 2006-05-31 23:29:48.000000000 -0400 ++++ evolution-2.7.91.uri/e-util/e-dialog-utils.c 2006-08-24 11:45:27.000000000 -0400 +@@ -28,6 +28,10 @@ + + #include "e-dialog-utils.h" + ++#include ++#include ++#include ++ + #include + #ifdef GDK_WINDOWING_X11 + #include +@@ -37,18 +41,19 @@ + #include + #include + +-#ifdef USE_GTKFILECHOOSER + #include + #include + #include +-#else +-#include +-#endif + + #include + #include + #include + ++#include ++ ++#include "e-util/e-util.h" ++#include "e-util/e-error.h" ++ + + /** + * e_notice: +@@ -261,104 +266,42 @@ + GtkWidget *fs; + char **filename = data; + char *uri; +- const char *path; +- int btn = GTK_RESPONSE_YES; +- GConfClient *gconf = gconf_client_get_default(); +- char *dir; + + fs = gtk_widget_get_toplevel (widget); +-#ifdef USE_GTKFILECHOOSER +- path = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (fs)); + uri = gtk_file_chooser_get_uri (GTK_FILE_CHOOSER (fs)); +-#else +- path = gtk_file_selection_get_filename (GTK_FILE_SELECTION (fs)); +-#endif +- +- if (g_file_test (path, G_FILE_TEST_IS_REGULAR)) { +- GtkWidget *dlg; +- +- dlg = gtk_message_dialog_new (GTK_WINDOW (fs), 0, +- GTK_MESSAGE_QUESTION, +- GTK_BUTTONS_YES_NO, +- _("A file by that name already exists.\n" +- "Overwrite it?")); +- gtk_window_set_title (GTK_WINDOW (dlg), _("Overwrite file?")); +- gtk_dialog_set_has_separator (GTK_DIALOG (dlg), FALSE); + +- btn = gtk_dialog_run (GTK_DIALOG (dlg)); +- gtk_widget_destroy (dlg); +- } +- +- if (btn == GTK_RESPONSE_YES) { +- dir = g_path_get_dirname (path); +- gconf_client_set_string(gconf, "/apps/evolution/mail/save_dir", dir, NULL); +- g_free (dir); ++ if (e_file_can_save((GtkWindow *)widget, uri)) { ++ e_file_update_save_path(gtk_file_chooser_get_current_folder_uri(GTK_FILE_CHOOSER(fs)), TRUE); + *filename = uri; + } +- g_object_unref(gconf); + + gtk_main_quit (); + } + +-#ifdef USE_GTKFILECHOOSER + static void + filechooser_response (GtkWidget *fc, gint response_id, gpointer data) + { +- if (response_id == GTK_RESPONSE_ACCEPT) ++ if (response_id == GTK_RESPONSE_OK) + save_ok (fc, data); + else + gtk_widget_destroy (fc); + } +-#endif + + char * + e_file_dialog_save (const char *title, const char *fname) + { + GtkWidget *selection; + char *filename = NULL; +- char *dir, *gdir = NULL; +- GConfClient *gconf; +- +- gconf = gconf_client_get_default(); +- dir = gdir = gconf_client_get_string(gconf, "/apps/evolution/mail/save_dir", NULL); +- g_object_unref(gconf); +- +- if (dir == NULL) +- dir = (char *)g_get_home_dir(); +- +-#ifdef USE_GTKFILECHOOSER +- selection = gtk_file_chooser_dialog_new (title, +- NULL, +- GTK_FILE_CHOOSER_ACTION_SAVE, +- GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, +- GTK_STOCK_SAVE, GTK_RESPONSE_ACCEPT, +- NULL); +- gtk_dialog_set_default_response (GTK_DIALOG (selection), GTK_RESPONSE_ACCEPT); +- gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER (selection), dir); +- gtk_file_chooser_set_local_only (selection, FALSE); +- +- if (fname) +- gtk_file_chooser_set_current_name(GTK_FILE_CHOOSER (selection), fname); +- +- g_signal_connect (G_OBJECT (selection), "response", G_CALLBACK (filechooser_response), &filename); +-#else +- char *path; + +- selection = gtk_file_selection_new (title); +- path = g_strdup_printf ("%s/", dir); +- gtk_file_selection_set_filename (GTK_FILE_SELECTION (selection), path); +- g_free (path); ++ selection = e_file_get_save_filesel(NULL, title, fname, GTK_FILE_CHOOSER_ACTION_SAVE); + +- g_signal_connect (G_OBJECT (GTK_FILE_SELECTION (selection)->ok_button), "clicked", G_CALLBACK (save_ok), &filename); +- g_signal_connect (G_OBJECT (GTK_FILE_SELECTION (selection)->cancel_button), "clicked", G_CALLBACK (gtk_main_quit), NULL); +-#endif ++ g_signal_connect (G_OBJECT (selection), "response", G_CALLBACK (filechooser_response), &filename); + + gtk_widget_show (GTK_WIDGET (selection)); + gtk_grab_add (GTK_WIDGET (selection)); + gtk_main (); + + gtk_widget_destroy (GTK_WIDGET (selection)); +- g_free (gdir); + + return filename; + } +@@ -369,83 +312,147 @@ + GtkWidget *fs; + char **filename = data; + char *uri; +- const char *path; +- GConfClient *gconf = gconf_client_get_default(); + + fs = gtk_widget_get_toplevel (widget); +-#ifdef USE_GTKFILECHOOSER +- path = gtk_file_chooser_get_current_folder (GTK_FILE_CHOOSER (fs)); + uri = gtk_file_chooser_get_current_folder_uri (GTK_FILE_CHOOSER (fs)); +-#else +- path = gtk_file_selection_get_filename (GTK_FILE_SELECTION (fs)); +-#endif + +- gconf_client_set_string(gconf, "/apps/evolution/mail/save_dir", path, NULL); +- g_object_unref(gconf); ++ e_file_update_save_path(uri, FALSE); + *filename = uri; + + gtk_main_quit (); + } + +-#ifdef USE_GTKFILECHOOSER + static void + folderchooser_response (GtkWidget *fc, gint response_id, gpointer data) + { +- if (response_id == GTK_RESPONSE_ACCEPT) ++ if (response_id == GTK_RESPONSE_OK) + save_folder_ok (fc, data); + else + gtk_widget_destroy (fc); + } +-#endif + + char * + e_file_dialog_save_folder (const char *title) + { + GtkWidget *selection; +-#ifndef USE_GTKFILECHOOSER +- char *path; +-#endif + char *filename = NULL; +- char *dir, *gdir = NULL; +- GConfClient *gconf; +- +- gconf = gconf_client_get_default(); +- dir = gdir = gconf_client_get_string(gconf, "/apps/evolution/mail/save_dir", NULL); +- g_object_unref(gconf); +- +- if (dir == NULL) +- dir = (char *)g_get_home_dir(); +- +-#ifdef USE_GTKFILECHOOSER +- selection = gtk_file_chooser_dialog_new (title, +- NULL, +- GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER, +- GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, +- GTK_STOCK_SAVE, GTK_RESPONSE_ACCEPT, +- NULL); +- gtk_dialog_set_default_response (GTK_DIALOG (selection), GTK_RESPONSE_ACCEPT); +- gtk_file_chooser_set_local_only (selection, FALSE); +- gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER (selection), dir); + ++ selection = e_file_get_save_filesel(NULL, title, NULL, GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER); + g_signal_connect (G_OBJECT (selection), "response", G_CALLBACK (folderchooser_response), &filename); +-#else +- selection = gtk_file_selection_new (title); +- path = g_strdup_printf ("%s/", dir); +- gtk_file_selection_set_filename (GTK_FILE_SELECTION (selection), path); +- g_free (path); +- +- g_signal_connect (G_OBJECT (GTK_FILE_SELECTION (selection)->ok_button), "clicked", G_CALLBACK (save_folder_ok), &filename); +- g_signal_connect (G_OBJECT (GTK_FILE_SELECTION (selection)->cancel_button), "clicked", G_CALLBACK (gtk_main_quit), NULL); +-#endif + + gtk_widget_show (GTK_WIDGET (selection)); + gtk_grab_add (GTK_WIDGET (selection)); + gtk_main (); + + gtk_widget_destroy (GTK_WIDGET (selection)); +- g_free (gdir); + + return filename; + } + ++/** ++ * e_file_get_save_filesel: ++ * @parent: parent window ++ * @title: dialog title ++ * @name: filename ++ * @action: action for dialog ++ * ++ * Creates a save dialog, using the saved directory from gconf. The dialog has ++ * no signals connected and is not shown. ++ **/ ++GtkWidget * ++e_file_get_save_filesel (GtkWidget *parent, const char *title, const char *name, GtkFileChooserAction action) ++{ ++ GtkWidget *filesel; ++ char *realname, *uri; ++ ++ filesel = gtk_file_chooser_dialog_new (title, ++ NULL, ++ action, ++ GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, ++ GTK_STOCK_SAVE, GTK_RESPONSE_OK, ++ NULL); ++ gtk_dialog_set_default_response (GTK_DIALOG (filesel), GTK_RESPONSE_OK); ++ gtk_file_chooser_set_local_only (GTK_FILE_CHOOSER (filesel), FALSE); ++ ++ if (parent) ++ e_dialog_set_transient_for((GtkWindow *)filesel, parent); ++ ++ uri = e_file_get_save_path(); ++ ++ if (name && name[0]) { ++ realname = gnome_vfs_escape_string (name); ++ } else { ++ realname = NULL; ++ } ++ ++ gtk_file_chooser_set_current_folder_uri (GTK_FILE_CHOOSER (filesel), uri); ++ ++ if (realname) ++ gtk_file_chooser_set_current_name (GTK_FILE_CHOOSER (filesel), realname); ++ ++ g_free (realname); ++ g_free (uri); ++ ++ return filesel; ++} ++ ++/** ++ * e_file_can_save: ++ * ++ * Return TRUE if the URI can be saved to, FALSE otherwise. It checks local ++ * files to see if they're regular and can be accessed. If the file exists and ++ * is writable, it pops up a dialog asking the user if they want to overwrite ++ * it. Returns the users choice. ++ **/ ++gboolean ++e_file_can_save(GtkWindow *parent, const char *uri) ++{ ++ struct stat st; ++ char *path; ++ gboolean res; ++ ++ if (!uri || uri[0] == 0) ++ return FALSE; + ++ /* Assume remote files are writable; too costly to check */ ++ if (!e_file_check_local(uri)) ++ return TRUE; ++ ++ path = gnome_vfs_get_local_path_from_uri(uri); ++ if (!path) ++ return FALSE; ++ ++ /* make sure we can actually save to it... */ ++ if (g_stat (path, &st) != -1 && !S_ISREG (st.st_mode)) { ++ g_free(path); ++ return FALSE; ++ } ++ ++ res = TRUE; ++ if (g_access (path, F_OK) == 0) { ++ if (g_access (path, W_OK) != 0) { e_error_run(parent, "mail:no-save-path", path, g_strerror(errno), NULL); ++ g_free(path); ++ return FALSE; ++ } ++ ++ res = e_error_run(parent, E_ERROR_ASK_FILE_EXISTS_OVERWRITE, path, NULL) == GTK_RESPONSE_OK; ++ ++ } ++ ++ g_free(path); ++ return res; ++} ++ ++gboolean ++e_file_check_local (const char *name) ++{ ++ char *uri; ++ ++ uri = gnome_vfs_get_local_path_from_uri(name); ++ if (uri) { ++ g_free(uri); ++ return TRUE; ++ } ++ ++ return FALSE; ++} +diff --exclude-from=/home/dang/.diffrc -u -ruN evolution-2.7.91.orig/e-util/e-dialog-utils.h evolution-2.7.91.uri/e-util/e-dialog-utils.h +--- evolution-2.7.91.orig/e-util/e-dialog-utils.h 2005-10-18 05:57:20.000000000 -0400 ++++ evolution-2.7.91.uri/e-util/e-dialog-utils.h 2006-08-24 11:44:48.000000000 -0400 +@@ -24,6 +24,7 @@ + #define E_DIALOG_UTILS_H + + #include ++#include + + void e_notice (gpointer parent, + GtkMessageType type, +@@ -43,5 +44,10 @@ + + char *e_file_dialog_save_folder (const char *title); + ++GtkWidget * e_file_get_save_filesel (GtkWidget *parent, const char *title, const char *name, GtkFileChooserAction action); ++ ++gboolean e_file_can_save(GtkWindow *parent, const char *uri); ++gboolean e_file_check_local(const char *name); ++ + + #endif +diff --exclude-from=/home/dang/.diffrc -u -ruN evolution-2.7.91.orig/e-util/e-util.c evolution-2.7.91.uri/e-util/e-util.c +--- evolution-2.7.91.orig/e-util/e-util.c 2006-07-24 04:21:14.000000000 -0400 ++++ evolution-2.7.91.uri/e-util/e-util.c 2006-08-24 11:45:06.000000000 -0400 +@@ -1187,4 +1187,45 @@ + return font_options; + } + ++/** ++ * e_file_update_save_path: ++ * @uri: URI to store ++ * @free: If TRUE, free uri ++ * ++ * Save the save_dir path for evolution. If free is TRUE, uri gets freed when ++ * done. Genearally, this should be called with the output of ++ * gtk_file_chooser_get_current_folder_uri() The URI must be a path URI, not a ++ * file URI. ++ **/ ++void ++e_file_update_save_path(char *uri, gboolean free) ++{ ++ GConfClient *gconf = gconf_client_get_default(); ++ ++ gconf_client_set_string(gconf, "/apps/evolution/mail/save_dir", uri, NULL); ++ g_object_unref(gconf); ++ if (free) ++ g_free(uri); ++} ++ ++/** ++ * e_file_get_save_path: ++ * ++ * Return the save_dir path for evolution. If there isn't a save_dir, returns ++ * the users home directory. Returns an allocated URI that should be freed by ++ * the caller. ++ **/ ++char * ++e_file_get_save_path(void) ++{ ++ GConfClient *gconf = gconf_client_get_default(); ++ char *uri; ++ ++ uri = gconf_client_get_string(gconf, "/apps/evolution/mail/save_dir", NULL); ++ g_object_unref(gconf); ++ ++ if (uri == NULL) ++ uri = gnome_vfs_get_uri_from_local_path(g_get_home_dir()); ++ return (uri); ++} + +diff --exclude-from=/home/dang/.diffrc -u -ruN evolution-2.7.91.orig/e-util/e-util.h evolution-2.7.91.uri/e-util/e-util.h +--- evolution-2.7.91.orig/e-util/e-util.h 2006-07-22 07:14:52.000000000 -0400 ++++ evolution-2.7.91.uri/e-util/e-util.h 2006-08-24 11:44:45.000000000 -0400 +@@ -215,6 +215,8 @@ + Less than 0 for the int means copy the whole string. */ + gchar *e_strdup_append_strings (gchar *first_string, + ...); ++void e_file_update_save_path(char *uri, gboolean free); ++char *e_file_get_save_path(void); + cairo_font_options_t * get_font_options (); + + #ifdef __cplusplus +diff --exclude-from=/home/dang/.diffrc -u -ruN evolution-2.7.91.orig/mail/em-utils.c evolution-2.7.91.uri/mail/em-utils.c +--- evolution-2.7.91.orig/mail/em-utils.c 2006-05-31 23:29:48.000000000 -0400 ++++ evolution-2.7.91.uri/mail/em-utils.c 2006-08-23 23:50:18.000000000 -0400 +@@ -90,23 +90,6 @@ + + #define d(x) + +-static gboolean +-emu_file_check_local (const char *name) +-{ +- CamelURL *url; +- gboolean local = FALSE; +- +- url = camel_url_new (name, NULL); +- if (url == NULL) +- return TRUE; +- +- if (!g_ascii_strcasecmp (url->protocol, "file")) +- local = TRUE; +- +- camel_url_free (url); +- +- return local; +-} + /** + * em_utils_prompt_user: + * @parent: parent window +@@ -375,119 +358,24 @@ + + /* Saving messages... */ + +-static GtkWidget * +-emu_get_save_filesel (GtkWidget *parent, const char *title, const char *name, GtkFileChooserAction action) +-{ +- GtkWidget *filesel; +- const char *dir; +- char *realname, *gdir; +- GConfClient *gconf; +- +-#ifdef USE_GTKFILECHOOSER +- filesel = gtk_file_chooser_dialog_new (title, +- NULL, +- action, +- GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, +- GTK_STOCK_SAVE, GTK_RESPONSE_OK, +- NULL); +- gtk_dialog_set_default_response (GTK_DIALOG (filesel), GTK_RESPONSE_OK); +- gtk_file_chooser_set_local_only (filesel, FALSE); +-#else +- char *filename; +- +- filesel = gtk_file_selection_new (title); +-#endif +- +- if (parent) +- e_dialog_set_transient_for((GtkWindow *)filesel, parent); +- +- gconf = gconf_client_get_default(); +- dir = gdir = gconf_client_get_string(gconf, "/apps/evolution/mail/save_dir", NULL); +- g_object_unref(gconf); +- +- if (dir == NULL) +- dir = g_get_home_dir(); +- +- if (name && name[0]) { +- realname = g_strdup (name); +- em_filename_make_safe (realname); +- } else { +- realname = NULL; +- } +- +-#ifdef USE_GTKFILECHOOSER +- gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER (filesel), dir); +- +- if (realname) +- gtk_file_chooser_set_current_name (GTK_FILE_CHOOSER (filesel), realname); +-#else +- filename = g_build_filename (dir, G_DIR_SEPARATOR_S, realname, NULL); +- gtk_file_selection_set_filename (GTK_FILE_SELECTION (filesel), filename); +- g_free (filename); +-#endif +- +- g_free (realname); +- g_free (gdir); +- +- return filesel; +-} +- +-static void +-emu_update_save_path(const char *filename, gboolean path) +-{ +- char *dir = path ? (char *)filename : g_path_get_dirname(filename); +- GConfClient *gconf = gconf_client_get_default(); +- +- gconf_client_set_string(gconf, "/apps/evolution/mail/save_dir", dir, NULL); +- g_object_unref(gconf); +- if (!path) +- g_free(dir); +-} +- +-static gboolean +-emu_can_save(GtkWindow *parent, const char *path) +-{ +- struct stat st; +- +- if (!path || path[0] == 0) +- return FALSE; +- +- /* make sure we can actually save to it... */ +- if (g_stat (path, &st) != -1 && !S_ISREG (st.st_mode)) +- return FALSE; +- +- if (g_access (path, F_OK) == 0) { +- if (g_access (path, W_OK) != 0) { +- e_error_run(parent, "mail:no-save-path", path, g_strerror(errno), NULL); +- return FALSE; +- } +- +- return e_error_run(parent, E_ERROR_ASK_FILE_EXISTS_OVERWRITE, path, NULL) == GTK_RESPONSE_OK; +- } +- +- return TRUE; +-} +- + static void + emu_save_part_response(GtkWidget *filesel, int response, CamelMimePart *part) + { +- const char *path; +- const char *uri; ++ char *uri; + + if (response == GTK_RESPONSE_OK) { +-#ifdef USE_GTKFILECHOOSER + uri = gtk_file_chooser_get_uri (GTK_FILE_CHOOSER (filesel)); +- path = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (filesel)); +-#else +- path = gtk_file_selection_get_filename (GTK_FILE_SELECTION (filesel)); +-#endif + +- if (emu_file_check_local(uri) && !emu_can_save((GtkWindow *)filesel, path)) ++ if (!e_file_can_save((GtkWindow *)filesel, uri)) { ++ g_free(uri); + return; ++ } + +- emu_update_save_path(path, FALSE); ++ e_file_update_save_path(gtk_file_chooser_get_current_folder_uri( ++ GTK_FILE_CHOOSER(filesel)), TRUE); + /* FIXME: popup error if it fails? */ + mail_save_part(part, uri, NULL, NULL, FALSE); ++ g_free(uri); + } + + gtk_widget_destroy((GtkWidget *)filesel); +@@ -519,7 +407,7 @@ + } + } + +- filesel = emu_get_save_filesel(parent, prompt, name, GTK_FILE_CHOOSER_ACTION_SAVE); ++ filesel = e_file_get_save_filesel(parent, prompt, name, GTK_FILE_CHOOSER_ACTION_SAVE); + camel_object_ref(part); + g_signal_connect (filesel, "response", G_CALLBACK (emu_save_part_response), part); + gtk_widget_show (filesel); +@@ -528,16 +416,11 @@ + static void + emu_save_parts_response (GtkWidget *filesel, int response, GSList *parts) + { +- char *path = NULL; + GSList *selected; ++ char *uri = NULL; + if (response == GTK_RESPONSE_OK) { +-#ifdef USE_GTKFILECHOOSER +- path = gtk_file_chooser_get_current_folder_uri (GTK_FILE_CHOOSER (filesel)); +-#else +- path = gtk_file_selection_get_filename (GTK_FILE_SELECTION (filesel)); +-#endif +- +- emu_update_save_path(path, TRUE); ++ uri = gtk_file_chooser_get_current_folder_uri(GTK_FILE_CHOOSER (filesel)); ++ e_file_update_save_path(uri, FALSE); + + for ( selected = parts; selected != NULL; selected = selected->next) { + const char *file_name; +@@ -560,8 +443,8 @@ + file_name = safe_name; + } + +- file_path = g_build_filename (path, file_name, NULL); +- if (!g_file_test(file_path, (G_FILE_TEST_EXISTS)) || e_error_run(NULL, E_ERROR_ASK_FILE_EXISTS_OVERWRITE, file_name, NULL) == GTK_RESPONSE_OK) ++ file_path = g_build_filename (uri, file_name, NULL); ++ if (!e_file_check_local(file_path) || !g_file_test(file_path, (G_FILE_TEST_EXISTS)) || e_error_run(NULL, E_ERROR_ASK_FILE_EXISTS_OVERWRITE, file_name, NULL) == GTK_RESPONSE_OK) + mail_save_part(part, file_path, NULL, NULL, FALSE); + else + g_warning ("Could not save %s. File already exists", file_path); +@@ -570,7 +453,7 @@ + g_free (safe_name); + } + +- g_free (path); ++ g_free (uri); + } + + g_slist_free (parts); +@@ -582,7 +465,7 @@ + { + GtkWidget *filesel; + +- filesel = emu_get_save_filesel (parent, prompt, NULL, GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER); ++ filesel = e_file_get_save_filesel (parent, prompt, NULL, GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER); + g_signal_connect (filesel, "response", G_CALLBACK (emu_save_parts_response), parts); + gtk_widget_show (filesel); + } +@@ -643,21 +526,21 @@ + static void + emu_save_messages_response(GtkWidget *filesel, int response, struct _save_messages_data *data) + { +- const char *path; ++ char *uri; + + if (response == GTK_RESPONSE_OK) { +-#ifdef USE_GTKFILECHOOSER +- path = gtk_file_chooser_get_uri (GTK_FILE_CHOOSER (filesel)); +-#else +- path = gtk_file_selection_get_filename (GTK_FILE_SELECTION (filesel)); +-#endif ++ uri = gtk_file_chooser_get_uri (GTK_FILE_CHOOSER (filesel)); + +- if (!emu_can_save((GtkWindow *)filesel, path)) ++ if (!e_file_can_save((GtkWindow *)filesel, uri)) { ++ g_free(uri); + return; ++ } + +- emu_update_save_path(path, FALSE); +- mail_save_messages(data->folder, data->uids, path, NULL, NULL); ++ e_file_update_save_path(gtk_file_chooser_get_current_folder_uri( ++ GTK_FILE_CHOOSER (filesel)), TRUE); ++ mail_save_messages(data->folder, data->uids, uri, NULL, NULL); + data->uids = NULL; ++ g_free(uri); + } + + camel_object_unref(data->folder); +@@ -685,7 +568,7 @@ + g_return_if_fail (CAMEL_IS_FOLDER (folder)); + g_return_if_fail (uids != NULL); + +- filesel = emu_get_save_filesel(parent, _("Save Message..."), NULL, GTK_FILE_CHOOSER_ACTION_SAVE); ++ filesel = e_file_get_save_filesel(parent, _("Save Message..."), NULL, GTK_FILE_CHOOSER_ACTION_SAVE); + camel_object_ref(folder); + + data = g_malloc(sizeof(struct _save_messages_data)); +diff --exclude-from=/home/dang/.diffrc -u -ruN evolution-2.7.91.orig/mail/evolution-mail.schemas.in.in evolution-2.7.91.uri/mail/evolution-mail.schemas.in.in +--- evolution-2.7.91.orig/mail/evolution-mail.schemas.in.in 2006-07-22 07:14:53.000000000 -0400 ++++ evolution-2.7.91.uri/mail/evolution-mail.schemas.in.in 2006-08-24 13:04:58.000000000 -0400 +@@ -913,5 +913,20 @@ + + + ++ ++ ++ ++ /schemas/apps/evolution/mail/save_dir ++ /apps/evolution/mail/save_dir ++ evolution-mail ++ string ++ ++ Save directory ++ ++ Directory for saving mail component files ++ ++ ++ ++ + + -- 2.26.2