all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* [PATCH 1/2] gnu: Add femtolisp.
@ 2016-09-12 13:57 ng0
  2016-09-12 13:57 ` [PATCH 2/2] gnu: lispf4: Remove unused inputs key ng0
  2016-09-13 19:40 ` [PATCH 1/2] gnu: Add femtolisp Leo Famulari
  0 siblings, 2 replies; 6+ 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] 6+ messages in thread

* [PATCH 2/2] gnu: lispf4: Remove unused inputs key.
  2016-09-12 13:57 [PATCH 1/2] gnu: Add femtolisp ng0
@ 2016-09-12 13:57 ` ng0
  2016-09-13 19:00   ` Leo Famulari
  2016-09-13 19:40 ` [PATCH 1/2] gnu: Add femtolisp Leo Famulari
  1 sibling, 1 reply; 6+ messages in thread
From: ng0 @ 2016-09-12 13:57 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/lisp.scm (lispf4)[arguments]: Remove unused
inputs from 'install phase.
[source](file-name): Append -checkout to the file-name.
---
 gnu/packages/lisp.scm | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index b35aec0..a83a05c 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -453,7 +453,7 @@ interface.")
                 (uri (git-reference
                       (url "https://github.com/blakemcbride/LISPF4.git")
                       (commit commit)))
-                (file-name (string-append name "-" version))
+                (file-name (string-append name "-" version "-checkout"))
                 (sha256
                  (base32
                   "18k8kfn30za637y4bfbm9x3vv4psa3q8f7bi9h4h0qlb8rz8m92c"))))
@@ -463,14 +463,12 @@ interface.")
       (arguments
        `(#:make-flags
          '("-f" "Makefile.unx" "CC=gcc")
-         ;; no check phase
-         #:tests? #f
+         #:tests? #f ; No 'check phase
          #:phases
          (modify-phases %standard-phases
            (delete 'configure)
-           (replace
-            'install
-            (lambda* (#:key outputs inputs #:allow-other-keys)
+           (replace 'install
+            (lambda* (#:key outputs #:allow-other-keys)
               (let* ((out (assoc-ref outputs "out"))
                      (bin (string-append out "/bin"))
                      (doc (string-append (assoc-ref outputs "doc")
-- 
2.10.0

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

* Re: [PATCH 2/2] gnu: lispf4: Remove unused inputs key.
  2016-09-12 13:57 ` [PATCH 2/2] gnu: lispf4: Remove unused inputs key ng0
@ 2016-09-13 19:00   ` Leo Famulari
  2016-09-13 19:21     ` ng0
  0 siblings, 1 reply; 6+ messages in thread
From: Leo Famulari @ 2016-09-13 19:00 UTC (permalink / raw)
  To: ng0; +Cc: guix-devel

On Mon, Sep 12, 2016 at 01:57:56PM +0000, ng0 wrote:
> * gnu/packages/lisp.scm (lispf4)[arguments]: Remove unused
> inputs from 'install phase.
> [source](file-name): Append -checkout to the file-name.

Pushed! Now to make it work :)

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

* [PATCH 2/2] gnu: lispf4: Remove unused inputs key.
  2016-09-13 19:04 ng0
@ 2016-09-13 19:04 ` ng0
  0 siblings, 0 replies; 6+ messages in thread
From: ng0 @ 2016-09-13 19:04 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/lisp.scm (lispf4)[arguments]: Remove unused
inputs from 'install phase.
[source](file-name): Append -checkout to the file-name.
---
 gnu/packages/lisp.scm | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index 4e2ecdb..c5d8e5c 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -453,7 +453,7 @@ interface.")
                 (uri (git-reference
                       (url "https://github.com/blakemcbride/LISPF4.git")
                       (commit commit)))
-                (file-name (string-append name "-" version))
+                (file-name (string-append name "-" version "-checkout"))
                 (sha256
                  (base32
                   "18k8kfn30za637y4bfbm9x3vv4psa3q8f7bi9h4h0qlb8rz8m92c"))))
@@ -463,14 +463,12 @@ interface.")
       (arguments
        `(#:make-flags
          '("-f" "Makefile.unx" "CC=gcc")
-         ;; no check phase
-         #:tests? #f
+         #:tests? #f ; No 'check phase
          #:phases
          (modify-phases %standard-phases
            (delete 'configure)
-           (replace
-            'install
-            (lambda* (#:key outputs inputs #:allow-other-keys)
+           (replace 'install
+            (lambda* (#:key outputs #:allow-other-keys)
               (let* ((out (assoc-ref outputs "out"))
                      (bin (string-append out "/bin"))
                      (doc (string-append (assoc-ref outputs "doc")
-- 
2.10.0

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

* Re: [PATCH 2/2] gnu: lispf4: Remove unused inputs key.
  2016-09-13 19:00   ` Leo Famulari
@ 2016-09-13 19:21     ` ng0
  0 siblings, 0 replies; 6+ messages in thread
From: ng0 @ 2016-09-13 19:21 UTC (permalink / raw)
  To: Leo Famulari; +Cc: guix-devel

Leo Famulari <leo@famulari.name> writes:

> On Mon, Sep 12, 2016 at 01:57:56PM +0000, ng0 wrote:
>> * gnu/packages/lisp.scm (lispf4)[arguments]: Remove unused
>> inputs from 'install phase.
>> [source](file-name): Append -checkout to the file-name.
>
> Pushed! Now to make it work :)

Thanks!

Well... I think I have to actually learn to write C and FORTRAN and not
only read and understand. The author seemed not very interested in
helping, they have either forgotten that they wanted to check the bug
out or it was just to satisfy me for the moment.

Or maybe we have someone here who can read and write FORTRAN and
C... FORTRAN is only needed to understand the original source, the
language itself is in C.

-- 
              ng0

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

* Re: [PATCH 1/2] gnu: Add femtolisp.
  2016-09-12 13:57 [PATCH 1/2] gnu: Add femtolisp ng0
  2016-09-12 13:57 ` [PATCH 2/2] gnu: lispf4: Remove unused inputs key ng0
@ 2016-09-13 19:40 ` Leo Famulari
  1 sibling, 0 replies; 6+ messages in thread
From: Leo Famulari @ 2016-09-13 19:40 UTC (permalink / raw)
  To: ng0; +Cc: guix-devel

On Mon, Sep 12, 2016 at 01:57:55PM +0000, ng0 wrote:
> * gnu/packages/lisp.scm (femtolisp): New variable.

Thanks! Pushed with the following minor changes:

> +  (let* ((commit "68c5b1225572ecf2c52baf62f928063e5a30511b")
> +        (revision "1"))

I made it use (let) instead of (let*). The difference is described here:
https://www.gnu.org/software/guile/manual/html_node/Local-Bindings.html#index-let

> +      (version (string-append "0.0.0-" revision "-" (string-take commit 7)))
                                                    ^
I used a '.' instead of a '-', to conform with the guidelines:
https://www.gnu.org/software/guix/manual/html_node/Version-Numbers.html

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

end of thread, other threads:[~2016-09-13 19:40 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-09-12 13:57 [PATCH 1/2] gnu: Add femtolisp ng0
2016-09-12 13:57 ` [PATCH 2/2] gnu: lispf4: Remove unused inputs key ng0
2016-09-13 19:00   ` Leo Famulari
2016-09-13 19:21     ` ng0
2016-09-13 19:40 ` [PATCH 1/2] gnu: Add femtolisp Leo Famulari
  -- strict thread matches above, loose matches on Subject: below --
2016-09-13 19:04 ng0
2016-09-13 19:04 ` [PATCH 2/2] gnu: lispf4: Remove unused inputs key ng0

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.