From: ng0 <ng0@we.make.ritual.n0.is>
To: Ricardo Wurmus <rekado@elephly.net>
Cc: guix-devel@gnu.org
Subject: Re: [PATCH 1/2] gnu: Add femtolisp.
Date: Tue, 13 Sep 2016 19:45:15 +0000 [thread overview]
Message-ID: <87r38nmvn8.fsf@we.make.ritual.n0.is> (raw)
In-Reply-To: <87mvjbegxs.fsf@elephly.net>
Hi,
thanks for reviewing
Ricardo Wurmus <rekado@elephly.net> writes:
> ng0 <ng0@we.make.ritual.n0.is> 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
next prev parent reply other threads:[~2016-09-13 19:45 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-09-13 19:04 [PATCH 1/2] gnu: Add femtolisp ng0
2016-09-13 19:04 ` [PATCH 2/2] gnu: lispf4: Remove unused inputs key ng0
2016-09-13 19:30 ` [PATCH 1/2] gnu: Add femtolisp Ricardo Wurmus
2016-09-13 19:45 ` ng0 [this message]
2016-09-13 20:32 ` ng0
2016-09-14 9:00 ` Ricardo Wurmus
2016-09-14 9:31 ` ng0
2016-09-14 9:48 ` ng0
2016-09-14 10:03 ` Ricardo Wurmus
2016-09-14 10:15 ` ng0
2016-09-14 11:05 ` Ricardo Wurmus
2016-09-14 11:17 ` ng0
2016-09-14 12:03 ` ng0
2016-09-18 10:02 ` Andreas Enge
2016-09-20 6:14 ` Ludovic Courtès
2016-09-21 10:37 ` ng0
2016-09-21 15:33 ` Ludovic Courtès
2016-09-21 19:30 ` Ricardo Wurmus
2016-09-22 9:11 ` [PATCH] gnu: femtolisp: Remove support for mips and armhf ng0
2016-09-26 10:38 ` Ludovic Courtès
2016-09-27 8:13 ` ng0
2016-09-27 16:30 ` Leo Famulari
2016-09-18 12:20 ` [PATCH 1/2] gnu: Add femtolisp ng0
2016-09-18 12:25 ` ng0
-- strict thread matches above, loose matches on Subject: below --
2016-09-12 13:57 ng0
2016-09-13 19:40 ` Leo Famulari
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=87r38nmvn8.fsf@we.make.ritual.n0.is \
--to=ng0@we.make.ritual.n0.is \
--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.