Does asdf-install have the concepts of virtual packages? What I mean is can you have a 'package' that is simply a list of other packages including version numbers? If if does then we can create a standard-library-1.0 package which is just a list of libraries that should be installed to create the standard library toolset version 1.0.
Sorry for replying to myself but I looked into asdf-install tutorial on Edi's site and it says this:
In order to be ASDF-installable a library has to contain a system definition for ASDF. It also has to be packaged in a certain way: It is assumed to come as a gzipped tar archive (usually ending in.tar.gzor.tgz) which unpacks into one directory possibly containing sub-directories. The system definition has to have a name corresponding to the name of the library (so if your library is called "foobar" the system definition is supposed to befoobar.asd) and has to reside in the top-level directory.
So based on that I think I could create a shell of a package and asdf-install will download and install my dependencies. Then I can just 'use' the standard-library package in my program and have access to all of those libraries.
Example standard-library.asd (the packages I'm depending on here are just examples...):
;; -*- lisp -*-
(defpackage standard-library-system
(:use :common-lisp :asdf))
(in-package standard-library-system)
(defsystem standard-library
:description "Standard Lisp Library"
:long-description "Standard Lisp Library"
:version "0.1"
:author ""
:maintainer ""
:licence "Public Domain"
:depends-on (#:cl-ppcre
#:split-sequence
#:pxmlutils
#:puri
#:trivial-http)
:components
((:doc-file "README")
(:file "packages")))
(defpackage standard-library-system
(:use :common-lisp :asdf))
(in-package standard-library-system)
(defsystem standard-library
:description "Standard Lisp Library"
:long-description "Standard Lisp Library"
:version "0.1"
:author ""
:maintainer ""
:licence "Public Domain"
:depends-on (#:cl-ppcre
#:split-sequence
#:pxmlutils
#:puri
#:trivial-http)
:components
((:doc-file "README")
(:file "packages")))
Example packages.lisp:
;;; -*- lisp -*-
(in-package #:common-lisp-user)
(defpackage #:standard-library
(:use #:common-lisp
#:sb-ext
#:sb-impl
#:sb-thread
#:cl-ppcre
#:split-sequence
#:net.html.parser
#:puri
#:trivial-http)
(:documentation "Standard Lisp Library"))
(in-package #:common-lisp-user)
(defpackage #:standard-library
(:use #:common-lisp
#:sb-ext
#:sb-impl
#:sb-thread
#:cl-ppcre
#:split-sequence
#:net.html.parser
#:puri
#:trivial-http)
(:documentation "Standard Lisp Library"))
Now if I write code that uses this standard-library package I should have access to all of these libraries right? Or do I need to do something else? Like an export statement in the defpackage maybe??
--
greg 'lisp newbie'
_______________________________________________ Gardeners mailing list [email protected] http://www.lispniks.com/mailman/listinfo/gardeners
