Add gajim with IdleMonitor patch

This commit is contained in:
Dejvino 2020-10-01 22:37:28 +02:00
parent 9df48ba6cb
commit 72814fb1bb
2 changed files with 79 additions and 0 deletions

View File

@ -0,0 +1,56 @@
# Maintainer: Levente Polyak <anthraxx[at]archlinux[dot]org>
# Contributor: Eric Bélanger <eric@archlinux.org>
# Contributor: Dejvino <alarm-packages@dejvino.cz>
# Upstream PKGBUILD: https://github.com/archlinux/svntogit-community/blob/packages/gajim/trunk/PKGBUILD
pkgname=gajim
pkgver=1.2.1
pkgrel=1
pkgdesc='Full featured and easy to use XMPP (Jabber) client'
url='https://www.gajim.org/'
arch=('any')
license=('GPL3')
depends=('gtk3' 'python-cairo' 'python-gobject' 'python-keyring' 'python-nbxmpp'
'python-pyasn1' 'python-pyopenssl' 'python-precis_i18n' 'python-css-parser'
'python-distro' 'hicolor-icon-theme')
optdepends=('alsa-utils: play notification sounds'
'python-dbus: for gajim-remote and zeroconf support'
'avahi: serverless chatting with autodetected clients in a local network'
'farstream: start audio and video chat'
'gst-plugins-good: for video/voice support'
'gst-plugins-bad: for video/voice support'
'gst-plugins-ugly: for video/voice support'
'gst-libav: for video/voice support'
'gst-python: for video/voice support'
'gspell: for spell checking support'
'notification-daemon: for desktop notifications'
'geoclue: share current location'
'gnome-keyring: store passwords encrypted in GNOME Keyring'
'kded: store passwords encrypted in KSecretService'
'gupnp-igd: request your router to forward port for file transfer'
'libxss: measure idle time, in order to set auto status'
'python-crypto: encrypting chat messages'
'python-docutils: generate XHTML output from RST code'
'python-gnupg: encrypting chat messages with OpenPGP'
'python-pillow: support of WebP avatars'
'python-axolotl: OMEMO support'
'python-qrcode: generate QR codes for OMEMO keys')
source=(https://www.gajim.org/downloads/${pkgver%.*}/gajim-${pkgver}.tar.gz
gajim-IdleMonitor.patch)
sha512sums=('1a1ebc3a0605a12b5f459c576037359543814686a170199148e44e409d4f054cefdb66505e68ed4c28bd8c64a7910a70301c2d90d1d4b31b9587d9126329e8c4'
'1cb07079a445c1983dd54a0cb7bfa385c594de9b9768bf5993371390a315944d9fef22a2035666164dc8fef5ccfe0d6008d5cd4dbde5876e3d7dc65fef528c2e')
build() {
cd ${pkgname}-${pkgver}
patch -p1 -N < ../gajim-IdleMonitor.patch
python setup.py build
}
package() {
cd ${pkgname}-${pkgver}
python setup.py install --root="${pkgdir}" --optimize=1 --skip-build
}
# vim: ts=2 sw=2 et:

View File

@ -0,0 +1,23 @@
diff --git a/gajim/common/idle.py b/gajim/common/idle.py
index b0c163b7a..d43e42c5a 100644
--- a/gajim/common/idle.py
+++ b/gajim/common/idle.py
@@ -228,7 +228,8 @@ class IdleMonitor(GObject.GObject):
self._xa_interval = xa_interval
def set_extended_away(self, state):
- self._idle_monitor.set_extended_away(state)
+ if self.is_available():
+ self._idle_monitor.set_extended_away(state)
def is_available(self):
return self._idle_monitor is not None
@@ -268,6 +269,8 @@ class IdleMonitor(GObject.GObject):
'not available: %s', error)
def get_idle_sec(self):
+ if not self.is_available():
+ return 0;
return self._idle_monitor.get_idle_sec()
def _poll(self):