Automatically generate file DETAILS containing library details.
This commit is contained in:
parent
bcb960f956
commit
5682f5283f
17
Makefile
17
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)
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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))
|
|
@ -0,0 +1 @@
|
|||
Anthony Carrico
|
|
@ -0,0 +1 @@
|
|||
args-fold: a program option processor (SRFI-37).
|
|
@ -0,0 +1 @@
|
|||
Martin Gasbichler
|
|
@ -0,0 +1 @@
|
|||
concurrency: semaphores, with-lock.
|
|
@ -0,0 +1 @@
|
|||
Martin Gasbichler, (credit to Marc Feeley)
|
|
@ -0,0 +1,2 @@
|
|||
continuation-data-type: encapsulates continuations into a
|
||||
data type.
|
|
@ -0,0 +1 @@
|
|||
Rolf-Thomas Happe
|
|
@ -0,0 +1,2 @@
|
|||
krims: SRFI-1+. SRFI-9+. Odds and ends (assert, receive/name,
|
||||
gen-dispatch).
|
|
@ -0,0 +1 @@
|
|||
Martin Gasbichler
|
|
@ -0,0 +1,2 @@
|
|||
module-system: Module system extensions. Run-time access to
|
||||
the Scheme48 module system.
|
|
@ -0,0 +1 @@
|
|||
Rolf-Thomas Happe
|
|
@ -0,0 +1 @@
|
|||
sequences: General and abstract sequences. Vectors.
|
|
@ -0,0 +1 @@
|
|||
Martin Gasbichler
|
|
@ -0,0 +1 @@
|
|||
afs: Obtain and manipulate access control lists in AFS.
|
|
@ -0,0 +1 @@
|
|||
Rolf-Thomas Happe
|
|
@ -0,0 +1 @@
|
|||
bytio: Byte I/O.
|
|
@ -0,0 +1 @@
|
|||
Martin Gasbichler, Eric Knauel
|
|
@ -0,0 +1,2 @@
|
|||
dir-streams: Represent and process directories as streams of files and
|
||||
sub-directories.
|
|
@ -0,0 +1 @@
|
|||
Rolf-Thomas Happe, (credit to Marco Schmidt)
|
|
@ -0,0 +1 @@
|
|||
image-info: Extract vital stats from images (graphics, that is).
|
|
@ -0,0 +1 @@
|
|||
Martin Gasbichler
|
|
@ -0,0 +1 @@
|
|||
interaction: Read-eval-print-loop fun.
|
|
@ -0,0 +1 @@
|
|||
Martin Gasbichler
|
|
@ -0,0 +1 @@
|
|||
pps: a portable version of the ps (process status) command.
|
Loading…
Reference in New Issue