This replaces the one use of ftime() on BSD with gettimeofday() in
cad/spice.  gettimeofday() was already available at the time that
code was written in the 1980s.  I've followed the existing style
and not used #elif.

This also removes the useless inclusion of <sgtty.h>, which will
go away, too.

ok?

Index: Makefile
===================================================================
RCS file: /cvs/ports/cad/spice/Makefile,v
retrieving revision 1.33
diff -u -p -r1.33 Makefile
--- Makefile    10 Mar 2013 23:04:45 -0000      1.33
+++ Makefile    1 Dec 2013 21:24:02 -0000
@@ -5,7 +5,7 @@ COMMENT=        Simulation Program for Integrat
 V=                     3f5
 DISTNAME=              spice${V}
 PKGNAME=               spice-${V}
-REVISION=              6
+REVISION=              7
 CATEGORIES=            cad
 
 # BSD
Index: files/OpenBSD
===================================================================
RCS file: /cvs/ports/cad/spice/files/OpenBSD,v
retrieving revision 1.5
diff -u -p -r1.5 OpenBSD
--- files/OpenBSD       13 Nov 2011 12:50:39 -0000      1.5
+++ files/OpenBSD       1 Dec 2013 21:24:02 -0000
@@ -5,7 +5,7 @@
 MAKE           = ${MAKE_PROGRAM}
 DEFAULT_EDITOR = /usr/bin/vi
 X_DIR          = ${X11BASE}
-LDFLAGS                = -lm -ltermlib -lcompat
+LDFLAGS                = -lm -ltermlib
 SYS_CFLAGS     = -Dbsd -DHAS_STDLIB -DHAS_INTWAITSTATUS
 SYS_DIR                = ${DIST_DIR}/OpenBSD
 SPICE_DIR      = ${PREFIX}
Index: patches/patch-src_include_mfb_h
===================================================================
RCS file: /cvs/ports/cad/spice/patches/patch-src_include_mfb_h,v
retrieving revision 1.1
diff -u -p -r1.1 patch-src_include_mfb_h
--- patches/patch-src_include_mfb_h     9 May 2010 17:50:26 -0000       1.1
+++ patches/patch-src_include_mfb_h     1 Dec 2013 21:24:02 -0000
@@ -1,7 +1,18 @@
 $OpenBSD: patch-src_include_mfb_h,v 1.1 2010/05/09 17:50:26 espie Exp $
---- src/include/mfb.h.orig     Sun May  9 19:41:32 2010
-+++ src/include/mfb.h  Sun May  9 19:41:48 2010
-@@ -369,7 +369,7 @@ typedef struct mfb MFB;
+--- src/include/mfb.h.orig     Mon Oct  8 10:19:42 1990
++++ src/include/mfb.h  Sun Dec  1 22:20:06 2013
+@@ -31,6 +31,10 @@ Author: 1985 Wayne A. Christopher
+ 
+ #include <sys/types.h>
+ 
++#ifdef HAS_GETTIMEOFDAY
++#include <sys/time.h>
++#endif
++
+ #ifdef HAS_FTIME
+ #include <sys/timeb.h>
+ #endif
+@@ -369,7 +373,7 @@ typedef struct mfb MFB;
  
  extern MFB *MFBCurrent;         /* global FB structure */
  
Index: patches/patch-src_include_os_bsd_h
===================================================================
RCS file: patches/patch-src_include_os_bsd_h
diff -N patches/patch-src_include_os_bsd_h
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-src_include_os_bsd_h  1 Dec 2013 21:24:02 -0000
@@ -0,0 +1,20 @@
+$OpenBSD$
+--- src/include/os_bsd.h.orig  Sun Apr 25 01:09:46 1993
++++ src/include/os_bsd.h       Sun Dec  1 22:04:25 2013
+@@ -10,13 +10,15 @@ Copyright 1990 Regents of the University of California
+ 
+ #define HAS_NO_ATRIGH_DECL    /* if asinh( ) is not in math.h         */
+ #define HAS_ATRIGH            /* acosh( ), asinh( ), atanh( )         */
+-#define HAS_FTIME             /* ftime( ), <times.h>                  */
++#define HAS_GETTIMEOFDAY      /* gettimeofday()                       */
+ #define HAS_TERMCAP           /* tgetxxx( )                           */
+ #define HAS_VFORK             /* BSD-ism, should not be necessary     */
+ #define HAS_INDEX             /* index( ) instead of strchr( )        */
+ #define HAS_BCOPY             /* bcopy( ), bzero( )                   */
+ #define HAS_BSDRANDOM         /* srandom( ) and random( )             */
++#ifndef __OpenBSD__
+ #define HAS_BSDTTY            /* <sgtty.h>                            */
++#endif
+ #define HAS_BSDDIRS           /* <sys/dir.h>                          */
+ #define HAS_BSDRUSAGE         /* getrusage( )                         */
+ #define HAS_BSDRLIMIT         /* getrlimit( )                         */
Index: patches/patch-src_lib_mfb_mfbgnc_c
===================================================================
RCS file: /cvs/ports/cad/spice/patches/patch-src_lib_mfb_mfbgnc_c,v
retrieving revision 1.1
diff -u -p -r1.1 patch-src_lib_mfb_mfbgnc_c
--- patches/patch-src_lib_mfb_mfbgnc_c  2 Aug 2001 23:54:56 -0000       1.1
+++ patches/patch-src_lib_mfb_mfbgnc_c  1 Dec 2013 21:24:02 -0000
@@ -1,13 +1,44 @@
 $OpenBSD: patch-src_lib_mfb_mfbgnc_c,v 1.1 2001/08/02 23:54:56 pvalchev Exp $
---- src/lib/mfb/mfbgnc.c.orig  Tue Apr  9 20:08:26 1991
-+++ src/lib/mfb/mfbgnc.c       Thu Aug  2 17:06:58 2001
-@@ -25,7 +25,9 @@ Author: -C- 1982 Giles C. Billingsley
- 
- /* Library routines */
+--- src/lib/mfb/mfbgnc.c.orig  Wed Apr 10 04:08:26 1991
++++ src/lib/mfb/mfbgnc.c       Sun Dec  1 22:15:12 2013
+@@ -103,10 +103,15 @@ extern void ftime();
+ MFBGenCode(PM)
+     char *PM;
+     {
++#ifdef HAS_GETTIMEOFDAY
++    struct timeval time1, time2;
++    float reftime, elapsedtime;
++#else
  #ifdef HAS_FTIME
-+#ifndef __OpenBSD__
- extern void ftime();
-+#endif /*__OpenBSD__*/
+     struct timeb time1, time2;
+     float reftime, elapsedtime;
  #endif
- 
- /*
++#endif
+     static char result[512];    /* 512 chars maximum per transfer */
+     char hexadec();         /* return a hexadecimal character */
+     char octal();           /* return an octal character */
+@@ -146,6 +151,16 @@ MFBGenCode(PM)
+         mfbarg(cp, Reg, reg, tmp);
+         if(*cp++ != '>')
+             continue;
++#ifdef HAS_GETTIMEOFDAY
++        gettimeofday(&time1, NULL);
++        reftime = (float)(time1.tv_sec * 1000 + time1.tv_usec / 1000);
++        while(tmp > 0){
++            gettimeofday(&time2, NULL);
++            elapsedtime = (float)(time2.tv_sec * 1000 + time2.tv_usec / 1000) 
- reftime;
++            if(elapsedtime > (float)tmp)
++            break;
++            }
++#else
+ #ifdef HAS_FTIME
+         ftime(&time1);
+         reftime = (float)(time1.time * 1000 + time1.millitm);
+@@ -157,6 +172,7 @@ MFBGenCode(PM)
+             }
+ #else
+       sleep((tmp + 999) / 1000);      /* Yuk; have to round up to seconds */
++#endif
+ #endif
+         dp = result;
+         }
-- 
Christian "naddy" Weisgerber                          na...@mips.inka.de

Reply via email to