summaryrefslogtreecommitdiffstats
path: root/devel
diff options
context:
space:
mode:
authorkwm <kwm@df743ca5-7f9a-e211-a948-0013205c9059>2008-08-19 10:02:06 +0800
committerkwm <kwm@df743ca5-7f9a-e211-a948-0013205c9059>2008-08-19 10:02:06 +0800
commit88d7f5242abe252a05491ebe2ff2192cca8c49fb (patch)
tree8f2e99f635a8e44abf914b67896a8817c8cd7275 /devel
parent09e5cd0bd4bf0b258e246617f9479acb4bce5c6f (diff)
downloadmarcuscom-ports-88d7f5242abe252a05491ebe2ff2192cca8c49fb.tar
marcuscom-ports-88d7f5242abe252a05491ebe2ff2192cca8c49fb.tar.gz
marcuscom-ports-88d7f5242abe252a05491ebe2ff2192cca8c49fb.tar.bz2
marcuscom-ports-88d7f5242abe252a05491ebe2ff2192cca8c49fb.tar.lz
marcuscom-ports-88d7f5242abe252a05491ebe2ff2192cca8c49fb.tar.xz
marcuscom-ports-88d7f5242abe252a05491ebe2ff2192cca8c49fb.tar.zst
marcuscom-ports-88d7f5242abe252a05491ebe2ff2192cca8c49fb.zip
Update to 2.23.90.
git-svn-id: svn://creme-brulee.marcuscom.com/ports/trunk@11325 df743ca5-7f9a-e211-a948-0013205c9059
Diffstat (limited to 'devel')
-rw-r--r--devel/libgtop/Makefile4
-rw-r--r--devel/libgtop/distinfo6
-rw-r--r--devel/libgtop/files/patch-configure11
-rw-r--r--devel/libgtop/files/patch-sysdeps_freebsd_Makefile.in37
-rw-r--r--devel/libgtop/files/patch-sysdeps_freebsd_fsusage.c61
-rw-r--r--devel/libgtop/files/patch-sysdeps_freebsd_glibtop_server.h10
-rw-r--r--devel/libgtop/files/patch-sysdeps_freebsd_mountlist.c171
-rw-r--r--devel/libgtop/files/patch-sysdeps_freebsd_procaffinity.c87
-rw-r--r--devel/libgtop/files/patch-sysdeps_freebsd_procmap.c36
-rw-r--r--devel/libgtop/files/patch-sysdeps_freebsd_procopenfiles.c229
-rw-r--r--devel/libgtop/files/patch-sysdeps_freebsd_procwd.c94
-rw-r--r--devel/libgtop/files/patch-sysdeps_freebsd_shm_limits.c22
12 files changed, 5 insertions, 763 deletions
diff --git a/devel/libgtop/Makefile b/devel/libgtop/Makefile
index 213da7979..aaeb575fc 100644
--- a/devel/libgtop/Makefile
+++ b/devel/libgtop/Makefile
@@ -3,11 +3,11 @@
# Whom: Joe Marcus Clarke <marcus@FreeBSD.org>
#
# $FreeBSD$
-# $MCom: ports/devel/libgtop/Makefile,v 1.37 2008/06/06 21:38:47 marcus Exp $
+# $MCom: ports/devel/libgtop/Makefile,v 1.38 2008/06/29 16:48:45 marcus Exp $
#
PORTNAME= libgtop
-PORTVERSION= 2.23.4
+PORTVERSION= 2.23.90
CATEGORIES= devel gnome
MASTER_SITES= GNOME
DIST_SUBDIR= gnome2
diff --git a/devel/libgtop/distinfo b/devel/libgtop/distinfo
index 0b6399cfa..c4a140ee1 100644
--- a/devel/libgtop/distinfo
+++ b/devel/libgtop/distinfo
@@ -1,3 +1,3 @@
-MD5 (gnome2/libgtop-2.23.4.tar.bz2) = bb37766ba407983a8e055eb4705a1a81
-SHA256 (gnome2/libgtop-2.23.4.tar.bz2) = 7d9b0e68b4e84e7938197c5240023d3b6840026cfc9f83bdab202fbab4029a9b
-SIZE (gnome2/libgtop-2.23.4.tar.bz2) = 778057
+MD5 (gnome2/libgtop-2.23.90.tar.bz2) = 2796d6461fd4501387ac1609d0b08575
+SHA256 (gnome2/libgtop-2.23.90.tar.bz2) = 07800a1c7cad5ca517e10559d447cb10397c0ac10828ef9be649cb0983cb7942
+SIZE (gnome2/libgtop-2.23.90.tar.bz2) = 780473
diff --git a/devel/libgtop/files/patch-configure b/devel/libgtop/files/patch-configure
deleted file mode 100644
index b1d337570..000000000
--- a/devel/libgtop/files/patch-configure
+++ /dev/null
@@ -1,11 +0,0 @@
---- configure.orig 2008-04-05 01:45:43.000000000 -0400
-+++ configure 2008-04-05 01:45:50.000000000 -0400
-@@ -21523,6 +21523,8 @@ echo $ECHO_N "checking for libgtop sysde
- libgtop_sysdeps_dir=freebsd
- libgtop_use_machine_h=yes
- libgtop_need_server=yes
-+ libgtop_sysdeps_private_mountlist=yes
-+ libgtop_sysdeps_private_fsusage=yes
- libgtop_postinstall='chgrp kmem $(bindir)/libgtop_server2 && chmod 2755 $(bindir)/libgtop_server2'
- ;;
- solaris*)
diff --git a/devel/libgtop/files/patch-sysdeps_freebsd_Makefile.in b/devel/libgtop/files/patch-sysdeps_freebsd_Makefile.in
deleted file mode 100644
index 01e8330ea..000000000
--- a/devel/libgtop/files/patch-sysdeps_freebsd_Makefile.in
+++ /dev/null
@@ -1,37 +0,0 @@
---- sysdeps/freebsd/Makefile.in.orig 2008-05-25 14:23:40.000000000 -0400
-+++ sysdeps/freebsd/Makefile.in 2008-05-25 14:43:33.000000000 -0400
-@@ -54,7 +54,7 @@ libgtop_sysdeps_2_0_la_LIBADD =
- am_libgtop_sysdeps_2_0_la_OBJECTS = nosuid.lo siglist.lo sysinfo.lo \
- shm_limits.lo cpu.lo msg_limits.lo sem_limits.lo loadavg.lo \
- uptime.lo netlist.lo fsusage.lo mem.lo procopenfiles.lo \
-- procwd.lo glibtop_private.lo
-+ procwd.lo procaffinity.lo glibtop_private.lo mountlist.lo
- libgtop_sysdeps_2_0_la_OBJECTS = $(am_libgtop_sysdeps_2_0_la_OBJECTS)
- am__DEPENDENCIES_1 =
- libgtop_sysdeps_suid_2_0_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \
-@@ -306,7 +306,8 @@ libgtop_sysdeps_2_0_la_SOURCES = nosuid.
- cpu.c msg_limits.c sem_limits.c loadavg.c \
- uptime.c netlist.c fsusage.c mem.c \
- procopenfiles.c procwd.c \
-- glibtop_private.c
-+ procaffinity.c \
-+ glibtop_private.c mountlist.c
-
- libgtop_sysdeps_2_0_la_LDFLAGS = $(LT_VERSION_INFO)
- libgtop_sysdeps_suid_2_0_la_LIBADD = $(KVM_LIBS) $(EXTRA_SYSDEPS_LIBS)
-@@ -377,6 +378,7 @@ distclean-compile:
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/close.Plo@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cpu.Plo@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fsusage.Plo@am__quote@
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mountlist.Plo@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/glibtop_private.Plo@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/loadavg.Plo@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mem.Plo@am__quote@
-@@ -398,6 +400,7 @@ distclean-compile:
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/proctime.Plo@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/procuid.Plo@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/procwd.Plo@am__quote@
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/procaffinity.Plo@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sem_limits.Plo@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/shm_limits.Plo@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/siglist.Plo@am__quote@
diff --git a/devel/libgtop/files/patch-sysdeps_freebsd_fsusage.c b/devel/libgtop/files/patch-sysdeps_freebsd_fsusage.c
deleted file mode 100644
index 90da05b1b..000000000
--- a/devel/libgtop/files/patch-sysdeps_freebsd_fsusage.c
+++ /dev/null
@@ -1,61 +0,0 @@
---- sysdeps/freebsd/fsusage.c.orig 2007-06-03 16:06:05.000000000 -0400
-+++ sysdeps/freebsd/fsusage.c 2008-02-09 19:50:44.000000000 -0500
-@@ -10,6 +10,7 @@
- #include <unistd.h>
- #include <sys/param.h>
- #include <sys/mount.h>
-+#include <sys/statvfs.h>
- #if __FreeBSD_version >= 600000 || defined(__FreeBSD_kernel__)
- #include <libgeom.h>
- #include <sys/resource.h>
-@@ -21,15 +22,13 @@
- #include <string.h>
- #include <stdlib.h>
-
--void
--_glibtop_freebsd_get_fsusage_read_write(glibtop *server,
-- glibtop_fsusage *buf,
-- const char *path);
-+static const unsigned long _glibtop_sysdeps_fsusage =
-+(1L << GLIBTOP_FSUSAGE_BLOCKS) + (1L << GLIBTOP_FSUSAGE_BFREE)
-++ (1L << GLIBTOP_FSUSAGE_BAVAIL) + (1L << GLIBTOP_FSUSAGE_FILES)
-++ (1L << GLIBTOP_FSUSAGE_FFREE) + (1L << GLIBTOP_FSUSAGE_BLOCK_SIZE);
-
--void
--_glibtop_freebsd_get_fsusage_read_write(glibtop *server,
-- glibtop_fsusage *buf,
-- const char *path)
-+static void
-+_glibtop_get_fsusage_read_write (glibtop *server, glibtop_fsusage *buf, const char *path)
- {
- int result;
- struct statfs sfs;
-@@ -135,3 +134,28 @@ _glibtop_freebsd_get_fsusage_read_write(
- #endif
- buf->flags |= (1 << GLIBTOP_FSUSAGE_READ) | (1 << GLIBTOP_FSUSAGE_WRITE);
- }
-+
-+void
-+glibtop_get_fsusage_s(glibtop *server, glibtop_fsusage *buf, const char *path)
-+{
-+ struct statvfs fsd;
-+
-+ glibtop_init_r (&server, 0, 0);
-+
-+ memset (buf, 0, sizeof (glibtop_fsusage));
-+
-+ if (statvfs (path, &fsd) < 0)
-+ return;
-+
-+ buf->block_size = fsd.f_frsize;
-+ buf->blocks = fsd.f_blocks;
-+ buf->bfree = fsd.f_bfree;
-+ buf->bavail = (fsd.f_bavail > fsd.f_bfree) ? 0 : fsd.f_bavail;
-+ buf->files = fsd.f_files;
-+ buf->ffree = fsd.f_ffree;
-+
-+ buf->flags = _glibtop_sysdeps_fsusage;
-+
-+ _glibtop_get_fsusage_read_write(server, buf, path);
-+}
-+
diff --git a/devel/libgtop/files/patch-sysdeps_freebsd_glibtop_server.h b/devel/libgtop/files/patch-sysdeps_freebsd_glibtop_server.h
deleted file mode 100644
index ee797acf6..000000000
--- a/devel/libgtop/files/patch-sysdeps_freebsd_glibtop_server.h
+++ /dev/null
@@ -1,10 +0,0 @@
---- sysdeps/freebsd/glibtop_server.h.orig 2008-05-25 14:26:13.000000000 -0400
-+++ sysdeps/freebsd/glibtop_server.h 2008-05-25 14:26:30.000000000 -0400
-@@ -46,6 +46,7 @@ G_BEGIN_DECLS
- #define GLIBTOP_SUID_SEM_LIMITS 0
- #define GLIBTOP_SUID_NETLIST 0
- #define GLIBTOP_SUID_PROC_WD 0
-+#define GLIBTOP_SUID_PROC_AFFINITY 0
-
- G_END_DECLS
-
diff --git a/devel/libgtop/files/patch-sysdeps_freebsd_mountlist.c b/devel/libgtop/files/patch-sysdeps_freebsd_mountlist.c
deleted file mode 100644
index 7c1b1774c..000000000
--- a/devel/libgtop/files/patch-sysdeps_freebsd_mountlist.c
+++ /dev/null
@@ -1,171 +0,0 @@
---- sysdeps/freebsd/mountlist.c.orig 2008-02-15 02:11:59.000000000 -0500
-+++ sysdeps/freebsd/mountlist.c 2008-02-15 02:28:14.000000000 -0500
-@@ -0,0 +1,168 @@
-+/* mountlist.c -- return a list of mounted filesystems
-+ Copyright (C) 1991, 1992 Free Software Foundation, Inc.
-+
-+ This program is free software; you can redistribute it and/or modify
-+ it under the terms of the GNU General Public License as published by
-+ the Free Software Foundation; either version 2, or (at your option)
-+ any later version.
-+
-+ This program is distributed in the hope that it will be useful,
-+ but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ GNU General Public License for more details.
-+
-+ You should have received a copy of the GNU General Public License
-+ along with this program; if not, write to the Free Software Foundation,
-+ Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-+
-+#include <config.h>
-+
-+#include <glib.h>
-+#include <stdio.h>
-+#include <stdlib.h>
-+#include <sys/types.h>
-+#include <sys/param.h>
-+#include <sys/mount.h>
-+
-+#include <string.h>
-+
-+#include <glibtop.h>
-+#include <glibtop/mountlist.h>
-+
-+/* A mount table entry. */
-+struct mount_entry
-+{
-+ char *me_devname; /* Device node pathname, including "/dev/". */
-+ char *me_mountdir; /* Mount point directory pathname. */
-+ char *me_type; /* "nfs", "4.2", etc. */
-+ dev_t me_dev; /* Device number of me_mountdir. */
-+ struct mount_entry *me_next;
-+};
-+
-+static struct mount_entry *read_filesystem_list (void);
-+
-+/* Return a list of the currently mounted filesystems, or NULL on error.
-+ Add each entry to the tail of the list so that they stay in order.
-+*/
-+
-+static struct mount_entry *
-+read_filesystem_list (void)
-+{
-+ struct mount_entry *mount_list;
-+ struct mount_entry *me;
-+ struct mount_entry *mtail;
-+
-+ /* Start the list off with a dummy entry. */
-+ me = g_new (struct mount_entry, 1);
-+ me->me_next = NULL;
-+ mount_list = mtail = me;
-+ {
-+ struct statfs *fsp;
-+ int entries;
-+
-+ entries = getmntinfo (&fsp, MNT_NOWAIT);
-+ if (entries < 0)
-+ return NULL;
-+ while (entries-- > 0)
-+ {
-+ me = (struct mount_entry *) g_malloc (sizeof (struct mount_entry));
-+ me->me_devname = g_strdup (fsp->f_mntfromname);
-+ me->me_mountdir = g_strdup (fsp->f_mntonname);
-+ me->me_type = g_strdup (fsp->f_fstypename);
-+ me->me_dev = (dev_t) -1; /* Magic; means not known yet. */
-+ me->me_next = NULL;
-+
-+ /* Add to the linked list. */
-+ mtail->me_next = me;
-+ mtail = me;
-+ fsp++;
-+ }
-+ }
-+
-+ /* Free the dummy head. */
-+ me = mount_list;
-+ mount_list = mount_list->me_next;
-+ g_free (me);
-+ return mount_list;
-+}
-+
-+static gboolean ignore_mount_entry(const struct mount_entry *me)
-+{
-+ /* keep sorted */
-+ static const char ignored[][17] = {
-+ "autofs",
-+ "devfs",
-+ "fusectl",
-+ "linprocfs",
-+ "linsysfs",
-+ "mfs",
-+ "none",
-+ "nfs",
-+ "nullfs",
-+ "nwfs",
-+ "portalfs",
-+ "proc",
-+ "procfs",
-+ "smbfs",
-+ "tmpfs",
-+ "unionfs",
-+ "unknown"
-+ };
-+
-+ typedef int (*Comparator)(const void*, const void*);
-+
-+ return bsearch(me->me_type,
-+ ignored, G_N_ELEMENTS(ignored), sizeof ignored[0],
-+ (Comparator) strcmp) != NULL;
-+}
-+
-+
-+glibtop_mountentry *
-+glibtop_get_mountlist_s (glibtop *server, glibtop_mountlist *buf, int all_fs)
-+{
-+ struct mount_entry *entries, *cur, *next;
-+
-+ GArray *mount_array = g_array_new(FALSE, FALSE,
-+ sizeof(glibtop_mountentry));
-+
-+ glibtop_init_r (&server, 0, 0);
-+
-+ memset (buf, 0, sizeof (glibtop_mountlist));
-+
-+ /* Read filesystem list. */
-+
-+ if((entries = read_filesystem_list ()) == NULL)
-+ return NULL;
-+
-+ for (cur = &entries[0]; cur != NULL; cur = next) {
-+
-+ if(all_fs || !ignore_mount_entry(cur)) {
-+ /* add a new glibtop_mountentry */
-+ glibtop_mountentry e;
-+
-+ g_strlcpy(e.devname, cur->me_devname, sizeof e.devname);
-+ g_strlcpy(e.mountdir, cur->me_mountdir, sizeof e.mountdir);
-+ g_strlcpy(e.type, cur->me_type, sizeof e.type);
-+ e.dev = cur->me_dev;
-+
-+ g_array_append_val(mount_array, e);
-+ }
-+
-+ /* free current mount_entry and move to the next */
-+ next = cur->me_next;
-+ g_free(cur->me_devname);
-+ g_free(cur->me_mountdir);
-+ g_free(cur->me_type);
-+ g_free(cur);
-+ }
-+
-+ buf->size = sizeof (glibtop_mountentry);
-+ buf->number = mount_array->len;
-+ buf->total = buf->number * buf->size;
-+
-+ buf->flags = (1 << GLIBTOP_MOUNTLIST_SIZE)
-+ | (1 << GLIBTOP_MOUNTLIST_NUMBER)
-+ | (1 << GLIBTOP_MOUNTLIST_TOTAL);
-+
-+ return (glibtop_mountentry*) g_array_free(mount_array, FALSE);
-+}
diff --git a/devel/libgtop/files/patch-sysdeps_freebsd_procaffinity.c b/devel/libgtop/files/patch-sysdeps_freebsd_procaffinity.c
deleted file mode 100644
index 8b0e82960..000000000
--- a/devel/libgtop/files/patch-sysdeps_freebsd_procaffinity.c
+++ /dev/null
@@ -1,87 +0,0 @@
---- sysdeps/freebsd/procaffinity.c.orig 2008-05-25 14:42:56.000000000 -0400
-+++ sysdeps/freebsd/procaffinity.c 2008-05-25 14:44:25.000000000 -0400
-@@ -0,0 +1,84 @@
-+/* Copyright (C) 2007 Joe Marcus Clarke <marcus@FreeBSD.org>
-+ This file is part of LibGTop 2.
-+
-+ LibGTop is free software; you can redistribute it and/or modify it
-+ under the terms of the GNU General Public License as published by
-+ the Free Software Foundation; either version 2 of the License,
-+ or (at your option) any later version.
-+
-+ LibGTop is distributed in the hope that it will be useful, but WITHOUT
-+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-+ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
-+ for more details.
-+
-+ You should have received a copy of the GNU General Public License
-+ along with LibGTop; see the file COPYING. If not, write to the
-+ Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-+ Boston, MA 02111-1307, USA.
-+*/
-+
-+#include <config.h>
-+#include <glibtop/procaffinity.h>
-+#include <glibtop/error.h>
-+
-+#include <glibtop_private.h>
-+
-+#include <sys/param.h>
-+#if __FreeBSD_version > 800024
-+#include <sys/cpuset.h>
-+#endif
-+
-+void
-+_glibtop_init_proc_affinity_s(glibtop *server)
-+{
-+ server->sysdeps.proc_affinity =
-+ (1 << GLIBTOP_PROC_AFFINITY_NUMBER) |
-+ (1 << GLIBTOP_PROC_AFFINITY_ALL);
-+
-+}
-+
-+
-+guint16 *
-+glibtop_get_proc_affinity_s(glibtop *server, glibtop_proc_affinity *buf, pid_t pid)
-+{
-+#if __FreeBSD_version > 800024
-+ id_t id;
-+ cpulevel_t level;
-+ cpuwhich_t which;
-+ cpuset_t mask;
-+ size_t i;
-+ GArray* cpus;
-+
-+ memset(buf, 0, sizeof *buf);
-+
-+ which = CPU_WHICH_PID;
-+ level = CPU_LEVEL_WHICH;
-+ id = pid;
-+
-+ if (cpuset_getaffinity(level, which, id, sizeof(mask), &mask) != 0) {
-+ glibtop_error_r(server, "cpuset_getaffinity failed");
-+ return NULL;
-+ }
-+
-+ cpus = g_array_new(FALSE, FALSE, sizeof(guint16));
-+
-+ for (i = 0; i < MIN(CPU_SETSIZE, (size_t)(server->ncpu + 1)); i++) {
-+ if (CPU_ISSET(i, &mask)) {
-+ guint16 n = i;
-+ g_array_append_val(cpus, n);
-+ }
-+ }
-+
-+ buf->number = cpus->len;
-+ buf->all = (cpus->len == (size_t)(server->ncpu + 1));
-+ buf->flags = (1 << GLIBTOP_PROC_AFFINITY_NUMBER)
-+ | (1 << GLIBTOP_PROC_AFFINITY_ALL);
-+
-+ return (guint16*) g_array_free(cpus, FALSE);
-+#else
-+ memset(buf, 0, sizeof *buf);
-+
-+ return NULL;
-+#endif
-+}
-+
diff --git a/devel/libgtop/files/patch-sysdeps_freebsd_procmap.c b/devel/libgtop/files/patch-sysdeps_freebsd_procmap.c
deleted file mode 100644
index 97fde7b17..000000000
--- a/devel/libgtop/files/patch-sysdeps_freebsd_procmap.c
+++ /dev/null
@@ -1,36 +0,0 @@
---- sysdeps/freebsd/procmap.c.orig 2008-05-23 18:13:23.000000000 -0400
-+++ sysdeps/freebsd/procmap.c 2008-08-02 19:03:51.000000000 -0400
-@@ -41,7 +41,17 @@
- #define _KERNEL
- #include <sys/pipe.h>
- #include <sys/conf.h>
-+#undef _KERNEL
-+#if __FreeBSD_version >= 800038
-+#define _WANT_FILE
- #include <sys/file.h>
-+#undef _WANT_FILE
-+#else
-+#define _KERNEL
-+#include <sys/file.h>
-+#undef _KERNEL
-+#endif
-+#define _KERNEL
- #include <sys/mount.h>
- #include <ufs/ufs/quota.h>
- #include <ufs/ufs/inode.h>
-@@ -103,8 +113,14 @@ _glibtop_sysdeps_freebsd_dev_inode (glib
-
- if (kvm_read (server->machine.kd, (gulong) inode.i_dev, (char *) &si,
- sizeof (si)) != sizeof (si) ||
-+#if __FreeBSD_version >= 800039
-+ kvm_read (server->machine.kd, (gulong) cdev2priv(&si), (char *) &priv,
-+ sizeof (priv))
-+#else
- kvm_read (server->machine.kd, (gulong) si.si_priv, (char *) &priv,
-- sizeof (priv)) != sizeof (priv))
-+ sizeof (priv))
-+#endif
-+ != sizeof (priv))
- {
- glibtop_warn_io_r (server, "kvm_read (si)");
- return;
diff --git a/devel/libgtop/files/patch-sysdeps_freebsd_procopenfiles.c b/devel/libgtop/files/patch-sysdeps_freebsd_procopenfiles.c
deleted file mode 100644
index 8c83d13f2..000000000
--- a/devel/libgtop/files/patch-sysdeps_freebsd_procopenfiles.c
+++ /dev/null
@@ -1,229 +0,0 @@
---- sysdeps/freebsd/procopenfiles.c.orig 2008-05-23 18:13:23.000000000 -0400
-+++ sysdeps/freebsd/procopenfiles.c 2008-05-25 14:58:20.000000000 -0400
-@@ -28,6 +28,13 @@
- #include <glibtop/error.h>
- #include <glibtop/procopenfiles.h>
- #include <sys/types.h>
-+#include <sys/socket.h>
-+#include <sys/param.h>
-+#include <sys/sysctl.h>
-+#include <sys/un.h>
-+#include <sys/user.h>
-+#include <netinet/in.h>
-+#include <arpa/inet.h>
- #include <string.h>
- #include <stdlib.h>
-
-@@ -46,6 +53,63 @@ _glibtop_init_proc_open_files_s (glibtop
- server->sysdeps.proc_open_files = _glibtop_sysdeps_proc_open_files;
- }
-
-+#if __FreeBSD_version > 800018 || (__FreeBSD_version < 800000 && __FreeBSD_version >= 700104)
-+static char *
-+addr_to_string(struct sockaddr_storage *ss)
-+{
-+ char *buffer = NULL;
-+ char buffer2[INET6_ADDRSTRLEN];
-+ struct sockaddr_in6 *sin6;
-+ struct sockaddr_in *sin;
-+ struct sockaddr_un *sun;
-+
-+ switch (ss->ss_family) {
-+ case AF_LOCAL:
-+ sun = (struct sockaddr_un *)ss;
-+ if (strlen(sun->sun_path) == 0)
-+ buffer = g_strdup("-");
-+ else
-+ buffer = g_strdup(sun->sun_path);
-+ break;
-+ case AF_INET:
-+ sin = (struct sockaddr_in *)ss;
-+ buffer = g_strdup(inet_ntoa(sin->sin_addr));
-+ break;
-+ case AF_INET6:
-+ sin6 = (struct sockaddr_in6 *)ss;
-+ if (inet_ntop(AF_INET6, &sin6->sin6_addr, buffer2,
-+ sizeof(buffer2)) != NULL)
-+ buffer = g_strdup(buffer2);
-+ else
-+ buffer = g_strdup("-");
-+ break;
-+ }
-+
-+ return buffer;
-+}
-+
-+static int
-+addr_to_port(struct sockaddr_storage *ss)
-+{
-+ int port = 0;
-+ struct sockaddr_in6 *sin6;
-+ struct sockaddr_in *sin;
-+
-+ switch (ss->ss_family) {
-+ case AF_INET:
-+ sin = (struct sockaddr_in *)ss;
-+ port = ntohs(sin->sin_port);
-+ break;
-+ case AF_INET6:
-+ sin6 = (struct sockaddr_in6 *)ss;
-+ port = ntohs(sin6->sin6_port);
-+ break;
-+ }
-+
-+ return port;
-+}
-+#else
-+
- static GArray *
- parse_output(const char *output) {
- GArray *entries;
-@@ -143,6 +207,39 @@ parse_output(const char *output) {
- entry.info.sock.dest_port = atoi(remote_host[1]);
-
- g_strfreev(remote_host);
-+ } else if (!strcmp(ftype, "IPv6")) {
-+ char **hosts;
-+ char **remote_host;
-+
-+ if (!strstr(fname, "->")) {
-+ remote_host = g_strsplit(fname, ":", 0);
-+ } else {
-+ hosts = g_strsplit(fname, "->", 0);
-+ if (g_strv_length(hosts) < 2) {
-+ g_strfreev(hosts);
-+ continue;
-+ }
-+
-+ remote_host = g_strsplit(hosts[1], "]", 0);
-+ g_strfreev(hosts);
-+ }
-+
-+ if (g_strv_length(remote_host) < 2) {
-+ g_strfreev(remote_host);
-+ continue;
-+ }
-+
-+ entry.type = GLIBTOP_FILE_TYPE_INET6SOCKET;
-+ if (!strcmp(remote_host[0], "*"))
-+ g_strlcpy(entry.info.sock.dest_host, "0.0.0.0",
-+ sizeof(entry.info.sock.dest_host));
-+ else
-+ g_strlcpy(entry.info.sock.dest_host,
-+ remote_host[0] + 1,
-+ sizeof(entry.info.sock.dest_host));
-+ entry.info.sock.dest_port = atoi(remote_host[1] + 1);
-+
-+ g_strfreev(remote_host);
- } else
- continue;
-
-@@ -159,21 +256,108 @@ parse_output(const char *output) {
-
- return entries;
- }
-+#endif
-
- glibtop_open_files_entry *
- glibtop_get_proc_open_files_s (glibtop *server, glibtop_proc_open_files *buf, pid_t pid)
- {
-+#if __FreeBSD_version > 800018 || (__FreeBSD_version < 800000 && __FreeBSD_version >= 700104)
-+ struct kinfo_file *freep, *kif;
-+ int name[4];
-+ size_t len;
-+ size_t i;
-+#else
- char *output;
-+#endif
- GArray *entries;
-
- memset(buf, 0, sizeof (glibtop_proc_open_files));
-
-+#if __FreeBSD_version > 800018 || (__FreeBSD_version < 800000 && __FreeBSD_version >= 700104)
-+ name[0] = CTL_KERN;
-+ name[1] = KERN_PROC;
-+ name[2] = KERN_PROC_FILEDESC;
-+ name[3] = pid;
-+
-+ if (sysctl(name, 4, NULL, &len, NULL, 0) < 0)
-+ return NULL;
-+
-+ freep = kif = g_malloc(len);
-+ if (sysctl(name, 4, kif, &len, NULL, 0) < 0) {
-+ g_free(freep);
-+ return NULL;
-+ }
-+
-+ entries = g_array_new(FALSE, FALSE, sizeof(glibtop_open_files_entry));
-+
-+ for (i = 0; i < len / sizeof(*kif); i++, kif++) {
-+ glibtop_open_files_entry entry = {0};
-+
-+ if (kif->kf_fd < 0)
-+ continue;
-+
-+ if (kif->kf_type == KF_TYPE_SOCKET) {
-+ if (kif->kf_sock_domain == AF_LOCAL) {
-+ struct sockaddr_un *sun;
-+
-+ entry.type = GLIBTOP_FILE_TYPE_LOCALSOCKET;
-+ sun = (struct sockaddr_un *)&kif->kf_sa_local;
-+
-+ if (sun->sun_path[0]) {
-+ char *addrstr;
-+
-+ addrstr = addr_to_string(&kif->kf_sa_local);
-+ g_strlcpy(entry.info.localsock.name,
-+ addrstr,
-+ sizeof(entry.info.localsock.name));
-+ g_free(addrstr);
-+ } else {
-+ char *addrstr;
-+
-+ addrstr = addr_to_string(&kif->kf_sa_peer);
-+ g_strlcpy(entry.info.localsock.name,
-+ addrstr,
-+ sizeof(entry.info.localsock.name));
-+ g_free(addrstr);
-+ }
-+ } else if (kif->kf_sock_domain == AF_INET ||
-+ kif->kf_sock_domain == AF_INET6) {
-+ char *addrstr;
-+
-+ if (kif->kf_sock_domain == AF_INET)
-+ entry.type = GLIBTOP_FILE_TYPE_INETSOCKET;
-+ else
-+ entry.type = GLIBTOP_FILE_TYPE_INET6SOCKET;
-+ addrstr = addr_to_string(&kif->kf_sa_peer);
-+ g_strlcpy(entry.info.sock.dest_host,
-+ addrstr,
-+ sizeof(entry.info.sock.dest_host));
-+ g_free(addrstr);
-+ entry.info.sock.dest_port = addr_to_port(&kif->kf_sa_peer);
-+ }
-+ } else if (kif->kf_type == KF_TYPE_PIPE) {
-+ entry.type = GLIBTOP_FILE_TYPE_PIPE;
-+ } else if (kif->kf_type == KF_TYPE_VNODE) {
-+ entry.type = GLIBTOP_FILE_TYPE_FILE;
-+ g_strlcpy(entry.info.file.name, kif->kf_path,
-+ sizeof(entry.info.file.name));
-+ } else
-+ continue;
-+
-+ entry.fd = kif->kf_fd;
-+
-+ g_array_append_val(entries, entry);
-+ }
-+ g_free(freep);
-+#else
-+
- output = execute_lsof(pid);
- if (output == NULL) return NULL;
-
- entries = parse_output(output);
-
- g_free(output);
-+#endif
-
- buf->flags = _glibtop_sysdeps_proc_open_files;
- buf->number = entries->len;
diff --git a/devel/libgtop/files/patch-sysdeps_freebsd_procwd.c b/devel/libgtop/files/patch-sysdeps_freebsd_procwd.c
deleted file mode 100644
index d6fb5063d..000000000
--- a/devel/libgtop/files/patch-sysdeps_freebsd_procwd.c
+++ /dev/null
@@ -1,94 +0,0 @@
---- sysdeps/freebsd/procwd.c.orig 2008-02-09 12:46:32.000000000 -0500
-+++ sysdeps/freebsd/procwd.c 2008-02-09 12:48:24.000000000 -0500
-@@ -24,7 +24,9 @@
- #include <glibtop_private.h>
-
- #include <sys/types.h>
-+#include <sys/sysctl.h>
- #include <sys/param.h>
-+#include <sys/user.h>
- #include <string.h>
-
- static const unsigned long _glibtop_sysdeps_proc_wd =
-@@ -38,6 +40,7 @@ _glibtop_init_proc_wd_s(glibtop *server)
- server->sysdeps.proc_wd = _glibtop_sysdeps_proc_wd;
- }
-
-+#if (__FreeBSD_version >= 800000 && __FreeBSD_version < 800019) || _FreeBSD_version < 700104
- static GPtrArray *
- parse_output(const char *output, glibtop_proc_wd *buf)
- {
-@@ -89,12 +92,21 @@ parse_output(const char *output, glibtop
-
- return dirs;
- }
-+#endif
-
- char**
- glibtop_get_proc_wd_s(glibtop *server, glibtop_proc_wd *buf, pid_t pid)
- {
- char path[MAXPATHLEN];
-+#if __FreeBSD_version > 800018 || (__FreeBSD_version < 800000 && __FreeBSD_version >= 700104)
-+ struct kinfo_file *freep, *kif;
-+ GPtrArray *dirs;
-+ size_t len;
-+ int i;
-+ int name[4];
-+#else
- char *output;
-+#endif
-
- memset (buf, 0, sizeof (glibtop_proc_wd));
-
-@@ -102,6 +114,43 @@ glibtop_get_proc_wd_s(glibtop *server, g
- if (safe_readlink(path, buf->exe, sizeof(buf->exe)))
- buf->flags |= (1 << GLIBTOP_PROC_WD_EXE);
-
-+#if __FreeBSD_version > 800018 || (__FreeBSD_version < 800000 && __FreeBSD_version >= 700104)
-+ name[0] = CTL_KERN;
-+ name[1] = KERN_PROC;
-+ name[2] = KERN_PROC_FILEDESC;
-+ name[3] = pid;
-+
-+ if (sysctl(name, 4, NULL, &len, NULL, 0) < 0)
-+ return NULL;
-+ freep = kif = g_malloc(len);
-+ if (sysctl(name, 4, kif, &len, NULL, 0) < 0) {
-+ g_free(freep);
-+ return NULL;
-+ }
-+
-+ dirs = g_ptr_array_sized_new(1);
-+
-+ for (i = 0; i < len / sizeof(*kif); i++, kif++) {
-+ switch (kif->kf_fd) {
-+ case KF_FD_TYPE_ROOT:
-+ g_strlcpy(buf->root, kif->kf_path,
-+ sizeof(buf->root));
-+ buf->flags |= (1 << GLIBTOP_PROC_WD_ROOT);
-+ break;
-+ case KF_FD_TYPE_CWD:
-+ g_ptr_array_add(dirs, g_strdup (kif->kf_path));
-+ break;
-+ }
-+ }
-+ g_free(freep);
-+
-+ buf->number = dirs->len;
-+ buf->flags |= (1 << GLIBTOP_PROC_WD_NUMBER);
-+
-+ g_ptr_array_add(dirs, NULL);
-+
-+ return (char **)g_ptr_array_free(dirs, FALSE);
-+#else
- output = execute_lsof(pid);
- if (output != NULL) {
- GPtrArray *dirs;
-@@ -116,6 +165,7 @@ glibtop_get_proc_wd_s(glibtop *server, g
-
- return (char **)g_ptr_array_free(dirs, FALSE);
- }
-+#endif
-
- return NULL;
- }
diff --git a/devel/libgtop/files/patch-sysdeps_freebsd_shm_limits.c b/devel/libgtop/files/patch-sysdeps_freebsd_shm_limits.c
deleted file mode 100644
index 8fa00f388..000000000
--- a/devel/libgtop/files/patch-sysdeps_freebsd_shm_limits.c
+++ /dev/null
@@ -1,22 +0,0 @@
---- sysdeps/freebsd/shm_limits.c.orig 2008-02-14 12:26:46.000000000 -0500
-+++ sysdeps/freebsd/shm_limits.c 2008-02-14 12:26:29.000000000 -0500
-@@ -25,6 +25,7 @@
- #include <glibtop/shm_limits.h>
-
- #include <sys/types.h>
-+#include <sys/param.h>
- #include <sys/sysctl.h>
-
- static unsigned long _glibtop_sysdeps_shm_limits =
-@@ -46,7 +47,11 @@ void
- glibtop_get_shm_limits_s (glibtop *server, glibtop_shm_limits *buf)
- {
- size_t len;
-+#if __FreeBSD_version < 700002
- int shmmax, shmmin, shmmni, shmseg, shmall;
-+#else
-+ unsigned long shmmax, shmmin, shmmni, shmseg, shmall;
-+#endif
-
- glibtop_init_s (&server, GLIBTOP_SYSDEPS_SHM_LIMITS, 0);
-