diff --git a/README.md b/README.md index dbf2c69..0b61a9c 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,5 @@ # umb-scheme +UMB Scheme is a public domain implementation of the Scheme programming language. +Scheme is a statically scoped and properly tail-recursive dialect of the Lisp programming language, designed with clear and simple semantics and a minimal number of ways to form expressions. + diff --git a/slibcat b/slibcat new file mode 100644 index 0000000..0a4aa63 --- /dev/null +++ b/slibcat @@ -0,0 +1,149 @@ +;"slibcat" SLIB catalog for umb-scheme3.2. -*-scheme-*- +; +; DO NOT EDIT THIS FILE -- it is automagically generated + +( + (schelog . "/usr/share/umb-scheme/slib/schelog/schelog") + (portable-scheme-debugger . "/usr/share/umb-scheme/slib/psd/psd-slib") + (jfilter . "/usr/share/umb-scheme/slib/jfilter/jfilter") + (r2rs aggregate rev3-procedures rev2-procedures) + (r3rs aggregate rev3-procedures) + (r4rs aggregate rev4-optional-procedures) + (r5rs aggregate values macro eval) + (null . "/usr/share/umb-scheme/slib/null") + (aggregate . "/usr/share/umb-scheme/slib/null") + (rev4-optional-procedures . "/usr/share/umb-scheme/slib/sc4opt") + (rev3-procedures . "/usr/share/umb-scheme/slib/null") + (rev2-procedures . "/usr/share/umb-scheme/slib/sc2") + (multiarg/and- . "/usr/share/umb-scheme/slib/mularg") + (multiarg-apply . "/usr/share/umb-scheme/slib/mulapply") + (rationalize . "/usr/share/umb-scheme/slib/ratize") + (transcript . "/usr/share/umb-scheme/slib/trnscrpt") + (with-file . "/usr/share/umb-scheme/slib/withfile") + (dynamic-wind . "/usr/share/umb-scheme/slib/dynwind") + (dynamic . "/usr/share/umb-scheme/slib/dynamic") + (fluid-let defmacro . "/usr/share/umb-scheme/slib/fluidlet") + (alist . "/usr/share/umb-scheme/slib/alist") + (hash . "/usr/share/umb-scheme/slib/hash") + (sierpinski . "/usr/share/umb-scheme/slib/sierpinski") + (soundex . "/usr/share/umb-scheme/slib/soundex") + (hash-table . "/usr/share/umb-scheme/slib/hashtab") + (logical . "/usr/share/umb-scheme/slib/logical") + (random . "/usr/share/umb-scheme/slib/random") + (random-inexact . "/usr/share/umb-scheme/slib/randinex") + (modular . "/usr/share/umb-scheme/slib/modular") + (factor . "/usr/share/umb-scheme/slib/factor") + (primes . factor) + (charplot . "/usr/share/umb-scheme/slib/charplot") + (sort . "/usr/share/umb-scheme/slib/sort") + (tsort . topological-sort) + (topological-sort . "/usr/share/umb-scheme/slib/tsort") + (common-list-functions . "/usr/share/umb-scheme/slib/comlist") + (tree . "/usr/share/umb-scheme/slib/tree") + (coerce . "/usr/share/umb-scheme/slib/coerce") + (format . "/usr/share/umb-scheme/slib/format") + (generic-write . "/usr/share/umb-scheme/slib/genwrite") + (pretty-print . "/usr/share/umb-scheme/slib/pp") + (pprint-file . "/usr/share/umb-scheme/slib/ppfile") + (object->string . "/usr/share/umb-scheme/slib/obj2str") + (string-case . "/usr/share/umb-scheme/slib/strcase") + (stdio . "/usr/share/umb-scheme/slib/stdio") + (printf . "/usr/share/umb-scheme/slib/printf") + (scanf . "/usr/share/umb-scheme/slib/scanf") + (line-i/o . "/usr/share/umb-scheme/slib/lineio") + (string-port . "/usr/share/umb-scheme/slib/strport") + (getopt . "/usr/share/umb-scheme/slib/getopt") + (debug . "/usr/share/umb-scheme/slib/debug") + (qp . "/usr/share/umb-scheme/slib/qp") + (break defmacro . "/usr/share/umb-scheme/slib/break") + (trace defmacro . "/usr/share/umb-scheme/slib/trace") + (eval . "/usr/share/umb-scheme/slib/eval") + (record . "/usr/share/umb-scheme/slib/record") + (promise . "/usr/share/umb-scheme/slib/promise") + (synchk . "/usr/share/umb-scheme/slib/synchk") + (defmacroexpand . "/usr/share/umb-scheme/slib/defmacex") + (macro-by-example defmacro . "/usr/share/umb-scheme/slib/mbe") + (syntax-case . "/usr/share/umb-scheme/slib/scainit") + (syntactic-closures . "/usr/share/umb-scheme/slib/scmacro") + (macros-that-work . "/usr/share/umb-scheme/slib/macwork") + (macro . macro-by-example) + (object . "/usr/share/umb-scheme/slib/object") + (yasos macro . "/usr/share/umb-scheme/slib/yasyn") + (oop . yasos) + (collect macro . "/usr/share/umb-scheme/slib/collect") + (structure syntax-case . "/usr/share/umb-scheme/slib/structure") + (values . "/usr/share/umb-scheme/slib/values") + (queue . "/usr/share/umb-scheme/slib/queue") + (priority-queue . "/usr/share/umb-scheme/slib/priorque") + (array . "/usr/share/umb-scheme/slib/array") + (subarray . "/usr/share/umb-scheme/slib/subarray") + (array-for-each . "/usr/share/umb-scheme/slib/arraymap") + (repl . "/usr/share/umb-scheme/slib/repl") + (process . "/usr/share/umb-scheme/slib/process") + (chapter-order . "/usr/share/umb-scheme/slib/chap") + (posix-time . "/usr/share/umb-scheme/slib/psxtime") + (common-lisp-time . "/usr/share/umb-scheme/slib/cltime") + (time-zone . "/usr/share/umb-scheme/slib/timezone") + (relational-database . "/usr/share/umb-scheme/slib/rdms") + (databases . "/usr/share/umb-scheme/slib/dbutil") + (database-utilities . databases) + (database-commands . "/usr/share/umb-scheme/slib/dbcom") + (database-browse . "/usr/share/umb-scheme/slib/dbrowse") + (within-database macro . "/usr/share/umb-scheme/slib/dbsyn") + (html-form . "/usr/share/umb-scheme/slib/htmlform") + (alist-table . "/usr/share/umb-scheme/slib/alistab") + (parameters . "/usr/share/umb-scheme/slib/paramlst") + (getopt-parameters . "/usr/share/umb-scheme/slib/getparam") + (read-command . "/usr/share/umb-scheme/slib/comparse") + (batch . "/usr/share/umb-scheme/slib/batch") + (glob . "/usr/share/umb-scheme/slib/glob") + (filename . glob) + (crc . "/usr/share/umb-scheme/slib/crc") + (fft . "/usr/share/umb-scheme/slib/fft") + (wt-tree . "/usr/share/umb-scheme/slib/wttree") + (string-search . "/usr/share/umb-scheme/slib/strsrch") + (root . "/usr/share/umb-scheme/slib/root") + (minimize . "/usr/share/umb-scheme/slib/minimize") + (precedence-parse . "/usr/share/umb-scheme/slib/prec") + (parse . precedence-parse) + (commutative-ring . "/usr/share/umb-scheme/slib/cring") + (self-set . "/usr/share/umb-scheme/slib/selfset") + (determinant . "/usr/share/umb-scheme/slib/determ") + (byte . "/usr/share/umb-scheme/slib/byte") + (tzfile . "/usr/share/umb-scheme/slib/tzfile") + (schmooz . "/usr/share/umb-scheme/slib/schmooz") + (transact . "/usr/share/umb-scheme/slib/transact") + (net-clients . transact) + (db->html . "/usr/share/umb-scheme/slib/db2html") + (http . "/usr/share/umb-scheme/slib/http-cgi") + (cgi . http) + (uri . "/usr/share/umb-scheme/slib/uri") + (uniform-resource-identifier . uri) + (pnm . "/usr/share/umb-scheme/slib/pnm") + (metric-units . "/usr/share/umb-scheme/slib/simetrix") + (diff . "/usr/share/umb-scheme/slib/differ") + (solid . "/usr/share/umb-scheme/slib/solid") + (vrml97 . solid) + (vrml . vrml97) + (color . "/usr/share/umb-scheme/slib/color") + (color-space . "/usr/share/umb-scheme/slib/colorspc") + (cie . color-space) + (color-names . "/usr/share/umb-scheme/slib/colornam") + (resene color-names . "/usr/share/umb-scheme/slib/clrnamdb.scm") + (saturate color-names . "/usr/share/umb-scheme/slib/clrnamdb.scm") + (daylight . "/usr/share/umb-scheme/slib/daylight") + (matfile . "/usr/share/umb-scheme/slib/matfile") + (mat-file . matfile) + (spectral-tristimulus-values . color-space) + (cie1964 spectral-tristimulus-values . "/usr/share/umb-scheme/slib/cie1964.xyz") + (cie1931 spectral-tristimulus-values . "/usr/share/umb-scheme/slib/cie1931.xyz") + (ciexyz . cie1931) + (cvs . "/usr/share/umb-scheme/slib/cvs") + (html-for-each . "/usr/share/umb-scheme/slib/html4each") + (directory . "/usr/share/umb-scheme/slib/dirs") + (srfi-0 . srfi) + (srfi defmacro . "/usr/share/umb-scheme/slib/srfi") + (srfi-1 . "/usr/share/umb-scheme/slib/srfi-1") + (new-catalog . "/usr/share/umb-scheme/slib/mklibcat") + (*SLIB-VERSION* . "2d5") +) diff --git a/umb-scheme-3.2-chapter.patch b/umb-scheme-3.2-chapter.patch new file mode 100644 index 0000000..150eb1e --- /dev/null +++ b/umb-scheme-3.2-chapter.patch @@ -0,0 +1,11 @@ +--- scheme-3.2/scheme.texinfo Tue Feb 8 19:01:55 2000 ++++ scheme-3.2/scheme.texinfo Tue Feb 8 19:02:36 2000 +@@ -64,7 +64,7 @@ + + @ifinfo + @node Top, Copying, Files, (DIR) +-@ichapter Introduction ++@chapter Introduction + + This manual documents how to install and use UMB Scheme as + well as its new features and incompatibilities, and how to report bugs. diff --git a/umb-scheme-3.2-config.patch b/umb-scheme-3.2-config.patch new file mode 100644 index 0000000..a87a279 --- /dev/null +++ b/umb-scheme-3.2-config.patch @@ -0,0 +1,42 @@ +--- scheme-3.2/SLIB-for-umb-scheme.init~ Sun Jan 21 17:15:47 1996 ++++ scheme-3.2/SLIB-for-umb-scheme.init Fri Dec 13 17:33:24 1996 +@@ -40,7 +40,7 @@ + + (define (implementation-vicinity) + (case (software-type) +- ((UNIX) "/usr/local/src/scheme/") ++ ((UNIX) "/usr/share/umb-scheme/") + ((VMS) "scheme$src:") + ((MS-DOS) "C:\\scheme\\"))) + +@@ -55,7 +55,7 @@ + ;; Use this path if your scheme does not support GETENV + ;; or if SCHEME_LIBRARY_PATH is not set. + (case (software-type) +- ((UNIX) "/usr/local/lib/slib/") ++ ((UNIX) "/usr/share/umb-scheme/slib/") + ((VMS) "lib$scheme:") + ((MS-DOS) "C:\\SLIB\\") + (else ""))))) +--- scheme-3.2/steering.c~ Sun Jan 21 17:15:53 1996 ++++ scheme-3.2/steering.c Fri Dec 13 17:38:45 1996 +@@ -62,7 +62,7 @@ + + #define TOP_LEVEL_PROMPT "\n==> " + +-#define STANDARD_PRELUDE_PATHNAME "/usr/local/lib/scheme/prelude.scheme" ++#define STANDARD_PRELUDE_PATHNAME "/usr/share/umb-scheme/prelude.scheme" + + Private String OPENING = + "Welcome to UMB Scheme, version Copyright (c) 1988,1996 William R Campbell.\n\ +--- scheme-3.2/prelude.scheme~ Sun Jan 21 17:15:51 1996 ++++ scheme-3.2/prelude.scheme Fri Dec 13 17:43:21 1996 +@@ -708,7 +708,7 @@ + ; + ; Comment this out if you don't want to use SLIB + +-(load "/usr/local/lib/scheme/SLIB-for-umb-scheme.init") ++(load "/usr/share/umb-scheme/SLIB-for-umb-scheme.init") + + ; MAINTENANCE PROCEDURES + diff --git a/umb-scheme-3.2-man.patch b/umb-scheme-3.2-man.patch new file mode 100644 index 0000000..d7d0778 --- /dev/null +++ b/umb-scheme-3.2-man.patch @@ -0,0 +1,14 @@ +--- scheme-3.2/scheme.1~ Sun Jan 21 17:15:52 1996 ++++ scheme-3.2/scheme.1 Fri Dec 13 17:37:04 1996 +@@ -345,9 +345,9 @@ + UMB Scheme does not support nested debugging sessions. (Keep it simple.) + .fi + .SH FILES +-/usr/local/lib/scheme/prelude.scheme ++/usr/share/ubm-scheme/prelude.scheme + .br +-/usr/local/lib/scheme/SLIB-for-umb-scheme.init ++/usr/share/umb-scheme/SLIB-for-umb-scheme.init + .br + /usr/local/lib/slib/* + diff --git a/umb-scheme-3.2-misc.patch b/umb-scheme-3.2-misc.patch new file mode 100644 index 0000000..191f31d --- /dev/null +++ b/umb-scheme-3.2-misc.patch @@ -0,0 +1,21 @@ +--- scheme-3.2/Makefile.marc Wed Aug 28 13:09:27 1996 ++++ scheme-3.2/Makefile Wed Aug 28 13:10:01 1996 +@@ -1,6 +1,6 @@ + # Makefile for the UMB Scheme interpreter. + CC = gcc +-CFLAGS = -g -O -pedantic -Wall ++CFLAGS = $(RPM_OPT_FLAGS) -pedantic -Wall + + #CC = cc + #CFLAGS = -O +--- scheme-3.2/portable.h.marc Wed Aug 28 13:09:31 1996 ++++ scheme-3.2/portable.h Wed Aug 28 13:09:47 1996 +@@ -94,7 +94,7 @@ + a float.h defns file then replace the definition of DBL_MIN with + an #include */ + +-#define DBL_MIN 10e-307 ++#include + + #ifdef sun + extern int fclose( /* FILE *stream */ ); diff --git a/umb-scheme-3.2-share.patch b/umb-scheme-3.2-share.patch new file mode 100644 index 0000000..eaf4827 --- /dev/null +++ b/umb-scheme-3.2-share.patch @@ -0,0 +1,20 @@ +--- scheme-3.2/slib/umbscheme.init Sun Jun 4 16:09:20 2000 ++++ scheme-3.2/slib/umbscheme.init Sun Jun 4 16:09:56 2000 +@@ -35,7 +35,7 @@ + + (define (implementation-vicinity) + (case (software-type) +- ((UNIX) "/usr/lib/umb-scheme/") ++ ((UNIX) "/usr/share/umb-scheme/") + ((VMS) "scheme$src:") + ((MS-DOS) "C:\\scheme\\"))) + +@@ -50,7 +50,7 @@ + ;; Use this path if your scheme does not support GETENV + ;; or if SCHEME_LIBRARY_PATH is not set. + (case (software-type) +- ((UNIX) "/usr/lib/umb-scheme/slib/") ++ ((UNIX) "/usr/share/umb-scheme/slib/") + ((VMS) "lib$scheme:") + ((MS-DOS) "C:\\SLIB\\") + (else ""))))) diff --git a/umb-scheme-3.2-slib2c7.patch b/umb-scheme-3.2-slib2c7.patch new file mode 100644 index 0000000..cae749b --- /dev/null +++ b/umb-scheme-3.2-slib2c7.patch @@ -0,0 +1,11 @@ +--- scheme-3.2/prelude.scheme Tue Feb 8 19:06:54 2000 ++++ scheme-3.2/prelude.scheme Tue Feb 8 19:10:38 2000 +@@ -708,7 +708,7 @@ + ; + ; Comment this out if you don't want to use SLIB + +-(load "/usr/share/umb-scheme/SLIB-for-umb-scheme.init") ++(load "/usr/share/umb-scheme/slib/umbscheme.init") + + ; MAINTENANCE PROCEDURES + diff --git a/umb-scheme-3.2-texinfo.patch b/umb-scheme-3.2-texinfo.patch new file mode 100644 index 0000000..52fa10c --- /dev/null +++ b/umb-scheme-3.2-texinfo.patch @@ -0,0 +1,22 @@ +--- scheme-3.2/scheme.texinfo 2006-03-27 14:50:07.000000000 +0200 ++++ scheme-3.2/scheme.texinfo 2006-03-27 15:01:09.000000000 +0200 +@@ -34,6 +34,10 @@ + + @setchapternewpage odd + ++@direntry ++* umb-scheme: (umb-scheme). UMB Scheme Interpreter. ++@end direntry ++ + @titlepage + @title @thistitle + @subtitle last updated Janaury 22, 1996 +@@ -63,7 +67,7 @@ + @page + + @ifinfo +-@node Top, Copying,, (DIR) ++@node Top, Copying, Files, (DIR) + @ichapter Introduction + + This manual documents how to install and use UMB Scheme as diff --git a/umb-scheme-3.2-vi.patch b/umb-scheme-3.2-vi.patch new file mode 100644 index 0000000..95fb663 --- /dev/null +++ b/umb-scheme-3.2-vi.patch @@ -0,0 +1,20 @@ +--- scheme-3.2/primitive.c.vi 1996-01-21 23:15:51.000000000 +0100 ++++ scheme-3.2/primitive.c 2002-11-29 15:51:02.000000000 +0100 +@@ -1741,7 +1741,7 @@ + String editor; + String command; + +- editor = (ed == NULL) ? "/usr/ucb/vi" : Copy_String( ed ); ++ editor = (ed == NULL) ? "/bin/vi" : Copy_String( ed ); + + command = (String) malloc(strlen(editor)+1 + + Get_String_Length(Top(1))+10); +@@ -1772,7 +1772,7 @@ + String editor; + String command; + +- editor = (ed == NULL) ? "/usr/ucb/vi" : Copy_String( ed ); ++ editor = (ed == NULL) ? "/bin/vi" : Copy_String( ed ); + + command = (String) malloc(strlen(editor)+1 + + Get_String_Length(Top(1))+1); diff --git a/umb-scheme.spec b/umb-scheme.spec new file mode 100644 index 0000000..a782184 --- /dev/null +++ b/umb-scheme.spec @@ -0,0 +1,109 @@ +Name: umb-scheme +Version: 3.2 +Release: 5mamba +Summary: An implementation of the Scheme programming language. +Group: Development/Applications +Vendor: openmamba +Distribution: openmamba +Packager: Silvan Calarco +URL: http://www.cs.umb.edu/~wrc/scheme/ +Source: http://www.cs.umb.edu/~wrc/scheme/umb-scheme-%{version}.tar.gz +#Source1: http://swissnet.ai.mit.edu/ftpdir/scm/slib2d5.zip +Source2: slibcat +Patch0: %{name}-3.2-misc.patch +Patch1: %{name}-3.2-texinfo.patch +Patch2: %{name}-3.2-config.patch +Patch3: %{name}-3.2-man.patch +Patch4: %{name}-3.2-chapter.patch +Patch5: %{name}-3.2-slib2c7.patch +Patch6: %{name}-3.2-share.patch +Patch7: %{name}-3.2-vi.patch +License: GPL +BuildRoot: %{_tmppath}/%{name}-%{version}-root +Requires(post):%{__install_info} +Requires: slib + +%description +UMB Scheme is a public domain implementation of the Scheme programming language. +Scheme is a statically scoped and properly tail-recursive dialect of the Lisp programming language, designed with clear and simple semantics and a minimal number of ways to form expressions. + +%prep +%setup -q -n scheme-3.2 +rm -fr slib +#unzip -q -o %{SOURCE1} +%patch0 -p1 +%patch1 -p1 +%patch2 -p1 +%patch3 -p1 +%patch4 -p1 +%patch5 -p1 +#%patch6 -p1 +%patch7 -p1 + +%build +%make +#makeinfo scheme.texinfo + +%install +[ "%{buildroot}" != "/" ] && rm -rf "%{buildroot}" +mkdir -p %{buildroot}%{_infodir} + +install -D -m755 scheme %{buildroot}%{_bindir}/%{name} +install -D -m755 scheme.1 %{buildroot}%{_mandir}/man1/%{name}.1 +install -D -m644 %{SOURCE2} %{buildroot}%{_datadir}/%{name}/slibcat + +find slib | cpio -pdm %{buildroot}%{_datadir}/%{name} +install -D -m644 prelude.scheme %{buildroot}%{_datadir}/%{name} + +#install -m644 scheme.info %{buildroot}%{_infodir}/%{name}.info +#gzip -9nf %{buildroot}%{_infodir}/%{name}.info + +chmod -x %{buildroot}%{_mandir}/*/* + +# add symlink to slib +ln -s ../slib %{buildroot}%{_datadir}/umb-scheme/slib + +%clean +[ "%{buildroot}" != "/" ] && rm -rf "%{buildroot}" + +%pre +[ -d %{_datadir}/%{name}/slib ] && rm -rf %{_datadir}/%{name}/slib +exit 0 + +#% post +#% install_info %{name}.info +#exit 0 + +#% preun +#% uninstall_info %{name}.info +#: + +%files +%defattr(-,root,root) +%attr(0755,root,root) %{_bindir}/%{name} +%attr(0755,root,root) %dir %{_datadir}/%{name} +%attr(0644,root,root) %{_datadir}/%{name}/prelude.scheme +%attr(0644,root,root) %{_datadir}/%{name}/slibcat +%attr(0644,root,root) %{_datadir}/%{name}/slib +#%attr(0755,root,root) %dir %{_datadir}/%{name}/slib +#%attr(0644,root,root) %{_datadir}/%{name}/slib/* +%{_mandir}/man1/%{name}.1* +#%{_infodir}/%{name}.* +#%doc slib/ANNOUNCE slib/FAQ slib/README + +%changelog +* Tue Oct 15 2013 Automatic Build System 3.2-5mamba +- automatic rebuild by autodist + +* Tue Nov 06 2007 Silvan Calarco 3.2-4mamba +- require external slib and remove from package + +* Mon Mar 27 2006 Stefano Cotta Ramusino 3.2-3qilnx +- specfile fixed and updated +- added info file patch + +* Mon Nov 15 2004 Alessandro Ramazzina 3.2-2qilnx +- rebuilt and moved from devel-contrib repository to devel repository + +* Sun Oct 24 2004 Matteo Bernasconi 3.2-1qilnx +- first build