[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 1/2] gnu: Add femtolisp.
From: |
Ricardo Wurmus |
Subject: |
Re: [PATCH 1/2] gnu: Add femtolisp. |
Date: |
Tue, 13 Sep 2016 21:30:07 +0200 |
User-agent: |
mu4e 0.9.16; emacs 25.1.1 |
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?
> + #: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”.
> + (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?
> + (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.
> + (home-page "https://github.com/JeffBezanson/femtolisp")
> + (license license:bsd-3))))
~~ Ricardo
- [PATCH 1/2] gnu: Add femtolisp., ng0, 2016/09/12
- [PATCH 1/2] gnu: Add femtolisp., ng0, 2016/09/13
- [PATCH 2/2] gnu: lispf4: Remove unused inputs key., ng0, 2016/09/13
- Re: [PATCH 1/2] gnu: Add femtolisp.,
Ricardo Wurmus <=
- Re: [PATCH 1/2] gnu: Add femtolisp., ng0, 2016/09/13
- Re: [PATCH 1/2] gnu: Add femtolisp., ng0, 2016/09/13
- Re: [PATCH 1/2] gnu: Add femtolisp., Ricardo Wurmus, 2016/09/14
- Re: [PATCH 1/2] gnu: Add femtolisp., ng0, 2016/09/14
- Re: [PATCH 1/2] gnu: Add femtolisp., ng0, 2016/09/14
- Re: [PATCH 1/2] gnu: Add femtolisp., Ricardo Wurmus, 2016/09/14
- Re: [PATCH 1/2] gnu: Add femtolisp., ng0, 2016/09/14
- Re: [PATCH 1/2] gnu: Add femtolisp., Ricardo Wurmus, 2016/09/14
- Re: [PATCH 1/2] gnu: Add femtolisp., ng0, 2016/09/14
- Re: [PATCH 1/2] gnu: Add femtolisp., ng0, 2016/09/14