diff options
-rw-r--r-- | packages/libmimedir/files/mimedir-update.patch | 403 | ||||
-rw-r--r-- | packages/libmimedir/libmimedir_0.3.1-20060804.bb | 26 | ||||
-rw-r--r-- | packages/libmimedir/libmimedir_cvs.bb | 6 |
3 files changed, 433 insertions, 2 deletions
diff --git a/packages/libmimedir/files/mimedir-update.patch b/packages/libmimedir/files/mimedir-update.patch new file mode 100644 index 0000000000..f3be39eb53 --- /dev/null +++ b/packages/libmimedir/files/mimedir-update.patch @@ -0,0 +1,403 @@ +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/packages/libmimedir/libmimedir_0.3.1-20060804.bb b/packages/libmimedir/libmimedir_0.3.1-20060804.bb new file mode 100644 index 0000000000..cf6b9890a8 --- /dev/null +++ b/packages/libmimedir/libmimedir_0.3.1-20060804.bb @@ -0,0 +1,26 @@ +DESCRIPTION = "RFC2425 MIME Directory Profile library, supporting vCard and iCalendar" +SECTION = "libs" +PRIORITY = "optional" +LICENSE = "LGPL" +DEPENDS = "intltool-native glib-2.0" +PR = "r0" +SRCDATE = "20060804" +#Remove the dash below when 0.3.1 changes in PV +PV = "0.3.1+cvs-${SRCDATE}" + +SRC_URI = "cvs://anonymous@anoncvs.gnome.org/cvs/gnome;module=libmimedir \ + file://mimedir-update.patch;patch=1" + +S = "${WORKDIR}/libmimedir" + +inherit autotools pkgconfig + +EXTRA_OECONF = "--disable-gtk-doc" + +do_stage() { + autotools_stage_all +} + +PACKAGES += libmimedir-utils +FILES_libmimedir-utils = "${bindir}" +FILES_${PN} = "${libdir}" diff --git a/packages/libmimedir/libmimedir_cvs.bb b/packages/libmimedir/libmimedir_cvs.bb index 33e918b278..502420c30c 100644 --- a/packages/libmimedir/libmimedir_cvs.bb +++ b/packages/libmimedir/libmimedir_cvs.bb @@ -3,13 +3,15 @@ SECTION = "libs" PRIORITY = "optional" LICENSE = "LGPL" DEPENDS = "intltool-native" -PR = "r1" +PR = "r2" #Remove the dash below when 0.3.1 changes in PV PV = "0.3.1+cvs-${SRCDATE}" DEFAULT_PREFERENCE = -1 -SRC_URI = "cvs://anonymous@anoncvs.gnome.org/cvs/gnome;module=libmimedir" +SRC_URI = "cvs://anonymous@anoncvs.gnome.org/cvs/gnome;module=libmimedir \ + file://mimedir-update.patch;patch=1" + S = "${WORKDIR}/libmimedir" inherit autotools pkgconfig |