guix-devel
[Top][All Lists]
Advanced

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

Re: [PATCH 1/2] gnu: Add femtolisp.


From: ng0
Subject: Re: [PATCH 1/2] gnu: Add femtolisp.
Date: Tue, 13 Sep 2016 19:45:15 +0000

Hi,

thanks for reviewing

Ricardo Wurmus <address@hidden> writes:

> ng0 <address@hidden> writes:
>
>> * gnu/packages/lisp.scm (femtolisp): New variable.
>> ---
>>  gnu/packages/lisp.scm | 53 
>> +++++++++++++++++++++++++++++++++++++++++++++++++++
>>  1 file changed, 53 insertions(+)
>>
>> diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
>> index 8ee249d..4e2ecdb 100644
>> --- a/gnu/packages/lisp.scm
>> +++ b/gnu/packages/lisp.scm
>> @@ -487,3 +487,56 @@ in the early 80's.  It was converted to C by Blake 
>> McBride and supports much of
>>  the InterLisp Standard.")
>>        (home-page "https://github.com/blakemcbride/LISPF4.git";)
>>        (license license:expat))))
>> +
>> +(define-public femtolisp
>> +  (let* ((commit "68c5b1225572ecf2c52baf62f928063e5a30511b")
>> +        (revision "1"))
>> +    (package
>> +      (name "femtolisp")
>> +      (version (string-append "0.0.0-" revision "-" (string-take commit 7)))
>> +      (source (origin
>> +                (method git-fetch)
>> +                (uri (git-reference
>> +                      (url "https://github.com/JeffBezanson/femtolisp.git";)
>> +                      (commit commit)))
>> +                (file-name (string-append name "-" version "-checkout"))
>> +                (sha256
>> +                 (base32
>> +                  "04rnwllxnl86zw8c6pwxznn49bvkvh0f1lfliy085vjzvlq3rgja"))))
>> +      (build-system gnu-build-system)
>> +      (arguments
>> +       `(#:make-flags '("CC=gcc")
>> +         #:tests? #f ; No make check
>
> But it does have a “test” target, no?  How about “#:test-target "test"”
> instead of disabling the tests?

Ah ... sorry, I'll fix it again. I've seen this, but I've also worked on
40 other packages meanwhile.

>> +         #:phases
>> +         (modify-phases %standard-phases
>> +           (delete 'configure) ; No configure script
>> +           ;; We have to remove the 'test phase because it requires
>> +           ;; the flisp binary to be present. Instead we run
>> +           ;; bootstrap.sh after the 'install phase.
>
> I find this strange.  More about this below.
>
>> +           (add-before 'build 'patch-makefile
>> +             (lambda _
>> +               (substitute* "Makefile"
>> +                 (("default: release test") "default: release"))
>> +               #t))
>
> This may not be necessary when you pass “release” as one of the
> “#:make-flags”.

I try it, maybe it works.

>> +           (replace 'install ; Makefile has no 'install phase
>> +            (lambda* (#:key outputs #:allow-other-keys)
>> +              (let* ((out (assoc-ref outputs "out"))
>> +                     (bin (string-append out "/bin")))
>> +                (install-file "flisp" bin)
>> +                #t)))
>> +           ;; The flisp binary is now available, run bootstrap to
>> +           ;; generate flisp.boot and afterwards runs make test.
>> +           (add-after 'install 'bootstrap-gen-and-test
>> +             (lambda* (#:key outputs #:allow-other-keys)
>> +              (let* ((out (assoc-ref outputs "out"))
>> +                     (bin (string-append out "/bin")))
>> +                (and
>> +                 (zero? (system* "./bootstrap.sh"))
>> +                 (install-file "flisp.boot" bin))))))))
>
> “install-file” has an unspecified return value.  I’m a little surprised
> to see “bootstrap.sh” to be used *after* installation.  That’s very odd.
> Could the tests not be fixed in another way, e.g. by overriding the
> location of the binary?

Okay, so I change it back to what this was before, without (and)?
On fixing it differently: No. If you can come up with a way to fix it
afterwards, you're welcome to fix it, I can't do this at the moment.

>> +      (synopsis "Scheme-like lisp implementation")
>> +      (description
>> +       "@code{femtolisp} is a scheme-like lisp implementation with a
>> +simple, elegant Scheme dialect.  It is a lisp-1 with lexical scope.
>> +The core is 12 builtin special forms and 33 builtin functions.")
>
>
> “Scheme-like”.  I think the sentence on “lisp-1” can be removed, because
> if it’s Scheme-like it’s unlikely to be a lisp-2.

Okay, I don't know enough about scheme and lisp to comment that so I'll
just change it.

>> +      (home-page "https://github.com/JeffBezanson/femtolisp";)
>> +      (license license:bsd-3))))
>
> ~~ Ricardo
>
>

-- 
              ng0



reply via email to

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