diff options
author | Masafumi Max NAKANE <max@FreeBSD.org> | 1997-01-03 00:37:20 +0000 |
---|---|---|
committer | Masafumi Max NAKANE <max@FreeBSD.org> | 1997-01-03 00:37:20 +0000 |
commit | 6a68b60f92eeffd18741444d2f66a6493229529f (patch) | |
tree | 6e0f3e66e904a53856b54d94c65c0f99f33d04bf /lang/scsh/pkg-descr | |
parent | 3e08c0b0e2d79f27ff0932d93f7ae52ba6e70f8b (diff) | |
download | ports-6a68b60f92eeffd18741444d2f66a6493229529f.tar.gz ports-6a68b60f92eeffd18741444d2f66a6493229529f.zip |
Notes
Diffstat (limited to 'lang/scsh/pkg-descr')
-rw-r--r-- | lang/scsh/pkg-descr | 84 |
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> |