summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoragc <agc@pkgsrc.org>1997-10-06 14:51:03 +0000
committeragc <agc@pkgsrc.org>1997-10-06 14:51:03 +0000
commit6f28891f98b790fd8b1b722ecca201f5d52d4dc0 (patch)
treee09348c800e8880ab1546ac9a88260dac0f5ee84
parent7aad20a3c7345a32db1f0f92b9b81869e82a834d (diff)
downloadpkgsrc-6f28891f98b790fd8b1b722ecca201f5d52d4dc0.tar.gz
Initial import of FreeBSD lang ports into the NetBSD
packages system.
-rw-r--r--lang/Makefile58
-rw-r--r--lang/icon/Makefile19
-rw-r--r--lang/icon/files/md51
-rw-r--r--lang/icon/patches/patch-aa17
-rw-r--r--lang/icon/patches/patch-ab18
-rw-r--r--lang/icon/patches/patch-ca58
-rw-r--r--lang/icon/patches/patch-cc45
-rw-r--r--lang/icon/patches/patch-cd76
-rw-r--r--lang/icon/pkg/COMMENT1
-rw-r--r--lang/icon/pkg/DESCR25
-rw-r--r--lang/icon/pkg/PLIST9
-rw-r--r--lang/icon/scripts/configure3
-rw-r--r--lang/perl5/Makefile68
-rw-r--r--lang/perl5/files/md51
-rw-r--r--lang/perl5/patches/patch-aa19
-rw-r--r--lang/perl5/patches/patch-ab29
-rw-r--r--lang/perl5/patches/patch-ac29
-rw-r--r--lang/perl5/patches/patch-ad41
-rw-r--r--lang/perl5/patches/patch-ae10
-rw-r--r--lang/perl5/pkg/COMMENT1
-rw-r--r--lang/perl5/pkg/DESCR13
-rw-r--r--lang/perl5/pkg/PLIST620
-rw-r--r--lang/scheme48/Makefile23
-rw-r--r--lang/scheme48/files/md51
-rw-r--r--lang/scheme48/pkg/COMMENT1
-rw-r--r--lang/scheme48/pkg/DESCR16
-rw-r--r--lang/scheme48/pkg/PLIST4
-rw-r--r--lang/tcl80/Makefile27
-rw-r--r--lang/tcl80/files/md51
-rw-r--r--lang/tcl80/patches/patch-aa140
-rw-r--r--lang/tcl80/pkg/COMMENT1
-rw-r--r--lang/tcl80/pkg/DESCR7
-rw-r--r--lang/tcl80/pkg/PLIST194
33 files changed, 1576 insertions, 0 deletions
diff --git a/lang/Makefile b/lang/Makefile
new file mode 100644
index 00000000000..c558ac642b7
--- /dev/null
+++ b/lang/Makefile
@@ -0,0 +1,58 @@
+# FreeBSD Id: Makefile,v 1.82 1997/09/30 07:49:24 asami Exp
+#
+
+ SUBDIR += Gofer
+ SUBDIR += STk
+ SUBDIR += Sather
+ SUBDIR += bwbasic
+ SUBDIR += cim
+ SUBDIR += cmucl
+ SUBDIR += eiffel
+ SUBDIR += elk
+ SUBDIR += eperl
+ SUBDIR += expect
+ SUBDIR += forth
+ SUBDIR += g77
+ SUBDIR += gcl
+ SUBDIR += gnat
+ SUBDIR += guavac
+ SUBDIR += guile-iii
+ SUBDIR += icon
+ SUBDIR += idl4
+ SUBDIR += itcl
+ SUBDIR += javac_netscape
+ SUBDIR += jdk
+ SUBDIR += kaffe
+ SUBDIR += lcc
+ SUBDIR += logo
+ SUBDIR += mit-scheme
+ SUBDIR += mixal
+ SUBDIR += mocka
+ SUBDIR += modula-3
+ SUBDIR += modula-3-lib
+ SUBDIR += modula-3-socks
+ SUBDIR += moscow_ml
+ SUBDIR += ocaml
+ SUBDIR += p2c
+ SUBDIR += p5-Tcl
+ SUBDIR += p5-ePerl
+ SUBDIR += pbasic
+ SUBDIR += perl5
+ SUBDIR += pgcc
+ SUBDIR += pgcc-current
+ SUBDIR += python
+ SUBDIR += rexx-imc
+ SUBDIR += ruby
+ SUBDIR += scheme48
+ SUBDIR += schemetoc
+ SUBDIR += scm
+ SUBDIR += smalltalk
+ SUBDIR += squeak
+ SUBDIR += sr
+ SUBDIR += swi-pl
+ SUBDIR += tcl75
+ SUBDIR += tcl76
+ SUBDIR += tcl80
+ SUBDIR += xpl
+
+.include <bsd.port.subdir.mk>
diff --git a/lang/icon/Makefile b/lang/icon/Makefile
new file mode 100644
index 00000000000..dc8c5595a50
--- /dev/null
+++ b/lang/icon/Makefile
@@ -0,0 +1,19 @@
+# New ports collection makefile for: icon
+# Version required: 9.3
+# Date created: 05 April 1995
+# Whom: thomas@ghpc8.ihf.rwth-aachen.de
+#
+# FreeBSD Id: Makefile,v 1.8 1997/02/12 08:39:15 tg Exp
+#
+
+DISTNAME= unix
+PKGNAME= icon-9.3
+CATEGORIES= lang
+MASTER_SITES= ftp://ftp.cs.arizona.edu/icon/packages/unix/
+
+MAINTAINER= ports@freebsd.org
+
+NO_WRKSUBDIR= true
+ALL_TARGET= Icon Icon-iconc
+
+.include <bsd.port.mk>
diff --git a/lang/icon/files/md5 b/lang/icon/files/md5
new file mode 100644
index 00000000000..1c19b603ccf
--- /dev/null
+++ b/lang/icon/files/md5
@@ -0,0 +1 @@
+MD5 (unix.tar.gz) = 6fa53241bb6eff844b155c22a98c2150
diff --git a/lang/icon/patches/patch-aa b/lang/icon/patches/patch-aa
new file mode 100644
index 00000000000..7795de34fde
--- /dev/null
+++ b/lang/icon/patches/patch-aa
@@ -0,0 +1,17 @@
+--- config/unix/i386_freebsd/define.h.orig Tue Mar 7 21:50:58 1995
++++ config/unix/i386_freebsd/define.h Sat Nov 2 17:24:10 1996
+@@ -21,6 +21,7 @@
+
+ #define Standard
+ #define Double
++#define IconEcvt
+ #define IconGcvt
+ #define GetHost
+ #define SysOpt
+@@ -41,5 +42,5 @@
+ #define LoadFunc
+ #define SystemFnc
+
+-
++#define LinkLibs " -lm"
+ #define COpts "-I/usr/X11R6/include"
diff --git a/lang/icon/patches/patch-ab b/lang/icon/patches/patch-ab
new file mode 100644
index 00000000000..d20f29f9044
--- /dev/null
+++ b/lang/icon/patches/patch-ab
@@ -0,0 +1,18 @@
+--- src/runtime/rmisc.r.orig Sat Nov 4 00:26:32 1995
++++ src/runtime/rmisc.r Sat Nov 2 16:48:35 1996
+@@ -125,15 +125,6 @@
+ return buf;
+ #endif /* OS2EMX */
+
+-#if FreeBSD
+-#define ecvt(w,x,y,z) 0
+-
+- sprintf(buf, "%f", number);
+- for(i=strlen(buf); i>1 && buf[i-1]=='0' && buf[i-2]!='.'; i--)
+- buf[i-1] = '\0';
+- return buf;
+-#endif /* FreeBSD */
+-
+ p1 = ecvt(number, ndigit, &decpt, &sign);
+ p2 = buf;
+ if (sign)
diff --git a/lang/icon/patches/patch-ca b/lang/icon/patches/patch-ca
new file mode 100644
index 00000000000..5dc9692650a
--- /dev/null
+++ b/lang/icon/patches/patch-ca
@@ -0,0 +1,58 @@
+*** Makefile.orig Fri Jul 29 21:41:19 1994
+--- Makefile Wed Mar 1 19:34:18 1995
+***************
+*** 241,243 ****
+--- 241,259 ----
+ -cd tests; $(MAKE) Clean
+
+ ##################################################################
++
++ install:
++ @bin/patchstr bin/iconc ${PREFIX}/share/icon/
++ @bin/patchstr bin/icont ${PREFIX}/bin/iconx
++ install -c -s -g bin -o bin -m 755 bin/iconc ${PREFIX}/bin/iconc
++ install -c -s -g bin -o bin -m 755 bin/icont ${PREFIX}/bin/icont
++ install -c -s -g bin -o bin -m 755 bin/iconx ${PREFIX}/bin/iconx
++ install -c -s -g bin -o bin -m 755 bin/patchstr ${PREFIX}/bin/patchstr
++ @mkdir -p ${PREFIX}/share/icon
++ install -c -g bin -o bin -m 644 bin/dlrgint.o ${PREFIX}/share/icon/dlrgint.o
++ install -c -g bin -o bin -m 644 bin/rt.a ${PREFIX}/share/icon/rt.a
++ install -c -g bin -o bin -m 644 bin/rt.db ${PREFIX}/share/icon/rt.db
++ install -c -g bin -o bin -m 644 bin/rt.h ${PREFIX}/share/icon/rt.h
++ @mkdir -p ${PREFIX}/man/man1
++ install -c -g bin -o bin -m 444 docs/icon.1 ${PREFIX}/man/man1/icon.1
++ @gzip -9fn ${PREFIX}/man/man1/icon.1
+*** config/unix/Config/Makefile.orig Fri Jul 29 21:40:55 1994
+--- config/unix/Config/Makefile Wed Mar 1 14:27:05 1995
+***************
+*** 1,7 ****
+- CC=cc
+- CFLAGS= -DVarTran
+- LDFLAGS=
+ SHELL=/bin/sh
+ MAKE=make
+
+ all:
+--- 1,5 ----
+ SHELL=/bin/sh
++ CFLAGS+= -DVarTran
+ MAKE=make
+
+ all:
+*** src/vtran/Vtmake2.orig Fri Jul 29 21:25:28 1994
+--- src/vtran/Vtmake2 Wed Mar 1 14:27:14 1995
+***************
+*** 1,7 ****
+- CC=cc
+- CFLAGS= -DVarTran
+- LDFLAGS=
+ SHELL=/bin/sh
+ MAKE=make
+
+ OBJS= cat.o tparse.o tlex.o tmem.o trans.o \
+--- 1,5 ----
+ SHELL=/bin/sh
++ CFLAGS+= -DVarTran
+ MAKE=make
+
+ OBJS= cat.o tparse.o tlex.o tmem.o trans.o \
diff --git a/lang/icon/patches/patch-cc b/lang/icon/patches/patch-cc
new file mode 100644
index 00000000000..86ff84ffe76
--- /dev/null
+++ b/lang/icon/patches/patch-cc
@@ -0,0 +1,45 @@
+*** src/h/sys.h.orig Fri Jul 29 21:24:57 1994
+--- src/h/sys.h Wed Mar 1 15:43:55 1995
+***************
+*** 181,192 ****
+--- 181,195 ----
+ #include <sys/ioctl.h>
+ #include <errno.h>
+ #include <sys/signal.h>
++ #ifdef __FreeBSD__
++ #include <sgtty.h>
++ #endif
+ #endif /* HaveTioc */
+
+ #endif /* KeyboardFncs */
+
+ #ifdef LoadFunc
+ #include <dlfcn.h>
+ #endif /* LoadFunc */
+
+ #endif /* UNIX */
+*** src/runtime/fload.r.orig Fri Jul 29 21:22:51 1994
+--- src/runtime/fload.r Sun Apr 16 14:02:26 1995
+***************
+*** 24,29 ****
+--- 24,33 ----
+
+ #ifdef FreeBSD
+
++ /* Look at the DL_GETERRNO constant, if it exists this is FreeBSD 1.1.5
++ or 2.0. If it doesn't exist this must be post 2.0 with an dlerror */
++
++ #passthru #ifdef DL_GETERRNO
+ /* Sorry, no dlerror() on FreeBSD. Fake it. */
+ char *dlerror(void)
+ {
+***************
+*** 34,39 ****
+--- 38,44 ----
+ else
+ return(NULL);
+ }
++ #passthru #endif
+
+ #endif /* __FreeBSD__ */
+
diff --git a/lang/icon/patches/patch-cd b/lang/icon/patches/patch-cd
new file mode 100644
index 00000000000..51b3432e112
--- /dev/null
+++ b/lang/icon/patches/patch-cd
@@ -0,0 +1,76 @@
+*** ipl/procs/evinit.icn.orig Fri Jul 29 21:32:02 1994
+--- ipl/procs/evinit.icn Wed Mar 1 20:50:24 1995
+***************
+*** 17,23 ****
+ #
+ ############################################################################
+
+! $include "evdefs.icn"
+
+ procedure EvInit(f,input,output,error)
+ if not MTEvInit(f,input,output,error) then fail
+--- 17,23 ----
+ #
+ ############################################################################
+
+! $include "../incl/evdefs.icn"
+
+ procedure EvInit(f,input,output,error)
+ if not MTEvInit(f,input,output,error) then fail
+*** ipl/procs/evnames.icn.orig Fri Jul 29 21:32:02 1994
+--- ipl/procs/evnames.icn Wed Mar 1 20:50:34 1995
+***************
+*** 29,35 ****
+
+ link twt
+
+! $include "evdefs.icn"
+
+ procedure evnames()
+ static namemap
+--- 29,35 ----
+
+ link twt
+
+! $include "../incl/evdefs.icn"
+
+ procedure evnames()
+ static namemap
+*** ipl/procs/evsyms.icn.orig Fri Jul 29 21:31:37 1994
+--- ipl/procs/evsyms.icn Wed Mar 1 20:50:48 1995
+***************
+*** 28,34 ****
+
+ link twt
+
+! $include "evdefs.icn"
+
+ procedure evsyms()
+ static symmap
+--- 28,34 ----
+
+ link twt
+
+! $include "../incl/evdefs.icn"
+
+ procedure evsyms()
+ static symmap
+*** ipl/procs/typesyms.icn.orig Fri Jul 29 21:32:08 1994
+--- ipl/procs/typesyms.icn Wed Mar 1 20:50:59 1995
+***************
+*** 27,33 ****
+ #
+ ############################################################################
+
+! $include "evdefs.icn"
+
+ procedure typesyms()
+ static typetable
+--- 27,33 ----
+ #
+ ############################################################################
+
+! $include "../incl/evdefs.icn"
+
+ procedure typesyms()
+ static typetable
diff --git a/lang/icon/pkg/COMMENT b/lang/icon/pkg/COMMENT
new file mode 100644
index 00000000000..30f915cb250
--- /dev/null
+++ b/lang/icon/pkg/COMMENT
@@ -0,0 +1 @@
+The Icon programming language.
diff --git a/lang/icon/pkg/DESCR b/lang/icon/pkg/DESCR
new file mode 100644
index 00000000000..a66e0a4df81
--- /dev/null
+++ b/lang/icon/pkg/DESCR
@@ -0,0 +1,25 @@
+ Icon is a high-level programming language with extensive
+facilities for processing strings and structures. Icon has
+several novel features, including expressions that may produce
+sequences of results, goal-directed evaluation that automatically
+searches for a successful result, and string scanning that allows
+operations on strings to be formulated at a high conceptual
+level.
+
+ Icon emphasizes high-level string processing and a design phi-
+losophy that allows ease of programming and short, concise pro-
+grams. Storage allocation and garbage collection are automatic in
+Icon, and there are few restrictions on the sizes of objects.
+Strings, lists, and other structures are created during program
+execution and their size does not need to be known when a program
+is written. Values are converted to expected types automati-
+cally; for example, numeral strings read in as input can be used
+in numerical computations without explicit conversion. Icon has
+an expression-based syntax with reserved words; in appearance,
+Icon programs resemble those of Pascal and C.
+
+The language is described in R. E. Griswold and M. T. Griswold, The
+Icon Programming Language, Prentice-Hall, Inc., Englewood Cliffs,
+NJ, second edition, 1990.
+
+
diff --git a/lang/icon/pkg/PLIST b/lang/icon/pkg/PLIST
new file mode 100644
index 00000000000..8f40f169858
--- /dev/null
+++ b/lang/icon/pkg/PLIST
@@ -0,0 +1,9 @@
+bin/iconc
+bin/icont
+bin/iconx
+bin/patchstr
+share/icon/dlrgint.o
+share/icon/rt.a
+share/icon/rt.db
+share/icon/rt.h
+man/man1/icon.1.gz
diff --git a/lang/icon/scripts/configure b/lang/icon/scripts/configure
new file mode 100644
index 00000000000..552ae9f30e2
--- /dev/null
+++ b/lang/icon/scripts/configure
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+cd ${WRKSRC}; make Configure name=i386_freebsd
diff --git a/lang/perl5/Makefile b/lang/perl5/Makefile
new file mode 100644
index 00000000000..bb1e6ca05c7
--- /dev/null
+++ b/lang/perl5/Makefile
@@ -0,0 +1,68 @@
+# New ports collection makefile for: perl5
+# Version required: 5.004_01
+# Date created: 16 April 1995
+# Whom: markm
+#
+# FreeBSD Id: Makefile,v 1.20 1997/07/18 06:16:44 markm Exp
+#
+
+DISTNAME= perl5.004_01
+PKGNAME= perl-5.00401
+CATEGORIES= lang devel perl5
+MASTER_SITES= ftp://ftp.digital.com/pub/plan/perl/CPAN/src/5.0/ \
+ ftp://ftp.cdrom.com/pub/perl/CPAN/src/5.0/
+
+MAINTAINER= markm@FreeBSD.ORG
+
+HAS_CONFIGURE= yes
+CONFIGURE_SCRIPT= Configure
+CONFIGURE_ARGS= -sde -Dprefix=${PREFIX}
+
+MAN1= a2p.1 c2ph.1 h2ph.1 h2xs.1 perl.1 perlapio.1 perlbook.1 perlbot.1 \
+ perlbug.1 perlcall.1 perldata.1 perldebug.1 perldelta.1 perldiag.1 \
+ perldoc.1 perldsc.1 perlembed.1 perlfaq.1 perlfaq1.1 perlfaq2.1 \
+ perlfaq3.1 perlfaq4.1 perlfaq5.1 perlfaq6.1 perlfaq7.1 perlfaq8.1 \
+ perlfaq9.1 perlform.1 perlfunc.1 perlguts.1 perlipc.1 perllocale.1 \
+ perllol.1 perlmod.1 perlmodlib.1 perlobj.1 perlop.1 perlpod.1 \
+ perlre.1 perlref.1 perlrun.1 perlsec.1 perlstyle.1 perlsub.1 \
+ perlsyn.1 perltie.1 perltoc.1 perltoot.1 perltrap.1 perlvar.1 \
+ perlxs.1 perlxstut.1 pl2pm.1 pod2html.1 pod2man.1 pstruct.1 s2p.1 \
+ splain.1 xsubpp.1
+
+MAN3= AnyDBM_File.3 AutoLoader.3 AutoSplit.3 Benchmark.3 Bundle::CPAN.3 \
+ CGI.3 CGI::Apache.3 CGI::Carp.3 CGI::Fast.3 CGI::Push.3 \
+ CGI::Switch.3 CPAN.3 CPAN::FirstTime.3 CPAN::Nox.3 Carp.3 \
+ Class::Struct.3 Config.3 Cwd.3 DB_File.3 Devel::SelfStubber.3 \
+ DirHandle.3 DynaLoader.3 English.3 Env.3 Exporter.3 \
+ ExtUtils::Command.3 ExtUtils::Embed.3 ExtUtils::Install.3 \
+ ExtUtils::Liblist.3 ExtUtils::MM_OS2.3 ExtUtils::MM_Unix.3 \
+ ExtUtils::MM_VMS.3 ExtUtils::MM_Win32.3 ExtUtils::MakeMaker.3 \
+ ExtUtils::Manifest.3 ExtUtils::Miniperl.3 ExtUtils::Mkbootstrap.3 \
+ ExtUtils::Mksymlists.3 ExtUtils::testlib.3 Fcntl.3 File::Basename.3 \
+ File::CheckTree.3 File::Compare.3 File::Copy.3 File::DosGlob.3 \
+ File::Find.3 File::Path.3 File::stat.3 FileCache.3 FileHandle.3 \
+ FindBin.3 Getopt::Long.3 Getopt::Std.3 I18N::Collate.3 IO.3 \
+ IO::File.3 IO::Handle.3 IO::Pipe.3 IO::Seekable.3 IO::Select.3 \
+ IO::Socket.3 IPC::Open2.3 IPC::Open3.3 Math::BigFloat.3 \
+ Math::BigInt.3 Math::Complex.3 Math::Trig.3 NDBM_File.3 Net::Ping.3 \
+ Net::hostent.3 Net::netent.3 Net::protoent.3 Net::servent.3 Opcode.3 \
+ POSIX.3 Pod::Html.3 Pod::Text.3 SDBM_File.3 Safe.3 Search::Dict.3 \
+ SelectSaver.3 SelfLoader.3 Shell.3 Socket.3 Symbol.3 \
+ Sys::Hostname.3 Sys::Syslog.3 Term::Cap.3 Term::Complete.3 \
+ Term::ReadLine.3 Test::Harness.3 Text::Abbrev.3 Text::ParseWords.3 \
+ Text::Soundex.3 Text::Tabs.3 Text::Wrap.3 Tie::Hash.3 \
+ Tie::RefHash.3 Tie::Scalar.3 Tie::SubstrHash.3 Time::Local.3 \
+ Time::gmtime.3 Time::localtime.3 Time::tm.3 UNIVERSAL.3 \
+ User::grent.3 User::pwent.3 autouse.3 blib.3 constant.3 diagnostics.3 \
+ integer.3 less.3 lib.3 locale.3 ops.3 overload.3 sigtrap.3 strict.3 \
+ subs.3 vars.3
+
+MAN3PREFIX= ${PREFIX}/lib/perl5
+
+test:
+ @(cd ${WRKSRC}; make test)
+
+post-install:
+ @strip ${PREFIX}/bin/perl ${PREFIX}/bin/suidperl
+
+.include <bsd.port.mk>
diff --git a/lang/perl5/files/md5 b/lang/perl5/files/md5
new file mode 100644
index 00000000000..6a7fb1a6747
--- /dev/null
+++ b/lang/perl5/files/md5
@@ -0,0 +1 @@
+MD5 (perl5.004_01.tar.gz) = bc29b3bd93b6511234455ba733913ea0
diff --git a/lang/perl5/patches/patch-aa b/lang/perl5/patches/patch-aa
new file mode 100644
index 00000000000..7beb8b7ec2e
--- /dev/null
+++ b/lang/perl5/patches/patch-aa
@@ -0,0 +1,19 @@
+--- Configure.ORIG Tue May 13 19:20:34 1997
++++ Configure Fri May 23 11:33:40 1997
+@@ -91,11 +91,11 @@
+ *) CDPATH='' ;;
+ esac
+
+-: Sanity checks
+-if test ! -t 0; then
+- echo "Say 'sh $me', not 'sh <$me'"
+- exit 1
+-fi
++: Sanity checks Disabled for FreeBSD port building - MarkM - May 1997
++: if test ! -t 0; : then
++: echo "Say 'sh $me', not 'sh <$me'"
++: exit 1
++: fi
+
+ : Test and see if we are running under ksh, either blatantly or in disguise.
+ if (PATH=.; alias -x) >/dev/null 2>&1; then
diff --git a/lang/perl5/patches/patch-ab b/lang/perl5/patches/patch-ab
new file mode 100644
index 00000000000..e713b0655e9
--- /dev/null
+++ b/lang/perl5/patches/patch-ab
@@ -0,0 +1,29 @@
+--- installperl.ORIG Mon May 12 05:22:27 1997
++++ installperl Fri May 23 11:40:27 1997
+@@ -93,7 +93,7 @@
+ safe_unlink("$installbin/sperl$ver$exe_ext");
+ if ($d_dosuid) {
+ copy("suidperl$exe_ext", "$installbin/sperl$ver$exe_ext");
+- chmod(04711, "$installbin/sperl$ver$exe_ext");
++ chmod(04111, "$installbin/sperl$ver$exe_ext");
+ }
+
+ # Install library files.
+@@ -156,11 +156,12 @@
+ (-l $usrbinperl) &&
+ ((readlink $usrbinperl) eq $expinstperl));
+ }
+- if ((! $mainperl_is_instperl) &&
+- (yn("Many scripts expect perl to be installed as $usrbinperl.\n" .
+- "Do you wish to have $usrbinperl be the same as\n" .
+- "$expinstperl? [y] ")))
+- {
++# if ((! $mainperl_is_instperl) &&
++# (yn("Many scripts expect perl to be installed as $usrbinperl.\n" .
++# "Do you wish to have $usrbinperl be the same as\n" .
++# "$expinstperl? [y] ")))
++# {
++ if ('') { # MarkM - May 1997. Take the NO route always.
+ unlink($usrbinperl);
+ eval { CORE::link $instperl, $usrbinperl } ||
+ eval { symlink $expinstperl, $usrbinperl } ||
diff --git a/lang/perl5/patches/patch-ac b/lang/perl5/patches/patch-ac
new file mode 100644
index 00000000000..b97fb42c955
--- /dev/null
+++ b/lang/perl5/patches/patch-ac
@@ -0,0 +1,29 @@
+--- hints/freebsd.sh.orig Wed Apr 23 16:01:37 1997
++++ hints/freebsd.sh Tue Jun 3 14:29:50 1997
+@@ -63,6 +63,7 @@
+ d_setreuid='define'
+ d_setegid='undef'
+ d_seteuid='undef'
++ d_dosuid='define'
+ test -r ./broken-db.msg && . ./broken-db.msg
+ ;;
+ #
+@@ -76,12 +77,18 @@
+ d_setreuid='define'
+ d_setegid='undef'
+ d_seteuid='undef'
++ d_dosuid='define'
+ ;;
+ #
+ # Guesses at what will be needed after 2.2
+ *) usevfork='true'
+ usemymalloc='n'
+ libswanted=`echo $libswanted | sed 's/ malloc / /'`
++ d_setregid='define'
++ d_setreuid='define'
++ d_setegid='undef'
++ d_seteuid='undef'
++ d_dosuid='define'
+ ;;
+ esac
+
diff --git a/lang/perl5/patches/patch-ad b/lang/perl5/patches/patch-ad
new file mode 100644
index 00000000000..e6863c22280
--- /dev/null
+++ b/lang/perl5/patches/patch-ad
@@ -0,0 +1,41 @@
+--- perl.h.ORIG Mon Apr 28 17:36:10 1997
++++ perl.h Fri May 23 11:56:49 1997
+@@ -223,6 +223,15 @@
+ # include <sys/param.h>
+ #endif
+
++/* needed for IAMSUID case for 4.4BSD systems
++ * XXX there should probably be a Configure variable
++ */
++
++#ifdef I_SYS_PARAM
++#if (defined (BSD) && (BSD >= 199306))
++# include <sys/mount.h>
++#endif /* !BSD */
++#endif /* !I_SYS_PARAM */
+
+ /* Use all the "standard" definitions? */
+ #if defined(STANDARD_C) && defined(I_STDLIB)
+--- perl5.004/perl.c.ORIG Fri May 16 00:14:03 1997
++++ perl.c Fri May 23 11:56:49 1997
+@@ -1917,6 +1917,20 @@
+ croak("Can't swap uid and euid"); /* really paranoid */
+ if (Stat(SvPVX(GvSV(curcop->cop_filegv)),&tmpstatbuf) < 0)
+ croak("Permission denied"); /* testing full pathname here */
++#if (defined(BSD) && (BSD >= 199306))
++#ifdef IAMSUID
++ {
++ struct statfs stfs;
++
++ if (fstatfs(fileno(rsfp),&stfs) < 0)
++ croak("Can't statfs filesystem of script \"%s\"",origfilename);
++
++ if (stfs.f_flags & MNT_NOSUID)
++ croak("Permission denied");
++ }
++#endif /* IAMSUID */
++#endif /* BSD */
++
+ if (tmpstatbuf.st_dev != statbuf.st_dev ||
+ tmpstatbuf.st_ino != statbuf.st_ino) {
+ (void)PerlIO_close(rsfp);
diff --git a/lang/perl5/patches/patch-ae b/lang/perl5/patches/patch-ae
new file mode 100644
index 00000000000..1c95a05a5db
--- /dev/null
+++ b/lang/perl5/patches/patch-ae
@@ -0,0 +1,10 @@
+--- makedepend.SH.orig Mon Sep 8 21:27:36 1997
++++ makedepend.SH Mon Sep 8 21:29:04 1997
+@@ -60,6 +60,7 @@
+ # to be out of date. I don't know if OS/2 has touch, so do this:
+ case "$osname" in
+ os2) ;;
++ freebsd) ;;
+ *) $touch $firstmakefile ;;
+ esac
+ fi
diff --git a/lang/perl5/pkg/COMMENT b/lang/perl5/pkg/COMMENT
new file mode 100644
index 00000000000..b0f524709b3
--- /dev/null
+++ b/lang/perl5/pkg/COMMENT
@@ -0,0 +1 @@
+Pattern Extraction and Recognition Language.
diff --git a/lang/perl5/pkg/DESCR b/lang/perl5/pkg/DESCR
new file mode 100644
index 00000000000..343e60b77c7
--- /dev/null
+++ b/lang/perl5/pkg/DESCR
@@ -0,0 +1,13 @@
+From the distribution README:
+
+Perl is a language that combines some of the features of C, sed, awk
+and shell. See the manual page for more hype. There are also two Nutshell
+Handbooks published by O'Reilly & Assoc. See pod/perlbook.pod
+for more information.
+
+--
+
+This port will not work on FreeBSD 2.0, nor will it work on earlier snapshots.
+This is due to a bug in vprintf in the C library.
+
+- MarkM
diff --git a/lang/perl5/pkg/PLIST b/lang/perl5/pkg/PLIST
new file mode 100644
index 00000000000..cad7c8b65a0
--- /dev/null
+++ b/lang/perl5/pkg/PLIST
@@ -0,0 +1,620 @@
+bin/a2p
+bin/c2ph
+bin/find2perl
+bin/h2ph
+bin/h2xs
+bin/perl5.00401
+@exec ln -fs %D/%F %B/perl
+@unexec rm %B/perl
+bin/perlbug
+bin/perldoc
+bin/pl2pm
+bin/pod2html
+bin/pod2latex
+bin/pod2man
+bin/pod2text
+bin/pstruct
+bin/s2p
+bin/sperl5.00401
+@exec ln -f %D/%F %B/suidperl
+@unexec rm %B/suidperl
+bin/splain
+lib/perl5/AnyDBM_File.pm
+lib/perl5/AutoLoader.pm
+lib/perl5/AutoSplit.pm
+lib/perl5/Benchmark.pm
+lib/perl5/Bundle/CPAN.pm
+lib/perl5/CGI.pm
+lib/perl5/CGI/Apache.pm
+lib/perl5/CGI/Carp.pm
+lib/perl5/CGI/Fast.pm
+lib/perl5/CGI/Push.pm
+lib/perl5/CGI/Switch.pm
+lib/perl5/CPAN.pm
+lib/perl5/CPAN/FirstTime.pm
+lib/perl5/CPAN/Nox.pm
+lib/perl5/Carp.pm
+lib/perl5/Class/Struct.pm
+lib/perl5/Cwd.pm
+lib/perl5/Devel/SelfStubber.pm
+lib/perl5/DirHandle.pm
+lib/perl5/English.pm
+lib/perl5/Env.pm
+lib/perl5/Exporter.pm
+lib/perl5/ExtUtils/Command.pm
+lib/perl5/ExtUtils/Embed.pm
+lib/perl5/ExtUtils/Install.pm
+lib/perl5/ExtUtils/Liblist.pm
+lib/perl5/ExtUtils/MM_OS2.pm
+lib/perl5/ExtUtils/MM_Unix.pm
+lib/perl5/ExtUtils/MM_VMS.pm
+lib/perl5/ExtUtils/MM_Win32.pm
+lib/perl5/ExtUtils/MakeMaker.pm
+lib/perl5/ExtUtils/Manifest.pm
+lib/perl5/ExtUtils/Miniperl.pm
+lib/perl5/ExtUtils/Mkbootstrap.pm
+lib/perl5/ExtUtils/Mksymlists.pm
+lib/perl5/ExtUtils/testlib.pm
+lib/perl5/ExtUtils/typemap
+lib/perl5/ExtUtils/xsubpp
+lib/perl5/File/Basename.pm
+lib/perl5/File/CheckTree.pm
+lib/perl5/File/Compare.pm
+lib/perl5/File/Copy.pm
+lib/perl5/File/DosGlob.pm
+lib/perl5/File/Find.pm
+lib/perl5/File/Path.pm
+lib/perl5/File/stat.pm
+lib/perl5/FileCache.pm
+lib/perl5/FindBin.pm
+lib/perl5/Getopt/Long.pm
+lib/perl5/Getopt/Std.pm
+lib/perl5/I18N/Collate.pm
+lib/perl5/IPC/Open2.pm
+lib/perl5/IPC/Open3.pm
+lib/perl5/Math/BigFloat.pm
+lib/perl5/Math/BigInt.pm
+lib/perl5/Math/Complex.pm
+lib/perl5/Math/Trig.pm
+lib/perl5/Net/Ping.pm
+lib/perl5/Net/hostent.pm
+lib/perl5/Net/netent.pm
+lib/perl5/Net/protoent.pm
+lib/perl5/Net/servent.pm
+lib/perl5/Pod/Functions.pm
+lib/perl5/Pod/Html.pm
+lib/perl5/Pod/Text.pm
+lib/perl5/Search/Dict.pm
+lib/perl5/SelectSaver.pm
+lib/perl5/SelfLoader.pm
+lib/perl5/Shell.pm
+lib/perl5/Symbol.pm
+lib/perl5/Sys/Hostname.pm
+lib/perl5/Sys/Syslog.pm
+lib/perl5/Term/Cap.pm
+lib/perl5/Term/Complete.pm
+lib/perl5/Term/ReadLine.pm
+lib/perl5/Test/Harness.pm
+lib/perl5/Text/Abbrev.pm
+lib/perl5/Text/ParseWords.pm
+lib/perl5/Text/Soundex.pm
+lib/perl5/Text/Tabs.pm
+lib/perl5/Text/Wrap.pm
+lib/perl5/Tie/Hash.pm
+lib/perl5/Tie/RefHash.pm
+lib/perl5/Tie/Scalar.pm
+lib/perl5/Tie/SubstrHash.pm
+lib/perl5/Time/Local.pm
+lib/perl5/Time/gmtime.pm
+lib/perl5/Time/localtime.pm
+lib/perl5/Time/tm.pm
+lib/perl5/UNIVERSAL.pm
+lib/perl5/User/grent.pm
+lib/perl5/User/pwent.pm
+lib/perl5/abbrev.pl
+lib/perl5/assert.pl
+lib/perl5/auto/Text/ParseWords/autosplit.ix
+lib/perl5/auto/Text/ParseWords/old_shellwords.al
+lib/perl5/auto/Text/ParseWords/quotewords.al
+lib/perl5/auto/Text/ParseWords/shellwords.al
+lib/perl5/autouse.pm
+lib/perl5/bigfloat.pl
+lib/perl5/bigint.pl
+lib/perl5/bigrat.pl
+lib/perl5/blib.pm
+lib/perl5/cacheout.pl
+lib/perl5/chat2.pl
+lib/perl5/complete.pl
+lib/perl5/constant.pm
+lib/perl5/ctime.pl
+lib/perl5/diagnostics.pm
+lib/perl5/dotsh.pl
+lib/perl5/dumpvar.pl
+lib/perl5/exceptions.pl
+lib/perl5/fastcwd.pl
+lib/perl5/find.pl
+lib/perl5/finddepth.pl
+lib/perl5/flush.pl
+lib/perl5/ftp.pl
+lib/perl5/getcwd.pl
+lib/perl5/getopt.pl
+lib/perl5/getopts.pl
+lib/perl5/hostname.pl
+lib/perl5/i386-freebsd/5.00401/CORE/EXTERN.h
+lib/perl5/i386-freebsd/5.00401/CORE/INTERN.h
+lib/perl5/i386-freebsd/5.00401/CORE/XSUB.h
+lib/perl5/i386-freebsd/5.00401/CORE/av.h
+lib/perl5/i386-freebsd/5.00401/CORE/config.h
+lib/perl5/i386-freebsd/5.00401/CORE/cop.h
+lib/perl5/i386-freebsd/5.00401/CORE/cv.h
+lib/perl5/i386-freebsd/5.00401/CORE/dosish.h
+lib/perl5/i386-freebsd/5.00401/CORE/embed.h
+lib/perl5/i386-freebsd/5.00401/CORE/form.h
+lib/perl5/i386-freebsd/5.00401/CORE/gv.h
+lib/perl5/i386-freebsd/5.00401/CORE/handy.h
+lib/perl5/i386-freebsd/5.00401/CORE/hv.h
+lib/perl5/i386-freebsd/5.00401/CORE/keywords.h
+lib/perl5/i386-freebsd/5.00401/CORE/libperl.a
+@exec ranlib %D/%F
+lib/perl5/i386-freebsd/5.00401/CORE/mg.h
+lib/perl5/i386-freebsd/5.00401/CORE/nostdio.h
+lib/perl5/i386-freebsd/5.00401/CORE/op.h
+lib/perl5/i386-freebsd/5.00401/CORE/opcode.h
+lib/perl5/i386-freebsd/5.00401/CORE/patchlevel.h
+lib/perl5/i386-freebsd/5.00401/CORE/perl.h
+lib/perl5/i386-freebsd/5.00401/CORE/perlio.h
+lib/perl5/i386-freebsd/5.00401/CORE/perlsdio.h
+lib/perl5/i386-freebsd/5.00401/CORE/perlsfio.h
+lib/perl5/i386-freebsd/5.00401/CORE/perly.h
+lib/perl5/i386-freebsd/5.00401/CORE/pp.h
+lib/perl5/i386-freebsd/5.00401/CORE/proto.h
+lib/perl5/i386-freebsd/5.00401/CORE/regcomp.h
+lib/perl5/i386-freebsd/5.00401/CORE/regexp.h
+lib/perl5/i386-freebsd/5.00401/CORE/scope.h
+lib/perl5/i386-freebsd/5.00401/CORE/sperl.o
+lib/perl5/i386-freebsd/5.00401/CORE/sv.h
+lib/perl5/i386-freebsd/5.00401/CORE/unixish.h
+lib/perl5/i386-freebsd/5.00401/CORE/util.h
+lib/perl5/i386-freebsd/5.00401/Config.pm
+lib/perl5/i386-freebsd/5.00401/DB_File.pm
+lib/perl5/i386-freebsd/5.00401/DynaLoader.pm
+lib/perl5/i386-freebsd/5.00401/Fcntl.pm
+lib/perl5/i386-freebsd/5.00401/FileHandle.pm
+lib/perl5/i386-freebsd/5.00401/IO.pm
+lib/perl5/i386-freebsd/5.00401/IO/File.pm
+lib/perl5/i386-freebsd/5.00401/IO/Handle.pm
+lib/perl5/i386-freebsd/5.00401/IO/Pipe.pm
+lib/perl5/i386-freebsd/5.00401/IO/Seekable.pm
+lib/perl5/i386-freebsd/5.00401/IO/Select.pm
+lib/perl5/i386-freebsd/5.00401/IO/Socket.pm
+lib/perl5/i386-freebsd/5.00401/NDBM_File.pm
+lib/perl5/i386-freebsd/5.00401/Opcode.pm
+lib/perl5/i386-freebsd/5.00401/POSIX.pm
+lib/perl5/i386-freebsd/5.00401/POSIX.pod
+lib/perl5/i386-freebsd/5.00401/SDBM_File.pm
+lib/perl5/i386-freebsd/5.00401/Safe.pm
+lib/perl5/i386-freebsd/5.00401/Socket.pm
+lib/perl5/i386-freebsd/5.00401/auto/DB_File/DB_File.bs
+lib/perl5/i386-freebsd/5.00401/auto/DB_File/DB_File.so
+lib/perl5/i386-freebsd/5.00401/auto/DB_File/autosplit.ix
+lib/perl5/i386-freebsd/5.00401/auto/DynaLoader/DynaLoader.a
+@exec ranlib %D/%F
+lib/perl5/i386-freebsd/5.00401/auto/DynaLoader/autosplit.ix
+lib/perl5/i386-freebsd/5.00401/auto/DynaLoader/dl_expandspec.al
+lib/perl5/i386-freebsd/5.00401/auto/DynaLoader/dl_find_symbol_anywhere.al
+lib/perl5/i386-freebsd/5.00401/auto/DynaLoader/dl_findfile.al
+lib/perl5/i386-freebsd/5.00401/auto/DynaLoader/extralibs.ld
+lib/perl5/i386-freebsd/5.00401/auto/Fcntl/Fcntl.bs
+lib/perl5/i386-freebsd/5.00401/auto/Fcntl/Fcntl.so
+lib/perl5/i386-freebsd/5.00401/auto/IO/IO.bs
+lib/perl5/i386-freebsd/5.00401/auto/IO/IO.so
+lib/perl5/i386-freebsd/5.00401/auto/NDBM_File/NDBM_File.bs
+lib/perl5/i386-freebsd/5.00401/auto/NDBM_File/NDBM_File.so
+lib/perl5/i386-freebsd/5.00401/auto/Opcode/Opcode.bs
+lib/perl5/i386-freebsd/5.00401/auto/Opcode/Opcode.so
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/POSIX.bs
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/POSIX.so
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/abs.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/alarm.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/assert.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/atan2.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/atexit.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/atof.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/atoi.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/atol.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/autosplit.ix
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/bsearch.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/calloc.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/chdir.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/chmod.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/chown.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/clearerr.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/closedir.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/cos.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/creat.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/div.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/errno.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/execl.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/execle.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/execlp.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/execv.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/execve.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/execvp.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/exit.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/exp.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/fabs.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/fclose.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/fcntl.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/fdopen.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/feof.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/ferror.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/fflush.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/fgetc.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/fgetpos.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/fgets.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/fileno.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/fopen.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/fork.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/fprintf.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/fputc.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/fputs.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/fread.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/free.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/freopen.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/fscanf.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/fseek.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/fsetpos.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/fstat.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/ftell.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/fwrite.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/getc.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/getchar.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/getcwd.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/getegid.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/getenv.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/geteuid.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/getgid.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/getgrgid.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/getgrnam.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/getgroups.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/getlogin.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/getpgrp.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/getpid.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/getppid.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/getpwnam.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/getpwuid.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/gets.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/getuid.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/gmtime.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/isatty.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/kill.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/labs.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/ldiv.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/link.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/localtime.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/log.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/longjmp.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/malloc.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/memchr.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/memcmp.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/memcpy.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/memmove.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/memset.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/mkdir.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/offsetof.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/opendir.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/perror.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/pow.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/printf.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/putc.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/putchar.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/puts.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/qsort.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/raise.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/rand.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/readdir.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/realloc.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/remove.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/rename.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/rewind.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/rewinddir.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/rmdir.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/scanf.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/setgid.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/setjmp.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/setuid.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/siglongjmp.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/sigsetjmp.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/sin.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/sleep.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/sprintf.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/sqrt.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/srand.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/sscanf.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/stat.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/strcat.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/strchr.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/strcmp.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/strcpy.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/strcspn.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/strerror.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/strlen.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/strncat.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/strncmp.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/strncpy.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/strpbrk.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/strrchr.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/strspn.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/strstr.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/strtok.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/system.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/time.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/tmpfile.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/tolower.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/toupper.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/umask.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/ungetc.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/unlink.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/utime.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/vfprintf.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/vprintf.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/vsprintf.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/wait.al
+lib/perl5/i386-freebsd/5.00401/auto/POSIX/waitpid.al
+lib/perl5/i386-freebsd/5.00401/auto/SDBM_File/SDBM_File.bs
+lib/perl5/i386-freebsd/5.00401/auto/SDBM_File/SDBM_File.so
+lib/perl5/i386-freebsd/5.00401/auto/Socket/Socket.bs
+lib/perl5/i386-freebsd/5.00401/auto/Socket/Socket.so
+lib/perl5/i386-freebsd/5.00401/auto/sdbm/extralibs.ld
+lib/perl5/i386-freebsd/5.00401/ops.pm
+lib/perl5/i386-freebsd/5.00401/overload.pm
+lib/perl5/i386-freebsd/5.00401/pod/perldiag.pod
+lib/perl5/importenv.pl
+lib/perl5/integer.pm
+lib/perl5/less.pm
+lib/perl5/lib.pm
+lib/perl5/locale.pm
+lib/perl5/look.pl
+lib/perl5/man/man3/AnyDBM_File.3.gz
+lib/perl5/man/man3/AutoLoader.3.gz
+lib/perl5/man/man3/AutoSplit.3.gz
+lib/perl5/man/man3/Benchmark.3.gz
+lib/perl5/man/man3/Bundle::CPAN.3.gz
+lib/perl5/man/man3/CGI.3.gz
+lib/perl5/man/man3/CGI::Apache.3.gz
+lib/perl5/man/man3/CGI::Carp.3.gz
+lib/perl5/man/man3/CGI::Fast.3.gz
+lib/perl5/man/man3/CGI::Push.3.gz
+lib/perl5/man/man3/CGI::Switch.3.gz
+lib/perl5/man/man3/CPAN.3.gz
+lib/perl5/man/man3/CPAN::FirstTime.3.gz
+lib/perl5/man/man3/CPAN::Nox.3.gz
+lib/perl5/man/man3/Carp.3.gz
+lib/perl5/man/man3/Class::Struct.3.gz
+lib/perl5/man/man3/Config.3.gz
+lib/perl5/man/man3/Cwd.3.gz
+lib/perl5/man/man3/DB_File.3.gz
+lib/perl5/man/man3/Devel::SelfStubber.3.gz
+lib/perl5/man/man3/DirHandle.3.gz
+lib/perl5/man/man3/DynaLoader.3.gz
+lib/perl5/man/man3/English.3.gz
+lib/perl5/man/man3/Env.3.gz
+lib/perl5/man/man3/Exporter.3.gz
+lib/perl5/man/man3/ExtUtils::Command.3.gz
+lib/perl5/man/man3/ExtUtils::Embed.3.gz
+lib/perl5/man/man3/ExtUtils::Install.3.gz
+lib/perl5/man/man3/ExtUtils::Liblist.3.gz
+lib/perl5/man/man3/ExtUtils::MM_OS2.3.gz
+lib/perl5/man/man3/ExtUtils::MM_Unix.3.gz
+lib/perl5/man/man3/ExtUtils::MM_VMS.3.gz
+lib/perl5/man/man3/ExtUtils::MM_Win32.3.gz
+lib/perl5/man/man3/ExtUtils::MakeMaker.3.gz
+lib/perl5/man/man3/ExtUtils::Manifest.3.gz
+lib/perl5/man/man3/ExtUtils::Miniperl.3.gz
+lib/perl5/man/man3/ExtUtils::Mkbootstrap.3.gz
+lib/perl5/man/man3/ExtUtils::Mksymlists.3.gz
+lib/perl5/man/man3/ExtUtils::testlib.3.gz
+lib/perl5/man/man3/Fcntl.3.gz
+lib/perl5/man/man3/File::Basename.3.gz
+lib/perl5/man/man3/File::CheckTree.3.gz
+lib/perl5/man/man3/File::Compare.3.gz
+lib/perl5/man/man3/File::Copy.3.gz
+lib/perl5/man/man3/File::DosGlob.3.gz
+lib/perl5/man/man3/File::Find.3.gz
+lib/perl5/man/man3/File::Path.3.gz
+lib/perl5/man/man3/File::stat.3.gz
+lib/perl5/man/man3/FileCache.3.gz
+lib/perl5/man/man3/FileHandle.3.gz
+lib/perl5/man/man3/FindBin.3.gz
+lib/perl5/man/man3/Getopt::Long.3.gz
+lib/perl5/man/man3/Getopt::Std.3.gz
+lib/perl5/man/man3/I18N::Collate.3.gz
+lib/perl5/man/man3/IO.3.gz
+lib/perl5/man/man3/IO::File.3.gz
+lib/perl5/man/man3/IO::Handle.3.gz
+lib/perl5/man/man3/IO::Pipe.3.gz
+lib/perl5/man/man3/IO::Seekable.3.gz
+lib/perl5/man/man3/IO::Select.3.gz
+lib/perl5/man/man3/IO::Socket.3.gz
+lib/perl5/man/man3/IPC::Open2.3.gz
+lib/perl5/man/man3/IPC::Open3.3.gz
+lib/perl5/man/man3/Math::BigFloat.3.gz
+lib/perl5/man/man3/Math::BigInt.3.gz
+lib/perl5/man/man3/Math::Complex.3.gz
+lib/perl5/man/man3/Math::Trig.3.gz
+lib/perl5/man/man3/NDBM_File.3.gz
+lib/perl5/man/man3/Net::Ping.3.gz
+lib/perl5/man/man3/Net::hostent.3.gz
+lib/perl5/man/man3/Net::netent.3.gz
+lib/perl5/man/man3/Net::protoent.3.gz
+lib/perl5/man/man3/Net::servent.3.gz
+lib/perl5/man/man3/Opcode.3.gz
+lib/perl5/man/man3/POSIX.3.gz
+lib/perl5/man/man3/Pod::Html.3.gz
+lib/perl5/man/man3/Pod::Text.3.gz
+lib/perl5/man/man3/SDBM_File.3.gz
+lib/perl5/man/man3/Safe.3.gz
+lib/perl5/man/man3/Search::Dict.3.gz
+lib/perl5/man/man3/SelectSaver.3.gz
+lib/perl5/man/man3/SelfLoader.3.gz
+lib/perl5/man/man3/Shell.3.gz
+lib/perl5/man/man3/Socket.3.gz
+lib/perl5/man/man3/Symbol.3.gz
+lib/perl5/man/man3/Sys::Hostname.3.gz
+lib/perl5/man/man3/Sys::Syslog.3.gz
+lib/perl5/man/man3/Term::Cap.3.gz
+lib/perl5/man/man3/Term::Complete.3.gz
+lib/perl5/man/man3/Term::ReadLine.3.gz
+lib/perl5/man/man3/Test::Harness.3.gz
+lib/perl5/man/man3/Text::Abbrev.3.gz
+lib/perl5/man/man3/Text::ParseWords.3.gz
+lib/perl5/man/man3/Text::Soundex.3.gz
+lib/perl5/man/man3/Text::Tabs.3.gz
+lib/perl5/man/man3/Text::Wrap.3.gz
+lib/perl5/man/man3/Tie::Hash.3.gz
+lib/perl5/man/man3/Tie::RefHash.3.gz
+lib/perl5/man/man3/Tie::Scalar.3.gz
+lib/perl5/man/man3/Tie::SubstrHash.3.gz
+lib/perl5/man/man3/Time::Local.3.gz
+lib/perl5/man/man3/Time::gmtime.3.gz
+lib/perl5/man/man3/Time::localtime.3.gz
+lib/perl5/man/man3/Time::tm.3.gz
+lib/perl5/man/man3/UNIVERSAL.3.gz
+lib/perl5/man/man3/User::grent.3.gz
+lib/perl5/man/man3/User::pwent.3.gz
+lib/perl5/man/man3/autouse.3.gz
+lib/perl5/man/man3/blib.3.gz
+lib/perl5/man/man3/constant.3.gz
+lib/perl5/man/man3/diagnostics.3.gz
+lib/perl5/man/man3/integer.3.gz
+lib/perl5/man/man3/less.3.gz
+lib/perl5/man/man3/lib.3.gz
+lib/perl5/man/man3/locale.3.gz
+lib/perl5/man/man3/ops.3.gz
+lib/perl5/man/man3/overload.3.gz
+lib/perl5/man/man3/sigtrap.3.gz
+lib/perl5/man/man3/strict.3.gz
+lib/perl5/man/man3/subs.3.gz
+lib/perl5/man/man3/vars.3.gz
+lib/perl5/newgetopt.pl
+lib/perl5/open2.pl
+lib/perl5/open3.pl
+lib/perl5/perl5db.pl
+lib/perl5/pod/perl.pod
+lib/perl5/pod/perlapio.pod
+lib/perl5/pod/perlbook.pod
+lib/perl5/pod/perlbot.pod
+lib/perl5/pod/perlcall.pod
+lib/perl5/pod/perldata.pod
+lib/perl5/pod/perldebug.pod
+lib/perl5/pod/perldelta.pod
+lib/perl5/pod/perldiag.pod
+lib/perl5/pod/perldsc.pod
+lib/perl5/pod/perlembed.pod
+lib/perl5/pod/perlfaq.pod
+lib/perl5/pod/perlfaq1.pod
+lib/perl5/pod/perlfaq2.pod
+lib/perl5/pod/perlfaq3.pod
+lib/perl5/pod/perlfaq4.pod
+lib/perl5/pod/perlfaq5.pod
+lib/perl5/pod/perlfaq6.pod
+lib/perl5/pod/perlfaq7.pod
+lib/perl5/pod/perlfaq8.pod
+lib/perl5/pod/perlfaq9.pod
+lib/perl5/pod/perlform.pod
+lib/perl5/pod/perlfunc.pod
+lib/perl5/pod/perlguts.pod
+lib/perl5/pod/perlipc.pod
+lib/perl5/pod/perllocale.pod
+lib/perl5/pod/perllol.pod
+lib/perl5/pod/perlmod.pod
+lib/perl5/pod/perlmodlib.pod
+lib/perl5/pod/perlobj.pod
+lib/perl5/pod/perlop.pod
+lib/perl5/pod/perlpod.pod
+lib/perl5/pod/perlre.pod
+lib/perl5/pod/perlref.pod
+lib/perl5/pod/perlrun.pod
+lib/perl5/pod/perlsec.pod
+lib/perl5/pod/perlstyle.pod
+lib/perl5/pod/perlsub.pod
+lib/perl5/pod/perlsyn.pod
+lib/perl5/pod/perltie.pod
+lib/perl5/pod/perltoc.pod
+lib/perl5/pod/perltoot.pod
+lib/perl5/pod/perltrap.pod
+lib/perl5/pod/perlvar.pod
+lib/perl5/pod/perlxs.pod
+lib/perl5/pod/perlxstut.pod
+lib/perl5/pwd.pl
+lib/perl5/shellwords.pl
+lib/perl5/sigtrap.pm
+lib/perl5/stat.pl
+lib/perl5/strict.pm
+lib/perl5/subs.pm
+lib/perl5/syslog.pl
+lib/perl5/tainted.pl
+lib/perl5/termcap.pl
+lib/perl5/timelocal.pl
+lib/perl5/validate.pl
+lib/perl5/vars.pm
+@unexec rm -rf %B
+man/man1/a2p.1.gz
+man/man1/c2ph.1.gz
+man/man1/h2ph.1.gz
+man/man1/h2xs.1.gz
+man/man1/perl.1.gz
+man/man1/perlapio.1.gz
+man/man1/perlbook.1.gz
+man/man1/perlbot.1.gz
+man/man1/perlbug.1.gz
+man/man1/perlcall.1.gz
+man/man1/perldata.1.gz
+man/man1/perldebug.1.gz
+man/man1/perldelta.1.gz
+man/man1/perldiag.1.gz
+man/man1/perldoc.1.gz
+man/man1/perldsc.1.gz
+man/man1/perlembed.1.gz
+man/man1/perlfaq.1.gz
+man/man1/perlfaq1.1.gz
+man/man1/perlfaq2.1.gz
+man/man1/perlfaq3.1.gz
+man/man1/perlfaq4.1.gz
+man/man1/perlfaq5.1.gz
+man/man1/perlfaq6.1.gz
+man/man1/perlfaq7.1.gz
+man/man1/perlfaq8.1.gz
+man/man1/perlfaq9.1.gz
+man/man1/perlform.1.gz
+man/man1/perlfunc.1.gz
+man/man1/perlguts.1.gz
+man/man1/perlipc.1.gz
+man/man1/perllocale.1.gz
+man/man1/perllol.1.gz
+man/man1/perlmod.1.gz
+man/man1/perlmodlib.1.gz
+man/man1/perlobj.1.gz
+man/man1/perlop.1.gz
+man/man1/perlpod.1.gz
+man/man1/perlre.1.gz
+man/man1/perlref.1.gz
+man/man1/perlrun.1.gz
+man/man1/perlsec.1.gz
+man/man1/perlstyle.1.gz
+man/man1/perlsub.1.gz
+man/man1/perlsyn.1.gz
+man/man1/perltie.1.gz
+man/man1/perltoc.1.gz
+man/man1/perltoot.1.gz
+man/man1/perltrap.1.gz
+man/man1/perlvar.1.gz
+man/man1/perlxs.1.gz
+man/man1/perlxstut.1.gz
+man/man1/pl2pm.1.gz
+man/man1/pod2html.1.gz
+man/man1/pod2man.1.gz
+man/man1/pstruct.1.gz
+man/man1/s2p.1.gz
+man/man1/splain.1.gz
+man/man1/xsubpp.1.gz
diff --git a/lang/scheme48/Makefile b/lang/scheme48/Makefile
new file mode 100644
index 00000000000..958d3fac767
--- /dev/null
+++ b/lang/scheme48/Makefile
@@ -0,0 +1,23 @@
+# New ports collection makefile for: scheme48
+# Version required: 0.46
+# Date created: 25 Aug 1997
+# Whom: jmacd
+#
+# FreeBSD Id: Makefile,v 1.10 1997/08/27 19:31:37 jmacd Exp
+#
+
+DISTNAME= scheme48-0.46
+CATEGORIES= lang
+MASTER_SITES= ftp://ftp-swiss.ai.mit.edu/pub/s48/
+EXTRACT_SUFX= .tgz
+
+MAINTAINER= jmacd@FreeBSD.ORG
+
+GNU_CONFIGURE= yes
+CONFIGURE_ARGS= --prefix=${PREFIX}
+ALL_TARGET = enough
+#NO_WRKSUBDIR= yes
+STRIP=
+MAN1= scheme48.1
+
+.include <bsd.port.mk>
diff --git a/lang/scheme48/files/md5 b/lang/scheme48/files/md5
new file mode 100644
index 00000000000..7c77234a1ef
--- /dev/null
+++ b/lang/scheme48/files/md5
@@ -0,0 +1 @@
+MD5 (scheme48-0.46.tgz) = 7b5c2b02df41640be8a119302c617063
diff --git a/lang/scheme48/pkg/COMMENT b/lang/scheme48/pkg/COMMENT
new file mode 100644
index 00000000000..a004409a702
--- /dev/null
+++ b/lang/scheme48/pkg/COMMENT
@@ -0,0 +1 @@
+The Scheme Underground's implementation of R4RS.
diff --git a/lang/scheme48/pkg/DESCR b/lang/scheme48/pkg/DESCR
new file mode 100644
index 00000000000..a5977c27b4d
--- /dev/null
+++ b/lang/scheme48/pkg/DESCR
@@ -0,0 +1,16 @@
+Scheme 48 is an implementation of the Scheme programming language as
+described in the Revised^4 Report on the Algorithmic Language Scheme.
+It is based on a compiler and interpreter for a virtual Scheme
+machine. The name derives from our desire to have an implementation
+that is simple and lucid enough that it looks as if it were written in
+just 48 hours. We don't claim to have reached that stage yet; much
+more simplification is necessary.
+
+Scheme 48 tries to be faithful to the upcoming Revised^5 Scheme
+Report, providing neither more nor less in the initial user
+environment. (This is not to say that more isn't available in other
+environments; see below.) Support for numbers is weak: bignums are
+slow and floating point is almost nonexistent (see description of
+floatnums, below). DEFINE-SYNTAX, LET-SYNTAX, LETREC-SYNTAX, and
+SYNTAX-RULES are supported, but not the rest of the Revised^4 Scheme
+macro proposal.
diff --git a/lang/scheme48/pkg/PLIST b/lang/scheme48/pkg/PLIST
new file mode 100644
index 00000000000..638a41f7ee1
--- /dev/null
+++ b/lang/scheme48/pkg/PLIST
@@ -0,0 +1,4 @@
+bin/scheme48
+include/scheme48.h
+lib/scheme48
+man/man1/scheme48.1.gz
diff --git a/lang/tcl80/Makefile b/lang/tcl80/Makefile
new file mode 100644
index 00000000000..6ff16df3885
--- /dev/null
+++ b/lang/tcl80/Makefile
@@ -0,0 +1,27 @@
+# New ports collection makefile for: tcl8.0
+# Version required: 8.0
+# Date created: 19 August 1997
+# Whom: jkh
+#
+# FreeBSD Id: Makefile,v 1.1.1.1 1997/08/20 10:33:35 jkh Exp
+#
+
+DISTNAME= tcl8.0
+PKGNAME= tcl-8.0
+CATEGORIES= lang
+MASTER_SITES= ftp://ftp.sunlabs.com/pub/tcl/
+
+MAINTAINER= jkh@freebsd.org
+
+WRKSRC= ${WRKDIR}/${DISTNAME}/unix
+GNU_CONFIGURE= yes
+CONFIGURE_ARGS= --enable-shared
+CONFIGURE_ENV= PORTSDIR=${PORTSDIR}
+
+post-install:
+ ${LDCONFIG} -m ${PREFIX}/lib
+
+test:
+ cd ${WRKSRC} && ${MAKE} test
+
+.include <bsd.port.mk>
diff --git a/lang/tcl80/files/md5 b/lang/tcl80/files/md5
new file mode 100644
index 00000000000..4eb3c5390a3
--- /dev/null
+++ b/lang/tcl80/files/md5
@@ -0,0 +1 @@
+MD5 (tcl8.0.tar.gz) = f1b78b79a40fd8e90e84186b42105b71
diff --git a/lang/tcl80/patches/patch-aa b/lang/tcl80/patches/patch-aa
new file mode 100644
index 00000000000..230af1185c8
--- /dev/null
+++ b/lang/tcl80/patches/patch-aa
@@ -0,0 +1,140 @@
+--- Makefile.in.orig Fri Aug 15 22:17:28 1997
++++ Makefile.in Wed Oct 1 09:51:59 1997
+@@ -55,7 +55,9 @@
+ BIN_INSTALL_DIR = $(INSTALL_ROOT)$(exec_prefix)/bin
+
+ # Directory in which to install the include file tcl.h:
+-INCLUDE_INSTALL_DIR = $(INSTALL_ROOT)$(prefix)/include
++INCLUDE_INSTALL_DIR = $(INSTALL_ROOT)$(prefix)/include/tcl$(VERSION)
++GENERIC_INCLUDE_INSTALL_DIR = $(INSTALL_ROOT)$(prefix)/include/tcl$(VERSION)/generic
++UNIX_INCLUDE_INSTALL_DIR = $(INSTALL_ROOT)$(prefix)/include/tcl$(VERSION)/unix
+
+ # Top-level directory in which to install manual entries:
+ MAN_INSTALL_DIR = $(INSTALL_ROOT)$(prefix)/man
+@@ -138,7 +140,7 @@
+ # "install" around; better to use the install-sh script that comes
+ # with the distribution, which is slower but guaranteed to work.
+
+-INSTALL = @srcdir@/install-sh -c
++INSTALL = install -c
+ INSTALL_PROGRAM = ${INSTALL}
+ INSTALL_DATA = ${INSTALL} -m 644
+
+@@ -315,7 +317,7 @@
+
+ SRCS = $(GENERIC_SRCS) $(UNIX_SRCS)
+
+-all: ${TCL_LIB_FILE} tclsh
++all: ${TCL_LIB_FILE} libtcl80.a tclsh
+
+ # The following target is configured by autoconf to generate either
+ # a shared library or non-shared library for Tcl.
+@@ -324,6 +326,11 @@
+ @MAKE_LIB@
+ $(RANLIB) ${TCL_LIB_FILE}
+
++libtcl80.a: ${OBJS}
++ rm -f libtcl80.a
++ ar cr libtcl80.a ${OBJS}
++ $(RANLIB) libtcl80.a
++
+ # Make target which outputs the list of the .o contained in the Tcl lib
+ # usefull to build a single big shared library containing Tcl and other
+ # extensions. used for the Tcl Plugin. -- dl
+@@ -415,7 +422,7 @@
+ # some ranlibs write to current directory, and this might not always be
+ # possible (e.g. if installing as root).
+
+-install-binaries: $(TCL_LIB_FILE) tclsh
++install-binaries: $(TCL_LIB_FILE) libtcl80.a tclsh
+ @for i in $(LIB_INSTALL_DIR) $(BIN_INSTALL_DIR) ; \
+ do \
+ if [ ! -d $$i ] ; then \
+@@ -429,14 +436,19 @@
+ @$(INSTALL_DATA) $(TCL_LIB_FILE) $(LIB_INSTALL_DIR)/$(TCL_LIB_FILE)
+ @(cd $(LIB_INSTALL_DIR); $(RANLIB) $(TCL_LIB_FILE))
+ @chmod 555 $(LIB_INSTALL_DIR)/$(TCL_LIB_FILE)
++ @echo "Installing libtcl80.a"
++ @$(INSTALL_DATA) libtcl80.a $(LIB_INSTALL_DIR)/libtcl80.a
++ @(cd $(LIB_INSTALL_DIR); $(RANLIB) libtcl80.a)
++ @chmod 555 $(LIB_INSTALL_DIR)/libtcl80.a
+ @echo "Installing tclsh"
+ @$(INSTALL_PROGRAM) tclsh $(BIN_INSTALL_DIR)/tclsh$(VERSION)
+ @echo "Installing tclConfig.sh"
+- @$(INSTALL_DATA) tclConfig.sh $(LIB_INSTALL_DIR)/tclConfig.sh
++ @mkdir -p $(SCRIPT_INSTALL_DIR)
++ @$(INSTALL_DATA) tclConfig.sh $(SCRIPT_INSTALL_DIR)/tclConfig.sh
+
+ install-libraries:
+- @for i in $(INSTALL_ROOT)$(prefix)/lib $(INCLUDE_INSTALL_DIR) \
+- $(SCRIPT_INSTALL_DIR); \
++ @for i in $(INSTALL_ROOT)$(prefix)/lib $(GENERIC_INCLUDE_INSTALL_DIR) \
++ $(UNIX_INCLUDE_INSTALL_DIR) $(SCRIPT_INSTALL_DIR); \
+ do \
+ if [ ! -d $$i ] ; then \
+ echo "Making directory $$i"; \
+@@ -454,8 +466,15 @@
+ else true; \
+ fi; \
+ done;
+- @echo "Installing tcl.h"
+- @$(INSTALL_DATA) $(GENERIC_DIR)/tcl.h $(INCLUDE_INSTALL_DIR)/tcl.h
++ @echo "Installing libraries, tcl.h and other headers"
++ @for i in $(GENERIC_DIR)/*.h ; \
++ do \
++ echo "Installing $$i"; \
++ $(INSTALL_DATA) $$i $(GENERIC_INCLUDE_INSTALL_DIR); \
++ done;
++ @ln -sf $(GENERIC_INCLUDE_INSTALL_DIR)/tcl.h $(INCLUDE_INSTALL_DIR)/tcl.h
++ @echo "Installing $(TOP_DIR)unix/tclUnixPort.h"
++ @$(INSTALL_DATA) $(TOP_DIR)/unix/tclUnixPort.h $(UNIX_INCLUDE_INSTALL_DIR)
+ @for i in $(TOP_DIR)/library/*.tcl $(TOP_DIR)/library/tclIndex $(UNIX_DIR)/tclAppInit.c $(UNIX_DIR)/ldAix; \
+ do \
+ echo "Installing $$i"; \
+@@ -483,30 +502,37 @@
+ @cd $(TOP_DIR)/doc; for i in *.1; \
+ do \
+ echo "Installing doc/$$i"; \
+- rm -f $(MAN1_INSTALL_DIR)/$$i; \
++ rm -f $(MAN1_INSTALL_DIR)/$$i $(MAN1_INSTALL_DIR)/$$i.gz ; \
+ sed -e '/man\.macros/r man.macros' -e '/man\.macros/d' \
+- $$i > $(MAN1_INSTALL_DIR)/$$i; \
+- chmod 444 $(MAN1_INSTALL_DIR)/$$i; \
++ $$i | gzip -c > $(MAN1_INSTALL_DIR)/$$i.gz; \
++ chmod 444 $(MAN1_INSTALL_DIR)/$$i.gz; \
+ done;
+ $(UNIX_DIR)/mkLinks $(MAN1_INSTALL_DIR)
+ @cd $(TOP_DIR)/doc; for i in *.3; \
+ do \
+ echo "Installing doc/$$i"; \
+- rm -f $(MAN3_INSTALL_DIR)/$$i; \
++ rm -f $(MAN3_INSTALL_DIR)/$$i $(MAN3_INSTALL_DIR)/$$i.gz ; \
+ sed -e '/man\.macros/r man.macros' -e '/man\.macros/d' \
+- $$i > $(MAN3_INSTALL_DIR)/$$i; \
+- chmod 444 $(MAN3_INSTALL_DIR)/$$i; \
++ $$i | gzip -c > $(MAN3_INSTALL_DIR)/$$i.gz; \
++ chmod 444 $(MAN3_INSTALL_DIR)/$$i.gz; \
+ done;
+ $(UNIX_DIR)/mkLinks $(MAN3_INSTALL_DIR)
+ @cd $(TOP_DIR)/doc; for i in *.n; \
+ do \
+ echo "Installing doc/$$i"; \
+- rm -f $(MANN_INSTALL_DIR)/$$i; \
++ rm -f $(MANN_INSTALL_DIR)/$$i $(MANN_INSTALL_DIR)/$$i.gz; \
+ sed -e '/man\.macros/r man.macros' -e '/man\.macros/d' \
+- $$i > $(MANN_INSTALL_DIR)/$$i; \
+- chmod 444 $(MANN_INSTALL_DIR)/$$i; \
++ $$i | gzip -c > $(MANN_INSTALL_DIR)/$$i.gz; \
++ chmod 444 $(MANN_INSTALL_DIR)/$$i.gz; \
+ done;
+ $(UNIX_DIR)/mkLinks $(MANN_INSTALL_DIR)
++ @echo "**********"
++ @echo "IMPORTANT:"
++ @echo "**********"
++ @echo "tclConfig.sh in $(SCRIPT_INSTALL_DIR)/tclConfig.sh"
++ @echo "tcl.h in $(INCLUDE_INSTALL_DIR)/tcl.h"
++ @echo "There are NOT default place, but good place to avoid"
++ @echo "conflicting with another version of Tcl/Tks."
+
+ Makefile: $(UNIX_DIR)/Makefile.in
+ $(SHELL) config.status
diff --git a/lang/tcl80/pkg/COMMENT b/lang/tcl80/pkg/COMMENT
new file mode 100644
index 00000000000..12707ff6a41
--- /dev/null
+++ b/lang/tcl80/pkg/COMMENT
@@ -0,0 +1 @@
+Tool Command Language.
diff --git a/lang/tcl80/pkg/DESCR b/lang/tcl80/pkg/DESCR
new file mode 100644
index 00000000000..1dcfb46167a
--- /dev/null
+++ b/lang/tcl80/pkg/DESCR
@@ -0,0 +1,7 @@
+This package contains the binary release of Tcl8.0, an embeddable tool
+command language.
+
+The best way to get started with Tcl is to read ``Tcl and the Tk
+Toolkit'' by John K. Ousterhout, Addison-Wesley, ISBN 0-201-63337-X.
+
+A full set of manual pages is also provided with this package.
diff --git a/lang/tcl80/pkg/PLIST b/lang/tcl80/pkg/PLIST
new file mode 100644
index 00000000000..2f4c65f0ddb
--- /dev/null
+++ b/lang/tcl80/pkg/PLIST
@@ -0,0 +1,194 @@
+bin/tclsh8.0
+lib/libtcl80.a
+lib/libtcl80.so.1.0
+@exec /sbin/ldconfig -m %B
+include/tcl8.0/tcl.h
+include/tcl8.0/unix/tclUnixPort.h
+include/tcl8.0/generic/tcl.h
+include/tcl8.0/generic/tclCompile.h
+include/tcl8.0/generic/tclInt.h
+include/tcl8.0/generic/tclMath.h
+include/tcl8.0/generic/tclPort.h
+include/tcl8.0/generic/tclRegexp.h
+lib/tcl8.0/history.tcl
+lib/tcl8.0/init.tcl
+lib/tcl8.0/ldAout.tcl
+lib/tcl8.0/parray.tcl
+lib/tcl8.0/safe.tcl
+lib/tcl8.0/word.tcl
+lib/tcl8.0/tclAppInit.c
+lib/tcl8.0/ldAix
+lib/tcl8.0/tclIndex
+lib/tcl8.0/tclConfig.sh
+lib/tcl8.0/http2.0/http.tcl
+lib/tcl8.0/http2.0/pkgIndex.tcl
+lib/tcl8.0/http1.0/http.tcl
+lib/tcl8.0/http1.0/pkgIndex.tcl
+lib/tcl8.0/opt0.1/optparse.tcl
+lib/tcl8.0/opt0.1/pkgIndex.tcl
+man/man1/tclsh.1.gz
+man/man3/Alloc.3.gz
+man/man3/AddErrInfo.3.gz
+man/man3/AllowExc.3.gz
+man/man3/AppInit.3.gz
+man/man3/AssocData.3.gz
+man/man3/Async.3.gz
+man/man3/BackgdErr.3.gz
+man/man3/Backslash.3.gz
+man/man3/BoolObj.3.gz
+man/man3/CallDel.3.gz
+man/man3/CmdCmplt.3.gz
+man/man3/Concat.3.gz
+man/man3/CrtChannel.3.gz
+man/man3/CrtChnlHdlr.3.gz
+man/man3/CrtCloseHdlr.3.gz
+man/man3/Eval.3.gz
+man/man3/CrtCommand.3.gz
+man/man3/CrtFileHdlr.3.gz
+man/man3/CrtInterp.3.gz
+man/man3/CrtMathFnc.3.gz
+man/man3/CrtObjCmd.3.gz
+man/man3/CrtSlave.3.gz
+man/man3/CrtTimerHdlr.3.gz
+man/man3/CrtTrace.3.gz
+man/man3/DString.3.gz
+man/man3/DetachPids.3.gz
+man/man3/DoOneEvent.3.gz
+man/man3/DoWhenIdle.3.gz
+man/man3/DoubleObj.3.gz
+man/man3/EvalObj.3.gz
+man/man3/Exit.3.gz
+man/man3/ExprLong.3.gz
+man/man3/ExprLongObj.3.gz
+man/man3/FindExec.3.gz
+man/man3/GetIndex.3.gz
+man/man3/GetInt.3.gz
+man/man3/GetOpnFl.3.gz
+man/man3/GetStdChan.3.gz
+man/man3/Hash.3.gz
+man/man3/IntObj.3.gz
+man/man3/Interp.3.gz
+man/man3/LinkVar.3.gz
+man/man3/ListObj.3.gz
+man/man3/Notifier.3.gz
+man/man3/ObjSetVar.3.gz
+man/man3/Object.3.gz
+man/man3/ObjectType.3.gz
+man/man3/OpenFileChnl.3.gz
+man/man3/OpenTcp.3.gz
+man/man3/PkgRequire.3.gz
+man/man3/Preserve.3.gz
+man/man3/PrintDbl.3.gz
+man/man3/RecEvalObj.3.gz
+man/man3/RecordEval.3.gz
+man/man3/RegExp.3.gz
+man/man3/SetVar.3.gz
+man/man3/SetErrno.3.gz
+man/man3/SetRecLmt.3.gz
+man/man3/SetResult.3.gz
+man/man3/Sleep.3.gz
+man/man3/SplitList.3.gz
+man/man3/SplitPath.3.gz
+man/man3/StaticPkg.3.gz
+man/man3/StrMatch.3.gz
+man/man3/StringObj.3.gz
+man/man3/Tcl_Main.3.gz
+man/man3/TraceVar.3.gz
+man/man3/Translate.3.gz
+man/man3/UpVar.3.gz
+man/man3/WrongNumArgs.3.gz
+man/mann/Tcl.n.gz
+man/mann/after.n.gz
+man/mann/append.n.gz
+man/mann/array.n.gz
+man/mann/bgerror.n.gz
+man/mann/binary.n.gz
+man/mann/break.n.gz
+man/mann/case.n.gz
+man/mann/catch.n.gz
+man/mann/cd.n.gz
+man/mann/clock.n.gz
+man/mann/close.n.gz
+man/mann/concat.n.gz
+man/mann/continue.n.gz
+man/mann/eof.n.gz
+man/mann/error.n.gz
+man/mann/eval.n.gz
+man/mann/exec.n.gz
+man/mann/exit.n.gz
+man/mann/expr.n.gz
+man/mann/fblocked.n.gz
+man/mann/fconfigure.n.gz
+man/mann/fcopy.n.gz
+man/mann/if.n.gz
+man/mann/file.n.gz
+man/mann/fileevent.n.gz
+man/mann/filename.n.gz
+man/mann/flush.n.gz
+man/mann/for.n.gz
+man/mann/foreach.n.gz
+man/mann/format.n.gz
+man/mann/gets.n.gz
+man/mann/glob.n.gz
+man/mann/global.n.gz
+man/mann/history.n.gz
+man/mann/http.n.gz
+man/mann/incr.n.gz
+man/mann/info.n.gz
+man/mann/interp.n.gz
+man/mann/join.n.gz
+man/mann/lappend.n.gz
+man/mann/library.n.gz
+man/mann/lindex.n.gz
+man/mann/linsert.n.gz
+man/mann/list.n.gz
+man/mann/llength.n.gz
+man/mann/load.n.gz
+man/mann/lrange.n.gz
+man/mann/lreplace.n.gz
+man/mann/lsearch.n.gz
+man/mann/lsort.n.gz
+man/mann/namespace.n.gz
+man/mann/open.n.gz
+man/mann/package.n.gz
+man/mann/pid.n.gz
+man/mann/pkgMkIndex.n.gz
+man/mann/proc.n.gz
+man/mann/puts.n.gz
+man/mann/pwd.n.gz
+man/mann/read.n.gz
+man/mann/regexp.n.gz
+man/mann/registry.n.gz
+man/mann/regsub.n.gz
+man/mann/rename.n.gz
+man/mann/resource.n.gz
+man/mann/return.n.gz
+man/mann/safe.n.gz
+man/mann/scan.n.gz
+man/mann/seek.n.gz
+man/mann/set.n.gz
+man/mann/socket.n.gz
+man/mann/source.n.gz
+man/mann/split.n.gz
+man/mann/string.n.gz
+man/mann/subst.n.gz
+man/mann/switch.n.gz
+man/mann/tclvars.n.gz
+man/mann/tell.n.gz
+man/mann/time.n.gz
+man/mann/trace.n.gz
+man/mann/unknown.n.gz
+man/mann/unset.n.gz
+man/mann/update.n.gz
+man/mann/uplevel.n.gz
+man/mann/upvar.n.gz
+man/mann/variable.n.gz
+man/mann/vwait.n.gz
+man/mann/while.n.gz
+@dirrm include/tcl8.0/generic
+@dirrm include/tcl8.0/unix
+@dirrm include/tcl8.0
+@dirrm lib/tcl8.0/http2.0
+@dirrm lib/tcl8.0/http1.0
+@dirrm lib/tcl8.0/opt0.1
+@dirrm lib/tcl8.0