[asdf-devel] Re: software failures (with asdf 3?)

2013-07-09 Thread Faré
On Sun, Jul 7, 2013 at 8:12 AM, Zach Beane x...@xach.com wrote:
 I upgraded my dist construction system to asdf 3.0 and get these
 failures:

   - exscribe: Don't know how to normalize (:FEATURE :EXSCRIBE-TYPESET
 :CL-TYPESETTING). More info at
 http://report.quicklisp.org/exscribe/2013-07-07/failtail.txt

Exscribe is working well for me.

The :FEATURE feature is an ASDF feature that was simultaneously broken
and undocumented in late ASDF1, has been fixed but cerror'ed during
the ASDF 2 days, and fixed and tested to work before ASDF3 (test in
place since 2.31.2).

Your backtrace suggests that the error happens in a package called
DEPCHECK, that doesn't know about this feature. I suppose you wrote
that package and need to teach it about :FEATURE. That's where I
realize that the :FEATURE feature is quite misdocumented in the
asdf.texinfo in the grammar production dependency-def (as opposed to
the very different, documented but deprecated feature in
requirement). Oh well. Not my problem anymore.

Robert, you might want to look into this:
* in dependency-def, it should be (:feature @var{feature-expression}
@var{dependency-def})
* the required-op production is redundant, since it's better covered
by the second branch of requirement.
* have a quick look at find-component.lisp to make sure the grammar is
properly documented; maybe document the new extensible protocol for
naming components.

   - cl-launch: Could not load ASDF 2.27. More info at
 http://report.quicklisp.org/cl-launch/2013-07-07/failtail.txt

Looks like you're using cl-launch 3.21.3 or earlier. Please upgrade to
the latest 3.22, available since last May (actually same as 3.21.7
from February).

—♯ƒ • François-René ÐVB Rideau •ReflectionCybernethics• http://fare.tunes.org
There is never a better measure of what a person is than what he does when
he's absolutely free to choose.  — William M. Bulger



Re: [asdf-devel] Re: software failures (with asdf 3?)

2013-07-09 Thread Robert Goldman
Faré wrote:
 Robert, you might want to look into this:
 * in dependency-def, it should be (:feature @var{feature-expression}
 @var{dependency-def})
 * the required-op production is redundant, since it's better covered
 by the second branch of requirement.
 * have a quick look at find-component.lisp to make sure the grammar is
 properly documented; maybe document the new extensible protocol for
 naming components.

I see the first two issues with the manual.  I will apply a fix.

The last I will have a look at.  I may have to come back to you with
some follow-up questions.

Zach, is there any way we could somehow provide a better API for your
DEPCHECK to use, so that you wouldn't have to worry about it getting out
of sync with ASDF?  Suggestions welcome.

Best,
r



Re: [asdf-devel] Re: software failures (with asdf 3?)

2013-07-09 Thread Robert Goldman
Robert Goldman wrote:
 Robert, you might want to look into this:
 * in dependency-def, it should be (:feature @var{feature-expression}
 @var{dependency-def})

OK, I thought I understood this, but I don't.

There's a second argument to :feature when used in a dependency-def, but
not when it's used in a dependency?

So we would see something like:

:depends-on (:cl-ppcre (:feature :clx clx-dependent-library))

and the semantics is

If (member :clx *features*) then clx-dependent-library is a dependency.

Correct?

Is there some reason why this isn't :if-feature or :when-feature?  Using
:feature as a conditional seems odd

thanks,
r






Re: [asdf-devel] Re: software failures (with asdf 3?)

2013-07-09 Thread Faré
On Tue, Jul 9, 2013 at 2:41 PM, Robert Goldman rpgold...@sift.info wrote:
 Robert Goldman wrote:
 Robert, you might want to look into this:
 * in dependency-def, it should be (:feature @var{feature-expression}
 @var{dependency-def})

 OK, I thought I understood this, but I don't.

 There's a second argument to :feature when used in a dependency-def, but
 not when it's used in a dependency?

In a :in-order-to spec, asdf:feature (not keyword:feature) can be used
instead of an operation specifier, to specify that the plan should
fail if the feature isn't present, which is then captured by
if-component-fails. This is a deprecated feature, with a braindead
design, and only remains as a compatibility mode for old versions of
SBCL's sb-bsd-sockets and sb-rotate-byte. I recommend you altogether
purge this mis-feature in a year or two.

 So we would see something like:

 :depends-on (:cl-ppcre (:feature :clx clx-dependent-library))

 and the semantics is

 If (member :clx *features*) then clx-dependent-library is a dependency.

 Correct?

Yes.

 Is there some reason why this isn't :if-feature or :when-feature?  Using
 :feature as a conditional seems odd

That's how it was named in e7e468 when it was introduced, though with
a buggy implementation. Renaming it :when-feature may make sense. Note
that I called the component-if-feature slot keyword :if-feature, which
you may want to either distinguish
yourself from or copy. You could even add an optional else-clause to
an :if-feature.

Considering how it never worked until ASDF3, I might be the only one
to ever have used it, in exscribe, and I'll happily stop using it
while you either transition or purge the feature altogether. It's only
really useful at for a system's :depends-on.

—♯ƒ • François-René ÐVB Rideau •ReflectionCybernethics• http://fare.tunes.org
The worst thing about totalitarian regimes is not that they make people poor,
miserable and unfree — it's that they corrupt people's souls, and turning
everyone into a double-thinking, double-speaking liar for the sake of survival.



[asdf-devel] unsubscribe

2013-07-09 Thread Brett van de Sande

Two things:

The links to asdf-devel and asdf-announce on 
http://common-lisp.net/project/asdf/#mailing-lists
are dead.

Also, how do I unsubscribe?

Brett




Re: [asdf-devel] Ordering of system :depends-on elements

2013-07-09 Thread Anton Vodonosov


09.07.2013, 06:17, Anton Vodonosov avodono...@yandex.ru:
 08.07.2013, 01:34, Zach Beane x...@xach.com:

  A few projects in quicklisp work something like this:

 ;;; foo.asd

 (defsystem foo ...)

 (defsystem foo-extra ...)

 ;;; bar.asd

 (defsystem bar :depends-on (:foo-extra :foo))

  With asdf 2, (asdf:load-system bar) seems to work fine, I guess
  because asdf 2 does the equivalent of find-system on the elements from
  right-to-left.

  With asdf 3, it doesn't seem to work fine, I guess because asdf 3 does
  the equivalent of find-system on the elements from left-to-right.

  Are those guesses correct?

  What's the best way to have a system definition that works equally well
  in asdf2 and asdf3 in this kind of situation?

 If we surround the non-findable system with the main system like this:

  (defsystem bar :depends-on (:foo :foo-extra :foo))

 will it work?

 :)

 It's a dirty workaround (worksurround), but the level of dirtiness is the same
 as the original: have a system not findable by asdf:find-system due to
 difference between the system name and it's .asd file name; solve it
 by relying on the order ASDF loads dependencies, having a findable
 system name first.

But the best solution is separation of these ASDF systems
into different .asd files. Right now everyone seems to prefer dealing
with systems written that way - separate .asd files per ASDF system.



Re: [asdf-devel] unsubscribe

2013-07-09 Thread Stas Boukarev
Brett van de Sande b...@asu.edu writes:

 Two things:

 The links to asdf-devel and asdf-announce on 
 http://common-lisp.net/project/asdf/#mailing-lists
 are dead.
That's a feature.

 Also, how do I unsubscribe?
By sending a message to asdf-devel+unsubscr...@common-lisp.net

-- 
With best regards, Stas.



Re: [asdf-devel] unsubscribe

2013-07-09 Thread Drew C

 The links to asdf-devel and asdf-announce on
 http://common-lisp.net/project/asdf/#mailing-lists
 are dead.


I have just set up a redirect, so it does work (kinda sorta) now. If you
get a chance, can you test it?

Sorry about that.

-- drewc


 Also, how do I unsubscribe?

 Brett