Commit | Line | Data |
---|---|---|
712e6e68 CR |
1 | ;;; GNU Guix --- Functional package management for GNU |
2 | ;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com> | |
924cd631 | 3 | ;;; Copyright © 2014 Raimon Grau <raimonster@gmail.com> |
a2c03fb1 | 4 | ;;; Copyright © 2014 Mark H Weaver <mhw@netris.org> |
90f80bf2 | 5 | ;;; Copyright © 2014 Andreas Enge <andreas@enge.fr> |
712e6e68 CR |
6 | ;;; |
7 | ;;; This file is part of GNU Guix. | |
8 | ;;; | |
9 | ;;; GNU Guix is free software; you can redistribute it and/or modify it | |
10 | ;;; under the terms of the GNU General Public License as published by | |
11 | ;;; the Free Software Foundation; either version 3 of the License, or (at | |
12 | ;;; your option) any later version. | |
13 | ;;; | |
14 | ;;; GNU Guix is distributed in the hope that it will be useful, but | |
15 | ;;; WITHOUT ANY WARRANTY; without even the implied warranty of | |
16 | ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
17 | ;;; GNU General Public License for more details. | |
18 | ;;; | |
19 | ;;; You should have received a copy of the GNU General Public License | |
20 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | |
21 | ||
22 | (define-module (gnu packages lua) | |
23 | #:use-module (guix licenses) | |
24 | #:use-module (guix packages) | |
25 | #:use-module (guix download) | |
26 | #:use-module (guix build-system gnu) | |
27 | #:use-module (gnu packages) | |
28 | #:use-module (gnu packages readline)) | |
29 | ||
30 | (define-public lua | |
31 | (package | |
32 | (name "lua") | |
7b297795 | 33 | (version "5.2.3") |
712e6e68 CR |
34 | (source (origin |
35 | (method url-fetch) | |
36 | (uri (string-append "http://www.lua.org/ftp/lua-" | |
37 | version ".tar.gz")) | |
38 | (sha256 | |
7b297795 | 39 | (base32 "0b8034v1s82n4dg5rzcn12067ha3nxaylp2vdp8gg08kjsbzphhk")))) |
712e6e68 CR |
40 | (build-system gnu-build-system) |
41 | (inputs `(("readline", readline))) | |
42 | (arguments | |
43 | '(#:modules ((guix build gnu-build-system) | |
44 | (guix build utils) | |
45 | (srfi srfi-1)) | |
46 | #:test-target "test" | |
47 | #:phases (alist-replace | |
48 | 'build | |
90f80bf2 | 49 | (lambda _ (zero? (system* "make" "CFLAGS=-fPIC" "linux"))) |
712e6e68 CR |
50 | (alist-replace |
51 | 'install | |
52 | (lambda* (#:key outputs #:allow-other-keys) | |
53 | (let ((out (assoc-ref outputs "out"))) | |
a2c03fb1 MW |
54 | (zero? (system* "make" "install" |
55 | (string-append "INSTALL_TOP=" out) | |
56 | (string-append "INSTALL_MAN=" out | |
57 | "/share/man/man1"))))) | |
712e6e68 CR |
58 | (alist-delete 'configure %standard-phases))))) |
59 | (home-page "http://www.lua.org/") | |
60 | (synopsis "An embeddable scripting language.") | |
61 | (description | |
62 | "Lua is a powerful, fast, lightweight, embeddable scripting language. Lua | |
63 | combines simple procedural syntax with powerful data description constructs | |
64 | based on associative arrays and extensible semantics. Lua is dynamically typed, | |
65 | runs by interpreting bytecode for a register-based virtual machine, and has | |
66 | automatic memory management with incremental garbage collection, making it ideal | |
67 | for configuration, scripting, and rapid prototyping.") | |
68 | (license x11))) | |
924cd631 | 69 | |
01d3f19b AE |
70 | (define-public lua-5.1 |
71 | (package (inherit lua) | |
72 | (version "5.1.5") | |
73 | (source (origin | |
74 | (method url-fetch) | |
75 | (uri (string-append "http://www.lua.org/ftp/lua-" | |
76 | version ".tar.gz")) | |
77 | (sha256 | |
78 | (base32 "0cskd4w0g6rdm2q8q3i4n1h3j8kylhs3rq8mxwl9vwlmlxbgqh16")))))) | |
79 | ||
924cd631 RG |
80 | (define-public luajit |
81 | (package | |
82 | (name "luajit") | |
32beec1c | 83 | (version "2.0.3") |
924cd631 RG |
84 | (source (origin |
85 | (method url-fetch) | |
86 | (uri (string-append "http://luajit.org/download/LuaJIT-" | |
87 | version ".tar.gz")) | |
88 | (sha256 | |
32beec1c | 89 | (base32 "0ydxpqkmsn2c341j4r2v6r5r0ig3kbwv3i9jran3iv81s6r6rgjm")))) |
924cd631 RG |
90 | (build-system gnu-build-system) |
91 | (arguments | |
92 | '(#:tests? #f ;luajit is distributed without tests | |
93 | #:phases (alist-delete 'configure %standard-phases) | |
94 | #:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out"))))) | |
95 | (home-page "http://www.luajit.org/") | |
96 | (synopsis "Just in time compiler for Lua programming language version 5.1") | |
97 | (description | |
98 | "LuaJIT is a Just-In-Time Compiler (JIT) for the Lua | |
99 | programming language. Lua is a powerful, dynamic and light-weight programming | |
100 | language. It may be embedded or used as a general-purpose, stand-alone | |
101 | language.") | |
102 | (license x11))) |