unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* [PATCH 1/2] gnu: Add femtolisp.
@ 2016-09-13 19:04 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
  0 siblings, 2 replies; 26+ messages in thread
From: ng0 @ 2016-09-13 19:04 UTC (permalink / raw)
  To: guix-devel

* 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
+         #: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.
+           (add-before 'build 'patch-makefile
+             (lambda _
+               (substitute* "Makefile"
+                 (("default: release test") "default: release"))
+               #t))
+           (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))))))))
+      (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.")
+      (home-page "https://github.com/JeffBezanson/femtolisp")
+      (license license:bsd-3))))
-- 
2.10.0

^ permalink raw reply related	[flat|nested] 26+ messages in thread
* [PATCH 1/2] gnu: Add femtolisp.
@ 2016-09-12 13:57 ng0
  2016-09-13 19:40 ` Leo Famulari
  0 siblings, 1 reply; 26+ messages in thread
From: ng0 @ 2016-09-12 13:57 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/lisp.scm (femtolisp): New variable.
---
 gnu/packages/lisp.scm | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 51 insertions(+)

diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index 8ee249d..b35aec0 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -487,3 +487,54 @@ 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")
+         #: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.
+           (add-before 'build 'patch-makefile
+             (lambda _
+               (substitute* "Makefile"
+                 (("default: release test") "default: release"))))
+           (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")))
+                (zero? (system* "./bootstrap.sh"))
+                (install-file "flisp.boot" bin))))
+           (delete 'check))))
+      (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.")
+      (home-page "https://github.com/JeffBezanson/femtolisp")
+      (license license:bsd-3))))
-- 
2.10.0

^ permalink raw reply related	[flat|nested] 26+ messages in thread

end of thread, other threads:[~2016-09-27 16:30 UTC | newest]

Thread overview: 26+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
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
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

Code repositories for project(s) associated with this public inbox

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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).