summaryrefslogtreecommitdiff
path: root/community/sensors-applet
diff options
context:
space:
mode:
Diffstat (limited to 'community/sensors-applet')
-rw-r--r--community/sensors-applet/PKGBUILD40
-rw-r--r--community/sensors-applet/gtk38.patch127
-rw-r--r--community/sensors-applet/sensors-applet.install12
3 files changed, 179 insertions, 0 deletions
diff --git a/community/sensors-applet/PKGBUILD b/community/sensors-applet/PKGBUILD
new file mode 100644
index 000000000..1a62c5692
--- /dev/null
+++ b/community/sensors-applet/PKGBUILD
@@ -0,0 +1,40 @@
+# $Id: PKGBUILD 89360 2013-04-28 20:21:26Z bgyorgy $
+# Maintainer: Balló György <ballogyor+arch at gmail dot com>
+
+pkgname=sensors-applet
+pkgver=3.0.0
+pkgrel=3
+pkgdesc="Applet for GNOME Panel to display readings from hardware sensors, including CPU temperature, fan speeds and voltage readings"
+arch=('i686' 'x86_64')
+url="http://sensors-applet.sourceforge.net/"
+license=('GPL')
+depends=('gnome-panel' 'libatasmart' 'lm_sensors' 'xdg-utils')
+makedepends=('intltool' 'gnome-doc-utils')
+optdepends=('hddtemp: get HDD temperatures'
+ 'udisks: get HDD temperatures')
+options=('!libtool')
+install=$pkgname.install
+source=(http://downloads.sourceforge.net/sensors-applet/$pkgname-$pkgver.tar.gz
+ gtk38.patch)
+md5sums=('425078fc1ff5a98af1547e039002a73f'
+ '7289cb0acd5c05daf824df6a90967240')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ # Enable reprecations
+ sed -i '/CFLAGS+=/d' configure{,.ac}
+
+ # Fix compatibility with GTK+ 3.8
+ patch -Np1 -i "$srcdir/gtk38.patch"
+
+ ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --libexecdir=/usr/lib/$pkgname \
+ --disable-static --disable-scrollkeeper --with-nvidia=no
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir/" install
+}
diff --git a/community/sensors-applet/gtk38.patch b/community/sensors-applet/gtk38.patch
new file mode 100644
index 000000000..530d756a3
--- /dev/null
+++ b/community/sensors-applet/gtk38.patch
@@ -0,0 +1,127 @@
+diff -Naur sensors-applet-3.0.0.orig/sensors-applet/sensors-applet.c sensors-applet-3.0.0/sensors-applet/sensors-applet.c
+--- sensors-applet-3.0.0.orig/sensors-applet/sensors-applet.c 2011-11-03 12:33:36.000000000 +0100
++++ sensors-applet-3.0.0/sensors-applet/sensors-applet.c 2013-04-28 20:08:31.002620583 +0200
+@@ -641,122 +641,8 @@
+ /* get the first active sensor */
+ first_sensor = (ActiveSensor *)sensors_applet->active_sensors->data;
+
+- switch (display_mode) {
+- case DISPLAY_VALUE:
+- gtk_widget_size_request(GTK_WIDGET(first_sensor->value),
+- &req);
+- value_width = req.width + COLUMN_SPACING;
+- value_height = req.height + ROW_SPACING;
++ num_sensors_per_group = 1;
+
+- /* make sure all widths and heights are non zero,
+- * otherwise will get a divide by zero exception below
+- * - is a non critical error since can happen when
+- * elements first added to list, so simply return - is
+- * not a programming error */
+- if (value_width == 0 && value_height == 0) {
+- return;
+- }
+-
+- num_sensors_per_group = (sensors_applet->size /
+- (horizontal ? value_height :
+- value_width));
+- break;
+-
+- case DISPLAY_LABEL_WITH_VALUE:
+- /* even though we end up packing the event boxes into the
+- * panel, these dont give back request sizes, so need to ask
+- * widgets directly */
+- gtk_widget_size_request(GTK_WIDGET(first_sensor->value),
+- &req);
+- value_width = req.width + COLUMN_SPACING;
+- value_height = req.height + ROW_SPACING;
+-
+- gtk_widget_size_request(GTK_WIDGET(first_sensor->label),
+- &req);
+- label_width = req.width + COLUMN_SPACING;
+- label_height = req.height + ROW_SPACING;
+-
+- /* make sure all widths and heights are non zero, otherwise
+- * will get a divide by zero exception below
+- * - is a non critical error since can happen when
+- * elements first added to list, so simply return - is
+- * not a programming error */
+- if (!(label_width && label_height &&
+- value_width && value_height)) {
+- return;
+- }
+-
+- switch (layout_mode) {
+- case VALUE_BESIDE_LABEL:
+- num_sensors_per_group = (sensors_applet->size /
+- (horizontal ? MAX(label_height, value_height) :
+- (label_width + value_width)));
+- break;
+- case VALUE_BELOW_LABEL:
+- num_sensors_per_group = (sensors_applet->size /
+- (horizontal ? (label_height + value_height) :
+- MAX(label_width, value_width)));
+-
+-
+- break;
+- }
+- break;
+-
+- case DISPLAY_ICON_WITH_VALUE:
+- gtk_widget_size_request(GTK_WIDGET(first_sensor->value),
+- &req);
+- value_width = req.width + COLUMN_SPACING;
+- value_height = req.height + ROW_SPACING;
+-
+- gtk_widget_size_request(GTK_WIDGET(first_sensor->icon),
+- &req);
+- icon_width = req.width + COLUMN_SPACING;
+- icon_height = req.height + ROW_SPACING;
+-
+- //watch out if num_sensors_per_group is correctly computed
+- //while icon_height is 0
+- if (!(icon_width &&
+- value_width && value_height)) {
+- return;
+- }
+-
+-
+- switch (layout_mode) {
+- case VALUE_BESIDE_LABEL:
+- num_sensors_per_group = (sensors_applet->size /
+- (horizontal ? MAX(icon_height, value_height) :
+- (icon_width + value_width)));
+- break;
+- case VALUE_BELOW_LABEL:
+- num_sensors_per_group = (sensors_applet->size /
+- (horizontal ? (icon_height + value_height) :
+- MAX(icon_width, value_width)));
+-
+-
+- break;
+- }
+- break;
+-
+- case DISPLAY_ICON:
+- gtk_widget_size_request(GTK_WIDGET(first_sensor->icon),
+- &req);
+- icon_width = req.width + COLUMN_SPACING;
+- icon_height = req.height + ROW_SPACING;
+- if (!(icon_width && icon_height)) {
+- return;
+- }
+-
+- num_sensors_per_group = (sensors_applet->size /
+- (horizontal ? icon_height :
+- icon_width));
+- break;
+-
+- case DISPLAY_GRAPH:
+- /* only show graphs in a line like System Monitor
+- * applet */
+- num_sensors_per_group = 1;
+- break;
+- }
+ /* ensure always atleast 1 sensor per group */
+ if (num_sensors_per_group < 1) {
+ /* force a better layout */
diff --git a/community/sensors-applet/sensors-applet.install b/community/sensors-applet/sensors-applet.install
new file mode 100644
index 000000000..a23a623cc
--- /dev/null
+++ b/community/sensors-applet/sensors-applet.install
@@ -0,0 +1,12 @@
+post_install() {
+ xdg-icon-resource forceupdate
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+
+post_remove() {
+ post_install $1
+}