summaryrefslogtreecommitdiff
path: root/extra/orage
diff options
context:
space:
mode:
authorroot <root@rshg047.dnsready.net>2011-06-21 23:04:10 +0000
committerroot <root@rshg047.dnsready.net>2011-06-21 23:04:10 +0000
commit17dec629d8a13d1981d734ddc703efb5382ca309 (patch)
treed0689d190de068c330b75edee00c4f327ac2d01a /extra/orage
parentf02c28de0bbcb85e152fc19d0008805021fe1a33 (diff)
Tue Jun 21 23:04:10 UTC 2011
Diffstat (limited to 'extra/orage')
-rw-r--r--extra/orage/PKGBUILD13
-rw-r--r--extra/orage/fix-infinite-reminder.patch122
-rw-r--r--extra/orage/orage.install5
3 files changed, 133 insertions, 7 deletions
diff --git a/extra/orage/PKGBUILD b/extra/orage/PKGBUILD
index dde132ac6..3201d2df2 100644
--- a/extra/orage/PKGBUILD
+++ b/extra/orage/PKGBUILD
@@ -1,25 +1,28 @@
-# $Id: PKGBUILD 112907 2011-03-07 18:26:07Z andyrtr $
+# $Id: PKGBUILD 127986 2011-06-20 15:42:51Z andyrtr $
# Maintainer: Andreas Radke <andyrtr@archlinux.org>
# Contributor: Tobias Kieslich <tobias (at) archlinux.org>
pkgname=orage
pkgver=4.8.1
-pkgrel=2
+pkgrel=3
pkgdesc="A simple calendar application with reminders for Xfce"
arch=('i686' 'x86_64')
license=('GPL2')
url="http://www.xfce.org/projects/orage/"
groups=('xfce4-goodies')
-depends=('xfce4-panel' 'libical' 'popt' 'libnotify>=0.7.1' 'hicolor-icon-theme')
+depends=('xfce4-panel' 'libical' 'popt' 'libnotify>=0.7.1' 'hicolor-icon-theme' 'desktop-file-utils')
makedepends=('intltool' 'xfce4-dev-tools' 'popt')
options=('!libtool')
replaces=('xfcalendar')
install=${pkgname}.install
-source=(http://archive.xfce.org/src/apps/${pkgname}/4.8/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('9c1139ce03e9f309240e712cf31b6a49')
+source=(http://archive.xfce.org/src/apps/${pkgname}/4.8/${pkgname}-${pkgver}.tar.bz2
+ fix-infinite-reminder.patch)
+md5sums=('9c1139ce03e9f309240e712cf31b6a49'
+ '162a6b2c97b8dff9ed180a2796aa35af')
build() {
cd ${srcdir}/${pkgname}-${pkgver}
+ patch -Np1 -i $srcdir/fix-infinite-reminder.patch
./configure --prefix=/usr \
--sysconfdir=/etc \
--libexecdir=/usr/lib \
diff --git a/extra/orage/fix-infinite-reminder.patch b/extra/orage/fix-infinite-reminder.patch
new file mode 100644
index 000000000..1dedbe902
--- /dev/null
+++ b/extra/orage/fix-infinite-reminder.patch
@@ -0,0 +1,122 @@
+From 52a58e63cb039338d3365c83cb13e20acefba083 Mon Sep 17 00:00:00 2001
+From: Juha Kautto <juha@xfce.org>
+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
+--- a/src/ical-code.c
++++ b/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
+--- a/src/parameters.c
++++ b/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
+--- a/src/timezone_selection.c
++++ b/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/extra/orage/orage.install b/extra/orage/orage.install
index 21b79d2d4..236856c64 100644
--- a/extra/orage/orage.install
+++ b/extra/orage/orage.install
@@ -1,11 +1,12 @@
post_install() {
gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+ update-desktop-database -q
}
post_upgrade() {
- post_install $1
+ post_install
}
post_remove() {
- gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+ post:install
}