Ricardo Wurmus <rek...@elephly.net> writes: > ng0 <ngillm...@runbox.com> writes: > >> ng0 <ngillm...@runbox.com> writes: >> >>> Hi, >>> >>> thanks for trying to help with this. >>> >>> Ricardo Wurmus <rek...@elephly.net> writes: >>> >>>> ng0 <ngillm...@runbox.com> writes: >>>> >>>>> * gnu/packages/lisp.scm (lispf4)[arguments]: Fix the searchpath for >>>>> SYSATOMS. >>>>> --- >>>>> gnu/packages/lisp.scm | 14 +++++++++++++- >>>>> 1 file changed, 13 insertions(+), 1 deletion(-) >>>>> >>>>> diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm >>>>> index 7836d48..d66fb8b 100644 >>>>> --- a/gnu/packages/lisp.scm >>>>> +++ b/gnu/packages/lisp.scm >>>>> @@ -474,8 +474,20 @@ interface.") >>>>> #:phases >>>>> (modify-phases %standard-phases >>>>> (delete 'configure) >>>>> + (add-before 'build 'fix-searchpath >>>>> + (lambda _ >>>>> + (substitute* "Lispf42.f" >>>>> + (("NAME='SYSATOMS'") >>>>> + (string-append "NAME='" (assoc-ref %outputs "out") >>>>> + "/bin/SYSATOMS'"))) >>>>> + (substitute* "lispf42.c" >>>>> + (("SYSATOMS") >>>>> + (string-append (assoc-ref %outputs "out") >>>>> "/bin/SYSATOMS")) >>>>> + ;;(("8+1") "72+8+1")))) >>>>> + (("c_b98_st") "c_b98") >>>>> + (("c_b98.val") "")))) >>>>> (replace 'install >>>>> - (lambda* (#:key outputs #:allow-other-keys) >>>>> + (lambda* (#:key outputs #:allow-other-keys) >>>>> (let* ((out (assoc-ref outputs "out")) >>>>> (bin (string-append out "/bin")) >>>>> (doc (string-append (assoc-ref outputs "doc") >>>> >>>> >>>> Here’s an alternative: >>>> >>>> (add-before 'build 'fix-reference-to-SYSATOMS >>>> (lambda* (#:key outputs #:allow-other-keys) >>>> (substitute* "lispf42.c" >>>> (("#define c_b98.*") >>>> (string-append "#define c_b98 \"" >>>> (assoc-ref outputs "out") >>>> "/bin/SYSATOMS\"\n"))) >>>> #t)) >>> >>> Thanks, I'll try this in combination with the proposed move, but if I >>> don't succeed with it today I will start working on my priority tasks >>> and do this in november or whenever I get the chance. >>> >>>> This won’t work, however, because during the build phase the lispf4 >>>> executable is called to run a script. At that point SYSATOMS only >>>> exists in the current directory. So with the above phase the build >>>> would fail. >>>> >>>> A hack to solve this would be to first install “SYSATOMS” to the target >>>> directory and then build. >> >> And this fixes at least running it :) New patch incoming soon. This >> depends on the one which deletes the bundles, can you apply that when >> you do the one which will I will send in later? > > Yes, but have you actually tried using it? I have and while useless > stuff like “(LIST 1 2 3)” works, creating own definitions does not. > > Here’s an example from the manual: > > ~~~~~~~~~~~~~~~~~~~~~~~~~~ > _(DE KAR(X) ((SUBR . CAR) X] > --- Undefined function > APPLY > DE > --- Reset > _ > ~~~~~~~~~~~~~~~~~~~~~~~~~~ > > Installing BASIC.IMG to $out/bin has no effect. The thing behaves the > same when the image is not installed at all.
Hm. Okay, I will look into this as soon as I can dedicate time to it. > Currently, this package cannot be used and I don’t want to have > a continuous stream of patches to develop the package in master. Please > test this thoroughly on your own and then submit a new patch to fix all > the problems. Ok > Another thing I noticed is that this package comes with a full > reference of Interlisp, which seems unrelated to this particular > implementation. The reference is a whole book and it is not clear under > what license it is released. > > I’m currently tempted to remove the package because in its current state > it isn’t usable and there doesn’t seem to be anyone using it to have > noticed that it’s broken. That’s somewhat unsatisfying. > > ~~ Ricardo > > I fully agree, please remove it. I will re-add it as soon as I have a working copy, stripped off the bloat it currently carries and solving the non-functional state. Maybe it's even easier to re-implement in Guile what SIEMENS-INTERLISP did back then, and drop any work on this completely... For now I'll move this back to my long work-in-progress bench.