GNU bug report logs -
#37411
[PATCH] gnu: Add fennel.
Previous Next
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 37411 in the body.
You can then email your comments to 37411 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
guix-patches <at> gnu.org
:
bug#37411
; Package
guix-patches
.
(Sun, 15 Sep 2019 17:30:03 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Alex ter Weele <alex.ter.weele <at> gmail.com>
:
New bug report received and forwarded. Copy sent to
guix-patches <at> gnu.org
.
(Sun, 15 Sep 2019 17:30:03 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Some limitations:
(require "fennelview") – i.e. requiring the library distributed with the
language – does not work. I spoke with members of freenode's #fennel and
a FENNEL_PATH could be added. In a future package definition,
wrap-program would set that variable. In the meantime, this can be
worked around:
fennel --add-fennel-path "$(guix build fennel )/share/?.fnl"
No native readline support. I have decided not to package
https://luarocks.org/modules/peterbillam/readline as fennel 0.2.1's use
of readline does not give more functionality than rlwrap.
[0001-gnu-Add-fennel.patch (text/x-patch, inline)]
From 08efecbbd181cc7db0c008b9740bc95ea2f78472 Mon Sep 17 00:00:00 2001
From: Alex ter Weele <alex.ter.weele <at> gmail.com>
Date: Sat, 7 Sep 2019 16:18:38 -0500
Subject: [PATCH] gnu: Add fennel.
* gnu/packages/fennel.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add fennel.scm.
---
gnu/local.mk | 1 +
gnu/packages/fennel.scm | 62 +++++++++++++++++++++++++++++++++++++++++
2 files changed, 63 insertions(+)
create mode 100644 gnu/packages/fennel.scm
diff --git a/gnu/local.mk b/gnu/local.mk
index b7a5ef825b..84bfc8df2c 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -176,6 +176,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/erlang.scm \
%D%/packages/fabric-management.scm \
%D%/packages/fcitx.scm \
+ %D%/packages/fennel.scm \
%D%/packages/figlet.scm \
%D%/packages/file.scm \
%D%/packages/file-systems.scm \
diff --git a/gnu/packages/fennel.scm b/gnu/packages/fennel.scm
new file mode 100644
index 0000000000..a5c8ba756d
--- /dev/null
+++ b/gnu/packages/fennel.scm
@@ -0,0 +1,62 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2019 Alex ter Weele <alex.ter.weele <at> gmail.com>
+
+(define-module (gnu packages fennel)
+ #:use-module (gnu packages lua)
+ #:use-module (guix packages)
+ #:use-module (guix build-system gnu)
+ #:use-module (guix git-download)
+ #:use-module ((guix licenses) #:prefix license:))
+
+(define-public fennel
+ (package
+ (name "fennel")
+ (version "0.2.1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/bakpakin/Fennel.git")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1yn2lyfcrsjcx60lxy0xcyl2rfk4r5pydbkcblpikpk6vhr10ws0"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:test-target "test"
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (delete 'build)
+ (replace 'install
+ (lambda _
+ (let* ((out (assoc-ref %outputs "out"))
+ (data (string-append out "/share/"))
+ (bin (string-append out "/bin/")))
+ (copy-recursively (assoc-ref %build-inputs "source") data)
+ (install-file "fennel" bin)
+ (wrap-program (string-append bin "fennel")
+ `("LUA_PATH" ":" prefix (,(string-append data "?.lua"))))))))))
+ (inputs
+ `(("lua" ,lua)))
+ (home-page "https://fennel-lang.org/")
+ (synopsis "Lua lisp language")
+ (description "Fennel is a programming language that brings together the
+speed, simplicity, and reach of Lua with the flexibility of a lisp syntax and
+macro system.
+
+ * Full Lua compatibility: Easily call any Lua function or library from
+Fennel and vice-versa.
+
+ * Zero overhead: Compiled code should be just as or more efficient than
+hand-written Lua.
+
+ * Compile-time macros: Ship compiled code with no runtime dependency on
+Fennel.
+
+ * Embeddable: Fennel is a one-file library as well as an executable.
+Embed it in other programs to support runtime extensibility and interactive
+development.
+
+Anywhere you can run Lua code, you can run Fennel code.")
+ (license license:x11)))
--
2.23.0
Information forwarded
to
guix-patches <at> gnu.org
:
bug#37411
; Package
guix-patches
.
(Mon, 23 Sep 2019 01:38:02 GMT)
Full text and
rfc822 format available.
Message #8 received at 37411 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
fennel 0.3.0 just released. Below is an updated patch. The new release
includes FENNEL_PATH, which is now populated by the package
definition, so (require "fennelview") now works, addressing a
shortcoming of the previous patch. The new release also includes
completion via readline, which is not supported in this package
definition. For that reason, I would consider this patch WIP.
[0001-gnu-Add-fennel.patch (text/x-patch, inline)]
From 5156cfff4e0e9c8b7223213ab28c891c97641e6c Mon Sep 17 00:00:00 2001
From: Alex ter Weele <alex.ter.weele <at> gmail.com>
Date: Sat, 7 Sep 2019 16:18:38 -0500
Subject: [PATCH] gnu: Add fennel.
* gnu/packages/fennel.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add fennel.scm.
---
gnu/local.mk | 1 +
gnu/packages/fennel.scm | 63 +++++++++++++++++++++++++++++++++++++++++
2 files changed, 64 insertions(+)
create mode 100644 gnu/packages/fennel.scm
diff --git a/gnu/local.mk b/gnu/local.mk
index b7a5ef825b..84bfc8df2c 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -176,6 +176,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/erlang.scm \
%D%/packages/fabric-management.scm \
%D%/packages/fcitx.scm \
+ %D%/packages/fennel.scm \
%D%/packages/figlet.scm \
%D%/packages/file.scm \
%D%/packages/file-systems.scm \
diff --git a/gnu/packages/fennel.scm b/gnu/packages/fennel.scm
new file mode 100644
index 0000000000..0bce77fa66
--- /dev/null
+++ b/gnu/packages/fennel.scm
@@ -0,0 +1,63 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2019 Alex ter Weele <alex.ter.weele <at> gmail.com>
+
+(define-module (gnu packages fennel)
+ #:use-module (gnu packages lua)
+ #:use-module (guix packages)
+ #:use-module (guix build-system gnu)
+ #:use-module (guix git-download)
+ #:use-module ((guix licenses) #:prefix license:))
+
+(define-public fennel
+ (package
+ (name "fennel")
+ (version "0.3.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/bakpakin/Fennel.git")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1d5kzgb9l2gdya1jqvp4ni03rd8v270fbhy5wxkjbhr9xf2xb14k"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:test-target "test"
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (delete 'build)
+ (replace 'install
+ (lambda _
+ (let* ((out (assoc-ref %outputs "out"))
+ (data (string-append out "/share/"))
+ (bin (string-append out "/bin/")))
+ (copy-recursively (assoc-ref %build-inputs "source") data)
+ (install-file "fennel" bin)
+ (wrap-program (string-append bin "fennel")
+ `("LUA_PATH" ";" prefix (,(string-append data "?.lua")))
+ `("FENNEL_PATH" ";" prefix (,(string-append data "?.fnl"))))))))))
+ (inputs
+ `(("lua" ,lua)))
+ (home-page "https://fennel-lang.org/")
+ (synopsis "Lua lisp language")
+ (description "Fennel is a programming language that brings together the
+speed, simplicity, and reach of Lua with the flexibility of a lisp syntax and
+macro system.
+
+ * Full Lua compatibility: Easily call any Lua function or library from
+Fennel and vice-versa.
+
+ * Zero overhead: Compiled code should be just as or more efficient than
+hand-written Lua.
+
+ * Compile-time macros: Ship compiled code with no runtime dependency on
+Fennel.
+
+ * Embeddable: Fennel is a one-file library as well as an executable.
+Embed it in other programs to support runtime extensibility and interactive
+development.
+
+Anywhere you can run Lua code, you can run Fennel code.")
+ (license license:x11)))
--
2.23.0
Information forwarded
to
guix-patches <at> gnu.org
:
bug#37411
; Package
guix-patches
.
(Tue, 24 Sep 2019 11:35:01 GMT)
Full text and
rfc822 format available.
Message #11 received at 37411 <at> debbugs.gnu.org (full text, mbox):
Alex ter Weele <alex.ter.weele <at> gmail.com> writes:
> fennel 0.3.0 just released. Below is an updated patch. The new release
> includes FENNEL_PATH, which is now populated by the package
> definition, so (require "fennelview") now works, addressing a
> shortcoming of the previous patch. The new release also includes
> completion via readline, which is not supported in this package
> definition. For that reason, I would consider this patch WIP.
>
We can also add a comment for the lack of readline, and go ahead :-)
>>From 5156cfff4e0e9c8b7223213ab28c891c97641e6c Mon Sep 17 00:00:00 2001
> From: Alex ter Weele <alex.ter.weele <at> gmail.com>
> Date: Sat, 7 Sep 2019 16:18:38 -0500
> Subject: [PATCH] gnu: Add fennel.
>
> * gnu/packages/fennel.scm: New file.
> * gnu/local.mk (GNU_SYSTEM_MODULES): Add fennel.scm.
> ---
> gnu/local.mk | 1 +
> gnu/packages/fennel.scm | 63 +++++++++++++++++++++++++++++++++++++++++
> 2 files changed, 64 insertions(+)
> create mode 100644 gnu/packages/fennel.scm
>
> diff --git a/gnu/local.mk b/gnu/local.mk
> index b7a5ef825b..84bfc8df2c 100644
> --- a/gnu/local.mk
> +++ b/gnu/local.mk
> @@ -176,6 +176,7 @@ GNU_SYSTEM_MODULES = \
> %D%/packages/erlang.scm \
> %D%/packages/fabric-management.scm \
> %D%/packages/fcitx.scm \
> + %D%/packages/fennel.scm \
> %D%/packages/figlet.scm \
> %D%/packages/file.scm \
> %D%/packages/file-systems.scm \
> diff --git a/gnu/packages/fennel.scm b/gnu/packages/fennel.scm
> new file mode 100644
> index 0000000000..0bce77fa66
> --- /dev/null
> +++ b/gnu/packages/fennel.scm
> @@ -0,0 +1,63 @@
> +;;; GNU Guix --- Functional package management for GNU
> +;;; Copyright © 2019 Alex ter Weele <alex.ter.weele <at> gmail.com>
> +
> +(define-module (gnu packages fennel)
> + #:use-module (gnu packages lua)
> + #:use-module (guix packages)
> + #:use-module (guix build-system gnu)
> + #:use-module (guix git-download)
> + #:use-module ((guix licenses) #:prefix license:))
> +
> +(define-public fennel
> + (package
> + (name "fennel")
> + (version "0.3.0")
> + (source (origin
> + (method git-fetch)
> + (uri (git-reference
> + (url "https://github.com/bakpakin/Fennel.git")
> + (commit version)))
> + (file-name (git-file-name name version))
> + (sha256
> + (base32
> + "1d5kzgb9l2gdya1jqvp4ni03rd8v270fbhy5wxkjbhr9xf2xb14k"))))
> + (build-system gnu-build-system)
> + (arguments
> + `(#:test-target "test"
> + #:phases
> + (modify-phases %standard-phases
> + (delete 'configure)
> + (delete 'build)
> + (replace 'install
> + (lambda _
> + (let* ((out (assoc-ref %outputs "out"))
> + (data (string-append out "/share/"))
> + (bin (string-append out "/bin/")))
> + (copy-recursively (assoc-ref %build-inputs "source") data)
> + (install-file "fennel" bin)
> + (wrap-program (string-append bin "fennel")
> + `("LUA_PATH" ";" prefix (,(string-append data "?.lua")))
> + `("FENNEL_PATH" ";" prefix (,(string-append data "?.fnl"))))))))))
Look at its source code, I think it should be installed like this:
fennel -> ${out}/bin/fennel
fennel.1 -> ${out}/share/man/man1/fennel.1
fennel.lua -> ${out}/share/lua/${lua-version}/fennel.lua
fennelview.fnl -> ${out}/share/fennel/fennelview.fnl
We may also pick some md files into ${out}/share/doc/fennel, and drop
other files... What do you think?
> + (inputs
> + `(("lua" ,lua)))
> + (home-page "https://fennel-lang.org/")
> + (synopsis "Lua lisp language")
> + (description "Fennel is a programming language that brings together the
> +speed, simplicity, and reach of Lua with the flexibility of a lisp syntax and
> +macro system.
> +
> + * Full Lua compatibility: Easily call any Lua function or library from
> +Fennel and vice-versa.
> +
> + * Zero overhead: Compiled code should be just as or more efficient than
> +hand-written Lua.
> +
> + * Compile-time macros: Ship compiled code with no runtime dependency on
> +Fennel.
> +
> + * Embeddable: Fennel is a one-file library as well as an executable.
> +Embed it in other programs to support runtime extensibility and interactive
> +development.
> +
> +Anywhere you can run Lua code, you can run Fennel code.")
> + (license license:x11)))
I think its license should be 'expat', 'x11' has an extra paragraph
talking about "X Consortium":
<https://directory.fsf.org/wiki/License:X11>
<https://directory.fsf.org/wiki/License:Expat>
Otherwise, look good to me, thank you!
Information forwarded
to
guix-patches <at> gnu.org
:
bug#37411
; Package
guix-patches
.
(Tue, 01 Oct 2019 21:18:01 GMT)
Full text and
rfc822 format available.
Message #14 received at 37411 <at> debbugs.gnu.org (full text, mbox):
Hi Alex,
Alex ter Weele <alex.ter.weele <at> gmail.com> skribis:
>>From 5156cfff4e0e9c8b7223213ab28c891c97641e6c Mon Sep 17 00:00:00 2001
> From: Alex ter Weele <alex.ter.weele <at> gmail.com>
> Date: Sat, 7 Sep 2019 16:18:38 -0500
> Subject: [PATCH] gnu: Add fennel.
>
> * gnu/packages/fennel.scm: New file.
> * gnu/local.mk (GNU_SYSTEM_MODULES): Add fennel.scm.
Some comments to complement what 宋文武 wrote earlier.
> +++ b/gnu/packages/fennel.scm
> @@ -0,0 +1,63 @@
> +;;; GNU Guix --- Functional package management for GNU
> +;;; Copyright © 2019 Alex ter Weele <alex.ter.weele <at> gmail.com>
> +
Please add a complete header as in the other files.
> + (replace 'install
> + (lambda _
> + (let* ((out (assoc-ref %outputs "out"))
> + (data (string-append out "/share/"))
> + (bin (string-append out "/bin/")))
> + (copy-recursively (assoc-ref %build-inputs "source") data)
> + (install-file "fennel" bin)
> + (wrap-program (string-append bin "fennel")
> + `("LUA_PATH" ";" prefix (,(string-append data "?.lua")))
> + `("FENNEL_PATH" ";" prefix (,(string-append data "?.fnl"))))))))))
Could you add #t at the end of the phase?
> + (home-page "https://fennel-lang.org/")
> + (synopsis "Lua lisp language")
Maybe “Lisp-like programming language embedded in Lua”?
> + (description "Fennel is a programming language that brings together the
> +speed, simplicity, and reach of Lua with the flexibility of a lisp syntax and
> +macro system.
> +
> + * Full Lua compatibility: Easily call any Lua function or library from
> +Fennel and vice-versa.
> +
> + * Zero overhead: Compiled code should be just as or more efficient than
> +hand-written Lua.
> +
> + * Compile-time macros: Ship compiled code with no runtime dependency on
> +Fennel.
> +
> + * Embeddable: Fennel is a one-file library as well as an executable.
> +Embed it in other programs to support runtime extensibility and interactive
> +development.
> +
> +Anywhere you can run Lua code, you can run Fennel code.")
Please use @itemize and @item for the bullet list.
Could you send an updated patch?
Thanks!
Ludo’.
Information forwarded
to
guix-patches <at> gnu.org
:
bug#37411
; Package
guix-patches
.
(Tue, 19 Nov 2019 09:40:01 GMT)
Full text and
rfc822 format available.
Message #17 received at 37411 <at> debbugs.gnu.org (full text, mbox):
Hi Alex,
Did you have a chance to look into it?
(See <https://issues.guix.gnu.org/issue/37411>.)
Thanks in advance,
Ludo’.
Ludovic Courtès <ludo <at> gnu.org> skribis:
> Hi Alex,
>
> Alex ter Weele <alex.ter.weele <at> gmail.com> skribis:
>
>>>>From 5156cfff4e0e9c8b7223213ab28c891c97641e6c Mon Sep 17 00:00:00 2001
>> From: Alex ter Weele <alex.ter.weele <at> gmail.com>
>> Date: Sat, 7 Sep 2019 16:18:38 -0500
>> Subject: [PATCH] gnu: Add fennel.
>>
>> * gnu/packages/fennel.scm: New file.
>> * gnu/local.mk (GNU_SYSTEM_MODULES): Add fennel.scm.
>
> Some comments to complement what 宋文武 wrote earlier.
>
>> +++ b/gnu/packages/fennel.scm
>> @@ -0,0 +1,63 @@
>> +;;; GNU Guix --- Functional package management for GNU
>> +;;; Copyright © 2019 Alex ter Weele <alex.ter.weele <at> gmail.com>
>> +
>
> Please add a complete header as in the other files.
>
>> + (replace 'install
>> + (lambda _
>> + (let* ((out (assoc-ref %outputs "out"))
>> + (data (string-append out "/share/"))
>> + (bin (string-append out "/bin/")))
>> + (copy-recursively (assoc-ref %build-inputs "source") data)
>> + (install-file "fennel" bin)
>> + (wrap-program (string-append bin "fennel")
>> + `("LUA_PATH" ";" prefix (,(string-append data "?.lua")))
>> + `("FENNEL_PATH" ";" prefix (,(string-append data "?.fnl"))))))))))
>
> Could you add #t at the end of the phase?
>
>> + (home-page "https://fennel-lang.org/")
>> + (synopsis "Lua lisp language")
>
> Maybe “Lisp-like programming language embedded in Lua”?
>
>> + (description "Fennel is a programming language that brings together the
>> +speed, simplicity, and reach of Lua with the flexibility of a lisp syntax and
>> +macro system.
>> +
>> + * Full Lua compatibility: Easily call any Lua function or library from
>> +Fennel and vice-versa.
>> +
>> + * Zero overhead: Compiled code should be just as or more efficient than
>> +hand-written Lua.
>> +
>> + * Compile-time macros: Ship compiled code with no runtime dependency on
>> +Fennel.
>> +
>> + * Embeddable: Fennel is a one-file library as well as an executable.
>> +Embed it in other programs to support runtime extensibility and interactive
>> +development.
>> +
>> +Anywhere you can run Lua code, you can run Fennel code.")
>
> Please use @itemize and @item for the bullet list.
>
> Could you send an updated patch?
>
> Thanks!
>
> Ludo’.
Information forwarded
to
guix-patches <at> gnu.org
:
bug#37411
; Package
guix-patches
.
(Tue, 19 Nov 2019 13:52:02 GMT)
Full text and
rfc822 format available.
Message #20 received at 37411 <at> debbugs.gnu.org (full text, mbox):
Hi, sorry for the delay, I'm definitely able to make the changes, but
unfortunately I haven't gotten around to them.
Thanks to both of you for the review comments! I appreciate the eye for
detail :)
Reply sent
to
Jelle Licht <jlicht <at> fsfe.org>
:
You have taken responsibility.
(Sun, 28 May 2023 21:32:02 GMT)
Full text and
rfc822 format available.
Notification sent
to
Alex ter Weele <alex.ter.weele <at> gmail.com>
:
bug acknowledged by developer.
(Sun, 28 May 2023 21:32:02 GMT)
Full text and
rfc822 format available.
Message #25 received at 37411-done <at> debbugs.gnu.org (full text, mbox):
Alex ter Weele <alex.ter.weele <at> gmail.com> writes:
> Hi, sorry for the delay, I'm definitely able to make the changes, but
> unfortunately I haven't gotten around to them.
>
> Thanks to both of you for the review comments! I appreciate the eye for
> detail :)
Closing, as fennel <at> 1.3.0 has been available for a good while already.
- Jelle
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Mon, 26 Jun 2023 11:24:04 GMT)
Full text and
rfc822 format available.
This bug report was last modified 1 year and 320 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.