1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
| | ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2019 Alex ter Weele <alex.ter.weele@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)))
|