Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 13 Dec 1999 18:19:16 GMT
From:      AMAKAWA Shuhei <sa264@phy.cam.ac.uk>
To:        FreeBSD-gnats-submit@freebsd.org
Subject:   ports/15462: New port: cad/cider
Message-ID:  <199912131819.SAA26142@yamame.phy.cam.ac.uk>

next in thread | raw e-mail | index | archive | help

>Number:         15462
>Category:       ports
>Synopsis:       New port: cad/cider
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Mon Dec 13 10:20:01 PST 1999
>Closed-Date:
>Last-Modified:
>Originator:     AMAKAWA Shuhei
>Release:        FreeBSD 3.3-RELEASE i386
>Organization:
University of Cambridge
>Environment:

	FreeBSD 3.3-RELEASE i386

>Description:

	A mixed-level circuit & device simulator developed at UCB.
	Includes SPICE3.

>How-To-Repeat:

	Shar file attached below.

>Fix:
	# This is a shell archive.  Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file".  Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
#	cider
#	cider/Makefile
#	cider/files
#	cider/files/md5
#	cider/files/FreeBSD
#	cider/files/Makefile
#	cider/files/Makefile.spice
#	cider/files/Makefile.cider
#	cider/patches
#	cider/patches/patch-ab
#	cider/patches/patch-bc
#	cider/patches/patch-bd
#	cider/patches/patch-ba
#	cider/patches/patch-aa
#	cider/patches/patch-be
#	cider/patches/patch-ad
#	cider/patches/patch-bf
#	cider/patches/patch-bg
#	cider/patches/patch-ae
#	cider/patches/patch-af
#	cider/patches/patch-ag
#	cider/patches/patch-ah
#	cider/patches/patch-ai
#	cider/patches/patch-ac
#	cider/patches/patch-bb
#	cider/pkg
#	cider/pkg/COMMENT
#	cider/pkg/DESCR
#	cider/pkg/PLIST
#	cider/scripts
#	cider/scripts/configure
#
echo c - cider
mkdir -p cider > /dev/null 2>&1
echo x - cider/Makefile
sed 's/^X//' >cider/Makefile << 'END-of-cider/Makefile'
X# New ports collection makefile for:    cider
X# Version required:     1b1
X# Date created:         1999-12-12
X# Whom:                 AMAKAWA Shuhei <amakawa@jp.FreeBSD.org>
X#
X# $FreeBSD$
X#
X
XDISTNAME=	cider1b1
XPKGNAME=	cider-1b1
XCATEGORIES=	cad
XMASTER_SITES=	ftp://ic.eecs.berkeley.edu/pub/Cider/new/
XEXTRACT_SUFX=   .tar.Z
X
XMAINTAINER=	amakawa@jp.FreeBSD.org
X
XUSE_XLIB=	yes
XNO_WRKSUBDIR=	yes
XMAN1=		sconvert.1 nutmeg.1 spice.1 cider.1
XMAN3=		mfb.3
XMAN5=		mfbcap.5
XMLINKS=		spice.1 spice3.1
X
Xpre-patch:
X	${CP} -f ${WRKSRC}/sim/spice/common/lib/helpdir/spice.txt ${WRKSRC}/sim/cider/common/lib/helpdir/spice.txt
X
Xpost-install:
X.if !defined(NOPORTDOCS)
X	${MKDIR} ${PREFIX}/share/examples/spice3
X	${INSTALL_DATA} ${WRKSRC}/sim/spice/common/examples/*.cir ${PREFIX}/share/examples/spice3
X	${MKDIR} ${PREFIX}/share/examples/cider
X	${TAR} -cf - -C ${WRKSRC}/sim/cider/common/examples . | ${TAR} -xf - -C ${PREFIX}/share/examples/cider
X	${CHOWN} -R ${SHAREOWN}:${SHAREGRP} ${PREFIX}/share/examples/cider
X	${LN} -fs ${PREFIX}/share/spice3/scripts/spinit ${PREFIX}/share/cider/scripts
X.endif
X
X.include <bsd.port.mk>
END-of-cider/Makefile
echo c - cider/files
mkdir -p cider/files > /dev/null 2>&1
echo x - cider/files/md5
sed 's/^X//' >cider/files/md5 << 'END-of-cider/files/md5'
XMD5 (cider1b1.tar.Z) = e14186af9e839d310ea5dd38e58044d5
END-of-cider/files/md5
echo x - cider/files/FreeBSD
sed 's/^X//' >cider/files/FreeBSD << 'END-of-cider/files/FreeBSD'
X# FreeBSD config exception file
X
XMAKE		= /usr/bin/make
XINTERFACE_OPTS  = -DWANT_X11
XCC_OPT          = -O2 -DHAS_GNUREADLINE -pipe
XCC_OPT_SAFE     = -O -DHAS_GNUREADLINE -pipe
XX_DIR		= $(X11BASE)
XLDFLAGS		= -L$(X11BASE)/lib -lreadline -lm -ltermcap
XASM_HACK	= < /dev/null
XSYS_CFLAGS	= -Dbsd
END-of-cider/files/FreeBSD
echo x - cider/files/Makefile
sed 's/^X//' >cider/files/Makefile << 'END-of-cider/files/Makefile'
Xall:
X	(cd sim/spice/common &&  make)
X	(cd sim/cider/common &&  make)
X
Xinstall:
X	(cd sim/spice/common &&  make install)
X	(cd sim/cider/common &&  make install)
END-of-cider/files/Makefile
echo x - cider/files/Makefile.spice
sed 's/^X//' >cider/files/Makefile.spice << 'END-of-cider/files/Makefile.spice'
Xall:
X	./util/build FreeBSD default
X
Xinstall:
X	./util/build FreeBSD install 
X	chmod a+rx ${PREFIX}/bin/spice3 ${PREFIX}/bin/nutmeg \
X	  ${PREFIX}/bin/sconvert ${PREFIX}/bin/help	\
X	  ${PREFIX}/bin/proc2mod ${PREFIX}/bin/multidec
X	strip ${PREFIX}/bin/spice3 ${PREFIX}/bin/nutmeg	\
X	  ${PREFIX}/bin/sconvert ${PREFIX}/bin/help \
X	  ${PREFIX}/bin/proc2mod ${PREFIX}/bin/multidec
X	chmod -R a+rX ${PREFIX}/share/spice3
X	install -c -m 644 -o bin -g bin man/man5/mfbcap.5 ${PREFIX}/man/man5/mfbcap.5
X	install -c -m 644 -o bin -g bin man/man1/sconvert.1 ${PREFIX}/man/man1/sconvert.1
X	install -c -m 644 -o bin -g bin man/man1/nutmeg.1 ${PREFIX}/man/man1/nutmeg.1
X	install -c -m 644 -o bin -g bin man/man1/spice.1 ${PREFIX}/man/man1/spice.1
X	install -c -m 644 -o bin -g bin man/man3/mfb.3 ${PREFIX}/man/man3/mfb.3
END-of-cider/files/Makefile.spice
echo x - cider/files/Makefile.cider
sed 's/^X//' >cider/files/Makefile.cider << 'END-of-cider/files/Makefile.cider'
Xall:
X	./util/build FreeBSD
X
Xinstall:
X	./util/build FreeBSD install 
X	chmod a+rx ${PREFIX}/bin/cider
X	strip ${PREFIX}/bin/cider
X	chmod -R a+rX ${PREFIX}/share/cider
X	install -c -m 644 -o bin -g bin doc/cider.1 ${PREFIX}/man/man1/cider.1
END-of-cider/files/Makefile.cider
echo c - cider/patches
mkdir -p cider/patches > /dev/null 2>&1
echo x - cider/patches/patch-ab
sed 's/^X//' >cider/patches/patch-ab << 'END-of-cider/patches/patch-ab'
X*** sim/spice/common/src/lib/fte/resource.c.orig	Sat Jan 29 18:48:28 1994
X--- sim/spice/common/src/lib/fte/resource.c	Sun Dec 12 14:38:33 1999
X***************
X*** 370,376 ****
X--- 370,378 ----
X  	long x;
X  	SIGNAL_TYPE	(*orig_signal)( );
X  
X+ #ifndef __FreeBSD__
X  	if (getenv("SPICE_NO_DATASEG_CHECK"))
X+ #endif
X  		return 0;
X  
X  	low = 0;
X*** sim/spice/common/src/include/misc.h.orig	Sat Jan 29 19:14:17 1994
X--- sim/spice/common/src/include/misc.h	Sun Dec 12 14:38:33 1999
X***************
X*** 86,92 ****
X--- 86,94 ----
X  extern char *realloc();
X  extern char *getenv();
X  extern int errno;
X+ #ifndef __FreeBSD__
X  extern char *sys_errlist[];
X+ #endif
X  extern char *getenv();
X  extern char *getwd();
X  extern int rand();
X***************
X*** 109,120 ****
X--- 111,124 ----
X  #    endif /* clearerr */
X  #  endif /* HAS_CLEARERR */
X  
X+ #ifndef __FreeBSD__
X  #  ifndef bzero
X  extern int bzero();
X  #  endif
X  #  ifndef bcopy
X  extern void bcopy();
X  #  endif
X+ #endif /* __FreeBSD__ */
X  
X  #  ifndef index
X  #    ifdef HAS_INDEX
X*** sim/spice/common/src/include/os_bsd.h.orig	Sat Jan 29 19:14:37 1994
X--- sim/spice/common/src/include/os_bsd.h	Sun Dec 12 14:38:33 1999
X***************
X*** 8,19 ****
X  
X  #include "os_unix.h"
X  
X  #define HAS_NO_ATRIGH_DECL	/* if asinh( ) is not in math.h		*/
X- #define HAS_ATRIGH		/* acosh( ), asinh( ), atanh( )         */
X  #define HAS_FTIME		/* ftime( ), <times.h>			*/
X  #define HAS_TERMCAP		/* tgetxxx( )				*/
X  #define HAS_VFORK		/* BSD-ism, should not be necessary	*/
X- #define HAS_INDEX		/* index( ) instead of strchr( )	*/
X  #define HAS_BCOPY		/* bcopy( ), bzero( )			*/
X  #define HAS_BSDRANDOM		/* srandom( ) and random( )		*/
X  #define HAS_BSDTTY		/* <sgtty.h>				*/
X--- 8,23 ----
X  
X  #include "os_unix.h"
X  
X+ #ifndef __FreeBSD__
X  #define HAS_NO_ATRIGH_DECL	/* if asinh( ) is not in math.h		*/
X  #define HAS_FTIME		/* ftime( ), <times.h>			*/
X+ #define HAS_INDEX		/* index( ) instead of strchr( )	*/
X+ #define HAS_STRINGS		/* use <strings.h> instead of <string.h> */
X+ #endif
X+ 
X+ #define HAS_ATRIGH		/* acosh( ), asinh( ), atanh( )         */
X  #define HAS_TERMCAP		/* tgetxxx( )				*/
X  #define HAS_VFORK		/* BSD-ism, should not be necessary	*/
X  #define HAS_BCOPY		/* bcopy( ), bzero( )			*/
X  #define HAS_BSDRANDOM		/* srandom( ) and random( )		*/
X  #define HAS_BSDTTY		/* <sgtty.h>				*/
X***************
X*** 22,25 ****
X  #define HAS_BSDRLIMIT		/* getrlimit( )				*/
X  #define HAS_DUP2
X  #define HAS_GETWD		/* getwd(buf)				*/
X! #define HAS_STRINGS		/* use <strings.h> instead of <string.h> */
X--- 26,35 ----
X  #define HAS_BSDRLIMIT		/* getrlimit( )				*/
X  #define HAS_DUP2
X  #define HAS_GETWD		/* getwd(buf)				*/
X! 
X! #ifdef __FreeBSD__
X! #define HAS_BSDSOCKETS		/* <net/inet.h>, socket( ), etc.	*/
X! #define HAS_BSDTIME		/* gettimeofday( ) return time		*/
X! #define HAS_FLOAT_H		/* float.h				*/
X! #define HAS_STRCHR		/* strchr( ) instead of index( )	*/
X! #endif
END-of-cider/patches/patch-ab
echo x - cider/patches/patch-bc
sed 's/^X//' >cider/patches/patch-bc << 'END-of-cider/patches/patch-bc'
X*** sim/cider/common/src/bin/main.c.orig	Sat Mar 12 08:20:59 1994
X--- sim/cider/common/src/bin/main.c	Mon Dec 13 10:16:13 1999
X***************
X*** 25,30 ****
X--- 25,37 ----
X  #include <pwd.h>
X  #endif
X  
X+ #ifdef HAS_GNUREADLINE
X+ /* Added GNU Readline Support 11/3/97 -- Andrew Veliath <veliaa@rpi.edu> */
X+ #include <readline/readline.h>
X+ #include <readline/history.h>
X+ #include "fteinput.h"
X+ #endif
X+ 
X  #ifdef HAS_UNIX_SIGS
X  #include <signal.h>
X  #endif
X***************
X*** 36,41 ****
X--- 43,53 ----
X  #endif
X  
X  #include "patchlev.h"
X+ 
X+ #ifdef __FreeBSD__
X+ #include <ieeefp.h>
X+ #endif
X+ 
X  #include "suffix.h"
X  
X  /* (Virtual) Machine architecture parameters */
X***************
X*** 53,58 ****
X--- 65,75 ----
X  bool ft_intrpt = false;     /* Set by the (void) signal handlers. */
X  bool ft_setflag = false;    /* Don't abort after an interrupt. */
X  
X+ #ifdef HAS_GNUREADLINE
X+ char gnu_history_file[512];
X+ static char *application_name;
X+ #endif
X+ 
X  struct variable *(*if_getparam)( );
X  
X  #ifdef BATCH
X***************
X*** 185,190 ****
X--- 202,291 ----
X  
X  #endif
X  
X+ #ifdef HAS_GNUREADLINE
X+ /* Adapted ../lib/cp/lexical.c:prompt() for GNU Readline -- Andrew Veliath <veliaa@rpi.edu> */
X+ static char *
X+ prompt()
X+ {
X+     static char pbuf[128];
X+     char *p = pbuf, *s;
X+ 
X+     if (cp_interactive == false)
X+         return;
X+     if (cp_promptstring == NULL)
X+         s = "-> ";
X+     else
X+         s = cp_promptstring;
X+     if (cp_altprompt)
X+         s = cp_altprompt;
X+     while (*s) {
X+         switch (strip(*s)) {
X+ 	case '!':
X+ 	    p += sprintf(p, "%d", where_history() + 1);
X+ 	    break;
X+ 	case '\\':
X+ 	    if (*(s + 1)) 
X+ 		p += sprintf(p, "%c", strip(*++s));
X+ 	default:
X+ 	    *p = strip(*s); ++p;
X+ 	    break;
X+         }
X+         s++;
X+     }
X+     *p = 0;
X+     return pbuf;
X+ }
X+ 
X+ /* Process device events in Readline's hook since there is no where
X+    else to do it now - AV */
X+ int rl_event_func()
X+ {
X+     static REQUEST reqst = { checkup_option, 0 };
X+     Input(&reqst, NULL);
X+     return 0;
X+ }
X+ 
X+ /* Added GNU Readline Support -- Andrew Veliath <veliaa@rpi.edu> */
X+ void app_rl_readlines()
X+ {
X+     char *line, *expanded_line;
X+ 
X+     strcpy(gnu_history_file, getenv("HOME"));
X+     strcat(gnu_history_file, "/.");
X+     strcat(gnu_history_file, application_name);
X+     strcat(gnu_history_file, "_history");
X+ 
X+     using_history();
X+     read_history(gnu_history_file);
X+ 
X+     rl_readline_name = application_name;
X+     rl_instream = cp_in;
X+     rl_outstream = cp_out;
X+     rl_event_hook = rl_event_func;
X+ 	
X+     while (1) {
X+ 	history_set_pos(history_length);
X+ 	line = readline(prompt());
X+ 	if (line && *line) {
X+ 	    int s = history_expand(line, &expanded_line);
X+ 		    
X+ 	    if (s == 2) {
X+ 		fprintf(stderr, "-> %s\n", expanded_line);
X+ 	    } else if (s == -1) {
X+ 		fprintf(stderr, "readline: %s\n", expanded_line);
X+ 	    } else {
X+ 		cp_evloop(expanded_line);
X+ 		add_history(expanded_line);
X+ 	    }
X+ 	    free(expanded_line);
X+ 	}
X+ 	if (line) free(line);
X+ 	else if (line == NULL) cp_evloop("quit");
X+     }
X+     /* History gets written in ../fte/misccoms.c com_quit */
X+ }
X+ #endif /* HAS_GNUREADLINE */
X+ 
X  char *hlp_filelist[] = { "spice", "cider", 0 };
X  
X  void
X***************
X*** 216,221 ****
X--- 317,326 ----
X  
X  #endif
X  
X+ #ifdef __FreeBSD__
X+     fpsetmask(fpgetmask() & ~FP_X_INV & ~FP_X_DZ & ~FP_X_OFL);
X+ #endif
X+ 
X      /* MFB tends to jump to 0 on errors.  This tends to catch it. */
X      if (started) {
X          fprintf(cp_err, "main: Internal Error: jump to zero\n");
X***************
X*** 236,241 ****
X--- 341,353 ----
X      ARCHsize = 1;
X  #endif /* PARALLEL_ARCH */
X  
X+ #ifdef HAS_GNUREADLINE
X+     if (!(application_name = strrchr(av[0],'/')))
X+         application_name = av[0];
X+     else
X+         ++application_name;
X+ #endif
X+ 
X  #ifdef HAS_MAC_ARGCARGV
X      ac = initmac(&av);
X  #endif
X***************
X*** 472,478 ****
X--- 584,594 ----
X  #  ifdef HAS_UNIX_SIGS
X      /* Set up (void) signal handling */
X      if (!ft_batchmode) {
X+ #    ifdef HAS_GNUREADLINE
X+         (void) signal(SIGINT, SIG_IGN);
X+ #    else
X          (void) signal(SIGINT, ft_sigintr);
X+ #    endif
X          (void) signal(SIGFPE, sigfloat);
X  #    ifdef SIGTSTP
X          (void) signal(SIGTSTP, sigstop);
X***************
X*** 668,674 ****
X--- 784,794 ----
X      } else {
X          (void) setjmp(jbuf);
X          cp_interactive = true;
X+ #ifdef HAS_GNUREADLINE
X+ 	app_rl_readlines();
X+ #else
X  	while (cp_evloop((char *) NULL) == 1) ;
X+ #endif /* ifelse HAS_GNUREADLINE */
X      }
X  
X  #  else /* if BATCH */
X***************
X*** 708,714 ****
X--- 828,838 ----
X      /* Nutmeg "main" */
X      (void) setjmp(jbuf);
X      cp_interactive = true;
X+ #ifdef HAS_GNUREADLINE
X+     app_rl_readlines();
X+ #else
X      while (cp_evloop((char *) NULL) == 1) ;
X+ #endif /* ifelse HAS_GNUREADLINE */
X  
X  #endif
X  
END-of-cider/patches/patch-bc
echo x - cider/patches/patch-bd
sed 's/^X//' >cider/patches/patch-bd << 'END-of-cider/patches/patch-bd'
X*** sim/cider/common/src/lib/spiceitf/resource.c.orig	Sun Jan 30 01:19:49 1994
X--- sim/cider/common/src/lib/spiceitf/resource.c	Sun Dec 12 18:18:26 1999
X***************
X*** 379,385 ****
X--- 379,387 ----
X  	long x;
X  	SIGNAL_TYPE	(*orig_signal)( );
X  
X+ #ifndef __FreeBSD__
X  	if (getenv("SPICE_NO_DATASEG_CHECK"))
X+ #endif
X  		return 0;
X  
X  	low = 0;
END-of-cider/patches/patch-bd
echo x - cider/patches/patch-ba
sed 's/^X//' >cider/patches/patch-ba << 'END-of-cider/patches/patch-ba'
X*** sim/cider1b1/common/conf/defaults.orig	Sat Jan 29 19:21:15 1994
X--- sim/cider1b1/common/conf/defaults	Sun Dec 12 14:14:43 1999
X***************
X*** 99,115 ****
X  #	identified as and SYSTEM is the name of the per-system definitions
X  #	file listed in the "build" command.
X  
X! SIM_DIR		= $(TOP2)
X! SPICE_DIR	= $(SIM_DIR)/spice/$(SYSTEM)
X! CIDER_DIR	= $(SIM_DIR)/cider/$(SYSTEM)
X! SPICE_LIB_DIR	= $(SPICE_DIR)/lib
X! CIDER_LIB_DIR	= $(SPICE_DIR)/lib
X  SPICE_EXEC_DIR	= $(SPICE_DIR)/bin
X  CIDER_EXEC_DIR	= $(CIDER_DIR)/bin
X  
X  S_CIDER_DIR	= $(CIDER_DIR)
X  S_SPICE_DIR	= $(SPICE_DIR)
X! S_CIDER_LIB_DIR	= $(S_SPICE_DIR)/lib
X  S_CIDER_EXEC_DIR= $(S_CIDER_DIR)/bin
X  
X  #	INSTALL_DIRS lists the directories that need to be created before
X--- 99,115 ----
X  #	identified as and SYSTEM is the name of the per-system definitions
X  #	file listed in the "build" command.
X  
X! SIM_DIR		= ${PREFIX}
X! SPICE_DIR	= $(SIM_DIR)
X! CIDER_DIR	= $(SIM_DIR)
X! SPICE_LIB_DIR	= $(SPICE_DIR)/share/spice3
X! CIDER_LIB_DIR	= $(SPICE_DIR)/share/cider
X  SPICE_EXEC_DIR	= $(SPICE_DIR)/bin
X  CIDER_EXEC_DIR	= $(CIDER_DIR)/bin
X  
X  S_CIDER_DIR	= $(CIDER_DIR)
X  S_SPICE_DIR	= $(SPICE_DIR)
X! S_CIDER_LIB_DIR	= $(S_SPICE_DIR)/share/cider
X  S_CIDER_EXEC_DIR= $(S_CIDER_DIR)/bin
X  
X  #	INSTALL_DIRS lists the directories that need to be created before
END-of-cider/patches/patch-ba
echo x - cider/patches/patch-aa
sed 's/^X//' >cider/patches/patch-aa << 'END-of-cider/patches/patch-aa'
X*** sim/spice/common/conf/defaults.orig	Sat Jan 29 19:15:53 1994
X--- sim/spice/common/conf/defaults	Sun Dec 12 14:40:09 1999
X***************
X*** 105,116 ****
X  #	identified as and SYSTEM is the name of the per-system definitions
X  #	file listed on the "build" command line.
X  
X! SPICE_DIR	= $(TOP1)/$(SYSTEM)
X! SPICE_LIB_DIR	= $(SPICE_DIR)/lib
X  SPICE_EXEC_DIR	= $(SPICE_DIR)/bin
X  
X  S_SPICE_DIR	= $(SPICE_DIR)
X! S_SPICE_LIB_DIR	= $(S_SPICE_DIR)/lib
X  S_SPICE_EXEC_DIR= $(S_SPICE_DIR)/bin
X  
X  #	INSTALL_DIRS lists the directories that need to be created before
X--- 105,116 ----
X  #	identified as and SYSTEM is the name of the per-system definitions
X  #	file listed on the "build" command line.
X  
X! SPICE_DIR	= ${PREFIX}
X! SPICE_LIB_DIR	= $(SPICE_DIR)/share/spice3
X  SPICE_EXEC_DIR	= $(SPICE_DIR)/bin
X  
X  S_SPICE_DIR	= $(SPICE_DIR)
X! S_SPICE_LIB_DIR	= $(S_SPICE_DIR)/share/spice3
X  S_SPICE_EXEC_DIR= $(S_SPICE_DIR)/bin
X  
X  #	INSTALL_DIRS lists the directories that need to be created before
X*** sim/spice/common/util/build.orig	Sat Jan 29 19:16:26 1994
X--- sim/spice/common/util/build	Sun Dec 12 14:38:33 1999
X***************
X*** 96,102 ****
X  
X  TMP_LEADER="${TMP_DIR}/buildl$$"
X  TMP_TRAILER="${TMP_DIR}/buildt$$"
X! trap 'rm -f ${TMP_LEADER} ${TMP_TRAILER}; exit 1' 1 2 3 4 6 7 8 9 10 12 13 14 15
X  echo > "${TMP_TRAILER}"
X  BAD=false
X  DEBUG=
X--- 96,102 ----
X  
X  TMP_LEADER="${TMP_DIR}/buildl$$"
X  TMP_TRAILER="${TMP_DIR}/buildt$$"
X! trap 'rm -f ${TMP_LEADER} ${TMP_TRAILER}; exit 1' 1 2 3 4 6 7 8 10 12 13 14 15
X  echo > "${TMP_TRAILER}"
X  BAD=false
X  DEBUG=
END-of-cider/patches/patch-aa
echo x - cider/patches/patch-be
sed 's/^X//' >cider/patches/patch-be << 'END-of-cider/patches/patch-be'
X*** sim/cider/common/lib/makedefs.orig	Thu Feb 24 09:11:21 1994
X--- sim/cider/common/lib/makedefs	Mon Dec 13 11:34:56 1999
X***************
X*** 1,9 ****
X  
X  INSTALL_TARGETS	= $(CIDER_LIB_DIR)/helpdir/cider.txt			      \
X  		  $(CIDER_LIB_DIR)/helpdir/cider.idx	\
X  		  $(CIDER_LIB_DIR)/scripts/devaxis	\
X  		  $(CIDER_LIB_DIR)/scripts/devload
X  
X! ALL_INSTALL_DIRS = $(CIDER_LIB_DIR) $(CIDER_LIB_DIR)/helpdir
X  
X  INSTALL_SPECIAL = directories
X--- 1,12 ----
X  
X  INSTALL_TARGETS	= $(CIDER_LIB_DIR)/helpdir/cider.txt			      \
X  		  $(CIDER_LIB_DIR)/helpdir/cider.idx	\
X+ 		  $(CIDER_LIB_DIR)/helpdir/spice.txt	\
X+ 		  $(CIDER_LIB_DIR)/helpdir/spice.idx	\
X  		  $(CIDER_LIB_DIR)/scripts/devaxis	\
X  		  $(CIDER_LIB_DIR)/scripts/devload
X  
X! ALL_INSTALL_DIRS = $(CIDER_LIB_DIR) $(CIDER_LIB_DIR)/helpdir \
X! 		   $(CIDER_LIB_DIR)/scripts
X  
X  INSTALL_SPECIAL = directories
END-of-cider/patches/patch-be
echo x - cider/patches/patch-ad
sed 's/^X//' >cider/patches/patch-ad << 'END-of-cider/patches/patch-ad'
X*** sim/spice/common/src/bin/main.c.orig	Sat Mar 12 08:22:28 1994
X--- sim/spice/common/src/bin/main.c	Sun Dec 12 14:58:04 1999
X***************
X*** 25,30 ****
X--- 25,37 ----
X  #include <pwd.h>
X  #endif
X  
X+ #ifdef HAS_GNUREADLINE
X+ /* Added GNU Readline Support 11/3/97 -- Andrew Veliath <veliaa@rpi.edu> */
X+ #include <readline/readline.h>
X+ #include <readline/history.h>
X+ #include "fteinput.h"
X+ #endif
X+ 
X  #ifdef HAS_UNIX_SIGS
X  #include <signal.h>
X  #endif
X***************
X*** 36,41 ****
X--- 43,53 ----
X  #endif
X  
X  #include "patchlev.h"
X+ 
X+ #ifdef __FreeBSD__
X+ #include <ieeefp.h>
X+ #endif
X+ 
X  #include "suffix.h"
X  
X  /* (Virtual) Machine architecture parameters */
X***************
X*** 53,58 ****
X--- 65,75 ----
X  bool ft_intrpt = false;     /* Set by the (void) signal handlers. */
X  bool ft_setflag = false;    /* Don't abort after an interrupt. */
X  
X+ #ifdef HAS_GNUREADLINE
X+ char gnu_history_file[512];
X+ static char *application_name;
X+ #endif
X+ 
X  struct variable *(*if_getparam)( );
X  
X  #ifdef BATCH
X***************
X*** 185,190 ****
X--- 202,291 ----
X  
X  #endif
X  
X+ #ifdef HAS_GNUREADLINE
X+ /* Adapted ../lib/cp/lexical.c:prompt() for GNU Readline -- Andrew Veliath <veliaa@rpi.edu> */
X+ static char *
X+ prompt()
X+ {
X+     static char pbuf[128];
X+     char *p = pbuf, *s;
X+ 
X+     if (cp_interactive == false)
X+         return;
X+     if (cp_promptstring == NULL)
X+         s = "-> ";
X+     else
X+         s = cp_promptstring;
X+     if (cp_altprompt)
X+         s = cp_altprompt;
X+     while (*s) {
X+         switch (strip(*s)) {
X+ 	case '!':
X+ 	    p += sprintf(p, "%d", where_history() + 1);
X+ 	    break;
X+ 	case '\\':
X+ 	    if (*(s + 1)) 
X+ 		p += sprintf(p, "%c", strip(*++s));
X+ 	default:
X+ 	    *p = strip(*s); ++p;
X+ 	    break;
X+         }
X+         s++;
X+     }
X+     *p = 0;
X+     return pbuf;
X+ }
X+ 
X+ /* Process device events in Readline's hook since there is no where
X+    else to do it now - AV */
X+ int rl_event_func()
X+ {
X+     static REQUEST reqst = { checkup_option, 0 };
X+     Input(&reqst, NULL);
X+     return 0;
X+ }
X+ 
X+ /* Added GNU Readline Support -- Andrew Veliath <veliaa@rpi.edu> */
X+ void app_rl_readlines()
X+ {
X+     char *line, *expanded_line;
X+ 
X+     strcpy(gnu_history_file, getenv("HOME"));
X+     strcat(gnu_history_file, "/.");
X+     strcat(gnu_history_file, application_name);
X+     strcat(gnu_history_file, "_history");
X+ 
X+     using_history();
X+     read_history(gnu_history_file);
X+ 
X+     rl_readline_name = application_name;
X+     rl_instream = cp_in;
X+     rl_outstream = cp_out;
X+     rl_event_hook = rl_event_func;
X+ 	
X+     while (1) {
X+ 	history_set_pos(history_length);
X+ 	line = readline(prompt());
X+ 	if (line && *line) {
X+ 	    int s = history_expand(line, &expanded_line);
X+ 		    
X+ 	    if (s == 2) {
X+ 		fprintf(stderr, "-> %s\n", expanded_line);
X+ 	    } else if (s == -1) {
X+ 		fprintf(stderr, "readline: %s\n", expanded_line);
X+ 	    } else {
X+ 		cp_evloop(expanded_line);
X+ 		add_history(expanded_line);
X+ 	    }
X+ 	    free(expanded_line);
X+ 	}
X+ 	if (line) free(line);
X+ 	else if (line == NULL) cp_evloop("quit");
X+     }
X+     /* History gets written in ../fte/misccoms.c com_quit */
X+ }
X+ #endif /* HAS_GNUREADLINE */
X+ 
X  char *hlp_filelist[] = { "spice", 0 };
X  
X  void
X***************
X*** 216,221 ****
X--- 317,326 ----
X  
X  #endif
X  
X+ #ifdef __FreeBSD__
X+     fpsetmask(fpgetmask() & ~FP_X_INV & ~FP_X_DZ & ~FP_X_OFL);
X+ #endif
X+ 
X      /* MFB tends to jump to 0 on errors.  This tends to catch it. */
X      if (started) {
X          fprintf(cp_err, "main: Internal Error: jump to zero\n");
X***************
X*** 236,241 ****
X--- 341,353 ----
X      ARCHsize = 1;
X  #endif /* PARALLEL_ARCH */
X  
X+ #ifdef HAS_GNUREADLINE
X+     if (!(application_name = strrchr(av[0],'/')))
X+         application_name = av[0];
X+     else
X+         ++application_name;
X+ #endif
X+ 
X  #ifdef HAS_MAC_ARGCARGV
X      ac = initmac(&av);
X  #endif
X***************
X*** 472,478 ****
X--- 584,594 ----
X  #  ifdef HAS_UNIX_SIGS
X      /* Set up (void) signal handling */
X      if (!ft_batchmode) {
X+ #    ifdef HAS_GNUREADLINE
X+         (void) signal(SIGINT, SIG_IGN);
X+ #    else
X          (void) signal(SIGINT, ft_sigintr);
X+ #    endif
X          (void) signal(SIGFPE, sigfloat);
X  #    ifdef SIGTSTP
X          (void) signal(SIGTSTP, sigstop);
X***************
X*** 668,674 ****
X--- 784,794 ----
X      } else {
X          (void) setjmp(jbuf);
X          cp_interactive = true;
X+ #ifdef HAS_GNUREADLINE
X+ 	app_rl_readlines();
X+ #else
X  	while (cp_evloop((char *) NULL) == 1) ;
X+ #endif /* ifelse HAS_GNUREADLINE */
X      }
X  
X  #  else /* if BATCH */
X***************
X*** 708,714 ****
X--- 828,838 ----
X      /* Nutmeg "main" */
X      (void) setjmp(jbuf);
X      cp_interactive = true;
X+ #ifdef HAS_GNUREADLINE
X+     app_rl_readlines();
X+ #else
X      while (cp_evloop((char *) NULL) == 1) ;
X+ #endif /* ifelse HAS_GNUREADLINE */
X  
X  #endif
X  
END-of-cider/patches/patch-ad
echo x - cider/patches/patch-bf
sed 's/^X//' >cider/patches/patch-bf << 'END-of-cider/patches/patch-bf'
X*** sim/cider/common/lib/makeops.orig	Thu Feb 24 09:11:43 1994
X--- sim/cider/common/lib/makeops	Mon Dec 13 11:45:34 1999
X***************
X*** 11,16 ****
X--- 11,23 ----
X  $(CIDER_LIB_DIR)/helpdir/cider.idx: $(OBJBIN_SPICE_DIR)/makeidx
X  	$(OBJBIN_SPICE_DIR)/makeidx $(CIDER_LIB_DIR)/helpdir/cider.txt
X  
X+ $(CIDER_LIB_DIR)/helpdir/spice.txt: $(DISTLIB_DIR)/helpdir/spice.txt
X+ 	-cp $? $@
X+ 
X+ $(CIDER_LIB_DIR)/helpdir/spice.idx: $(DISTLIB_DIR)/helpdir/spice.txt
X+ $(CIDER_LIB_DIR)/helpdir/spice.idx: $(OBJBIN_SPICE_DIR)/makeidx
X+ 	$(OBJBIN_SPICE_DIR)/makeidx $(CIDER_LIB_DIR)/helpdir/spice.txt
X+ 
X  $(CIDER_LIB_DIR):
X  	mkdir -p $(CIDER_LIB_DIR)
X  
END-of-cider/patches/patch-bf
echo x - cider/patches/patch-bg
sed 's/^X//' >cider/patches/patch-bg << 'END-of-cider/patches/patch-bg'
X*** sim/cider/common/lib/helpdir/spice.txt.orig	Mon Dec 13 10:57:16 1999
X--- sim/cider/common/lib/helpdir/spice.txt	Mon Dec 13 10:50:01 1999
X***************
X*** 7,12 ****
X--- 7,13 ----
X  TEXT: H
X  TEXT: H
X  TEXT: H
X+ SUBTOPIC: CIDER:cider
X  SUBTOPIC: SPICE:INTRODUCTION
X  SUBTOPIC: SPICE:CIRCUIT DESCRIPTION
X  SUBTOPIC: SPICE:CIRCUIT ELEMENTS AND MODELS
X***************
X*** 15,20 ****
X--- 16,22 ----
X  SUBTOPIC: SPICE:BIBLIOGRAPHY
X  SUBTOPIC: SPICE:APPENDIX A
X  SUBTOPIC: SPICE:APPENDIX B
X+ SUBJECT: cider
X  SUBJECT: INTRODUCTION
X  TITLE: INTRODUCTION
X  TEXT: H
END-of-cider/patches/patch-bg
echo x - cider/patches/patch-ae
sed 's/^X//' >cider/patches/patch-ae << 'END-of-cider/patches/patch-ae'
X*** sim/spice/common/src/lib/cp/history.c.orig	Sat Jan 29 18:44:09 1994
X--- sim/spice/common/src/lib/cp/history.c	Sun Dec 12 14:56:43 1999
X***************
X*** 11,16 ****
X--- 11,24 ----
X  #include "cpdefs.h"
X  #include "suffix.h"
X  
X+ #ifdef HAS_GNUREADLINE
X+ 
X+ /* Added GNU Readline Support -- Andrew Veliath <veliaa@rpi.edu> */
X+ #include <readline/readline.h>
X+ #include <readline/history.h>
X+ 
X+ #endif /* HAS_GNUREADLINE */
X+ 
X  static char *dohs();
X  static void freehist();
X  static wordlist *dohmod();
X***************
X*** 19,24 ****
X--- 27,33 ----
X  static wordlist *hpattern();
X  static wordlist *hprefix();
X  
X+ 
X  struct histent *cp_lastone = NULL;
X  int cp_maxhistlength = 1000;
X  char cp_hat = '^';
X***************
X*** 345,352 ****
X--- 354,363 ----
X      cp_lastone->hi_next = NULL;
X      cp_lastone->hi_event = event;
X      cp_lastone->hi_wlist = wl_copy(wlist);
X+ #ifndef HAS_GNUREADLINE
X      freehist(histlength - cp_maxhistlength);
X      histlength++;
X+ #endif
X      return;
X  }
X  
X***************
X*** 483,492 ****
X--- 494,529 ----
X          wl = wl->wl_next;
X          rev = true;
X      }
X+ #ifdef HAS_GNUREADLINE
X+     /* Added GNU Readline Support -- Andrew Veliath <veliaa@rpi.edu> */
X+     {
X+ 	HIST_ENTRY *he;
X+ 	int i, N;
X+ 
X+ 	N = (wl == NULL) ? history_length : atoi(wl->wl_word);
X+ 
X+ 	if (N < 0) N = 0;
X+ 	if (N > history_length) N = history_length;
X+ 
X+ 	if (rev)
X+ 	    for (i = history_length; i > 0 && N; --i, --N) {
X+ 		he = history_get(i);
X+ 		if (!he) return;
X+ 		fprintf(cp_out, "%d\t%s\n", i, he->line);
X+ 	    }
X+ 	else
X+ 	    for (i = history_length - N + 1; i <= history_length; ++i) {
X+ 		he = history_get(i);
X+ 		if (!he) return;
X+ 		fprintf(cp_out, "%d\t%s\n", i, he->line);
X+ 	    }
X+     }
X+ #else
X      if (wl == NULL)
X          cp_hprint(cp_event - 1, cp_event - histlength, rev);
X      else
X          cp_hprint(cp_event - 1, cp_event - 1 - atoi(wl->wl_word), rev);
X+ #endif /* ifelse HAS_GNUREADLINE */
X      return;
X  }
X  
END-of-cider/patches/patch-ae
echo x - cider/patches/patch-af
sed 's/^X//' >cider/patches/patch-af << 'END-of-cider/patches/patch-af'
X*** sim/spice/common/src/lib/fte/misccoms.c.orig	Wed Mar  9 04:15:44 1994
X--- sim/spice/common/src/lib/fte/misccoms.c	Sun Dec 12 14:56:44 1999
X***************
X*** 11,16 ****
X--- 11,24 ----
X  #include "hlpdefs.h"
X  #include "suffix.h"
X  
X+ #ifdef HAS_GNUREADLINE
X+ #include <readline/readline.h>
X+ #include <readline/history.h>
X+ 
X+ extern int gnu_history_lines;
X+ extern char gnu_history_file[];
X+ #endif
X+ 
X  static void byemesg();
X  
X  void
X***************
X*** 299,304 ****
X--- 307,320 ----
X              byemesg();
X      } else
X          byemesg();
X+ 
X+ #ifdef HAS_GNUREADLINE
X+     /* Added GNU Readline Support -- Andrew Veliath <veliaa@rpi.edu> */
X+     if (cp_interactive && (cp_maxhistlength > 0)) {
X+ 	stifle_history(cp_maxhistlength);
X+ 	write_history(gnu_history_file);
X+     }
X+ #endif /* HAS_GNUREADLINE */
X  
X      exit(EXIT_NORMAL);
X      /* NOTREACHED */
END-of-cider/patches/patch-af
echo x - cider/patches/patch-ag
sed 's/^X//' >cider/patches/patch-ag << 'END-of-cider/patches/patch-ag'
X*** sim/spice/common/src/lib/fte/signal.c.orig	Sat Jan 29 18:48:38 1994
X--- sim/spice/common/src/lib/fte/signal.c	Sun Dec 12 14:56:46 1999
X***************
X*** 32,37 ****
X--- 32,39 ----
X   * is true.
X   */
X  
X+ /* not using SIGINT with GNU Readline - AV */
X+ #ifndef HAS_GNUREADLINE
X  SIGNAL_TYPE
X  ft_sigintr()
X  {
X***************
X*** 58,63 ****
X--- 60,66 ----
X      cp_resetcontrol();
X      longjmp(jbuf, 1);
X  }
X+ #endif /* !HAS_GNUREADLINE */
X  
X  /* ARGSUSED */
X  SIGNAL_TYPE
END-of-cider/patches/patch-ag
echo x - cider/patches/patch-ah
sed 's/^X//' >cider/patches/patch-ah << 'END-of-cider/patches/patch-ah'
X*** sim/spice/common/src/lib/fte/x10.c.orig	Sat Jan 29 18:47:11 1994
X--- sim/spice/common/src/lib/fte/x10.c	Sun Dec 12 14:56:48 1999
X***************
X*** 726,737 ****
X--- 726,740 ----
X              graph->commandline, fx0, fx1, fy0, fy1);
X      }
X  
X+ /* don't use the following if using GNU Readline - AV */
X+ #ifndef HAS_GNUREADLINE
X      /* hack for Gordon Jacobs */
X      /* add to history list if plothistory is set */
X      if (cp_getvar("plothistory", VT_BOOL, (char *) &dummy)) {
X        wl = cp_parse(buf);
X        (void) cp_addhistent(cp_event++, wl);
X      }
X+ #endif /* HAS_GNUREADLINE */
X  
X      (void) cp_evloop(buf);
X  
END-of-cider/patches/patch-ah
echo x - cider/patches/patch-ai
sed 's/^X//' >cider/patches/patch-ai << 'END-of-cider/patches/patch-ai'
X*** sim/spice/common/src/lib/fte/x11.c.orig	Sat Jan 29 18:48:34 1994
X--- sim/spice/common/src/lib/fte/x11.c	Sun Dec 12 14:56:50 1999
X***************
X*** 773,784 ****
X--- 773,787 ----
X  	        graph->commandline, fx0, fx1, fy0, fy1);
X  	}
X  
X+ /* don't use the following if using GNU Readline - AV */
X+ #ifndef HAS_GNUREADLINE
X  	/* hack for Gordon Jacobs */
X  	/* add to history list if plothistory is set */
X  	if (cp_getvar("plothistory", VT_BOOL, (char *) &dummy)) {
X  	  wl = cp_parse(buf);
X  	  (void) cp_addhistent(cp_event++, wl);
X  	}
X+ #endif /* HAS_GNUREADLINE */
X  
X  	(void) cp_evloop(buf);
X  
END-of-cider/patches/patch-ai
echo x - cider/patches/patch-ac
sed 's/^X//' >cider/patches/patch-ac << 'END-of-cider/patches/patch-ac'
X*** sim/spice/common/src/bin/sconvert.c.orig	Sat Jan 29 19:12:56 1994
X--- sim/spice/common/src/bin/sconvert.c	Sun Dec 12 14:49:36 1999
X***************
X*** 80,98 ****
X  
X          case 1: printf("Input file: ");
X              (void) fflush(stdout);
X!             (void) gets(buf);
X              sf = copy(buf);
X              printf("Input type: ");
X              (void) fflush(stdout);
X!             (void) gets(buf);
X              f = buf[0];
X              printf("Output file: ");
X              (void) fflush(stdout);
X!             (void) gets(buf);
X              af = copy(buf);
X              printf("Output type: ");
X              (void) fflush(stdout);
X!             (void) gets(buf);
X              t = buf[0];
X              break;
X          default:
X--- 80,98 ----
X  
X          case 1: printf("Input file: ");
X              (void) fflush(stdout);
X!             (void) fgets(buf,BSIZE_SP,stdin);
X              sf = copy(buf);
X              printf("Input type: ");
X              (void) fflush(stdout);
X!             (void) fgets(buf,BSIZE_SP,stdin);
X              f = buf[0];
X              printf("Output file: ");
X              (void) fflush(stdout);
X!             (void) fgets(buf,BSIZE_SP,stdin);
X              af = copy(buf);
X              printf("Output type: ");
X              (void) fflush(stdout);
X!             (void) fgets(buf,BSIZE_SP,stdin);
X              t = buf[0];
X              break;
X          default:
X*** sim/spice/common/src/lib/fte/inp.c.orig	Sat Jan 29 18:48:10 1994
X--- sim/spice/common/src/lib/fte/inp.c	Sun Dec 12 14:49:36 1999
X***************
X*** 666,672 ****
X  
X      fprintf(cp_out, "run circuit? ");
X      fflush(cp_out);
X!     (void) gets(buf);
X      if (buf[0] != 'n') {
X        fprintf(cp_out, "running circuit\n");
X        com_run(NULL);
X--- 666,672 ----
X  
X      fprintf(cp_out, "run circuit? ");
X      fflush(cp_out);
X!     (void) fgets(buf,BSIZE_SP,stdin);
X      if (buf[0] != 'n') {
X        fprintf(cp_out, "running circuit\n");
X        com_run(NULL);
END-of-cider/patches/patch-ac
echo x - cider/patches/patch-bb
sed 's/^X//' >cider/patches/patch-bb << 'END-of-cider/patches/patch-bb'
X*** sim/cider/common/util/build.orig	Sat Jan 29 19:32:01 1994
X--- sim/cider/common/util/build	Sun Dec 12 16:45:08 1999
X***************
X*** 89,95 ****
X  
X  TMP_LEADER="${TMP_DIR}/buildl$$"
X  TMP_TRAILER="${TMP_DIR}/buildt$$"
X! trap "rm -f ${TMP_LEADER} ${TMP_TRAILER}; exit 1" 1 2 3 4 6 7 8 9 10 12 13 14 15
X  echo > "${TMP_TRAILER}"
X  BAD=false
X  DEBUG=
X--- 89,95 ----
X  
X  TMP_LEADER="${TMP_DIR}/buildl$$"
X  TMP_TRAILER="${TMP_DIR}/buildt$$"
X! trap "rm -f ${TMP_LEADER} ${TMP_TRAILER}; exit 1" 1 2 3 4 6 7 8 10 12 13 14 15
X  echo > "${TMP_TRAILER}"
X  BAD=false
X  DEBUG=
X***************
X*** 166,172 ****
X  	echo Begin build for "${SYS_NAME}" on "${BUILD_DATE}":
X  	$EXEC cat ${FILES0} "${TOP0}/${DIR}/${SUBDIR}/makedefs" \
X  		"${TMP_TRAILER}" "${SKEL_DIR}/make_std.bd" \
X! 	| /bin/make ${VERBOSE} -f - bootstrap DIR="${DIR}" SUBDIR="${SUBDIR}" \
X  		VPATH="${TOP0}/${DIR}/${SUBDIR}" CWD="${CWD}"
X  	echo Done with build at `date`
X  else
X--- 166,172 ----
X  	echo Begin build for "${SYS_NAME}" on "${BUILD_DATE}":
X  	$EXEC cat ${FILES0} "${TOP0}/${DIR}/${SUBDIR}/makedefs" \
X  		"${TMP_TRAILER}" "${SKEL_DIR}/make_std.bd" \
X! 	| /usr/bin/make ${VERBOSE} -f - bootstrap DIR="${DIR}" SUBDIR="${SUBDIR}" \
X  		VPATH="${TOP0}/${DIR}/${SUBDIR}" CWD="${CWD}"
X  	echo Done with build at `date`
X  else
END-of-cider/patches/patch-bb
echo c - cider/pkg
mkdir -p cider/pkg > /dev/null 2>&1
echo x - cider/pkg/COMMENT
sed 's/^X//' >cider/pkg/COMMENT << 'END-of-cider/pkg/COMMENT'
XA mixed-level circuit and device simulator (includes SPICE3)
END-of-cider/pkg/COMMENT
echo x - cider/pkg/DESCR
sed 's/^X//' >cider/pkg/DESCR << 'END-of-cider/pkg/DESCR'
XCIDER is a mixed-level circuit and device simulator.
XCIDER attempts to provide greater simulation accuracy than a stand-alone
Xcircuit or device simulator can provide.
XCIDER is based on the sequential mixed-level circuit and
Xdevice simulator, CODECS.  In common with CODECS, CIDER embeds the circuit
Xsimulator, SPICE3, which provides circuit simulation capabilities,
Xanalytical models for semiconductor devices, and an interactive
Xuser interface.  An interface to the captive device simulator, DSIM,
Xprovides accurate, one- and two-dimensional numerical models
Xbased on the solution of Poisson's equation, and the electron and hole
Xcurrent-continuity equations.  The input format of CIDER couples
XSPICE-like circuit descriptions
Xto a device description format similar to the one
Xused by the PISCES device simulator developed at Stanford University.
XAs a result, CIDER should seem reasonably familiar to designers
Xalready accustomed to both these tools.
X
X	From the Cider help file.
X
X
XSPICE is a general-purpose circuit simulation program for nonlinear DC,
Xnonlinear transient, and linear AC analyses. Circuits may contain resistors,
Xcapacitors, inductors, mutual inductors, independent voltage and current
Xsources, four types of dependent sources, lossless and lossy transmission
Xlines (two separate implementations), switches, uniform distributed RC
Xlines, and the five most common semiconductor devices: diodes, BJTs, JFETs,
XMESFETs, and MOSFETs.
X
X	From the SPICE3 Version3f3 User's Manual.
X	This is availble as a postscript document from:
X		ftp://ic.eecs.berkeley.edu/pub/Spice3/um.3f3.ps
X	or you can read the online documentation on the homepage.
X
XWWW: http://infopad.eecs.berkeley.edu/~icdesign/SPICE/
END-of-cider/pkg/DESCR
echo x - cider/pkg/PLIST
sed 's/^X//' >cider/pkg/PLIST << 'END-of-cider/pkg/PLIST'
Xbin/cider
Xbin/spice3
Xbin/nutmeg
Xbin/sconvert
Xbin/help
Xbin/proc2mod
Xbin/multidec
Xshare/cider/helpdir/cider.idx
Xshare/cider/helpdir/cider.txt
Xshare/cider/helpdir/spice.idx
Xshare/cider/helpdir/spice.txt
Xshare/cider/scripts/devaxis
Xshare/cider/scripts/devload
Xshare/cider/scripts/spinit
Xshare/examples/cider/bicmos/bicmos.lib
Xshare/examples/cider/bicmos/bicmpd.cir
Xshare/examples/cider/bjt/astable.cir
Xshare/examples/cider/bjt/colposc.cir
Xshare/examples/cider/bjt/ecp.cir
Xshare/examples/cider/bjt/invchain.cir
Xshare/examples/cider/bjt/meclgate.cir
Xshare/examples/cider/bjt/pebjt.lib
Xshare/examples/cider/bjt/pz.cir
Xshare/examples/cider/bjt/rtlinv.cir
Xshare/examples/cider/bjt/vco.cir
Xshare/examples/cider/diode/diode.cir
Xshare/examples/cider/diode/diotran.cir
Xshare/examples/cider/diode/pindiode.cir
Xshare/examples/cider/jfet/jfet.cir
Xshare/examples/cider/mos/bootinv.cir
Xshare/examples/cider/mos/charge.cir
Xshare/examples/cider/mos/cmosinv.cir
Xshare/examples/cider/mos/nmosinv.cir
Xshare/examples/cider/mos/pass.cir
Xshare/examples/cider/mos/ringosc.cir
Xshare/examples/cider/parallel/BICMOS.LIB
Xshare/examples/cider/parallel/bicmpd.cir
Xshare/examples/cider/parallel/bicmpu.cir
Xshare/examples/cider/parallel/clkfeed.cir
Xshare/examples/cider/parallel/cmosamp.cir
Xshare/examples/cider/parallel/eclinv.cir
Xshare/examples/cider/parallel/ecpal.cir
Xshare/examples/cider/parallel/foobar
Xshare/examples/cider/parallel/gmamp.cir
Xshare/examples/cider/parallel/latch.cir
Xshare/examples/cider/parallel/ppef.1d.cir
Xshare/examples/cider/parallel/ppef.2d.cir
Xshare/examples/cider/parallel/readme
Xshare/examples/cider/parallel/ringosc.1u.cir
Xshare/examples/cider/parallel/ringosc.2u.cir
Xshare/examples/cider/readme
Xshare/examples/cider/resistor/gaasres.cir
Xshare/examples/cider/resistor/sires.cir
Xshare/examples/cider/serial/astable.cir
Xshare/examples/cider/serial/charge.cir
Xshare/examples/cider/serial/colposc.cir
Xshare/examples/cider/serial/dbridge.cir
Xshare/examples/cider/serial/invchain.cir
Xshare/examples/cider/serial/meclgate.cir
Xshare/examples/cider/serial/nmosinv.cir
Xshare/examples/cider/serial/pass.cir
Xshare/examples/cider/serial/pullup.cir
Xshare/examples/cider/serial/readme
Xshare/examples/cider/serial/recovery.cir
Xshare/examples/cider/serial/rtlinv.cir
Xshare/examples/cider/serial/vco.cir
Xshare/examples/spice3/bjtnoise.cir
Xshare/examples/spice3/bsim1tst.cir
Xshare/examples/spice3/bsim2tst.cir
Xshare/examples/spice3/diffpair.cir
Xshare/examples/spice3/diodisto.cir
Xshare/examples/spice3/ltra_1.cir
Xshare/examples/spice3/ltra_2.cir
Xshare/examples/spice3/ltra_3.cir
Xshare/examples/spice3/mixdisto.cir
Xshare/examples/spice3/mos6inv.cir
Xshare/examples/spice3/mosamp2.cir
Xshare/examples/spice3/mosmem.cir
Xshare/examples/spice3/pz2.cir
Xshare/examples/spice3/pzt.cir
Xshare/examples/spice3/rc.cir
Xshare/examples/spice3/rca3040.cir
Xshare/examples/spice3/resnoise.cir
Xshare/examples/spice3/rtlinv.cir
Xshare/examples/spice3/schmitt.cir
Xshare/examples/spice3/simplepz.cir
Xshare/spice3/helpdir/spice.txt
Xshare/spice3/helpdir/spice.idx
Xshare/spice3/scripts/setplot
Xshare/spice3/scripts/spinit
Xshare/spice3/mfbcap
Xshare/spice3/news
X@dirrm share/examples/cider/bicmos
X@dirrm share/examples/cider/bjt
X@dirrm share/examples/cider/diode
X@dirrm share/examples/cider/jfet
X@dirrm share/examples/cider/mos
X@dirrm share/examples/cider/parallel
X@dirrm share/examples/cider/resistor
X@dirrm share/examples/cider/serial
X@dirrm share/examples/cider
X@dirrm share/examples/spice3
X@dirrm share/cider/helpdir
X@dirrm share/cider/scripts
X@dirrm share/cider
X@dirrm share/spice3/helpdir
X@dirrm share/spice3/scripts
X@dirrm share/spice3
END-of-cider/pkg/PLIST
echo c - cider/scripts
mkdir -p cider/scripts > /dev/null 2>&1
echo x - cider/scripts/configure
sed 's/^X//' >cider/scripts/configure << 'END-of-cider/scripts/configure'
X#! /bin/sh
X
Xcp ${FILESDIR}/Makefile ${WRKSRC}/Makefile
Xcp ${FILESDIR}/Makefile.spice ${WRKSRC}/sim/spice/common/Makefile
Xcp ${FILESDIR}/Makefile.cider ${WRKSRC}/sim/cider/common/Makefile
Xcp ${FILESDIR}/FreeBSD ${WRKSRC}/sim/spice/common/conf/FreeBSD
Xcp ${FILESDIR}/FreeBSD ${WRKSRC}/sim/cider/common/conf/FreeBSD
END-of-cider/scripts/configure
exit


>Release-Note:
>Audit-Trail:
>Unformatted:


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-ports" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199912131819.SAA26142>