ports/85038: Unbreak port: lang/pm3-base

Vasil Dimov vd at datamax.bg
Wed Aug 17 10:20:13 UTC 2005


>Number:         85038
>Category:       ports
>Synopsis:       Unbreak port: lang/pm3-base
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Wed Aug 17 10:20:12 GMT 2005
>Closed-Date:
>Last-Modified:
>Originator:     Vasil Dimov
>Release:        FreeBSD 5.4-STABLE i386
>Organization:
DataMax
>Environment:

>Description:

Unbreak pm3-base:
* extend files/patch-l1 and files/patch-l2 to match gethostname(3)
  prototype on 5.x and above
* add patch for language/modula3/m3compiler/m3cc/gcc/m3.c to make it use
  stdarg.h instead of varargs.h

>How-To-Repeat:

>Fix:

--- pm3-base.diff begins here ---
diff -urN --exclude=CVS pm3-base.orig/Makefile pm3-base/Makefile
--- pm3-base.orig/Makefile	Wed Feb  4 07:21:42 2004
+++ pm3-base/Makefile	Wed Aug 17 13:03:48 2005
@@ -7,7 +7,7 @@
 
 PORTNAME=	pm3-base
 PORTVERSION=	1.1.15
-PORTREVISION=	1
+PORTREVISION=	2
 CATEGORIES=	lang
 MASTER_SITES=	${MASTER_SITE_LOCAL}
 MASTER_SITE_SUBDIR=jdp/pm3
@@ -43,10 +43,6 @@
 SOVERSION=	7
 
 .include <bsd.port.pre.mk>
-
-.if ${OSVERSION} >= 501000
-BROKEN=		"Does not compile"
-.endif
 
 .if ${PORTOBJFORMAT} == "aout"
 TARGET=		FreeBSD2
diff -urN --exclude=CVS pm3-base.orig/files/patch-l1 pm3-base/files/patch-l1
--- pm3-base.orig/files/patch-l1	Sun Apr 20 22:34:29 2003
+++ pm3-base/files/patch-l1	Wed Aug 17 12:00:09 2005
@@ -1,5 +1,5 @@
---- libs/m3core/src/runtime/FreeBSD4/RTHeapDepC.c.orig	Wed May 31 13:54:33 2000
-+++ libs/m3core/src/runtime/FreeBSD4/RTHeapDepC.c	Tue Feb 18 09:33:53 2003
+--- libs/m3core/src/runtime/FreeBSD4/RTHeapDepC.c.orig	Wed May 31 20:54:33 2000
++++ libs/m3core/src/runtime/FreeBSD4/RTHeapDepC.c	Wed Aug 17 11:59:31 2005
 @@ -98,7 +98,11 @@
  #include <sys/time.h>
  #include <nfs/rpcv2.h>
@@ -12,7 +12,19 @@
  #include <ufs/ufs/ufsmount.h>
  #endif
  
-@@ -693,7 +697,9 @@
+@@ -451,7 +455,11 @@
+ 
+ int gethostname(name, namelen)   /* ok */
+ char *name;
++#if __FreeBSD__ >= 5
++size_t namelen;
++#else
+ int namelen;
++#endif
+ { int result;
+ #if __FreeBSD__ >= 2
+   int mib[2];
+@@ -693,7 +701,9 @@
    void *data;
  { int result;
    struct ufs_args *u_data;
@@ -22,7 +34,7 @@
    struct nfs_args *n_data;
  
    ENTER_CRITICAL;
-@@ -704,11 +710,13 @@
+@@ -704,11 +714,13 @@
      MAKE_READABLE(u_data);
      MAKE_READABLE(u_data->fspec);
      result = syscall(SYS_mount, type, dir, flags, data);
@@ -36,7 +48,7 @@
    } else if (strcmp(type, "nfs") == 0) {
      n_data = (struct nfs_args*) data;
      MAKE_READABLE(n_data);
-@@ -805,7 +813,11 @@
+@@ -805,7 +817,11 @@
  
  int msgsnd(msqid, msgp, msgsz, msgflg)   /* ok */
  int msqid;
diff -urN --exclude=CVS pm3-base.orig/files/patch-l2 pm3-base/files/patch-l2
--- pm3-base.orig/files/patch-l2	Sun Apr 20 22:34:29 2003
+++ pm3-base/files/patch-l2	Wed Aug 17 12:24:07 2005
@@ -1,5 +1,5 @@
---- libs/m3core/src/runtime/FBSD_ALPHA/RTHeapDepC.c.orig	Wed May 31 10:54:24 2000
-+++ libs/m3core/src/runtime/FBSD_ALPHA/RTHeapDepC.c	Sun Apr 20 12:21:15 2003
+--- libs/m3core/src/runtime/FBSD_ALPHA/RTHeapDepC.c.orig	Wed May 31 20:54:24 2000
++++ libs/m3core/src/runtime/FBSD_ALPHA/RTHeapDepC.c	Wed Aug 17 12:23:04 2005
 @@ -98,7 +98,11 @@
  #include <sys/time.h>
  #include <nfs/rpcv2.h>
@@ -12,7 +12,19 @@
  #include <ufs/ufs/ufsmount.h>
  #endif
  
-@@ -693,7 +697,9 @@
+@@ -451,7 +455,11 @@
+ 
+ int gethostname(name, namelen)   /* ok */
+ char *name;
++#if __FreeBSD__ >= 5
++size_t namelen;
++#else
+ int namelen;
++#endif
+ { int result;
+ #if __FreeBSD__ >= 2
+   int mib[2];
+@@ -693,7 +701,9 @@
    void *data;
  { int result;
    struct ufs_args *u_data;
@@ -22,7 +34,7 @@
    struct nfs_args *n_data;
  
    ENTER_CRITICAL;
-@@ -704,11 +710,13 @@
+@@ -704,11 +714,13 @@
      MAKE_READABLE(u_data);
      MAKE_READABLE(u_data->fspec);
      result = syscall(SYS_mount, type, dir, flags, data);
@@ -36,7 +48,7 @@
    } else if (strcmp(type, "nfs") == 0) {
      n_data = (struct nfs_args*) data;
      MAKE_READABLE(n_data);
-@@ -805,7 +813,11 @@
+@@ -805,7 +817,11 @@
  
  int msgsnd(msqid, msgp, msgsz, msgflg)   /* ok */
  int msqid;
diff -urN --exclude=CVS pm3-base.orig/files/patch-m3.c.diff pm3-base/files/patch-m3.c.diff
--- pm3-base.orig/files/patch-m3.c.diff	Thu Jan  1 02:00:00 1970
+++ pm3-base/files/patch-m3.c.diff	Wed Aug 17 12:55:05 2005
@@ -0,0 +1,48 @@
+--- language/modula3/m3compiler/m3cc/gcc/m3.c.orig	Wed Aug 17 12:34:10 2005
++++ language/modula3/m3compiler/m3cc/gcc/m3.c	Wed Aug 17 12:52:49 2005
+@@ -27,7 +27,7 @@
+ 
+ 
+ 
+-#include <varargs.h>
++#include <stdarg.h>
+ #include <stdio.h>
+ #include <errno.h>
+ #include <setjmp.h>
+@@ -991,15 +991,12 @@
+ static int current_dbg_type_count2;
+ static int current_dbg_type_count3;
+ 
+-static void debug_tag (kind, id, va_alist)
+-     char kind;
+-     char *id;
+-     va_dcl
++static void debug_tag (char kind, char *id, ...)
+ {
+   va_list args;
+   char *fmt;
+ 
+-  va_start (args);
++  va_start (args, id);
+   current_dbg_type_tag [0] = 'M';
+   current_dbg_type_tag [1] = kind;
+   current_dbg_type_tag [2] = '_';
+@@ -1031,16 +1028,14 @@
+ 
+ #define debug_field_id debug_field
+ 
+-static void debug_field_fmt (id, va_alist)
+-     char *id;
+-     va_dcl
++static void debug_field_fmt (char *id, ...)
+ {
+   va_list args;
+   char name [100];
+   char *fmt;
+ 
+   memcpy (name, id, UID_SIZE);
+-  va_start (args);
++  va_start (args, id);
+   fmt = va_arg (args, char *);
+   vsprintf (name + UID_SIZE, fmt, args);
+   va_end (args);
--- pm3-base.diff ends here ---
>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list