From aa584a2ac3c71364bfecd4c758e9014d268c8bb9 Mon Sep 17 00:00:00 2001 From: Stelian Ionescu Date: Wed, 2 Jan 2008 18:08:47 +0100 Subject: [PATCH] Add package IOLIB as conduit of IO.MULTIPLEX, IO.STREAMS AND NET.SOCKETS Signed-off-by: Stelian Ionescu --- iolib.asd | 10 +++++----- iolib.asd => iolib/pkgdcl.lisp | 34 +++++++++++++++++----------------- 2 files changed, 22 insertions(+), 22 deletions(-) copy iolib.asd => iolib/pkgdcl.lisp (50%) diff --git a/iolib.asd b/iolib.asd index a21dc61..f2048f7 100644 --- a/iolib.asd +++ b/iolib.asd @@ -2,7 +2,7 @@ ;;; ;;; iolib.asd --- ASDF system definition. ;;; -;;; Copyright (C) 2006-2007, Stelian Ionescu +;;; Copyright (C) 2006-2008, Stelian Ionescu ;;; ;;; This code is free software; you can redistribute it and/or ;;; modify it under the terms of the version 2.1 of @@ -27,10 +27,10 @@ :maintainer "Stelian Ionescu " :version "0.5.4" :licence "LLGPL-2.1" - :depends-on (:net.sockets - ;; comment out until it's brought back up to date - ;; :net.dns-client - )) + :depends-on (:io.multiplex :io.streams :net.sockets) + :pathname (merge-pathnames (make-pathname :directory '(:relative "iolib")) + *load-truename*) + :components ((:file "pkgdcl"))) (defmethod perform ((o test-op) (c (eql (find-system :iolib)))) (operate 'test-op :iolib-tests)) diff --git a/iolib.asd b/iolib/pkgdcl.lisp similarity index 50% copy from iolib.asd copy to iolib/pkgdcl.lisp index a21dc61..2b1dea6 100644 --- a/iolib.asd +++ b/iolib/pkgdcl.lisp @@ -1,8 +1,8 @@ -;;;; -*- Mode: Lisp; indent-tabs-mode: nil -*- +;;;; -*- Mode: Lisp; Syntax: ANSI-Common-Lisp; Indent-tabs-mode: NIL -*- ;;; -;;; iolib.asd --- ASDF system definition. +;;; pkgdcl.lisp --- Package definition. ;;; -;;; Copyright (C) 2006-2007, Stelian Ionescu +;;; Copyright (C) 2008, Stelian Ionescu ;;; ;;; This code is free software; you can redistribute it and/or ;;; modify it under the terms of the version 2.1 of @@ -21,19 +21,19 @@ ;;; Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, ;;; Boston, MA 02110-1301, USA -(defsystem :iolib - :description "I/O library." - :author "Stelian Ionescu " - :maintainer "Stelian Ionescu " - :version "0.5.4" - :licence "LLGPL-2.1" - :depends-on (:net.sockets - ;; comment out until it's brought back up to date - ;; :net.dns-client - )) +(in-package :common-lisp-user) -(defmethod perform ((o test-op) (c (eql (find-system :iolib)))) - (operate 'test-op :iolib-tests)) +(macrolet + ((defconduit (name &body clauses) + (assert (= 1 (length clauses))) + (assert (eq (caar clauses) :use)) + (flet ((get-symbols (packages) + (loop :for sym :being :the :external-symbols :of packages + :collect sym :into symbols + :finally (return (remove-duplicates symbols :test #'eq))))) + `(defpackage ,name + (:use #:common-lisp ,@(cdar clauses)) + (:export ,@(get-symbols (cdar clauses))))))) -(defmethod operation-done-p ((o test-op) (c (eql (find-system :iolib)))) - nil) + (defconduit :iolib + (:use :io.multiplex :io.streams :net.sockets))) -- 2.11.4.GIT