Commit | Line | Data |
---|---|---|
1c207a76 RW |
1 | ;;; GNU Guix --- Functional package management for GNU |
2 | ;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net> | |
5d632728 | 3 | ;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr> |
1c207a76 RW |
4 | ;;; |
5 | ;;; This file is part of GNU Guix. | |
6 | ;;; | |
7 | ;;; GNU Guix is free software; you can redistribute it and/or modify it | |
8 | ;;; under the terms of the GNU General Public License as published by | |
9 | ;;; the Free Software Foundation; either version 3 of the License, or (at | |
10 | ;;; your option) any later version. | |
11 | ;;; | |
12 | ;;; GNU Guix is distributed in the hope that it will be useful, but | |
13 | ;;; WITHOUT ANY WARRANTY; without even the implied warranty of | |
14 | ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
15 | ;;; GNU General Public License for more details. | |
16 | ;;; | |
17 | ;;; You should have received a copy of the GNU General Public License | |
18 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | |
19 | ||
20 | (define-module (gnu packages ragel) | |
21 | #:use-module ((guix licenses) #:prefix license:) | |
22 | #:use-module (guix packages) | |
23 | #:use-module (guix download) | |
24 | #:use-module (guix build-system gnu) | |
25 | #:use-module (gnu packages)) | |
26 | ||
27 | (define-public ragel | |
28 | (package | |
29 | (name "ragel") | |
5d632728 | 30 | (version "6.10") |
1c207a76 RW |
31 | (source (origin |
32 | (method url-fetch) | |
da9e1320 | 33 | (uri (string-append "https://www.colm.net/files/ragel/ragel-" |
1c207a76 RW |
34 | version ".tar.gz")) |
35 | (sha256 | |
36 | (base32 | |
5d632728 | 37 | "0gvcsl62gh6sg73nwaxav4a5ja23zcnyxncdcdnqa2yjcpdnw5az")))) |
1c207a76 | 38 | (build-system gnu-build-system) |
da9e1320 | 39 | (home-page "https://www.colm.net/open-source/ragel/") |
1c207a76 RW |
40 | (synopsis "State machine compiler") |
41 | (description | |
42 | "Ragel compiles executable finite state machines from regular languages. | |
43 | Ragel targets C, C++, Obj-C, C#, D, Java, Go and Ruby. Ragel state machines | |
44 | can not only recognize byte sequences as regular expression machines do, but | |
45 | can also execute code at arbitrary points in the recognition of a regular | |
46 | language. Code embedding is done using inline operators that do not disrupt | |
47 | the regular language syntax.") | |
48 | ;; GPLv2 (or later) with exception for generated code. | |
49 | (license license:gpl2+))) | |
50 |