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. 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. 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