libera/#clasp - IRC Chatlog
Search
13:17:27
yitzi
beach: Clasp has an ASDF groveler that we use when running under SBCL to extract the source files for Cleavir, etc. I've had to rewrite it to account for systems that have `:if-feature` style feature expressions. Its not in Clasp main branch yet because the branch is still experimental. Maybe useful for SICL though. https://gist.github.com/yitzchak/0c7a7302c04391787d26a59336c3a1f1
13:35:20
yitzi
Bike: I made an initial attempt to use logical paths for all source files during a|b|cclasp compilation. Surprisingly, I made it all the way into cclasp.
13:37:08
yitzi
I also did a quick look at all of our possible source code names...and the problem is just limited to uppercase and underscores.
13:38:31
Colleen
drmeister: jackdaniel said 4 hours, 55 minutes ago: yes, process-enable "starts" the process
13:38:31
Colleen
drmeister: jackdaniel said 4 hours, 54 minutes ago: it originates in older multiprocessing systems than bordeaux threads that allows better control and separation between the /process/ (as a system thread) and the function that it runs; I think that cracauer had a writeup about these interfaces some years ago
13:39:01
yitzi
And there are addition key arguments permitted in TRANSLATE-PATHNAME. So I am thinking that we add a key argument that enables some kind of escaping mechanism.
13:39:40
Bike
makes sense... other thought: could we store relative illlogical pathnames, and then later append them to the translated sys logical host?
13:40:13
Bike
drmeister: shot in the dark, since it's during load fop, maybe the fasl format changed?
13:44:23
drmeister
brew update && brew upgrade didn't work - so I'm using `brew install clasp-developers/clasp/cando`
13:47:56
yitzi
Bike: Looks you can add extra stuff to LOCAL-PATHNAME-TRANSLATIONS `(setf (logical-pathname-translations "SYS") '(("SYS;**;*.*.*" "/usr/share/clasp/**/*.*" :escape t)))`
13:48:34
drmeister
I am following our own instructions here: https://github.com/cando-developers/cando#installing-from-the-nightly-homebrew-tap
13:49:52
drmeister
I need to demo something this morning and it involves updating cando on their machine with homebrew and my machine is messed up.
14:03:06
drmeister
Homebrew sets HOMEBREW_PREFIX=/usr/local/homebrew using that script in my .bash_profile
14:10:41
drmeister
brew keeps complaining that I need HOMEBREW_CELLAR: /usr/local/Cellar and HOMEBREW_PREFIX: /usr/local yet it itself sets them to /usr/local/homebrew/Cellar and /usr/local/homebrew respectively.
14:21:32
drmeister
I explicitly set the HOMEBREW environment variables and brew sets them back to what it says are broken values.
14:22:07
drmeister
I've nuked homebrew half a dozen times now. At some point it starts complaining about this.
14:22:59
yitzi
When you have time can you test out yitzchak_eclasp? You'll need to do it in a fresh clone.
14:24:57
drmeister
To remove homebrew I run: `/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall.sh)"`
14:29:42
drmeister
I've been watching homebrew for when it starts messing up - I haven't figured out what the trigger is.
15:02:50
drmeister
I haven't had time to try it yet. I need to get my lab going on their inventory again. That requires a brew upgrade to cando on their system.
16:09:12
yitzi
Bike: bump! I just realized we could just have more translations. Just add one when a path can't be put directly into a logical path. For example `/usr/share/clasp/src/lisp/kernel/contrib/Acclimation/packages.lisp` becomes `SYS:SRC;LISP;KERNEL;CONTRIB;ACCLIMATION;PACKAGES.LISP` with a translation mapping of `SYS:SRC;LISP;KERNEL;CONTRIB;ACCLIMATION;**;*.*.*` -> `/usr/share/clasp/src/lisp/kernel/contrib/Acclimation/**/*.*`
16:28:22
yitzi
When the scrapper finds a path that has upper case letters or underscores or periods it adds a logical host translation in generate-expose-one-source-info-helper.
16:29:04
yitzi
Obviously, trying to not add too many. Like adding a single one for a case sensitive directory (if we had ones).
16:29:46
yitzi
Then koga does the same when it runs the ASDF groveler to get the source file list for cclasp (and eclasp).
16:33:10
Bike
could we also do this for underscores? although i guess t hose are more for files than for directories.
16:38:55
yitzi
I am thinking anything that is not a letter or a hyphen just change it to a hyphen in the logical pathname.
16:39:44
yitzi
So `include/clasp/core/fu_bar.fwd.h" would become "SYS:INCLUDE;CLASP;CORE;FU-BAR-FWD.H"