program-op is nice!

Faré fahree at gmail.com
Sun May 31 03:52:59 UTC 2015


Dear Attila,

On Sat, May 30, 2015 at 8:43 PM, Attila Lendvai <attila at lendvai.name> wrote:
> Fare, your asdf/uiop image-dumping machinery is great! with only a few
> minutes of trying i've already made an exe for the dwim.hu service
> that seems to just work. i'm very pleasantly surprised, because it
> gets rid of the entire hu.dwim.build complexity, and is now even
> platform independent... thank you! :)
>
I'm quite glad you, of all people, like it!

> FTR, the change is here:
> http://dwim.hu/darcsweb/darcsweb.cgi?r=HEAD%20hu.dwim.home;a=commitdiff;h=20150531001956-35491-e309a5382d80bfbe5426294d07fd4e891c40a8c6
>
> it all seems to just work, but i have a hard time telling asdf where
> to put the resulting exe. the :build-pathname arg of defsystem errors
> with absolute paths (which sounds reasonable), but then it's merely
> the filename of the exe. my problem is that it gets saved into the
> fasl cache, which i cannot calculate from the shell script side of the
> build script to mv the file to its final place.
>
> is there some doc or test that i have missed?
>
I don't think you've missed anything. If you want the exe to end up
somewhere, you can:
1- copy the file (e.g. using uiop/stream:copy-file) from where
program-op put it (which you can tell using output-files) to where you
want it. Problem is, that won't do you much good on sbcl where
save-lisp-and-die dies before you get to copy-file, unless you first
use run-program to invoke the sbcl that will program-op.
2- Use (defmethod output-files ((o program-op) (s (eql (find-system
"mysys")))) (values ... t)) so it will be exactly where you want it.
3- write ASDF4, that will solve these issues.

—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org
Cubans bemoan the three failures of the revolution: breakfast, lunch and dinner



More information about the asdf-devel mailing list