summaryrefslogtreecommitdiff
path: root/recipes/libmimedir
diff options
context:
space:
mode:
authorFrans Meulenbroeks <fransmeulenbroeks@gmail.com>2010-09-25 19:30:13 +0200
committerFrans Meulenbroeks <fransmeulenbroeks@gmail.com>2010-09-25 19:40:45 +0200
commit86369d52f1474142f3b8855b1a17c2e555c03bd1 (patch)
treecd88fdc1f087ada2d013b79b1bb1afa87f9eaebd /recipes/libmimedir
parentc49791f38aa7f2e5eebdf4b256a6dafc31c78753 (diff)
libmimedir : moved unused files to obsolete dir
Signed-off-by: Frans Meulenbroeks <fransmeulenbroeks@gmail.com>
Diffstat (limited to 'recipes/libmimedir')
-rw-r--r--recipes/libmimedir/files/gslist-fix.patch11
-rw-r--r--recipes/libmimedir/files/libmimedir-0.4.0-duration-wkst.patch258
-rw-r--r--recipes/libmimedir/files/mimedir-update.patch403
-rw-r--r--recipes/libmimedir/files/mimedir-write-sequence.patch51
4 files changed, 0 insertions, 723 deletions
diff --git a/recipes/libmimedir/files/gslist-fix.patch b/recipes/libmimedir/files/gslist-fix.patch
deleted file mode 100644
index ef28ecdc53..0000000000
--- a/recipes/libmimedir/files/gslist-fix.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- /tmp/mimedir-attribute.c 2006-08-12 19:55:04.000000000 +0200
-+++ libmimedir/mimedir/mimedir-attribute.c 2006-08-12 19:55:49.938306000 +0200
-@@ -1768,7 +1768,7 @@
- }
- break;
- case ',':
-- g_slist_append (list, g_string_free (string, FALSE));
-+ list = g_slist_append (list, g_string_free (string, FALSE));
- string = g_string_new ("");
- break;
- case '\r':
diff --git a/recipes/libmimedir/files/libmimedir-0.4.0-duration-wkst.patch b/recipes/libmimedir/files/libmimedir-0.4.0-duration-wkst.patch
deleted file mode 100644
index 10843182e9..0000000000
--- a/recipes/libmimedir/files/libmimedir-0.4.0-duration-wkst.patch
+++ /dev/null
@@ -1,258 +0,0 @@
-diff -uNr libmimedir-0.4.0/bin/ical-dump.c libmimedir-0.4.0cvs20061111/bin/ical-dump.c
---- libmimedir-0.4.0/bin/ical-dump.c 2005-09-01 17:36:27.000000000 +0200
-+++ libmimedir-0.4.0cvs20061111/bin/ical-dump.c 2006-11-11 19:14:19.000000000 +0100
-@@ -144,7 +144,7 @@
- print_component (MIMEDirVComponent *component)
- {
- gchar *s, *summary, *categories, *uid;
-- guint priority, seq;
-+ guint priority, seq, duration;
- MIMEDirDateTime *dtstart, *dtend, *due;
- MIMEDirRecurrence *recur;
-
-@@ -161,6 +161,7 @@
-
- "dtstart", &dtstart,
- "dtend", &dtend,
-+ "duration", &duration,
- "due", &due,
- "recurrence", &recur,
-
-@@ -207,6 +208,9 @@
-
- }
- }
-+ if (duration) {
-+ printf (_(" Duration: %ds\n"), duration);
-+ }
- if (due && mimedir_datetime_is_valid (due)) {
- s = mimedir_datetime_to_string (due);
- if (s) {
-diff -uNr libmimedir-0.4.0/mimedir/mimedir-recurrence.c libmimedir-0.4.0cvs20061111/mimedir/mimedir-recurrence.c
---- libmimedir-0.4.0/mimedir/mimedir-recurrence.c 2005-10-08 08:46:36.000000000 +0200
-+++ libmimedir-0.4.0cvs20061111/mimedir/mimedir-recurrence.c 2006-11-11 15:47:28.000000000 +0100
-@@ -56,7 +56,8 @@
- PROP_COUNT,
- PROP_INTERVAL,
- PROP_UNIT,
-- PROP_UNITLIST
-+ PROP_UNITLIST,
-+ PROP_WKST
- };
-
- struct _MIMEDirRecurrencePriv {
-@@ -67,6 +68,7 @@
-
- MIMEDirRecurrenceUnit unit;
- gchar *units;
-+ guint8 wkst;
- };
-
- static GObjectClass *parent_class = NULL;
-@@ -167,6 +169,50 @@
- return -1;
- }
-
-+static const gchar *
-+weekday_to_string (GDateWeekday weekday)
-+{
-+ switch (weekday) {
-+ case G_DATE_MONDAY:
-+ return "MO";
-+ case G_DATE_TUESDAY:
-+ return "TU";
-+ case G_DATE_WEDNESDAY:
-+ return "WE";
-+ case G_DATE_THURSDAY:
-+ return "TH";
-+ case G_DATE_FRIDAY:
-+ return "FR";
-+ case G_DATE_SATURDAY:
-+ return "SA";
-+ case G_DATE_SUNDAY:
-+ return "SU";
-+ default:
-+ g_return_val_if_reached (NULL);
-+ }
-+}
-+
-+static GDateWeekday
-+string_to_weekday (const gchar *s)
-+{
-+ if (strcmp (s, "MO") == 0)
-+ return G_DATE_MONDAY;
-+ else if (strcmp (s, "TU") == 0)
-+ return G_DATE_TUESDAY;
-+ else if (strcmp (s, "WE") == 0)
-+ return G_DATE_WEDNESDAY;
-+ else if (strcmp (s, "TH") == 0)
-+ return G_DATE_THURSDAY;
-+ else if (strcmp (s, "FR") == 0)
-+ return G_DATE_FRIDAY;
-+ else if (strcmp (s, "SA") == 0)
-+ return G_DATE_SATURDAY;
-+ else if (strcmp (s, "SU") == 0)
-+ return G_DATE_SUNDAY;
-+ else
-+ return G_DATE_BAD_WEEKDAY;
-+}
-+
- /*
- * Class and Object Management
- */
-@@ -261,6 +307,14 @@
- NULL,
- G_PARAM_READWRITE);
- g_object_class_install_property (gobject_class, PROP_UNITLIST, pspec);
-+ pspec = g_param_spec_uint ("wkst",
-+ _("Workweek start"),
-+ _("The day on which the workweek starts"),
-+ G_DATE_BAD_WEEKDAY,
-+ G_DATE_SUNDAY,
-+ G_DATE_BAD_WEEKDAY,
-+ G_PARAM_READWRITE);
-+ g_object_class_install_property (gobject_class, PROP_WKST, pspec);
- }
-
-
-@@ -273,6 +327,7 @@
- recurrence->priv = g_new0 (MIMEDirRecurrencePriv, 1);
- recurrence->priv->freq = RECURRENCE_DAILY;
- recurrence->priv->unit = RECURRENCE_UNIT_NONE;
-+ recurrence->priv->wkst = G_DATE_BAD_WEEKDAY;
- }
-
-
-@@ -335,6 +390,9 @@
- case PROP_UNITLIST:
- mimedir_utils_set_property_string (&priv->units, value);
- break;
-+ case PROP_WKST:
-+ priv->wkst = g_value_get_uint (value);
-+ break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
- break;
-@@ -375,6 +433,9 @@
- case PROP_UNITLIST:
- g_value_set_string (value, priv->units);
- break;
-+ case PROP_WKST:
-+ g_value_set_uint (value, priv->wkst);
-+ break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
- return;
-@@ -512,6 +573,17 @@
- g_object_set (G_OBJECT (recurrence), "unit", unit, NULL);
- g_object_set (G_OBJECT (recurrence), "units", value, NULL);
- }
-+ else if (!strcasecmp (name, "WKST")) {
-+ GDateWeekday weekday;
-+
-+ weekday = string_to_weekday (value);
-+ if (!g_date_valid_weekday (weekday)) {
-+ ret = FALSE;
-+ break;
-+ }
-+
-+ g_object_set (G_OBJECT (recurrence), "wkst", weekday, NULL);
-+ }
- else {
- ret = FALSE;
- break;
-@@ -571,5 +643,11 @@
- g_string_append_printf (string, ";%s=%s", unit, priv->units);
- }
-
-+ if (g_date_valid_weekday (priv->wkst)) {
-+ const gchar *weekday;
-+ weekday = weekday_to_string (priv->wkst);
-+ g_string_append_printf (string, ";WKST=%s", weekday);
-+ }
-+
- return g_string_free (string, FALSE);
- }
-
---- libmimedir-0.4.0/mimedir/mimedir-vcomponent.c 2006-12-01 12:53:26.000000000 +0100
-+++ libmimedir-0.4.0cvs20061111/mimedir/mimedir-vcomponent.c 2006-11-11 19:08:26.000000000 +0100
-@@ -908,6 +905,7 @@
- const gchar *s;
- gint duration = 0;
- gboolean neg = FALSE;
-+ gboolean dur_week = FALSE;
-
- g_return_val_if_fail (error == NULL || *error == NULL, 0);
-
-@@ -939,48 +937,52 @@
-
- if (s[0] == 'D' || s[0] == 'd')
- duration = num * SECS_PER_DAY;
-- else if (s[0] == 'W' || s[0] == 'w')
-+ else if (s[0] == 'W' || s[0] == 'w') {
- duration = num * SECS_PER_WEEK;
-- else {
-+ dur_week = TRUE;
-+ } else {
- g_set_error (error, MIMEDIR_ATTRIBUTE_ERROR, MIMEDIR_ATTRIBUTE_ERROR_INVALID_FORMAT, MIMEDIR_ATTRIBUTE_ERROR_INVALID_FORMAT_STR, "DURATION", name);
- return 0;
- }
- s++;
- }
-
-- if (s[0] == 'T' || s[0] == 't') {
-- GError *err = NULL;
-- guint num;
-+ if ((s[0] == 'T' || s[0] == 't') && !dur_week) {
-+ guint state = 0;
-
- s++;
-
-- while (s[0] != '\0') {
-+ while (state < 3) {
-+ GError *err = NULL;
-+ guint num;
-+
- num = mimedir_vcomponent_parse_number (name, "DURATION", &s, &err);
- if (err) {
- g_propagate_error (error, err);
- return 0;
- }
--
-- switch (s[0]) {
-- case 'H':
-- s++;
-+ if (s[0] == 'H' && state < 1) {
- duration += num * SECS_PER_HOUR;
-- break;
-- case 'M':
-- s++;
-+ state = 1;
-+ } else if (s[0] == 'M' && state < 2) {
- duration += num * SECS_PER_MINUTE;
-- break;
-- case 'S':
-- s++;
-- duration += num;
-- break;
-- default:
-+ state = 2;
-+ } else if (s[0] == 'S' && state < 3) {
-+ duration += num ;
-+ state = 3;
-+ } else {
- g_set_error (error, MIMEDIR_ATTRIBUTE_ERROR, MIMEDIR_ATTRIBUTE_ERROR_INVALID_FORMAT, MIMEDIR_ATTRIBUTE_ERROR_INVALID_FORMAT_STR, "DURATION", name);
- return 0;
- }
-+ s++;
- }
- }
-
-+ if (s[0] != '\0') {
-+ g_set_error (error, MIMEDIR_ATTRIBUTE_ERROR, MIMEDIR_ATTRIBUTE_ERROR_INVALID_FORMAT, MIMEDIR_ATTRIBUTE_ERROR_INVALID_FORMAT_STR, "DURATION", name);
-+ return 0;
-+ }
-+
- return neg ? -duration : duration;
- }
-
diff --git a/recipes/libmimedir/files/mimedir-update.patch b/recipes/libmimedir/files/mimedir-update.patch
deleted file mode 100644
index f3be39eb53..0000000000
--- a/recipes/libmimedir/files/mimedir-update.patch
+++ /dev/null
@@ -1,403 +0,0 @@
-diff -Nur libmimedir_orig/Makefile.am libmimedir/Makefile.am
---- libmimedir_orig/Makefile.am 2002-08-15 15:36:01.000000000 +0200
-+++ libmimedir/Makefile.am 2006-08-04 15:51:06.000000000 +0200
-@@ -5,7 +5,22 @@
- mimedir-1.0.pc.in \
- intltool-extract.in \
- intltool-merge.in \
-- intltool-update.in
-+ intltool-update.in \
-+ debian/changelog \
-+ debian/copyright \
-+ debian/control \
-+ debian/compat \
-+ debian/rules \
-+ debian/libmimedir0.files \
-+ debian/libmimedir-dev.files
-+
-
- pkgconfigdir = $(libdir)/pkgconfig
- pkgconfig_DATA = mimedir-1.0.pc
-+
-+deb: dist
-+ -mkdir $(top_builddir)/debian-build
-+ cd $(top_builddir)/debian-build && tar zxf ../$(top_builddir)/$(PACKAGE)-$(VERSION).tar.gz
-+ cd $(top_builddir)/debian-build/$(PACKAGE)-$(VERSION) && dpkg-buildpackage -S -D -rfakeroot
-+ cd $(top_builddir)/debian-build/$(PACKAGE)-$(VERSION) && dpkg-buildpackage -D -rfakeroot
-+ -rm -rf $(top_builddir)/debian-build/$(PACKAGE)-$(VERSION)
-diff -Nur libmimedir_orig/configure.in libmimedir/configure.in
---- libmimedir_orig/configure.in 2006-02-09 13:30:13.000000000 +0100
-+++ libmimedir/configure.in 2006-08-04 15:51:06.000000000 +0200
-@@ -3,7 +3,7 @@
- AC_INIT(MIME Directory Library, 0.4.0, mailto:srittau@jroger.in-berlin.de, libmimedir)
- AC_PREREQ(2.53)
- AC_CONFIG_SRCDIR(mimedir/mimedir-attribute.c)
--AM_INIT_AUTOMAKE(AC_PACKAGE_NAME, AC_PACKAGE_VERSION)
-+AM_INIT_AUTOMAKE(libmimedir, AC_PACKAGE_VERSION)
- AC_PROG_INTLTOOL
- AM_CONFIG_HEADER(config.h)
-
-diff -Nur libmimedir_orig/mimedir/Makefile.am libmimedir/mimedir/Makefile.am
---- libmimedir_orig/mimedir/Makefile.am 2002-12-19 16:21:27.000000000 +0100
-+++ libmimedir/mimedir/Makefile.am 2006-08-04 15:56:36.000000000 +0200
-@@ -26,6 +26,7 @@
- mimedir-period.c \
- mimedir-profile.c \
- mimedir-recurrence.c \
-+ mimedir-recurrence-rule.c \
- mimedir-utils.c \
- mimedir-utils.h \
- mimedir-valarm.c \
-@@ -52,6 +53,7 @@
- mimedir-period.h \
- mimedir-profile.h \
- mimedir-recurrence.h \
-+ mimedir-recurrence-rule.h \
- mimedir-valarm.h \
- mimedir-vcal.h \
- mimedir-vcard.h \
-diff -Nur libmimedir_orig/mimedir/mimedir-attribute.c libmimedir/mimedir/mimedir-attribute.c
---- libmimedir_orig/mimedir/mimedir-attribute.c 2006-01-01 04:38:29.000000000 +0100
-+++ libmimedir/mimedir/mimedir-attribute.c 2006-08-04 15:51:06.000000000 +0200
-@@ -1417,7 +1417,7 @@
- g_return_val_if_fail (parameter != NULL, FALSE);
-
- p = mimedir_attribute_get_parameter (attribute, parameter);
-- if (p)
-+ if (p && p->values)
- return (gchar *) p->values->data;
- else
- return NULL;
-diff -Nur libmimedir_orig/mimedir/mimedir-recurrence-rule.c libmimedir/mimedir/mimedir-recurrence-rule.c
---- libmimedir_orig/mimedir/mimedir-recurrence-rule.c 1970-01-01 01:00:00.000000000 +0100
-+++ libmimedir/mimedir/mimedir-recurrence-rule.c 2006-08-04 15:52:39.000000000 +0200
-@@ -0,0 +1,171 @@
-+/* RFC 2445 iCal Recurrence Rule Object
-+ * Copyright (C) 2004 Phil Blundell <pb@nexus.co.uk>
-+ *
-+ * $Id: mimedir-recurrence.h,v 1.1 2002/08/28 04:57:12 srittau Exp $
-+ *
-+ * This library is free software; you can redistribute it and/or
-+ * modify it under the terms of the GNU Lesser General Public
-+ * License as published by the Free Software Foundation; either
-+ * version 2.1 of the License, or (at your option) any later version.
-+ *
-+ * This library is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-+ * Lesser General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU Lesser General Public
-+ * License along with this library; if not, write to the Free Software
-+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-+ */
-+
-+#ifdef HAVE_CONFIG_H
-+#include <config.h>
-+#endif
-+
-+#include "mimedir-recurrence-rule.h"
-+
-+
-+#ifndef _
-+#define _(x) (dgettext(GETTEXT_PACKAGE, (x)))
-+#endif
-+
-+
-+static void mimedir_recurrence_rule_class_init (MIMEDirRecurrenceRuleClass *klass);
-+static void mimedir_recurrence_rule_init (MIMEDirRecurrenceRule *recurrence);
-+static void mimedir_recurrence_rule_dispose (GObject *object);
-+
-+
-+struct _MIMEDirRecurrenceRulePriv {
-+ MIMEDirRecurrenceFrequency frequency;
-+ int interval;
-+};
-+
-+static GObjectClass *parent_class = NULL;
-+
-+/*
-+ * Class and Object Management
-+ */
-+
-+GType
-+mimedir_recurrence_rule_get_type (void)
-+{
-+ static GType mimedir_recurrence_rule_type = 0;
-+
-+ if (!mimedir_recurrence_rule_type) {
-+ static const GTypeInfo mimedir_recurrence_rule_info = {
-+ sizeof (MIMEDirRecurrenceRuleClass),
-+ NULL, /* base_init */
-+ NULL, /* base_finalize */
-+ (GClassInitFunc) mimedir_recurrence_rule_class_init,
-+ NULL, /* class_finalize */
-+ NULL, /* class_data */
-+ sizeof (MIMEDirRecurrenceRule),
-+ 1, /* n_preallocs */
-+ (GInstanceInitFunc) mimedir_recurrence_rule_init,
-+ };
-+
-+ mimedir_recurrence_rule_type = g_type_register_static (G_TYPE_OBJECT,
-+ "MIMEDirRecurrenceRule",
-+ &mimedir_recurrence_rule_info,
-+ 0);
-+ }
-+
-+ return mimedir_recurrence_rule_type;
-+}
-+
-+
-+static void
-+mimedir_recurrence_rule_class_init (MIMEDirRecurrenceRuleClass *klass)
-+{
-+ GObjectClass *gobject_class;
-+
-+ g_return_if_fail (klass != NULL);
-+ g_return_if_fail (MIMEDIR_IS_RECURRENCE_RULE_CLASS (klass));
-+
-+ gobject_class = G_OBJECT_CLASS (klass);
-+
-+ gobject_class->dispose = mimedir_recurrence_rule_dispose;
-+
-+ parent_class = g_type_class_peek_parent (klass);
-+}
-+
-+
-+static void
-+mimedir_recurrence_rule_init (MIMEDirRecurrenceRule *rule)
-+{
-+ MIMEDirRecurrenceRulePriv *priv;
-+
-+ g_return_if_fail (rule != NULL);
-+ g_return_if_fail (MIMEDIR_IS_RECURRENCE_RULE (rule));
-+
-+ priv = g_new0 (MIMEDirRecurrenceRulePriv, 1);
-+ rule->priv = priv;
-+}
-+
-+
-+static void
-+mimedir_recurrence_rule_dispose (GObject *object)
-+{
-+ MIMEDirRecurrenceRule *rule;
-+
-+ g_return_if_fail (object != NULL);
-+ g_return_if_fail (MIMEDIR_IS_RECURRENCE_RULE (object));
-+
-+ rule = MIMEDIR_RECURRENCE_RULE (object);
-+
-+ g_free (rule->priv);
-+ rule->priv = NULL;
-+
-+ G_OBJECT_CLASS (parent_class)->dispose (object);
-+}
-+
-+/*
-+ * Public Methods
-+ */
-+
-+/**
-+ * mimedir_recurrence_rule_new:
-+ *
-+ * Creates a new iCal recurrence object.
-+ *
-+ * Return value: a new recurrence object
-+ **/
-+MIMEDirRecurrenceRule *
-+mimedir_recurrence_rule_new (void)
-+{
-+ MIMEDirRecurrenceRule *rule;
-+
-+ rule = g_object_new (MIMEDIR_TYPE_RECURRENCE_RULE, NULL);
-+
-+ return rule;
-+}
-+
-+/**
-+ * mimedir_recurrence_rule_get_frequency:
-+ *
-+ * Retrieves the base frequency for the corresponding recurrence object.
-+ *
-+ * Return value: a #MIMEDirRecurrenceFrequency
-+ **/
-+MIMEDirRecurrenceFrequency
-+mimedir_recurrence_rule_get_frequency (MIMEDirRecurrenceRule *rule)
-+{
-+ g_return_val_if_fail (MIMEDIR_IS_RECURRENCE_RULE (rule), 0);
-+
-+ return rule->priv->frequency;
-+}
-+
-+/**
-+ * mimedir_recurrence_rule_get_interval:
-+ *
-+ * Retrieves the interval for the corresponding recurrence object.
-+ *
-+ * Return value: an #int
-+ **/
-+int
-+mimedir_recurrence_rule_get_interval (MIMEDirRecurrenceRule *rule)
-+{
-+ g_return_val_if_fail (MIMEDIR_IS_RECURRENCE_RULE (rule), 0);
-+
-+ return rule->priv->interval;
-+}
-diff -Nur libmimedir_orig/mimedir/mimedir-recurrence-rule.h libmimedir/mimedir/mimedir-recurrence-rule.h
---- libmimedir_orig/mimedir/mimedir-recurrence-rule.h 1970-01-01 01:00:00.000000000 +0100
-+++ libmimedir/mimedir/mimedir-recurrence-rule.h 2006-08-04 15:52:39.000000000 +0200
-@@ -0,0 +1,74 @@
-+/* RFC 2445 iCal Recurrence Rule Object
-+ * Copyright (C) 2004 Phil Blundell <pb@nexus.co.uk>
-+ *
-+ * $Id: mimedir-recurrence.h,v 1.1 2002/08/28 04:57:12 srittau Exp $
-+ *
-+ * This library is free software; you can redistribute it and/or
-+ * modify it under the terms of the GNU Lesser General Public
-+ * License as published by the Free Software Foundation; either
-+ * version 2.1 of the License, or (at your option) any later version.
-+ *
-+ * This library is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-+ * Lesser General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU Lesser General Public
-+ * License along with this library; if not, write to the Free Software
-+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-+ */
-+
-+#ifndef __MIMEDIR_RECURRENCE_RULE_H__
-+#define __MIMEDIR_RECURRENCE_RULE_H__
-+
-+#include <glib.h>
-+#include <glib-object.h>
-+
-+#include "mimedir/mimedir-datetime.h"
-+
-+#define MIMEDIR_TYPE_RECURRENCE_RULE (mimedir_recurrence_get_type())
-+#define MIMEDIR_RECURRENCE_RULE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), MIMEDIR_TYPE_RECURRENCE_RULE, MIMEDirRecurrenceRule))
-+#define MIMEDIR_RECURRENCE_RULE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), MIMEDIR_TYPE_RECURRENCE_RULE, MIMEDirRecurrenceRuleClass))
-+#define MIMEDIR_IS_RECURRENCE_RULE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MIMEDIR_TYPE_RECURRENCE_RULE))
-+#define MIMEDIR_IS_RECURRENCE_RULE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), MIMEDIR_TYPE_RECURRENCE_RULE))
-+
-+typedef struct _MIMEDirRecurrenceRule MIMEDirRecurrenceRule;
-+typedef struct _MIMEDirRecurrenceRulePriv MIMEDirRecurrenceRulePriv;
-+typedef struct _MIMEDirRecurrenceRuleClass MIMEDirRecurrenceRuleClass;
-+
-+typedef enum {
-+ MIMEDIR_RECURRENCE_RULE_SECONDLY,
-+ MIMEDIR_RECURRENCE_RULE_MINUTELY,
-+ MIMEDIR_RECURRENCE_RULE_HOURLY,
-+ MIMEDIR_RECURRENCE_RULE_DAILY,
-+ MIMEDIR_RECURRENCE_RULE_WEEKLY,
-+ MIMEDIR_RECURRENCE_RULE_MONTHLY,
-+ MIMEDIR_RECURRENCE_RULE_YEARLY,
-+} MIMEDirRecurrenceFrequency;
-+
-+struct _MIMEDirRecurrenceRule
-+{
-+ GObject parent;
-+
-+ MIMEDirRecurrenceRulePriv *priv;
-+};
-+
-+struct _MIMEDirRecurrenceRuleClass
-+{
-+ GObjectClass parent_class;
-+};
-+
-+MIMEDirRecurrenceFrequency mimedir_recurrence_rule_get_frequency (MIMEDirRecurrenceRule *);
-+int mimedir_recurrence_rule_get_interval (MIMEDirRecurrenceRule *);
-+int mimedir_recurrence_rule_get_count (MIMEDirRecurrenceRule *);
-+MIMEDirDateTime *mimedir_recurrence_rule_get_end_date (MIMEDirRecurrenceRule *);
-+
-+void mimedir_recurrence_rule_set (MIMEDirRecurrenceRule *,
-+ MIMEDirRecurrenceFrequency freq,
-+ int interval);
-+
-+GType mimedir_recurrence_rule_get_type (void);
-+MIMEDirRecurrenceRule *mimedir_recurrence_rule_new (void);
-+
-+#endif
-+
-diff -Nur libmimedir_orig/mimedir/mimedir-vcomponent.c libmimedir/mimedir/mimedir-vcomponent.c
---- libmimedir_orig/mimedir/mimedir-vcomponent.c 2005-11-26 16:40:20.000000000 +0100
-+++ libmimedir/mimedir/mimedir-vcomponent.c 2006-08-04 15:51:06.000000000 +0200
-@@ -951,52 +951,33 @@
-
- s++;
-
-- num = mimedir_vcomponent_parse_number (name, "DURATION", &s, &err);
-- if (err) {
-- g_propagate_error (error, err);
-- return 0;
-- }
-- if (s[0] != 'H') {
-- g_set_error (error, MIMEDIR_ATTRIBUTE_ERROR, MIMEDIR_ATTRIBUTE_ERROR_INVALID_FORMAT, MIMEDIR_ATTRIBUTE_ERROR_INVALID_FORMAT_STR, "DURATION", name);
-- return 0;
-- }
-- s++;
-- duration += num * SECS_PER_HOUR;
--
-- if (s[0]) {
-+ while (s[0] != '\0') {
- num = mimedir_vcomponent_parse_number (name, "DURATION", &s, &err);
- if (err) {
- g_propagate_error (error, err);
- return 0;
- }
-- if (s[0] != 'M') {
-- g_set_error (error, MIMEDIR_ATTRIBUTE_ERROR, MIMEDIR_ATTRIBUTE_ERROR_INVALID_FORMAT, MIMEDIR_ATTRIBUTE_ERROR_INVALID_FORMAT_STR, "DURATION", name);
-- return 0;
-- }
-- s++;
-- duration += num * SECS_PER_MINUTE;
-- }
-
-- if (s[0]) {
-- num = mimedir_vcomponent_parse_number (name, "DURATION", &s, &err);
-- if (err) {
-- g_propagate_error (error, err);
-- return 0;
-- }
-- if (s[0] != 'S') {
-+ switch (s[0]) {
-+ case 'H':
-+ s++;
-+ duration += num * SECS_PER_HOUR;
-+ break;
-+ case 'M':
-+ s++;
-+ duration += num * SECS_PER_MINUTE;
-+ break;
-+ case 'S':
-+ s++;
-+ duration += num;
-+ break;
-+ default:
- g_set_error (error, MIMEDIR_ATTRIBUTE_ERROR, MIMEDIR_ATTRIBUTE_ERROR_INVALID_FORMAT, MIMEDIR_ATTRIBUTE_ERROR_INVALID_FORMAT_STR, "DURATION", name);
- return 0;
- }
-- s++;
-- duration += num;
- }
- }
-
-- if (s[0] != '\0') {
-- g_set_error (error, MIMEDIR_ATTRIBUTE_ERROR, MIMEDIR_ATTRIBUTE_ERROR_INVALID_FORMAT, MIMEDIR_ATTRIBUTE_ERROR_INVALID_FORMAT_STR, "DURATION", name);
-- return 0;
-- }
--
- return neg ? -duration : duration;
- }
-
-@@ -2996,7 +2977,7 @@
- g_free (priv->location);
- g_free (priv->location_alt);
- priv->location = g_strdup (location);
-- priv->location_alt = g_strdup (uri);
-+ priv->location_alt = uri ? g_strdup (uri) : NULL;
- }
-
- /**
diff --git a/recipes/libmimedir/files/mimedir-write-sequence.patch b/recipes/libmimedir/files/mimedir-write-sequence.patch
deleted file mode 100644
index b03c5d9ca7..0000000000
--- a/recipes/libmimedir/files/mimedir-write-sequence.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-? mimedir/.deps
-? mimedir/.libs
-? mimedir/libmimedir.la
-? mimedir/mimedir-attachment.lo
-? mimedir/mimedir-attendee.lo
-? mimedir/mimedir-attribute.lo
-? mimedir/mimedir-datetime.lo
-? mimedir/mimedir-init.lo
-? mimedir/mimedir-marshal.lo
-? mimedir/mimedir-period.lo
-? mimedir/mimedir-profile.lo
-? mimedir/mimedir-recurrence.lo
-? mimedir/mimedir-utils.lo
-? mimedir/mimedir-valarm.lo
-? mimedir/mimedir-vcal.lo
-? mimedir/mimedir-vcard-address.lo
-? mimedir/mimedir-vcard-email.lo
-? mimedir/mimedir-vcard-phone.lo
-? mimedir/mimedir-vcard.lo
-? mimedir/mimedir-vcomponent.lo
-? mimedir/mimedir-vevent.lo
-? mimedir/mimedir-vfreebusy.lo
-? mimedir/mimedir-vjournal.lo
-? mimedir/mimedir-vtimezone.lo
-? mimedir/mimedir-vtodo.lo
-Index: mimedir/mimedir-vcomponent.c
-===================================================================
-RCS file: /cvs/gnome/libmimedir/mimedir/mimedir-vcomponent.c,v
-retrieving revision 1.28
-diff -B -b -u -r1.28 mimedir-vcomponent.c
---- mimedir/mimedir-vcomponent.c 26 Nov 2005 15:40:20 -0000 1.28
-+++ mimedir/mimedir-vcomponent.c 7 Aug 2006 12:20:01 -0000
-@@ -456,7 +456,7 @@
- _("Sequence"),
- _("Sequence number"),
- 0, G_MAXINT, 0,
-- G_PARAM_READABLE);
-+ G_PARAM_READWRITE);
- g_object_class_install_property (gobject_class, PROP_SEQ, pspec);
- }
-
-@@ -684,6 +684,9 @@
- g_object_ref (G_OBJECT (priv->last_modified));
- break;
- }
-+ case PROP_SEQ:
-+ priv->sequence = g_value_get_uint (value);
-+ break;
-
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);