all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: ng0 <ngillmann@runbox.com>
To: Ricardo Wurmus <rekado@elephly.net>
Cc: guix-devel@gnu.org
Subject: Re: [PATCH 2/2] gnu: lispf4: Fix the searchpath for SYSATOMS.
Date: Wed, 05 Oct 2016 09:17:15 +0000	[thread overview]
Message-ID: <87mvij2m04.fsf@we.make.ritual.n0.is> (raw)
In-Reply-To: <87ponf2n2k.fsf@we.make.ritual.n0.is>

ng0 <ngillmann@runbox.com> writes:

> Hi,
>
> thanks for trying to help with this.
>
> Ricardo Wurmus <rekado@elephly.net> writes:
>
>> ng0 <ngillmann@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?

> Right, I have seen the complains of the script pointing to that
> directory.
>
>> BTW: I think “SYSATOMS” and the “BASIC.IMG” should not be installed to
>> “bin” because they are not executables.  Instead they should go to
>> “$out/share/lispf4”.  This would also require you to change the code
>> that loads “BASIC.IMG” (I think it won’t work right now for the same
>> reasons as why you get the error relating to “SYSATOMS”.)
>>
>> You also don’t seem to be installing “LISPF4.IMG”, which seems to be
>> required as well.
>
> I think it's different.. I think I should have installed BARE.IMG,
> BASIC.IMG and SYSATOMS. LISP4.img is generated nowhere. If it's in the
> original source, the f2c running author did a strange job.
>
>> I should also note that after looking at the code I no longer consider
>> “lispf42.c” to be source code.  It’s unreadable because it’s the
>> automatically produced output of a fortran-to-C converter, only slightly
>> modified :-/
>
> A while ago I forked this with the intention to clean it up some
> day.. Could take a long time, if at all. I find the fortran easier to
> read. Is there any reason why just using the fortran source would not
> work for us? I might have packaged gforth, but I know little about
> fortran compiling, compability etc.
> I missed a free software licensed interlisp implementation.. this lispf4
> differed from what I needed for my purposes, which would've been
> SIEMENS-INTERLISP, but I found no other interlisp at that time.
> Differed in the way that SIEMENS-INTERLISP gives you the ability to
> close every open parens with >, as a super-paren.. that's just one
> difference of many.
> (PLUS 2 4 (TIMES 80 9 (MINUS 2 300 >
> In case anyone is curious: "Christian-M. Hamann - Einführung in das
> Programmieren in LISP", published in Berlin 1985 also states New York so
> there's a chance for a translation somewhere.
>
> I'm open to suggestions other than writing my own interlisp (which would
> be very nice, but I'm at least 2 years busy on another front :) )... It
> will probably lead to writing my own interlisp.
>
>> ~~ Ricardo
>>
>>
>
> -- 
>
>

-- 

  reply	other threads:[~2016-10-05  9:17 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-10-04 22:33 [PATCH] gnu: lispf4 fixes ng0
2016-10-04 22:33 ` [PATCH 1/2] gnu: lispf4: Remove prebuilt binaries ng0
2016-10-04 22:33 ` [PATCH 2/2] gnu: lispf4: Fix the searchpath for SYSATOMS ng0
2016-10-05  7:08   ` Ricardo Wurmus
2016-10-05  8:54     ` ng0
2016-10-05  9:17       ` ng0 [this message]
2016-10-05 11:22         ` Ricardo Wurmus
2016-10-05 12:15           ` ng0
2016-10-05  9:27 ` [PATCH] gnu: lispf4 fixes ng0
2016-10-05 10:07   ` ng0
2016-10-05 10:18     ` ng0
2016-10-05  9:31 ` [PATCH] gnu: lispf4: Fix reference to SYSATOMS ng0

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87mvij2m04.fsf@we.make.ritual.n0.is \
    --to=ngillmann@runbox.com \
    --cc=guix-devel@gnu.org \
    --cc=rekado@elephly.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.