[arch-commits] Commit in fbpanel/trunk (PKGBUILD battery_fix.patch)
Sergej Pupykin
spupykin at nymeria.archlinux.org
Wed Oct 9 14:15:37 UTC 2013
Date: Wednesday, October 9, 2013 @ 16:15:36
Author: spupykin
Revision: 98390
upgpkg: fbpanel 6.1-4
upd
Added:
fbpanel/trunk/battery_fix.patch
Modified:
fbpanel/trunk/PKGBUILD
-------------------+
PKGBUILD | 10 +++-
battery_fix.patch | 119 ++++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 126 insertions(+), 3 deletions(-)
Modified: PKGBUILD
===================================================================
--- PKGBUILD 2013-10-09 13:40:43 UTC (rev 98389)
+++ PKGBUILD 2013-10-09 14:15:36 UTC (rev 98390)
@@ -2,20 +2,24 @@
# Maintainer: Sergej Pupykin <pupykin.s+arch at gmail.com>
# Maintainer: Jeff Mickey <jeff at archlinux.org>
# Contributor: Torin Daniel <torindan at gmail.com>
+# Contributor: Diep Pham Van <imeo at favadi.com>
pkgname=fbpanel
pkgver=6.1
-pkgrel=3
+pkgrel=4
pkgdesc="NetWM compliant desktop panel"
arch=('i686' 'x86_64')
url="http://fbpanel.sourceforge.net/"
depends=('gtk2')
license=('GPL')
-source=(http://downloads.sourceforge.net/fbpanel/fbpanel-${pkgver}.tbz2)
-md5sums=('80ca0c64195b30587cfcb8c2cd9887a0')
+source=("http://downloads.sourceforge.net/fbpanel/fbpanel-${pkgver}.tbz2"
+ "battery_fix.patch")
+md5sums=('80ca0c64195b30587cfcb8c2cd9887a0'
+ 'dc1db8eee1be899725f350eb36793ea4')
build() {
cd "$srcdir/$pkgname-$pkgver"
+ patch -p1 <$srcdir/battery_fix.patch
./configure --prefix=/usr
echo "LDFLAGSX += -lX11 -lm" >>config.mk
make
Added: battery_fix.patch
===================================================================
--- battery_fix.patch (rev 0)
+++ battery_fix.patch 2013-10-09 14:15:36 UTC (rev 98390)
@@ -0,0 +1,119 @@
+*** fbpanel-6.1/plugins/battery/os_linux.c~ 2010-04-08 12:35:26.000000000 +0200
+--- fbpanel-6.1/plugins/battery/os_linux.c 2013-07-09 13:13:50.958994816 +0200
+***************
+*** 1,5 ****
+--- 1,6 ----
+
+ #include <string.h>
++ #include <stdlib.h>
+ #include <ctype.h>
+
+ #define LEN 100
+***************
+*** 120,129 ****
+ }
+
+ static gboolean
+ battery_update_os_sys(battery_priv *c)
+ {
+ ENTER;
+! RET(FALSE);
+ }
+
+ static gboolean
+--- 121,215 ----
+ }
+
+ static gboolean
++ read_sys(battery_priv *c, GString *path)
++ {
++ int len, dcap, rcap;
++ gchar *buf;
++ gboolean ret, exist, charging;
++
++ ENTER;
++ len = path->len;
++
++ g_string_append(path, "/present");
++ ret = g_file_get_contents(path->str, &buf, 0, NULL);
++ DBG("reading %s %s\n", path->str, ret ? "ok" : "fail");
++ g_string_truncate(path, len);
++ if (!ret)
++ RET(FALSE);
++ exist = atoi(buf);
++ g_free(buf);
++ if (!exist)
++ RET(FALSE);
++
++ g_string_append(path, "/charge_full_design");
++ ret = g_file_get_contents(path->str, &buf, 0, NULL);
++ DBG("reading %s %s\n", path->str, ret ? "ok" : "fail");
++ g_string_truncate(path, len);
++ if (!ret)
++ RET(FALSE);
++ dcap = atoi(buf);
++ g_free(buf);
++ if (dcap <= 0)
++ RET(FALSE);
++
++ g_string_append(path, "/charge_now");
++ ret = g_file_get_contents(path->str, &buf, 0, NULL);
++ DBG("reading %s %s\n", path->str, ret ? "ok" : "fail");
++ g_string_truncate(path, len);
++ if (!ret)
++ RET(FALSE);
++ rcap = atoi(buf);
++ g_free(buf);
++ if (rcap <= 0)
++ RET(FALSE);
++
++ g_string_append(path, "/current_now");
++ ret = g_file_get_contents(path->str, &buf, 0, NULL);
++ DBG("reading %s %s\n", path->str, ret ? "ok" : "fail");
++ g_string_truncate(path, len);
++ if (!ret)
++ RET(FALSE);
++ charging = (atoi(buf) <= 0);
++ g_free(buf);
++
++ c->exist = exist;
++ c->charging = charging;
++ c->level = (int) ((gfloat) rcap * 100 / (gfloat) dcap);
++ RET(TRUE);
++ }
++
++ static gboolean
+ battery_update_os_sys(battery_priv *c)
+ {
++ GString *path;
++ int len;
++ GDir *dir;
++ gboolean ret = FALSE;
++ const gchar *file;
++
+ ENTER;
+! c->exist = FALSE;
+! path = g_string_sized_new(200);
+! g_string_append(path, "/sys/class/power_supply");
+! len = path->len;
+! if (!(dir = g_dir_open(path->str, 0, NULL))) {
+! DBG("can't open dir %s\n", path->str);
+! goto out;
+! }
+! while (!ret && (file = g_dir_read_name(dir))) {
+! g_string_append(path, "/");
+! g_string_append(path, file);
+! DBG("testing %s\n", path->str);
+! ret = g_file_test(path->str, G_FILE_TEST_IS_DIR);
+! if (ret)
+! ret = read_sys(c, path);
+! g_string_truncate(path, len);
+! }
+! g_dir_close(dir);
+!
+! out:
+! g_string_free(path, TRUE);
+! RET(ret);
+ }
+
+ static gboolean
More information about the arch-commits
mailing list