cad/irsim: adopt and update 9.7.116 => 9.7.118

* Take maintainership
* Flavourise with 3 flavours: lite, scheme (default) and tcl
+ Add LICENSE_FILE
+ Workaround building Tcl with clang17+
  See https://github.com/RTimothyEdwards/irsim/issues/7
* Use localbase:ldflags via USES
* Improve pkg-descr
* Lint Makefile, sort stances

Changelog: https://github.com/RTimothyEdwards/irsim/releases/tag/9.7.118

PR:		284856
This commit is contained in:
Älven 2025-02-17 06:43:22 +04:00 committed by Robert Clausecker
parent d580daf75f
commit ab203b6cd2
6 changed files with 122 additions and 53 deletions

View file

@ -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 <bsd.port.options.mk>
.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 <bsd.port.mk>

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

40
cad/irsim/pkg-plist.tcl Normal file
View file

@ -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