diff --git a/srcpkgs/orage/patches/fix-infinite-reminder.patch b/srcpkgs/orage/patches/fix-infinite-reminder.patch new file mode 100644 index 00000000000..d13df31e5fd --- /dev/null +++ b/srcpkgs/orage/patches/fix-infinite-reminder.patch @@ -0,0 +1,122 @@ +From 52a58e63cb039338d3365c83cb13e20acefba083 Mon Sep 17 00:00:00 2001 +From: Juha Kautto +Date: Wed, 01 Jun 2011 12:26:22 +0000 +Subject: fixed Bug 7552 - Orage reminder duplicates infinitely + +When using default timezone floating, reminders repeated and never ended. +Fixed this and prevented using floating as the default value. Using UTC +instead. +diff --git a/src/ical-code.c b/src/ical-code.c +index c080bf2..e726103 100644 +--- src/ical-code.c ++++ src/ical-code.c +@@ -233,7 +233,7 @@ gboolean xfical_set_local_timezone(gboolean testing) + } + + /* +- * Basically standard says that timezone should be added alwasy ++ * Basically standard says that timezone should be added always + * when it is used, but in real life these are not needed since + * all systems have their own timezone data, so let's save time + * and space and comment this out. +@@ -2587,7 +2587,7 @@ static alarm_struct *process_alarm_trigger(icalcomponent *c + rel = icalparameter_get_related(trg_related_par); + else + rel = ICAL_RELATED_START; +- per = ic_get_period(c, FALSE); ++ per = ic_get_period(c, TRUE); + next_alarm_time = count_alarm_time(per, cur_time, trg.duration, rel); + alarm_start_diff = icaltime_subtract(per.stime, next_alarm_time); + /* we only have ctime for TODOs and only if todo has been completed. +diff --git a/src/parameters.c b/src/parameters.c +index 38407da..462fce2 100644 +--- src/parameters.c ++++ src/parameters.c +@@ -440,7 +440,7 @@ static void timezone_button_clicked(GtkButton *button, gpointer user_data) + + if (!ORAGE_STR_EXISTS(g_par.local_timezone)) { + g_warning("timezone pressed: local timezone missing"); +- g_par.local_timezone = g_strdup("floating"); ++ g_par.local_timezone = g_strdup("UTC"); + } + if (orage_timezone_button_clicked(button, GTK_WINDOW(itf->orage_dialog) + , &g_par.local_timezone, TRUE, g_par.local_timezone)) +@@ -501,16 +501,12 @@ static void create_parameter_dialog_main_setup_tab(Itf *dialog) + , dialog->timezone_frame, FALSE, FALSE, 5); + + dialog->timezone_button = gtk_button_new(); +- if (g_par.local_timezone) { +- gtk_button_set_label(GTK_BUTTON(dialog->timezone_button) +- , _(g_par.local_timezone)); +- } +- else { /* we should never arrive here */ +- g_warning("parameters: timezone not set."); +- g_par.local_timezone = g_strdup("floating"); +- gtk_button_set_label(GTK_BUTTON(dialog->timezone_button) +- , _("floating")); ++ if (!ORAGE_STR_EXISTS(g_par.local_timezone)) { ++ g_warning("parameters: local timezone missing"); ++ g_par.local_timezone = g_strdup("UTC"); + } ++ gtk_button_set_label(GTK_BUTTON(dialog->timezone_button) ++ , _(g_par.local_timezone)); + gtk_box_pack_start(GTK_BOX(vbox) + , dialog->timezone_button, FALSE, FALSE, 5); + gtk_tooltips_set_tip(dialog->Tooltips, dialog->timezone_button +@@ -1117,7 +1113,7 @@ static void init_default_timezone(void) + if (ORAGE_STR_EXISTS(g_par.local_timezone)) + g_message(_("Default timezone set to %s."), g_par.local_timezone); + else { +- g_par.local_timezone = g_strdup("floating"); ++ g_par.local_timezone = g_strdup("UTC"); + g_message(_("Default timezone not found, please, set it manually.")); + } + } +diff --git a/src/timezone_selection.c b/src/timezone_selection.c +index 1bcb5be..518b83d 100644 +--- src/timezone_selection.c ++++ src/timezone_selection.c +@@ -307,16 +307,31 @@ gboolean orage_timezone_button_clicked(GtkButton *button, GtkWindow *parent + tree = tz_button_create_view(details, store); + + /* show it */ +- if (check_ical) +- window = gtk_dialog_new_with_buttons(_("Pick timezone") +- , parent +- , GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT +- , _("Change mode"), 1 +- , _("UTC"), 2 +- , _("floating"), 3 +- , _(local_tz), 4 +- , GTK_STOCK_OK, GTK_RESPONSE_ACCEPT +- , NULL); ++ if (check_ical) { ++ if (local_tz == *tz) ++ /* We are actually setting the g_par parameter. In other words ++ we are setting the global default timezone for Orage. This is ++ done very seldom and we do not want to allow "floating" here. ++ This test is ugly, but it is not worth an extra parameter. */ ++ window = gtk_dialog_new_with_buttons(_("Pick timezone") ++ , parent ++ , GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT ++ , _("Change mode"), 1 ++ , _("UTC"), 2 ++ , _(local_tz), 4 ++ , GTK_STOCK_OK, GTK_RESPONSE_ACCEPT ++ , NULL); ++ else /* this is normal appointment */ ++ window = gtk_dialog_new_with_buttons(_("Pick timezone") ++ , parent ++ , GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT ++ , _("Change mode"), 1 ++ , _("UTC"), 2 ++ , _("floating"), 3 ++ , _(local_tz), 4 ++ , GTK_STOCK_OK, GTK_RESPONSE_ACCEPT ++ , NULL); ++ } + else + window = gtk_dialog_new_with_buttons(_("Pick timezone") + , parent +-- +cgit diff --git a/srcpkgs/orage/template b/srcpkgs/orage/template index 83094eb8c8f..44501b1b306 100644 --- a/srcpkgs/orage/template +++ b/srcpkgs/orage/template @@ -1,11 +1,13 @@ # Template file for 'orage' pkgname=orage version=4.8.1 -revision=1 +revision=2 distfiles="http://archive.be.xfce.org/src/apps/orage/4.8/orage-$version.tar.bz2" build_style=gnu_configure short_desc="Simple calendar application for Xfce" maintainer="Juan RP " +homepage="http://www.xfce.org/projects/orage/" +license="GPL-2" checksum=612d9e0e6b0113e04332d13cfbe027e464ff1c8e7ddef5052369ac88e67e09d8 long_desc=" A simple calendar application with reminders for Xfce." @@ -30,19 +32,13 @@ Add_dependency run xfce4-panel Add_dependency build pkg-config Add_dependency build intltool Add_dependency build flex -Add_dependency build libX11-devel Add_dependency build libical-devel Add_dependency build libnotify-devel Add_dependency build gtk+-devel Add_dependency build dbus-glib-devel -Add_dependency build gdk-pixbuf-devel -Add_dependency build pango-devel -Add_dependency build dbus-devel -Add_dependency build glib-devel Add_dependency build popt-devel Add_dependency build xfce4-panel-devel Add_dependency build libxfce4util-devel -Add_dependency build cairo-devel Add_dependency full hicolor-icon-theme Add_dependency full desktop-file-utils