ports/107402: [MAINTAINER] sysutils/gapcmon: Update to 0.8.4

Jason E. Hale bsdkaffee at gmail.com
Mon Jan 1 18:50:17 UTC 2007


>Number:         107402
>Category:       ports
>Synopsis:       [MAINTAINER] sysutils/gapcmon: Update to 0.8.4
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          maintainer-update
>Submitter-Id:   current-users
>Arrival-Date:   Mon Jan 01 18:50:09 GMT 2007
>Closed-Date:
>Last-Modified:
>Originator:     Jason E. Hale
>Release:        FreeBSD 6.2-PRERELEASE i386
>Organization:
none 
>Environment:
System: FreeBSD black.attbi.com 6.2-PRERELEASE FreeBSD 6.2-PRERELEASE #0: Thu Nov 16 17:01:32 EST 2006 root at black.attbi.com:/usr/obj/usr/src/sys/BLACK i386
	
>Description:
- Update sysutils/gapcmon to version 0.8.4
- Follow Gnome move to /usr/local/
- Add patch for systray transparency
	
>How-To-Repeat:
- Use attached diff
	
>Fix:
--- 2007-01-01-gapcmon.diff begins here ---
diff -ruN gapcmon.orig/Makefile gapcmon/Makefile
--- gapcmon.orig/Makefile	Mon Jan  1 11:12:19 2007
+++ gapcmon/Makefile	Mon Jan  1 12:04:23 2007
@@ -6,7 +6,7 @@
 #
 
 PORTNAME=	gapcmon
-PORTVERSION=	0.8.3
+PORTVERSION=	0.8.4
 CATEGORIES=	sysutils
 MASTER_SITES=	${MASTER_SITE_SOURCEFORGE_EXTENDED}
 MASTER_SITE_SUBDIR=	${PORTNAME}
@@ -17,7 +17,6 @@
 USE_BZIP2=	yes
 USE_GMAKE=	yes
 USE_ICONV=	yes
-USE_X_PREFIX=	yes
 USE_GNOME=	gnomehack gnometarget gnomevfs2
 GNU_CONFIGURE=	yes
 
@@ -26,8 +25,6 @@
 post-extract:
 	@${REINPLACE_CMD} "s|/usr/share/pixmaps/|${PREFIX}/share/pixmaps/|" \
 		${WRKSRC}/src/gapcmon.c
-	@${REINPLACE_CMD} "s|/usr/share/icons/gnome/48x48/devices/gnome-dev-battery.png|${PREFIX}/share/pixmaps/apcupsd.png|" \
-		${WRKSRC}/gapcmon.desktop
 	@${REINPLACE_CMD} 's|install-gapcmondocDATA \\|\\|' \
 		${WRKSRC}/Makefile.in
 
diff -ruN gapcmon.orig/distinfo gapcmon/distinfo
--- gapcmon.orig/distinfo	Mon Jan  1 11:12:19 2007
+++ gapcmon/distinfo	Mon Jan  1 11:13:09 2007
@@ -1,3 +1,3 @@
-MD5 (gapcmon-0.8.3.tar.bz2) = 30ddd7bcd92df8984e815dcc6c10a52b
-SHA256 (gapcmon-0.8.3.tar.bz2) = 1e7adbe8271eb7a8058f4194eb3650c113fcd878fc65717fa6e292095fba4acf
-SIZE (gapcmon-0.8.3.tar.bz2) = 120343
+MD5 (gapcmon-0.8.4.tar.bz2) = fe27c144da76af5e4d41d65dfeebec05
+SHA256 (gapcmon-0.8.4.tar.bz2) = dfd39df2a0709bac23af41e082e647be85bcdf75e33eaebf1c4bfcdb10036674
+SIZE (gapcmon-0.8.4.tar.bz2) = 120468
diff -ruN gapcmon.orig/files/patch-src:eggtrayicon.c gapcmon/files/patch-src:eggtrayicon.c
--- gapcmon.orig/files/patch-src:eggtrayicon.c	Wed Dec 31 19:00:00 1969
+++ gapcmon/files/patch-src:eggtrayicon.c	Mon Jan  1 12:51:51 2007
@@ -0,0 +1,90 @@
+--- src/eggtrayicon.c.orig	Fri May 12 10:54:17 2006
++++ src/eggtrayicon.c	Mon Jan  1 12:46:03 2007
+@@ -61,6 +61,9 @@
+ static void egg_tray_icon_realize(GtkWidget * widget);
+ static void egg_tray_icon_unrealize(GtkWidget * widget);
+ 
++static void egg_tray_icon_add (GtkContainer *container,
++			       GtkWidget    *widget);
++
+ static void egg_tray_icon_update_manager_window(EggTrayIcon * icon,
+    gboolean dock_if_realized);
+ static void egg_tray_icon_manager_window_destroyed(EggTrayIcon * icon);
+@@ -101,6 +104,7 @@
+ {
+    GObjectClass *gobject_class = (GObjectClass *) klass;
+    GtkWidgetClass *widget_class = (GtkWidgetClass *) klass;
++   GtkContainerClass *container_class = (GtkContainerClass *)klass;
+ 
+    parent_class = g_type_class_peek_parent(klass);
+ 
+@@ -109,6 +113,8 @@
+    widget_class->realize = egg_tray_icon_realize;
+    widget_class->unrealize = egg_tray_icon_unrealize;
+ 
++   container_class->add = egg_tray_icon_add;
++
+    g_object_class_install_property(gobject_class,
+       PROP_ORIENTATION,
+       g_param_spec_enum("orientation",
+@@ -298,6 +304,36 @@
+    }
+ }
+ 
++static gboolean
++transparent_expose_event (GtkWidget *widget, GdkEventExpose *event, gpointer user_data)
++{
++  gdk_window_clear_area (widget->window, event->area.x, event->area.y,
++			 event->area.width, event->area.height);
++  return FALSE;
++}
++
++static void
++make_transparent_again (GtkWidget *widget, GtkStyle *previous_style,
++			gpointer user_data)
++{
++  gdk_window_set_back_pixmap (widget->window, NULL, TRUE);
++}
++
++static void
++make_transparent (GtkWidget *widget, gpointer user_data)
++{
++  if (GTK_WIDGET_NO_WINDOW (widget) || GTK_WIDGET_APP_PAINTABLE (widget))
++    return;
++
++  gtk_widget_set_app_paintable (widget, TRUE);
++  gtk_widget_set_double_buffered (widget, FALSE);
++  gdk_window_set_back_pixmap (widget->window, NULL, TRUE);
++  g_signal_connect (widget, "expose_event",
++		    G_CALLBACK (transparent_expose_event), NULL);
++  g_signal_connect_after (widget, "style_set",
++			  G_CALLBACK (make_transparent_again), NULL);
++}	
++
+ static void egg_tray_icon_manager_window_destroyed(EggTrayIcon * icon)
+ {
+    GdkWindow *gdkwin;
+@@ -327,6 +363,8 @@
+    if (GTK_WIDGET_CLASS(parent_class)->realize)
+       GTK_WIDGET_CLASS(parent_class)->realize(widget);
+ 
++   make_transparent (widget, NULL);
++
+    screen = gtk_widget_get_screen(widget);
+    display = gdk_screen_get_display(screen);
+    xdisplay = gdk_x11_display_get_xdisplay(display);
+@@ -352,6 +390,14 @@
+ 
+    /* Add a root window filter so that we get changes on MANAGER */
+    gdk_window_add_filter(root_window, egg_tray_icon_manager_filter, icon);
++}
++
++static void
++egg_tray_icon_add (GtkContainer *container, GtkWidget *widget)
++{
++  g_signal_connect (widget, "realize",
++		    G_CALLBACK (make_transparent), NULL);
++  GTK_CONTAINER_CLASS (parent_class)->add (container, widget);
+ }
+ 
+ EggTrayIcon *egg_tray_icon_new_for_screen(GdkScreen * screen, const char *name)
diff -ruN gapcmon.orig/pkg-plist gapcmon/pkg-plist
--- gapcmon.orig/pkg-plist	Mon Jan  1 11:12:19 2007
+++ gapcmon/pkg-plist	Mon Jan  1 11:39:41 2007
@@ -6,4 +6,3 @@
 share/pixmaps/onbatt.png
 share/pixmaps/online.png
 share/pixmaps/unplugged.png
- at dirrmtry share/applications
--- 2007-01-01-gapcmon.diff ends here ---


>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list