summaryrefslogtreecommitdiffstats
path: root/devel
diff options
context:
space:
mode:
authormarcus <marcus@df743ca5-7f9a-e211-a948-0013205c9059>2004-07-21 10:14:29 +0800
committermarcus <marcus@df743ca5-7f9a-e211-a948-0013205c9059>2004-07-21 10:14:29 +0800
commitbfae4617aacee0a9fd343f35aa7daa53c179edf3 (patch)
tree179a827ad08d6c7a71ee0a2ed54817a78f827d6c /devel
parent09523f04922aa4e683e8c442f599b3e90dcd8502 (diff)
downloadmarcuscom-ports-bfae4617aacee0a9fd343f35aa7daa53c179edf3.tar
marcuscom-ports-bfae4617aacee0a9fd343f35aa7daa53c179edf3.tar.gz
marcuscom-ports-bfae4617aacee0a9fd343f35aa7daa53c179edf3.tar.bz2
marcuscom-ports-bfae4617aacee0a9fd343f35aa7daa53c179edf3.tar.lz
marcuscom-ports-bfae4617aacee0a9fd343f35aa7daa53c179edf3.tar.xz
marcuscom-ports-bfae4617aacee0a9fd343f35aa7daa53c179edf3.tar.zst
marcuscom-ports-bfae4617aacee0a9fd343f35aa7daa53c179edf3.zip
Update to 2.7.4.
git-svn-id: svn://creme-brulee.marcuscom.com/ports/trunk@2515 df743ca5-7f9a-e211-a948-0013205c9059
Diffstat (limited to 'devel')
-rw-r--r--devel/libgtop2/Makefile44
-rw-r--r--devel/libgtop2/distinfo2
-rw-r--r--devel/libgtop2/files/patch-ah38
-rw-r--r--devel/libgtop2/files/patch-configure15
-rw-r--r--devel/libgtop2/files/patch-lib::command.c10
-rw-r--r--devel/libgtop2/files/patch-lib::lib.pl62
-rw-r--r--devel/libgtop2/files/patch-lib::read.c24
-rw-r--r--devel/libgtop2/files/patch-lib::write.c28
-rw-r--r--devel/libgtop2/files/patch-src::daemon::io.c58
-rw-r--r--devel/libgtop2/files/patch-src_daemon_server.c17
-rw-r--r--devel/libgtop2/files/patch-sysdeps::freebsd::procmem.c30
-rw-r--r--devel/libgtop2/files/patch-sysdeps::freebsd::proctime.c48
-rw-r--r--devel/libgtop2/files/patch-sysdeps_common_fsusage.c81
-rw-r--r--devel/libgtop2/files/patch-sysdeps_common_mountlist.c20
-rw-r--r--devel/libgtop2/files/patch-sysdeps_freebsd_Makefile.in20
-rw-r--r--devel/libgtop2/files/patch-sysdeps_freebsd_uptime.c13
-rw-r--r--devel/libgtop2/pkg-descr3
-rw-r--r--devel/libgtop2/pkg-plist110
18 files changed, 623 insertions, 0 deletions
diff --git a/devel/libgtop2/Makefile b/devel/libgtop2/Makefile
new file mode 100644
index 000000000..32cca3ab9
--- /dev/null
+++ b/devel/libgtop2/Makefile
@@ -0,0 +1,44 @@
+# New ports collection makefile for: libgtop2
+# Date Created: 29 April 2002
+# Whom: Joe Marcus Clarke <marcus@FreeBSD.org>
+#
+# $FreeBSD: ports/devel/libgtop2/Makefile,v 1.85 2004/07/14 14:09:43 bland Exp $
+#
+
+PORTNAME= libgtop2
+PORTVERSION= 2.7.4
+CATEGORIES= devel gnome
+MASTER_SITES= ${MASTER_SITE_GNOME}
+MASTER_SITE_SUBDIR= sources/${PORTNAME:S/2$//}/2.7
+DISTNAME= libgtop-${PORTVERSION}
+DIST_SUBDIR= gnome2
+
+MAINTAINER= gnome@FreeBSD.org
+COMMENT= GNOME 2 top library
+
+LIB_DEPENDS= popt.0:${PORTSDIR}/devel/popt
+
+USE_BZIP2= yes
+USE_PERL5= yes
+USE_X_PREFIX= yes
+USE_GMAKE= yes
+USE_GNOME= gnomehack glib20
+USE_REINPLACE= yes
+INSTALLS_SHLIB= yes
+USE_LIBTOOL_VER=15
+CONFIGURE_ENV= CPPFLAGS="-I${LOCALBASE}/include" \
+ LDFLAGS="-L${LOCALBASE}/lib"
+
+INFO= libgtop2
+
+post-patch:
+ @${REINPLACE_CMD} -e 's|int64_t|gint64|g' \
+ ${WRKSRC}/include/glibtop/command.h \
+ ${WRKSRC}/include/glibtop/proclist.h \
+ ${WRKSRC}/lib/lib.pl
+
+post-install:
+ @${CHGRP} kmem ${PREFIX}/bin/libgtop_server2
+ @${CHMOD} 2555 ${PREFIX}/bin/libgtop_server2
+
+.include <bsd.port.mk>
diff --git a/devel/libgtop2/distinfo b/devel/libgtop2/distinfo
new file mode 100644
index 000000000..a3fca9d48
--- /dev/null
+++ b/devel/libgtop2/distinfo
@@ -0,0 +1,2 @@
+MD5 (gnome2/libgtop-2.7.4.tar.bz2) = 12012807c4e75b815c5579da6eef70d7
+SIZE (gnome2/libgtop-2.7.4.tar.bz2) = 1013777
diff --git a/devel/libgtop2/files/patch-ah b/devel/libgtop2/files/patch-ah
new file mode 100644
index 000000000..bbffe4a0c
--- /dev/null
+++ b/devel/libgtop2/files/patch-ah
@@ -0,0 +1,38 @@
+--- sysdeps/freebsd/procmap.c.orig Wed Mar 10 21:23:52 2004
++++ sysdeps/freebsd/procmap.c Thu Mar 11 21:45:33 2004
+@@ -104,7 +104,7 @@
+ glibtop_map_entry *maps;
+ #if defined __FreeBSD__
+ struct vnode vnode;
+-#if __FreeBSD_version >= 500039
++#if __FreeBSD_version < 500039
+ struct inode inode;
+ #endif
+ #endif
+@@ -122,8 +122,10 @@
+
+ /* Get the process data */
+ pinfo = kvm_getprocs (server->machine.kd, KERN_PROC_PID, pid, &count);
+- if ((pinfo == NULL) || (count < 1))
++ if ((pinfo == NULL) || (count < 1)) {
+ glibtop_error_io_r (server, "kvm_getprocs (%d)", pid);
++ return NULL;
++ }
+
+ /* Now we get the memory maps. */
+
+@@ -280,13 +282,9 @@
+ &inode, sizeof (inode)) != sizeof (inode))
+ glibtop_error_io_r (server, "kvm_read (inode)");
+
+- if (kvm_read (server->machine.kd,
+- (unsigned long) vnode.v_mount,
+- &mount, sizeof (mount)) != sizeof (mount))
+- glibtop_error_io_r (server, "kvm_read (mount)");
+-#endif
+ maps [i-1].inode = inode.i_number;
+ maps [i-1].device = inode.i_dev;
++#endif
+ #endif
+ } while (entry.next != first);
+
diff --git a/devel/libgtop2/files/patch-configure b/devel/libgtop2/files/patch-configure
new file mode 100644
index 000000000..662f75ac3
--- /dev/null
+++ b/devel/libgtop2/files/patch-configure
@@ -0,0 +1,15 @@
+--- configure.orig Thu Mar 11 15:38:00 2004
++++ configure Thu Mar 11 15:38:00 2004
+@@ -1917,9 +1917,9 @@
+
+ # libtool versioning
+ LT_RELEASE=$LIBGTOP_MAJOR_VERSION.$LIBGTOP_MINOR_VERSION
+-LT_CURRENT=$LIBGTOP_CURRENT
+-LT_REVISION=$LIBGTOP_REVISION
+-LT_AGE=$LIBGTOP_AGE
++LT_CURRENT=2
++LT_REVISION=0
++LT_AGE=0
+ LT_VERSION_INFO="-version-info ${LT_CURRENT}:${LT_REVISION}:${LT_AGE}"
+
+
diff --git a/devel/libgtop2/files/patch-lib::command.c b/devel/libgtop2/files/patch-lib::command.c
new file mode 100644
index 000000000..4bb3aefb1
--- /dev/null
+++ b/devel/libgtop2/files/patch-lib::command.c
@@ -0,0 +1,10 @@
+--- lib/command.c.orig Tue Sep 9 09:47:58 2003
++++ lib/command.c Tue Sep 9 08:14:33 2003
+@@ -38,6 +38,7 @@
+ glibtop_init_r (&server, 0, 0);
+
+ memset (&cmnd, 0, sizeof (glibtop_command));
++ memset (&response, 0, sizeof (glibtop_response));
+
+ cmnd.command = command;
+
diff --git a/devel/libgtop2/files/patch-lib::lib.pl b/devel/libgtop2/files/patch-lib::lib.pl
new file mode 100644
index 000000000..6e08ba030
--- /dev/null
+++ b/devel/libgtop2/files/patch-lib::lib.pl
@@ -0,0 +1,62 @@
+--- lib/lib.pl.orig Mon Sep 1 20:17:45 2003
++++ lib/lib.pl Wed Sep 3 11:53:12 2003
+@@ -116,6 +116,8 @@
+ $param_decl = '';
+ $send_size = '';
+ $send_ptr = '';
++ $send_buf_decl = '';
++ $send_buf = '';
+ $nr_params = (@params = split(/:/, $param_def, 9999));
+ for ($param = 1; $param <= $nr_params; $param++) {
+ $list = $params[$param];
+@@ -135,28 +137,37 @@
+
+ $fields[$field];
+ $call_param = $call_param . ', ' . $fields[$field];
+- if ($send_ptr eq '') {
+- $send_ptr = "\n\tconst void *send_ptr = &" .
+-
+- $fields[$field] . ';';
+- }
+- if ($send_size eq '') {
+- $send_size = "\n\tconst size_t send_size =\n\t\t";
++ if ($send_buf eq '') {
++ $send_size = "\n\tconst size_t send_size = ";
++ $send_ptr = "\n\tconst void *send_ptr = &";
++ if ($nr_params == 1 && $count == 1) {
++ $send_size = $send_size . 'sizeof (' . $fields[$field] . ');';
++ $send_ptr = $send_ptr . $fields[$field] . ';';
++ last;
++ }
++ $send_size = $send_size . 'sizeof (send_buf);';
++ $send_ptr = $send_ptr . 'send_buf;';
+ }
+ else {
+- $send_size = $send_size . ' + ';
++ $send_buf_decl = $send_buf_decl . ' ';
++ $send_buf = $send_buf . ', ';
+ }
+- $send_size = $send_size . 'sizeof (' . $fields[$field] . ')';
++ $send_buf_decl = $send_buf_decl . '' . $convert{$type} . ' ' .
++
++ $fields[$field] . ';';
++ $send_buf = $send_buf . '' . $fields[$field];
+ }
+ }
+- if ($send_size ne '') {
+- $send_size = $send_size . ';';
+- }
+- else {
++ if ($send_size eq '') {
+ $send_size = "\n\tconst size_t send_size = 0;";
+ }
+ if ($send_ptr eq '') {
+ $send_ptr = "\n\tconst void *send_ptr = NULL;";
++ }
++ if ($send_buf ne '') {
++ $send_ptr = "\n\tconst struct { " . $send_buf_decl . " } send_buf =\n" .
++ "\t\t{ " . $send_buf . ' };' .
++ $send_ptr;
+ }
+ }
+
diff --git a/devel/libgtop2/files/patch-lib::read.c b/devel/libgtop2/files/patch-lib::read.c
new file mode 100644
index 000000000..3568f9361
--- /dev/null
+++ b/devel/libgtop2/files/patch-lib::read.c
@@ -0,0 +1,24 @@
+--- lib/read.c.orig Fri Jun 18 04:03:55 2004
++++ lib/read.c Tue Jul 20 21:46:23 2004
+@@ -22,6 +22,7 @@
+ */
+
+ #include <config.h>
++#include <errno.h>
+ #include <glibtop/read.h>
+ #include "libgtop-i18n.h"
+
+@@ -56,10 +57,13 @@
+ fprintf (stderr, "LIBRARY: really reading %d bytes.\n", size);
+ #endif
+
++retry:
+ if (server->socket) {
+ do_read (server->socket, buf, size);
+ } else {
+ if(read (server->input [0], buf, size) < 0)
++ if (errno == EINTR)
++ goto retry;
+ glibtop_error_io_r (
+ server,
+ ngettext ("read %d byte",
diff --git a/devel/libgtop2/files/patch-lib::write.c b/devel/libgtop2/files/patch-lib::write.c
new file mode 100644
index 000000000..45c2434ea
--- /dev/null
+++ b/devel/libgtop2/files/patch-lib::write.c
@@ -0,0 +1,28 @@
+--- lib/write.c.orig Mon Sep 8 23:05:01 2003
++++ lib/write.c Tue Sep 9 10:04:37 2003
+@@ -21,6 +21,7 @@
+ Boston, MA 02111-1307, USA.
+ */
+
++#include <errno.h>
+ #include <glibtop/write.h>
+
+ /* Writes some data to server. */
+@@ -38,12 +39,16 @@
+ fprintf (stderr, "LIBRARY: really writing %d bytes.\n", size);
+ #endif
+
++retry:
+ if (server->socket) {
+ ret = send (server->socket, buf, size, 0);
+ } else {
+ ret = write (server->output [1], buf, size);
+ }
+
+- if (ret < 0)
++ if (ret < 0) {
++ if (errno == EINTR)
++ goto retry;
+ glibtop_error_io_r (server, _("write %d bytes"), size);
++ }
+ }
diff --git a/devel/libgtop2/files/patch-src::daemon::io.c b/devel/libgtop2/files/patch-src::daemon::io.c
new file mode 100644
index 000000000..0a11649ce
--- /dev/null
+++ b/devel/libgtop2/files/patch-src::daemon::io.c
@@ -0,0 +1,58 @@
+--- src/daemon/io.c.orig Sun Oct 19 12:54:32 2003
++++ src/daemon/io.c Mon Dec 1 13:50:25 2003
+@@ -21,6 +21,7 @@
+ Boston, MA 02111-1307, USA.
+ */
+
++#include <errno.h>
+ #include "daemon.h"
+
+ void
+@@ -35,9 +36,13 @@
+ resp->offset = offset;
+ resp->data_size = data_size;
+
++retry1:
+ if (s == 0) {
+- if (write (1, (const void *) resp, sizeof (glibtop_response)) < 0)
++ if (write (1, (const void *) resp, sizeof (glibtop_response)) < 0) {
++ if (errno == EINTR)
++ goto retry1;
+ glibtop_warn_io ("write");
++ }
+ } else {
+ if (send (s, (const void *) resp, sizeof (glibtop_response), 0) < 0)
+ glibtop_warn_io ("send");
+@@ -47,10 +52,13 @@
+ #ifdef REAL_DEBUG
+ fprintf (stderr, "Writing %d bytes of data.\n", resp->data_size);
+ #endif
+-
++retry2:
+ if (s == 0) {
+- if (write (1, data, resp->data_size) < 0)
++ if (write (1, data, resp->data_size) < 0) {
++ if (errno == EINTR)
++ goto retry2;
+ glibtop_warn_io ("write");
++ }
+ } else {
+ if (send (s, data, resp->data_size, 0) , 0)
+ glibtop_warn_io ("send");
+@@ -66,6 +74,7 @@
+ size_t already_read = 0, remaining = total_size;
+
+ while (already_read < total_size) {
++retry:
+ if (s)
+ nread = recv (s, ptr, remaining, 0);
+ else
+@@ -77,6 +86,8 @@
+ }
+
+ if (nread <= 0) {
++ if (errno == EINTR)
++ goto retry;
+ glibtop_warn_io ("recv");
+ return 0;
+ }
diff --git a/devel/libgtop2/files/patch-src_daemon_server.c b/devel/libgtop2/files/patch-src_daemon_server.c
new file mode 100644
index 000000000..bf0bba5c7
--- /dev/null
+++ b/devel/libgtop2/files/patch-src_daemon_server.c
@@ -0,0 +1,17 @@
+--- src/daemon/server.c.orig Mon Feb 17 15:22:19 2003
++++ src/daemon/server.c Mon Feb 17 15:23:31 2003
+@@ -88,11 +88,12 @@
+ if (strcmp (uts.sysname, LIBGTOP_COMPILE_SYSTEM) ||
+ strcmp (uts.release, LIBGTOP_COMPILE_RELEASE) ||
+ strcmp (uts.machine, LIBGTOP_COMPILE_MACHINE)) {
+- fprintf (stderr, "Can only run on %s %s %s\n",
++ fprintf (stderr, "This libgtop was compiled on %s %s %s\n",
+ LIBGTOP_COMPILE_SYSTEM,
+ LIBGTOP_COMPILE_RELEASE,
+ LIBGTOP_COMPILE_MACHINE);
+- _exit (1);
++ fprintf (stderr, "If you see strange problems caused by it,\n");
++ fprintf (stderr, "you should recompile libgtop and dependent applications\n");
+ }
+ #endif
+
diff --git a/devel/libgtop2/files/patch-sysdeps::freebsd::procmem.c b/devel/libgtop2/files/patch-sysdeps::freebsd::procmem.c
new file mode 100644
index 000000000..0713da619
--- /dev/null
+++ b/devel/libgtop2/files/patch-sysdeps::freebsd::procmem.c
@@ -0,0 +1,30 @@
+--- sysdeps/freebsd/procmem.c.orig Mon Jul 19 02:07:03 2004
++++ sysdeps/freebsd/procmem.c Tue Jul 20 22:03:29 2004
+@@ -125,7 +125,7 @@
+ #else
+ struct vm_object object;
+ #endif
+- struct plimit plimit;
++ struct rlimit rlimit;
+ int count;
+
+ glibtop_init_p (server, (1L << GLIBTOP_SYSDEPS_PROC_MEM), 0);
+@@ -160,15 +160,12 @@
+
+ #define PROC_VMSPACE kp_proc.p_vmspace
+
+- if (kvm_read (server->machine.kd,
+- (unsigned long) pinfo [0].PROC_VMSPACE,
+- (char *) &plimit, sizeof (plimit)) != sizeof (plimit)) {
+- glibtop_warn_io_r (server, "kvm_read (plimit)");
++ if (getrlimit (RLIMIT_RSS, &rlimit) < 0) {
++ glibtop_warn_io_r (server, "getrlimit");
+ return;
+ }
+
+- buf->rss_rlim = (guint64)
+- (plimit.pl_rlimit [RLIMIT_RSS].rlim_cur);
++ buf->rss_rlim = (u_int64_t) (rlimit.rlim_cur);
+
+ vms = &pinfo [0].kp_eproc.e_vm;
+
diff --git a/devel/libgtop2/files/patch-sysdeps::freebsd::proctime.c b/devel/libgtop2/files/patch-sysdeps::freebsd::proctime.c
new file mode 100644
index 000000000..37b5b56df
--- /dev/null
+++ b/devel/libgtop2/files/patch-sysdeps::freebsd::proctime.c
@@ -0,0 +1,48 @@
+--- sysdeps/freebsd/proctime.c.orig Wed Mar 10 21:23:52 2004
++++ sysdeps/freebsd/proctime.c Thu Mar 11 15:47:35 2004
+@@ -59,6 +59,7 @@
+
+ #ifndef __FreeBSD__
+
++#ifndef __FreeBSD__
+ static void
+ calcru(p, up, sp, ip)
+ struct proc *p;
+@@ -81,19 +82,10 @@
+ tot = 1;
+ }
+
+-#if (defined __FreeBSD__) && (__FreeBSD_version >= 300003)
+-
+- /* This was changed from a `struct timeval' into a `guint64'
+- * on FreeBSD 3.0 and renamed p_rtime -> p_runtime.
+- */
+-
+- totusec = (u_quad_t) p->p_runtime;
+-#else
+ sec = p->p_rtime.tv_sec;
+ usec = p->p_rtime.tv_usec;
+
+ totusec = (quad_t)sec * 1000000 + usec;
+-#endif
+
+ if (totusec < 0) {
+ /* XXX no %qd in kernel. Truncate. */
+@@ -116,6 +108,7 @@
+ ip->tv_usec = it % 1000000;
+ }
+ }
++#endif
+
+ #endif /* !__FreeBSD__ */
+
+@@ -133,9 +126,6 @@
+ #endif
+ struct pstats pstats;
+ int count;
+-
+- char filename [BUFSIZ];
+- struct stat statb;
+
+ glibtop_init_p (server, (1L << GLIBTOP_SYSDEPS_PROC_TIME), 0);
+
diff --git a/devel/libgtop2/files/patch-sysdeps_common_fsusage.c b/devel/libgtop2/files/patch-sysdeps_common_fsusage.c
new file mode 100644
index 000000000..871b20d94
--- /dev/null
+++ b/devel/libgtop2/files/patch-sysdeps_common_fsusage.c
@@ -0,0 +1,81 @@
+--- sysdeps/common/fsusage.c.orig Tue Jul 20 22:05:56 2004
++++ sysdeps/common/fsusage.c Tue Jul 20 22:10:04 2004
+@@ -147,6 +147,24 @@
+ glibtop_get_fsusage_s (glibtop *server, glibtop_fsusage *buf,
+ const char *path)
+ {
++#ifdef STAT_STATFS3_OSF1
++ struct statfs fsd;
++#endif
++#ifdef STAT_STATFS2_FS_DATA
++ struct fs_data fsd;
++#endif
++#ifdef STAT_STATFS2_BSIZE
++ struct statfs fsd;
++#endif
++#ifdef STAT_STATFS2_FSIZE
++ struct statfs fsd;
++#endif
++#ifdef STAT_STATFS4
++ struct statvfs fsd;
++#endif
++#ifdef STAT_STATVFS
++ struct statvfs fsd;
++#endif
+ glibtop_init_r (&server, 0, 0);
+
+ memset (buf, 0, sizeof (glibtop_fsusage));
+@@ -155,8 +173,6 @@
+
+ #ifdef STAT_STATFS3_OSF1
+
+- struct statfs fsd;
+-
+ if (statfs (path, &fsd, sizeof (struct statfs)) != 0)
+ return;
+
+@@ -166,8 +182,6 @@
+
+ #ifdef STAT_STATFS2_FS_DATA /* Ultrix */
+
+- struct fs_data fsd;
+-
+ if (statfs (path, &fsd) != 1)
+ return;
+
+@@ -183,8 +197,6 @@
+
+ #ifdef STAT_STATFS2_BSIZE /* 4.3BSD, SunOS 4, HP-UX, AIX */
+
+- struct statfs fsd;
+-
+ if (statfs (path, &fsd) < 0)
+ return;
+
+@@ -209,8 +221,6 @@
+
+ #ifdef STAT_STATFS2_FSIZE /* 4.4BSD */
+
+- struct statfs fsd;
+-
+ if (statfs (path, &fsd) < 0)
+ return;
+
+@@ -224,8 +234,6 @@
+ # define f_bavail f_bfree
+ # endif
+
+- struct statfs fsd;
+-
+ if (statfs (path, &fsd, sizeof fsd, 0) < 0)
+ return;
+
+@@ -241,8 +249,6 @@
+ #endif /* STAT_STATFS4 */
+
+ #ifdef STAT_STATVFS /* SVR4 */
+-
+- struct statvfs fsd;
+
+ if (statvfs (path, &fsd) < 0)
+ return;
diff --git a/devel/libgtop2/files/patch-sysdeps_common_mountlist.c b/devel/libgtop2/files/patch-sysdeps_common_mountlist.c
new file mode 100644
index 000000000..76250acec
--- /dev/null
+++ b/devel/libgtop2/files/patch-sysdeps_common_mountlist.c
@@ -0,0 +1,20 @@
+--- sysdeps/common/mountlist.c.orig Thu Jul 8 09:48:08 2004
++++ sysdeps/common/mountlist.c Tue Jul 20 22:05:02 2004
+@@ -95,7 +95,7 @@
+ #endif
+
+
+-#if defined (MOUNTED_GETMNTINFO) && !defined (__NetBSD__) && !defined (__OpenBSD__)
++#if defined (MOUNTED_GETMNTINFO) && !defined (__NetBSD__) && !defined (__OpenBSD__) && !defined(__FreeBSD__)
+ static const char *
+ fstype_to_string (short t)
+ {
+@@ -300,7 +300,7 @@
+ 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__)
++#if defined(__NetBSD__) || defined(__OpenBSD__) || defined(__FreeBSD__)
+ me->me_type = g_strdup (fsp->f_fstypename);
+ #else
+ me->me_type = g_strdup (fstype_to_string (fsp->f_type));
diff --git a/devel/libgtop2/files/patch-sysdeps_freebsd_Makefile.in b/devel/libgtop2/files/patch-sysdeps_freebsd_Makefile.in
new file mode 100644
index 000000000..16bcbb055
--- /dev/null
+++ b/devel/libgtop2/files/patch-sysdeps_freebsd_Makefile.in
@@ -0,0 +1,20 @@
+--- sysdeps/freebsd/Makefile.in.orig Sun Feb 15 16:13:22 2004
++++ sysdeps/freebsd/Makefile.in Sun Feb 15 16:16:05 2004
+@@ -138,7 +138,7 @@
+
+ noinst_LTLIBRARIES = libgtop_sysdeps-2.0.la libgtop_sysdeps_suid-2.0.la
+
+-libgtop_sysdeps_2_0_la_SOURCES = nosuid.c siglist.c
++libgtop_sysdeps_2_0_la_SOURCES = nosuid.c
+
+ libgtop_sysdeps_2_0_la_LDFLAGS = $(LT_VERSION_INFO)
+
+@@ -172,7 +172,7 @@
+ X_EXTRA_LIBS = @X_EXTRA_LIBS@
+ X_PRE_LIBS = @X_PRE_LIBS@
+ libgtop_sysdeps_2_0_la_LIBADD =
+-libgtop_sysdeps_2_0_la_OBJECTS = nosuid.lo siglist.lo
++libgtop_sysdeps_2_0_la_OBJECTS = nosuid.lo
+ libgtop_sysdeps_suid_2_0_la_LIBADD =
+ libgtop_sysdeps_suid_2_0_la_OBJECTS = open.lo close.lo siglist.lo \
+ cpu.lo mem.lo swap.lo uptime.lo loadavg.lo shm_limits.lo msg_limits.lo \
diff --git a/devel/libgtop2/files/patch-sysdeps_freebsd_uptime.c b/devel/libgtop2/files/patch-sysdeps_freebsd_uptime.c
new file mode 100644
index 000000000..7dbba8c37
--- /dev/null
+++ b/devel/libgtop2/files/patch-sysdeps_freebsd_uptime.c
@@ -0,0 +1,13 @@
+--- sysdeps/freebsd/uptime.c.orig Thu Mar 11 15:59:16 2004
++++ sysdeps/freebsd/uptime.c Thu Mar 11 15:59:38 2004
+@@ -68,9 +68,8 @@
+ buf->flags = _glibtop_sysdeps_uptime;
+ }
+ #else
+- buf->flags = _glibtop_sysdeps_uptime;
+-
+ glibtop_cpu cpu;
++ buf->flags = _glibtop_sysdeps_uptime;
+
+ glibtop_init_p (server, (1L << GLIBTOP_SYSDEPS_UPTIME), 0);
+
diff --git a/devel/libgtop2/pkg-descr b/devel/libgtop2/pkg-descr
new file mode 100644
index 000000000..f263f1127
--- /dev/null
+++ b/devel/libgtop2/pkg-descr
@@ -0,0 +1,3 @@
+This library provides the backend for gtop2, a GNOME 2.0 version
+of top(1) that allows display and manipulation of running
+processes.
diff --git a/devel/libgtop2/pkg-plist b/devel/libgtop2/pkg-plist
new file mode 100644
index 000000000..a76aee0cf
--- /dev/null
+++ b/devel/libgtop2/pkg-plist
@@ -0,0 +1,110 @@
+bin/libgtop_daemon2
+bin/libgtop_server2
+include/libgtop-2.0/glibtop.h
+include/libgtop-2.0/glibtop/close.h
+include/libgtop-2.0/glibtop/command.h
+include/libgtop-2.0/glibtop/cpu.h
+include/libgtop-2.0/glibtop/error.h
+include/libgtop-2.0/glibtop/fsusage.h
+include/libgtop-2.0/glibtop/global.h
+include/libgtop-2.0/glibtop/gnuserv.h
+include/libgtop-2.0/glibtop/inodedb.h
+include/libgtop-2.0/glibtop/loadavg.h
+include/libgtop-2.0/glibtop/mem.h
+include/libgtop-2.0/glibtop/mountlist.h
+include/libgtop-2.0/glibtop/msg_limits.h
+include/libgtop-2.0/glibtop/netload.h
+include/libgtop-2.0/glibtop/open.h
+include/libgtop-2.0/glibtop/parameter.h
+include/libgtop-2.0/glibtop/ppp.h
+include/libgtop-2.0/glibtop/procargs.h
+include/libgtop-2.0/glibtop/prockernel.h
+include/libgtop-2.0/glibtop/proclist.h
+include/libgtop-2.0/glibtop/procmap.h
+include/libgtop-2.0/glibtop/procmem.h
+include/libgtop-2.0/glibtop/procsegment.h
+include/libgtop-2.0/glibtop/procsignal.h
+include/libgtop-2.0/glibtop/procstate.h
+include/libgtop-2.0/glibtop/proctime.h
+include/libgtop-2.0/glibtop/procuid.h
+include/libgtop-2.0/glibtop/read.h
+include/libgtop-2.0/glibtop/read_data.h
+include/libgtop-2.0/glibtop/sem_limits.h
+include/libgtop-2.0/glibtop/shm_limits.h
+include/libgtop-2.0/glibtop/signal.h
+include/libgtop-2.0/glibtop/swap.h
+include/libgtop-2.0/glibtop/sysdeps.h
+include/libgtop-2.0/glibtop/sysinfo.h
+include/libgtop-2.0/glibtop/types.h
+include/libgtop-2.0/glibtop/union.h
+include/libgtop-2.0/glibtop/uptime.h
+include/libgtop-2.0/glibtop/version.h
+include/libgtop-2.0/glibtop/write.h
+include/libgtop-2.0/glibtop_machine.h
+include/libgtop-2.0/glibtop_server.h
+include/libgtop-2.0/glibtop_suid.h
+lib/libgtop-2.0.a
+lib/libgtop-2.0.so
+lib/libgtop-2.0.so.2
+libdata/pkgconfig/libgtop-2.0.pc
+share/locale/am/LC_MESSAGES/libgtop-2.0.mo
+share/locale/ar/LC_MESSAGES/libgtop-2.0.mo
+share/locale/az/LC_MESSAGES/libgtop-2.0.mo
+share/locale/be/LC_MESSAGES/libgtop-2.0.mo
+share/locale/bg/LC_MESSAGES/libgtop-2.0.mo
+share/locale/bn/LC_MESSAGES/libgtop-2.0.mo
+share/locale/ca/LC_MESSAGES/libgtop-2.0.mo
+share/locale/cs/LC_MESSAGES/libgtop-2.0.mo
+share/locale/cy/LC_MESSAGES/libgtop-2.0.mo
+share/locale/da/LC_MESSAGES/libgtop-2.0.mo
+share/locale/de/LC_MESSAGES/libgtop-2.0.mo
+share/locale/el/LC_MESSAGES/libgtop-2.0.mo
+share/locale/en_CA/LC_MESSAGES/libgtop-2.0.mo
+share/locale/en_GB/LC_MESSAGES/libgtop-2.0.mo
+share/locale/es/LC_MESSAGES/libgtop-2.0.mo
+share/locale/et/LC_MESSAGES/libgtop-2.0.mo
+share/locale/eu/LC_MESSAGES/libgtop-2.0.mo
+share/locale/fa/LC_MESSAGES/libgtop-2.0.mo
+share/locale/fi/LC_MESSAGES/libgtop-2.0.mo
+share/locale/fr/LC_MESSAGES/libgtop-2.0.mo
+share/locale/ga/LC_MESSAGES/libgtop-2.0.mo
+share/locale/gl/LC_MESSAGES/libgtop-2.0.mo
+share/locale/gu/LC_MESSAGES/libgtop-2.0.mo
+share/locale/he/LC_MESSAGES/libgtop-2.0.mo
+share/locale/hi/LC_MESSAGES/libgtop-2.0.mo
+share/locale/hr/LC_MESSAGES/libgtop-2.0.mo
+share/locale/hu/LC_MESSAGES/libgtop-2.0.mo
+share/locale/id/LC_MESSAGES/libgtop-2.0.mo
+share/locale/it/LC_MESSAGES/libgtop-2.0.mo
+share/locale/ja/LC_MESSAGES/libgtop-2.0.mo
+share/locale/ko/LC_MESSAGES/libgtop-2.0.mo
+share/locale/lt/LC_MESSAGES/libgtop-2.0.mo
+share/locale/lv/LC_MESSAGES/libgtop-2.0.mo
+share/locale/mi/LC_MESSAGES/libgtop-2.0.mo
+share/locale/mk/LC_MESSAGES/libgtop-2.0.mo
+share/locale/ml/LC_MESSAGES/libgtop-2.0.mo
+share/locale/mn/LC_MESSAGES/libgtop-2.0.mo
+share/locale/ms/LC_MESSAGES/libgtop-2.0.mo
+share/locale/nl/LC_MESSAGES/libgtop-2.0.mo
+share/locale/nn/LC_MESSAGES/libgtop-2.0.mo
+share/locale/no/LC_MESSAGES/libgtop-2.0.mo
+share/locale/pa/LC_MESSAGES/libgtop-2.0.mo
+share/locale/pl/LC_MESSAGES/libgtop-2.0.mo
+share/locale/pt/LC_MESSAGES/libgtop-2.0.mo
+share/locale/pt_BR/LC_MESSAGES/libgtop-2.0.mo
+share/locale/ro/LC_MESSAGES/libgtop-2.0.mo
+share/locale/ru/LC_MESSAGES/libgtop-2.0.mo
+share/locale/sk/LC_MESSAGES/libgtop-2.0.mo
+share/locale/sl/LC_MESSAGES/libgtop-2.0.mo
+share/locale/sq/LC_MESSAGES/libgtop-2.0.mo
+share/locale/sr/LC_MESSAGES/libgtop-2.0.mo
+share/locale/sr@Latn/LC_MESSAGES/libgtop-2.0.mo
+share/locale/sv/LC_MESSAGES/libgtop-2.0.mo
+share/locale/ta/LC_MESSAGES/libgtop-2.0.mo
+share/locale/tr/LC_MESSAGES/libgtop-2.0.mo
+share/locale/uk/LC_MESSAGES/libgtop-2.0.mo
+share/locale/vi/LC_MESSAGES/libgtop-2.0.mo
+share/locale/zh_CN/LC_MESSAGES/libgtop-2.0.mo
+share/locale/zh_TW/LC_MESSAGES/libgtop-2.0.mo
+@dirrm include/libgtop-2.0/glibtop
+@dirrm include/libgtop-2.0