Merge branch 'master' into core-updates
[jackhill/guix/guix.git] / gnu / packages / swig.scm
CommitLineData
832e64bd
LC
1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.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 swig)
20 #:use-module (guix packages)
21 #:use-module (guix download)
22 #:use-module (guix licenses)
23 #:use-module (guix build-system gnu)
24 #:use-module (gnu packages pcre)
25 #:use-module (gnu packages guile)
0a643dc6 26 #:use-module (gnu packages boost)
832e64bd
LC
27 #:use-module (gnu packages python)
28 #:use-module (gnu packages perl)
29 #:export (swig))
30
31(define swig
32 (package
33 (name "swig")
34 (version "2.0.11")
35 (source (origin
36 (method url-fetch)
37 (uri (string-append "mirror://sourceforge/swig/swig-"
38 version ".tar.gz"))
39 (sha256
40 (base32
41 "0kj21b6syp62vx68r1j6azv9033kng68pxm1k79pm4skkzr0ny33"))))
42 (build-system gnu-build-system)
0a643dc6 43 (native-inputs `(("boost" ,boost)))
832e64bd
LC
44 (inputs `(("pcre" ,pcre)
45
46 ;; Provide these to run the corresponding tests.
47 ("guile" ,guile-2.0)
48 ("perl" ,perl)
49 ("python" ,python-wrapper)))
50 (home-page "http://swig.org/")
51 (synopsis
52 "Interface compiler that connects C/C++ code to higher-level languages")
53 (description
54 "SWIG is an interface compiler that connects programs written in C and
55C++ with languages such as Perl, Python, Ruby, Scheme, and Tcl. It works by
56taking the declarations found in C/C++ header files and using them to generate
57the wrapper code that scripting languages need to access the underlying C/C++
58code. In addition, SWIG provides a variety of customization features that let
59you tailor the wrapping process to suit your application.")
60
61 ;; See http://www.swig.org/Release/LICENSE for details.
62 (license gpl3+)))