all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* [bug#60372] [PATCH] gnu: lisp: Add lfe.
@ 2022-12-28  1:52 jgart via Guix-patches via
  2022-12-28  4:05 ` [bug#60372] [PATCH v2] " jgart via Guix-patches via
  0 siblings, 1 reply; 4+ messages in thread
From: jgart via Guix-patches via @ 2022-12-28  1:52 UTC (permalink / raw)
  To: 60372; +Cc: jgart

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

diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index 753952152e..5919a6017e 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -66,6 +66,7 @@ (define-module (gnu packages lisp)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages dbm)
   #:use-module (gnu packages ed)
+  #:use-module (gnu packages erlang)
   #:use-module (gnu packages fontutils)
   #:use-module (gnu packages gcc)
   #:use-module (gnu packages gettext)
@@ -1228,6 +1229,40 @@ (define-public picolisp
        (inherit picolisp32)
        (name "picolisp")))))
 
+(define-public lfe
+  (package
+    (name "lfe")
+    (version "2.0.1")
+    (source 
+      (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/lfe/lfe")
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "0a5cfnk3021idvv4bv2lvnksjy9d0yyd13bnj793ks86j5f3hdv5"))))
+    (build-system gnu-build-system)
+    (propagated-inputs (list erlang))
+    (arguments 
+      (list #:tests? #f
+            #:make-flags
+            #~(list (string-append "PREFIX=" #$output))
+            #:phases
+            #~(modify-phases %standard-phases
+                (delete 'configure)
+                ;; https://github.com/lfe/lfe/pull/449
+                (add-after 'unpack 'patch-gcc
+                  (lambda* (#:key inputs #:allow-other-keys)
+                    (substitute* "Makefile"
+                      (("cc") #$(cc-for-target))))))))
+    (synopsis "Lisp Flavoured Erlang")
+    (description "LFE, Lisp Flavoured Erlang, is a lisp syntax front-end
+to the Erlang compiler.  Code produced with LFE is compatible with normal
+Erlang code.  An @code{lfe} evaluator and shell is also included.")
+    (home-page "https://lfe.io/")
+    (license license:asl2.0)))
+
 (define-public janet
   (package
     (name "janet")
-- 
2.38.1





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

* [bug#60372] [PATCH v2] gnu: lisp: Add lfe.
  2022-12-28  1:52 [bug#60372] [PATCH] gnu: lisp: Add lfe jgart via Guix-patches via
@ 2022-12-28  4:05 ` jgart via Guix-patches via
  2023-03-21 14:25   ` [bug#60372] [PATCH] " Maxim Cournoyer
  2023-03-21 14:32   ` jgart via Guix-patches via
  0 siblings, 2 replies; 4+ messages in thread
From: jgart via Guix-patches via @ 2022-12-28  4:05 UTC (permalink / raw)
  To: 60372; +Cc: jgart

* gnu/packages/lisp.scm (lfe): New variable.

Here's a v2 but this a WIP as the tests are disabled. Unless we can
merge this and enable the tests later after we figure out whether we
want to do that with rebar-build-system or via a custom phase?

I have an issue open here asking about running the tests:

https://github.com/lfe/lfe/issues/450

I tried running the tests by manually calling rebar but I get a homeless-shelter write error.

For test commands that I tried see the following section in the lfe project's CI:

https://github.com/lfe/lfe/blob/develop/.github/workflows/cicd.yml#L36

If anyone would like to collaborate on this patch feel free to make
changes and just list me as co-author with you.

all best,

jgart
---
 gnu/packages/lisp.scm | 35 +++++++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)

diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index 753952152e..67105a5c93 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -66,6 +66,7 @@ (define-module (gnu packages lisp)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages dbm)
   #:use-module (gnu packages ed)
+  #:use-module (gnu packages erlang)
   #:use-module (gnu packages fontutils)
   #:use-module (gnu packages gcc)
   #:use-module (gnu packages gettext)
@@ -1228,6 +1229,40 @@ (define-public picolisp
        (inherit picolisp32)
        (name "picolisp")))))
 
+(define-public lfe
+  (package
+    (name "lfe")
+    (version "2.0.1")
+    (source 
+      (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/lfe/lfe")
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "0a5cfnk3021idvv4bv2lvnksjy9d0yyd13bnj793ks86j5f3hdv5"))))
+    (build-system gnu-build-system)
+    (inputs (list erlang))
+    (arguments 
+      (list #:tests? #f
+            #:make-flags
+            #~(list (string-append "PREFIX=" #$output))
+            #:phases
+            #~(modify-phases %standard-phases
+                (delete 'configure)
+                ;; https://github.com/lfe/lfe/pull/449
+                (add-after 'unpack 'patch-gcc
+                  (lambda* (#:key inputs #:allow-other-keys)
+                    (substitute* "Makefile"
+                      (("cc") #$(cc-for-target))))))))
+    (synopsis "Lisp Flavoured Erlang")
+    (description "LFE, Lisp Flavoured Erlang, is a lisp syntax front-end
+to the Erlang compiler.  Code produced with LFE is compatible with normal
+Erlang code.  An @code{lfe} evaluator and shell is also included.")
+    (home-page "https://lfe.io/")
+    (license license:asl2.0)))
+
 (define-public janet
   (package
     (name "janet")
-- 
2.38.1





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

* [bug#60372] [PATCH] gnu: lisp: Add lfe.
  2022-12-28  4:05 ` [bug#60372] [PATCH v2] " jgart via Guix-patches via
@ 2023-03-21 14:25   ` Maxim Cournoyer
  2023-03-21 14:32   ` jgart via Guix-patches via
  1 sibling, 0 replies; 4+ messages in thread
From: Maxim Cournoyer @ 2023-03-21 14:25 UTC (permalink / raw)
  To: jgart; +Cc: 60372

Hi,

jgart <jgart@dismail.de> writes:

> * gnu/packages/lisp.scm (lfe): New variable.

I think that should go in (gnu packages erlang).  Also, the convention
is to use just 'gnu: ' as prefix, not 'gnu: module:'.

> Here's a v2 but this a WIP as the tests are disabled. Unless we can
> merge this and enable the tests later after we figure out whether we
> want to do that with rebar-build-system or via a custom phase?
>
> I have an issue open here asking about running the tests:
>
> https://github.com/lfe/lfe/issues/450
>
> I tried running the tests by manually calling rebar but I get a homeless-shelter write error.

You could try setting HOME to /tmp.  Search for existing set-HOME
phases in the code base.

> For test commands that I tried see the following section in the lfe project's CI:
>
> https://github.com/lfe/lfe/blob/develop/.github/workflows/cicd.yml#L36
>
> If anyone would like to collaborate on this patch feel free to make
> changes and just list me as co-author with you.
>
> all best,
>
> jgart
> ---
>  gnu/packages/lisp.scm | 35 +++++++++++++++++++++++++++++++++++
>  1 file changed, 35 insertions(+)
>
> diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
> index 753952152e..67105a5c93 100644
> --- a/gnu/packages/lisp.scm
> +++ b/gnu/packages/lisp.scm
> @@ -66,6 +66,7 @@ (define-module (gnu packages lisp)
>    #:use-module (gnu packages compression)
>    #:use-module (gnu packages dbm)
>    #:use-module (gnu packages ed)
> +  #:use-module (gnu packages erlang)
>    #:use-module (gnu packages fontutils)
>    #:use-module (gnu packages gcc)
>    #:use-module (gnu packages gettext)
> @@ -1228,6 +1229,40 @@ (define-public picolisp
>         (inherit picolisp32)
>         (name "picolisp")))))
>
> +(define-public lfe
> +  (package
> +    (name "lfe")
> +    (version "2.0.1")
> +    (source
> +      (origin
> +       (method git-fetch)
> +       (uri (git-reference
> +             (url "https://github.com/lfe/lfe")
> +             (commit version)))
> +       (file-name (git-file-name name version))
> +       (sha256
> +        (base32 "0a5cfnk3021idvv4bv2lvnksjy9d0yyd13bnj793ks86j5f3hdv5"))))
> +    (build-system gnu-build-system)
> +    (inputs (list erlang))
> +    (arguments
> +      (list #:tests? #f
> +            #:make-flags
> +            #~(list (string-append "PREFIX=" #$output))
> +            #:phases
> +            #~(modify-phases %standard-phases
> +                (delete 'configure)
> +                ;; https://github.com/lfe/lfe/pull/449
> +                (add-after 'unpack 'patch-gcc
> +                  (lambda* (#:key inputs #:allow-other-keys)
> +                    (substitute* "Makefile"
> +                      (("cc") #$(cc-for-target))))))))

You can set 'cc' as a Make flag; that'd be more elegant.

-- 
Thanks,
Maxim




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

* [bug#60372] [PATCH] gnu: lisp: Add lfe.
  2022-12-28  4:05 ` [bug#60372] [PATCH v2] " jgart via Guix-patches via
  2023-03-21 14:25   ` [bug#60372] [PATCH] " Maxim Cournoyer
@ 2023-03-21 14:32   ` jgart via Guix-patches via
  1 sibling, 0 replies; 4+ messages in thread
From: jgart via Guix-patches via @ 2023-03-21 14:32 UTC (permalink / raw)
  To: Maxim Cournoyer; +Cc: 60372

Hi Maxim,

Thanks for the review.

I think this will need to be written in terms of the rebar-build-system:

https://github.com/lfe/lfe/issues/441

Otherwise, it might be painful to run the tests. Even upstream is unsure of how to run the tests if building with a Makefile.

Just leaving this additional note here for when I get back to this.

all best,

jgart




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

end of thread, other threads:[~2023-03-21 14:33 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-12-28  1:52 [bug#60372] [PATCH] gnu: lisp: Add lfe jgart via Guix-patches via
2022-12-28  4:05 ` [bug#60372] [PATCH v2] " jgart via Guix-patches via
2023-03-21 14:25   ` [bug#60372] [PATCH] " Maxim Cournoyer
2023-03-21 14:32   ` jgart via Guix-patches via

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.