gnu: Add emacs-slime.
[jackhill/guix/guix.git] / gnu / packages / lego.scm
CommitLineData
7ed01457
EB
1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2016 Eric Bavier <bavier@member.fsf.org>
3;;;
4;;; This file is part of GNU Guix.
5;;;
6;;; GNU Guix is free software; you can redistribute it and/or modify it
7;;; under the terms of the GNU General Public License as published by
8;;; the Free Software Foundation; either version 3 of the License, or (at
9;;; your option) any later version.
10;;;
11;;; GNU Guix is distributed in the hope that it will be useful, but
12;;; WITHOUT ANY WARRANTY; without even the implied warranty of
13;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14;;; GNU General Public License for more details.
15;;;
16;;; You should have received a copy of the GNU General Public License
17;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
18
19(define-module (gnu packages lego)
20 #:use-module ((guix licenses) #:prefix license:)
21 #:use-module (guix download)
22 #:use-module (guix packages)
23 #:use-module (guix build-system gnu)
24 #:use-module (gnu packages)
25 #:use-module (gnu packages bison)
26 #:use-module (gnu packages flex))
27
28(define-public nqc
29 (package
30 (name "nqc")
31 (version "3.1.r6")
32 (source (origin
33 (method url-fetch)
34 (uri (string-append "http://bricxcc.sourceforge.net/nqc/release/"
35 "nqc-" version ".tgz"))
36 (sha256
37 (base32
38 "0rp7pzr8xrdxpv75c2mi8zszzz2ypli4vvzxiic7mbrryrafdmdz"))))
39 (build-system gnu-build-system)
40 (native-inputs
41 `(("bison" ,bison)
42 ("flex" ,flex)))
43 (arguments
44 '(#:tests? #f ;no tests
45 #:make-flags (list (string-append "PREFIX=" %output))
46 #:phases (modify-phases %standard-phases
47 (delete 'configure)
48 (add-before 'build 'rm-generated
49 ;; Regenerating compiler/lexer.cpp avoids an 'undefined
50 ;; reference to `isatty(int)'' error.
51 (lambda _
52 (for-each delete-file
53 '("compiler/lexer.cpp"
54 "compiler/parse.cpp"))
55 #t))
56 (add-after 'unpack 'deal-with-tarbomb
57 (lambda _
58 (chdir "..") ;tarbomb
59 #t)))))
60 (home-page "http://bricxcc.sourceforge.net/nqc/")
61 (synopsis "C-like language for Lego's MINDSTORMS")
62 (description
63 "Not Quite C (NQC) is a simple language for programming several Lego
64MINDSTORMS products. The preprocessor and control structures of NQC are very
65similar to C. NQC is not a general purpose language -- there are many
66restrictions that stem from limitations of the standard RCX firmware.")
67 (license license:mpl1.0)))