summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--cad/irsim/Makefile10
-rw-r--r--cad/irsim/files/patch-ab37
-rw-r--r--cad/irsim/files/patch-ac12
-rw-r--r--cad/irsim/files/patch-ad80
-rw-r--r--cad/irsim/files/patch-ae65
5 files changed, 200 insertions, 4 deletions
diff --git a/cad/irsim/Makefile b/cad/irsim/Makefile
index 12d08e7..28f29f0 100644
--- a/cad/irsim/Makefile
+++ b/cad/irsim/Makefile
@@ -7,6 +7,7 @@
PORTNAME= irsim
PORTVERSION= 9.5
+PORTREVISION= 1
CATEGORIES= cad
MASTER_SITES= http://mos.stanford.edu/group/magic/
EXTRACT_SUFX= .tar.Z
@@ -15,18 +16,19 @@ MAINTAINER= ports@FreeBSD.org
COMMENT= An event-driven logic-level simulator for MOS circuis
USE_XLIB= yes
+USE_REINPLACE= yes
MAN1= irsim.1
MAN3= irsim-analyzer.3
MAN5= netchange.5
.include <bsd.port.pre.mk>
-.if ${OSVERSION} >= 501000
-BROKEN= "Does not compile"
-.endif
-
# othewise patch will complain
post-extract:
@${FIND} ${WRKSRC} -name RCS | ${XARGS} ${RM} -rf
+post-patch:
+ @${EGREP} -lr '^#endif[^$$]' ${WRKSRC} | ${XARGS} ${REINPLACE_CMD} -e \
+ 's|\(^#.*endif\).*|\1|g'
+
.include <bsd.port.post.mk>
diff --git a/cad/irsim/files/patch-ab b/cad/irsim/files/patch-ab
new file mode 100644
index 0000000..836d8e8
--- /dev/null
+++ b/cad/irsim/files/patch-ab
@@ -0,0 +1,37 @@
+--- src/ana11/textwind.c.orig Tue Sep 10 00:19:44 1996
++++ src/ana11/textwind.c Tue Dec 9 19:00:52 2003
+@@ -19,7 +19,7 @@
+ #include <xfuncs.h>
+ #define bcopy(x,y,z) memcpy((y),(x),(z))
+ #else
+-#include <varargs.h>
++#include <stdarg.h>
+ #endif /* OS2 */
+ #include "ana.h"
+ #include "ana_glob.h"
+@@ -94,24 +94,13 @@
+
+
+ /* VARARGS */
+-#ifndef OS2
+-public void PRINTF( va_alist )
+- va_dcl
+-#else
+-public void PRINTF()
+-#endif /* OS2 */
++public void PRINTF( char *format, ... )
+ {
+ va_list args;
+- char *format;
+ char *s;
+ int len;
+
+-#ifdef OS2
+ va_start( args, format);
+-#else
+- va_start( args );
+-#endif /* OS2 */
+- format = va_arg( args, char * );
+
+ if( *format == '\n' )
+ {
diff --git a/cad/irsim/files/patch-ac b/cad/irsim/files/patch-ac
new file mode 100644
index 0000000..1754192
--- /dev/null
+++ b/cad/irsim/files/patch-ac
@@ -0,0 +1,12 @@
+--- src/ana11/Makefile.orig Tue Dec 9 18:41:42 2003
++++ src/ana11/Makefile Tue Dec 9 18:42:45 2003
+@@ -34,6 +34,9 @@
+ $(EXPORTS): $(SRCS)
+ @echo making $(EXPORTS)
+ @../utils/export $(SRCS) $(EXPORTS)
++ grep -v PRINTF $(EXPORTS) > $(EXPORTS).tmp
++ echo "extern void PRINTF(char *format, ... );" >> $(EXPORTS).tmp
++ mv $(EXPORTS).tmp $(EXPORTS)
+
+ $(SRCS) :
+ co $@
diff --git a/cad/irsim/files/patch-ad b/cad/irsim/files/patch-ad
new file mode 100644
index 0000000..29cf96c
--- /dev/null
+++ b/cad/irsim/files/patch-ad
@@ -0,0 +1,80 @@
+--- src/irsim/netupdate.c.orig Tue Dec 9 18:47:10 2003
++++ src/irsim/netupdate.c Tue Dec 9 18:50:09 2003
+@@ -42,7 +42,7 @@
+ #include <stdlib.h>
+ #include <string.h>
+ #include <time.h>
+-#endif /* OS2 */
++#endif
+ #include <math.h> /* **mdg** */
+ #include "defs.h"
+ #include "net.h"
+@@ -52,7 +52,7 @@
+ #ifndef OS2
+ extern char *ctime();
+ extern long time();
+-#endif /* OS2 */
++#endif
+
+ /******** ALIAS MANAGMENT ******/
+
+@@ -182,7 +182,7 @@
+ private tptr ch_tran; /* list of changed transistors */
+ private nptr new_GND, new_VDD;
+ private int chg_VDD, chg_GND;
+-private void nu_error();
++private void nu_error(char *fmt, ... );
+
+
+ /* value stored in tflags, indicating how transistor changed */
+@@ -1366,7 +1366,7 @@
+ struct Trans dummyt;
+ #ifndef OS2
+ extern char *getenv();
+-#endif /* OS2 */
++#endif
+
+ ch_tran = dummyt.scache.t = dummyt.dcache.t = &dummyt;
+ ch_nlist = NULL;
+@@ -1426,37 +1426,28 @@
+ }
+
+ #ifndef OS2
+-#include <varargs.h>
++#include <stdarg.h>
+ #else
+ #include <stdarg.h>
+-#endif /* OS2 */
++#endif
+
+ /* VARARGS */
+ #ifndef OS2
+-private void nu_error( va_alist )
+- va_dcl
++private void nu_error( char *fmt, ... )
+ #else
+ private void nu_error( fmt)
+ char *fmt;
+-#endif /* OS2 */
++#endif
+ {
+ va_list args;
+-#ifdef OS2
+ char *errstr = "| error";
+-#else
+- char *fmt, *errstr = "| error";
+-#endif /* OS2 */
+ FILE *fp;
+
+ if( nu_logf != NULL ) fp = nu_logf;
+ else if( logfile != NULL ) fp = logfile;
+ else fp = stderr, errstr ++;
+
+-#ifndef OS2
+- va_start( args );
+-#else
+ va_start(args, fmt);
+-#endif /* OS2 */
+ fmt = va_arg( args, char * );
+ (void) fprintf( fp, "%s:%s, line %d: ", errstr, nu_fname, lineno );
+ (void) vfprintf( fp, fmt, args );
diff --git a/cad/irsim/files/patch-ae b/cad/irsim/files/patch-ae
new file mode 100644
index 0000000..831031e
--- /dev/null
+++ b/cad/irsim/files/patch-ae
@@ -0,0 +1,65 @@
+--- src/irsim/prints.c.orig Tue Dec 9 18:54:57 2003
++++ src/irsim/prints.c Tue Dec 9 18:55:15 2003
+@@ -21,7 +21,7 @@
+ #include <stdlib.h>
+ #include <stdarg.h>
+ #else
+-#include <varargs.h>
++#include <stdarg.h>
+ #endif /* OS2 */
+ #include "defs.h"
+
+@@ -50,25 +50,15 @@
+
+
+ /* VARARGS */
+-#ifndef OS2
+-public void lprintf( va_alist )
+- va_dcl
+-#else
+ public void lprintf(FILE *max, ... )
+-#endif /* OS2 */
+ {
+ va_list args;
+ char *fmt;
+ FILE *fp;
+ char buff[ 300 ];
+
+-#ifndef OS2
+- va_start( args );
+- fp = va_arg( args, FILE * );
+-#else
+ va_start(args, max);
+ fp = (FILE *)max;
+-#endif /* OS2 */
+ fmt = va_arg( args, char * );
+ (void) vsprintf( buff, fmt, args );
+ va_end( args );
+@@ -84,12 +74,7 @@
+
+
+ /* VARARGS */
+-#ifndef OS2
+-public void error( va_alist )
+- va_dcl
+-#else
+ public void error(int max, ...)
+-#endif /* OS2 */
+ {
+ va_list args;
+ char *filename;
+@@ -97,14 +82,9 @@
+ char *fmt;
+ char buf1[ 100 ], buf2[ 200 ];
+
+-#ifndef OS2
+- va_start( args );
+- filename = va_arg( args, char * );
+-#else
+ filename = (char *)max;
+ max = 12;
+ va_start(args, max);
+-#endif /* OS2 */
+ lineno = va_arg( args, int );
+ fmt = va_arg( args, char * );
+ (void) sprintf( buf1, "(%s,%d): ", filename, lineno );
OpenPOWER on IntegriCloud