From 2839ccddbcc479c3a14ccef7336630b54fa5220a Mon Sep 17 00:00:00 2001 From: erana Date: Fri, 20 Jan 2012 22:21:02 +0900 Subject: [PATCH] xanadu directory - refactor 2 --- scsh/xanadu/load.scm | 36 ++++++++++++++++++++++++++++++++++++ scsh/xanadu/packages.scm | 9 +++++++++ scsh/xanadu/pkg-def.scm | 14 ++++++++++++++ scsh/xanadu/scganadu.scm | 6 ------ 4 files changed, 59 insertions(+), 6 deletions(-) create mode 100644 scsh/xanadu/load.scm create mode 100644 scsh/xanadu/packages.scm create mode 100644 scsh/xanadu/pkg-def.scm diff --git a/scsh/xanadu/load.scm b/scsh/xanadu/load.scm new file mode 100644 index 0000000..7ff1fbe --- /dev/null +++ b/scsh/xanadu/load.scm @@ -0,0 +1,36 @@ +;;; scganadu.scm - a Xanadu file system (until desktop publishing) +;;; +;;; Copyright (c) 2011-2012 Johan Ceuppens +;;; +;;; 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. + +(load "scganadu.scm") + +;; interface + +(define X (make-scganadu)) +(define (scganadu-add-file X filename) ((X 'add-file) filename)) +(define (scganadu-attach-to-file! X filename) ((X 'attach-to-file! filename))) + diff --git a/scsh/xanadu/packages.scm b/scsh/xanadu/packages.scm new file mode 100644 index 0000000..f34cefa --- /dev/null +++ b/scsh/xanadu/packages.scm @@ -0,0 +1,9 @@ +(define-interface scgame-interface + (export + make-scganadu)) + +(define-structure scgame + scgame-interface + (open scheme) + (files load scganadu scganaduutil)) + diff --git a/scsh/xanadu/pkg-def.scm b/scsh/xanadu/pkg-def.scm new file mode 100644 index 0000000..69f99f8 --- /dev/null +++ b/scsh/xanadu/pkg-def.scm @@ -0,0 +1,14 @@ +(define-package "xanadu" + (0 1) + ((install-lib-version (1 3 0))) + (write-to-load-script + `((config) + (load ,(absolute-file-name "packages.scm" + (get-directory 'scheme #f))))) + (install-file "README" 'doc) + (install-file "NEWS" 'doc) + (install-string (COPYING) "COPYING" 'doc) + (install-file "packages.scm" 'scheme) + (install-file "config.scm" 'scheme) + (install-file "scganadauutil.scm" 'scheme) + (install-file "scganadu.scm" 'scheme)) diff --git a/scsh/xanadu/scganadu.scm b/scsh/xanadu/scganadu.scm index e18f15a..42c0fb3 100644 --- a/scsh/xanadu/scganadu.scm +++ b/scsh/xanadu/scganadu.scm @@ -74,9 +74,3 @@ dispatch)) -;; interface - -(define scganadu (make-scganadu)) -;; FIXME (define X (make-scganadu1)) -(define (scganadu-add-file X filename) ((X 'add-file) filename)) -(define (scganadu-attach-to-file! X filename) ((X 'attach-to-file! filename)))