guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 2/2] gnu: lispf4: Fix the searchpath for SYSATOMS.


From: Ricardo Wurmus
Subject: Re: [PATCH 2/2] gnu: lispf4: Fix the searchpath for SYSATOMS.
Date: Wed, 05 Oct 2016 13:22:29 +0200
User-agent: mu4e 0.9.16; emacs 25.1.1

ng0 <address@hidden> writes:

> ng0 <address@hidden> writes:
>
>> Hi,
>>
>> thanks for trying to help with this.
>>
>> Ricardo Wurmus <address@hidden> writes:
>>
>>> ng0 <address@hidden> 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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]