From 57dc4074781928326a3104161fddcc5f4ad4be3d Mon Sep 17 00:00:00 2001
From: Neil Blakey-Milner <nbm@FreeBSD.org>
Date: Thu, 20 Jul 2000 11:55:59 +0000
Subject: Add tclhttpd, a pure-Tcl implementation of a HTTP server.

PR:		ports/19870
Submitted by:	Mikhail Teterin <mi@privatelabs.com>
---
 www/tclhttpd/Makefile           |  60 +++++++++++
 www/tclhttpd/distinfo           |   1 +
 www/tclhttpd/files/patch-ab     |  22 ++++
 www/tclhttpd/files/patch-ac     |  32 ++++++
 www/tclhttpd/files/patch-ad     |   7 ++
 www/tclhttpd/files/patch-ae     |  16 +++
 www/tclhttpd/files/patch-af     |   5 +
 www/tclhttpd/files/patch-ah     |  26 +++++
 www/tclhttpd/files/patch-pl     |  52 ++++++++++
 www/tclhttpd/files/pkgIndex.tcl |   5 +
 www/tclhttpd/files/tclhttpd.sh  |  24 +++++
 www/tclhttpd/pkg-comment        |   1 +
 www/tclhttpd/pkg-descr          |  24 +++++
 www/tclhttpd/pkg-plist          | 216 ++++++++++++++++++++++++++++++++++++++++
 www/tclhttpd/scripts/post-patch |  18 ++++
 www/tclhttpd/scripts/pre-build  |  18 ++++
 16 files changed, 527 insertions(+)
 create mode 100644 www/tclhttpd/Makefile
 create mode 100644 www/tclhttpd/distinfo
 create mode 100644 www/tclhttpd/files/patch-ab
 create mode 100644 www/tclhttpd/files/patch-ac
 create mode 100644 www/tclhttpd/files/patch-ad
 create mode 100644 www/tclhttpd/files/patch-ae
 create mode 100644 www/tclhttpd/files/patch-af
 create mode 100644 www/tclhttpd/files/patch-ah
 create mode 100644 www/tclhttpd/files/patch-pl
 create mode 100644 www/tclhttpd/files/pkgIndex.tcl
 create mode 100644 www/tclhttpd/files/tclhttpd.sh
 create mode 100644 www/tclhttpd/pkg-comment
 create mode 100644 www/tclhttpd/pkg-descr
 create mode 100644 www/tclhttpd/pkg-plist
 create mode 100644 www/tclhttpd/scripts/post-patch
 create mode 100644 www/tclhttpd/scripts/pre-build

(limited to 'www/tclhttpd')

diff --git a/www/tclhttpd/Makefile b/www/tclhttpd/Makefile
new file mode 100644
index 000000000000..7e755078f610
--- /dev/null
+++ b/www/tclhttpd/Makefile
@@ -0,0 +1,60 @@
+# New ports collection makefile for: 	thttpd
+# Date created:		27 Apr 2000
+# Whom:			Mikhail Teterin <mi@aldan.algebra.com>
+#
+# $FreeBSD$
+#
+
+PORTNAME=	tclhttpd
+PORTVERSION= 	3.0.3
+CATEGORIES=	www tcl${TCL_VER}
+MASTER_SITES=	${MASTER_SITE_TCLTK}
+MASTER_SITE_SUBDIR=	httpd
+DISTNAME=	${PORTNAME}${PORTVERSION}
+
+MAINTAINER=	mi@aldan.algebra.com
+
+RUN_DEPENDS=	${LOCALBASE}/lib/tcllib0.4/pkgIndex.tcl:${PORTSDIR}/devel/tcllib
+LIB_DEPENDS=	tcl${TCL_VER}:${PORTSDIR}/lang/tcl${TCL_VER}
+
+TCL_DVER?=	8.3
+TCL_VER=	${TCL_DVER:S/.//}
+GNU_CONFIGURE=	yes
+CONFIGURE_ARGS=	--with-tcl="${LOCALBASE}/lib/tcl${TCL_DVER}" \
+		--with-tclinclude="${LOCALBASE}/include/tcl${TCL_DVER}"
+
+PLIST_SUB+=	TCL_VER=${TCL_VER} PORTVERSION=${PORTVERSION} \
+	"LIBSUF=`echo ${PORTOBJFORMAT} | ${SED} -e s/elf/1/ -e s/aout/1.0/`"
+
+RCD=	${LOCALBASE}/etc/rc.d/tclhttpd.sh
+
+SCRIPTS_ENV+=	LOCALBASE=${LOCALBASE} WRKSRC=${WRKSRC}} \
+		CFLAGS="${CFLAGS}" TCL_DVER=${TCL_DVER} \
+		TCL_VER=${TCL_VER}
+
+post-install:
+	test -e ${RCD} || ${SED} \
+		"s%COMMAND_LINE%${LOCALBASE}/bin/tclsh${TCL_DVER} ${PREFIX}/bin/httpd.tcl%" \
+		< ${FILESDIR}/tclhttpd.sh > ${RCD}
+	${MKDIR} ${LOCALBASE}/${PORTNAME}${PORTVERSION}
+	${CHOWN} -R nobody ${LOCALBASE}/share/${PORTNAME}${PORTVERSION}
+	#${LN} -sf ${LOCALBASE}/share/${PORTNAME}${PORTVERSION} \
+	#	${LOCALBASE}/${PORTNAME}${PORTVERSION}/htdocs
+	${CHMOD} +x ${RCD}
+	${INSTALL_DATA} ${WRKSRC}/src/libcrypt.so.* \
+		${WRKSRC}/src/liblimit.so.* ${WRKSRC}/src/libsetuid.so.* \
+			${LOCALBASE}/lib/${PORTNAME}${PORTVERSION}/
+	${INSTALL_SCRIPT} ${WRKSRC}/bin/httpd.tcl \
+		${WRKSRC}/bin/httpdthread.tcl ${LOCALBASE}/bin/
+	${INSTALL_DATA} ${WRKSRC}/bin/tclhttpd.rc ${LOCALBASE}/etc/
+	${CAT} ${FILESDIR}/pkgIndex.tcl >> \
+		${LOCALBASE}/lib/${PORTNAME}${PORTVERSION}/pkgIndex.tcl
+	for f in ${LOCALBASE}/lib/${PORTNAME}${PORTVERSION}/lib*.so.* ; \
+	do \
+		${LN} -sf `basename $$f` \
+			`echo $$f | ${SED} 's@\(.*\.so\)\..*@\1@'` ; \
+	done
+
+do-build:	# empty -- everything done by ${SCRIPTDIR}/pre-build
+
+.include <bsd.port.mk>
diff --git a/www/tclhttpd/distinfo b/www/tclhttpd/distinfo
new file mode 100644
index 000000000000..e24f60253b62
--- /dev/null
+++ b/www/tclhttpd/distinfo
@@ -0,0 +1 @@
+MD5 (tclhttpd3.0.3.tar.gz) = d2b48707b786cf560c03740eb3557d50
diff --git a/www/tclhttpd/files/patch-ab b/www/tclhttpd/files/patch-ab
new file mode 100644
index 000000000000..b6c9a4fede83
--- /dev/null
+++ b/www/tclhttpd/files/patch-ab
@@ -0,0 +1,22 @@
+--- Makefile.in	Wed Apr 26 16:35:29 2000
++++ Makefile.in	Thu Apr 27 16:24:39 2000
+@@ -124,3 +124,3 @@
+ SERVER_ROOT = @SERVER_ROOT@
+-htdocsdir = $(SERVER_ROOT)/htdocs
++htdocsdir = $(prefix)/share/@PACKAGE@@VERSION@
+ 
+@@ -220,3 +220,3 @@
+ 
+-all: binaries libraries doc
++all: libraries doc
+
+@@ -236,3 +236,3 @@
+ 
+-install: all install-binaries install-libraries install-doc
++install: all install-libraries install-doc
+ 
+@@ -315,3 +315,3 @@
+ installdirs:
+-	$(mkinstalldirs) $(pkglibdir) $(cryptlibdir) $(prefix)/bin $(htdocsdir)
++	$(mkinstalldirs) $(pkglibdir) $(prefix)/bin $(htdocsdir)
+ 
diff --git a/www/tclhttpd/files/patch-ac b/www/tclhttpd/files/patch-ac
new file mode 100644
index 000000000000..0304fe804064
--- /dev/null
+++ b/www/tclhttpd/files/patch-ac
@@ -0,0 +1,32 @@
+--- bin/httpd.tcl	Wed Jun 14 13:25:50 2000
++++ bin/httpd.tcl	Wed Jun 21 15:59:34 2000
+@@ -82,21 +82,9 @@
+ 
+ # Search around for the Standard Tcl Library
+ 
+-if {![catch {package require base64 2.0}]} {
+-    # Already available in environment
+-} elseif {[file exist [file join $home ../tcllib]]} {
+-    lappend auto_path [file join $home ../tcllib]
+-} else {
+-    # Look for the CVS development sources
+-    set cvs [lindex [lsort -decreasing \
+-	[glob -nocomplain [file join $home ../../tcllib*]]] 0]
+-    if {[file exist [file join $cvs modules]]} {
+-	lappend auto_path [file join $cvs modules]
+-    } elseif {[file exist [file join $cvs pkgIndex.tcl]]} {
+-	lappend auto_path $cvs
+-    } else {
+-	error "Cannot find Standard Tcl Library in auto_path:\n[join $auto_path \n]"
+-    }
++if {[catch {package require tcllib} e]} {
++	error "Cannot find Standard Tcl Library in auto_path:\n\
++		[join $auto_path \n($e)\n]"
+ }
+ 
+ set Config(home) $home
+@@ -130,3 +130,3 @@
+ } else {
+-    set Config(config) [file join $Config(home) tclhttpd.rc]
++    set Config(config) [file join $Config(home) ../etc/tclhttpd.rc]
+ }
diff --git a/www/tclhttpd/files/patch-ad b/www/tclhttpd/files/patch-ad
new file mode 100644
index 000000000000..4ddfcb2b94f3
--- /dev/null
+++ b/www/tclhttpd/files/patch-ad
@@ -0,0 +1,7 @@
+--- configure	Wed Apr 26 17:44:05 2000
++++ configure	Thu Apr 27 18:44:11 2000
+@@ -1850,3 +1850,3 @@
+ 	    MAKE_STATIC_LIB="\${STLIB_LD} \$@ \$(\$@_OBJECTS)"
+-	    MAKE_SHARED_LIB="\${SHLIB_LD} -o \$@ \$(\$@_OBJECTS) \${SHLIB_LDFLAGS} \${SHLIB_LD_LIBS}"
++	    MAKE_SHARED_LIB="\${SHLIB_LD} -o \$@ \$> \${SHLIB_LDFLAGS} \${SHLIB_LD_LIBS}"
+ 	    ;;
diff --git a/www/tclhttpd/files/patch-ae b/www/tclhttpd/files/patch-ae
new file mode 100644
index 000000000000..2cdf64b0ef7d
--- /dev/null
+++ b/www/tclhttpd/files/patch-ae
@@ -0,0 +1,16 @@
+--- bin/tclhttpd.rc	Mon Apr 24 21:39:19 2000
++++ bin/tclhttpd.rc	Fri Apr 28 19:23:21 2000
+@@ -24,2 +24,3 @@
+ foreach d [list \
++	[file join [Config home] ../share/tclhttpd3.0.3] \
+ 	[file join [Config home] ../htdocs] \
+@@ -36,3 +36,3 @@
+ 
+-Config uid		50
++Config uid		65534	;#	BSD's nobody
+ 
+@@ -45,3 +45,3 @@
+ 
+-Config gid		50
++Config gid		65534	;#	BSD's nobody group
+ 
diff --git a/www/tclhttpd/files/patch-af b/www/tclhttpd/files/patch-af
new file mode 100644
index 000000000000..74df2c3f7272
--- /dev/null
+++ b/www/tclhttpd/files/patch-af
@@ -0,0 +1,5 @@
+--- lib/log.tcl	Mon Apr  3 20:00:28 2000
++++ lib/log.tcl	Fri May  5 10:01:58 2000
+@@ -29,1 +29,1 @@
+-    set Log(compressProg) /usr/local/bin/gzip
++    set Log(compressProg) /usr/bin/gzip
diff --git a/www/tclhttpd/files/patch-ah b/www/tclhttpd/files/patch-ah
new file mode 100644
index 000000000000..2c2d15c2cc56
--- /dev/null
+++ b/www/tclhttpd/files/patch-ah
@@ -0,0 +1,26 @@
+This is needed, because of the way tcllib's pkgIndex.tcl is laid
+out. The _children_ of the directory containing tcllib itself are
+not searched for packages the first time. So
+	``package require <some sub package>''
+will fail the first time :(. This is, probably, a bug in tcllib,
+but this is a workaround.
++++ htdocs/cgi-bin/flip.cgi	Fri May  5 11:34:19 2000
+@@ -5,4 +5,3 @@
+ if {[catch {
+-    package require ncgi
+-    package require html
++    package require tcllib
+ 
++++ htdocs/cgi-bin/redirect.cgi	Fri May  5 11:34:31 2000
+@@ -5,3 +5,3 @@
+ if {[catch {
+-    package require ncgi
++    package require tcllib
+ 
++++ htdocs/cgi-bin/test.cgi	Fri May  5 11:34:47 2000
+@@ -5,4 +5,3 @@
+ if {[catch {
+-    package require ncgi
+-    package require html
++    package require tcllib
+ 
diff --git a/www/tclhttpd/files/patch-pl b/www/tclhttpd/files/patch-pl
new file mode 100644
index 000000000000..98437d8881ef
--- /dev/null
+++ b/www/tclhttpd/files/patch-pl
@@ -0,0 +1,52 @@
+This  patch  adds a  way  to  add the  functionality  to  the server  by
+specifying  extra files  it should  source on  startup. Those  files can
+define  MIME  type handlers,  subtree  handlers  etc (see  the  server's
+documentation for what they can do -- very powerful stuff).
+
+According to the  software's author, Brent Welch, there  is currently no
+other  way  to extend  the  server  -- other  then  adding  code to  the
+httpd.tcl (or other files) directly. The tclhttpd.rc file is executed by
+a safe interpreter and so can not load any other files itself.
+
++++ bin/httpd.tcl	2000/05/16 23:09:50
+@@ -152,4 +152,5 @@
+         [list threads.arg      [cget threads]      {Number of worker threads (zero for non-threaded)}] \
+         [list library.arg      [cget library]      {Directory list where custom packages and auto loads are}] \
++        [list extrafiles.arg   [cget ExtraFiles]   {Extra files to source}] \
+ 	[list debug.arg	       0	        {If true, start interactive command loop}] \
+     ] \
+@@ -228,7 +229,9 @@
+     }
+ }
+-if ![catch {
++if {[catch {
+     setuid $Config(uid) $Config(gid)
+-}] {
++} e]}  {
++    Stderr "failed to suid to $Config(uid).$Config(gid): $e"
++} else {
+     Stderr "Running as user $Config(uid)"
+ }
+@@ -256,4 +259,6 @@
+     append error "\n$errorInfo"
+     error $error
++} else {
++    puts stderr "Sourced [file nativename $Config(main)] nicely"
+ }
+ 
++++ bin/httpdthread.tcl	2000/05/10 19:32:55
+@@ -142,2 +142,14 @@
+ }
+ 
++if {[info exists Config(extrafiles)]} {
++	puts stderr "Proceeding to source $Config(extrafiles)"
++	foreach f $Config(extrafiles) {
++		if {[catch "source $f" e]} {
++			puts stderr "Failed to source $f: $e"
++		} else {
++			puts stderr "Sourced $f ($e)."
++		}
++	}
++} else {
++	puts stderr "No extra files specified"
++}
diff --git a/www/tclhttpd/files/pkgIndex.tcl b/www/tclhttpd/files/pkgIndex.tcl
new file mode 100644
index 000000000000..40dbfd49fc20
--- /dev/null
+++ b/www/tclhttpd/files/pkgIndex.tcl
@@ -0,0 +1,5 @@
+# Tiny helper binaries for thc TclHttp-daemon providing the
+# functionality not available in the TCL itself:
+package ifneeded crypt 1.0 [list load [file join $dir libcrypt.so]]
+package ifneeded setuid 1.0 [list load [file join $dir libsetuid.so]]
+package ifneeded limit 1.0 [list load [file join $dir liblimit.so]]
diff --git a/www/tclhttpd/files/tclhttpd.sh b/www/tclhttpd/files/tclhttpd.sh
new file mode 100644
index 000000000000..bba81a73cb35
--- /dev/null
+++ b/www/tclhttpd/files/tclhttpd.sh
@@ -0,0 +1,24 @@
+#!/bin/sh
+PID_FILE=/var/run/tclhttpd.pid
+case $1 in
+	stop)
+		if [ -e $PID_FILE ] ; then
+			PID=`cat $PID_FILE`
+			if kill $PID ; then
+				exec rm -f $PID_FILE
+			fi
+		else
+			echo "No $PID_FILE presenet, tclhttpd is, probably, not running"  > /dev/stderr
+		fi
+		;;
+	''|start)
+		COMMAND_LINE &
+		sleep 2
+		if kill -0 $! ; then
+			echo -n ' tclhttpd'
+			echo $! > $PID_FILE
+		else
+			exec logger -s "tclhttpd failed to start"
+		fi
+		;;
+esac
diff --git a/www/tclhttpd/pkg-comment b/www/tclhttpd/pkg-comment
new file mode 100644
index 000000000000..e7c8d52ae9ba
--- /dev/null
+++ b/www/tclhttpd/pkg-comment
@@ -0,0 +1 @@
+An http-server implemented in TCL
diff --git a/www/tclhttpd/pkg-descr b/www/tclhttpd/pkg-descr
new file mode 100644
index 000000000000..9eeb02c5e8b8
--- /dev/null
+++ b/www/tclhttpd/pkg-descr
@@ -0,0 +1,24 @@
+This is a pure-Tcl implementation of an HTTP protocol server. It runs as
+a script on  top of a vanilla Tcl interpreter  using tcllib scripts and,
+optionally, two binary libraries (crypt and limit).
+
+The Tcl I/O system provides  event-driven I/O facilities and a primitive
+that copies  data from one I/O  channel to another. The  server does the
+HTTP protocol handling  and then simply directs the I/O  system to blast
+data from  disk to  a network  socket. The  server has  suprisingly good
+performance because of Tcl's sophisticated I/O system.
+
+The HTTP protocol is perhaps the least interesting aspect of the server.
+The cool stuff is the framework for generating dynamic page content, and
+the support for  embedding the server directly  into legacy applications
+to "web-enable" them.
+
+A Tcl-based web  server is ideal for embedding because  Tcl was designed
+to support embedding into other  applications. The interpreted nature of
+Tcl  allows  dynamic  reconfiguration  of  the  server.  Once  the  core
+interface between the web server and the hosting application is defined,
+it  is  possible to  manage  the  web  server, upload  Safe-Tcl  control
+scripts, download logging information, and  otherwise debug the Tcl part
+of the application without restarting the hosting application.
+
+WWW: http://dev.scriptics.com/software/tclhttpd/
diff --git a/www/tclhttpd/pkg-plist b/www/tclhttpd/pkg-plist
new file mode 100644
index 000000000000..731fca21106f
--- /dev/null
+++ b/www/tclhttpd/pkg-plist
@@ -0,0 +1,216 @@
+bin/httpd.tcl
+bin/httpdthread.tcl
+etc/tclhttpd.rc
+etc/rc.d/tclhttpd.sh
+lib/tclhttpd%%PORTVERSION%%/libsetuid.so.%%LIBSUF%%
+lib/tclhttpd%%PORTVERSION%%/libsetuid.so
+lib/tclhttpd%%PORTVERSION%%/liblimit.so.%%LIBSUF%%
+lib/tclhttpd%%PORTVERSION%%/liblimit.so
+lib/tclhttpd%%PORTVERSION%%/libcrypt.so.%%LIBSUF%%
+lib/tclhttpd%%PORTVERSION%%/libcrypt.so
+lib/tclhttpd%%PORTVERSION%%/admin.tcl
+lib/tclhttpd%%PORTVERSION%%/auth.tcl
+lib/tclhttpd%%PORTVERSION%%/cgi.tcl
+lib/tclhttpd%%PORTVERSION%%/config.tcl
+lib/tclhttpd%%PORTVERSION%%/counter.tcl
+lib/tclhttpd%%PORTVERSION%%/debug.tcl
+lib/tclhttpd%%PORTVERSION%%/demo.tcl
+lib/tclhttpd%%PORTVERSION%%/direct.tcl
+lib/tclhttpd%%PORTVERSION%%/dirlist.tcl
+lib/tclhttpd%%PORTVERSION%%/discover.tcl
+lib/tclhttpd%%PORTVERSION%%/doc.tcl
+lib/tclhttpd%%PORTVERSION%%/httpd.tcl
+lib/tclhttpd%%PORTVERSION%%/imagemap.tcl
+lib/tclhttpd%%PORTVERSION%%/include.tcl
+lib/tclhttpd%%PORTVERSION%%/log.tcl
+lib/tclhttpd%%PORTVERSION%%/mail.tcl
+lib/tclhttpd%%PORTVERSION%%/maptcl.tcl
+lib/tclhttpd%%PORTVERSION%%/maptk.tcl
+lib/tclhttpd%%PORTVERSION%%/mtype.tcl
+lib/tclhttpd%%PORTVERSION%%/open.tcl
+lib/tclhttpd%%PORTVERSION%%/pkgIndex.tcl
+lib/tclhttpd%%PORTVERSION%%/redirect.tcl
+lib/tclhttpd%%PORTVERSION%%/safecgio.tcl
+lib/tclhttpd%%PORTVERSION%%/session.tcl
+lib/tclhttpd%%PORTVERSION%%/sendsock.tcl
+lib/tclhttpd%%PORTVERSION%%/snmp.tcl
+lib/tclhttpd%%PORTVERSION%%/srvui.tcl
+lib/tclhttpd%%PORTVERSION%%/status.tcl
+lib/tclhttpd%%PORTVERSION%%/stdin.tcl
+lib/tclhttpd%%PORTVERSION%%/telnet.tcl
+lib/tclhttpd%%PORTVERSION%%/thread.tcl
+lib/tclhttpd%%PORTVERSION%%/url.tcl
+lib/tclhttpd%%PORTVERSION%%/utils.tcl
+lib/tclhttpd%%PORTVERSION%%/version.tcl
+lib/tclhttpd%%PORTVERSION%%/mime.types
+@dirrm lib/tclhttpd%%PORTVERSION%%
+share/tclhttpd%%PORTVERSION%%/empty.html
+share/tclhttpd%%PORTVERSION%%/error.html
+share/tclhttpd%%PORTVERSION%%/hacks.tml
+share/tclhttpd%%PORTVERSION%%/include.shtml
+share/tclhttpd%%PORTVERSION%%/index.tml
+share/tclhttpd%%PORTVERSION%%/license.terms
+share/tclhttpd%%PORTVERSION%%/notfound.html
+share/tclhttpd%%PORTVERSION%%/redirect
+share/tclhttpd%%PORTVERSION%%/register.tml
+share/tclhttpd%%PORTVERSION%%/test.tml
+share/tclhttpd%%PORTVERSION%%/access/README.txt
+share/tclhttpd%%PORTVERSION%%/access/auth/hello.txt
+share/tclhttpd%%PORTVERSION%%/access/auth/test.cgi
+share/tclhttpd%%PORTVERSION%%/access/auth/.htaccess
+share/tclhttpd%%PORTVERSION%%/access/bydir/README.txt
+share/tclhttpd%%PORTVERSION%%/access/bydir/user.cgi
+share/tclhttpd%%PORTVERSION%%/access/bydir/.htaccess
+share/tclhttpd%%PORTVERSION%%/access/bytcl/index.tml
+share/tclhttpd%%PORTVERSION%%/access/bytcl/.tclaccess
+share/tclhttpd%%PORTVERSION%%/access/noawe/.htaccess
+share/tclhttpd%%PORTVERSION%%/access/null/index.tml
+share/tclhttpd%%PORTVERSION%%/access/null/.tclaccess
+share/tclhttpd%%PORTVERSION%%/access/session/page.auth
+share/tclhttpd%%PORTVERSION%%/access/session/.tclaccess
+share/tclhttpd%%PORTVERSION%%/access/.htaccess
+share/tclhttpd%%PORTVERSION%%/book/TCLHTTPD-1.gif
+share/tclhttpd%%PORTVERSION%%/book/TCLHTTPD-2.gif
+share/tclhttpd%%PORTVERSION%%/book/TCLHTTPD.css
+share/tclhttpd%%PORTVERSION%%/book/TCLHTTPD.html
+share/tclhttpd%%PORTVERSION%%/cgi-bin/big.cgi
+share/tclhttpd%%PORTVERSION%%/cgi-bin/cgilib.tcl
+share/tclhttpd%%PORTVERSION%%/cgi-bin/cwd.cgi
+share/tclhttpd%%PORTVERSION%%/cgi-bin/debugee.cgi
+share/tclhttpd%%PORTVERSION%%/cgi-bin/env
+share/tclhttpd%%PORTVERSION%%/cgi-bin/env.cgi
+share/tclhttpd%%PORTVERSION%%/cgi-bin/err0.cgi
+share/tclhttpd%%PORTVERSION%%/cgi-bin/err1.cgi
+share/tclhttpd%%PORTVERSION%%/cgi-bin/err2.cgi
+share/tclhttpd%%PORTVERSION%%/cgi-bin/flip.cgi
+share/tclhttpd%%PORTVERSION%%/cgi-bin/hello.cgi
+share/tclhttpd%%PORTVERSION%%/cgi-bin/junk
+share/tclhttpd%%PORTVERSION%%/cgi-bin/junk.exe
+share/tclhttpd%%PORTVERSION%%/cgi-bin/prodebug.tcl
+share/tclhttpd%%PORTVERSION%%/cgi-bin/redirect.cgi
+share/tclhttpd%%PORTVERSION%%/cgi-bin/sleep.cgi
+share/tclhttpd%%PORTVERSION%%/cgi-bin/tclIndex
+share/tclhttpd%%PORTVERSION%%/cgi-bin/test.cgi
+share/tclhttpd%%PORTVERSION%%/cgi-bin/testupload.cgi
+share/tclhttpd%%PORTVERSION%%/cgi-bin/user.cgi
+share/tclhttpd%%PORTVERSION%%/forms/file.tml
+share/tclhttpd%%PORTVERSION%%/forms/form1.tml
+share/tclhttpd%%PORTVERSION%%/forms/headers.tml
+share/tclhttpd%%PORTVERSION%%/forms/headerspost.tml
+share/tclhttpd%%PORTVERSION%%/forms/index.tml
+share/tclhttpd%%PORTVERSION%%/forms/ncgiredirect.cgi
+share/tclhttpd%%PORTVERSION%%/forms/redirect.tml
+share/tclhttpd%%PORTVERSION%%/forms/redirect2.tml
+share/tclhttpd%%PORTVERSION%%/forms/multi.tml
+share/tclhttpd%%PORTVERSION%%/forms/posttest.tml
+share/tclhttpd%%PORTVERSION%%/forms/testupload.tml
+share/tclhttpd%%PORTVERSION%%/forms/.tml
+share/tclhttpd%%PORTVERSION%%/guestbook/guestbook.cgi
+share/tclhttpd%%PORTVERSION%%/guestbook/newguest.cgi
+share/tclhttpd%%PORTVERSION%%/guestbook/newguest.html
+share/tclhttpd%%PORTVERSION%%/images/Blue.gif
+share/tclhttpd%%PORTVERSION%%/images/Red.gif
+share/tclhttpd%%PORTVERSION%%/images/ScripticsLogo1.gif
+share/tclhttpd%%PORTVERSION%%/images/Space.gif
+share/tclhttpd%%PORTVERSION%%/images/TclPro200.gif
+share/tclhttpd%%PORTVERSION%%/images/lake.gif
+share/tclhttpd%%PORTVERSION%%/images/lake.map
+share/tclhttpd%%PORTVERSION%%/images/logo125.gif
+share/tclhttpd%%PORTVERSION%%/images/ppt1.gif
+share/tclhttpd%%PORTVERSION%%/images/ppt2.gif
+share/tclhttpd%%PORTVERSION%%/images/ppt3.gif
+share/tclhttpd%%PORTVERSION%%/images/ppt4.gif
+share/tclhttpd%%PORTVERSION%%/images/ppt5.gif
+share/tclhttpd%%PORTVERSION%%/images/pwrdLogo100.gif
+share/tclhttpd%%PORTVERSION%%/images/pwrdLogo150.gif
+share/tclhttpd%%PORTVERSION%%/images/pwrdLogo175.gif
+share/tclhttpd%%PORTVERSION%%/images/pwrdLogo200.gif
+share/tclhttpd%%PORTVERSION%%/images/pwrdLogo75.gif
+share/tclhttpd%%PORTVERSION%%/images/setup.gif
+share/tclhttpd%%PORTVERSION%%/images/tcl89.gif
+share/tclhttpd%%PORTVERSION%%/images/tclp.gif
+share/tclhttpd%%PORTVERSION%%/include/footer.html
+share/tclhttpd%%PORTVERSION%%/java/Auth.class
+share/tclhttpd%%PORTVERSION%%/java/Getpass.class
+share/tclhttpd%%PORTVERSION%%/java/Helper.class
+share/tclhttpd%%PORTVERSION%%/java/MD5.class
+share/tclhttpd%%PORTVERSION%%/java/README
+share/tclhttpd%%PORTVERSION%%/java/ServerDemo.class
+share/tclhttpd%%PORTVERSION%%/java/ServerDemo.html
+share/tclhttpd%%PORTVERSION%%/java/auth.js
+share/tclhttpd%%PORTVERSION%%/java/test.html
+share/tclhttpd%%PORTVERSION%%/libtml/Index
+share/tclhttpd%%PORTVERSION%%/libtml/faq.tcl
+share/tclhttpd%%PORTVERSION%%/libtml/htmlutils.tcl
+share/tclhttpd%%PORTVERSION%%/libtml/mypage.tcl
+share/tclhttpd%%PORTVERSION%%/libtml/pkgIndex.tcl
+share/tclhttpd%%PORTVERSION%%/libtml/ss_survey.tcl
+share/tclhttpd%%PORTVERSION%%/libtml/sunscript.tcl
+share/tclhttpd%%PORTVERSION%%/manual/htdig.html
+share/tclhttpd%%PORTVERSION%%/manual/reference.tml
+share/tclhttpd%%PORTVERSION%%/manual/stdin.html
+share/tclhttpd%%PORTVERSION%%/manual/technotes.tml
+share/tclhttpd%%PORTVERSION%%/map/bush.tml
+share/tclhttpd%%PORTVERSION%%/map/index.tml
+share/tclhttpd%%PORTVERSION%%/map/mapdefault.tml
+share/tclhttpd%%PORTVERSION%%/map/surfer.tml
+share/tclhttpd%%PORTVERSION%%/snmp/allport.snmp
+share/tclhttpd%%PORTVERSION%%/snmp/discover.snmp
+share/tclhttpd%%PORTVERSION%%/snmp/host.snmp
+share/tclhttpd%%PORTVERSION%%/snmp/index.html
+share/tclhttpd%%PORTVERSION%%/snmp/outdiscov.snmp
+share/tclhttpd%%PORTVERSION%%/snmp/portdetail.snmp
+share/tclhttpd%%PORTVERSION%%/snmp/repeat.snmp
+share/tclhttpd%%PORTVERSION%%/snmp/system.snmp
+share/tclhttpd%%PORTVERSION%%/snmp/telnet.snmp
+share/tclhttpd%%PORTVERSION%%/snmp/telnet_pass.snmp
+share/tclhttpd%%PORTVERSION%%/snmp/browser/README
+share/tclhttpd%%PORTVERSION%%/snmp/browser/browser.snmp
+share/tclhttpd%%PORTVERSION%%/snmp/browser/browser2.snmp
+share/tclhttpd%%PORTVERSION%%/snmp/browser/control.snmp
+share/tclhttpd%%PORTVERSION%%/snmp/browser/end.snmp
+share/tclhttpd%%PORTVERSION%%/snmp/browser/start.html
+share/tclhttpd%%PORTVERSION%%/snmp/browser/table.snmp
+share/tclhttpd%%PORTVERSION%%/snmp/browser/title.html
+share/tclhttpd%%PORTVERSION%%/snmp/browser/title.snmp
+share/tclhttpd%%PORTVERSION%%/snmp/browser/walk.snmp
+share/tclhttpd%%PORTVERSION%%/snmp/browser/walker.snmp
+share/tclhttpd%%PORTVERSION%%/snmp/test_mibTable/README
+share/tclhttpd%%PORTVERSION%%/snmp/test_mibTable/index.html
+share/tclhttpd%%PORTVERSION%%/snmp/test_mibTable/table1.snmp
+share/tclhttpd%%PORTVERSION%%/snmp/test_mibTable/table2.snmp
+share/tclhttpd%%PORTVERSION%%/snmp/test_mibTable/table3.snmp
+share/tclhttpd%%PORTVERSION%%/snmp/test_mibTable/table4.snmp
+share/tclhttpd%%PORTVERSION%%/snmp/test_mibTable/test2.snmp
+share/tclhttpd%%PORTVERSION%%/stats/doc.tml
+share/tclhttpd%%PORTVERSION%%/stats/index.tml
+share/tclhttpd%%PORTVERSION%%/stats/notfound.tml
+share/tclhttpd%%PORTVERSION%%/stats/.tml
+share/tclhttpd%%PORTVERSION%%/templates/form.tml
+share/tclhttpd%%PORTVERSION%%/templates/index.tml
+share/tclhttpd%%PORTVERSION%%/templates/simple.subst
+share/tclhttpd%%PORTVERSION%%/templates/.tml
+share/tclhttpd%%PORTVERSION%%/.tml
+@dirrm share/tclhttpd%%PORTVERSION%%/access/auth
+@dirrm share/tclhttpd%%PORTVERSION%%/access/bydir
+@dirrm share/tclhttpd%%PORTVERSION%%/access/bytcl
+@dirrm share/tclhttpd%%PORTVERSION%%/access/noawe
+@dirrm share/tclhttpd%%PORTVERSION%%/access/null
+@dirrm share/tclhttpd%%PORTVERSION%%/access/session
+@dirrm share/tclhttpd%%PORTVERSION%%/access
+@dirrm share/tclhttpd%%PORTVERSION%%/book
+@dirrm share/tclhttpd%%PORTVERSION%%/cgi-bin
+@dirrm share/tclhttpd%%PORTVERSION%%/forms
+@dirrm share/tclhttpd%%PORTVERSION%%/guestbook
+@dirrm share/tclhttpd%%PORTVERSION%%/images
+@dirrm share/tclhttpd%%PORTVERSION%%/include
+@dirrm share/tclhttpd%%PORTVERSION%%/java
+@dirrm share/tclhttpd%%PORTVERSION%%/libtml
+@dirrm share/tclhttpd%%PORTVERSION%%/manual
+@dirrm share/tclhttpd%%PORTVERSION%%/map
+@dirrm share/tclhttpd%%PORTVERSION%%/snmp/browser
+@dirrm share/tclhttpd%%PORTVERSION%%/snmp/test_mibTable
+@dirrm share/tclhttpd%%PORTVERSION%%/snmp
+@dirrm share/tclhttpd%%PORTVERSION%%/stats
+@dirrm share/tclhttpd%%PORTVERSION%%/templates
+@dirrm share/tclhttpd%%PORTVERSION%%
diff --git a/www/tclhttpd/scripts/post-patch b/www/tclhttpd/scripts/post-patch
new file mode 100644
index 000000000000..26de6121b1fd
--- /dev/null
+++ b/www/tclhttpd/scripts/post-patch
@@ -0,0 +1,18 @@
+if [ ${LOCALBASE} != /usr/local ] ; then
+	for f in `find ${WRKSRC} -type f | xargs grep -l /usr/local`
+	do
+		cp -p $f $f.ul && \
+			sed "s%/usr/local%${LOCALBASE}%g" < $f.ul > $f \
+			&& rm -f $f.ul
+	done
+fi
+for f in `find ${WRKSRC} -type f | \
+		xargs grep -l '^exec tclsh.* '`
+do
+	patch --quiet $f << EOP
+@@ -1,1 +1,2 @@
+-#!/bin/sh
++#!${LOCALBASE}/bin/tclsh${TCL_DVER}
++# The ``exec tclsh<whatever>'' below will simply be ignored.
+EOP
+done
diff --git a/www/tclhttpd/scripts/pre-build b/www/tclhttpd/scripts/pre-build
new file mode 100644
index 000000000000..3885e7a6000c
--- /dev/null
+++ b/www/tclhttpd/scripts/pre-build
@@ -0,0 +1,18 @@
+#!/bin/sh
+
+crypt_SRCS="crypt.c cryptLib.c"
+setuid_SRCS=setuid.c
+limit_SRCS=limit.c
+
+cd ${WRKSRC}/src
+
+for l in crypt setuid limit
+do
+	make INTERNALLIB=Y NOPROFILE=Y \
+		LIB=${l} SHLIB_MAJOR=1 SHLIB_MINOR=0 \
+		SRCS="`eval echo \\$${l}_SRCS`" -ECFLAGS \
+		CFLAGS="${CFLAGS} -I${PREFIX}/include/tcl${TCL_DVER} -DUSE_TCL_STUBS" \
+		LDADD="-L${PREFIX}/lib -ltclstub${TCL_VER} -lcrypt" \
+		-f bsd.lib.mk \
+	|| exit 1
+done
-- 
cgit v1.2.3