summaryrefslogtreecommitdiff
path: root/sysutils/libgtop2
diff options
context:
space:
mode:
authorjmmv <jmmv@pkgsrc.org>2004-04-12 15:53:42 +0000
committerjmmv <jmmv@pkgsrc.org>2004-04-12 15:53:42 +0000
commit0fe64153a77a884cbc06446734136d0522d217f1 (patch)
tree86caeba14507b5fb1af8a43781128d716f76de1f /sysutils/libgtop2
parent0d92fa526a9653ad7b924285eaa1e04e02dbf944 (diff)
downloadpkgsrc-0fe64153a77a884cbc06446734136d0522d217f1.tar.gz
Fix argument passing between the library and the server as the code can't
rely on how the compiler passes parameters to functions. This hopefully solves several problems: in concrete, one exposed by gnome-system-monitor when selecting the "My Processes" view (as the function returing the list takes two arguments, and the second one was beeing passed incorrectly). Bump PKGREVISION to 1.
Diffstat (limited to 'sysutils/libgtop2')
-rw-r--r--sysutils/libgtop2/Makefile3
-rw-r--r--sysutils/libgtop2/distinfo3
-rw-r--r--sysutils/libgtop2/patches/patch-ab58
3 files changed, 62 insertions, 2 deletions
diff --git a/sysutils/libgtop2/Makefile b/sysutils/libgtop2/Makefile
index cb27ac845b8..7c70d498617 100644
--- a/sysutils/libgtop2/Makefile
+++ b/sysutils/libgtop2/Makefile
@@ -1,7 +1,8 @@
-# $NetBSD: Makefile,v 1.4 2004/04/09 03:47:39 minskim Exp $
+# $NetBSD: Makefile,v 1.5 2004/04/12 15:53:42 jmmv Exp $
DISTNAME= libgtop-2.6.0
PKGNAME= ${DISTNAME:S/-/2-/}
+PKGREVISION= 1
CATEGORIES= sysutils gnome
MASTER_SITES= ${MASTER_SITE_GNOME:=sources/libgtop/2.6/}
EXTRACT_SUFX= .tar.bz2
diff --git a/sysutils/libgtop2/distinfo b/sysutils/libgtop2/distinfo
index f24d62d5850..bb15297cc11 100644
--- a/sysutils/libgtop2/distinfo
+++ b/sysutils/libgtop2/distinfo
@@ -1,5 +1,6 @@
-$NetBSD: distinfo,v 1.2 2004/04/07 11:39:48 jmmv Exp $
+$NetBSD: distinfo,v 1.3 2004/04/12 15:53:42 jmmv Exp $
SHA1 (libgtop-2.6.0.tar.bz2) = e6c61a3f7d458b8afa6c9361e71bbdadeafe7e3b
Size (libgtop-2.6.0.tar.bz2) = 946822 bytes
SHA1 (patch-aa) = 5ebb407abdaedb77ed02c01adbaba70113b333b6
+SHA1 (patch-ab) = a8eebfb379887dfc338d7422a70821511b79f94e
diff --git a/sysutils/libgtop2/patches/patch-ab b/sysutils/libgtop2/patches/patch-ab
new file mode 100644
index 00000000000..93dd1945a6d
--- /dev/null
+++ b/sysutils/libgtop2/patches/patch-ab
@@ -0,0 +1,58 @@
+$NetBSD: patch-ab,v 1.1 2004/04/12 15:53:42 jmmv Exp $
+
+--- lib/lib.pl.orig 2004-03-04 15:16:46.000000000 +0100
++++ lib/lib.pl
+@@ -106,6 +106,8 @@ sub output {
+
+ if ($param_def eq 'string') {
+ $call_param = ', ' . $line_fields[5];
++ $param_buf = '';
++ $buf_set = '';
+ $param_decl = ",\n " . $space . ' const char *' .
+
+ $line_fields[5];
+@@ -127,6 +130,17 @@ sub output {
+ $list =~ s/^.*\(//;
+ $list =~ s/\)$//;
+ $count = (@fields = split(/,/, $list, 9999));
++
++ if ($count > 0) {
++ $param_buf = "\n\tstruct {\n";
++ $buf_set = '';
++ for ($field = 1; $field <= $count; $field++) {
++ $param_buf .= "\t\t$convert{$type} buf_$fields[$field];\n";
++ $buf_set .= "\tparam_buf.buf_$fields[$field] = $fields[$field];\n";
++ }
++ $param_buf .= "\t} param_buf;";
++ }
++
+ for ($field = 1; $field <= $count; $field++) {
+ if ($param_decl eq '') {
+ $param_decl = ",\n " . $space . ' ';
+@@ -139,9 +153,7 @@ sub output {
+ $fields[$field];
+ $call_param = $call_param . ', ' . $fields[$field];
+ if ($send_ptr eq '') {
+- $send_ptr = "\n\tconst void *send_ptr = &" .
+-
+- $fields[$field] . ';';
++ $send_ptr = "\n\tconst void *send_ptr = &param_buf;";
+ }
+ if ($send_size eq '') {
+ $send_size = "\n\tconst size_t send_size =\n\t\t";
+@@ -167,11 +179,13 @@ sub output {
+
+ $feature . ' *buf' . $param_decl . ')';
+
+- print '{' . $send_ptr . '' . $send_size;
++ print "{" . $param_buf;
++
++ print $send_ptr . '' . $send_size;
+ if ($retval !~ /^void$/) {
+ print "\t" . $retval . ' retval = (' . $retval . ') 0;';
+ }
+- print '';
++ print $buf_set;
+
+ print "\tglibtop_init_r (&server, (1 << GLIBTOP_SYSDEPS_" .
+