diff options
Diffstat (limited to 'community-staging/ubuntuone-client')
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 +} |