summaryrefslogtreecommitdiff
path: root/community/gwibber
diff options
context:
space:
mode:
Diffstat (limited to 'community/gwibber')
-rw-r--r--community/gwibber/PKGBUILD56
-rw-r--r--community/gwibber/gtkspell3-port.patch29
-rw-r--r--community/gwibber/gwibber.install12
-rw-r--r--community/gwibber/lp_1051801.patch12
-rw-r--r--community/gwibber/lp_1088775.patch16
-rw-r--r--community/gwibber/lp_934530.patch21
6 files changed, 146 insertions, 0 deletions
diff --git a/community/gwibber/PKGBUILD b/community/gwibber/PKGBUILD
new file mode 100644
index 000000000..6bf243222
--- /dev/null
+++ b/community/gwibber/PKGBUILD
@@ -0,0 +1,56 @@
+# $Id: PKGBUILD 88679 2013-04-21 22:16:47Z heftig $
+# Maintainer: Balló György <ballogyor+arch at gmail dot com>
+
+pkgname=gwibber
+pkgver=3.6.0
+pkgrel=4
+pkgdesc="Microblogging client for GNOME, which supports Facebook, Identi.ca, Twitter, Flickr, Foursquare, Sina and Sohu"
+arch=('i686' 'x86_64')
+url="http://gwibber.com/"
+license=('GPL')
+depends=('libgee06' 'account-plugins' 'libnotify' 'libsoup' 'dee' 'json-glib' 'gtkspell3' 'python2-dbus' 'python2-gobject' 'python2-gobject2' 'python2-httplib2' 'python2-oauth' 'python2-imaging' 'python2-xdg' 'dconf')
+makedepends=('intltool' 'vala')
+options=('!libtool')
+install=$pkgname.install
+source=(http://launchpad.net/$pkgname/${pkgver%.*}/$pkgver/+download/$pkgname-$pkgver.tar.gz
+ lp_934530.patch
+ lp_1051801.patch
+ lp_1088775.patch
+ gtkspell3-port.patch)
+md5sums=('5988e36e9f592c6eca6537ba6878307a'
+ '8c43ae0ed96c52602befeff640a8672a'
+ '0eb53f4f248a6c600b6c6dfaac12341f'
+ '5698a3b1699c018719b193362486c9b5'
+ 'e8c657543542d8141fdfe4b87a24d7fe')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ find . -type f | xargs sed -i 's@^#!.*python$@#!/usr/bin/python2@'
+
+ # Apply some fixes from Ubuntu
+ patch -Np1 -i "$srcdir/lp_934530.patch"
+ patch -Np1 -i "$srcdir/lp_1051801.patch"
+ patch -Np1 -i "$srcdir/lp_1088775.patch"
+
+ # Port to the new gtkspell3
+ patch -Np1 -i "$srcdir/gtkspell3-port.patch"
+
+ # Use the standalone accounts configuration panel
+ sed -i 's/"gnome-control-center", "credentials", "application=gwibber"/"credentials-preferences"/' client/gwibber-client.vala
+ sed -i 's/"gnome-control-center", "credentials"/"credentials-preferences"/' gwibber/microblog/dispatcher.py
+
+ # Remove unneeded dependency on libdbusmenu
+ sed -i '/Dbusmenu-0.4/ d' client/Makefile.{am,in}
+
+ autoreconf -fi
+ intltoolize --force
+ ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --libexecdir=/usr/lib/$pkgname \
+ --disable-static --disable-schemas-compile --disable-unity
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community/gwibber/gtkspell3-port.patch b/community/gwibber/gtkspell3-port.patch
new file mode 100644
index 000000000..a7cc5da37
--- /dev/null
+++ b/community/gwibber/gtkspell3-port.patch
@@ -0,0 +1,29 @@
+diff -Naur gwibber-3.6.0.orig/configure.ac gwibber-3.6.0/configure.ac
+--- gwibber-3.6.0.orig/configure.ac 2012-10-03 02:09:08.000000000 +0200
++++ gwibber-3.6.0/configure.ac 2013-03-28 21:34:39.227995294 +0100
+@@ -159,10 +159,10 @@
+
+ if test "x$enable_spell" = "xyes"; then
+ PKG_CHECK_MODULES(GTKSPELL,
+- gtkspell-3.0)
++ gtkspell3-3.0)
+ AC_SUBST(GTKSPELL_CFLAGS)
+ AC_SUBST(GTKSPELL_CFLAGS)
+- GTKSPELL_PKG="--pkg gtkspell-3.0"
++ GTKSPELL_PKG="--pkg gtkspell3-3.0"
+ AC_SUBST(GTKSPELL_PKG)
+ fi
+
+diff -Naur gwibber-3.6.0.orig/libgwibber-gtk/entry.vala gwibber-3.6.0/libgwibber-gtk/entry.vala
+--- gwibber-3.6.0.orig/libgwibber-gtk/entry.vala 2012-08-21 06:14:19.000000000 +0200
++++ gwibber-3.6.0/libgwibber-gtk/entry.vala 2013-03-28 21:36:32.830637428 +0100
+@@ -141,7 +141,8 @@
+ #if HAVE_GTKSPELL
+ try
+ {
+- var spell = new Gtk.Spell.attach(this, null);
++ var spell = new GtkSpell.Checker();
++ spell.attach(this);
+ }
+ catch (Error e)
+ {
diff --git a/community/gwibber/gwibber.install b/community/gwibber/gwibber.install
new file mode 100644
index 000000000..d973d53f7
--- /dev/null
+++ b/community/gwibber/gwibber.install
@@ -0,0 +1,12 @@
+post_install() {
+ xdg-icon-resource forceupdate
+ glib-compile-schemas usr/share/glib-2.0/schemas
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ post_install $1
+}
diff --git a/community/gwibber/lp_1051801.patch b/community/gwibber/lp_1051801.patch
new file mode 100644
index 000000000..706c79e54
--- /dev/null
+++ b/community/gwibber/lp_1051801.patch
@@ -0,0 +1,12 @@
+=== modified file 'bin/gwibber-service'
+--- old/bin/gwibber-service 2012-02-13 20:39:02 +0000
++++ new/bin/gwibber-service 2012-09-20 06:35:40 +0000
+@@ -74,6 +74,7 @@
+ message_monitor = dispatcher.MessagesMonitor()
+ """
+
++dbus.mainloop.glib.threads_init()
+ logger.debug("Setting up monitors")
+ connection_monitor = dispatcher.ConnectionMonitor()
+ urlshortener = dispatcher.URLShorten()
+
diff --git a/community/gwibber/lp_1088775.patch b/community/gwibber/lp_1088775.patch
new file mode 100644
index 000000000..2f3b318d0
--- /dev/null
+++ b/community/gwibber/lp_1088775.patch
@@ -0,0 +1,16 @@
+=== modified file 'gwibber/microblog/plugins/facebook/__init__.py'
+--- old/gwibber/microblog/plugins/facebook/__init__.py 2012-09-24 20:55:20 +0000
++++ new/gwibber/microblog/plugins/facebook/__init__.py 2013-01-14 15:41:35 +0000
+@@ -326,7 +326,10 @@
+
+ if data.has_key("privacy"):
+ m["privacy"] = {}
+- m["privacy"]["description"] = data["privacy"]["description"]
++ if data["privacy"].has_key("description"):
++ m["privacy"]["description"] = data["privacy"]["description"]
++ else:
++ m["privacy"]["description"] = ""
+ m["privacy"]["value"] = data["privacy"]["value"]
+
+ # Handle target for wall posts with a specific recipient
+
diff --git a/community/gwibber/lp_934530.patch b/community/gwibber/lp_934530.patch
new file mode 100644
index 000000000..6f2bd4302
--- /dev/null
+++ b/community/gwibber/lp_934530.patch
@@ -0,0 +1,21 @@
+=== modified file 'gwibber/microblog/network.py'
+--- old/gwibber/microblog/network.py 2012-03-31 15:02:54 +0000
++++ new/gwibber/microblog/network.py 2012-06-13 16:48:52 +0000
+@@ -37,8 +37,14 @@
+ logger.error("HTTP Error for %s - error code: %s", e.geturl().split("?")[0], e.getcode())
+ self.res = "HTTP error: {0}".format(e.getcode())
+ except urllib2.URLError, e:
+- logger.error("Network failure: %s", e.reason)
+- self.res = "Network error: {0}".format(e.reason)
++ logger.error("Network failure: %s", e.message)
++ self.res = "Network error: {0}".format(e.message)
++ except IOError, e:
++ logger.error("Network failure: %s", e.message)
++ self.res = "Network error: {0}".format(e.message)
++ except:
++ logger.error("Network failure: UNKNOWN")
++ self.res = "Network error: UNKNOWN"
+
+ def get_json(self):
+ try:
+