From: Tamas Papp
Subject: sbcl's asdf-install doesn't seem to respect asdf:*central-registry*
Date: 
Message-ID: <87abut92yc.fsf@pu100877.student.princeton.edu>
Hi,

I have want asdf to install files in ~/.asdf-install-dir/systems/, so
I have

(require :asdf)
(pushnew "/home/tpapp/.asdf-install-dir/systems/" asdf:*central-registry* :test #'equal)

in my ~/.sbclrc, which gives

CL> asdf:*central-registry*
("/home/tpapp/.asdf-install-dir/systems/"
 (MERGE-PATHNAMES ".clc/systems/" (USER-HOMEDIR-PATHNAME))
 (MERGE-PATHNAMES ".sbcl/systems/" (USER-HOMEDIR-PATHNAME))
 (LET ((ASDF::HOME (SB-EXT:POSIX-GETENV "SBCL_HOME")))
   (WHEN ASDF::HOME (MERGE-PATHNAMES "site-systems/" (TRUENAME ASDF::HOME))))
 *DEFAULT-PATHNAME-DEFAULTS* #P"/usr/share/common-lisp/systems/")

But when I try to install,

CL> (asdf-install:install 'bordeaux-threads)
Install where?
1) System-wide install: 
   System in /usr/lib/sbcl/site-systems/
   Files in /usr/lib/sbcl/site/ 
2) Personal installation: 
   System in /home/tpapp/.sbcl/systems/
   Files in /home/tpapp/.sbcl/site/ 
 --> 

Why isn't it ~/.asdf-install-dir/systems/ for the second choice?  It
worked fine for CMUCL.  SBCL's version is 1.0.5.0-2 (deb package).

Thanks,

Tamas

From: Juho Snellman
Subject: Re: sbcl's asdf-install doesn't seem to respect asdf:*central-registry*
Date: 
Message-ID: <slrnf7koch.8fb.jsnell@sbz-30.cs.Helsinki.FI>
Tamas Papp <······@gmail.com> wrote:
> Why isn't it ~/.asdf-install-dir/systems/ for the second choice?  It
> worked fine for CMUCL.  SBCL's version is 1.0.5.0-2 (deb package).

The asdf-install that's included with sbcl does not use
*central-registry* for anything, and I have trouble seeing why that
would be the right thing to do. You can add new install locations 
into asdf-install:*locations*.

-- 
Juho Snellman
From: szergling
Subject: Re: sbcl's asdf-install doesn't seem to respect asdf:*central-registry*
Date: 
Message-ID: <1182425613.692011.278380@o11g2000prd.googlegroups.com>
On Jun 21, 7:33 pm, Tamas Papp <······@gmail.com> wrote:

> I have want asdf to install files in ~/.asdf-install-dir/systems/, so

[...]

> But when I try to install,
>
> CL> (asdf-install:install 'bordeaux-threads)
> Install where?
> 1) System-wide install:
>    System in /usr/lib/sbcl/site-systems/
>    Files in /usr/lib/sbcl/site/
> 2) Personal installation:
>    System in /home/tpapp/.sbcl/systems/
>    Files in /home/tpapp/.sbcl/site/
>  -->
>
> Why isn't it ~/.asdf-install-dir/systems/ for the second choice?  It
> worked fine for CMUCL.  SBCL's version is 1.0.5.0-2 (deb package).
>
> Thanks,
>


I don't know, but here's what I did:

(asdf-install:install ...)

At the symbol install, I press M-., which takes me to the function
definition. There's the interesting symbols called
*preferred-location* here. I can guess what it does. Further down, we
see:

(destructuring-bind (source system name) (install-location)
  ...)

M-. at install-location, we start to see where this is leading:

(let ((location-selection (or *preferred-location*
                              (select-location))))
  ... )

Now, M-. to select-location, and lo,

(loop for (source system name) in *locations*
      for i from 1
      do (format t "~A) ~A: ~%   System in ~A~%   Files in ~A ~%"
                 i name system source))

Place point right after *locations*, and C-xC-e(slime-eval-last-
expression)

((#P"/usr/local/asdf-install/site/" #P"/usr/local/asdf-install/site-
systems/"
    "System-wide install")
 (#P"/home/tyc20/.asdf-install-dir/site/"
    #P"/home/tyc20/.asdf-install-dir/systems/" "Personal
installation"))

Let's try this:

(pushnew '("ghgj" "hgjh" "ghjgjg") asdf-install:*locations*)

When I then try to install something, I get:

Install where?
1) ghjgjg:
   System in hgjh
   Files in ghgj
2) System-wide install:
   System in /usr/local/asdf-install/site-systems/
   Files in /usr/local/asdf-install/site/
3) Personal installation:
   System in /home/tyc20/.asdf-install-dir/systems/
   Files in /home/tyc20/.asdf-install-dir/site/
0) Abort installation.

Yep, looks right. Hope that helps.
From: Pascal Bourguignon
Subject: Re: sbcl's asdf-install doesn't seem to respect asdf:*central-registry*
Date: 
Message-ID: <87vedhmdms.fsf@thalassa.lan.informatimago.com>
Tamas Papp <······@gmail.com> writes:

> Hi,
>
> I have want asdf to install files in ~/.asdf-install-dir/systems/, so
> I have
>
> (require :asdf)
> (pushnew "/home/tpapp/.asdf-install-dir/systems/" asdf:*central-registry* :test #'equal)
>
> in my ~/.sbclrc, which gives
>
> CL> asdf:*central-registry*
> ("/home/tpapp/.asdf-install-dir/systems/"
>  (MERGE-PATHNAMES ".clc/systems/" (USER-HOMEDIR-PATHNAME))
>  (MERGE-PATHNAMES ".sbcl/systems/" (USER-HOMEDIR-PATHNAME))
>  (LET ((ASDF::HOME (SB-EXT:POSIX-GETENV "SBCL_HOME")))
>    (WHEN ASDF::HOME (MERGE-PATHNAMES "site-systems/" (TRUENAME ASDF::HOME))))
>  *DEFAULT-PATHNAME-DEFAULTS* #P"/usr/share/common-lisp/systems/")
>
> But when I try to install,
>
> CL> (asdf-install:install 'bordeaux-threads)
> Install where?
> 1) System-wide install: 
>    System in /usr/lib/sbcl/site-systems/
>    Files in /usr/lib/sbcl/site/ 
> 2) Personal installation: 
>    System in /home/tpapp/.sbcl/systems/
>    Files in /home/tpapp/.sbcl/site/ 
>  --> 
>
> Why isn't it ~/.asdf-install-dir/systems/ for the second choice?  It
> worked fine for CMUCL.  SBCL's version is 1.0.5.0-2 (deb package).

Because (not (equal 'asdf 'asdf-install)).

Try asdf-install:*locations*

-- 
__Pascal Bourguignon__                     http://www.informatimago.com/

NOTE: The most fundamental particles in this product are held
together by a "gluing" force about which little is currently known
and whose adhesive power can therefore not be permanently
guaranteed.