summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorÄlven <alster@vinterdalen.se>2025-02-17 06:43:22 +0400
committerRobert Clausecker <fuz@FreeBSD.org>2025-03-26 02:32:14 +0100
commitab203b6cd26304a500ca678ffb17e13403903a3b (patch)
treeb8700efe2a8ca8fcaecbd189a10d14ae911b226e
parentdevel/goreleaser: update to 2.8.1 (diff)
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
-rw-r--r--cad/irsim/Makefile64
-rw-r--r--cad/irsim/distinfo6
-rw-r--r--cad/irsim/pkg-descr19
-rw-r--r--cad/irsim/pkg-plist.lite (renamed from cad/irsim/pkg-plist)17
-rw-r--r--cad/irsim/pkg-plist.scheme29
-rw-r--r--cad/irsim/pkg-plist.tcl40
6 files changed, 122 insertions, 53 deletions
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
-
-SCHEME_CONFIGURE_ON= --with-interpreter=scheme
-TCL_CONFIGURE_ON= --with-interpreter=tcl
-TCL_USES= tk:tea
-
-CONFIGURE_WRKSRC= ${WRKSRC}/scripts
+lite_CONFLICTS_INSTALL= ${PORTNAME}-scheme ${PORTNAME}-tcl
+scheme_CONFLICTS_INSTALL= ${PORTNAME}-lite ${PORTNAME}-tcl
+tcl_CONFLICTS_INSTALL= ${PORTNAME}-lite ${PORTNAME}-scheme
+USES= gmake localbase:ldflags tar:tgz xorg
USE_XORG= x11
-GNU_CONFIGURE= yes
-GNU_CONFIGURE_MANPREFIX=${PREFIX}/share
-
-CFLAGS+= -I${LOCALBASE}/include
-LDFLAGS+= -L${LOCALBASE}/lib
-.include <bsd.port.options.mk>
+GNU_CONFIGURE= yes
-.if ${PORT_OPTIONS:MTCL}
-PLIST_SUB+= NOTCL="@comment "
-.else
-WISH= ${FALSE}
-PLIST_SUB+= NOTCL=""
-.endif
+CONFIGURE_WRKSRC= ${WRKSRC}/scripts
-.if empty(PORT_OPTIONS:MSCHEME) && empty(PORT_OPTIONS:MTCL)
-CONFIGURE_ARGS+= --with-interpreter=no
+PLIST= pkg-plist.${FLAVOR}
+
+.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>
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
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