summaryrefslogtreecommitdiff
path: root/sysutils/libgtop2
diff options
context:
space:
mode:
authorjoerg <joerg>2006-02-28 23:48:11 +0000
committerjoerg <joerg>2006-02-28 23:48:11 +0000
commit93ca77f8ccaa267152bce1ea307c28ed0d9ceda8 (patch)
tree7b98a27a952a89c932a780cd3e9b8152d7e0074f /sysutils/libgtop2
parentc9dc491738f1cb4827f67c10c582b1e71ebb4d6c (diff)
downloadpkgsrc-93ca77f8ccaa267152bce1ea307c28ed0d9ceda8.tar.gz
Add support for DragonFly. There are some minor issues left, e.g.
installing of the backend daemon as kmem, but I don't want to make it the default, since almost all operations work without it.
Diffstat (limited to 'sysutils/libgtop2')
-rw-r--r--sysutils/libgtop2/distinfo23
-rw-r--r--sysutils/libgtop2/patches/patch-aa96
-rw-r--r--sysutils/libgtop2/patches/patch-ab84
-rw-r--r--sysutils/libgtop2/patches/patch-ac24
-rw-r--r--sysutils/libgtop2/patches/patch-ad4
-rw-r--r--sysutils/libgtop2/patches/patch-ae87
-rw-r--r--sysutils/libgtop2/patches/patch-af14
-rw-r--r--sysutils/libgtop2/patches/patch-ag141
-rw-r--r--sysutils/libgtop2/patches/patch-ah12
-rw-r--r--sysutils/libgtop2/patches/patch-ai46
-rw-r--r--sysutils/libgtop2/patches/patch-aj16
-rw-r--r--sysutils/libgtop2/patches/patch-ak45
-rw-r--r--sysutils/libgtop2/patches/patch-al15
-rw-r--r--sysutils/libgtop2/patches/patch-am44
-rw-r--r--sysutils/libgtop2/patches/patch-an19
-rw-r--r--sysutils/libgtop2/patches/patch-ao32
-rw-r--r--sysutils/libgtop2/patches/patch-ap69
-rw-r--r--sysutils/libgtop2/patches/patch-bi35
18 files changed, 725 insertions, 81 deletions
diff --git a/sysutils/libgtop2/distinfo b/sysutils/libgtop2/distinfo
index ede546361dd..66fd6a73be4 100644
--- a/sysutils/libgtop2/distinfo
+++ b/sysutils/libgtop2/distinfo
@@ -1,12 +1,24 @@
-$NetBSD: distinfo,v 1.17 2006/02/08 18:36:41 drochner Exp $
+$NetBSD: distinfo,v 1.18 2006/02/28 23:48:11 joerg Exp $
SHA1 (libgtop-2.12.2.tar.bz2) = b8dc4c1abf3771ea3a088c1216530bb66b002242
RMD160 (libgtop-2.12.2.tar.bz2) = b58186960bd1bca014b3e886105dd22f8c8add4d
Size (libgtop-2.12.2.tar.bz2) = 623479 bytes
-SHA1 (patch-aa) = 94c3affb12ad78aa5020d81963f7898b38e3ef72
-SHA1 (patch-ab) = 55f4c875e4886194cba25874ab042da8e17261c7
-SHA1 (patch-ac) = dea1b6fba42d77a4fe6b2e9269cdab0521d3a305
-SHA1 (patch-ad) = c707545313bd4382825cedde30032f9083003823
+SHA1 (patch-aa) = 21cb73dc166780ddbff4c1d67864b9514e5fbcff
+SHA1 (patch-ab) = ca996f46f79781ce5e8270526663689b137c039f
+SHA1 (patch-ac) = c645307376eddb5c469ab00bd7ec8217feb3e2d5
+SHA1 (patch-ad) = c693dda2eef870d625d78da8f4e977613358314e
+SHA1 (patch-ae) = 035419a4e8a505c672f727c843dbd977acd8ce35
+SHA1 (patch-af) = 520dbdec4a8cba6e82b08c169d97c3caebacd419
+SHA1 (patch-ag) = 74d20bdc56224ae553935cc81ce47504e98701fe
+SHA1 (patch-ah) = 496c67e6de00ec105cf292f5e44a244b852db51b
+SHA1 (patch-ai) = 57d891785a45ec532757a48e77adafec091f3953
+SHA1 (patch-aj) = c244b5c60e61594c3d2c0bc95e05e12ad68938db
+SHA1 (patch-ak) = 0a29c6b7daf1ae34b528dbb2535d05009ad61b84
+SHA1 (patch-al) = d214415937d2c227ad1bcb1c14b9ddc001ad7cb4
+SHA1 (patch-am) = 2e10fd8096449ebc3428ef493e1ae4fe61a98e00
+SHA1 (patch-an) = 57a79bddc3f0e8237b72486aa8f8906f318ca38d
+SHA1 (patch-ao) = 72aa455cbc10afc6a744fd0684ec2d7a2e2c19c7
+SHA1 (patch-ap) = 1b842a59b821b2703b68935f59a65ffb6db3a68f
SHA1 (patch-ba) = ebe5f9a5148ff72ae978934b259e63ce15f2d4c8
SHA1 (patch-bb) = 2e98f16668f74b64848f54db57037289623ed3f2
SHA1 (patch-bc) = a48255606b5c340a20d01cc7f4e2c1e821d9d629
@@ -15,5 +27,4 @@ SHA1 (patch-be) = ba1b688ea04f41a88b5d65b8af90927843619c0f
SHA1 (patch-bf) = 1cf732d7ad22fbf34aa3511e77d17cacedbc810f
SHA1 (patch-bg) = 330de57b732550a92b4e077ad8e850acf7e0e24d
SHA1 (patch-bh) = afdf0dec92984528efd181a24d3ef8f3eb383173
-SHA1 (patch-bi) = 56ec02e230f0c4401b95ce728d63a3d0798971e8
SHA1 (patch-bj) = 48c46dec8d1f8ed35e452b66f3a5283a6a8f521f
diff --git a/sysutils/libgtop2/patches/patch-aa b/sysutils/libgtop2/patches/patch-aa
index e01f5b9b9e6..becc9723690 100644
--- a/sysutils/libgtop2/patches/patch-aa
+++ b/sysutils/libgtop2/patches/patch-aa
@@ -1,8 +1,13 @@
-$NetBSD: patch-aa,v 1.3 2005/10/12 21:49:39 jmmv Exp $
+$NetBSD: patch-aa,v 1.4 2006/02/28 23:48:11 joerg Exp $
---- configure.orig 2005-09-04 17:54:58.000000000 +0200
+--- configure.orig 2005-11-29 10:49:14.000000000 +0000
+++ configure
-@@ -20141,13 +20141,13 @@ echo $ECHO_N "checking for libgtop sysde
+@@ -20691,17 +20691,17 @@ echo $ECHO_N "checking for libgtop sysde
+ libgtop_have_sysinfo=yes
+ libgtop_need_server=no
+ ;;
+- freebsd*|netbsd*|openbsd*|bsdi*)
++ freebsd*|netbsd*|openbsd*|bsdi*|dragonfly*)
libgtop_sysdeps_dir=freebsd
libgtop_use_machine_h=yes
libgtop_need_server=yes
@@ -18,17 +23,48 @@ $NetBSD: patch-aa,v 1.3 2005/10/12 21:49:39 jmmv Exp $
;;
aix*)
libgtop_sysdeps_dir=aix
-@@ -23761,6 +23761,78 @@ fi
- esac
+@@ -20749,7 +20749,7 @@ echo "${ECHO_T}$libgtop_sysdeps_dir" >&6
+
+ case "$host_os" in
+- *bsd*)
++ *bsd*|dragonfly*)
-+echo "$as_me:$LINENO: checking for kvm_open in -lkvm" >&5
-+echo $ECHO_N "checking for kvm_open in -lkvm... $ECHO_C" >&6
-+if test "${ac_cv_lib_mach_kvm_open+set}" = set; then
+ for ac_header in net/if_var.h
+ do
+@@ -20921,7 +20921,9 @@ cat >>conftest.$ac_ext <<_ACEOF
+ #include <net/netisr.h>
+ #include <net/route.h>
+
+-#if defined(__FreeBSD__) || defined(__NetBSD__)
++#if defined(__DragonFly__)
++#include <net/sppp/if_sppp.h>
++#elif defined(__FreeBSD__) || defined(__NetBSD__)
+ #include <net/if_sppp.h>
+ #else
+ #include <i4b/sppp/if_sppp.h>
+@@ -20995,7 +20997,9 @@ cat >>conftest.$ac_ext <<_ACEOF
+ #include <net/netisr.h>
+ #include <net/route.h>
+
+-#if defined(__FreeBSD__) || defined(__NetBSD__)
++#if defined(__DragonFly__)
++#include <net/sppp/if_sppp.h>
++#elif defined(__FreeBSD__) || defined(__NetBSD__)
+ #include <net/if_sppp.h>
+ #else
+ #include <i4b/sppp/if_sppp.h>
+@@ -24342,6 +24346,73 @@ fi
+ ;;
+ esac
+
++echo "$as_me:$LINENO: checking for kinfo_get_sched_hz in -lkinfo" >&5
++echo $ECHO_N "checking for kinfo_get_sched_hz in -lkinfo... $ECHO_C" >&6
++if test "${ac_cv_lib_kinfo_kinfo_get_sched_gz+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
-+LIBS="-lkvm $LIBS"
++LIBS="-lkinfo $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
@@ -42,11 +78,11 @@ $NetBSD: patch-aa,v 1.3 2005/10/12 21:49:39 jmmv Exp $
+#endif
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
-+char kvm_open ();
++char kinfo_get_sched_hz ();
+int
+main ()
+{
-+kvm_open ();
++kinfo_get_sched_hz ();
+ ;
+ return 0;
+}
@@ -72,32 +108,36 @@ $NetBSD: patch-aa,v 1.3 2005/10/12 21:49:39 jmmv Exp $
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
-+ ac_cv_lib_mach_kvm_open=yes
++ ac_cv_lib_kinfo_kinfo_get_sched_hz=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
-+ac_cv_lib_mach_kvm_open=no
++ac_cv_lib_kinfo_kinfo_get_sched_hz=no
+fi
+rm -f conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
-+echo "$as_me:$LINENO: result: $ac_cv_lib_mach_kvm_open" >&5
-+echo "${ECHO_T}$ac_cv_lib_mach_kvm_open" >&6
-+if test $ac_cv_lib_mach_kvm_open = yes; then
-+ cat >>confdefs.h <<_ACEOF
-+#define HAVE_LIBMACH 1
-+_ACEOF
-+
-+ KVM_LIBS="-lkvm $KVM_LIBS"
++echo "$as_me:$LINENO: result: $ac_cv_lib_kinfo_kinfo_get_sched_hz" >&5
++echo "${ECHO_T}$ac_cv_lib_kinfo_kinfo_get_sched_hz" >&6
++if test $ac_cv_lib_kinfo_kinfo_get_sched_hz = yes; then
+
++ LIBS="-lkinfo -lkvm $LIBS" # we need kvm as well
+fi
-+
+
echo "$as_me:$LINENO: checking for vm_statistics in -lmach" >&5
echo $ECHO_N "checking for vm_statistics in -lmach... $ECHO_C" >&6
- if test "${ac_cv_lib_mach_vm_statistics+set}" = set; then
-@@ -30106,7 +30178,7 @@ cat >>conftest.$ac_ext <<_ACEOF
+@@ -30043,7 +30114,7 @@ if test x$cross_compiling = xyes ; then
+ sunos*)
+ fu_cv_sys_stat_statfs4=yes
+ ;;
+- freebsd*)
++ freebsd* | dragonfly*)
+ fu_cv_sys_stat_statfs2_bsize=yes
+ ;;
+ osf*)
+@@ -30688,7 +30759,7 @@ cat >>conftest.$ac_ext <<_ACEOF
_ACEOF
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
@@ -106,11 +146,3 @@ $NetBSD: patch-aa,v 1.3 2005/10/12 21:49:39 jmmv Exp $
ok=yes
fi
rm -f conftest*
-@@ -31512,6 +31584,7 @@ s,@ECHO_C@,$ECHO_C,;t t
- s,@ECHO_N@,$ECHO_N,;t t
- s,@ECHO_T@,$ECHO_T,;t t
- s,@LIBS@,$LIBS,;t t
-+s,@KVM_LIBS@,$KVM_LIBS,;t t
- s,@build@,$build,;t t
- s,@build_cpu@,$build_cpu,;t t
- s,@build_vendor@,$build_vendor,;t t
diff --git a/sysutils/libgtop2/patches/patch-ab b/sysutils/libgtop2/patches/patch-ab
index b347ce45d04..d85ee40c44b 100644
--- a/sysutils/libgtop2/patches/patch-ab
+++ b/sysutils/libgtop2/patches/patch-ab
@@ -1,8 +1,17 @@
-$NetBSD: patch-ab,v 1.2 2005/03/22 16:03:37 jmmv Exp $
+$NetBSD: patch-ab,v 1.3 2006/02/28 23:48:11 joerg Exp $
---- sysdeps/freebsd/proctime.c.orig 2005-02-23 09:20:45.000000000 +0100
+--- sysdeps/freebsd/proctime.c.orig 2005-02-23 08:20:45.000000000 +0000
+++ sysdeps/freebsd/proctime.c
-@@ -137,11 +137,6 @@ glibtop_get_proc_time_p (glibtop *server
+@@ -57,7 +57,7 @@ glibtop_init_proc_time_p (glibtop *serve
+ * system, and interrupt time usage.
+ */
+
+-#ifndef __FreeBSD__
++#if !defined(__FreeBSD__) && !defined(__DragonFly__)
+
+ #ifndef __FreeBSD__
+ static void
+@@ -137,21 +137,20 @@ glibtop_get_proc_time_p (glibtop *server
#if (defined(__NetBSD__) && (__NetBSD_Version__ >= 104000000))
if (server->sysdeps.proc_time == 0)
return;
@@ -14,3 +23,72 @@ $NetBSD: patch-ab,v 1.2 2005/03/22 16:03:37 jmmv Exp $
#endif
/* Get the process information */
+ pinfo = kvm_getprocs (server->machine.kd, KERN_PROC_PID, pid, &count);
+- if ((pinfo == NULL) || (count != 1))
+- glibtop_error_io_r (server, "kvm_getprocs (%d)", pid);
++ if ((pinfo == NULL) || (count != 1)) {
++ glibtop_warn_io_r (server, "kvm_getprocs (%d)", pid);
++ return;
++ }
+
+ #if defined(__FreeBSD__) && (__FreeBSD_version >= 500013)
+ buf->rtime = pinfo [0].ki_runtime;
+-#elif (defined __FreeBSD__) && (__FreeBSD_version <= 500013)
++#elif defined(__DragonFly__)
++ buf->rtime = pinfo[0].kp_eproc.e_uticks / 100000;
++#elif (defined __FreeBSD__) && (__FreeBSD_version <= 500013))
+ buf->rtime = pinfo [0].kp_proc.p_runtime;
+ #else
+ buf->rtime = tv2sec (pinfo [0].kp_proc.p_rtime);
+@@ -193,18 +192,26 @@ glibtop_get_proc_time_p (glibtop *server
+ if ((pinfo [0].ki_flag & P_INMEM)) {
+ #endif
+ buf->utime = pinfo [0].ki_runtime;
+- buf->stime = 0; /* XXX */
++ buf->stime = tv2sec (pinfo [0].ki_rusage.ru_stime);
+ buf->cutime = tv2sec (pinfo [0].ki_childtime);
+- buf->cstime = 0; /* XXX */
++#if __FreeBSD_version >= 600000
++ buf->cstime = tv2sec (pinfo [0].ki_rusage_ch.ru_stime);
++#else
++ buf->cstime = 0;
++#endif
+ buf->start_time = tv2sec (pinfo [0].ki_start);
+ buf->flags = _glibtop_sysdeps_proc_time_user;
+ }
+
+ glibtop_suid_enter (server);
+
+-#elif (__FreeBSD_version <= 500013)
++#elif defined(__DragonFly__) || (defined(__FreeBSD__) || (__FreeBSD_version <= 500013))
+
++#if defined(__DragonFly__)
++ if ((pinfo [0].kp_proc.p_flag & P_SWAPPEDOUT) == 0 &&
++#else
+ if ((pinfo [0].kp_proc.p_flag & P_INMEM) &&
++#endif
+ kvm_uread (server->machine.kd, &(pinfo [0]).kp_proc,
+ (unsigned long) &u_addr->u_stats,
+ (char *) &pstats, sizeof (pstats)) == sizeof (pstats))
+@@ -214,13 +221,21 @@ glibtop_get_proc_time_p (glibtop *server
+ buf->stime = tv2sec (pinfo[0].kp_eproc.e_stats.p_ru.ru_stime);
+ buf->cutime = tv2sec (pinfo[0].kp_eproc.e_stats.p_cru.ru_utime);
+ buf->cstime = tv2sec (pinfo[0].kp_eproc.e_stats.p_cru.ru_stime);
++#if defined(__DragonFly__)
++ buf->start_time = tv2sec (pinfo[0].kp_thread.td_start);
++#else
+ buf->start_time = tv2sec (pinfo[0].kp_eproc.e_stats.p_start);
++#endif
+ buf->flags = _glibtop_sysdeps_proc_time_user;
+ glibtop_suid_leave (server);
+ }
+ #else
+
++#if defined(__DragonFly__)
++ if ((pinfo [0].kp_proc.p_flag & P_SWAPPEDOUT) == 0 &&
++#else
+ if ((pinfo [0].kp_proc.p_flag & P_INMEM) &&
++#endif
+ kvm_uread (server->machine.kd, &(pinfo [0]).kp_proc,
+ (unsigned long) &u_addr->u_stats,
+ (char *) &pstats, sizeof (pstats)) == sizeof (pstats))
diff --git a/sysutils/libgtop2/patches/patch-ac b/sysutils/libgtop2/patches/patch-ac
index 17d6de48ab1..8dbdc008619 100644
--- a/sysutils/libgtop2/patches/patch-ac
+++ b/sysutils/libgtop2/patches/patch-ac
@@ -1,12 +1,21 @@
-$NetBSD: patch-ac,v 1.1 2004/05/04 23:36:16 minskim Exp $
+$NetBSD: patch-ac,v 1.2 2006/02/28 23:48:11 joerg Exp $
--- sysdeps/common/mountlist.c.orig 2003-10-20 09:29:03.000000000 -0500
+++ sysdeps/common/mountlist.c
-@@ -334,7 +334,11 @@ read_filesystem_list (need_fs_type, all_
+@@ -106,7 +106,7 @@ static struct mount_entry *read_filesyst
+ #endif
+
+
+-#if defined (MOUNTED_GETMNTINFO) && !defined (__NetBSD__) && !defined (__OpenBSD__) && !defined(__FreeBSD__)
++#if defined (MOUNTED_GETMNTINFO) && !defined (__NetBSD__) && !defined (__OpenBSD__) && !defined(__FreeBSD__) && !defined(__DragonFly__)
+ static const char *
+ fstype_to_string (short t)
+ {
+@@ -298,7 +298,11 @@ read_filesystem_list (void)
#ifdef MOUNTED_GETMNTINFO /* 4.4BSD. */
{
-+#ifdef STAT_STATVFS
++#if defined(STAT_STATVFS) && !defined(__DragonFly__)
+ struct statvfs *fsp;
+#else
struct statfs *fsp;
@@ -14,3 +23,12 @@ $NetBSD: patch-ac,v 1.1 2004/05/04 23:36:16 minskim Exp $
int entries;
entries = getmntinfo (&fsp, MNT_NOWAIT);
+@@ -309,7 +313,7 @@ read_filesystem_list (void)
+ 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);
+-#if defined(__NetBSD__) || defined(__OpenBSD__) || defined(__FreeBSD__)
++#if defined(__NetBSD__) || defined(__OpenBSD__) || defined(__FreeBSD__) || defined(__DragonFly__)
+ me->me_type = g_strdup (fsp->f_fstypename);
+ #else
+ me->me_type = g_strdup (fstype_to_string (fsp->f_type));
diff --git a/sysutils/libgtop2/patches/patch-ad b/sysutils/libgtop2/patches/patch-ad
index faf3f1d3f13..111a33f14cb 100644
--- a/sysutils/libgtop2/patches/patch-ad
+++ b/sysutils/libgtop2/patches/patch-ad
@@ -1,6 +1,6 @@
-$NetBSD: patch-ad,v 1.2 2005/03/27 11:18:37 jmmv Exp $
+$NetBSD: patch-ad,v 1.3 2006/02/28 23:48:11 joerg Exp $
---- sysdeps/freebsd/fsusage.c.orig 2005-02-28 09:54:41.000000000 +0100
+--- sysdeps/freebsd/fsusage.c.orig 2005-02-28 08:54:41.000000000 +0000
+++ sysdeps/freebsd/fsusage.c
@@ -1,3 +1,7 @@
+#ifdef HAVE_CONFIG_H
diff --git a/sysutils/libgtop2/patches/patch-ae b/sysutils/libgtop2/patches/patch-ae
new file mode 100644
index 00000000000..f3025d2fe3d
--- /dev/null
+++ b/sysutils/libgtop2/patches/patch-ae
@@ -0,0 +1,87 @@
+$NetBSD: patch-ae,v 1.1 2006/02/28 23:48:11 joerg Exp $
+
+--- sysdeps/freebsd/cpu.c.orig 2005-07-08 19:49:56.000000000 +0000
++++ sysdeps/freebsd/cpu.c
+@@ -27,16 +27,73 @@
+
+ #include <glibtop_suid.h>
+
+-#ifdef __NetBSD__
+-#include <sys/sched.h>
+-#endif
+-
+ static const unsigned long _glibtop_sysdeps_cpu =
+ (1L << GLIBTOP_CPU_TOTAL) + (1L << GLIBTOP_CPU_USER) +
+ (1L << GLIBTOP_CPU_NICE) + (1L << GLIBTOP_CPU_SYS) +
+ (1L << GLIBTOP_CPU_IDLE) + (1L << GLIBTOP_CPU_FREQUENCY) +
+ (1L << GLIBTOP_CPU_IOWAIT);
+
++#if defined(__DragonFly__)
++#include <kinfo.h>
++
++/* Init function. */
++
++void
++glibtop_init_cpu_p (glibtop *server)
++{
++ server->sysdeps.cpu = _glibtop_sysdeps_cpu;
++}
++
++/* Provides information about cpu usage. */
++void
++glibtop_get_cpu_p (glibtop *server, glibtop_cpu *buf)
++{
++ struct kinfo_cputime cp_time;
++ int hz;
++
++ glibtop_init_p (server, (1L << GLIBTOP_SYSDEPS_CPU), 0);
++
++ memset (buf, 0, sizeof (glibtop_cpu));
++
++ /* If this fails, the module was not setuped. */
++ if (server->sysdeps.cpu == 0)
++ return;
++
++ if (kinfo_get_sched_cputime(&cp_time)) {
++ glibtop_warn_io_r (server, "kinfo_get_sched_cputime");
++ return;
++ }
++ if (kinfo_get_sched_hz(&hz)) {
++ glibtop_warn_io_r (server, "kinfo_get_sched hz");
++ return;
++ }
++ /* set user time */
++ buf->user = cp_time.cp_user;
++ /* set nice time */
++ buf->nice = cp_time.cp_nice;
++ /* set sys time */
++ buf->sys = cp_time.cp_sys;
++ /* set idle time */
++ buf->idle = cp_time.cp_idle;
++ /* set iowait (really just interrupt) time */
++ buf->iowait = cp_time.cp_idle;
++
++ /* set frequency */
++ buf->frequency = hz;
++ /* set total */
++ buf->total = cp_time.cp_user + cp_time.cp_sys + cp_time.cp_nice +
++ cp_time.cp_idle;
++
++ /* Set the flags last. */
++ buf->flags = _glibtop_sysdeps_cpu;
++}
++
++#else
++
++#ifdef __NetBSD__
++#include <sys/sched.h>
++#endif
++
+ #ifndef KERN_CP_TIME
+ /* nlist structure for kernel access */
+ static struct nlist nlst [] = {
+@@ -141,3 +198,4 @@ glibtop_get_cpu_p (glibtop *server, glib
+ /* Set the flags last. */
+ buf->flags = _glibtop_sysdeps_cpu;
+ }
++#endif
diff --git a/sysutils/libgtop2/patches/patch-af b/sysutils/libgtop2/patches/patch-af
new file mode 100644
index 00000000000..3756987754f
--- /dev/null
+++ b/sysutils/libgtop2/patches/patch-af
@@ -0,0 +1,14 @@
+$NetBSD: patch-af,v 1.1 2006/02/28 23:48:11 joerg Exp $
+
+--- sysdeps/freebsd/glibtop_machine.h.orig 2005-07-08 19:00:00.000000000 +0000
++++ sysdeps/freebsd/glibtop_machine.h
+@@ -27,7 +27,9 @@
+ #include <sys/param.h>
+ #include <nlist.h>
+ #include <kvm.h>
++#ifndef __DragonFly__
+ #include <sys/dkstat.h>
++#endif
+ #include <time.h>
+ #include <sys/user.h>
+ #include <sys/types.h>
diff --git a/sysutils/libgtop2/patches/patch-ag b/sysutils/libgtop2/patches/patch-ag
new file mode 100644
index 00000000000..bd78a9a2ab0
--- /dev/null
+++ b/sysutils/libgtop2/patches/patch-ag
@@ -0,0 +1,141 @@
+$NetBSD: patch-ag,v 1.1 2006/02/28 23:48:11 joerg Exp $
+
+--- sysdeps/freebsd/mem.c.orig 2004-08-28 20:55:37.000000000 +0000
++++ sysdeps/freebsd/mem.c
+@@ -27,6 +27,10 @@
+
+ #include <glibtop_suid.h>
+
++#if defined(__DragonFly__)
++#include <kinfo.h>
++#endif
++
+ #include <sys/sysctl.h>
+ #include <sys/vmmeter.h>
+ #if defined(__NetBSD__) && (__NetBSD_Version__ < 105020000)
+@@ -57,6 +61,7 @@ static int pageshift; /* log base 2 of
+ /* define pagetok in terms of pageshift */
+ #define pagetok(size) ((size) << pageshift)
+
++#if !defined(__DragonFly__)
+ /* nlist structure for kernel access */
+ static struct nlist nlst [] = {
+ #if defined(__NetBSD__) && (__NetBSD_Version__ >= 104000000) || defined(__OpenBSD__)
+@@ -74,6 +79,7 @@ static struct nlist nlst [] = {
+ { 0 }
+ #endif
+ };
++#endif
+
+ /* MIB array for sysctl */
+ #ifdef __bsdi__
+@@ -93,10 +99,12 @@ glibtop_init_mem_p (glibtop *server)
+ {
+ register int pagesize;
+
++#if !defined(__DragonFly__)
+ if (kvm_nlist (server->machine.kd, nlst) < 0) {
+ glibtop_warn_io_r (server, "kvm_nlist (mem)");
+ return;
+ }
++#endif
+
+ /* get the page size with "getpagesize" and calculate pageshift
+ * from it */
+@@ -121,6 +129,9 @@ glibtop_get_mem_p (glibtop *server, glib
+ #if defined(__NetBSD__) && (__NetBSD_Version__ >= 104000000) || defined(__OpenBSD__)
+ struct uvmexp uvmexp;
+ size_t length_uvmexp;
++#elif defined(__DragonFly__)
++ struct vmstats vms;
++ size_t vms_size;
+ #else
+ struct vmmeter vmm;
+ #endif
+@@ -141,11 +152,19 @@ glibtop_get_mem_p (glibtop *server, glib
+ * here.] */
+
+ /* Get the data from sysctl */
++#if defined(__DragonFly__)
++ length_vmt = sizeof (vmt);
++ if (sysctlbyname ("vm.vmtotal", &vmt, &length_vmt, NULL, 0)) {
++ glibtop_warn_io_r (server, "sysctl (vmt)");
++ return;
++ }
++#else
+ length_vmt = sizeof (vmt);
+ if (sysctl (mib, 2, &vmt, &length_vmt, NULL, 0)) {
+ glibtop_warn_io_r (server, "sysctl (vmt)");
+ return;
+ }
++#endif
+
+ #if defined(__NetBSD__) && (__NetBSD_Version__ >= 104000000) || defined(__OpenBSD__)
+ length_uvmexp = sizeof (uvmexp);
+@@ -153,6 +172,12 @@ glibtop_get_mem_p (glibtop *server, glib
+ glibtop_warn_io_r (server, "sysctl (uvmexp)");
+ return;
+ }
++#elif defined(__DragonFly__)
++ vms_size = sizeof(vms);
++ if (sysctlbyname("vm.vmstats", &vms, &vms_size, NULL, 0)) {
++ glibtop_warn_io_r (server, "kvm_read (vms)");
++ return;
++ }
+ #else
+ /* Get the data from kvm_* */
+ if (kvm_read (server->machine.kd, nlst[1].n_value,
+@@ -162,15 +187,24 @@ glibtop_get_mem_p (glibtop *server, glib
+ }
+ #endif
+
++#if defined(__DragonFly__)
++ if (kinfo_get_vfs_bufspace(&bufspace)) {
++ glibtop_warn_io_r (server, "kinfo_get_vfs_bufspace");
++ return;
++ }
++#else
+ if (kvm_read (server->machine.kd, nlst[0].n_value,
+ &bufspace, sizeof (bufspace)) != sizeof (bufspace)) {
+ glibtop_warn_io_r (server, "kvm_read (bufspace)");
+ return;
+ }
++#endif
+
+ /* convert memory stats to Kbytes */
+
+-#if defined(__FreeBSD__)
++#if defined(__DragonFly__)
++ v_total_count = vms.v_page_count;
++#elif defined(__FreeBSD__)
+ v_total_count = vmm.v_page_count;
+ #else
+ #if defined(__NetBSD__) && (__NetBSD_Version__ >= 104000000) || defined(__OpenBSD__)
+@@ -188,6 +222,9 @@ glibtop_get_mem_p (glibtop *server, glib
+ #if defined(__NetBSD__) && (__NetBSD_Version__ >= 104000000) || defined(__OpenBSD__)
+ v_used_count = uvmexp.active + uvmexp.inactive;
+ v_free_count = uvmexp.free;
++#elif defined(__DragonFly__)
++ v_used_count = vms.v_active_count + vms.v_inactive_count;
++ v_free_count = vms.v_free_count;
+ #else
+ v_used_count = vmm.v_active_count + vmm.v_inactive_count;
+ v_free_count = vmm.v_free_count;
+@@ -197,12 +234,16 @@ glibtop_get_mem_p (glibtop *server, glib
+ buf->used = (guint64) pagetok (v_used_count) << LOG1024;
+ buf->free = (guint64) pagetok (v_free_count) << LOG1024;
+
+-#ifdef __FreeBSD__
++#if defined(__DragonFly__)
++ buf->cached = (guint64) pagetok (vms.v_cache_count) << LOG1024;
++#elif defined(__FreeBSD__)
+ buf->cached = (guint64) pagetok (vmm.v_cache_count) << LOG1024;
+ #endif
+
+ #if defined(__NetBSD__) && (__NetBSD_Version__ >= 104000000) || defined(__OpenBSD__)
+ buf->locked = (guint64) pagetok (uvmexp.wired) << LOG1024;
++#elif defined(__DragonFly__)
++ buf->locked = (guint64) pagetok (vms.v_wire_count) << LOG1024;
+ #else
+ buf->locked = (guint64) pagetok (vmm.v_wire_count) << LOG1024;
+ #endif
diff --git a/sysutils/libgtop2/patches/patch-ah b/sysutils/libgtop2/patches/patch-ah
new file mode 100644
index 00000000000..1302f548b49
--- /dev/null
+++ b/sysutils/libgtop2/patches/patch-ah
@@ -0,0 +1,12 @@
+$NetBSD: patch-ah,v 1.1 2006/02/28 23:48:12 joerg Exp $
+
+--- sysdeps/freebsd/open.c.orig 2006-02-24 17:02:00.000000000 +0000
++++ sysdeps/freebsd/open.c
+@@ -22,6 +22,7 @@
+ */
+
+ #include <glibtop.h>
++#include <glibtop/error.h>
+ #include <glibtop/open.h>
+ #include <glibtop/init_hooks.h>
+
diff --git a/sysutils/libgtop2/patches/patch-ai b/sysutils/libgtop2/patches/patch-ai
new file mode 100644
index 00000000000..f17c085a48a
--- /dev/null
+++ b/sysutils/libgtop2/patches/patch-ai
@@ -0,0 +1,46 @@
+$NetBSD: patch-ai,v 1.1 2006/02/28 23:48:12 joerg Exp $
+
+--- sysdeps/freebsd/prockernel.c.orig 2004-09-24 22:49:06.000000000 +0000
++++ sysdeps/freebsd/prockernel.c
+@@ -35,7 +35,7 @@
+ #include <sys/user.h>
+ #endif
+ #if !defined(__bsdi__) && !(defined(__FreeBSD__) && defined(__alpha__)) && \
+- !defined(__NetBSD__)
++ !defined(__NetBSD__) && !defined(__DragonFly__)
+ #include <machine/pcb.h>
+ #endif
+
+@@ -93,7 +93,7 @@ glibtop_get_proc_kernel_p (glibtop *serv
+ pid_t pid)
+ {
+ struct kinfo_proc *pinfo;
+-#ifndef __FreeBSD__
++#if !defined(__FreeBSD__) && !defined(__DragonFly__)
+ struct user *u_addr = (struct user *)USRSTACK;
+ struct pstats pstats;
+ struct pcb pcb;
+@@ -126,9 +126,14 @@ glibtop_get_proc_kernel_p (glibtop *serv
+
+ #else
+
++#ifdef __DragonFly__
++#define PROC_WCHAN kp_thread.td_wchan
++#define PROC_WMESG kp_thread.td_wmesg
++#else
+ #define PROC_WCHAN kp_proc.p_wchan
+ #define PROC_WMESG kp_proc.p_wmesg
+ #define PROC_WMESG kp_eproc.e_wmesg
++#endif
+
+ #endif
+
+@@ -146,7 +151,7 @@ glibtop_get_proc_kernel_p (glibtop *serv
+ }
+ #endif
+
+-#ifndef __FreeBSD__
++#if !defined(__FreeBSD__) && !defined(__DragonFly__)
+
+ /* Taken from `saveuser ()' in `/usr/src/bin/ps/ps.c'. */
+
diff --git a/sysutils/libgtop2/patches/patch-aj b/sysutils/libgtop2/patches/patch-aj
new file mode 100644
index 00000000000..8d3f28132e4
--- /dev/null
+++ b/sysutils/libgtop2/patches/patch-aj
@@ -0,0 +1,16 @@
+$NetBSD: patch-aj,v 1.1 2006/02/28 23:48:12 joerg Exp $
+
+--- sysdeps/freebsd/proclist.c.orig 2004-09-23 22:44:19.000000000 +0000
++++ sysdeps/freebsd/proclist.c
+@@ -92,7 +92,11 @@ glibtop_get_proclist_p (glibtop *server,
+
+ #else
+ #define PROC_STAT kp_proc.p_stat
++#ifdef __DragonFly__
++#define PROC_RUID kp_eproc.e_ucred.cr_ruid
++#else
+ #define PROC_RUID kp_eproc.e_pcred.p_ruid
++#endif
+ #define PROC_PID kp_proc.p_pid
+
+ #endif
diff --git a/sysutils/libgtop2/patches/patch-ak b/sysutils/libgtop2/patches/patch-ak
new file mode 100644
index 00000000000..ef22a08f960
--- /dev/null
+++ b/sysutils/libgtop2/patches/patch-ak
@@ -0,0 +1,45 @@
+$NetBSD: patch-ak,v 1.1 2006/02/28 23:48:12 joerg Exp $
+
+--- sysdeps/freebsd/procmap.c.orig 2005-02-23 08:20:45.000000000 +0000
++++ sysdeps/freebsd/procmap.c
+@@ -40,7 +40,7 @@
+ #else
+ #include <vm/vm_object.h>
+ #include <vm/vm_map.h>
+-#if (__FreeBSD_version >= 400011)
++#if defined(__DragonFly__) || (defined(__FreeBSD__) && __FreeBSD_version >= 400011)
+ #include <vm/vm.h>
+ #else
+ #include <vm/vm_prot.h>
+@@ -108,9 +108,9 @@ glibtop_get_proc_map_p (glibtop *server,
+ struct vm_object object;
+ #endif
+ glibtop_map_entry *maps;
+-#if defined __FreeBSD__
++#if defined(__FreeBSD__) || defined(__DragonFly__)
+ struct vnode vnode;
+-#if __FreeBSD_version < 500039
++#if (defined(__FreeBSD__) && __FreeBSD_version < 500039) || defined(__DragonFly__)
+ struct inode inode;
+ #endif
+ #endif
+@@ -178,8 +178,8 @@ glibtop_get_proc_map_p (glibtop *server,
+ update = 1;
+ }
+
+-#ifdef __FreeBSD__
+-#if __FreeBSD__ >= 4
++#if defined(__FreeBSD__) || defined(__DragonFly__)
++#if (defined(__FreeBSD__) && __FreeBSD__ >= 4) || defined(__DragonFly__)
+ if (entry.eflags & (MAP_ENTRY_IS_SUB_MAP))
+ continue;
+ #else
+@@ -255,7 +255,7 @@ glibtop_get_proc_map_p (glibtop *server,
+ #endif
+
+
+-#ifdef __FreeBSD__
++#if defined(__FreeBSD__) || defined(__DragonFly__)
+ /* If the object is of type vnode, add its size */
+
+ if (object.type != OBJT_VNODE)
diff --git a/sysutils/libgtop2/patches/patch-al b/sysutils/libgtop2/patches/patch-al
new file mode 100644
index 00000000000..3214d3df34f
--- /dev/null
+++ b/sysutils/libgtop2/patches/patch-al
@@ -0,0 +1,15 @@
+$NetBSD: patch-al,v 1.3 2006/02/28 23:48:12 joerg Exp $
+
+--- sysdeps/freebsd/procmem.c.orig 2005-03-01 23:03:57.000000000 +0000
++++ sysdeps/freebsd/procmem.c
+@@ -213,8 +213,8 @@ glibtop_get_proc_mem_p (glibtop *server,
+ return;
+ }
+
+-#ifdef __FreeBSD__
+-#if __FreeBSD__ >= 4
++#if defined(__FreeBSD__) || defined(__DragonFly__)
++#if defined(__DragonFly__) || (defined(__FreeBSD__) && __FreeBSD__ >= 4)
+ if (entry.eflags & (MAP_ENTRY_IS_SUB_MAP))
+ continue;
+ #else
diff --git a/sysutils/libgtop2/patches/patch-am b/sysutils/libgtop2/patches/patch-am
new file mode 100644
index 00000000000..74634680cc4
--- /dev/null
+++ b/sysutils/libgtop2/patches/patch-am
@@ -0,0 +1,44 @@
+$NetBSD: patch-am,v 1.1 2006/02/28 23:48:12 joerg Exp $
+
+--- sysdeps/freebsd/procsignal.c.orig 2005-07-08 19:25:18.000000000 +0000
++++ sysdeps/freebsd/procsignal.c
+@@ -91,7 +91,8 @@ glibtop_get_proc_signal_p (glibtop *serv
+ #if defined(__NetBSD__) && (__NetBSD_Version__ >= 105150000)
+ buf->signal [0] = pinfo [0].kp_proc.p_sigctx.ps_siglist.__bits[0];
+ #elif (defined(__NetBSD__) && (NSIG > 32)) || \
+- (defined(__FreeBSD__) && (__FreeBSD_version >= 400011))
++ (defined(__FreeBSD__) && (__FreeBSD_version >= 400011)) || \
++ defined(__DragonFly__)
+ buf->signal [0] = pinfo [0].PROC_SIGLIST.__bits[0];
+ #else
+ buf->signal [0] = pinfo [0].kp_proc.p_siglist;
+@@ -103,7 +104,8 @@ glibtop_get_proc_signal_p (glibtop *serv
+ #if defined(__NetBSD__) && (__NetBSD_Version__ >= 105150000)
+ buf->blocked [0] = pinfo [0].kp_proc.p_sigctx.ps_sigmask.__bits[0];
+ #elif (defined(__NetBSD__) && (NSIG > 32)) || \
+- (defined(__FreeBSD__) && (__FreeBSD_version >= 400011))
++ (defined(__FreeBSD__) && (__FreeBSD_version >= 400011)) || \
++ defined(__DragonFly__)
+ buf->blocked [0] = pinfo [0].PROC_SIGMASK.__bits[0];
+ #else
+ buf->blocked [0] = pinfo [0].kp_proc.p_sigmask;
+@@ -115,7 +117,8 @@ glibtop_get_proc_signal_p (glibtop *serv
+ #if defined(__NetBSD__) && (__NetBSD_Version__ >= 105150000)
+ buf->sigignore [0] = pinfo [0].kp_proc.p_sigctx.ps_sigignore.__bits[0];
+ #elif (defined(__NetBSD__) && (NSIG > 32)) || \
+- (defined(__FreeBSD__) && (__FreeBSD_version >= 400011))
++ (defined(__FreeBSD__) && (__FreeBSD_version >= 400011)) || \
++ defined(__DragonFly__)
+ buf->sigignore [0] = pinfo [0].PROC_SIGIGNORE.__bits[0];
+ #else
+ buf->sigignore [0] = pinfo [0].kp_proc.p_sigignore;
+@@ -127,7 +130,8 @@ glibtop_get_proc_signal_p (glibtop *serv
+ #if defined(__NetBSD__) && (__NetBSD_Version__ >= 105150000)
+ buf->sigcatch [0] = pinfo [0].kp_proc.p_sigctx.ps_sigcatch.__bits[0];
+ #elif (defined(__NetBSD__) && (NSIG > 32)) || \
+- (defined(__FreeBSD__) && (__FreeBSD_version >= 400011))
++ (defined(__FreeBSD__) && (__FreeBSD_version >= 400011)) || \
++ defined(__DragonFly__)
+ buf->sigcatch [0] = pinfo [0].PROC_SIGCATCH.__bits[0];
+ #else
+ buf->sigcatch [0] = pinfo [0].kp_proc.p_sigcatch;
diff --git a/sysutils/libgtop2/patches/patch-an b/sysutils/libgtop2/patches/patch-an
new file mode 100644
index 00000000000..9faf88726bb
--- /dev/null
+++ b/sysutils/libgtop2/patches/patch-an
@@ -0,0 +1,19 @@
+$NetBSD: patch-an,v 1.1 2006/02/28 23:48:12 joerg Exp $
+
+--- sysdeps/freebsd/procstate.c.orig 2004-09-24 22:49:06.000000000 +0000
++++ sysdeps/freebsd/procstate.c
+@@ -80,6 +80,14 @@ glibtop_get_proc_state_p (glibtop *serve
+ #define PROC_RGID ki_rgid
+ #define PROC_STAT ki_stat
+
++#elif defined(__DragonFly__)
++#define PROC_COMM kp_thread.td_comm
++#define PROC_SVUID kp_eproc.e_ucred.cr_svuid
++#define PROC_SVGID kp_eproc.e_ucred.cr_svgid
++#define PROC_RUID kp_eproc.e_ucred.cr_ruid
++#define PROC_RGID kp_eproc.e_ucred.cr_rgid
++#define PROC_STAT kp_proc.p_stat
++
+ #else
+ #define PROC_COMM kp_proc.p_comm
+ #define PROC_SVUID kp_eproc.e_pcred.p_svuid
diff --git a/sysutils/libgtop2/patches/patch-ao b/sysutils/libgtop2/patches/patch-ao
new file mode 100644
index 00000000000..00f9475c55c
--- /dev/null
+++ b/sysutils/libgtop2/patches/patch-ao
@@ -0,0 +1,32 @@
+$NetBSD: patch-ao,v 1.1 2006/02/28 23:48:12 joerg Exp $
+
+--- sysdeps/freebsd/procuid.c.orig 2004-09-23 22:44:19.000000000 +0000
++++ sysdeps/freebsd/procuid.c
+@@ -91,8 +91,17 @@ glibtop_get_proc_uid_p (glibtop *server,
+ #else
+ #define PROC_PRIORITY ki_priority
+ #endif
+-#else
++#elif defined(__DragonFly__)
++#define PROC_RUID kp_eproc.e_ucred.cr_ruid
++#define PROC_SVUID kp_eproc.e_ucred.cr_svuid
++#define PROC_RGID kp_eproc.e_ucred.cr_rgid
++#define PROC_SVGID kp_eproc.e_ucred.cr_svgid
++#define PROC_PPID kp_eproc.e_ppid
++#define PROC_PGID kp_eproc.e_pgid
++#define PROC_TPGID kp_eproc.e_tpgid
++#define PROC_NICE kp_proc.p_nice
+
++#else
+ #define PROC_RUID kp_eproc.e_pcred.p_ruid
+ #define PROC_SVUID kp_eproc.e_pcred.p_svuid
+ #define PROC_RGID kp_eproc.e_pcred.p_rgid
+@@ -115,7 +124,7 @@ glibtop_get_proc_uid_p (glibtop *server,
+ buf->tpgid = pinfo [0].PROC_TPGID;
+
+ buf->nice = pinfo [0].PROC_NICE;
+-#if defined(__NetBSD__) && defined(SACTIVE)
++#if defined(__DragonFly__) || (defined(__NetBSD__) && defined(SACTIVE))
+ buf->priority = 0;
+ #else
+ buf->priority = pinfo [0].PROC_PRIORITY;
diff --git a/sysutils/libgtop2/patches/patch-ap b/sysutils/libgtop2/patches/patch-ap
new file mode 100644
index 00000000000..0c74639c754
--- /dev/null
+++ b/sysutils/libgtop2/patches/patch-ap
@@ -0,0 +1,69 @@
+$NetBSD: patch-ap,v 1.1 2006/02/28 23:48:12 joerg Exp $
+
+--- sysdeps/freebsd/swap.c.orig 2004-09-24 22:49:06.000000000 +0000
++++ sysdeps/freebsd/swap.c
+@@ -32,7 +32,10 @@ static const unsigned long _glibtop_sysd
+ (1L << GLIBTOP_SWAP_FREE) + (1L << GLIBTOP_SWAP_PAGEIN) +
+ (1L << GLIBTOP_SWAP_PAGEOUT);
+
+-#if defined(__FreeBSD__) || defined(__bsdi__)
++#if defined(__DragonFly__)
++#include <sys/vmmeter.h>
++
++#elif defined(__FreeBSD__) || defined(__bsdi__)
+
+ #include <sys/conf.h>
+ #ifdef __bsdi__
+@@ -93,8 +96,8 @@ static struct nlist nlst2 [] = {
+ void
+ glibtop_init_swap_p (glibtop *server)
+ {
+-#if defined(__FreeBSD__) || defined(__bsdi__)
+-#if __FreeBSD__ < 4 || defined(__bsdi__)
++#if defined(__DragonFly__) || defined(__FreeBSD__) || defined(__bsdi__)
++#if !defined(__DragonFly__) && (__FreeBSD__ < 4 || defined(__bsdi__))
+ if (kvm_nlist (server->machine.kd, nlst) < 0) {
+ glibtop_warn_io_r (server, "kvm_nlist (swap)");
+ return;
+@@ -129,9 +132,9 @@ glibtop_init_swap_p (glibtop *server)
+ void
+ glibtop_get_swap_p (glibtop *server, glibtop_swap *buf)
+ {
+-#if defined(__FreeBSD__)
++#if defined(__FreeBSD__) || defined(__DragonFly__)
+
+-# if __FreeBSD__ < 4
++# if defined(__FreeBSD__) && __FreeBSD__ < 4
+ char *header;
+ int hlen, nswdev, dmmax;
+ int div, nfree, npfree;
+@@ -193,7 +196,7 @@ glibtop_get_swap_p (glibtop *server, gli
+ buf->pagein = 0;
+ buf->pageout = 0;
+ } else {
+-#ifdef __FreeBSD__
++#if defined(__FreeBSD__) || defined(__DragonFly__)
+ buf->pagein = vmm.v_swappgsin - swappgsin;
+ buf->pageout = vmm.v_swappgsout - swappgsout;
+ #else
+@@ -207,7 +210,7 @@ glibtop_get_swap_p (glibtop *server, gli
+ #endif
+ }
+
+-#ifdef __FreeBSD__
++#if defined(__FreeBSD__) || defined(__DragonFly__)
+ swappgsin = vmm.v_swappgsin;
+ swappgsout = vmm.v_swappgsout;
+ #else
+@@ -220,9 +223,9 @@ glibtop_get_swap_p (glibtop *server, gli
+ #endif
+ #endif
+
+-#if defined(__FreeBSD__)
++#if defined(__FreeBSD__) || defined(__DragonFly__)
+
+-#if __FreeBSD__ < 4
++#if defined(__FreeBSD__) && __FreeBSD__ < 4
+
+ /* Size of largest swap device. */
+
diff --git a/sysutils/libgtop2/patches/patch-bi b/sysutils/libgtop2/patches/patch-bi
deleted file mode 100644
index f86271ad9a8..00000000000
--- a/sysutils/libgtop2/patches/patch-bi
+++ /dev/null
@@ -1,35 +0,0 @@
-$NetBSD: patch-bi,v 1.1 2005/10/12 21:49:39 jmmv Exp $
-
-From FreeBSD's GNOME development repository.
-
---- sysdeps/freebsd/proctime.c.orig Wed Feb 23 03:20:45 2005
-+++ sysdeps/freebsd/proctime.c Tue Aug 2 12:49:38 2005
-@@ -146,8 +146,10 @@ glibtop_get_proc_time_p (glibtop *server
-
- /* Get the process information */
- pinfo = kvm_getprocs (server->machine.kd, KERN_PROC_PID, pid, &count);
-- if ((pinfo == NULL) || (count != 1))
-- glibtop_error_io_r (server, "kvm_getprocs (%d)", pid);
-+ if ((pinfo == NULL) || (count != 1)) {
-+ glibtop_warn_io_r (server, "kvm_getprocs (%d)", pid);
-+ return;
-+ }
-
- #if defined(__FreeBSD__) && (__FreeBSD_version >= 500013)
- buf->rtime = pinfo [0].ki_runtime;
-@@ -193,9 +195,13 @@ glibtop_get_proc_time_p (glibtop *server
- if ((pinfo [0].ki_flag & P_INMEM)) {
- #endif
- buf->utime = pinfo [0].ki_runtime;
-- buf->stime = 0; /* XXX */
-+ buf->stime = tv2sec (pinfo [0].ki_rusage.ru_stime);
- buf->cutime = tv2sec (pinfo [0].ki_childtime);
-- buf->cstime = 0; /* XXX */
-+#if __FreeBSD_version >= 600000
-+ buf->cstime = tv2sec (pinfo [0].ki_rusage_ch.ru_stime);
-+#else
-+ buf->cstime = 0;
-+#endif
- buf->start_time = tv2sec (pinfo [0].ki_start);
- buf->flags = _glibtop_sysdeps_proc_time_user;
- }