summaryrefslogtreecommitdiff
path: root/community-staging/ubuntuone-client
diff options
context:
space:
mode:
Diffstat (limited to 'community-staging/ubuntuone-client')
-rw-r--r--community-staging/ubuntuone-client/1339_1338.diff57
-rw-r--r--community-staging/ubuntuone-client/PKGBUILD46
-rw-r--r--community-staging/ubuntuone-client/fix-notify-hint.patch20
-rw-r--r--community-staging/ubuntuone-client/ubuntuone-client.install11
4 files changed, 134 insertions, 0 deletions
diff --git a/community-staging/ubuntuone-client/1339_1338.diff b/community-staging/ubuntuone-client/1339_1338.diff
new file mode 100644
index 000000000..cbd966a70
--- /dev/null
+++ b/community-staging/ubuntuone-client/1339_1338.diff
@@ -0,0 +1,57 @@
+=== modified file 'tests/platform/sync_menu/test_linux.py'
+--- tests/platform/sync_menu/test_linux.py 2012-10-10 14:54:49 +0000
++++ tests/platform/sync_menu/test_linux.py 2012-10-11 12:01:27 +0000
+@@ -124,6 +124,7 @@
+ """Check that the dummy has the proper methods required by the API."""
+ dummy = linux.DummySyncMenu('random', 'args')
+ self.assertIsInstance(dummy.update_transfers, Callable)
++ self.assertIsInstance(dummy.sync_status_changed, Callable)
+
+
+ class SyncMenuTestCase(TestCase):
+
+=== modified file 'ubuntuone/platform/sync_menu/linux.py'
+--- ubuntuone/platform/sync_menu/linux.py 2012-10-10 17:06:14 +0000
++++ ubuntuone/platform/sync_menu/linux.py 2012-10-11 13:00:10 +0000
+@@ -183,7 +183,7 @@
+ self.timer.addCallback(self._timeout)
+
+
+-class TransfersMenu(Dbusmenu.Menuitem):
++class TransfersMenu(Dbusmenu.Menuitem if use_syncmenu else object):
+ """Menu that handles the recent and current transfers."""
+
+ def __init__(self, status_frontend):
+@@ -227,7 +227,7 @@
+ items_added = 0
+ remove = []
+ for item in self._uploading_items:
+- if item in uploading_data:
++ if item in uploading_data.keys():
+ size, written = uploading_data[item]
+ percentage = written * 100 / size
+ upload_item = self._uploading_items[item]
+@@ -243,7 +243,7 @@
+ for item in remove:
+ self._uploading_items.pop(item)
+ if items_added < 5:
+- for item in uploading_data:
++ for item in uploading_data.keys():
+ if item not in self._uploading_items and items_added < 5:
+ size, written = uploading_data[item]
+ percentage = written * 100 / size
+@@ -270,4 +270,12 @@
+ def update_transfers(self):
+ """Do nothing."""
+
+-UbuntuOneSyncMenu = UbuntuOneSyncMenuLinux if use_syncmenu else DummySyncMenu
++ def sync_status_changed(self):
++ """Do nothing."""
++
++
++if use_syncmenu:
++ UbuntuOneSyncMenu = UbuntuOneSyncMenuLinux
++else:
++ UbuntuOneSyncMenu = DummySyncMenu
++ TransfersMenu = None
+
diff --git a/community-staging/ubuntuone-client/PKGBUILD b/community-staging/ubuntuone-client/PKGBUILD
new file mode 100644
index 000000000..8829e86d9
--- /dev/null
+++ b/community-staging/ubuntuone-client/PKGBUILD
@@ -0,0 +1,46 @@
+# $Id: PKGBUILD 77990 2012-10-16 02:30:37Z bgyorgy $
+# Maintainer: Balló György <ballogyor+arch at gmail dot com>
+
+pkgname=ubuntuone-client
+pkgver=4.0.0
+pkgrel=2
+pkgdesc="Ubuntu One helps you store, sync and share files between your computers"
+arch=('i686' 'x86_64')
+url="https://launchpad.net/ubuntuone-client"
+license=('GPL')
+depends=('dbus-glib' 'python2-configglue' 'python2-distribute' 'libnotify' 'python2-gobject2' 'python2-pyinotify' 'python2-simplejson' 'ubuntu-sso-client' 'python2-ubuntuone-storageprotocol' 'hicolor-icon-theme' 'xdg-utils')
+makedepends=('intltool' 'imake' 'gobject-introspection')
+options=('!libtool')
+install=$pkgname.install
+source=(http://launchpad.net/ubuntuone-client/stable-4-0/$pkgver/+download/$pkgname-$pkgver.tar.gz
+ 1339_1338.diff
+ fix-notify-hint.patch)
+md5sums=('738039703d4dcf54518a725f8ffbc4de'
+ 'e82e80c229de06692988c1f938a34fb9'
+ '54dfeb2be011f0a12ea7cfa0f0c19bec')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ sed -i 's@^#!.*python$@#!/usr/bin/python2@' bin/*
+
+ # Improve TransfersMenu declaration to avoid problems
+ patch -Np0 -i "$srcdir/1339_1338.diff"
+
+ # Workaround for crash in notification-daemon
+ # https://bugzilla.gnome.org/show_bug.cgi?id=665166
+ patch -Np1 -i "$srcdir/fix-notify-hint.patch"
+
+ ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --libexecdir=/usr/lib/$pkgname \
+ --disable-static \
+ PYTHON=python2
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir/" install
+
+ # We don't have Apport in Arch Linux
+ rm -r "$pkgdir"/{etc/apport,usr/share/apport}
+}
diff --git a/community-staging/ubuntuone-client/fix-notify-hint.patch b/community-staging/ubuntuone-client/fix-notify-hint.patch
new file mode 100644
index 000000000..f32280de9
--- /dev/null
+++ b/community-staging/ubuntuone-client/fix-notify-hint.patch
@@ -0,0 +1,20 @@
+diff -Naur ubuntuone-client-4.0.0.orig/ubuntuone/platform/notification/linux.py ubuntuone-client-4.0.0/ubuntuone/platform/notification/linux.py
+--- ubuntuone-client-4.0.0.orig/ubuntuone/platform/notification/linux.py 2012-06-19 15:51:01.000000000 +0200
++++ ubuntuone-client-4.0.0/ubuntuone/platform/notification/linux.py 2012-10-15 01:14:01.019476818 +0200
+@@ -40,7 +40,7 @@
+
+ if 'gi' in sys.modules and sys.modules['gi'] is not None:
+ try:
+- from gi.repository import Notify
++ from gi.repository import GLib, Notify
+ Notify # pyflakes
+ NOTIFY_MODULE = 'gi'
+ except ImportError:
+@@ -85,5 +85,6 @@
+ if append:
+ self.notification.set_hint_string('x-canonical-append', '')
+
+- self.notification.set_hint_int32('transient', int(True))
++ if NOTIFY_MODULE == 'gi':
++ self.notification.set_hint('transient', GLib.Variant.new_boolean(1))
+ self.notification.show()
diff --git a/community-staging/ubuntuone-client/ubuntuone-client.install b/community-staging/ubuntuone-client/ubuntuone-client.install
new file mode 100644
index 000000000..2c455e952
--- /dev/null
+++ b/community-staging/ubuntuone-client/ubuntuone-client.install
@@ -0,0 +1,11 @@
+post_install() {
+ xdg-icon-resource forceupdate
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ post_install $1
+}