summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--math/xlife/DESCR22
-rw-r--r--math/xlife/Makefile32
-rw-r--r--math/xlife/PLIST235
-rw-r--r--math/xlife/distinfo6
-rw-r--r--math/xlife/patches/patch-aa39
-rw-r--r--math/xlife/patches/patch-ab16
6 files changed, 350 insertions, 0 deletions
diff --git a/math/xlife/DESCR b/math/xlife/DESCR
new file mode 100644
index 00000000000..8de50b6ccf4
--- /dev/null
+++ b/math/xlife/DESCR
@@ -0,0 +1,22 @@
+Apparently first published in Martin Gardner's column in Scientific
+American magazine in the early 1970's, John Horton Conway's "Game of
+Life" launched great interest in the nascent field of cellular automata.
+The model (for it's not really a "game") manifests surprisingly complex
+behavior with only a few simple rules. Many of the technical papers,
+articles, and books inspired by the simulation are only now finding
+their way onto the World Wide Web.
+
+Many of the folks who were captivated by the original article would
+have done their explorations with pencil and paper. Now with "xlife",
+whether you hope to gain profound insight into the nature of life,
+the universe, and everything, or whether you just enjoy watching the
+"puffer trains" crash into each other, you can explore the simulation
+easily, on your workstation. The program supports a nearly infinite
+playfield, and allows you to zoom in and zoom out, speed up and slow
+down, so you can see all the action. Moreover, it can save and load
+patterns, and the package even includes a couple of programs to convert
+between popular formats.
+
+A sample of significant and interesting starting patterns is included,
+and a few minutes spent with a search engine will likely turn up lots
+and lots more.
diff --git a/math/xlife/Makefile b/math/xlife/Makefile
new file mode 100644
index 00000000000..6f460a1600e
--- /dev/null
+++ b/math/xlife/Makefile
@@ -0,0 +1,32 @@
+# $NetBSD: Makefile,v 1.1.1.1 2001/12/31 21:32:56 fredb Exp $
+#
+
+DISTNAME= xlife-5.0
+CATEGORIES= math games
+MASTER_SITES= http://www.tuxedo.org/~esr/
+
+MAINTAINER= fredb@netbsd.org
+HOMEPAGE= http://www.tuxedo.org/~esr/software.html
+COMMENT= John Horton Conway's "Game of Life"
+
+USE_IMAKE= yes
+WRKSRC= ${WRKDIR}
+
+INSTALL_TARGET= install
+
+pre-build:
+ ${TOUCH} ${WRKSRC}/collect.man ${WRKSRC}/lifesearchdumb.man
+
+post-install:
+.for m in lifeconv lifesearch xlife
+ ${INSTALL_MAN} ${WRKSRC}/${m}.man ${PREFIX}/man/man1/${m}.1
+ ${INSTALL_MAN} ${WRKSRC}/${m}.0 ${PREFIX}/man/cat1/
+.endfor
+.for d in codd life misc wireworld
+ ${INSTALL_DATA_DIR} ${PREFIX}/share/xlife/${d}
+ cd ${WRKSRC}/${d}; for l in *.l; do \
+ ${INSTALL_DATA} $${l} ${PREFIX}/share/xlife/${d}; \
+ done
+.endfor
+
+.include "../../mk/bsd.pkg.mk"
diff --git a/math/xlife/PLIST b/math/xlife/PLIST
new file mode 100644
index 00000000000..160c3f5337d
--- /dev/null
+++ b/math/xlife/PLIST
@@ -0,0 +1,235 @@
+@comment $NetBSD: PLIST,v 1.1.1.1 2001/12/31 21:32:56 fredb Exp $
+bin/collect
+bin/lifeconv
+bin/lifesearch
+bin/lifesearchdumb
+bin/xlife
+man/cat1/lifeconv.0
+man/cat1/lifesearch.0
+man/cat1/xlife.0
+man/man1/lifeconv.1
+man/man1/lifesearch.1
+man/man1/xlife.1
+share/xlife/codd/echodisc.l
+share/xlife/codd/emitter.l
+share/xlife/codd/oneway.l
+share/xlife/codd/subgate.l
+share/xlife/codd/trans456.l
+share/xlife/codd/trans7.l
+share/xlife/codd/turnoff.l
+share/xlife/codd/twolock.l
+share/xlife/codd/unicross.l
+share/xlife/life/12gliders.l
+share/xlife/life/2_ak47.l
+share/xlife/life/MWSSpuffer.l
+share/xlife/life/acorn.l
+share/xlife/life/ak47.l
+share/xlife/life/alu.l
+share/xlife/life/background1.l
+share/xlife/life/baker.l
+share/xlife/life/barberpole.l
+share/xlife/life/bazz.l
+share/xlife/life/beaconmaker.l
+share/xlife/life/benchmark.l
+share/xlife/life/bheptomino.l
+share/xlife/life/bigglider.l
+share/xlife/life/billiards.l
+share/xlife/life/blinkerpuffer.l
+share/xlife/life/blinkership.l
+share/xlife/life/blinkership2.l
+share/xlife/life/blinkership3.l
+share/xlife/life/blockdistance.l
+share/xlife/life/blockpusher.l
+share/xlife/life/blockpusher2.l
+share/xlife/life/blockpusher3.l
+share/xlife/life/blockpusher4.l
+share/xlife/life/boatcap.l
+share/xlife/life/boatmaker.l
+share/xlife/life/breeder.l
+share/xlife/life/breederpuffer.l
+share/xlife/life/breederrake.l
+share/xlife/life/bunnies.l
+share/xlife/life/centinal.l
+share/xlife/life/cheshirecat.l
+share/xlife/life/citiesindust.l
+share/xlife/life/clappinghands.l
+share/xlife/life/clock.l
+share/xlife/life/cmu.l
+share/xlife/life/cmu2.l
+share/xlife/life/cmu3.l
+share/xlife/life/collapsecap.l
+share/xlife/life/counter.l
+share/xlife/life/cow.l
+share/xlife/life/cross.l
+share/xlife/life/delayloop.l
+share/xlife/life/diagfuse.l
+share/xlife/life/eaters3.l
+share/xlife/life/ex.l
+share/xlife/life/expo_grow.l
+share/xlife/life/f.l
+share/xlife/life/f2.l
+share/xlife/life/f3.l
+share/xlife/life/fencepost.l
+share/xlife/life/figure8.l
+share/xlife/life/fisheater.l
+share/xlife/life/flasher.l
+share/xlife/life/flywheel.l
+share/xlife/life/fusebranch.l
+share/xlife/life/fusecorner.l
+share/xlife/life/fusehinge.l
+share/xlife/life/futility.l
+share/xlife/life/gardenofeden.l
+share/xlife/life/gear.l
+share/xlife/life/gen.l
+share/xlife/life/glider.l
+share/xlife/life/gliderarmyof256.l
+share/xlife/life/gliderbackcap.l
+share/xlife/life/gliderforecap.l
+share/xlife/life/glidergen1.l
+share/xlife/life/glidergen2.l
+share/xlife/life/glidergen3.l
+share/xlife/life/glidergen4.l
+share/xlife/life/glidergen5.l
+share/xlife/life/glidergen6.l
+share/xlife/life/glidergen7.l
+share/xlife/life/gliderglidergun.l
+share/xlife/life/glidergun.l
+share/xlife/life/glidergun2.l
+share/xlife/life/glidermesscap.l
+share/xlife/life/glidermirror.l
+share/xlife/life/gliders1_2.l
+share/xlife/life/gliders2_2.l
+share/xlife/life/gliders4_4.l
+share/xlife/life/glidersidecap.l
+share/xlife/life/glidersparcap.l
+share/xlife/life/glidertofish.l
+share/xlife/life/gourmet.l
+share/xlife/life/greymatter1.l
+share/xlife/life/gunandeater.l
+share/xlife/life/harvester.l
+share/xlife/life/horizfuse.l
+share/xlife/life/hustler.l
+share/xlife/life/j.l
+share/xlife/life/kickback.l
+share/xlife/life/lambdabomb.l
+share/xlife/life/largefish.l
+share/xlife/life/line.l
+share/xlife/life/longfuse.l
+share/xlife/life/longfuse2.l
+share/xlife/life/longsnake.l
+share/xlife/life/mediumfish.l
+share/xlife/life/mediumfishgun.l
+share/xlife/life/mediumfishgun2.l
+share/xlife/life/mirage.l
+share/xlife/life/morejunk.l
+share/xlife/life/oscilators.l
+share/xlife/life/oscillator1.l
+share/xlife/life/oscillator2.l
+share/xlife/life/oscillator3.l
+share/xlife/life/oscillator6.l
+share/xlife/life/oscillator7.l
+share/xlife/life/p100.l
+share/xlife/life/p120glider.l
+share/xlife/life/p24.l
+share/xlife/life/p26.l
+share/xlife/life/p270.l
+share/xlife/life/p28.l
+share/xlife/life/p29.l
+share/xlife/life/p32.l
+share/xlife/life/p32gun.l
+share/xlife/life/p47.l
+share/xlife/life/p54.l
+share/xlife/life/p54shuttle.l
+share/xlife/life/p55.l
+share/xlife/life/p66.l
+share/xlife/life/p72.l
+share/xlife/life/p8.l
+share/xlife/life/p94.l
+share/xlife/life/pentadecathlon.l
+share/xlife/life/piecollection.l
+share/xlife/life/pifuse.l
+share/xlife/life/piston.l
+share/xlife/life/piston2.l
+share/xlife/life/puffer128.l
+share/xlife/life/puffertrain.l
+share/xlife/life/pufthinner.l
+share/xlife/life/puftoss.l
+share/xlife/life/pulsar18-22-20.l
+share/xlife/life/pulsar48-56-72.l
+share/xlife/life/pulsarpuffer.l
+share/xlife/life/pulse.l
+share/xlife/life/pulse1.l
+share/xlife/life/pulse2.l
+share/xlife/life/pump.l
+share/xlife/life/r.l
+share/xlife/life/rabbit.l
+share/xlife/life/rake.l
+share/xlife/life/rake2.l
+share/xlife/life/rake3.l
+share/xlife/life/rake4.l
+share/xlife/life/rake5.l
+share/xlife/life/rake6.l
+share/xlife/life/rake7.l
+share/xlife/life/rakecollision.l
+share/xlife/life/rakep120b.l
+share/xlife/life/rakep120f.l
+share/xlife/life/rakep20b.l
+share/xlife/life/rakep20f.l
+share/xlife/life/rakep24b.l
+share/xlife/life/rakep24f.l
+share/xlife/life/rakep960b.l
+share/xlife/life/rakeshipgun.l
+share/xlife/life/randomgun.l
+share/xlife/life/recirc.l
+share/xlife/life/relay.l
+share/xlife/life/round.l
+share/xlife/life/rpentomino.l
+share/xlife/life/schooloffish.l
+share/xlife/life/sglider.l
+share/xlife/life/shiningflower.l
+share/xlife/life/shuttle.l
+share/xlife/life/shuttletrail.l
+share/xlife/life/sixgliders.l
+share/xlife/life/skyline.l
+share/xlife/life/slowship.l
+share/xlife/life/slowship2.l
+share/xlife/life/slowship3.l
+share/xlife/life/smallfish.l
+share/xlife/life/smallfishgun.l
+share/xlife/life/somejunk.l
+share/xlife/life/spark.l
+share/xlife/life/spark2.l
+share/xlife/life/sparkfuse.l
+share/xlife/life/sparktopifuse.l
+share/xlife/life/squareblinker.l
+share/xlife/life/squarecap.l
+share/xlife/life/squaredance.l
+share/xlife/life/ss.l
+share/xlife/life/ssmgun.l
+share/xlife/life/ssmpufp20b.l
+share/xlife/life/stargaterepeater.l
+share/xlife/life/still.l
+share/xlife/life/sun.l
+share/xlife/life/sun1.l
+share/xlife/life/switchengine.l
+share/xlife/life/test.l
+share/xlife/life/testtube.l
+share/xlife/life/testtubebaby.l
+share/xlife/life/thin_rake.l
+share/xlife/life/thinblocks.l
+share/xlife/life/thunderbird.l
+share/xlife/life/thunderbirdfuse.l
+share/xlife/life/turbine8.l
+share/xlife/life/washerwoman.l
+share/xlife/life/wave1.l
+share/xlife/life/wideship.l
+share/xlife/misc/lloyd.l
+share/xlife/wireworld/diode.l
+share/xlife/wireworld/flipflop.l
+share/xlife/wireworld/or.l
+share/xlife/wireworld/test.l
+@dirrm share/xlife/codd
+@dirrm share/xlife/life
+@dirrm share/xlife/misc
+@dirrm share/xlife/wireworld
+@unexec rmdir %D/share/xlife || true
diff --git a/math/xlife/distinfo b/math/xlife/distinfo
new file mode 100644
index 00000000000..cfe44078cf0
--- /dev/null
+++ b/math/xlife/distinfo
@@ -0,0 +1,6 @@
+$NetBSD: distinfo,v 1.1.1.1 2001/12/31 21:32:56 fredb Exp $
+
+SHA1 (xlife-5.0.tar.gz) = 168edb2c8bdeb1689fea82c56db76e85aeeed43e
+Size (xlife-5.0.tar.gz) = 214220 bytes
+SHA1 (patch-aa) = 32eb1bf5067b6d7c81995c14eaca81e206e3ea73
+SHA1 (patch-ab) = 891c098845652ad9f172b3693cdf416685e9a960
diff --git a/math/xlife/patches/patch-aa b/math/xlife/patches/patch-aa
new file mode 100644
index 00000000000..254d421620c
--- /dev/null
+++ b/math/xlife/patches/patch-aa
@@ -0,0 +1,39 @@
+$NetBSD: patch-aa,v 1.1.1.1 2001/12/31 21:32:56 fredb Exp $
+
+--- Imakefile.orig Thu May 25 07:49:40 1995
++++ Imakefile
+@@ -4,8 +4,9 @@
+
+ PROGRAMS = xlife lifeconv collect lifesearch lifesearchdumb
+
+-XLIFEPATSDIR = /usr/local/lib/xlife/
++XLIFEPATSDIR = ProjectRoot/share/xlife/
+ CCOPTIONS=-DLIFEDIR=\"$(XLIFEPATSDIR)\"
++CURSES_LIB=-lcurses -ltermcap
+
+ SRCS1 = \
+ cell.c\
+@@ -85,8 +86,8 @@
+ ComplexProgramTarget_1(xlife, $(XLIB),)
+ ComplexProgramTarget_2(lifeconv,,)
+ ComplexProgramTarget_3(collect,,)
+-#ComplexProgramTarget_4(lifesearch,,)
+-#ComplexProgramTarget_5(lifesearchdumb,,)
++ComplexProgramTarget_4(lifesearch, $(CURSES_LIB),)
++ComplexProgramTarget_5(lifesearchdumb, $(CURSES_LIB),)
+
+ install.patterns:
+ @case '${MFLAGS}' in *[i]*) set +e;; esac; \
+@@ -99,12 +100,6 @@
+ # 9x16 font. This is a useful property --- try to preserve it.
+ help.h: help.text
+ sed <help.text -e '/\\[^n]/s//\\&/g' -e '/.*/s//"&",/' >help.h
+-
+-# This should be generated!
+-lifesearchdumb: search.o interact.o dumbtty.o
+- $(CC) $(CFLAGS) -o lifesearchdumb search.o interact.o dumbtty.o
+-lifesearch: search.o interact.o cursestty.o
+- $(CC) $(CFLAGS) -o lifesearch search.o interact.o cursestty.o -L/usr/local/lib -lcurses -ltermcap
+
+ TAGS: $(SRCS)
+ etags $(SRCS)
diff --git a/math/xlife/patches/patch-ab b/math/xlife/patches/patch-ab
new file mode 100644
index 00000000000..4fe300ede36
--- /dev/null
+++ b/math/xlife/patches/patch-ab
@@ -0,0 +1,16 @@
+$NetBSD: patch-ab,v 1.1.1.1 2001/12/31 21:32:56 fredb Exp $
+
+--- data.h.orig Mon Jun 17 15:06:51 1996
++++ data.h
+@@ -84,9 +84,8 @@
+ GLOBAL void setcolor(int val, unsigned long x, unsigned long y);
+
+ /* UNIX interface */
+-extern int sys_nerr, errno;
+-extern char *sys_errlist[];
+-#define SYSERR sys_errlist[(errno > sys_nerr? 0 : errno)]
++#include <errno.h>
++#define SYSERR strerror(errno)
+
+ /* X I/O state information */
+ GLOBAL Display *disp;