aboutsummaryrefslogtreecommitdiff
path: root/lang/scsh/pkg-descr
diff options
context:
space:
mode:
authorMasafumi Max NAKANE <max@FreeBSD.org>1997-01-03 00:37:20 +0000
committerMasafumi Max NAKANE <max@FreeBSD.org>1997-01-03 00:37:20 +0000
commit6a68b60f92eeffd18741444d2f66a6493229529f (patch)
tree6e0f3e66e904a53856b54d94c65c0f99f33d04bf /lang/scsh/pkg-descr
parent3e08c0b0e2d79f27ff0932d93f7ae52ba6e70f8b (diff)
downloadports-6a68b60f92eeffd18741444d2f66a6493229529f.tar.gz
ports-6a68b60f92eeffd18741444d2f66a6493229529f.zip
Notes
Diffstat (limited to 'lang/scsh/pkg-descr')
-rw-r--r--lang/scsh/pkg-descr84
1 files changed, 84 insertions, 0 deletions
diff --git a/lang/scsh/pkg-descr b/lang/scsh/pkg-descr
new file mode 100644
index 000000000000..225f095e4334
--- /dev/null
+++ b/lang/scsh/pkg-descr
@@ -0,0 +1,84 @@
+Scsh is a Unix shell in that is has significant syntax entensions to
+make writing Unix shell scripts easy (constructing pipelines, setting
+I/O redirection, conditional execution etc.). It also offers access to
+lower-level functionality like all Posix system calls, TCP/IP sockets
+and a full-featured regular expression library. All this is embedded
+into a general-purpose programming language with proper handling of
+quoting, real data types and extensive, syntactically clean control
+constructs.
+
+Scsh is also a full implementation of R4RS Scheme with some
+non-standard behaviour (required for scripting) that shouldn't be a
+problem in practice. As a result, a wide varity of exsting Scheme code
+can be used.
+
+Offered functionality:
+- Scheme special forms to work with Unix commands and command chains
+- the ability to be used to write self-identifying scripts with
+ '#!/usr/local/bin/scsh' as the first line.
+- all Posix system calls including signals, tty and time handling
+- regular expressions, uses the same C library as *BSD, returns a
+ proper structure describing the matches and/or matched substrings.
+- delimited strings, awk-like record/field processing
+- several socket layers
+- A foreign function interface to use other C code, including a tool
+ (cig) to automate integration process.
+- elisp code to run it as a subprocess under emacs
+- On the Scheme side: a module system, basic thread support, optional
+ static linker (compiles images to C, then into an executable).
+
+The underlying Scheme implementation is a virtual machine for compact
+byte code.
+
+Installed Items:
+----------------
+
+Main program name(s): "scsh"
+Manpage(s): scsh(1)
+Info files: <none>
+Other documentation: lib/scsh/doc/ (also linked to share/doc/scsh)
+Learning entry point: lib/scsh/doc/scsh-paper.ps or
+ http://www-swiss.ai.mit.edu/scsh/
+
+General Notes:
+--------------
+
+Changing ${PREFIX} to something other than /usr/local works
+flawlessly, as far as scsh itself is concerned (that means: it will
+run and find everythings it needs). You will have to change the
+initial "#!/usr/local/bin/scsh" line when running shell scripts, of
+course. An additional problem is the location of optional packages
+like slib, these are still expected to be in /usr/local. I looked
+into the sources and all the hardcoded /usr/local I found are in files
+that are installed sourcecode form when scsh is installed
+(i.e. slib-init.scm).
+
+To load slib, install slib into /usr/local/lib/slib and run
+(load "slib-init.scm")
+in scsh. It requires no additional setup (paths or such).
+
+The emacs interface is in the original distribution in emacs/. For
+documentation see doc/user-quide.txt.
+
+Differences between FreeBSD port and generic scsh release:
+----------------------------------------------------------
+
+1) When hitting C-d (end-of-file), scsh asks 100 times for
+confirmation. I changed the default to do this just once. See constant
+*y-or-n-eof-count* in scsh/rw.scm to change it.
+
+2) The original scsh sends a mail to the scsh authors everytime you
+make the package. The FreeBSD port doesn't. The authors of scsh would
+appreciate it if you do a `(cd work/scsh-0.4.4 && make .notify)` after
+you build this package.
+
+3) A symbolic link ${PREFIX}/share/doc/scsh to the documentation is
+created.
+
+4) Some basic description text files from the distribution base dir
+are copied to lib/doc. The emacs directory is copied into
+lib/scsh/emacs. scsh's default is not to install these files.
+
+5) Some /usr/tmp -> /var/tmp
+
+FreeBSD port provided by Martin Cracauer <cracauer@cons.org>