Towards an initial release.
This commit is contained in:
parent
349d20e923
commit
54e9e1cee4
2
AUTHORS
2
AUTHORS
|
@ -1 +1,3 @@
|
||||||
Christoph de Mattia
|
Christoph de Mattia
|
||||||
|
Eric Knauel
|
||||||
|
Martin Gasbichler
|
||||||
|
|
|
@ -0,0 +1,28 @@
|
||||||
|
Copyright (c) 2004 Christoph de Mattia
|
||||||
|
Copyright (c) 2004-2005 Eric Knauel
|
||||||
|
Copyright (c) 2004-2005 Martin Gasbichler
|
||||||
|
|
||||||
|
All rights reserved.
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms, with or without
|
||||||
|
modification, are permitted provided that the following conditions
|
||||||
|
are met:
|
||||||
|
1. Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
2. Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
3. The name of the authors may not be used to endorse or promote products
|
||||||
|
derived from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS OR
|
||||||
|
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||||
|
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
||||||
|
IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||||
|
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
||||||
|
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||||
|
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||||
|
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||||||
|
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
|
@ -0,0 +1,43 @@
|
||||||
|
These are generic installation instructions for scsh packages.
|
||||||
|
|
||||||
|
Prerequisites
|
||||||
|
=============
|
||||||
|
|
||||||
|
The scsh installation library is required to install this package.
|
||||||
|
This library *must* be present on your system before the current
|
||||||
|
package can be installed. It can be obtained from the following Web
|
||||||
|
page:
|
||||||
|
|
||||||
|
http://lamp.epfl.ch/~schinz/scsh_packages/
|
||||||
|
|
||||||
|
The installation library comes with its own documentation which
|
||||||
|
explains in detail how to install and use scsh packages. It is
|
||||||
|
recommended that you read it before installing your first scsh
|
||||||
|
package. What follows is a very brief summary of this documentation,
|
||||||
|
intended to get you started quickly.
|
||||||
|
|
||||||
|
|
||||||
|
Installation
|
||||||
|
============
|
||||||
|
|
||||||
|
Installation of a scsh package is performed by launching the
|
||||||
|
"scsh-install-pkg" script, which is part of the scsh installation
|
||||||
|
library. This script must be launched from within the directory which
|
||||||
|
resulted from the expansion of the current package's archive, i.e. the
|
||||||
|
one containing the file you are reading now.
|
||||||
|
|
||||||
|
A list of all the arguments accepted by the "scsh-install-pkg" script
|
||||||
|
can be obtained by launching it with the "--help" option. One of these
|
||||||
|
arguments, "--prefix", is mandatory and specifies the location where
|
||||||
|
installation should be performed. Ideally, you should use the same
|
||||||
|
prefix to install all scsh packages, as this makes them easier to
|
||||||
|
manage and use.
|
||||||
|
|
||||||
|
For example, to install the current package in
|
||||||
|
"/usr/local/share/scsh-modules", you should type the following:
|
||||||
|
|
||||||
|
scsh-install-pkg --prefix=/usr/local/share/scsh-modules
|
||||||
|
|
||||||
|
Provided that no errors are encountered during installation, a
|
||||||
|
message will be printed at the end explaining how to use the newly
|
||||||
|
installed package.
|
|
@ -1,8 +1,8 @@
|
||||||
SUBDIRS = c
|
SUBDIRS = c
|
||||||
|
|
||||||
EXTRA_DIST = c/ncurses.c \
|
EXTRA_DIST = \
|
||||||
scheme/ncurses-interfaces.scm \
|
scheme/ncurses-packages.scm \
|
||||||
scheme/scsh-package.scm \
|
|
||||||
scheme/ncurses.scm \
|
scheme/ncurses.scm \
|
||||||
scheme/ncurses-constants.scm \
|
scheme/ncurses-constants.scm \
|
||||||
|
scheme/input-buffer.scm \
|
||||||
pkg-def.scm
|
pkg-def.scm
|
||||||
|
|
|
@ -0,0 +1,4 @@
|
||||||
|
* Version 1.0 (released 2005-10-31)
|
||||||
|
|
||||||
|
First public release.
|
||||||
|
|
|
@ -0,0 +1,51 @@
|
||||||
|
scsh-ncurses 1.0 README -*-outline -*-
|
||||||
|
|
||||||
|
|
||||||
|
scsh ncurses bindings
|
||||||
|
=====================
|
||||||
|
|
||||||
|
|
||||||
|
This library adds bindings for the ncurses library to scsh, the Scheme
|
||||||
|
shell.
|
||||||
|
|
||||||
|
* Installation
|
||||||
|
==============
|
||||||
|
|
||||||
|
scsh-ncurses conforms to the packaging proposal for
|
||||||
|
scsh by Michel Schinz. Please see:
|
||||||
|
|
||||||
|
<http://lamp.epfl.ch/~schinz/scsh_packages/>
|
||||||
|
|
||||||
|
In short, this means that you can install scsh-ncurses by unpacking
|
||||||
|
the scsh-ncurses tarball and issuing the following command in the
|
||||||
|
created directory:
|
||||||
|
|
||||||
|
scsh-install-pkg --prefix /path/to/your/package/root
|
||||||
|
|
||||||
|
See the file INSTALL for the generic installation instructions for
|
||||||
|
scsh packages.
|
||||||
|
|
||||||
|
* Documentation
|
||||||
|
===============
|
||||||
|
|
||||||
|
There is currently no documentation specific to scsh-ncurses. However,
|
||||||
|
this library maps most of the C functions directly to Scheme
|
||||||
|
procedures, hence the man pages for ncurses are sufficient in most
|
||||||
|
cases.
|
||||||
|
|
||||||
|
|
||||||
|
* Loading the code
|
||||||
|
==================
|
||||||
|
|
||||||
|
Start scsh like this:
|
||||||
|
|
||||||
|
scsh -lel scsh-ncurses/load.scm
|
||||||
|
|
||||||
|
|
||||||
|
* Support
|
||||||
|
=========
|
||||||
|
|
||||||
|
Please direct questions, comments, answers about scsh-ncurses to the regular
|
||||||
|
scsh mailing list at
|
||||||
|
|
||||||
|
scsh-users@scsh.net
|
|
@ -1,4 +1,4 @@
|
||||||
AC_INIT(scsh-ncurses, 0.1)
|
AC_INIT(scsh-ncurses, 1.0)
|
||||||
AM_INIT_AUTOMAKE
|
AM_INIT_AUTOMAKE
|
||||||
|
|
||||||
AC_CONFIG_SRCDIR(configure.in)
|
AC_CONFIG_SRCDIR(configure.in)
|
||||||
|
|
40
pkg-def.scm
40
pkg-def.scm
|
@ -1,5 +1,5 @@
|
||||||
(define-package "scsh-ncurses" (0 2)
|
(define-package "scsh-ncurses" (1 0)
|
||||||
((install-lib-version (1 0)))
|
((install-lib-version (1 1 2)))
|
||||||
|
|
||||||
(display "configuring, compiling and installing c-stubs")
|
(display "configuring, compiling and installing c-stubs")
|
||||||
(newline)
|
(newline)
|
||||||
|
@ -31,25 +31,51 @@
|
||||||
(let ((schemedir (get-directory 'scheme #f))
|
(let ((schemedir (get-directory 'scheme #f))
|
||||||
(libdir (get-directory 'lib #f)))
|
(libdir (get-directory 'lib #f)))
|
||||||
(write-to-load-script
|
(write-to-load-script
|
||||||
`((user)
|
`((new-package)
|
||||||
|
(structure 'load-scsh-ncurses '(export))
|
||||||
|
(open 'scheme-with-scsh)
|
||||||
|
(open 'srfi-13)
|
||||||
(load-package 'dynamic-externals)
|
(load-package 'dynamic-externals)
|
||||||
(open 'dynamic-externals)
|
(open 'dynamic-externals)
|
||||||
(open 'external-calls)
|
(open 'external-calls)
|
||||||
(open 'configure)
|
(open 'configure)
|
||||||
(open 'signals)
|
(open 'signals)
|
||||||
,@(map (lambda (x) `(run ',x)) tmpl-libtool-la-reader)
|
(open 'define-record-types)
|
||||||
(run '(let* ((lib-dir (string-append ,libdir "/" (host)))
|
(open 'records)
|
||||||
|
(open 'i/o)
|
||||||
|
(run '(define (scsh-ncurses-init)
|
||||||
|
,@tmpl-libtool-la-reader
|
||||||
|
|
||||||
|
(let* ((lib-dir (string-append ,libdir "/" (host)))
|
||||||
(la-file-name (string-append lib-dir "/libscshncurses.la"))
|
(la-file-name (string-append lib-dir "/libscshncurses.la"))
|
||||||
(initializer-name "s48_init_ncurses"))
|
(initializer-name "s48_init_ncurses"))
|
||||||
(let ((la-alist (read-libtool-la la-file-name)))
|
(let ((la-alist (read-libtool-la la-file-name)))
|
||||||
|
|
||||||
(cond
|
(cond
|
||||||
((assoc 'dlname la-alist)
|
((assoc 'dlname la-alist)
|
||||||
=> (lambda (p)
|
=> (lambda (p)
|
||||||
(let ((module-file (string-append lib-dir "/" (cdr p))))
|
(let ((module-file (string-append lib-dir "/" (cdr p))))
|
||||||
(dynamic-load module-file)
|
(dynamic-load module-file)
|
||||||
|
(lookup-all-externals) ;;; important when resuming images
|
||||||
(call-external (get-external initializer-name)))))
|
(call-external (get-external initializer-name)))))
|
||||||
(else
|
(else
|
||||||
(error "Could not figure out libscshncurses' name" la-file-name))))))
|
(error "Could not figure out libscshncurses' name" )))))))
|
||||||
|
|
||||||
|
(run '(scsh-ncurses-init))
|
||||||
|
|
||||||
|
;; TODO: This is also in sunterlib/heap-images/reinitializer.scm
|
||||||
|
(run '(define-record-type reinitializer :reinitializer
|
||||||
|
(make-reinitializer thunk)
|
||||||
|
reinitializer?
|
||||||
|
(thunk reinitializer-thunk)))
|
||||||
|
|
||||||
|
(run '(define-record-resumer :reinitializer
|
||||||
|
(lambda (r)
|
||||||
|
((reinitializer-thunk r)))))
|
||||||
|
|
||||||
|
(run '(define scsh-ncurses-reinitializer
|
||||||
|
(make-reinitializer scsh-ncurses-init)))
|
||||||
|
|
||||||
(config)
|
(config)
|
||||||
(load ,(string-append schemedir "/ncurses-packages.scm"))
|
(load ,(string-append schemedir "/ncurses-packages.scm"))
|
||||||
(user))))
|
(user))))
|
||||||
|
@ -58,5 +84,5 @@
|
||||||
(newline)
|
(newline)
|
||||||
|
|
||||||
(install-directory-contents "scheme" 'scheme)
|
(install-directory-contents "scheme" 'scheme)
|
||||||
; (install-file '("COPYING" . "LICENSE") 'doc)
|
(install-file '("COPYING" . "LICENSE") 'doc)
|
||||||
)
|
)
|
||||||
|
|
Loading…
Reference in New Issue