;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013, 2015 Ludovic Courtès ;;; Copyright © 2015 Mark H Weaver ;;; ;;; This file is part of GNU Guix. ;;; ;;; GNU Guix is free software; you can redistribute it and/or modify it ;;; under the terms of the GNU General Public License as published by ;;; the Free Software Foundation; either version 3 of the License, or (at ;;; your option) any later version. ;;; ;;; GNU Guix is distributed in the hope that it will be useful, but ;;; WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;;; GNU General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License ;;; along with GNU Guix. If not, see . (define-module (gnu packages swig) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix licenses) #:use-module (guix build-system gnu) #:use-module (gnu packages pcre) #:use-module (gnu packages guile) #:use-module (gnu packages boost) #:use-module (gnu packages python) #:use-module (gnu packages perl) #:export (swig)) (define swig (package (name "swig") (version "3.0.5") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/swig/swig-" version ".tar.gz")) (sha256 (base32 "0g1a69vrqxgsnr1wkx851ljn73a2x3jqzxa66s2l3w0kyblbjk4z")))) (build-system gnu-build-system) (native-inputs `(("boost" ,boost))) (inputs `(("pcre" ,pcre) ;; Provide these to run the corresponding tests. ("guile" ,guile-2.0) ("perl" ,perl))) ;; FIXME: reactivate input python as soon as the test failures ;; fatal error: Python.h: No such file or directory ;; # include ;; are fixed. ;; The python part probably never worked and does not seem to ;; be needed for currently dependent packages. ;; ("python" ,python-wrapper))) (home-page "http://swig.org/") (synopsis "Interface compiler that connects C/C++ code to higher-level languages") (description "SWIG is an interface compiler that connects programs written in C and C++ with languages such as Perl, Python, Ruby, Scheme, and Tcl. It works by taking the declarations found in C/C++ header files and using them to generate the wrapper code that scripting languages need to access the underlying C/C++ code. In addition, SWIG provides a variety of customization features that let you tailor the wrapping process to suit your application.") ;; See http://www.swig.org/Release/LICENSE for details. (license gpl3+))) ='msg-avail'>...Fixes <https://bugs.gnu.org/27551>. Reported by Leo Famulari <leo@famulari.name>. This reinstates the following commits: e3ddb1e83 * gnu: guile-cairo: Switch to Guile 2.2. ae5c6ef39 * gnu: guile-gnome: Update to 2.16.5. 0fd8013fc * gnu: guile-rsvg: Update to commit 05c6a2fd. 66b9183c4 * gnu: guile-lib: Switch to Guile 2.2. and adds the following changes: * gnu/bootloader/grub.scm (svg->png): Add 'package->derivation' call for GUILE-2.2. Pass #:guile-for-build to 'gexp->derivation'. * gnu/build/svg.scm (svg->png): Add 'em' and 'ex' to the 'let-values' form to account for all the values returned by 'rsvg-handle-get-dimensions', which Guile 2.2 does not truncate. Ludovic Courtès 2016-10-25svg: Autoload Guile-RSVG and Guile-Cairo....Fixes compilation by 'guix pull' where Guile-{RSVG,Cairo} are missing. Reported by Efraim Flashner. * gnu/build/svg.scm: Use 'module-autoload!' rather than 'module-use!'. Ludovic Courtès 2016-10-25system: grub: Use Guile-{RSVG,Cairo} instead of Inkscape + ImageMagick....Based on a suggestion by Andy Wingo at <https://lists.gnu.org/archive/html/guix-devel/2015-08/msg00753.html>. * gnu/build/svg.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. * gnu/system/grub.scm (svg->png): Add #:width and #:height. Rewrite to use (gnu build svg). (resize-image): Remove. (grub-background-image): Adjust accordingly. Ludovic Courtès