aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormarcus <marcus@FreeBSD.org>2007-05-24 11:58:04 +0800
committermarcus <marcus@FreeBSD.org>2007-05-24 11:58:04 +0800
commita9155f6914e2584f0c94d501eed24d59757a1954 (patch)
tree9ae8f2a1d3a53703ded087585636640062e0b3e9
parentd171c63879bc5c61ccf717218c3e08e05937b70b (diff)
downloadfreebsd-ports-gnome-a9155f6914e2584f0c94d501eed24d59757a1954.tar.gz
freebsd-ports-gnome-a9155f6914e2584f0c94d501eed24d59757a1954.tar.zst
freebsd-ports-gnome-a9155f6914e2584f0c94d501eed24d59757a1954.zip
Fix gamin on 64-bit platforms. This has been broken for a while, but is
now becoming apparent with GCC 4.2. Approved by: portmgr (implicit)
-rw-r--r--devel/gamin/Makefile1
-rw-r--r--devel/gamin/files/patch-server_gam_kqueue.c23
2 files changed, 17 insertions, 7 deletions
diff --git a/devel/gamin/Makefile b/devel/gamin/Makefile
index ff39114a5708..d8b5eb2db7d3 100644
--- a/devel/gamin/Makefile
+++ b/devel/gamin/Makefile
@@ -8,6 +8,7 @@
PORTNAME= gamin
PORTVERSION= 0.1.8
+PORTREVISION= 1
CATEGORIES?= devel
MASTER_SITES= http://www.gnome.org/~veillard/gamin/sources/
diff --git a/devel/gamin/files/patch-server_gam_kqueue.c b/devel/gamin/files/patch-server_gam_kqueue.c
index fe4d5a51cbf0..5495fd44b3d3 100644
--- a/devel/gamin/files/patch-server_gam_kqueue.c
+++ b/devel/gamin/files/patch-server_gam_kqueue.c
@@ -1,5 +1,5 @@
---- server/gam_kqueue.c.orig Wed Aug 10 23:50:32 2005
-+++ server/gam_kqueue.c Tue Feb 14 10:00:17 2006
+--- server/gam_kqueue.c.orig Wed Aug 10 17:50:32 2005
++++ server/gam_kqueue.c Wed May 23 23:50:39 2007
@@ -10,9 +10,10 @@
* FAM should do: we do not call g_dir_open() if the file is a
* symbolic link).
@@ -46,7 +46,16 @@
/*** tunable constants, modify to tweak the backend aggressivity *************/
-@@ -509,6 +512,9 @@
+@@ -326,7 +329,7 @@ gam_kqueue_isdir (const char *pathname,
+ static gboolean
+ gam_kqueue_get_uint_sysctl (const char *name, unsigned int *value)
+ {
+- unsigned int value_len = sizeof(*value);
++ size_t value_len = sizeof(*value);
+
+ if (sysctlbyname(name, value, &value_len, (void *)NULL, 0) < 0)
+ {
+@@ -509,6 +512,9 @@ static gboolean
gam_kqueue_monitor_enable_kqueue (Monitor *mon)
{
struct kevent ev[1];
@@ -56,7 +65,7 @@
if (open_files == max_open_files)
{
-@@ -516,26 +522,36 @@
+@@ -516,26 +522,36 @@ gam_kqueue_monitor_enable_kqueue (Monito
return FALSE;
}
@@ -99,7 +108,7 @@
}
static void
-@@ -840,6 +856,8 @@
+@@ -840,6 +856,8 @@ gam_kqueue_sub_monitor_emit_event (SubMo
case GAMIN_EVENT_MOVED:
gam_kqueue_sub_monitor_set_missing(smon);
break;
@@ -108,7 +117,7 @@
}
gam_server_emit_event(mon->pathname, isdir, event, smon->subs, 1);
-@@ -981,6 +999,8 @@
+@@ -981,6 +999,8 @@ gam_kqueue_file_monitor_emit_event (File
gam_kqueue_hash_table_remove(fmon->smon->fmons, fmon);
break;
@@ -117,7 +126,7 @@
}
}
-@@ -1167,11 +1187,15 @@
+@@ -1167,11 +1187,15 @@ gam_kqueue_init (void)
channel = g_io_channel_unix_new(kq);
g_io_add_watch(channel, G_IO_IN, gam_kqueue_kevent_cb, NULL);