diff --git a/Makefile b/Makefile index 851d2c5..7a1e668 100644 --- a/Makefile +++ b/Makefile @@ -27,6 +27,12 @@ s48-srcs := $(shell find s48 \ s48-docs := $(shell find s48 \ -mindepth 2 \ -name README) +s48-authors := $(shell find s48 \ + -maxdepth 2 -mindepth 2 \ + -name AUTHORS) +s48-blurbs := $(shell find s48 \ + -maxdepth 2 -mindepth 2 \ + -name BLURB) scsh-interfaces := $(shell find scsh \ -maxdepth 2 -mindepth 2 \ @@ -42,10 +48,16 @@ scsh-srcs := $(shell find scsh \ scsh-docs := $(shell find scsh \ -mindepth 2 \ -name README) +scsh-authors := $(shell find scsh \ + -maxdepth 2 -mindepth 2 \ + -name AUTHORS) +scsh-blurbs := $(shell find scsh \ + -maxdepth 2 -mindepth 2 \ + -name BLURB) s48-targets := s48-interfaces.scm s48-packages.scm scsh-targets := interfaces.scm packages.scm -targets := $(s48-targets) $(scsh-targets) +targets := $(s48-targets) $(scsh-targets) DETAILS .PHONY: all s48 scsh all : s48 scsh @@ -64,6 +76,9 @@ interfaces.scm : $(s48-interfaces) $(scsh-interfaces) build/header.scm packages.scm : $(s48-packages) $(scsh-packages) build/header.scm build/xpackages.scm packages.scm build/header.scm $(s48-packages) $(scsh-packages) +DETAILS : $(s48-authors) $(s48-blurbs) $(scsh-authors) $(scsh-blurbs) + build/details.scm + .PHONY : install uninstall install : s48 scsh $(INSTALL) -d $(pkglibdir) diff --git a/README.contrib b/README.contrib index b6de270..6e6bf99 100644 --- a/README.contrib +++ b/README.contrib @@ -2,13 +2,21 @@ GUIDLINES FOR CONTRIBUTORS ADDING A NEW LIBRARY +0. This library only accepts code with the modified bsd license in the +file COPYING. Add your name to the file COPYING. + 1. Create a new subdirectory of s48 or scsh for your library. Only touch files in your library's tree. 2. Your library's tree should have at least these files: + AUTHORS -- a list of your library's authors. + BLURB -- a one or two line description of your library. It should + start with the name of your library's directory followed by a colon. + README -- a text file documenting your library. interfaces.scm -- the interfaces defined by your library. packages.scm -- the packages defined by your library. - README -- a text file documenting your library. + +Our administration and the build systems depends on these files. 3. Currently, the install script only installs ".scm" source files and README documentation files. diff --git a/build/details.scm b/build/details.scm new file mode 100755 index 0000000..ea498c6 --- /dev/null +++ b/build/details.scm @@ -0,0 +1,57 @@ +#! /bin/sh +exec scsh -o filenames -s "$0" "$@" +!# + +;;; details.scm +;;; +;;; This file is part of the Scheme Untergrund Library. + +;;; Copyright (c) 2003 by Anthony Carrico +;;; For copyright information, see the file COPYING which comes with +;;; the distribution. + +(define s48-dirs + (run/strings (find s48 + -maxdepth 1 + -mindepth 1 + -type d + ! -name CVS + ! -name rt-modules))) + +(define scsh-dirs + (run/strings (find scsh + -maxdepth 1 + -mindepth 1 + -type d + ! -name CVS))) + +(define entry + (lambda (dir) + (with-current-input-port + (open-input-file (string-append dir "/BLURB")) + (let loop () + (let ((ch (read-char))) + (if (eof-object? ch) + (values) + (begin + (write-char ch) + (loop)))))) + (display "Authors: ") + (with-current-input-port + (open-input-file (string-append dir "/AUTHORS")) + (let loop () + (let ((ch (read-char))) + (if (eof-object? ch) + (values) + (begin + (write-char ch) + (loop)))))) + (newline))) + +;; Create the details file from the AUTHORS and BLURB files. +(with-current-output-port + (open-output-file "DETAILS") + (display "S48 LIBRARIES\n\n") + (for-each entry s48-dirs) + (display "SCSH LIBRARIES\n\n") + (for-each entry scsh-dirs)) diff --git a/s48/args-fold/AUTHORS b/s48/args-fold/AUTHORS new file mode 100644 index 0000000..aaa0f16 --- /dev/null +++ b/s48/args-fold/AUTHORS @@ -0,0 +1 @@ +Anthony Carrico diff --git a/s48/args-fold/BLURB b/s48/args-fold/BLURB new file mode 100644 index 0000000..192f15c --- /dev/null +++ b/s48/args-fold/BLURB @@ -0,0 +1 @@ +args-fold: a program option processor (SRFI-37). diff --git a/s48/concurrency/AUTHORS b/s48/concurrency/AUTHORS new file mode 100644 index 0000000..2df1b32 --- /dev/null +++ b/s48/concurrency/AUTHORS @@ -0,0 +1 @@ +Martin Gasbichler diff --git a/s48/concurrency/BLURB b/s48/concurrency/BLURB new file mode 100644 index 0000000..a0a2576 --- /dev/null +++ b/s48/concurrency/BLURB @@ -0,0 +1 @@ +concurrency: semaphores, with-lock. diff --git a/s48/continuation-data-type/AUTHORS b/s48/continuation-data-type/AUTHORS new file mode 100644 index 0000000..c51381e --- /dev/null +++ b/s48/continuation-data-type/AUTHORS @@ -0,0 +1 @@ +Martin Gasbichler, (credit to Marc Feeley) diff --git a/s48/continuation-data-type/BLURB b/s48/continuation-data-type/BLURB new file mode 100644 index 0000000..157fd56 --- /dev/null +++ b/s48/continuation-data-type/BLURB @@ -0,0 +1,2 @@ +continuation-data-type: encapsulates continuations into a +data type. diff --git a/s48/krims/AUTHORS b/s48/krims/AUTHORS new file mode 100644 index 0000000..32d2642 --- /dev/null +++ b/s48/krims/AUTHORS @@ -0,0 +1 @@ +Rolf-Thomas Happe diff --git a/s48/krims/BLURB b/s48/krims/BLURB new file mode 100644 index 0000000..953ea76 --- /dev/null +++ b/s48/krims/BLURB @@ -0,0 +1,2 @@ +krims: SRFI-1+. SRFI-9+. Odds and ends (assert, receive/name, +gen-dispatch). diff --git a/s48/module-system/AUTHORS b/s48/module-system/AUTHORS new file mode 100644 index 0000000..2df1b32 --- /dev/null +++ b/s48/module-system/AUTHORS @@ -0,0 +1 @@ +Martin Gasbichler diff --git a/s48/module-system/BLURB b/s48/module-system/BLURB new file mode 100644 index 0000000..4c2a44a --- /dev/null +++ b/s48/module-system/BLURB @@ -0,0 +1,2 @@ +module-system: Module system extensions. Run-time access to +the Scheme48 module system. diff --git a/s48/sequences/AUTHORS b/s48/sequences/AUTHORS new file mode 100644 index 0000000..32d2642 --- /dev/null +++ b/s48/sequences/AUTHORS @@ -0,0 +1 @@ +Rolf-Thomas Happe diff --git a/s48/sequences/BLURB b/s48/sequences/BLURB new file mode 100644 index 0000000..65587c2 --- /dev/null +++ b/s48/sequences/BLURB @@ -0,0 +1 @@ +sequences: General and abstract sequences. Vectors. diff --git a/scsh/afs/AUTHORS b/scsh/afs/AUTHORS new file mode 100644 index 0000000..2df1b32 --- /dev/null +++ b/scsh/afs/AUTHORS @@ -0,0 +1 @@ +Martin Gasbichler diff --git a/scsh/afs/BLURB b/scsh/afs/BLURB new file mode 100644 index 0000000..e4c713f --- /dev/null +++ b/scsh/afs/BLURB @@ -0,0 +1 @@ +afs: Obtain and manipulate access control lists in AFS. diff --git a/scsh/bytio/AUTHORS b/scsh/bytio/AUTHORS new file mode 100644 index 0000000..32d2642 --- /dev/null +++ b/scsh/bytio/AUTHORS @@ -0,0 +1 @@ +Rolf-Thomas Happe diff --git a/scsh/bytio/BLURB b/scsh/bytio/BLURB new file mode 100644 index 0000000..46ca68e --- /dev/null +++ b/scsh/bytio/BLURB @@ -0,0 +1 @@ +bytio: Byte I/O. diff --git a/scsh/dir-streams/AUTHORS b/scsh/dir-streams/AUTHORS new file mode 100644 index 0000000..db253c8 --- /dev/null +++ b/scsh/dir-streams/AUTHORS @@ -0,0 +1 @@ +Martin Gasbichler, Eric Knauel diff --git a/scsh/dir-streams/BLURB b/scsh/dir-streams/BLURB new file mode 100644 index 0000000..720227e --- /dev/null +++ b/scsh/dir-streams/BLURB @@ -0,0 +1,2 @@ +dir-streams: Represent and process directories as streams of files and +sub-directories. diff --git a/scsh/image-info/AUTHORS b/scsh/image-info/AUTHORS new file mode 100644 index 0000000..95a3c22 --- /dev/null +++ b/scsh/image-info/AUTHORS @@ -0,0 +1 @@ +Rolf-Thomas Happe, (credit to Marco Schmidt) diff --git a/scsh/image-info/BLURB b/scsh/image-info/BLURB new file mode 100644 index 0000000..7e65a75 --- /dev/null +++ b/scsh/image-info/BLURB @@ -0,0 +1 @@ +image-info: Extract vital stats from images (graphics, that is). diff --git a/scsh/interaction/AUTHORS b/scsh/interaction/AUTHORS new file mode 100644 index 0000000..2df1b32 --- /dev/null +++ b/scsh/interaction/AUTHORS @@ -0,0 +1 @@ +Martin Gasbichler diff --git a/scsh/interaction/BLURB b/scsh/interaction/BLURB new file mode 100644 index 0000000..c731004 --- /dev/null +++ b/scsh/interaction/BLURB @@ -0,0 +1 @@ +interaction: Read-eval-print-loop fun. diff --git a/scsh/pps/AUTHORS b/scsh/pps/AUTHORS new file mode 100644 index 0000000..2df1b32 --- /dev/null +++ b/scsh/pps/AUTHORS @@ -0,0 +1 @@ +Martin Gasbichler diff --git a/scsh/pps/BLURB b/scsh/pps/BLURB new file mode 100644 index 0000000..a9693d8 --- /dev/null +++ b/scsh/pps/BLURB @@ -0,0 +1 @@ +pps: a portable version of the ps (process status) command.