summaryrefslogtreecommitdiff
path: root/devel/tcl-neo
diff options
context:
space:
mode:
authorMikhail Teterin <mi@FreeBSD.org>2001-08-17 05:07:16 +0000
committerMikhail Teterin <mi@FreeBSD.org>2001-08-17 05:07:16 +0000
commit8335f34f0ffa3ba5c4455248c6b140c3fe2ba6b9 (patch)
treec83660d72e43cdc723e4aff14b8e1f3cc2df1a45 /devel/tcl-neo
parentAdd patch to fix SSL-related problems in KDE 2.2. (diff)
The first part of the NeoWebScript port I'm working on (hard).
The beast comes as part of one GIANT tarball including the entire NeoWebScript as well as outdated Apache, gd, Tcl, itcl, TclX, db-2 (no kidding!), etc. This part is a set of general purpose commands and procedures, which can be used (and appreciated) by regular TCL scripting -- not just web-oriented inside NWS. This port is built without the available LDAP support -- our openldap2 port used db3, but the db-support in NeoTcl only works with db2. If some db-expert can send me a patch for the neoXdb.c, the humanity will remember him/her forev^H^H a while.
Notes
Notes: svn path=/head/; revision=46349
Diffstat (limited to 'devel/tcl-neo')
-rw-r--r--devel/tcl-neo/Makefile44
-rw-r--r--devel/tcl-neo/distinfo1
-rw-r--r--devel/tcl-neo/files/Makefile.bsd27
-rw-r--r--devel/tcl-neo/files/patch-config4
-rw-r--r--devel/tcl-neo/files/patch-cute7
-rw-r--r--devel/tcl-neo/files/patch-db10
-rw-r--r--devel/tcl-neo/files/patch-md527
-rw-r--r--devel/tcl-neo/pkg-comment1
-rw-r--r--devel/tcl-neo/pkg-descr.bak22
-rw-r--r--devel/tcl-neo/pkg-plist68
10 files changed, 211 insertions, 0 deletions
diff --git a/devel/tcl-neo/Makefile b/devel/tcl-neo/Makefile
new file mode 100644
index 000000000000..ce780cdb7dc0
--- /dev/null
+++ b/devel/tcl-neo/Makefile
@@ -0,0 +1,44 @@
+# New ports collection makefile for: NeoTcl
+# Date created: Auf 17, 2001
+# Whom: Mikhail Teterin <mi@aldan.algebra.com>
+#
+# $FreeBSD$
+#
+
+PORTNAME= neotcl
+PORTVERSION= 8.2.2
+CATEGORIES= devel tcl83
+MASTER_SITES= ${MASTER_SITE_SOURCEFORGE}
+DISTNAME= neowebscript-3.3
+
+MAINTAINER= mi@aldan.algebra.com
+
+LIB_DEPENDS= tclx82:${PORTSDIR}/lang/tclX82 \
+ db2:${PORTSDIR}/databases/db
+
+# Not yet -- openldap used db3, neo used db2 :(
+# ldap.2:${PORTSDIR}/net/openldap2
+
+SUBDIR= neowebscript-3.3/neotcl8.3.0-lite/neo${PORTVERSION}
+WRKSRC= ${WRKDIR}/${SUBDIR}/generic
+
+EXTRACT_AFTER_ARGS?= | ${TAR} -xf - ${SUBDIR}/generic ${SUBDIR}/neolibs
+
+MAKEFILE= ${FILESDIR}/Makefile.bsd
+MAKE_ENV+= NEO_LIBRARY=${NEO_LIBRARY}
+
+DDIR= ${PREFIX}/lib/tcl${TCLV}/Trf
+
+post-build:
+ cd ${WRKSRC}/../neolibs && ${ECHO} 'auto_mkindex . */*.tcl' | tclsh8.3
+
+NEO_LIBRARY= ${PREFIX}/lib/neo8.2
+
+post-install:
+ ${MKDIR} ${NEO_LIBRARY}
+ ${CP} -Rp ${WRKSRC}/../neolibs/[a-z]* ${NEO_LIBRARY}
+ ${SED} -e 's,@NEO_SHARED_LIB_FILE@,libneo82.so,' \
+ -e 's,@NEO_VERSION@,8.2,' < ${WRKSRC}/pkgIndex.tcl.in > \
+ ${NEO_LIBRARY}/pkgIndex.tcl
+
+.include <bsd.port.mk>
diff --git a/devel/tcl-neo/distinfo b/devel/tcl-neo/distinfo
new file mode 100644
index 000000000000..0e4e47a43bdb
--- /dev/null
+++ b/devel/tcl-neo/distinfo
@@ -0,0 +1 @@
+MD5 (neowebscript-3.3.tar.gz) = 82c440c9997589b2422596be385b91ed
diff --git a/devel/tcl-neo/files/Makefile.bsd b/devel/tcl-neo/files/Makefile.bsd
new file mode 100644
index 000000000000..5eadcd046d7c
--- /dev/null
+++ b/devel/tcl-neo/files/Makefile.bsd
@@ -0,0 +1,27 @@
+PREFIX?= /usr/local
+
+NEO_LIBRARY?= ${PREFIX}/lib/neo8.2
+CFLAGS+= -I${PREFIX}/include/tcl8.3 -I${PREFIX}/include
+CFLAGS+= -DNEO_LIBRARY=\"${NEO_LIBRARY}\"
+CFLAGS+= -DHAVE_TERMIOS_H -DHAVE_STDLIB_H -DHAVE_SYS_TIME_H -DHAVE_UNISTD_H
+CFLAGS+= -DNEO_DB # -DDB_185_COMPAT -- seems broken :-(
+CFLAGS+= -DNEOSOFT_TCL_ENCRYPTION -DCUTE
+# OpenLDAP requires db3, while the NEO_DB stuff works only with db2.
+# Disable NEO_LDAP until the NEW_DB is upgraded
+# CFLAGS+= -DNEO_LDAP
+
+SRCS= neoXcrypt.c neoPkgInit.c neoXwww.c neoXgeneral.c \
+ neoXcute.c neoXcomma.c neoXkdebug.c neoCbuf.c \
+ neoXlist.c neoXdb.c # neoXldap.c
+
+LIB= neo82
+SHLIB_MAJOR= 1
+SHLIB_MINOR= 0
+INTERNALLIB= Yes, don't need the static version
+NOPROFILE= YES, don't need the profiled version
+
+LDADD+= -lcrypt -L${PREFIX}/lib -ltcl83 -lm -lmd -ldb2 # -ldap -llber
+
+SHLIBDIR= ${PREFIX}/lib
+
+.include <bsd.lib.mk>
diff --git a/devel/tcl-neo/files/patch-config b/devel/tcl-neo/files/patch-config
new file mode 100644
index 000000000000..2f38094fa129
--- /dev/null
+++ b/devel/tcl-neo/files/patch-config
@@ -0,0 +1,4 @@
+--- neo.h Thu Apr 20 09:16:00 2000
++++ neo.h Thu Aug 16 20:53:17 2001
+@@ -21 +20,0 @@
+-#include "neoXconfig.h"
diff --git a/devel/tcl-neo/files/patch-cute b/devel/tcl-neo/files/patch-cute
new file mode 100644
index 000000000000..94378d9dfb37
--- /dev/null
+++ b/devel/tcl-neo/files/patch-cute
@@ -0,0 +1,7 @@
+--- neoXcute.c Thu Apr 20 09:16:00 2000
++++ neoXcute.c Fri Aug 17 00:23:11 2001
+@@ -98,3 +98,3 @@
+ fflush (stderr);
+- panic ();
++ abort ();
+ }
diff --git a/devel/tcl-neo/files/patch-db b/devel/tcl-neo/files/patch-db
new file mode 100644
index 000000000000..60211d97b8e6
--- /dev/null
+++ b/devel/tcl-neo/files/patch-db
@@ -0,0 +1,10 @@
+--- neoXdb.c Thu Apr 20 09:16:00 2000
++++ neoXdb.c Thu Aug 16 21:03:06 2001
+@@ -31,5 +31,5 @@
+ #ifdef DB_185_COMPAT
+-#include <db_185.h>
++#include <db2/db_185.h>
+ #else
+-#include <db.h>
++#include <db2/db.h>
+ #endif
diff --git a/devel/tcl-neo/files/patch-md5 b/devel/tcl-neo/files/patch-md5
new file mode 100644
index 000000000000..439ae5d48267
--- /dev/null
+++ b/devel/tcl-neo/files/patch-md5
@@ -0,0 +1,27 @@
+Everybody and their cat try to ship their own implementation of md5
+functions. Force FreeBSD's -lmd here. Also, when creating the resulting
+string-object, use our advanced knowledge, that all md5 digests are 32
+characters long.
+--- neoXgeneral.c Thu Apr 20 09:16:01 2000
++++ neoXgeneral.c Thu Aug 16 20:46:02 2001
+@@ -10,1 +10,2 @@
+-#include "util_md5.h"
++#include <sys/types.h>
++#include <md5.h>
+@@ -94,11 +95,13 @@
+ {
+ char *digest;
++ int length;
+
+ if (objc != 2) {
+- Tcl_SetResult(interp, "usage: md5 string", TCL_STATIC);
++ Tcl_WrongNumArgs(interp, 1, objv, "<string>");
+ return TCL_ERROR;
+ }
+- digest = md5(Tcl_GetStringFromObj(objv[1], (int*)NULL));
+- Tcl_SetObjResult(interp, Tcl_NewStringObj(digest, -1));
++ digest = Tcl_GetStringFromObj(objv[1], &length);
++ digest = MD5Data(digest, length, NULL);
++ Tcl_SetObjResult(interp, Tcl_NewStringObj(digest, 32));
+ return TCL_OK;
+ }
diff --git a/devel/tcl-neo/pkg-comment b/devel/tcl-neo/pkg-comment
new file mode 100644
index 000000000000..c0967a0e2942
--- /dev/null
+++ b/devel/tcl-neo/pkg-comment
@@ -0,0 +1 @@
+The NeoTCL part of NeoWebScript -- an Apache TCL mod
diff --git a/devel/tcl-neo/pkg-descr.bak b/devel/tcl-neo/pkg-descr.bak
new file mode 100644
index 000000000000..bed66bf594b6
--- /dev/null
+++ b/devel/tcl-neo/pkg-descr.bak
@@ -0,0 +1,22 @@
+Part of the NewWebScript an Apache module that allows webpage
+developers to embed Tcl code into their HTML, creating webpages
+with active content.
+
+This part is a general purpose part of NWS adding many convinience
+commands and procedures, including operating with serial devices,
+Berkeley DB2, and some client/server databases (Oracle, Postgres --
+if you have those installed).
+
+SYNOPSIS: package require Neo
+
+Unfortunately, the authors only distribute a GIANT source tarball
+including the entire Apache, db-2, TCL, itcl, gd, TclX, etc. This
+port will download the whole beast, but will only extract the neotcl
+part of it.
+
+The port is built without the LDAP support. Our port of OpenLDAP2
+uses DB3, and linking both DB2 and DB3 into the same executable is
+too ugly. Some day, Neo will be updated to use DB3, and we will all
+rejoice.
+
+WWW: http://sourceforge.net/projects/nws/
diff --git a/devel/tcl-neo/pkg-plist b/devel/tcl-neo/pkg-plist
new file mode 100644
index 000000000000..ae5f496b458c
--- /dev/null
+++ b/devel/tcl-neo/pkg-plist
@@ -0,0 +1,68 @@
+lib/libneo82.so.1.0
+lib/libneo82.so
+lib/neo8.2/pkgIndex.tcl
+lib/neo8.2/tclIndex
+lib/neo8.2/debugger/README.DEBUG
+lib/neo8.2/debugger/ndebug.tcl
+lib/neo8.2/irc/Makefile
+lib/neo8.2/irc/README
+lib/neo8.2/irc/ircbot.tcl
+lib/neo8.2/neo_tklib/Makefile
+lib/neo8.2/neo_tklib/README
+lib/neo8.2/neo_tklib/boxwindow.tcl
+lib/neo8.2/neo_tklib/filereq.tcl
+lib/neo8.2/neo_tklib/fonts.tcl
+lib/neo8.2/neo_tklib/kfilereq.tcl
+lib/neo8.2/neo_tklib/listbox-class.tcl
+lib/neo8.2/neo_tklib/menus.tcl
+lib/neo8.2/neo_tklib/modal.tcl
+lib/neo8.2/neo_tklib/modal2.tcl
+lib/neo8.2/neo_tklib/neocanvas.tcl
+lib/neo8.2/neo_tklib/neoinit.tcl
+lib/neo8.2/neo_tklib/neologo.tcl
+lib/neo8.2/neo_tklib/neowindow.tcl
+lib/neo8.2/neo_tklib/notepad.tcl
+lib/neo8.2/neo_tklib/textclass.tcl
+lib/neo8.2/neo_tklib/thermometer.tcl
+lib/neo8.2/neo_tklib/tkpassword.tcl
+lib/neo8.2/neodb/Makefile
+lib/neo8.2/neodb/README
+lib/neo8.2/neodb/tsv-class.tcl
+lib/neo8.2/neolib/Makefile
+lib/neo8.2/neolib/README
+lib/neo8.2/neolib/arrayutil.tcl
+lib/neo8.2/neolib/catchers.tcl
+lib/neo8.2/neolib/eventloop.tcl
+lib/neo8.2/neolib/getargs.tcl
+lib/neo8.2/neolib/libmanager.tcl
+lib/neo8.2/neolib/misc.tcl
+lib/neo8.2/neolib/prompts.tcl
+lib/neo8.2/neolib/rfc822.tcl
+lib/neo8.2/neolib/rfc931.tcl
+lib/neo8.2/neolib/spawn.tcl
+lib/neo8.2/neolib/stanza.tcl
+lib/neo8.2/neolib/timedate.tcl
+lib/neo8.2/neolib/xkeylget.tcl
+lib/neo8.2/oracle/Makefile
+lib/neo8.2/oracle/basic.tcl
+lib/neo8.2/postgres95/Makefile
+lib/neo8.2/postgres95/basic.tcl
+lib/neo8.2/rcmp/Makefile
+lib/neo8.2/rcmp/README
+lib/neo8.2/rcmp/neo-shared-object.tcl
+lib/neo8.2/rcmp/neodpClient.tcl
+lib/neo8.2/rcmp/neodpServer.tcl
+lib/neo8.2/rcmp/rcmpc.tcl
+lib/neo8.2/www/Makefile
+lib/neo8.2/www/http-helpers.tcl
+lib/neo8.2/www/iwebforms.tcl
+@dirrm lib/neo8.2/debugger
+@dirrm lib/neo8.2/irc
+@dirrm lib/neo8.2/neo_tklib
+@dirrm lib/neo8.2/neodb
+@dirrm lib/neo8.2/neolib
+@dirrm lib/neo8.2/oracle
+@dirrm lib/neo8.2/postgres95
+@dirrm lib/neo8.2/rcmp
+@dirrm lib/neo8.2/www
+@dirrm lib/neo8.2