summaryrefslogtreecommitdiff
path: root/cad/tkgate
diff options
context:
space:
mode:
authordmcmahill <dmcmahill@pkgsrc.org>2002-10-29 00:33:46 +0000
committerdmcmahill <dmcmahill@pkgsrc.org>2002-10-29 00:33:46 +0000
commit0b2be2ee6665c0b633b5287789e490cd5ee15a46 (patch)
tree604cf6a54d8fd0d7229d4363e83ae31c9703f585 /cad/tkgate
parent4eaa2ad1a80e9b6fc16134f5e5ac2dfee060f054 (diff)
downloadpkgsrc-0b2be2ee6665c0b633b5287789e490cd5ee15a46.tar.gz
initial import of tkgate-1.6i provided in PR 18847 by Julio Merino,
jmmv at menta dot net. TkGate is a digital circuit editor and simulator with a Tcl/Tk based interface. TkGate includes a large number of built-in devices including basic gates, memories, ttys and modules for hierarchical design. The simulator can be controlled either interactively or through a simulation script. Memory contents can be loaded from files, and a microcode/macrocode compiler (gmac) is included to create tkgate memory files from a high-level description. The simulator supports continous simulation, single step simulation (by clock or epoch) and breakpoints. Save files are in a Verilog-like format. TkGate also includes a number of tutorial and example circuits which can be loaded through the "Help" menu. The examples range from a simple gate-level 3-bit adder to a 16-bit CPU programmed to play the "Animals" game. TkGate has a multi-langauge interface with support for English, Japanese, French and Spanish.
Diffstat (limited to 'cad/tkgate')
-rw-r--r--cad/tkgate/DESCR17
-rw-r--r--cad/tkgate/Makefile34
-rw-r--r--cad/tkgate/PLIST330
-rw-r--r--cad/tkgate/distinfo6
-rw-r--r--cad/tkgate/patches/patch-aa52
-rw-r--r--cad/tkgate/patches/patch-ab13
6 files changed, 452 insertions, 0 deletions
diff --git a/cad/tkgate/DESCR b/cad/tkgate/DESCR
new file mode 100644
index 00000000000..70564e3dd34
--- /dev/null
+++ b/cad/tkgate/DESCR
@@ -0,0 +1,17 @@
+TkGate is a digital circuit editor and simulator with a Tcl/Tk based
+interface. TkGate includes a large number of built-in devices
+including basic gates, memories, ttys and modules for hierarchical
+design. The simulator can be controlled either interactively or
+through a simulation script. Memory contents can be loaded from
+files, and a microcode/macrocode compiler (gmac) is included to create
+tkgate memory files from a high-level description. The simulator
+supports continous simulation, single step simulation (by clock or
+epoch) and breakpoints. Save files are in a Verilog-like format.
+
+TkGate also includes a number of tutorial and example circuits which
+can be loaded through the "Help" menu. The examples range from a
+simple gate-level 3-bit adder to a 16-bit CPU programmed to play the
+"Animals" game.
+
+TkGate has a multi-langauge interface with support for English,
+Japanese, French and Spanish.
diff --git a/cad/tkgate/Makefile b/cad/tkgate/Makefile
new file mode 100644
index 00000000000..7d58b5bdba6
--- /dev/null
+++ b/cad/tkgate/Makefile
@@ -0,0 +1,34 @@
+# $NetBSD: Makefile,v 1.1.1.1 2002/10/29 00:33:46 dmcmahill Exp $
+#
+
+DISTNAME= tkgate-1.6i
+CATEGORIES= cad
+MASTER_SITES= ftp://gadoid.ices.cmu.edu/pub/tkgate/
+EXTRACT_SUFX= .tgz
+
+MAINTAINER= jmmv@hispabsd.org
+HOMEPAGE= http://www-2.cs.cmu.edu/~hansen/tkgate/
+COMMENT= Tcl/Tk based digital circuit editor and simulator
+
+BUILD_DEPENDS+= bison>=1.35:../../devel/bison
+
+USE_BUILDLINK2= yes
+USE_IMAKE= yes
+
+TKGATE_SITENAME= Earth
+
+CONFIG_SUBST= PREFIX="${PREFIX}"
+CONFIG_SUBST+= LOCALBASE="${LOCALBASE}"
+CONFIG_SUBST+= X11BASE="${X11BASE}"
+CONFIG_SUBST_SED= ${CONFIG_SUBST:S/=/@!/:S/$/!g/:S/^/ -e s!@/}
+
+post-extract:
+ ( cd ${WRKSRC} && ${MV} config.h config.h.in )
+
+do-configure:
+ ${SED} ${CONFIG_SUBST_SED} ${WRKSRC}/config.h.in > ${WRKSRC}/config.h
+ ${ECHO} "${TKGATE_SITENAME}" > ${WRKSRC}/sitename.txt
+ ( cd ${WRKSRC} && ${CONFIGURE_ENV} ./configure )
+
+.include "../../x11/tk/buildlink2.mk"
+.include "../../mk/bsd.pkg.mk"
diff --git a/cad/tkgate/PLIST b/cad/tkgate/PLIST
new file mode 100644
index 00000000000..fa9414ce658
--- /dev/null
+++ b/cad/tkgate/PLIST
@@ -0,0 +1,330 @@
+@comment $NetBSD: PLIST,v 1.1.1.1 2002/10/29 00:33:46 dmcmahill Exp $
+bin/gmac
+bin/tkgate
+man/man1/gmac.0
+man/man1/tkgate.0
+share/${PKGNAME}/COPYING
+share/${PKGNAME}/README
+share/${PKGNAME}/bitmaps/add.b
+share/${PKGNAME}/bitmaps/anallogo.xbm
+share/${PKGNAME}/bitmaps/analyze.b
+share/${PKGNAME}/bitmaps/and.b
+share/${PKGNAME}/bitmaps/arshift.b
+share/${PKGNAME}/bitmaps/bat.b
+share/${PKGNAME}/bitmaps/bigcurs.b
+share/${PKGNAME}/bitmaps/biggatelogo.xbm
+share/${PKGNAME}/bitmaps/blk_close.b
+share/${PKGNAME}/bitmaps/blk_open.b
+share/${PKGNAME}/bitmaps/buf.b
+share/${PKGNAME}/bitmaps/bus.b
+share/${PKGNAME}/bitmaps/clock.b
+share/${PKGNAME}/bitmaps/concat.b
+share/${PKGNAME}/bitmaps/cut_curs.b
+share/${PKGNAME}/bitmaps/dash.b
+share/${PKGNAME}/bitmaps/del_curs.b
+share/${PKGNAME}/bitmaps/dip.b
+share/${PKGNAME}/bitmaps/divide.b
+share/${PKGNAME}/bitmaps/dot.b
+share/${PKGNAME}/bitmaps/file_new.b
+share/${PKGNAME}/bitmaps/file_open.b
+share/${PKGNAME}/bitmaps/file_print.b
+share/${PKGNAME}/bitmaps/file_save.b
+share/${PKGNAME}/bitmaps/flipflop.b
+share/${PKGNAME}/bitmaps/gatelogo.xbm
+share/${PKGNAME}/bitmaps/ground.b
+share/${PKGNAME}/bitmaps/inout.b
+share/${PKGNAME}/bitmaps/inv_curs.b
+share/${PKGNAME}/bitmaps/iodarrow.b
+share/${PKGNAME}/bitmaps/joint.b
+share/${PKGNAME}/bitmaps/lab_curs.b
+share/${PKGNAME}/bitmaps/led.b
+share/${PKGNAME}/bitmaps/led7seg.b
+share/${PKGNAME}/bitmaps/ledinside.b
+share/${PKGNAME}/bitmaps/ledseg1.b
+share/${PKGNAME}/bitmaps/ledseg2.b
+share/${PKGNAME}/bitmaps/ledseg3.b
+share/${PKGNAME}/bitmaps/ledseg4.b
+share/${PKGNAME}/bitmaps/ledseg5.b
+share/${PKGNAME}/bitmaps/ledseg6.b
+share/${PKGNAME}/bitmaps/ledseg7.b
+share/${PKGNAME}/bitmaps/lprobe.b
+share/${PKGNAME}/bitmaps/misc.b
+share/${PKGNAME}/bitmaps/mov_curs.b
+share/${PKGNAME}/bitmaps/mult.b
+share/${PKGNAME}/bitmaps/mux.b
+share/${PKGNAME}/bitmaps/nmos.b
+share/${PKGNAME}/bitmaps/or.b
+share/${PKGNAME}/bitmaps/plus.b
+share/${PKGNAME}/bitmaps/pmos.b
+share/${PKGNAME}/bitmaps/probe.b
+share/${PKGNAME}/bitmaps/ram.b
+share/${PKGNAME}/bitmaps/reg.b
+share/${PKGNAME}/bitmaps/regLR.b
+share/${PKGNAME}/bitmaps/regTB.b
+share/${PKGNAME}/bitmaps/roll.b
+share/${PKGNAME}/bitmaps/rom.b
+share/${PKGNAME}/bitmaps/rungate1.xbm
+share/${PKGNAME}/bitmaps/rungate10.xbm
+share/${PKGNAME}/bitmaps/rungate11.xbm
+share/${PKGNAME}/bitmaps/rungate12.xbm
+share/${PKGNAME}/bitmaps/rungate13.xbm
+share/${PKGNAME}/bitmaps/rungate14.xbm
+share/${PKGNAME}/bitmaps/rungate2.xbm
+share/${PKGNAME}/bitmaps/rungate3.xbm
+share/${PKGNAME}/bitmaps/rungate4.xbm
+share/${PKGNAME}/bitmaps/rungate5.xbm
+share/${PKGNAME}/bitmaps/rungate6.xbm
+share/${PKGNAME}/bitmaps/rungate7.xbm
+share/${PKGNAME}/bitmaps/rungate8.xbm
+share/${PKGNAME}/bitmaps/rungate9.xbm
+share/${PKGNAME}/bitmaps/rungateA.xbm
+share/${PKGNAME}/bitmaps/rungateB.xbm
+share/${PKGNAME}/bitmaps/rungateC.xbm
+share/${PKGNAME}/bitmaps/scroll.b
+share/${PKGNAME}/bitmaps/seg7.b
+share/${PKGNAME}/bitmaps/shift.b
+share/${PKGNAME}/bitmaps/sim_break.b
+share/${PKGNAME}/bitmaps/sim_break2.b
+share/${PKGNAME}/bitmaps/sim_clock.b
+share/${PKGNAME}/bitmaps/sim_dump.b
+share/${PKGNAME}/bitmaps/sim_go.b
+share/${PKGNAME}/bitmaps/sim_load.b
+share/${PKGNAME}/bitmaps/sim_pause.b
+share/${PKGNAME}/bitmaps/sim_script.b
+share/${PKGNAME}/bitmaps/sim_step.b
+share/${PKGNAME}/bitmaps/sim_stop.b
+share/${PKGNAME}/bitmaps/size_curs.b
+share/${PKGNAME}/bitmaps/smallcurs.b
+share/${PKGNAME}/bitmaps/smalldot.b
+share/${PKGNAME}/bitmaps/smalllogo.xbm
+share/${PKGNAME}/bitmaps/strek.b
+share/${PKGNAME}/bitmaps/switch.b
+share/${PKGNAME}/bitmaps/tap.b
+share/${PKGNAME}/bitmaps/trek.b
+share/${PKGNAME}/bitmaps/tty.b
+share/${PKGNAME}/bitmaps/txtcurs.b
+share/${PKGNAME}/bitmaps/vdd.b
+share/${PKGNAME}/bitmaps/xor.b
+share/${PKGNAME}/bitmaps/zoom_in.b
+share/${PKGNAME}/bitmaps/zoom_out.b
+share/${PKGNAME}/doc/adding_gate_types.txt
+share/${PKGNAME}/doc/fig/anallogo.xbm
+share/${PKGNAME}/doc/fig/analopts.gif
+share/${PKGNAME}/doc/fig/arrow.gif
+share/${PKGNAME}/doc/fig/arrow4.gif
+share/${PKGNAME}/doc/fig/balloon.gif
+share/${PKGNAME}/doc/fig/bigcurs.b
+share/${PKGNAME}/doc/fig/biggatelogo.xbm
+share/${PKGNAME}/doc/fig/break.gif
+share/${PKGNAME}/doc/fig/chdir.gif
+share/${PKGNAME}/doc/fig/circprop.gif
+share/${PKGNAME}/doc/fig/coloropts.gif
+share/${PKGNAME}/doc/fig/connect1a.gif
+share/${PKGNAME}/doc/fig/connect1b.gif
+share/${PKGNAME}/doc/fig/connect1c.gif
+share/${PKGNAME}/doc/fig/connect1d.gif
+share/${PKGNAME}/doc/fig/connect2a.gif
+share/${PKGNAME}/doc/fig/connect2a.xpm
+share/${PKGNAME}/doc/fig/connect2b.gif
+share/${PKGNAME}/doc/fig/connect2c.gif
+share/${PKGNAME}/doc/fig/connect2d.gif
+share/${PKGNAME}/doc/fig/cpathcirc.gif
+share/${PKGNAME}/doc/fig/cpathdlg.gif
+share/${PKGNAME}/doc/fig/cretgat1.gif
+share/${PKGNAME}/doc/fig/cretgat2.gif
+share/${PKGNAME}/doc/fig/cretgat3.gif
+share/${PKGNAME}/doc/fig/cretgat4.gif
+share/${PKGNAME}/doc/fig/cretin.gif
+share/${PKGNAME}/doc/fig/cretinout.gif
+share/${PKGNAME}/doc/fig/cretout.gif
+share/${PKGNAME}/doc/fig/cutters.gif
+share/${PKGNAME}/doc/fig/dipval.gif
+share/${PKGNAME}/doc/fig/edbreak.gif
+share/${PKGNAME}/doc/fig/edclock.gif
+share/${PKGNAME}/doc/fig/edcomment.gif
+share/${PKGNAME}/doc/fig/eddelay.gif
+share/${PKGNAME}/doc/fig/edgat.gif
+share/${PKGNAME}/doc/fig/ednet.gif
+share/${PKGNAME}/doc/fig/edpnet.gif
+share/${PKGNAME}/doc/fig/edport.gif
+share/${PKGNAME}/doc/fig/filemenu.gif
+share/${PKGNAME}/doc/fig/fileopen.gif
+share/${PKGNAME}/doc/fig/g_add.gif
+share/${PKGNAME}/doc/fig/g_and.gif
+share/${PKGNAME}/doc/fig/g_arshift.gif
+share/${PKGNAME}/doc/fig/g_block.gif
+share/${PKGNAME}/doc/fig/g_buf.gif
+share/${PKGNAME}/doc/fig/g_bufif.gif
+share/${PKGNAME}/doc/fig/g_clock.gif
+share/${PKGNAME}/doc/fig/g_comment.gif
+share/${PKGNAME}/doc/fig/g_demux.gif
+share/${PKGNAME}/doc/fig/g_dip.gif
+share/${PKGNAME}/doc/fig/g_div.gif
+share/${PKGNAME}/doc/fig/g_ff.gif
+share/${PKGNAME}/doc/fig/g_frame.gif
+share/${PKGNAME}/doc/fig/g_ground.gif
+share/${PKGNAME}/doc/fig/g_led.gif
+share/${PKGNAME}/doc/fig/g_lshift.gif
+share/${PKGNAME}/doc/fig/g_merge.gif
+share/${PKGNAME}/doc/fig/g_mul.gif
+share/${PKGNAME}/doc/fig/g_mux.gif
+share/${PKGNAME}/doc/fig/g_nmos.gif
+share/${PKGNAME}/doc/fig/g_or.gif
+share/${PKGNAME}/doc/fig/g_pmos.gif
+share/${PKGNAME}/doc/fig/g_ram.gif
+share/${PKGNAME}/doc/fig/g_red.gif
+share/${PKGNAME}/doc/fig/g_reg.gif
+share/${PKGNAME}/doc/fig/g_roll.gif
+share/${PKGNAME}/doc/fig/g_rom.gif
+share/${PKGNAME}/doc/fig/g_rshift.gif
+share/${PKGNAME}/doc/fig/g_supply.gif
+share/${PKGNAME}/doc/fig/g_switch.gif
+share/${PKGNAME}/doc/fig/g_tap.gif
+share/${PKGNAME}/doc/fig/g_tty.gif
+share/${PKGNAME}/doc/fig/g_xor.gif
+share/${PKGNAME}/doc/fig/gatelogo.xbm
+share/${PKGNAME}/doc/fig/gateport.gif
+share/${PKGNAME}/doc/fig/gatewin.gif
+share/${PKGNAME}/doc/fig/gatewin_11.gif
+share/${PKGNAME}/doc/fig/genopts.gif
+share/${PKGNAME}/doc/fig/icextract.gif
+share/${PKGNAME}/doc/fig/inout.gif
+share/${PKGNAME}/doc/fig/invaddel.gif
+share/${PKGNAME}/doc/fig/label.gif
+share/${PKGNAME}/doc/fig/logic.gif
+share/${PKGNAME}/doc/fig/logic0.gif
+share/${PKGNAME}/doc/fig/logic1.gif
+share/${PKGNAME}/doc/fig/logicH.gif
+share/${PKGNAME}/doc/fig/logicL.gif
+share/${PKGNAME}/doc/fig/logicx.gif
+share/${PKGNAME}/doc/fig/logicz.gif
+share/${PKGNAME}/doc/fig/makeand.gif
+share/${PKGNAME}/doc/fig/manual.gif
+share/${PKGNAME}/doc/fig/misc.b
+share/${PKGNAME}/doc/fig/modcreate.gif
+share/${PKGNAME}/doc/fig/movgat1.gif
+share/${PKGNAME}/doc/fig/movgat2.gif
+share/${PKGNAME}/doc/fig/movgrp1.gif
+share/${PKGNAME}/doc/fig/movgrp2.gif
+share/${PKGNAME}/doc/fig/movgrp3.gif
+share/${PKGNAME}/doc/fig/movgrp4.gif
+share/${PKGNAME}/doc/fig/nihongo.gif
+share/${PKGNAME}/doc/fig/options.gif
+share/${PKGNAME}/doc/fig/powerbsd.gif
+share/${PKGNAME}/doc/fig/printdlg.gif
+share/${PKGNAME}/doc/fig/printopts.gif
+share/${PKGNAME}/doc/fig/ptr.gif
+share/${PKGNAME}/doc/fig/rungate1.xbm
+share/${PKGNAME}/doc/fig/rungate2.xbm
+share/${PKGNAME}/doc/fig/scope.gif
+share/${PKGNAME}/doc/fig/search.gif
+share/${PKGNAME}/doc/fig/showval.gif
+share/${PKGNAME}/doc/fig/sim_break.b
+share/${PKGNAME}/doc/fig/sim_break2.b
+share/${PKGNAME}/doc/fig/sim_clock.b
+share/${PKGNAME}/doc/fig/sim_dump.b
+share/${PKGNAME}/doc/fig/sim_go.b
+share/${PKGNAME}/doc/fig/sim_load.b
+share/${PKGNAME}/doc/fig/sim_pause.b
+share/${PKGNAME}/doc/fig/sim_script.b
+share/${PKGNAME}/doc/fig/sim_step.b
+share/${PKGNAME}/doc/fig/sim_stop.b
+share/${PKGNAME}/doc/fig/simerr.gif
+share/${PKGNAME}/doc/fig/simopts.gif
+share/${PKGNAME}/doc/fig/simprint.gif
+share/${PKGNAME}/doc/fig/small_tkgate.gif
+share/${PKGNAME}/doc/fig/smallcurs.b
+share/${PKGNAME}/doc/fig/solder.gif
+share/${PKGNAME}/doc/fig/text.gif
+share/${PKGNAME}/doc/fig/tkgate.gif
+share/${PKGNAME}/doc/fig/wsize.gif
+share/${PKGNAME}/doc/fig/xmark.gif
+share/${PKGNAME}/doc/gateEdit.html
+share/${PKGNAME}/doc/gateGmac.html
+share/${PKGNAME}/doc/gateIntro.html
+share/${PKGNAME}/doc/gateSim.html
+share/${PKGNAME}/doc/index.html
+share/${PKGNAME}/doc/license.txt
+share/${PKGNAME}/doc/menagerie.gm
+share/${PKGNAME}/examples/ex1/combinational.v
+share/${PKGNAME}/examples/ex2/flipflop.v
+share/${PKGNAME}/examples/ex3/counter.v
+share/${PKGNAME}/examples/ex4/trff.v
+share/${PKGNAME}/examples/ex5/menagerie.gm
+share/${PKGNAME}/examples/ex5/menagerie.gss
+share/${PKGNAME}/examples/ex5/menagerie.map
+share/${PKGNAME}/examples/ex5/menagerie.mem
+share/${PKGNAME}/examples/ex5/menagerie.v
+share/${PKGNAME}/examples/ex5/x-menagerie.mem
+share/${PKGNAME}/examples/ja-tutorials/create_tut.v
+share/${PKGNAME}/examples/ja-tutorials/create_tut.v.orig
+share/${PKGNAME}/examples/ja-tutorials/edit1_tut.v
+share/${PKGNAME}/examples/ja-tutorials/edit1_tut.v.orig
+share/${PKGNAME}/examples/ja-tutorials/edit2_tut.v
+share/${PKGNAME}/examples/ja-tutorials/edit2_tut.v.orig
+share/${PKGNAME}/examples/ja-tutorials/edwire_tut.v
+share/${PKGNAME}/examples/ja-tutorials/module_tut.v
+share/${PKGNAME}/examples/ja-tutorials/seqsim_tut.v
+share/${PKGNAME}/examples/ja-tutorials/sim_tut.v
+share/${PKGNAME}/examples/ja-tutorials/welcome_tut.v
+share/${PKGNAME}/examples/ja-tutorials/welcome_tut.v.orig
+share/${PKGNAME}/examples/tutorials/create_tut.v
+share/${PKGNAME}/examples/tutorials/create_tut.v.orig
+share/${PKGNAME}/examples/tutorials/edit1_tut.v
+share/${PKGNAME}/examples/tutorials/edit2_tut.v
+share/${PKGNAME}/examples/tutorials/edwire_tut.v
+share/${PKGNAME}/examples/tutorials/module_tut.v
+share/${PKGNAME}/examples/tutorials/seqsim_tut.v
+share/${PKGNAME}/examples/tutorials/sim_tut.v
+share/${PKGNAME}/examples/tutorials/welcome_tut.v
+share/${PKGNAME}/gdf/default.gdf
+share/${PKGNAME}/libexec/gsim
+share/${PKGNAME}/messages.en
+share/${PKGNAME}/messages.es
+share/${PKGNAME}/messages.fr
+share/${PKGNAME}/messages.ja
+share/${PKGNAME}/messages.ja.euc
+share/${PKGNAME}/messages.ja.utf8
+share/${PKGNAME}/scripts/blocklist.tcl
+share/${PKGNAME}/scripts/circuit.tcl
+share/${PKGNAME}/scripts/commands.tcl
+share/${PKGNAME}/scripts/cpath.tcl
+share/${PKGNAME}/scripts/dip.tcl
+share/${PKGNAME}/scripts/editgate.tcl
+share/${PKGNAME}/scripts/editnets.tcl
+share/${PKGNAME}/scripts/errbox.tcl
+share/${PKGNAME}/scripts/frame.tcl
+share/${PKGNAME}/scripts/gcanvas.tcl
+share/${PKGNAME}/scripts/helpon.tcl
+share/${PKGNAME}/scripts/license.tcl
+share/${PKGNAME}/scripts/menu.tcl
+share/${PKGNAME}/scripts/message.tcl
+share/${PKGNAME}/scripts/misc.tcl
+share/${PKGNAME}/scripts/obsolete.tcl
+share/${PKGNAME}/scripts/options.tcl
+share/${PKGNAME}/scripts/parms.tcl
+share/${PKGNAME}/scripts/portlist.tcl
+share/${PKGNAME}/scripts/print.tcl
+share/${PKGNAME}/scripts/scope.tcl
+share/${PKGNAME}/scripts/shortcuts.tcl
+share/${PKGNAME}/scripts/simtty.tcl
+share/${PKGNAME}/scripts/simulator.tcl
+share/${PKGNAME}/scripts/status.tcl
+share/${PKGNAME}/scripts/tkgate.tcl
+share/${PKGNAME}/scripts/toolbar.tcl
+share/${PKGNAME}/sitename.txt
+@dirrm share/${PKGNAME}/scripts
+@dirrm share/${PKGNAME}/libexec
+@dirrm share/${PKGNAME}/gdf
+@dirrm share/${PKGNAME}/examples/tutorials
+@dirrm share/${PKGNAME}/examples/ja-tutorials
+@dirrm share/${PKGNAME}/examples/ex5
+@dirrm share/${PKGNAME}/examples/ex4
+@dirrm share/${PKGNAME}/examples/ex3
+@dirrm share/${PKGNAME}/examples/ex2
+@dirrm share/${PKGNAME}/examples/ex1
+@dirrm share/${PKGNAME}/examples
+@dirrm share/${PKGNAME}/doc/fig
+@dirrm share/${PKGNAME}/doc
+@dirrm share/${PKGNAME}/bitmaps
+@dirrm share/${PKGNAME}
diff --git a/cad/tkgate/distinfo b/cad/tkgate/distinfo
new file mode 100644
index 00000000000..8e6afb25fde
--- /dev/null
+++ b/cad/tkgate/distinfo
@@ -0,0 +1,6 @@
+$NetBSD: distinfo,v 1.1.1.1 2002/10/29 00:33:46 dmcmahill Exp $
+
+SHA1 (tkgate-1.6i.tgz) = 6eece2eb4aaa2f45c2b1c68b9c5b79a76b3bb084
+Size (tkgate-1.6i.tgz) = 1459011 bytes
+SHA1 (patch-aa) = 210f7ceceb5be91db6316fbd5b108d7dac6263d2
+SHA1 (patch-ab) = 7e568bf4699f60f0e6973e480aa513138977f4e4
diff --git a/cad/tkgate/patches/patch-aa b/cad/tkgate/patches/patch-aa
new file mode 100644
index 00000000000..33ecdcd50f5
--- /dev/null
+++ b/cad/tkgate/patches/patch-aa
@@ -0,0 +1,52 @@
+$NetBSD: patch-aa,v 1.1.1.1 2002/10/29 00:33:46 dmcmahill Exp $
+
+--- config.h.in.orig Mon Oct 28 13:10:53 2002
++++ config.h.in Mon Oct 28 13:13:41 2002
+@@ -54,13 +54,13 @@
+ double quotes and should be all one one line. This list is used to
+ find X11, tcl and tk.
+ */
+-#define TKGATE_INCDIRS "/usr/X11R6/include /usr/X11/include /usr/local/include /usr/openwin/include /usr/X/include /usr/include"
++#define TKGATE_INCDIRS "@X11BASE@/include @LOCALBASE@/include"
+
+ /*
+ List of directories to search for tcl library. The list must be in
+ double quotes and should be all one one line.
+ */
+-#define TKGATE_LIBDIRS "/usr/X11R6/lib /usr/X11/lib /usr/local/lib /usr/lib"
++#define TKGATE_LIBDIRS "@X11BASE@/lib @LOCALBASE@/lib"
+
+ /*
+ Required libraries. TkGate will not compile unless these libraries are found.
+@@ -80,19 +80,19 @@
+ version number to this path. You can override the default by
+ uncommenting the defintion of TKGATE_HOMEDIR below.
+ */
+-#define TKGATE_HOMEDIRBASE "/usr/X11R6/lib"
++#define TKGATE_HOMEDIRBASE "@PREFIX@/share"
+
+ /*
+ The location of the tkgate and gmac executables. If you change this, you will
+ need to run the configure script again.
+ */
+-#define TKGATE_BINDIR /usr/X11R6/bin
++#define TKGATE_BINDIR @PREFIX@/bin
+
+ /*
+ The location of the tkgate and gmac man pages. If you change this, you will
+ need to run the configure script again.
+ */
+-#define TKGATE_MANDIR /usr/X11R6/man/man1
++#define TKGATE_MANDIR @PREFIX@/man/man1
+
+ /*
+ Digital circuit editor and simulator.
+@@ -102,7 +102,7 @@
+ /*
+ URL for local documentation
+ */
+-#define TKGATE_LOCALDOC "file:/usr/X11R6/lib/tkgate-" TKGATE_VERSION "/doc/index.html"
++#define TKGATE_LOCALDOC "file:@PREFIX@/share/tkgate-" TKGATE_VERSION "/doc/index.html"
+
+ /*
+ The TkGate Copyright message.
diff --git a/cad/tkgate/patches/patch-ab b/cad/tkgate/patches/patch-ab
new file mode 100644
index 00000000000..86a79b5ee2a
--- /dev/null
+++ b/cad/tkgate/patches/patch-ab
@@ -0,0 +1,13 @@
+$NetBSD: patch-ab,v 1.1.1.1 2002/10/29 00:33:46 dmcmahill Exp $
+
+--- configure.orig Mon Oct 28 23:11:21 2002
++++ configure Mon Oct 28 23:11:43 2002
+@@ -70,7 +70,7 @@
+ #
+ LPATH=""
+ IPATH=""
+-LIBS=""
++LIBS="-lm ${BUILDLINK_LDFLAGS}"
+ TCLTKOK=1
+
+ ##################################################################