summaryrefslogtreecommitdiff
path: root/community/xsensors
diff options
context:
space:
mode:
Diffstat (limited to 'community/xsensors')
-rw-r--r--community/xsensors/PKGBUILD42
-rw-r--r--community/xsensors/remove-unused-variables.patch39
-rw-r--r--community/xsensors/replace-deprecated-gtk.patch168
-rw-r--r--community/xsensors/xsensors.changelog11
-rw-r--r--community/xsensors/xsensors.desktop9
5 files changed, 269 insertions, 0 deletions
diff --git a/community/xsensors/PKGBUILD b/community/xsensors/PKGBUILD
new file mode 100644
index 000000000..16a329b5e
--- /dev/null
+++ b/community/xsensors/PKGBUILD
@@ -0,0 +1,42 @@
+# $Id: PKGBUILD 59264 2011-11-22 07:31:16Z lcarlier $
+# Maintainer : Laurent Carlier <lordheavym@gmail.com>
+# Contributor: Ray Rashif <schivmeister@gmail.com>
+# Contributor: Corrado Primier <bardo@aur.archlinux.org>
+# Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=xsensors
+pkgver=0.70
+pkgrel=3
+pkgdesc="X11 interface to lm_sensors"
+arch=('i686' 'x86_64')
+url="http://www.linuxhardware.org/xsensors/"
+license=('GPL')
+depends=('gtk2' 'lm_sensors')
+changelog=$pkgname.changelog
+source=(http://www.linuxhardware.org/xsensors/$pkgname-$pkgver.tar.gz
+ remove-unused-variables.patch
+ replace-deprecated-gtk.patch
+ xsensors.desktop)
+md5sums=('4f8fb83cfd03c0cc34967a73c6021531'
+ '8ca558b7f7e4a5f83f63498668c4ad8f'
+ 'd9ee6799d45adc7c62273f32085bec5f'
+ 'fe1369d2b61eed1a25002e2247617357')
+
+build() {
+ cd ${srcdir}/$pkgname-$pkgver
+
+ # patches from debian
+ patch -Np1 -i ${srcdir}/remove-unused-variables.patch
+ patch -Np1 -i ${srcdir}/replace-deprecated-gtk.patch
+
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd ${srcdir}/$pkgname-$pkgver
+
+ make DESTDIR="${pkgdir}" install
+ install -D ${srcdir}/xsensors.desktop \
+ ${pkgdir}/usr/share/applications/xsensors.desktop
+}
diff --git a/community/xsensors/remove-unused-variables.patch b/community/xsensors/remove-unused-variables.patch
new file mode 100644
index 000000000..7da97a0e5
--- /dev/null
+++ b/community/xsensors/remove-unused-variables.patch
@@ -0,0 +1,39 @@
+Author: Nanley Chery <nanleychery@gmail.com>
+From: Jean Delvare <khali@linux-fr.org>
+Subject: Remove declared, but unused variables
+Bug-Debian: http://bugs.debian.org/625435
+---
+--- a/src/gui.c
++++ b/src/gui.c
+@@ -257,10 +257,9 @@
+
+ /* Start the sensor info update timer. */
+ gint start_timer( GtkWidget *widget, gpointer data ) {
+- gint timer;
+
+ /* Setup timer for updates. */
+- timer = g_timeout_add( update_time * 1000,
++ g_timeout_add( update_time * 1000,
+ (GtkFunction) update_sensor_data,
+ (gpointer) data );
+
+@@ -287,7 +286,7 @@
+
+ /* feature data */
+ updates *head = NULL;
+- updates *current = NULL, *prev = NULL;
++ updates *current = NULL;
+
+ const sensors_feature *feature;
+
+@@ -347,10 +346,8 @@
+ new_node->pbar = featpbar;
+
+ if ( head == NULL ) {
+- prev = head;
+ head = current = new_node;
+ } else {
+- prev = current;
+ current = current->next = new_node;
+ }
+
diff --git a/community/xsensors/replace-deprecated-gtk.patch b/community/xsensors/replace-deprecated-gtk.patch
new file mode 100644
index 000000000..fed4c7dc4
--- /dev/null
+++ b/community/xsensors/replace-deprecated-gtk.patch
@@ -0,0 +1,168 @@
+Author: Nanley Chery <nanleychery@gmail.com>
+Subject: Update deprecated gtk casts and replace deprecated function calls with their analogous cairo counterparts.
+Bug-Debian: http://bugs.debian.org/622005
+Bug-Debian: http://bugs.debian.org/610321
+---
+--- a/src/gui.c
++++ b/src/gui.c
+@@ -27,10 +27,10 @@
+ GtkWidget *mainwindow = NULL;
+
+ GdkColor colorWhite = { 0, 0xFFFF, 0xFFFF, 0xFFFF };
+-
+-GdkColormap *cmap = NULL;
+
+-GdkPixmap *theme = NULL;
++GdkPixbuf *theme = NULL;
++
++cairo_surface_t *surface = NULL;
+
+ /* Destroy the main window. */
+ gint destroy_gui( GtkWidget *widget, gpointer data ) {
+@@ -76,17 +76,16 @@
+ }
+ }
+
+-static void draw_digits( GtkWidget *widget, const gchar *digits, int highLow )
++static void draw_digits( GtkWidget *widget, cairo_t *cr, const gchar *digits, int highLow )
+ {
+ const gchar *digit = digits;
+ int pos = 0, x = 0, y = 0, w = 0;
+
+ while ( *digit ) {
+ get_pm_location( *digit, &x, &y, &w );
+- gdk_draw_drawable( widget->window,
+- widget->style->fg_gc[ GTK_WIDGET_STATE
+- (widget) ], theme, x, y + highLow,
+- pos, 0, w, 30 );
++ cairo_set_source_surface (cr, surface, pos-x, 0-(y + highLow));
++ cairo_rectangle(cr, pos, 0, w, 30);
++ cairo_fill(cr);
+ pos += w;
+ digit++;
+ }
+@@ -102,6 +101,8 @@
+
+ gchar result[7];
+
++ cairo_t *cr = gdk_cairo_create(widget->window);
++
+ #ifdef DEBUG_XSENSORS
+ printf( "area.width = %d, area.height = %d\n", event->area.width,
+ event->area.height );
+@@ -117,13 +118,11 @@
+
+ /* Display the digits */
+ if ( g_snprintf( result, 6, "%5.0f", current->curvalue ) >= 0 )
+- draw_digits( widget, result, highLow );
++ draw_digits( widget, cr, result, highLow );
+
+ /* Display RPM */
+- gdk_draw_drawable( widget->window,
+- widget->style->fg_gc[ GTK_WIDGET_STATE
+- (widget) ], theme, 0, 120 + highLow,
+- 90, 0, 57, 30 );
++ cairo_set_source_surface (cr, surface, 90-0, 0-(120 + highLow));
++ cairo_rectangle(cr, 90, 0, 57, 30);
+ break;
+ case TEMP:
+ if ( current->curvalue > current->curmax )
+@@ -134,17 +133,15 @@
+
+ /* Display the digits */
+ if ( g_snprintf( result, 7, "%6.1f", current->curvalue ) >= 0 )
+- draw_digits( widget, result, highLow );
++ draw_digits( widget, cr, result, highLow );
+
+ /* Display degree symbol */
+ if ( tf == FALSE )
+ x = 0;
+ else
+ x = 57;
+- gdk_draw_drawable( widget->window,
+- widget->style->fg_gc[ GTK_WIDGET_STATE
+- (widget) ], theme, x, 60 + highLow,
+- 96, 0, 57, 30 );
++ cairo_set_source_surface (cr, surface, 96-x, 0-(60 + highLow));
++ cairo_rectangle(cr, 96, 0, 57, 30);
+
+ break;
+ case VOLT:
+@@ -154,20 +151,17 @@
+
+ /* Display the digits */
+ if ( g_snprintf( result, 7, "%6.2f", current->curvalue ) >= 0 )
+- draw_digits( widget, result, highLow );
++ draw_digits( widget, cr, result, highLow );
+
+ /* Display V */
+- gdk_draw_drawable( widget->window,
+- widget->style->fg_gc[ GTK_WIDGET_STATE
+- (widget) ], theme, 114, 60 + highLow,
+- 96, 0, 57, 30 );
+-
+-
++ cairo_set_source_surface (cr, surface, 96-114, 0-(60 + highLow));
++ cairo_rectangle(cr, 96, 0, 57, 30);
+ break;
+ default:
+ break;
+ }
+-
++ cairo_fill(cr);
++ cairo_destroy(cr);
+ return TRUE;
+ }
+
+@@ -260,7 +254,7 @@
+
+ /* Setup timer for updates. */
+ g_timeout_add( update_time * 1000,
+- (GtkFunction) update_sensor_data,
++ (GSourceFunc) update_sensor_data,
+ (gpointer) data );
+
+ return SUCCESS;
+@@ -460,8 +454,6 @@
+ g_signal_connect( G_OBJECT (mainwindow), "delete_event",
+ G_CALLBACK (destroy_gui), NULL );
+
+- /* Graphics needed for drawing info. */
+- cmap = gtk_widget_get_colormap( mainwindow );
+
+ /* Set up the image file used for displaying characters. */
+ if ( imagefile == NULL ) {
+@@ -481,12 +473,10 @@
+ "Image file not found in either location! Exiting!\n" );
+ exit( 1 );
+ } else {
+- theme = gdk_pixmap_colormap_create_from_xpm( NULL, cmap,
+- NULL, NULL, "./images/default.xpm" );
++ theme = gdk_pixbuf_new_from_file("./images/default.xpm", NULL );
+ }
+ } else {
+- theme = gdk_pixmap_colormap_create_from_xpm( NULL, cmap,
+- NULL, NULL, imagefile );
++ theme = gdk_pixbuf_new_from_file(imagefile, NULL );
+ }
+ } else {
+ if ( stat( imagefile, &sbuf ) != 0 ) {
+@@ -495,11 +485,15 @@
+ "Image file not found in specified location! Exiting!\n" );
+ exit( 1 );
+ } else {
+- theme = gdk_pixmap_colormap_create_from_xpm( NULL, cmap,
+- NULL, NULL, imagefile );
++ theme = gdk_pixbuf_new_from_file(imagefile, NULL );
+ }
+ }
+-
++ surface = cairo_image_surface_create_for_data(gdk_pixbuf_get_pixels(theme),
++ CAIRO_FORMAT_RGB24,
++ gdk_pixbuf_get_width(theme),
++ gdk_pixbuf_get_height(theme),
++ gdk_pixbuf_get_rowstride(theme));
++
+ /* Create notebook for sensors. */
+ notebook = gtk_notebook_new( );
+ gtk_widget_modify_bg( notebook, GTK_STATE_NORMAL, &colorWhite );
diff --git a/community/xsensors/xsensors.changelog b/community/xsensors/xsensors.changelog
new file mode 100644
index 000000000..e0c2227ca
--- /dev/null
+++ b/community/xsensors/xsensors.changelog
@@ -0,0 +1,11 @@
+2010-07-16 Laurent Carlier <lcarlier@aur.archlinux.org>
+
+ * Long overdue update to 0.70
+
+2007-12-02 Corrado Primier <bardo@aur.archlinux.org>
+
+ * Recompiled with xsensors-0.60-libsensors-3.patch, necessary to work
+ with lm_sensors 3
+ * Added xsensors-0.60-gui-segfault.patch by DaNiMoTh, which fixes a
+ segmentation fault
+ * Cosmetic changes to PKGBUILD
diff --git a/community/xsensors/xsensors.desktop b/community/xsensors/xsensors.desktop
new file mode 100644
index 000000000..a516b5437
--- /dev/null
+++ b/community/xsensors/xsensors.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Type=Application
+Name=XSensors
+GenericName=Hardware Monitor
+Comment=View hardware health
+Icon=/usr/share/pixmaps/xsensors/default.xpm
+Exec=/usr/bin/xsensors
+Terminal=false
+Categories=System;