summaryrefslogtreecommitdiff
path: root/sysutils
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
commitb298a7b84c4a6e9b0df3c3a110f4b8cb8bb8a44b (patch)
tree86caeba14507b5fb1af8a43781128d716f76de1f /sysutils
parentd314aef2d6071f868b1082d8559d9ea767883759 (diff)
downloadpkgsrc-b298a7b84c4a6e9b0df3c3a110f4b8cb8bb8a44b.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')
-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_" .
+