diff --git a/cad/irsim/Makefile b/cad/irsim/Makefile index 65aa6614e37e..41d74eb298b8 100644 --- a/cad/irsim/Makefile +++ b/cad/irsim/Makefile @@ -1,48 +1,44 @@ PORTNAME= irsim -DISTVERSION= 9.7.116 -PORTREVISION= 1 +DISTVERSION= 9.7.118 CATEGORIES= cad MASTER_SITES= http://opencircuitdesign.com/irsim/archive/ +PKGNAMESUFFIX= -${FLAVOR} -MAINTAINER= ports@FreeBSD.org +MAINTAINER= alster@vinterdalen.se COMMENT= Event-driven logic-level simulator for MOS circuis WWW= http://opencircuitdesign.com/irsim/ LICENSE= GPLv2 +LICENSE_FILE= ${WRKSRC}/COPYRIGHT -USES= gmake tar:tgz xorg +FLAVORS= scheme lite tcl +FLAVOR?= ${FLAVORS:[1]} -OPTIONS_RADIO= INTERPRETER -OPTIONS_RADIO_INTERPRETER= SCHEME TCL -OPTIONS_DEFAULT= SCHEME -SCHEME_DESC= Scheme interpreter -TCL_DESC= Tcl interpreter -OPTIONS_SUB= yes +lite_CONFLICTS_INSTALL= ${PORTNAME}-scheme ${PORTNAME}-tcl +scheme_CONFLICTS_INSTALL= ${PORTNAME}-lite ${PORTNAME}-tcl +tcl_CONFLICTS_INSTALL= ${PORTNAME}-lite ${PORTNAME}-scheme -SCHEME_CONFIGURE_ON= --with-interpreter=scheme -TCL_CONFIGURE_ON= --with-interpreter=tcl -TCL_USES= tk:tea +USES= gmake localbase:ldflags tar:tgz xorg +USE_XORG= x11 + +GNU_CONFIGURE= yes CONFIGURE_WRKSRC= ${WRKSRC}/scripts -USE_XORG= x11 -GNU_CONFIGURE= yes -GNU_CONFIGURE_MANPREFIX=${PREFIX}/share +PLIST= pkg-plist.${FLAVOR} -CFLAGS+= -I${LOCALBASE}/include -LDFLAGS+= -L${LOCALBASE}/lib - -.include - -.if ${PORT_OPTIONS:MTCL} -PLIST_SUB+= NOTCL="@comment " -.else -WISH= ${FALSE} -PLIST_SUB+= NOTCL="" -.endif - -.if empty(PORT_OPTIONS:MSCHEME) && empty(PORT_OPTIONS:MTCL) -CONFIGURE_ARGS+= --with-interpreter=no +.if ${FLAVOR} == lite +CONFIGURE_ARGS= --with-interpreter=no +WISH= ${FALSE} +.elif ${FLAVOR} == scheme +CONFIGURE_ARGS= --with-interpreter=scheme +WISH= ${FALSE} +.elif ${FLAVOR} == tcl +CONFIGURE_ARGS= --with-interpreter=tcl +# Workaround building Tcl with clang17+ +# See https://github.com/RTimothyEdwards/irsim/issues/7 +LDFLAGS+= -Wl,--undefined-version +USES+= tk:tea .endif post-patch: @@ -53,11 +49,11 @@ post-patch: /-l\/usr\/X11R6\/include/d' ${CONFIGURE_WRKSRC}/configure post-install: -.if empty(PORT_OPTIONS:MTCL) - cd ${STAGEDIR}${PREFIX} && ${STRIP_CMD} bin/gentbl bin/genspktbl bin/irsim -.else +.if ${FLAVOR} == tcl cd ${STAGEDIR}${PREFIX}/lib/irsim/tcl && \ - ${STRIP_CMD} irsimexec tclirsim.so diglib.so random.so + ${STRIP_CMD} diglib.so irsimexec random.so tclirsim.so +.else + cd ${STAGEDIR}${PREFIX}/bin && ${STRIP_CMD} irsim genspktbl gentbl .endif .include diff --git a/cad/irsim/distinfo b/cad/irsim/distinfo index 54dc3b42fad7..7e7a8ae651d0 100644 --- a/cad/irsim/distinfo +++ b/cad/irsim/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1672169839 -SHA256 (irsim-9.7.116.tgz) = f6afcab1e57743ade0d34e410788d26bf4bf94ee45144b9ea78a567f9651a555 -SIZE (irsim-9.7.116.tgz) = 481566 +TIMESTAMP = 1739759917 +SHA256 (irsim-9.7.118.tgz) = ed740bde3e44ebe29d7beafde11c563d5d5cc12891fdc4ed5f4622f302903df7 +SIZE (irsim-9.7.118.tgz) = 481871 diff --git a/cad/irsim/pkg-descr b/cad/irsim/pkg-descr index 7c8c0ecc6a6b..2f13c49a95a4 100644 --- a/cad/irsim/pkg-descr +++ b/cad/irsim/pkg-descr @@ -1,4 +1,21 @@ -IRSIM is an event-driven logic-level simulator for MOS circuits. +IRSIM is a tool for simulating digital circuits. It is a "switch-level" +simulator; that is, it treats transistors as ideal switches. Extracted +capacitance and lumped resistance values are used to make the switch a little +bit more realistic than the ideal, using the RC time constants to predict the +relative timing of events. + +IRSIM shares a history with magic, although it is an independent program. Magic +was designed to produce, and IRSIM to read, the ".sim" file format, which is +largely unused outside of these two programs. IRSIM was developed at Stanford, +while Magic was developed at Berkeley. Parts of Magic were developed especially +for use with IRSIM, allowing IRSIM to run a simulation in the "background" +(i.e., a forked process communicating through a pipe), while displaying +information about the values of signals directly on the VLSI layout. + +For "quick" simulations of digital circuits, IRSIM is still quite useful for +confirming basic operation of digital circuit layouts. The addition of +scheduling commands ("at", "every", "when", and "whenever") put IRSIM into the +same class as Verilog simulators. To run irsim, users should set CAD_HOME to the base installation directory where magic was installed, e.g. /usr/local. Alternatively, the system diff --git a/cad/irsim/pkg-plist b/cad/irsim/pkg-plist.lite similarity index 63% rename from cad/irsim/pkg-plist rename to cad/irsim/pkg-plist.lite index d96c257eb8b5..6a8b97e7854d 100644 --- a/cad/irsim/pkg-plist +++ b/cad/irsim/pkg-plist.lite @@ -1,5 +1,5 @@ -%%NOTCL%%bin/genspktbl -%%NOTCL%%bin/gentbl +bin/genspktbl +bin/gentbl bin/irsim lib/irsim/doc/irsim-analyzer.doc lib/irsim/doc/irsim.doc @@ -24,19 +24,6 @@ lib/irsim/prm/tsmc18.10.nxxx.1.8.prm lib/irsim/prm/tsmc25.15.n99y.2.5.prm lib/irsim/prm/tsmc35.20.n98t.3.3.prm lib/irsim/prm/tsmc35p.20.n98tp.3.3.prm -%%TCL%%lib/irsim/tcl/bitmaps/center.xbm -%%TCL%%lib/irsim/tcl/bitmaps/left.xbm -%%TCL%%lib/irsim/tcl/bitmaps/lleft.xbm -%%TCL%%lib/irsim/tcl/bitmaps/right.xbm -%%TCL%%lib/irsim/tcl/bitmaps/rright.xbm -%%TCL%%lib/irsim/tcl/console.tcl -%%TCL%%lib/irsim/tcl/diglib.so -%%TCL%%lib/irsim/tcl/irsim.tcl -%%TCL%%lib/irsim/tcl/irsimexec -%%TCL%%lib/irsim/tcl/random.so -%%TCL%%lib/irsim/tcl/tclirsim.so -%%TCL%%lib/irsim/tcl/tkcon.tcl -%%TCL%%lib/irsim/tcl/vcd.tcl share/man/man1/irsim.1.gz share/man/man3/irsim-analyzer.3.gz share/man/man5/netchange.5.gz diff --git a/cad/irsim/pkg-plist.scheme b/cad/irsim/pkg-plist.scheme new file mode 100644 index 000000000000..6a8b97e7854d --- /dev/null +++ b/cad/irsim/pkg-plist.scheme @@ -0,0 +1,29 @@ +bin/genspktbl +bin/gentbl +bin/irsim +lib/irsim/doc/irsim-analyzer.doc +lib/irsim/doc/irsim.doc +lib/irsim/doc/netchange.doc +lib/irsim/doc/powerEst.doc +lib/irsim/prm/amiabn.80.n99z.5.prm +lib/irsim/prm/amic5.30.n98s.3.3.prm +lib/irsim/prm/amicwl.50.n97l.5.prm +lib/irsim/prm/hpcmos10.20.n98v.3.3.prm +lib/irsim/prm/hpcmos14.30.n9ae.3.3.prm +lib/irsim/prm/hpcmos26.40.n88x.5.prm +lib/irsim/prm/orbit.60.n96e.5.prm +lib/irsim/prm/scmos100.prm +lib/irsim/prm/scmos1_6um.prm +lib/irsim/prm/scmos2um.prm +lib/irsim/prm/scmos30.prm +lib/irsim/prm/scmos35.prm +lib/irsim/prm/scmos50_3v.prm +lib/irsim/prm/scmos50_5v.prm +lib/irsim/prm/scmos60.prm +lib/irsim/prm/tsmc18.10.nxxx.1.8.prm +lib/irsim/prm/tsmc25.15.n99y.2.5.prm +lib/irsim/prm/tsmc35.20.n98t.3.3.prm +lib/irsim/prm/tsmc35p.20.n98tp.3.3.prm +share/man/man1/irsim.1.gz +share/man/man3/irsim-analyzer.3.gz +share/man/man5/netchange.5.gz diff --git a/cad/irsim/pkg-plist.tcl b/cad/irsim/pkg-plist.tcl new file mode 100644 index 000000000000..9a8f58d9f736 --- /dev/null +++ b/cad/irsim/pkg-plist.tcl @@ -0,0 +1,40 @@ +bin/irsim +lib/irsim/doc/irsim-analyzer.doc +lib/irsim/doc/irsim.doc +lib/irsim/doc/netchange.doc +lib/irsim/doc/powerEst.doc +lib/irsim/prm/amiabn.80.n99z.5.prm +lib/irsim/prm/amic5.30.n98s.3.3.prm +lib/irsim/prm/amicwl.50.n97l.5.prm +lib/irsim/prm/hpcmos10.20.n98v.3.3.prm +lib/irsim/prm/hpcmos14.30.n9ae.3.3.prm +lib/irsim/prm/hpcmos26.40.n88x.5.prm +lib/irsim/prm/orbit.60.n96e.5.prm +lib/irsim/prm/scmos100.prm +lib/irsim/prm/scmos1_6um.prm +lib/irsim/prm/scmos2um.prm +lib/irsim/prm/scmos30.prm +lib/irsim/prm/scmos35.prm +lib/irsim/prm/scmos50_3v.prm +lib/irsim/prm/scmos50_5v.prm +lib/irsim/prm/scmos60.prm +lib/irsim/prm/tsmc18.10.nxxx.1.8.prm +lib/irsim/prm/tsmc25.15.n99y.2.5.prm +lib/irsim/prm/tsmc35.20.n98t.3.3.prm +lib/irsim/prm/tsmc35p.20.n98tp.3.3.prm +lib/irsim/tcl/bitmaps/center.xbm +lib/irsim/tcl/bitmaps/left.xbm +lib/irsim/tcl/bitmaps/lleft.xbm +lib/irsim/tcl/bitmaps/right.xbm +lib/irsim/tcl/bitmaps/rright.xbm +lib/irsim/tcl/console.tcl +lib/irsim/tcl/diglib.so +lib/irsim/tcl/irsim.tcl +lib/irsim/tcl/irsimexec +lib/irsim/tcl/random.so +lib/irsim/tcl/tclirsim.so +lib/irsim/tcl/tkcon.tcl +lib/irsim/tcl/vcd.tcl +share/man/man1/irsim.1.gz +share/man/man3/irsim-analyzer.3.gz +share/man/man5/netchange.5.gz