public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: sci-electronics/irsim/, sci-electronics/irsim/files/
@ 2024-05-09  1:07 Sam James
  0 siblings, 0 replies; 2+ messages in thread
From: Sam James @ 2024-05-09  1:07 UTC (permalink / raw
  To: gentoo-commits

commit:     c44da656596b377a77bf62dbd2514484c726e22c
Author:     NHOrus <jy6x2b32pie9 <AT> yahoo <DOT> com>
AuthorDate: Sun Apr 28 13:43:36 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu May  9 00:55:02 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c44da656

sci-electronics/irsim: Partially port to C99

Would have been easier if make stopped on error
I was unable to clean that up. Sadly.
But it now builds without error on Clang-Musl with GCC-14 errors

Closes: https://bugs.gentoo.org/882283
Signed-off-by: NHOrus <jy6x2b32pie9 <AT> yahoo.com>
Closes: https://github.com/gentoo/gentoo/pull/36469
Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../irsim/files/irsim-9.7.93-C99-port.patch        | 1048 ++++++++++++++++++++
 .../irsim/files/irsim-9.7.93-clean-makefile.patch  |   69 ++
 sci-electronics/irsim/irsim-9.7.93-r1.ebuild       |   44 +
 3 files changed, 1161 insertions(+)

diff --git a/sci-electronics/irsim/files/irsim-9.7.93-C99-port.patch b/sci-electronics/irsim/files/irsim-9.7.93-C99-port.patch
new file mode 100644
index 000000000000..1bcbfba8b009
--- /dev/null
+++ b/sci-electronics/irsim/files/irsim-9.7.93-C99-port.patch
@@ -0,0 +1,1048 @@
+--- a/base/sched.c	2024-04-28 12:20:10.022918999 +0000
++++ b/base/sched.c	2024-04-28 12:23:58.386463448 +0000
+@@ -49,9 +49,7 @@ private	evhdr  ev_array[TSIZE];	    /* u
+  * events are found;
+  */
+ 
+-public Ulong pending_events( delta, list, end_of_list )
+-  Ulong   delta;
+-  evptr  *list, *end_of_list;
++public Ulong pending_events( Ulong delta, evptr *list, evptr *end_of_list )
+   {
+     evhdr           *hdr;
+     register evptr  ev;
+@@ -112,8 +110,7 @@ public Ulong pending_events( delta, list
+  * the list of events to be processed at this time, removing it first
+  * from the time wheel.
+  */
+-public evptr get_next_event( stop_time )
+-  Ulong  stop_time;
++public evptr get_next_event( Ulong stop_time )
+   {
+     register evptr  event;
+     Ulong i, time, limit;
+@@ -206,8 +203,7 @@ public
+ /*
+  * remove event from all structures it belongs to and return it to free pool
+  */
+-public void free_event( event )
+-  register evptr  event;
++public void free_event( register evptr event )
+   {
+ 	/* unhook from doubly-linked event list */
+     event->blink->flink = event->flink;
+@@ -236,9 +232,7 @@ public void free_event( event )
+  * Add an event to event list, specifying transition delay and new value.
+  * 0 delay transitions are converted into unit delay transitions (0.01 ns).
+  */
+-public void enqueue_event( n, newvalue, delta, rtime )
+-  register nptr  n;
+-  long           delta, rtime;
++public void enqueue_event( register nptr n, int newvalue, long delta, long rtime )
+   {
+     register evptr  marker, new;
+     Ulong   etime;
+@@ -309,8 +303,7 @@ public void enqueue_event( n, newvalue,
+ 
+ 
+ /* same as enqueue_event, but assumes 0 delay and rise/fall time */
+-public void enqueue_input( n, newvalue )
+-  register nptr  n;
++public void enqueue_input( register nptr n, int newvalue )
+   {
+     register evptr  marker, new;
+     register Ulong  etime;
+@@ -361,9 +354,7 @@ public void init_event()
+   }
+ 
+ 
+-public void PuntEvent( node, ev )
+-  nptr   node;
+-  evptr  ev;
++public void PuntEvent( nptr node, evptr ev )
+   {
+     if( node->nflags & WATCHED )
+ 	lprintf( stdout,
+@@ -383,9 +374,7 @@ public void PuntEvent( node, ev )
+   }
+ 
+ 
+-public void requeue_events( evlist, thread )
+-  evptr  evlist;
+-  int    thread;
++public void requeue_events( evptr evlist, int thread )
+   {
+     register Ulong   etime;
+     register evptr  ev, next, target;
+@@ -441,9 +430,7 @@ public void requeue_events( evlist, thre
+  * and re-enqueue them according to their creation-time (ntime - delay).
+  */
+ 
+-public evptr back_sim_time( btime, is_inc )
+-  Ulong  btime;
+-  int   is_inc;
++public evptr back_sim_time( Ulong btime, int is_inc )
+   {
+     evptr           tmplist;
+     register int    nevents;
+@@ -530,10 +517,7 @@ public evptr back_sim_time( btime, is_in
+  * of every node.  Return FALSE if this history entry is the sentinel
+  * (last_hist), otherwise return TRUE.
+  */
+-public int EnqueueHist( nd, hist, type )
+-  nptr  nd;
+-  hptr  hist;
+-  int   type;
++public int EnqueueHist( nptr nd, hptr hist, int type )
+   {
+     register evptr  marker, new;
+     register Ulong   etime;
+@@ -608,8 +592,7 @@ public int EnqueueHist( nd, hist, type )
+  * Find a scheduled event in the event queue and return a pointer to it.
+  */
+ 
+-public evptr FindScheduled(idx)
+-   short idx;
++public evptr FindScheduled(short idx)
+ {
+     register evptr  ev, next;
+     register evhdr  *hdr, *endhdr;
+@@ -632,8 +615,7 @@ public evptr FindScheduled(idx)
+  * Remove a scheduled event from the event queue
+  */
+ 
+-public void DequeueScheduled(idx)
+-   short idx;
++public void DequeueScheduled(short idx)
+ {
+     register evptr  ev;
+ 
+@@ -646,8 +628,7 @@ public void DequeueScheduled(idx)
+  * that generated it.
+  */
+ 
+-public void DequeueEvent( nd )
+-  register nptr nd;
++public void DequeueEvent( register nptr nd )
+   {
+     register evptr  ev;
+ 
+@@ -662,9 +643,7 @@ public void DequeueEvent( nd )
+   }
+ 
+ 
+-public void DelayEvent( ev, delay )
+-  evptr  ev;
+-  long   delay;
++public void DelayEvent( evptr ev, long delay )
+   {
+     register evptr  marker, new;
+     register nptr   nd;
+@@ -716,9 +695,7 @@ public void DelayEvent( ev, delay )
+   }
+ 
+ 
+-public evptr EnqueueOther( type, time )
+-  int   type;
+-  Ulong  time;
++public evptr EnqueueOther( int type, Ulong time )
+   {
+     register evptr  marker, new;
+     Ulong   etime;
+@@ -751,8 +728,7 @@ public evptr EnqueueOther( type, time )
+ /*
+  * Remove any events that may be left from the incremental simulation.
+  */
+-public void rm_inc_events( all )
+-  int  all;
++public void rm_inc_events( int all )
+   {
+     register int    nevents;
+     register evptr  ev, next;
+--- a/analyzer/base.c	2024-04-28 12:26:45.143401236 +0000
++++ b/analyzer/base.c	2024-04-28 12:32:53.397098626 +0000
+@@ -12,6 +12,7 @@
+  *     *********************************************************************
+  */
+ 
++#include <ctype.h>
+ #include "ana.h"
+ #include "ana_glob.h"
+ #include "graphics.h"
+--- a/usersubckt/subckt.c	2024-04-28 12:26:45.163401111 +0000
++++ b/usersubckt/subckt.c	2024-04-28 12:33:41.413798388 +0000
+@@ -1,6 +1,7 @@
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <math.h>
++#include <string.h>
+ 
+ #ifdef TCL_IRSIM
+ #include <tk.h>
+--- a/base/eval.c	2024-04-28 12:34:37.043450548 +0000
++++ b/base/eval.c	2024-04-28 12:37:04.703527262 +0000
+@@ -12,6 +12,7 @@
+  *     ********************************************************************* 
+  */
+ 
++#include <stdlib.h>
+ #include <stdio.h>
+ 
+ #ifdef TCL_IRSIM
+@@ -87,8 +88,7 @@ public void ReInit()
+ /*
+  * Print decay event.
+  */
+-private void pr_decay( e )
+-  evptr  e;
++private void pr_decay( evptr e )
+   {
+     nptr  n = e->enode;
+ 
+@@ -100,9 +100,7 @@ private void pr_decay( e )
+ /*
+  * Print watched node event.
+  */
+-private void pr_watched( e, n )
+-  evptr  e;
+-  nptr   n;
++private void pr_watched( evptr e, nptr n )
+   {
+     int   tmp;
+ 
+@@ -136,9 +134,7 @@ private void pr_watched( e, n )
+ /*
+  * Print capwatched node event.
+  */
+-private void pr_capwatched( e, n )
+-  evptr  e;
+-  nptr   n;
++private void pr_capwatched( evptr e, nptr n )
+   {
+     if ( caplogfile == NULL ) 
+ 	return;
+@@ -164,8 +160,7 @@ private void pr_capwatched( e, n )
+ /*
+  * Tally cap * trans for giving stepwise power display
+  */
+-private void acc_step_power( n )
+-  nptr   n;
++private void acc_step_power( nptr n )
+   {
+      if ( not (n->nflags & INPUT) )
+ 	 step_cap_x_trans += n->ncap;
+@@ -362,8 +357,7 @@ private void MarkNodes( evlist )
+   }
+ 
+ 
+-private long EvalNodes( evlist )
+-  evptr  evlist;
++private long EvalNodes( evptr evlist )
+   {
+     register tptr   t;
+     register lptr   l;
+@@ -439,9 +433,7 @@ private long EvalNodes( evlist )
+  * Change the state of the nodes in the given input list to their new value,
+  * setting their INPUT flag and enqueueing the event.
+  */
+-private void SetInputs( listp, val )
+-  register iptr  *listp;
+-  register int   val;
++private void SetInputs( iptr *listp, int val )
+   {
+     register nptr  n;
+     iptr           ip, last;
+@@ -507,8 +499,7 @@ private void EvalNOinputs()
+   }
+ 
+ 
+-public int step( stop_time )
+-  Ulong  stop_time;
++public int step( Ulong stop_time )
+   {
+     evptr  evlist;
+     long   brk_flag;
+@@ -594,8 +585,7 @@ public
+ 	switch_state[ BASETYPE( (TRANS)->ttype ) ][ (TRANS)->gate->npot ] )
+ 
+ 
+-public int ComputeTransState( t )
+-  register tptr  t;
++public int ComputeTransState( tptr t )
+   {
+     register nptr  n;
+     register tptr  l;
+--- a/analyzer/defaults.c	2024-04-28 12:34:37.034450604 +0000
++++ b/analyzer/defaults.c	2024-04-28 12:37:56.488203464 +0000
+@@ -68,8 +68,7 @@ private	Assoc assoc[] =
+ 
+ private	char  *irsim = "irsim";
+ 
+-public char *GetXDefault( key )
+-  int  key;
++public char *GetXDefault( int key )
+   {
+     char         *val;
+ 
+@@ -78,9 +77,7 @@ public char *GetXDefault( key )
+   }
+ 
+ 
+-public int IsDefault( key, val )
+-  int   key;
+-  char  *val;
++public int IsDefault( int key, char *val )
+   {
+     if( assoc[ key ].defl == val )
+ 	return( TRUE );
+@@ -88,7 +85,7 @@ public int IsDefault( key, val )
+   }
+ 
+ 
+-public char *ProgDefault( key )
++public char *ProgDefault( int key )
+   {
+     return( assoc[ key ].defl );
+   }
+--- a/irsim/genspktbl.c	2024-04-28 12:34:37.038450579 +0000
++++ b/irsim/genspktbl.c	2024-04-28 12:41:02.530040185 +0000
+@@ -49,9 +49,7 @@ double	delaytab[ SPIKETBLSIZE + 1 ][ SPI
+ FILE	*F;
+ 
+ 
+-main( argc, argv )
+-  int   argc;
+-  char  *argv[];
++int main( int argc, char *argv[] )
+   {
+     char  *fname;
+     char  *size = "SPIKETBLSIZE";
+@@ -95,9 +93,7 @@ main( argc, argv )
+   }
+ 
+ 
+-void PrintTable( tab, fmt )
+-  double  tab[ SPIKETBLSIZE+1 ][ SPIKETBLSIZE+1 ];
+-  char    *fmt;
++void PrintTable( double tab[ SPIKETBLSIZE+1 ][ SPIKETBLSIZE+1 ], char *fmt )
+   {
+     register  int  alpha, beta;
+ 
+@@ -204,8 +200,7 @@ void rk4_error( which, alpha, beta, h )
+  *         i) h == .001; .04 < alpha < .96; .04 < beta < .96
+  * 	  ii) h == .01;  .1  < alpha < .9;  .1  < beta < .9
+  */
+-double nldl_rk4( alpha, beta, h )
+-  double alpha, beta, h;
++double nldl_rk4( double alpha, double beta, double h )
+   {   
+     double        k11, k12, k21, k22, k31, k32, k41, k42;
+     double        v1old, v1new, v2old, v2new;
+@@ -247,8 +242,7 @@ double nldl_rk4( alpha, beta, h )
+  * This routine computes the parameter vector for Runge-Kutta method.
+  * Customized for 2-transistors-2-capacitors network driven by Gnd.
+  */
+-void nldl_vector( alpha, beta, h, v1, v2, k1, k2 )
+-  double alpha, beta, h, v1, v2, *k1, *k2;
++void nldl_vector( double alpha, double beta, double h, double v1, double v2, double *k1, double *k2 )
+   {   
+     double  u1, u2;
+     
+@@ -276,8 +270,7 @@ void nldl_vector( alpha, beta, h, v1, v2
+  *         i) h == .001; .04 < alpha < .96; .04 < beta < .96
+  * 	  ii) h == .01;  .1  < alpha < .9;  .1  < beta < .9
+  */
+-double nldh_rk4( alpha, beta, h )
+-  double alpha, beta, h;
++double nldh_rk4( double alpha, double beta, double h )
+   {   
+     double        k11, k12, k21, k22, k31, k32, k41, k42;
+     double        v1old, v1new, v2old, v2new;
+@@ -319,8 +312,7 @@ double nldh_rk4( alpha, beta, h )
+  * This routine computes the parameter vector for Runge-Kutta method.
+  * Customized for 2-transistors-2-capacitors network driven by Vdd.
+  */
+-void nldh_vector( alpha, beta, h, v1, v2, k1, k2 )
+-  double alpha, beta, h, v1, v2, *k1, *k2;
++void nldh_vector( double alpha, double beta, double h, double v1, double v2, double *k1, double *k2 )
+   {   
+     double  u1, u2;
+     
+@@ -336,8 +328,7 @@ void nldh_vector( alpha, beta, h, v1, v2
+  * Compute spike fluctuation and delay using an rc linear model.
+  * Use equations for driven by Gnd case
+  */
+-void linear_spike( alpha, beta, delay, peak )
+-  double  alpha, beta, *delay, *peak;
++void linear_spike( double alpha, double beta, double *delay, double *peak )
+   {
+     double  N, b, a, x, tmp;
+ 
+--- a/base/network.c	2024-04-28 12:41:53.555721132 +0000
++++ b/base/network.c	2024-04-28 12:42:11.689607745 +0000
+@@ -14,6 +14,7 @@
+ 
+ #include <stdio.h>
+ #include <stdlib.h>
++#include <string.h>
+ 
+ #include "defs.h"
+ #include "net.h"
+--- a/analyzer/graphics.c	2024-04-28 12:41:53.545721195 +0000
++++ b/analyzer/graphics.c	2024-04-28 12:43:47.122011027 +0000
+@@ -51,10 +51,7 @@ private	char   bots_bits[3][2] = { 0x7,
+ #define	SAME_COLOR( A, B )	\
+     ( (A).red == (B).red and (A).green == (B).green and (A).blue == (B).blue )
+ 
+-private int GetColor( key, colors, ndefined )
+-  int     key;
+-  XColor  colors[];
+-  int     ndefined;
++private int GetColor( int key, XColor colors[], int ndefined )
+   {
+     char      *s;
+     XColor    *color;
+@@ -222,10 +219,7 @@ private void InitBitmaps()
+   }
+ 
+ 
+-private Cursor MakeCursor( fg, bg, curs, mask, w, h, x, y )
+-  XColor  *fg, *bg;
+-  char    *curs, *mask;
+-  int     w, h;
++private Cursor MakeCursor( XColor *fg, XColor *bg, char *curs, char *mask, int w, int h, int x, int y )
+   {
+     Pixmap  pcurs, pmask;
+     Cursor  cu;
+@@ -269,8 +263,7 @@ private void InitCursors()
+   }
+ 
+ 
+-public void InitGraphics(font)
+-  Font  font;
++public void InitGraphics(Font font)
+   {
+     XGCValues      gcv;
+     unsigned long  mask;
+--- a/base/globals.h	2024-04-28 12:46:58.066915955 +0000
++++ b/base/globals.h	2024-04-28 12:47:08.011858981 +0000
+@@ -307,8 +307,8 @@ extern evptr back_sim_time( /*  btime, i
+ extern int EnqueueHist( /*  nd, hist, type */ );
+ extern void DequeueEvent( /*  nd */ );
+ extern void DelayEvent( /*  ev, delay */ );
+-extern evptr FindScheduled( /* idx */ );
+-extern void DequeueScheduled( /* idx */ );
++extern evptr FindScheduled( short /* idx */ );
++extern void DequeueScheduled( short /* idx */ );
+ extern evptr EnqueueOther( /*  type, time */ );
+ extern void rm_inc_events( /*  all */ );
+ 
+--- a/analyzer/thread.c	2024-04-28 12:46:58.057916007 +0000
++++ b/analyzer/thread.c	2024-04-28 12:50:55.220557323 +0000
+@@ -21,6 +21,11 @@ extern Display *display;
+ extern Window  window;
+ extern Func FGetEvent;
+ 
++extern void HandleButton( XButtonEvent *ev );
++extern void HandleKey( XKeyEvent *ev );
++extern void WindowExposed( XExposeEvent *event );
++extern void WindowResize( XConfigureEvent *ev );
++
+ pthread_t xloop_thread = 0;
+ Func EventHandlerPtr = NULL;
+ 
+--- a/analyzer/event.c	2024-04-28 12:46:58.056916012 +0000
++++ b/analyzer/event.c	2024-04-28 12:51:03.429510295 +0000
+@@ -61,8 +61,7 @@ private	int     x_server = 0;
+ private	int     x_helper = 0;		/* process id of helper process */
+ public	Func    FGetEvent = NULL;	/* used also in thread.c */
+ 
+-public void WindowResize( ev )
+-  XConfigureEvent  *ev;
++public void WindowResize( XConfigureEvent *ev )
+   {
+     int  ret;
+ 
+@@ -75,8 +74,7 @@ public void WindowResize( ev )
+   }
+ 
+ 
+-public void WindowExposed( event )
+-  XExposeEvent  *event;
++public void WindowExposed( XExposeEvent *event )
+   {
+     BBox  box;
+ 
+@@ -88,8 +86,7 @@ public void WindowExposed( event )
+   }
+ 
+ 
+-public void HandleButton( ev )
+-  XButtonEvent  *ev;
++public void HandleButton( XButtonEvent *ev )
+   {
+     if( WITHINY( ev->y, scrollBox ) )
+ 	DoScrollBar( ev );
+@@ -123,8 +120,7 @@ public void HandleButton( ev )
+   }
+ 
+ 
+-public void HandleKey( ev )
+-  XKeyEvent  *ev;
++public void HandleKey( XKeyEvent *ev )
+   {
+     char  buff[ 40 ];
+     int   nChars, i;
+@@ -312,8 +308,7 @@ private void DisabledEventHandler()
+ 
+ #ifdef NEED_HELPER
+ 
+-private int StartHelper( fd )
+-  int  fd;
++private int StartHelper( int fd )
+   {
+     extern char  *cad_bin, *getenv();
+     static char  helper_name[] = "anXhelper";
+@@ -355,8 +350,7 @@ private int StartHelper( fd )
+ 
+ #endif /* NEED_HELPER */
+ 
+-public int InitHandler( fd )
+-  int fd;
++public int InitHandler( int fd )
+   {
+     int   flags;
+     char  *senv;
+--- a/base/rsim.c	2024-04-28 12:52:49.085904998 +0000
++++ b/base/rsim.c	2024-04-28 12:54:47.655225725 +0000
+@@ -95,6 +95,10 @@ public  float   step_cap_x_trans = 0;	/*
+ private int undefseq( /* p, list, lmax */ );
+ private int clockit( /* n */ );
+ 
++extern void EnableInput( /* */ );
++extern void DisableInput( /* */ );
++extern void alias( int targc, char *targv[] );
++
+ #ifdef TCL_IRSIM
+ extern Tcl_Interp *irsiminterp;
+ extern int check_interrupt();
+--- a/base/sim.c	2024-04-28 13:06:59.729744120 +0000
++++ b/base/sim.c	2024-04-28 13:08:52.060038672 +0000
+@@ -22,7 +22,7 @@
+  *  2. static power calculations not performed (only useful for nmos anyhow).
+  */
+ 
+-
++#include <math.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
+@@ -88,9 +88,7 @@ private	char    bad_argc_msg[] = "Wrong
+   }							\
+ 
+ 
+-private void PrArgs( argc, argv )
+-  int   argc;
+-  char  *argv[];
++private void PrArgs( int argc, char *argv[] )
+   {
+     while( argc-- != 0 )
+       (void) fprintf( stderr, "%s ", *argv++ );
+@@ -98,7 +96,7 @@ private void PrArgs( argc, argv )
+   }
+ 
+ 
+-private void CheckErrs( n )
++private void CheckErrs( int n )
+   {
+     nerrs += n;
+     if( nerrs > MAX_ERRS )
+@@ -181,9 +179,7 @@ private nptr connect_txtors()
+ /*
+  * node area and perimeter info (N sim command).
+  */
+-private void node_info( targc, targv )
+-  int   targc;
+-  char  *targv[];
++private void node_info( int targc, char *targv[] )
+   {
+     register nptr  n;
+ 
+@@ -202,9 +198,7 @@ private void node_info( targc, targv )
+ /*
+  * new format node area and perimeter info (M sim command).
+  */
+-private void nnode_info( targc, targv )
+-  int   targc;
+-  char  *targv[];
++private void nnode_info( int targc, char *targv[] )
+   {
+     register nptr  n;
+ 
+@@ -233,9 +227,7 @@ private	int    AP_error = FALSE;
+ /* lambda^2 and lambda, respectively.			*/
+ /*------------------------------------------------------*/
+ 
+-private int parseAttr(str, a, p)
+-char *str;
+-int *a, *p;
++private int parseAttr(char *str, int *a, int *p)
+ {
+    int l;
+    char *s;
+@@ -260,8 +252,7 @@ int *a, *p;
+ /* Default (unspecified) values are treated as ohms.		*/
+ /*--------------------------------------------------------------*/
+ 
+-private float rconvert( resstring )
+-  char *resstring;
++private float rconvert( char *resstring )
+ {
+    /* Convert string to floating-point, and stop at the	*/
+    /* first non-numeric character.			*/
+@@ -298,8 +289,7 @@ private float rconvert( resstring )
+ /* converted to centimicrons using the LAMBDACM factor.		*/
+ /*--------------------------------------------------------------*/
+ 
+-private float lconvert( lstring )
+-  char *lstring;
++private float lconvert( char *lstring )
+ {
+    /* Convert string to floating-point, and stop at the	*/
+    /* first non-numeric character.			*/
+@@ -331,10 +321,7 @@ private float lconvert( lstring )
+  * new transistor.  Implant specifies type.
+  * AreaPos specifies the argument number that contains the area (if any).
+  */
+-private void newtrans( implant, targc, targv )
+-  int   implant;
+-  int   targc;
+-  char  *targv[];
++private void newtrans( int implant, int targc, char *targv[] )
+   {
+     nptr           gate, src, drn;
+     long           x, y;
+@@ -469,9 +456,7 @@ printf("LAMBDA=%f CDA=%f CDP=%f asrc=%d
+ /*
+  * accept a bunch of aliases for a node (= sim command).
+  */
+-public void alias( targc, targv )
+-  int   targc;
+-  char  *targv[];
++public void alias( int targc, char *targv[] )
+   {
+     register nptr  n, m;
+     register int   i;
+@@ -510,9 +495,7 @@ public void alias( targc, targv )
+ /*
+  * node threshold voltages (t sim command).
+  */
+-private void nthresh( targc, targv )
+-  int   targc;
+-  char  *targv[];
++private void nthresh( int targc, char *targv[] )
+   {
+     register nptr  n;
+ 
+@@ -528,9 +511,7 @@ private void nthresh( targc, targv )
+ /*
+  * User delay for a node (D sim command).
+  */
+-private void ndelay( targc, targv )
+-  int   targc;
+-  char  *targv[];
++private void ndelay( int targc, char *targv[] )
+   {
+     register nptr  n;
+ 
+@@ -543,8 +524,7 @@ private void ndelay( targc, targv )
+     n->tphl = ns2d( atof( targv[3] ) );
+   }
+ 
+-private float cconvert( capstring )
+-  char *capstring;
++private float cconvert( char *capstring )
+ {
+    /* Convert string to floating-point, and stop at the	*/
+    /* first non-numeric character.			*/
+@@ -577,9 +557,7 @@ private float cconvert( capstring )
+ /*
+  * add capacitance to a node (c sim command).
+  */
+-private void ncap( targc, targv )
+-  int   targc;
+-  char  *targv[];
++private void ncap( int targc, char *targv[] )
+   {
+     register nptr n, m;
+     float         cap;
+@@ -610,9 +588,7 @@ private void ncap( targc, targv )
+ /*
+  * parse input line into tokens, filling up carg and setting targc
+  */
+-private int parse_line( line, carg )
+-  register char  *line;
+-  register char  **carg;
++private int parse_line( register char *line, register char **carg )
+   {
+     register char  ch;
+     register int   targc;
+@@ -637,9 +613,7 @@ private int parse_line( line, carg )
+ private	int    R_error = FALSE;
+ private	int    A_error = FALSE;
+ 
+-private int input_sim (simfile, has_param_file)
+-  char  *simfile;
+-  int   has_param_file;
++private int input_sim (char *simfile, int has_param_file)
+ {
+     FILE  *fin;
+     char  line[LSIZE];
+@@ -699,7 +673,7 @@ private int input_sim (simfile, has_para
+ 		offset = ftell(fin);
+ 		olineno = lineno;
+ 		(void) fclose(fin);
+-		(void) input_sim(targv[1]);
++		(void) input_sim(targv[1], 0);
+ 		if ((fin = fopen(simfile, "r")) == NULL)
+ 		{
+ 		    rsimerror(simfname, lineno, "can't re-open sim file '%s'\n",
+@@ -872,10 +846,7 @@ private void init_counts()
+ }
+ 
+ 
+-public int rd_network( simfile, prefix, has_param_file )
+-  char  *simfile;
+-  char  *prefix;
+-  int   has_param_file;
++public int rd_network( char *simfile, char *prefix, int has_param_file )
+   {
+     static int      firstcall = 1;
+ 
+--- a/analyzer/window.c	2024-04-28 13:06:59.720744176 +0000
++++ b/analyzer/window.c	2024-04-28 13:16:43.176080004 +0000
+@@ -18,6 +18,7 @@
+  */
+ #include <stdio.h>
+ #include <string.h>   /* for strlen() */
++#include <stdlib.h>
+ #include "ana.h"
+ #include <X11/Xutil.h>
+ #include "graphics.h"
+@@ -45,12 +46,13 @@ public	int         bannerLen;
+ private	void    DrawSignal(), DrawVector(), DrawCursor();
+ private	void    MoveCursorToPos(), EraseCursor();
+ 
++extern int xloop_create();
++
+ /*
+  * Convert a time to its corresponding x position.
+  */
+ 
+-public Coord TimeToX(t)
+-    TimeType t;
++public Coord TimeToX(TimeType t)
+ {
+     Coord xval;
+ 
+@@ -68,8 +70,7 @@ public Coord TimeToX(t)
+  * Return (MAX_TIME) if the point lies outside the traces window.
+  */
+ 
+-public TimeType XToTime(x)
+-    Coord  x;
++public TimeType XToTime(Coord x)
+ {
+     float  tmp;
+     int denom;
+@@ -140,9 +141,7 @@ public int SetFont()
+  * Initialize the windows and various other metrics.
+  */
+ 
+-public int InitDisplay( fname, display_unit )
+-  char  *fname;
+-  char  *display_unit;
++public int InitDisplay( char *fname, char *display_unit )
+   {
+ #ifdef HAVE_PTHREADS
+     XInitThreads();
+@@ -180,11 +179,7 @@ public int InitDisplay( fname, display_u
+   }
+ 
+ 
+-public int InitWindow( firstTime, state, x, y, w, h, ix, iy )
+-  int    firstTime;
+-  int    state;
+-  Coord  x, y, w, h;
+-  Coord  ix, iy;
++public int InitWindow( int firstTime, int state, Coord x, Coord y, Coord w, Coord h, Coord ix, Coord iy )
+   {
+     int                   spec, u_spec;
+     static int            b;
+@@ -283,9 +278,7 @@ public
+  * shown on the screen.  Default width is DEF_STEPS (simulation) steps.
+  */
+ 
+-public void InitTimes(firstT, stepsize, lastT, reInit)
+-  TimeType  firstT, stepsize, lastT;
+-  int reInit;
++public void InitTimes(TimeType firstT, TimeType stepsize, TimeType lastT, int reInit)
+ {
+     tims.first = firstT;
+     tims.last = lastT;
+@@ -324,8 +317,7 @@ public void InitTimes(firstT, stepsize,
+ /*
+  * Redraw any region that overlaps the redraw-box.
+  */
+-public void RedrawWindow( box )
+-  BBox  box;
++public void RedrawWindow( BBox box )
+   {
+ 
+ #ifndef TCL_IRSIM
+@@ -392,8 +384,7 @@ public void RedrawBanner()
+   }
+ 
+ 
+-public void WindowCrossed( selected )
+-  int  selected;
++public void WindowCrossed( int selected )
+   {
+     GC  color;
+ 
+@@ -463,8 +454,7 @@ public void RedrawTimes()
+   }
+ 
+ 
+-public void UpdateTimes( start, end )
+-  TimeType  start, end;
++public void UpdateTimes( TimeType start, TimeType end )
+   {
+     static TimeType  ostart, oend;
+     static int       slen, elen;
+@@ -503,8 +493,7 @@ public void UpdateTimes( start, end )
+ /*
+  * Redraw signal names.
+  */
+-public void RedrawNames( rb )
+-  BBox  rb;
++public void RedrawNames( BBox rb )
+   {
+     Coord  x, y;
+     Trptr  t;
+@@ -540,8 +529,7 @@ public void RedrawNames( rb )
+  * This will redraw the missing parts of the traces.  Used to selectivelly
+  * repaint traces or during Exposure events.
+  */
+-public void RedrawTraces( box )
+-  BBox  *box;
++public void RedrawTraces( BBox *box )
+   {
+     TimeType        t1, t2, tc;
+     BBox            bg;
+@@ -603,8 +591,7 @@ public void RedrawTraces( box )
+  * Update the cache (begining of window and cursor) for traces that just
+  * became visible ( or were just added ).
+  */
+-public void UpdateTraceCache( first_trace )
+-  int  first_trace;
++public void UpdateTraceCache( int first_trace )
+   {
+     register Trptr     t;
+     register hptr      h,p;
+@@ -710,8 +697,7 @@ public void FlushTraceCache()
+ /*
+  * Draw the traces horizontally from time1 to time2.
+  */
+-public void DrawTraces( t1, t2 )
+-  TimeType  t1, t2;
++public void DrawTraces( TimeType t1, TimeType t2 )
+   {
+     TimeType         endT;
+     register Trptr   t;
+@@ -779,9 +765,7 @@ public void DrawTraces( t1, t2 )
+ /*
+  * Draw a 1 bit trace.
+  */
+-private void DrawSignal( t, t1, t2 )
+-  Trptr              t;
+-  register TimeType  t1, t2;
++private void DrawSignal( Trptr t, register TimeType t1, register TimeType t2 )
+   {
+     register hptr  h;
+     register int   val, change;
+@@ -847,10 +831,7 @@ public	hptr    tmpHBuff[ 400 ];
+ /*
+  * Draw bus trace.
+  */
+-private void DrawVector( t, t1, t2, clr_bg )
+-  register Trptr     t;
+-  register TimeType  t1, t2;
+-  int                clr_bg;
++private void DrawVector( register Trptr t, register TimeType t1, register TimeType t2, int clr_bg )
+   {
+     hptr      *start, *changes;
+     TimeType  firstChange;
+@@ -997,8 +978,7 @@ private void DrawVector( t, t1, t2, clr_
+ 
+ 
+ 
+-private void UpdateTraces( start, end )
+-  TimeType  start, end;
++private void UpdateTraces( TimeType start, TimeType end )
+   {
+     if( not (windowState.iconified or windowState.tooSmall) )
+       {
+@@ -1009,8 +989,7 @@ private void UpdateTraces( start, end )
+   }
+ 
+ 
+-private void ScrollTraces( endT )
+-  TimeType  endT;
++private void ScrollTraces( TimeType endT )
+   {
+     tims.start = endT - tims.steps / 2;
+     tims.end = tims.start + tims.steps;
+@@ -1023,8 +1002,7 @@ private void ScrollTraces( endT )
+  * window, simply draw the missing parts.  Otherwise scroll the traces,
+  * centered around endT.
+  */
+-public void UpdateWindow( endT )
+-  TimeType  endT;
++public void UpdateWindow( TimeType endT )
+   {
+     TimeType  lastT;
+ 
+@@ -1108,9 +1086,7 @@ private void  DrawCursor()
+   }
+ 
+ 
+-public void SetCursor( t, time )
+-  Trptr t;
+-  TimeType time;
++public void SetCursor( Trptr t, TimeType time )
+ {
+     register hptr  h, p;
+     register int   n;
+@@ -1150,8 +1126,7 @@ public void SetCursor( t, time )
+     PRINTF( "%s, input=%s", val, inp );
+ }
+ 
+-void DoCursor( ev )
+-  XButtonEvent  *ev;
++void DoCursor( XButtonEvent *ev )
+   {
+     Trptr     t;
+     TimeType  time;
+@@ -1249,8 +1224,7 @@ public void MoveCursorToTime(TimeType ti
+     DrawCursVal( cursorBox );
+   }
+ 
+-private void MoveCursorToPos( x )
+-  Coord  x;
++private void MoveCursorToPos( Coord x )
+ {
+     register TimeType  time;
+ 
+@@ -1264,8 +1238,7 @@ private	char  *StrMap[] = { "0", "X", ""
+ /*
+  * Display signal values under cursor.
+  */
+-public void DrawCursVal( rb )
+-  BBox  rb;
++public void DrawCursVal( BBox rb )
+   {
+     Coord        y;
+     Trptr        t;
+@@ -1301,8 +1274,7 @@ public void DrawCursVal( rb )
+   }
+ 
+ 
+-public void ExpandCursVal( t )
+-  Trptr  t;
++public void ExpandCursVal( Trptr t )
+   {
+     char          *val;
+     int           nbits;
+--- a/irsim/irsim.c	2024-04-28 13:17:14.664882250 +0000
++++ b/irsim/irsim.c	2024-04-28 13:22:11.241001493 +0000
+@@ -24,8 +24,11 @@
+ #include "../usersubckt/subckt.h"
+ #endif
+ 
++extern void InitCmdPath();
++extern public void init_commands();
++extern int finput( char *name);
++
+ /* VARARGS1 */
+-public void Usage( msg, s1 )
+-  char  *msg, *s1;
++public void Usage( char *msg, char *s1 )
+   {
+     (void) fprintf( stderr, msg, s1 );
+@@ -39,8 +43,7 @@ public void Usage( msg, s1 )
+ 
+ /* Main routine for irsim */
+ 
+-public main( argc, argv )
+-   char *argv[];
++public int main( int argc, char *argv[] )
+   {
+     int  i, arg1, has_param_file;
+ 
+--- a/irsim/gentbl.c	2024-04-28 13:24:29.662121434 +0000
++++ b/irsim/gentbl.c	2024-04-28 13:25:36.970693497 +0000
+@@ -35,7 +35,7 @@ FILE  *out;
+ 
+ 
+ /* name of interval */
+-char *pinterval( high, low )
++char *pinterval( int high, int low )
+   {
+     static char  temp[100];
+ 
+@@ -48,8 +48,7 @@ char *pinterval( high, low )
+ 
+ 
+ /* return strength of value */
+-int strength( i )
+-  register int  i;
++int strength( register int i )
+   {
+     if( (i -= NVALUES) < 0 )
+ 	i = -i;
+@@ -60,14 +59,14 @@ int strength( i )
+ #define max( A, B )			( ((A) > (B)) ? (A) : (B) )
+ 
+ /* find the enclosing interval */
+-char *span( ihigh, ilow, jhigh, jlow )
++char *span( int ihigh,int ilow,int jhigh, int jlow )
+   {
+     return( pinterval( min( ihigh, jhigh ), max( ilow, jlow ) ) );
+   }
+ 
+ 
+ /* merge two intervals using least-upper bound operation */
+-char *merge( ihigh, ilow, jhigh, jlow )
++char *merge( int ihigh, int ilow, int jhigh, int jlow )
+   {
+     register int  ahigh, alow;
+ 
+@@ -94,7 +93,7 @@ char *merge( ihigh, ilow, jhigh, jlow )
+ 
+ 
+ /* convert interval to use weak values */
+-char *weak( i, j )
++char *weak( int i, int j )
+   {
+     if( i == 0 )
+ 	i = 1;
+@@ -108,7 +107,7 @@ char *weak( i, j )
+   }
+ 
+ 
+-main()
++int main(void)
+   {
+     register int  i, j, k, ii, jj, interval2;
+ 

diff --git a/sci-electronics/irsim/files/irsim-9.7.93-clean-makefile.patch b/sci-electronics/irsim/files/irsim-9.7.93-clean-makefile.patch
new file mode 100644
index 000000000000..6e563ecbb916
--- /dev/null
+++ b/sci-electronics/irsim/files/irsim-9.7.93-clean-makefile.patch
@@ -0,0 +1,69 @@
+--- a/Makefile	2024-04-28 12:09:30.171997301 +0000
++++ b/Makefile	2024-04-28 12:12:42.709770097 +0000
+@@ -33,26 +33,26 @@ config:
+ tcllibrary: modules
+ 	@echo --- making Tcl shared-object libraries
+ 	for dir in ${PROGRAMS}; do \
+-		(cd $$dir && ${MAKE} tcl-main); done
++		${MAKE} -C $$dir tcl-main; done
+ 
+ mains: modules
+ 	@echo --- making main programs
+ 	for dir in ${PROGRAMS}; do \
+-		(cd $$dir && ${MAKE} main); done
++		${MAKE} -C $$dir main; done
+ 
+ modules:
+ 	@echo --- making modules
+ 	for dir in ${MODULES}; do \
+-		(cd $$dir && ${MAKE} module); done
++		${MAKE} -C $$dir module; done
+ 
+ libs:
+ 	@echo --- making libraries
+ 	for dir in ${LIBRARIES}; do \
+-		(cd $$dir && ${MAKE} lib); done
++		${MAKE} -C $$dir lib; done
+ 
+ depend:
+ 	for dir in ${MODULES} ${PROGRAMS}; do \
+-		(cd $$dir && ${MAKE} depend); done
++		${MAKE} -C $$dir depend; done
+ 
+ install: $(INSTALL_TARGET)
+ 
+@@ -63,9 +63,9 @@ install-irsim:
+ 
+ install-real: install-dirs
+ 	for dir in ${INSTALL_CAD_DIRS}; do \
+-		(cd $$dir && ${MAKE} install); done
++		${MAKE} -C $$dir install; done
+ 	for dir in ${PROGRAMS}; do \
+-		(cd $$dir && ${MAKE} install); done
++		${MAKE} -C $$dir install; done
+ 
+ install-tcl-dirs:
+ 	${IRSIMDIR}/scripts/mkdirs $(DESTDIR)${BINDIR} $(DESTDIR)${MANDIR} \
+@@ -82,11 +82,11 @@ install-tcl:
+ 
+ install-tcl-real: install-tcl-dirs
+ 	for dir in ${INSTALL_CAD_DIRS} ${PROGRAMS}; do \
+-		(cd $$dir && ${MAKE} install-tcl); done
++		${MAKE} -C $$dir install-tcl; done
+ 
+ clean:
+ 	for dir in ${MODULES} ${PROGRAMS} ${UNUSED_MODULES}; do \
+-		(cd $$dir && ${MAKE} clean); done
++		${MAKE} -C $$dir clean; done
+ 	${RM} *.log
+ 
+ distclean:
+@@ -109,7 +109,7 @@ dist:
+ 
+ clean-mains:
+ 	for dir in ${PROGRAMS}; do \
+-		(cd $$dir && ${RM} $$dir}; done
++		(cd $$dir && ${RM} $$dir); done
+ 
+ tags:
+ 	${RM} tags

diff --git a/sci-electronics/irsim/irsim-9.7.93-r1.ebuild b/sci-electronics/irsim/irsim-9.7.93-r1.ebuild
new file mode 100644
index 000000000000..55018f2c0ccd
--- /dev/null
+++ b/sci-electronics/irsim/irsim-9.7.93-r1.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="IRSIM is a \"switch-level\" simulator"
+HOMEPAGE="http://opencircuitdesign.com/irsim/"
+SRC_URI="http://opencircuitdesign.com/irsim/archive/${P}.tgz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+	dev-lang/tcl:=
+	dev-lang/tk:=
+"
+DEPEND="${RDEPEND}"
+BDEPEND="app-shells/tcsh"
+
+PATCHES=(
+	"${FILESDIR}"/${PN}-9.7.72-ldflags.patch
+	"${FILESDIR}"/${PN}-9.7.79-datadir.patch
+	"${FILESDIR}"/${PN}-9.7.93-clean-makefile.patch
+	"${FILESDIR}"/${PN}-9.7.93-C99-port.patch
+)
+
+src_configure() {
+	# Short-circuit top-level configure script to retain CFLAGS
+	cd scripts || die
+	econf
+}
+
+pkg_postinst() {
+	einfo
+	einfo "You will probably need to add to your ~/.Xdefaults"
+	einfo "the following line:"
+	einfo "irsim.background: black"
+	einfo
+	einfo "This is needed because Gentoo from default sets a"
+	einfo "grey background which makes impossible to see the"
+	einfo "simulation (white line on light gray background)."
+	einfo
+}


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sci-electronics/irsim/, sci-electronics/irsim/files/
@ 2024-05-09  1:07 Sam James
  0 siblings, 0 replies; 2+ messages in thread
From: Sam James @ 2024-05-09  1:07 UTC (permalink / raw
  To: gentoo-commits

commit:     a627ab93fb3ed4cfdf558c2d48ee6eb0e0a71e43
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu May  9 01:06:24 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu May  9 01:06:24 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a627ab93

sci-electronics/irsim: move patches to devspace

Signed-off-by: Sam James <sam <AT> gentoo.org>

 sci-electronics/irsim/Manifest                     |    1 +
 .../irsim/files/irsim-9.7.93-C99-port.patch        | 1048 --------------------
 .../irsim/files/irsim-9.7.93-Makefile.patch        |   15 -
 .../irsim/files/irsim-9.7.93-clean-makefile.patch  |   69 --
 sci-electronics/irsim/irsim-9.7.93-r1.ebuild       |   11 +-
 5 files changed, 7 insertions(+), 1137 deletions(-)

diff --git a/sci-electronics/irsim/Manifest b/sci-electronics/irsim/Manifest
index 144ec603afab..9bbbd570fb56 100644
--- a/sci-electronics/irsim/Manifest
+++ b/sci-electronics/irsim/Manifest
@@ -1 +1,2 @@
+DIST irsim-9.7.93-patches.tar.xz 8736 BLAKE2B 3377e8d0c7f24227930ff233b9b17f19033b3e1506ab2f72634255ce00be98841921fe68b51201f8a399d4edb4d43de00ebbe31065b5e79ef462775affc12764 SHA512 c814428d1c71e8fc69f2b19d5e69886f54ae054134c07ad72e0187b04f1a99a0267aa3c33982a264d7132bd93057cffe0aa325bd211d551e39597d5737150989
 DIST irsim-9.7.93.tgz 465721 BLAKE2B f40e1216f51a51a38ee52628532989ee307db1ff3b0daa4f047a1a3eb04bd49d903382f67c1c4bae4366147f4448eb9699cdc47cffe712fa70a9d34c5bf13d00 SHA512 441a803935c178bdd663360df058142c07d91aecd158d6be8f10b670fc2a295e79839914de6a85ced58a79591625c514e2ceabe87486092d8a1784c7e47a02b3

diff --git a/sci-electronics/irsim/files/irsim-9.7.93-C99-port.patch b/sci-electronics/irsim/files/irsim-9.7.93-C99-port.patch
deleted file mode 100644
index 8576f7865640..000000000000
--- a/sci-electronics/irsim/files/irsim-9.7.93-C99-port.patch
+++ /dev/null
@@ -1,1048 +0,0 @@
---- a/base/sched.c
-+++ b/base/sched.c
-@@ -49,9 +49,7 @@ private	evhdr  ev_array[TSIZE];	    /* u
-  * events are found;
-  */
- 
--public Ulong pending_events( delta, list, end_of_list )
--  Ulong   delta;
--  evptr  *list, *end_of_list;
-+public Ulong pending_events( Ulong delta, evptr *list, evptr *end_of_list )
-   {
-     evhdr           *hdr;
-     register evptr  ev;
-@@ -112,8 +110,7 @@ public Ulong pending_events( delta, list
-  * the list of events to be processed at this time, removing it first
-  * from the time wheel.
-  */
--public evptr get_next_event( stop_time )
--  Ulong  stop_time;
-+public evptr get_next_event( Ulong stop_time )
-   {
-     register evptr  event;
-     Ulong i, time, limit;
-@@ -206,8 +203,7 @@ public
- /*
-  * remove event from all structures it belongs to and return it to free pool
-  */
--public void free_event( event )
--  register evptr  event;
-+public void free_event( register evptr event )
-   {
- 	/* unhook from doubly-linked event list */
-     event->blink->flink = event->flink;
-@@ -236,9 +232,7 @@ public void free_event( event )
-  * Add an event to event list, specifying transition delay and new value.
-  * 0 delay transitions are converted into unit delay transitions (0.01 ns).
-  */
--public void enqueue_event( n, newvalue, delta, rtime )
--  register nptr  n;
--  long           delta, rtime;
-+public void enqueue_event( register nptr n, int newvalue, long delta, long rtime )
-   {
-     register evptr  marker, new;
-     Ulong   etime;
-@@ -309,8 +303,7 @@ public void enqueue_event( n, newvalue,
- 
- 
- /* same as enqueue_event, but assumes 0 delay and rise/fall time */
--public void enqueue_input( n, newvalue )
--  register nptr  n;
-+public void enqueue_input( register nptr n, int newvalue )
-   {
-     register evptr  marker, new;
-     register Ulong  etime;
-@@ -361,9 +354,7 @@ public void init_event()
-   }
- 
- 
--public void PuntEvent( node, ev )
--  nptr   node;
--  evptr  ev;
-+public void PuntEvent( nptr node, evptr ev )
-   {
-     if( node->nflags & WATCHED )
- 	lprintf( stdout,
-@@ -383,9 +374,7 @@ public void PuntEvent( node, ev )
-   }
- 
- 
--public void requeue_events( evlist, thread )
--  evptr  evlist;
--  int    thread;
-+public void requeue_events( evptr evlist, int thread )
-   {
-     register Ulong   etime;
-     register evptr  ev, next, target;
-@@ -441,9 +430,7 @@ public void requeue_events( evlist, thre
-  * and re-enqueue them according to their creation-time (ntime - delay).
-  */
- 
--public evptr back_sim_time( btime, is_inc )
--  Ulong  btime;
--  int   is_inc;
-+public evptr back_sim_time( Ulong btime, int is_inc )
-   {
-     evptr           tmplist;
-     register int    nevents;
-@@ -530,10 +517,7 @@ public evptr back_sim_time( btime, is_in
-  * of every node.  Return FALSE if this history entry is the sentinel
-  * (last_hist), otherwise return TRUE.
-  */
--public int EnqueueHist( nd, hist, type )
--  nptr  nd;
--  hptr  hist;
--  int   type;
-+public int EnqueueHist( nptr nd, hptr hist, int type )
-   {
-     register evptr  marker, new;
-     register Ulong   etime;
-@@ -608,8 +592,7 @@ public int EnqueueHist( nd, hist, type )
-  * Find a scheduled event in the event queue and return a pointer to it.
-  */
- 
--public evptr FindScheduled(idx)
--   short idx;
-+public evptr FindScheduled(short idx)
- {
-     register evptr  ev, next;
-     register evhdr  *hdr, *endhdr;
-@@ -632,8 +615,7 @@ public evptr FindScheduled(idx)
-  * Remove a scheduled event from the event queue
-  */
- 
--public void DequeueScheduled(idx)
--   short idx;
-+public void DequeueScheduled(short idx)
- {
-     register evptr  ev;
- 
-@@ -646,8 +628,7 @@ public void DequeueScheduled(idx)
-  * that generated it.
-  */
- 
--public void DequeueEvent( nd )
--  register nptr nd;
-+public void DequeueEvent( register nptr nd )
-   {
-     register evptr  ev;
- 
-@@ -662,9 +643,7 @@ public void DequeueEvent( nd )
-   }
- 
- 
--public void DelayEvent( ev, delay )
--  evptr  ev;
--  long   delay;
-+public void DelayEvent( evptr ev, long delay )
-   {
-     register evptr  marker, new;
-     register nptr   nd;
-@@ -716,9 +695,7 @@ public void DelayEvent( ev, delay )
-   }
- 
- 
--public evptr EnqueueOther( type, time )
--  int   type;
--  Ulong  time;
-+public evptr EnqueueOther( int type, Ulong time )
-   {
-     register evptr  marker, new;
-     Ulong   etime;
-@@ -751,8 +728,7 @@ public evptr EnqueueOther( type, time )
- /*
-  * Remove any events that may be left from the incremental simulation.
-  */
--public void rm_inc_events( all )
--  int  all;
-+public void rm_inc_events( int all )
-   {
-     register int    nevents;
-     register evptr  ev, next;
---- a/analyzer/base.c
-+++ b/analyzer/base.c
-@@ -12,6 +12,7 @@
-  *     *********************************************************************
-  */
- 
-+#include <ctype.h>
- #include "ana.h"
- #include "ana_glob.h"
- #include "graphics.h"
---- a/usersubckt/subckt.c
-+++ b/usersubckt/subckt.c
-@@ -1,6 +1,7 @@
- #include <stdio.h>
- #include <stdlib.h>
- #include <math.h>
-+#include <string.h>
- 
- #ifdef TCL_IRSIM
- #include <tk.h>
---- a/base/eval.c
-+++ b/base/eval.c
-@@ -12,6 +12,7 @@
-  *     ********************************************************************* 
-  */
- 
-+#include <stdlib.h>
- #include <stdio.h>
- 
- #ifdef TCL_IRSIM
-@@ -87,8 +88,7 @@ public void ReInit()
- /*
-  * Print decay event.
-  */
--private void pr_decay( e )
--  evptr  e;
-+private void pr_decay( evptr e )
-   {
-     nptr  n = e->enode;
- 
-@@ -100,9 +100,7 @@ private void pr_decay( e )
- /*
-  * Print watched node event.
-  */
--private void pr_watched( e, n )
--  evptr  e;
--  nptr   n;
-+private void pr_watched( evptr e, nptr n )
-   {
-     int   tmp;
- 
-@@ -136,9 +134,7 @@ private void pr_watched( e, n )
- /*
-  * Print capwatched node event.
-  */
--private void pr_capwatched( e, n )
--  evptr  e;
--  nptr   n;
-+private void pr_capwatched( evptr e, nptr n )
-   {
-     if ( caplogfile == NULL ) 
- 	return;
-@@ -164,8 +160,7 @@ private void pr_capwatched( e, n )
- /*
-  * Tally cap * trans for giving stepwise power display
-  */
--private void acc_step_power( n )
--  nptr   n;
-+private void acc_step_power( nptr n )
-   {
-      if ( not (n->nflags & INPUT) )
- 	 step_cap_x_trans += n->ncap;
-@@ -362,8 +357,7 @@ private void MarkNodes( evlist )
-   }
- 
- 
--private long EvalNodes( evlist )
--  evptr  evlist;
-+private long EvalNodes( evptr evlist )
-   {
-     register tptr   t;
-     register lptr   l;
-@@ -439,9 +433,7 @@ private long EvalNodes( evlist )
-  * Change the state of the nodes in the given input list to their new value,
-  * setting their INPUT flag and enqueueing the event.
-  */
--private void SetInputs( listp, val )
--  register iptr  *listp;
--  register int   val;
-+private void SetInputs( iptr *listp, int val )
-   {
-     register nptr  n;
-     iptr           ip, last;
-@@ -507,8 +499,7 @@ private void EvalNOinputs()
-   }
- 
- 
--public int step( stop_time )
--  Ulong  stop_time;
-+public int step( Ulong stop_time )
-   {
-     evptr  evlist;
-     long   brk_flag;
-@@ -594,8 +585,7 @@ public
- 	switch_state[ BASETYPE( (TRANS)->ttype ) ][ (TRANS)->gate->npot ] )
- 
- 
--public int ComputeTransState( t )
--  register tptr  t;
-+public int ComputeTransState( tptr t )
-   {
-     register nptr  n;
-     register tptr  l;
---- a/analyzer/defaults.c
-+++ b/analyzer/defaults.c
-@@ -68,8 +68,7 @@ private	Assoc assoc[] =
- 
- private	char  *irsim = "irsim";
- 
--public char *GetXDefault( key )
--  int  key;
-+public char *GetXDefault( int key )
-   {
-     char         *val;
- 
-@@ -78,9 +77,7 @@ public char *GetXDefault( key )
-   }
- 
- 
--public int IsDefault( key, val )
--  int   key;
--  char  *val;
-+public int IsDefault( int key, char *val )
-   {
-     if( assoc[ key ].defl == val )
- 	return( TRUE );
-@@ -88,7 +85,7 @@ public int IsDefault( key, val )
-   }
- 
- 
--public char *ProgDefault( key )
-+public char *ProgDefault( int key )
-   {
-     return( assoc[ key ].defl );
-   }
---- a/irsim/genspktbl.c
-+++ b/irsim/genspktbl.c
-@@ -49,9 +49,7 @@ double	delaytab[ SPIKETBLSIZE + 1 ][ SPI
- FILE	*F;
- 
- 
--main( argc, argv )
--  int   argc;
--  char  *argv[];
-+int main( int argc, char *argv[] )
-   {
-     char  *fname;
-     char  *size = "SPIKETBLSIZE";
-@@ -95,9 +93,7 @@ main( argc, argv )
-   }
- 
- 
--void PrintTable( tab, fmt )
--  double  tab[ SPIKETBLSIZE+1 ][ SPIKETBLSIZE+1 ];
--  char    *fmt;
-+void PrintTable( double tab[ SPIKETBLSIZE+1 ][ SPIKETBLSIZE+1 ], char *fmt )
-   {
-     register  int  alpha, beta;
- 
-@@ -204,8 +200,7 @@ void rk4_error( which, alpha, beta, h )
-  *         i) h == .001; .04 < alpha < .96; .04 < beta < .96
-  * 	  ii) h == .01;  .1  < alpha < .9;  .1  < beta < .9
-  */
--double nldl_rk4( alpha, beta, h )
--  double alpha, beta, h;
-+double nldl_rk4( double alpha, double beta, double h )
-   {   
-     double        k11, k12, k21, k22, k31, k32, k41, k42;
-     double        v1old, v1new, v2old, v2new;
-@@ -247,8 +242,7 @@ double nldl_rk4( alpha, beta, h )
-  * This routine computes the parameter vector for Runge-Kutta method.
-  * Customized for 2-transistors-2-capacitors network driven by Gnd.
-  */
--void nldl_vector( alpha, beta, h, v1, v2, k1, k2 )
--  double alpha, beta, h, v1, v2, *k1, *k2;
-+void nldl_vector( double alpha, double beta, double h, double v1, double v2, double *k1, double *k2 )
-   {   
-     double  u1, u2;
-     
-@@ -276,8 +270,7 @@ void nldl_vector( alpha, beta, h, v1, v2
-  *         i) h == .001; .04 < alpha < .96; .04 < beta < .96
-  * 	  ii) h == .01;  .1  < alpha < .9;  .1  < beta < .9
-  */
--double nldh_rk4( alpha, beta, h )
--  double alpha, beta, h;
-+double nldh_rk4( double alpha, double beta, double h )
-   {   
-     double        k11, k12, k21, k22, k31, k32, k41, k42;
-     double        v1old, v1new, v2old, v2new;
-@@ -319,8 +312,7 @@ double nldh_rk4( alpha, beta, h )
-  * This routine computes the parameter vector for Runge-Kutta method.
-  * Customized for 2-transistors-2-capacitors network driven by Vdd.
-  */
--void nldh_vector( alpha, beta, h, v1, v2, k1, k2 )
--  double alpha, beta, h, v1, v2, *k1, *k2;
-+void nldh_vector( double alpha, double beta, double h, double v1, double v2, double *k1, double *k2 )
-   {   
-     double  u1, u2;
-     
-@@ -336,8 +328,7 @@ void nldh_vector( alpha, beta, h, v1, v2
-  * Compute spike fluctuation and delay using an rc linear model.
-  * Use equations for driven by Gnd case
-  */
--void linear_spike( alpha, beta, delay, peak )
--  double  alpha, beta, *delay, *peak;
-+void linear_spike( double alpha, double beta, double *delay, double *peak )
-   {
-     double  N, b, a, x, tmp;
- 
---- a/base/network.c
-+++ b/base/network.c
-@@ -14,6 +14,7 @@
- 
- #include <stdio.h>
- #include <stdlib.h>
-+#include <string.h>
- 
- #include "defs.h"
- #include "net.h"
---- a/analyzer/graphics.c
-+++ b/analyzer/graphics.c
-@@ -51,10 +51,7 @@ private	char   bots_bits[3][2] = { 0x7,
- #define	SAME_COLOR( A, B )	\
-     ( (A).red == (B).red and (A).green == (B).green and (A).blue == (B).blue )
- 
--private int GetColor( key, colors, ndefined )
--  int     key;
--  XColor  colors[];
--  int     ndefined;
-+private int GetColor( int key, XColor colors[], int ndefined )
-   {
-     char      *s;
-     XColor    *color;
-@@ -222,10 +219,7 @@ private void InitBitmaps()
-   }
- 
- 
--private Cursor MakeCursor( fg, bg, curs, mask, w, h, x, y )
--  XColor  *fg, *bg;
--  char    *curs, *mask;
--  int     w, h;
-+private Cursor MakeCursor( XColor *fg, XColor *bg, char *curs, char *mask, int w, int h, int x, int y )
-   {
-     Pixmap  pcurs, pmask;
-     Cursor  cu;
-@@ -269,8 +263,7 @@ private void InitCursors()
-   }
- 
- 
--public void InitGraphics(font)
--  Font  font;
-+public void InitGraphics(Font font)
-   {
-     XGCValues      gcv;
-     unsigned long  mask;
---- a/base/globals.h
-+++ b/base/globals.h
-@@ -307,8 +307,8 @@ extern evptr back_sim_time( /*  btime, i
- extern int EnqueueHist( /*  nd, hist, type */ );
- extern void DequeueEvent( /*  nd */ );
- extern void DelayEvent( /*  ev, delay */ );
--extern evptr FindScheduled( /* idx */ );
--extern void DequeueScheduled( /* idx */ );
-+extern evptr FindScheduled( short /* idx */ );
-+extern void DequeueScheduled( short /* idx */ );
- extern evptr EnqueueOther( /*  type, time */ );
- extern void rm_inc_events( /*  all */ );
- 
---- a/analyzer/thread.c
-+++ b/analyzer/thread.c
-@@ -21,6 +21,11 @@ extern Display *display;
- extern Window  window;
- extern Func FGetEvent;
- 
-+extern void HandleButton( XButtonEvent *ev );
-+extern void HandleKey( XKeyEvent *ev );
-+extern void WindowExposed( XExposeEvent *event );
-+extern void WindowResize( XConfigureEvent *ev );
-+
- pthread_t xloop_thread = 0;
- Func EventHandlerPtr = NULL;
- 
---- a/analyzer/event.c
-+++ b/analyzer/event.c
-@@ -61,8 +61,7 @@ private	int     x_server = 0;
- private	int     x_helper = 0;		/* process id of helper process */
- public	Func    FGetEvent = NULL;	/* used also in thread.c */
- 
--public void WindowResize( ev )
--  XConfigureEvent  *ev;
-+public void WindowResize( XConfigureEvent *ev )
-   {
-     int  ret;
- 
-@@ -75,8 +74,7 @@ public void WindowResize( ev )
-   }
- 
- 
--public void WindowExposed( event )
--  XExposeEvent  *event;
-+public void WindowExposed( XExposeEvent *event )
-   {
-     BBox  box;
- 
-@@ -88,8 +86,7 @@ public void WindowExposed( event )
-   }
- 
- 
--public void HandleButton( ev )
--  XButtonEvent  *ev;
-+public void HandleButton( XButtonEvent *ev )
-   {
-     if( WITHINY( ev->y, scrollBox ) )
- 	DoScrollBar( ev );
-@@ -123,8 +120,7 @@ public void HandleButton( ev )
-   }
- 
- 
--public void HandleKey( ev )
--  XKeyEvent  *ev;
-+public void HandleKey( XKeyEvent *ev )
-   {
-     char  buff[ 40 ];
-     int   nChars, i;
-@@ -312,8 +308,7 @@ private void DisabledEventHandler()
- 
- #ifdef NEED_HELPER
- 
--private int StartHelper( fd )
--  int  fd;
-+private int StartHelper( int fd )
-   {
-     extern char  *cad_bin, *getenv();
-     static char  helper_name[] = "anXhelper";
-@@ -355,8 +350,7 @@ private int StartHelper( fd )
- 
- #endif /* NEED_HELPER */
- 
--public int InitHandler( fd )
--  int fd;
-+public int InitHandler( int fd )
-   {
-     int   flags;
-     char  *senv;
---- a/base/rsim.c
-+++ b/base/rsim.c
-@@ -95,6 +95,10 @@ public  float   step_cap_x_trans = 0;	/*
- private int undefseq( /* p, list, lmax */ );
- private int clockit( /* n */ );
- 
-+extern void EnableInput( /* */ );
-+extern void DisableInput( /* */ );
-+extern void alias( int targc, char *targv[] );
-+
- #ifdef TCL_IRSIM
- extern Tcl_Interp *irsiminterp;
- extern int check_interrupt();
---- a/base/sim.c
-+++ b/base/sim.c
-@@ -22,7 +22,7 @@
-  *  2. static power calculations not performed (only useful for nmos anyhow).
-  */
- 
--
-+#include <math.h>
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
-@@ -88,9 +88,7 @@ private	char    bad_argc_msg[] = "Wrong
-   }							\
- 
- 
--private void PrArgs( argc, argv )
--  int   argc;
--  char  *argv[];
-+private void PrArgs( int argc, char *argv[] )
-   {
-     while( argc-- != 0 )
-       (void) fprintf( stderr, "%s ", *argv++ );
-@@ -98,7 +96,7 @@ private void PrArgs( argc, argv )
-   }
- 
- 
--private void CheckErrs( n )
-+private void CheckErrs( int n )
-   {
-     nerrs += n;
-     if( nerrs > MAX_ERRS )
-@@ -181,9 +179,7 @@ private nptr connect_txtors()
- /*
-  * node area and perimeter info (N sim command).
-  */
--private void node_info( targc, targv )
--  int   targc;
--  char  *targv[];
-+private void node_info( int targc, char *targv[] )
-   {
-     register nptr  n;
- 
-@@ -202,9 +198,7 @@ private void node_info( targc, targv )
- /*
-  * new format node area and perimeter info (M sim command).
-  */
--private void nnode_info( targc, targv )
--  int   targc;
--  char  *targv[];
-+private void nnode_info( int targc, char *targv[] )
-   {
-     register nptr  n;
- 
-@@ -233,9 +227,7 @@ private	int    AP_error = FALSE;
- /* lambda^2 and lambda, respectively.			*/
- /*------------------------------------------------------*/
- 
--private int parseAttr(str, a, p)
--char *str;
--int *a, *p;
-+private int parseAttr(char *str, int *a, int *p)
- {
-    int l;
-    char *s;
-@@ -260,8 +252,7 @@ int *a, *p;
- /* Default (unspecified) values are treated as ohms.		*/
- /*--------------------------------------------------------------*/
- 
--private float rconvert( resstring )
--  char *resstring;
-+private float rconvert( char *resstring )
- {
-    /* Convert string to floating-point, and stop at the	*/
-    /* first non-numeric character.			*/
-@@ -298,8 +289,7 @@ private float rconvert( resstring )
- /* converted to centimicrons using the LAMBDACM factor.		*/
- /*--------------------------------------------------------------*/
- 
--private float lconvert( lstring )
--  char *lstring;
-+private float lconvert( char *lstring )
- {
-    /* Convert string to floating-point, and stop at the	*/
-    /* first non-numeric character.			*/
-@@ -331,10 +321,7 @@ private float lconvert( lstring )
-  * new transistor.  Implant specifies type.
-  * AreaPos specifies the argument number that contains the area (if any).
-  */
--private void newtrans( implant, targc, targv )
--  int   implant;
--  int   targc;
--  char  *targv[];
-+private void newtrans( int implant, int targc, char *targv[] )
-   {
-     nptr           gate, src, drn;
-     long           x, y;
-@@ -469,9 +456,7 @@ printf("LAMBDA=%f CDA=%f CDP=%f asrc=%d
- /*
-  * accept a bunch of aliases for a node (= sim command).
-  */
--public void alias( targc, targv )
--  int   targc;
--  char  *targv[];
-+public void alias( int targc, char *targv[] )
-   {
-     register nptr  n, m;
-     register int   i;
-@@ -510,9 +495,7 @@ public void alias( targc, targv )
- /*
-  * node threshold voltages (t sim command).
-  */
--private void nthresh( targc, targv )
--  int   targc;
--  char  *targv[];
-+private void nthresh( int targc, char *targv[] )
-   {
-     register nptr  n;
- 
-@@ -528,9 +511,7 @@ private void nthresh( targc, targv )
- /*
-  * User delay for a node (D sim command).
-  */
--private void ndelay( targc, targv )
--  int   targc;
--  char  *targv[];
-+private void ndelay( int targc, char *targv[] )
-   {
-     register nptr  n;
- 
-@@ -543,8 +524,7 @@ private void ndelay( targc, targv )
-     n->tphl = ns2d( atof( targv[3] ) );
-   }
- 
--private float cconvert( capstring )
--  char *capstring;
-+private float cconvert( char *capstring )
- {
-    /* Convert string to floating-point, and stop at the	*/
-    /* first non-numeric character.			*/
-@@ -577,9 +557,7 @@ private float cconvert( capstring )
- /*
-  * add capacitance to a node (c sim command).
-  */
--private void ncap( targc, targv )
--  int   targc;
--  char  *targv[];
-+private void ncap( int targc, char *targv[] )
-   {
-     register nptr n, m;
-     float         cap;
-@@ -610,9 +588,7 @@ private void ncap( targc, targv )
- /*
-  * parse input line into tokens, filling up carg and setting targc
-  */
--private int parse_line( line, carg )
--  register char  *line;
--  register char  **carg;
-+private int parse_line( register char *line, register char **carg )
-   {
-     register char  ch;
-     register int   targc;
-@@ -637,9 +613,7 @@ private int parse_line( line, carg )
- private	int    R_error = FALSE;
- private	int    A_error = FALSE;
- 
--private int input_sim (simfile, has_param_file)
--  char  *simfile;
--  int   has_param_file;
-+private int input_sim (char *simfile, int has_param_file)
- {
-     FILE  *fin;
-     char  line[LSIZE];
-@@ -699,7 +673,7 @@ private int input_sim (simfile, has_para
- 		offset = ftell(fin);
- 		olineno = lineno;
- 		(void) fclose(fin);
--		(void) input_sim(targv[1]);
-+		(void) input_sim(targv[1], 0);
- 		if ((fin = fopen(simfile, "r")) == NULL)
- 		{
- 		    rsimerror(simfname, lineno, "can't re-open sim file '%s'\n",
-@@ -872,10 +846,7 @@ private void init_counts()
- }
- 
- 
--public int rd_network( simfile, prefix, has_param_file )
--  char  *simfile;
--  char  *prefix;
--  int   has_param_file;
-+public int rd_network( char *simfile, char *prefix, int has_param_file )
-   {
-     static int      firstcall = 1;
- 
---- a/analyzer/window.c
-+++ b/analyzer/window.c
-@@ -18,6 +18,7 @@
-  */
- #include <stdio.h>
- #include <string.h>   /* for strlen() */
-+#include <stdlib.h>
- #include "ana.h"
- #include <X11/Xutil.h>
- #include "graphics.h"
-@@ -45,12 +46,13 @@ public	int         bannerLen;
- private	void    DrawSignal(), DrawVector(), DrawCursor();
- private	void    MoveCursorToPos(), EraseCursor();
- 
-+extern int xloop_create();
-+
- /*
-  * Convert a time to its corresponding x position.
-  */
- 
--public Coord TimeToX(t)
--    TimeType t;
-+public Coord TimeToX(TimeType t)
- {
-     Coord xval;
- 
-@@ -68,8 +70,7 @@ public Coord TimeToX(t)
-  * Return (MAX_TIME) if the point lies outside the traces window.
-  */
- 
--public TimeType XToTime(x)
--    Coord  x;
-+public TimeType XToTime(Coord x)
- {
-     float  tmp;
-     int denom;
-@@ -140,9 +141,7 @@ public int SetFont()
-  * Initialize the windows and various other metrics.
-  */
- 
--public int InitDisplay( fname, display_unit )
--  char  *fname;
--  char  *display_unit;
-+public int InitDisplay( char *fname, char *display_unit )
-   {
- #ifdef HAVE_PTHREADS
-     XInitThreads();
-@@ -180,11 +179,7 @@ public int InitDisplay( fname, display_u
-   }
- 
- 
--public int InitWindow( firstTime, state, x, y, w, h, ix, iy )
--  int    firstTime;
--  int    state;
--  Coord  x, y, w, h;
--  Coord  ix, iy;
-+public int InitWindow( int firstTime, int state, Coord x, Coord y, Coord w, Coord h, Coord ix, Coord iy )
-   {
-     int                   spec, u_spec;
-     static int            b;
-@@ -283,9 +278,7 @@ public
-  * shown on the screen.  Default width is DEF_STEPS (simulation) steps.
-  */
- 
--public void InitTimes(firstT, stepsize, lastT, reInit)
--  TimeType  firstT, stepsize, lastT;
--  int reInit;
-+public void InitTimes(TimeType firstT, TimeType stepsize, TimeType lastT, int reInit)
- {
-     tims.first = firstT;
-     tims.last = lastT;
-@@ -324,8 +317,7 @@ public void InitTimes(firstT, stepsize,
- /*
-  * Redraw any region that overlaps the redraw-box.
-  */
--public void RedrawWindow( box )
--  BBox  box;
-+public void RedrawWindow( BBox box )
-   {
- 
- #ifndef TCL_IRSIM
-@@ -392,8 +384,7 @@ public void RedrawBanner()
-   }
- 
- 
--public void WindowCrossed( selected )
--  int  selected;
-+public void WindowCrossed( int selected )
-   {
-     GC  color;
- 
-@@ -463,8 +454,7 @@ public void RedrawTimes()
-   }
- 
- 
--public void UpdateTimes( start, end )
--  TimeType  start, end;
-+public void UpdateTimes( TimeType start, TimeType end )
-   {
-     static TimeType  ostart, oend;
-     static int       slen, elen;
-@@ -503,8 +493,7 @@ public void UpdateTimes( start, end )
- /*
-  * Redraw signal names.
-  */
--public void RedrawNames( rb )
--  BBox  rb;
-+public void RedrawNames( BBox rb )
-   {
-     Coord  x, y;
-     Trptr  t;
-@@ -540,8 +529,7 @@ public void RedrawNames( rb )
-  * This will redraw the missing parts of the traces.  Used to selectivelly
-  * repaint traces or during Exposure events.
-  */
--public void RedrawTraces( box )
--  BBox  *box;
-+public void RedrawTraces( BBox *box )
-   {
-     TimeType        t1, t2, tc;
-     BBox            bg;
-@@ -603,8 +591,7 @@ public void RedrawTraces( box )
-  * Update the cache (begining of window and cursor) for traces that just
-  * became visible ( or were just added ).
-  */
--public void UpdateTraceCache( first_trace )
--  int  first_trace;
-+public void UpdateTraceCache( int first_trace )
-   {
-     register Trptr     t;
-     register hptr      h,p;
-@@ -710,8 +697,7 @@ public void FlushTraceCache()
- /*
-  * Draw the traces horizontally from time1 to time2.
-  */
--public void DrawTraces( t1, t2 )
--  TimeType  t1, t2;
-+public void DrawTraces( TimeType t1, TimeType t2 )
-   {
-     TimeType         endT;
-     register Trptr   t;
-@@ -779,9 +765,7 @@ public void DrawTraces( t1, t2 )
- /*
-  * Draw a 1 bit trace.
-  */
--private void DrawSignal( t, t1, t2 )
--  Trptr              t;
--  register TimeType  t1, t2;
-+private void DrawSignal( Trptr t, register TimeType t1, register TimeType t2 )
-   {
-     register hptr  h;
-     register int   val, change;
-@@ -847,10 +831,7 @@ public	hptr    tmpHBuff[ 400 ];
- /*
-  * Draw bus trace.
-  */
--private void DrawVector( t, t1, t2, clr_bg )
--  register Trptr     t;
--  register TimeType  t1, t2;
--  int                clr_bg;
-+private void DrawVector( register Trptr t, register TimeType t1, register TimeType t2, int clr_bg )
-   {
-     hptr      *start, *changes;
-     TimeType  firstChange;
-@@ -997,8 +978,7 @@ private void DrawVector( t, t1, t2, clr_
- 
- 
- 
--private void UpdateTraces( start, end )
--  TimeType  start, end;
-+private void UpdateTraces( TimeType start, TimeType end )
-   {
-     if( not (windowState.iconified or windowState.tooSmall) )
-       {
-@@ -1009,8 +989,7 @@ private void UpdateTraces( start, end )
-   }
- 
- 
--private void ScrollTraces( endT )
--  TimeType  endT;
-+private void ScrollTraces( TimeType endT )
-   {
-     tims.start = endT - tims.steps / 2;
-     tims.end = tims.start + tims.steps;
-@@ -1023,8 +1002,7 @@ private void ScrollTraces( endT )
-  * window, simply draw the missing parts.  Otherwise scroll the traces,
-  * centered around endT.
-  */
--public void UpdateWindow( endT )
--  TimeType  endT;
-+public void UpdateWindow( TimeType endT )
-   {
-     TimeType  lastT;
- 
-@@ -1108,9 +1086,7 @@ private void  DrawCursor()
-   }
- 
- 
--public void SetCursor( t, time )
--  Trptr t;
--  TimeType time;
-+public void SetCursor( Trptr t, TimeType time )
- {
-     register hptr  h, p;
-     register int   n;
-@@ -1150,8 +1126,7 @@ public void SetCursor( t, time )
-     PRINTF( "%s, input=%s", val, inp );
- }
- 
--void DoCursor( ev )
--  XButtonEvent  *ev;
-+void DoCursor( XButtonEvent *ev )
-   {
-     Trptr     t;
-     TimeType  time;
-@@ -1249,8 +1224,7 @@ public void MoveCursorToTime(TimeType ti
-     DrawCursVal( cursorBox );
-   }
- 
--private void MoveCursorToPos( x )
--  Coord  x;
-+private void MoveCursorToPos( Coord x )
- {
-     register TimeType  time;
- 
-@@ -1264,8 +1238,7 @@ private	char  *StrMap[] = { "0", "X", ""
- /*
-  * Display signal values under cursor.
-  */
--public void DrawCursVal( rb )
--  BBox  rb;
-+public void DrawCursVal( BBox rb )
-   {
-     Coord        y;
-     Trptr        t;
-@@ -1301,8 +1274,7 @@ public void DrawCursVal( rb )
-   }
- 
- 
--public void ExpandCursVal( t )
--  Trptr  t;
-+public void ExpandCursVal( Trptr t )
-   {
-     char          *val;
-     int           nbits;
---- a/irsim/irsim.c
-+++ b/irsim/irsim.c
-@@ -24,8 +24,11 @@
- #include "../usersubckt/subckt.h"
- #endif
- 
-+extern void InitCmdPath();
-+extern public void init_commands();
-+extern int finput( char *name);
-+
- /* VARARGS1 */
--public void Usage( msg, s1 )
--  char  *msg, *s1;
-+public void Usage( char *msg, char *s1 )
-   {
-     (void) fprintf( stderr, msg, s1 );
-@@ -39,8 +43,7 @@ public void Usage( msg, s1 )
- 
- /* Main routine for irsim */
- 
--public main( argc, argv )
--   char *argv[];
-+public int main( int argc, char *argv[] )
-   {
-     int  i, arg1, has_param_file;
- 
---- a/irsim/gentbl.c
-+++ b/irsim/gentbl.c
-@@ -35,7 +35,7 @@ FILE  *out;
- 
- 
- /* name of interval */
--char *pinterval( high, low )
-+char *pinterval( int high, int low )
-   {
-     static char  temp[100];
- 
-@@ -48,8 +48,7 @@ char *pinterval( high, low )
- 
- 
- /* return strength of value */
--int strength( i )
--  register int  i;
-+int strength( register int i )
-   {
-     if( (i -= NVALUES) < 0 )
- 	i = -i;
-@@ -60,14 +59,14 @@ int strength( i )
- #define max( A, B )			( ((A) > (B)) ? (A) : (B) )
- 
- /* find the enclosing interval */
--char *span( ihigh, ilow, jhigh, jlow )
-+char *span( int ihigh,int ilow,int jhigh, int jlow )
-   {
-     return( pinterval( min( ihigh, jhigh ), max( ilow, jlow ) ) );
-   }
- 
- 
- /* merge two intervals using least-upper bound operation */
--char *merge( ihigh, ilow, jhigh, jlow )
-+char *merge( int ihigh, int ilow, int jhigh, int jlow )
-   {
-     register int  ahigh, alow;
- 
-@@ -94,7 +93,7 @@ char *merge( ihigh, ilow, jhigh, jlow )
- 
- 
- /* convert interval to use weak values */
--char *weak( i, j )
-+char *weak( int i, int j )
-   {
-     if( i == 0 )
- 	i = 1;
-@@ -108,7 +107,7 @@ char *weak( i, j )
-   }
- 
- 
--main()
-+int main(void)
-   {
-     register int  i, j, k, ii, jj, interval2;
- 

diff --git a/sci-electronics/irsim/files/irsim-9.7.93-Makefile.patch b/sci-electronics/irsim/files/irsim-9.7.93-Makefile.patch
deleted file mode 100644
index 3b0750efac5e..000000000000
--- a/sci-electronics/irsim/files/irsim-9.7.93-Makefile.patch
+++ /dev/null
@@ -1,15 +0,0 @@
---- a/irsim/Makefile
-+++ b/irsim/Makefile
-@@ -38,10 +38,10 @@ $(DESTDIR)${BINDIR}/genspktbl:
- 	${CP} genspktbl $(DESTDIR)${BINDIR}/genspktbl
- 
- gentbl:
--	${CC} ${CFLAGS} ${CPPFLAGS} ${DFLAGS} gentbl.c -o $@ ${LIBS}
-+	${CC} ${CFLAGS} ${CPPFLAGS} ${DFLAGS} ${LDFLAGS} gentbl.c -o $@ ${LIBS}
- 
- genspktbl:
--	${CC} ${CFLAGS} ${CPPFLAGS} ${DFLAGS} genspktbl.c -o $@ ${LIBS}
-+	${CC} ${CFLAGS} ${CPPFLAGS} ${DFLAGS} ${LDFLAGS} genspktbl.c -o $@ ${LIBS}
- 
- install: $(DESTDIR)${BINDIR}/irsim $(DESTDIR)${BINDIR}/gentbl \
- 		$(DESTDIR)${BINDIR}/genspktbl

diff --git a/sci-electronics/irsim/files/irsim-9.7.93-clean-makefile.patch b/sci-electronics/irsim/files/irsim-9.7.93-clean-makefile.patch
deleted file mode 100644
index af66a0753aac..000000000000
--- a/sci-electronics/irsim/files/irsim-9.7.93-clean-makefile.patch
+++ /dev/null
@@ -1,69 +0,0 @@
---- a/Makefile
-+++ b/Makefile
-@@ -33,26 +33,26 @@ config:
- tcllibrary: modules
- 	@echo --- making Tcl shared-object libraries
- 	for dir in ${PROGRAMS}; do \
--		(cd $$dir && ${MAKE} tcl-main); done
-+		${MAKE} -C $$dir tcl-main; done
- 
- mains: modules
- 	@echo --- making main programs
- 	for dir in ${PROGRAMS}; do \
--		(cd $$dir && ${MAKE} main); done
-+		${MAKE} -C $$dir main; done
- 
- modules:
- 	@echo --- making modules
- 	for dir in ${MODULES}; do \
--		(cd $$dir && ${MAKE} module); done
-+		${MAKE} -C $$dir module; done
- 
- libs:
- 	@echo --- making libraries
- 	for dir in ${LIBRARIES}; do \
--		(cd $$dir && ${MAKE} lib); done
-+		${MAKE} -C $$dir lib; done
- 
- depend:
- 	for dir in ${MODULES} ${PROGRAMS}; do \
--		(cd $$dir && ${MAKE} depend); done
-+		${MAKE} -C $$dir depend; done
- 
- install: $(INSTALL_TARGET)
- 
-@@ -63,9 +63,9 @@ install-irsim:
- 
- install-real: install-dirs
- 	for dir in ${INSTALL_CAD_DIRS}; do \
--		(cd $$dir && ${MAKE} install); done
-+		${MAKE} -C $$dir install; done
- 	for dir in ${PROGRAMS}; do \
--		(cd $$dir && ${MAKE} install); done
-+		${MAKE} -C $$dir install; done
- 
- install-tcl-dirs:
- 	${IRSIMDIR}/scripts/mkdirs $(DESTDIR)${BINDIR} $(DESTDIR)${MANDIR} \
-@@ -82,11 +82,11 @@ install-tcl:
- 
- install-tcl-real: install-tcl-dirs
- 	for dir in ${INSTALL_CAD_DIRS} ${PROGRAMS}; do \
--		(cd $$dir && ${MAKE} install-tcl); done
-+		${MAKE} -C $$dir install-tcl; done
- 
- clean:
- 	for dir in ${MODULES} ${PROGRAMS} ${UNUSED_MODULES}; do \
--		(cd $$dir && ${MAKE} clean); done
-+		${MAKE} -C $$dir clean; done
- 	${RM} *.log
- 
- distclean:
-@@ -109,7 +109,7 @@ dist:
- 
- clean-mains:
- 	for dir in ${PROGRAMS}; do \
--		(cd $$dir && ${RM} $$dir}; done
-+		(cd $$dir && ${RM} $$dir); done
- 
- tags:
- 	${RM} tags

diff --git a/sci-electronics/irsim/irsim-9.7.93-r1.ebuild b/sci-electronics/irsim/irsim-9.7.93-r1.ebuild
index 66cf06435db1..38552dd190d4 100644
--- a/sci-electronics/irsim/irsim-9.7.93-r1.ebuild
+++ b/sci-electronics/irsim/irsim-9.7.93-r1.ebuild
@@ -6,6 +6,7 @@ EAPI=8
 DESCRIPTION="IRSIM is a \"switch-level\" simulator"
 HOMEPAGE="http://opencircuitdesign.com/irsim/"
 SRC_URI="http://opencircuitdesign.com/irsim/archive/${P}.tgz"
+SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-patches.tar.xz"
 
 LICENSE="GPL-2"
 SLOT="0"
@@ -19,11 +20,11 @@ DEPEND="${RDEPEND}"
 BDEPEND="app-shells/tcsh"
 
 PATCHES=(
-	"${FILESDIR}"/${PN}-9.7.72-ldflags.patch
-	"${FILESDIR}"/${PN}-9.7.79-datadir.patch
-	"${FILESDIR}"/${PN}-9.7.93-clean-makefile.patch
-	"${FILESDIR}"/${PN}-9.7.93-C99-port.patch
-	"${FILESDIR}"/${PN}-9.7.93-Makefile.patch
+	"${WORKDIR}"/${P}-patches/${PN}-9.7.72-ldflags.patch
+	"${WORKDIR}"/${P}-patches/${PN}-9.7.79-datadir.patch
+	"${WORKDIR}"/${P}-patches/${PN}-9.7.93-clean-makefile.patch
+	"${WORKDIR}"/${P}-patches/${PN}-9.7.93-C99-port.patch
+	"${WORKDIR}"/${P}-patches/${PN}-9.7.93-Makefile.patch
 )
 
 src_configure() {


^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2024-05-09  1:07 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-05-09  1:07 [gentoo-commits] repo/gentoo:master commit in: sci-electronics/irsim/, sci-electronics/irsim/files/ Sam James
  -- strict thread matches above, loose matches on Subject: below --
2024-05-09  1:07 Sam James

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox