[elephant-devel] Clbuild

Ian Eslick eslick at media.mit.edu
Mon May 12 12:42:41 UTC 2008


#+sbcl :sb-posix  is the way to go.

I hadn't realized that SBCL didn't include that by default like the  
rest of the lisps.  Easy fix!

Robert, any indication as to the source of your clsql errors?   
Removing the explicit load is good and looks easy.  I'll let you check  
these fixes in.

Also, I was thinking that we should keep the cl-sql database around  
for the sqlite3 store.  Most system have it, it's easy to use, and can  
get people going without the install overhead of BDB and/or postmodern/ 
clsql+postgres or mysql.  When we have a reasonable all-lisp backend  
then we can revisit the decision to support it.



On May 11, 2008, at 9:43 PM, Bryan Emrys wrote:

> I'm not a master of anything, but pragmas seem to be the approach  
> used in hunchentoot (see below).
>
> (asdf:defsystem :hunchentoot
>  :serial t
>  :version #.*hunchentoot-version*
>  :depends-on (:chunga
>               :cl-base64
>               :cl-fad
>               :cl-ppcre
>               #-(or :lispworks :hunchentoot-no-ssl) :cl+ssl
>               :md5
>               :rfc2388
>               #+:sbcl :sb-bsd-sockets
>               #+:sbcl :sb-posix
>               :url-rewrite)
>  :components ((:file "packages")
>               (:file "conditions")
>               #+:allegro (:file "port-acl")
>               #+:clisp (:file "port-clisp")
>               #+:cmu (:file "port-cmu")
>               #+:lispworks (:file "port-lw")
>               #+:openmcl (:file "port-mcl")
>               #+:sbcl (:file "port-sbcl")
>               (:file "specials")
>               (:file "mime-types")
>               (:file "util")
>               (:file "log")
>               (:file "cookie")
>               (:file "reply")
>               (:file "request")
>               (:file "session")
>               (:file "misc")
>               (:file "easy-handlers")
>               (:file "headers")
>               #+(and :allegro :unix) (:file "unix-acl")
>               #+(and :clisp :unix) (:file "unix-clisp")
>               #+(and :cmu :unix) (:file "unix-cmu")
>               #+(and :lispworks :unix) (:file "unix-lw")
>               #+(and :openmcl :unix) (:file "unix-mcl")
>               #+(and :sbcl :unix (not :win32)) (:file "unix-sbcl")
>               (:file "server")))
>
>
> Bryan
>
> On Sunday 11 May 2008 05:12:16 pm Robert L. Read wrote:
>> On Sun, 2008-05-11 at 14:22 -0700, Bryan Emrys wrote:
>>> At one point the clbuild maintainers looked at elephant but had  
>>> some problems that prevented inclusion.
>>>
>>> Specifically:
>>>
>>> #  - needs sb-posix, but doesn't declare that dependency, meaning  
>>> that
>>> #    it doesn't build even with a config file
>>> #  - ele-clsql loads clsql from the .asd file, not using :depends- 
>>> on,
>>> #    which is completely unacceptable
>>> #    (we blacklist ele-clsql in clbuild.lisp because of that)
>>>
>>> Did anyone ever respond?
>>
>> Dear Bryan,
>> 	Thanks for calling this to our attention.  I doubt anyone ever
>> responded to our being blacklisted, as I have no recollection of it.
>>
>> 	I have removed the explicit load, and my tests are red but I doubt  
>> that
>> was the problem.
>>
>> 	I am not a master of ASDF --- can someone (Bryan?) tell me how we  
>> can
>> integrate the fact that we depend on sb-posix into the ASDF
>> (:depeonds-on ) expressions without dependence on SBCL?  Can we  
>> just use
>> a compiler pragma like:
>>
>>  :depends-on (:uffi
>> #+sbcl  :sb-posix
>> :cl-base64))
>>
>>
>>
>> in our asdf files?  If so we will have to do something similar for
>> each supported system (see os.lisp):
>>
>>
>> (defmacro in-directory ((dir) &body body)
>>  `(progn
>>     (#+sbcl sb-posix:chdir
>>      #+cmu unix:unix-chdir
>>      #+allegro excl:chdir
>>      #+lispworks hcl:change-directory
>>      #+openmcl ccl:cwd
>>      ,dir)
>>     , at body))
>>
>> Finally, our documentation build system, make-ref.lisp, seems to be  
>> more
>> deeply SBCL dependent than anything in Elephant;  but that doesn't  
>> hurt
>> much, as we normally build and publish the documentation with each
>> release anyway.  I wonder if we could just make the documentation  
>> build
>> a separate package, in order to satisfy the clbuild requirements?
>>
>>
>>> _______________________________________________
>>> elephant-devel site list
>>> elephant-devel at common-lisp.net
>>> http://common-lisp.net/mailman/listinfo/elephant-devel
>>
>> _______________________________________________
>> elephant-devel site list
>> elephant-devel at common-lisp.net
>> http://common-lisp.net/mailman/listinfo/elephant-devel
>>
> _______________________________________________
> elephant-devel site list
> elephant-devel at common-lisp.net
> http://common-lisp.net/mailman/listinfo/elephant-devel




More information about the elephant-devel mailing list