gnu: Add Guile-RSVG.

* gnu/packages/gtk.scm (guile-rsvg): New variable.
* gnu/packages/patches/guile-rsvg-pkgconfig.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
This commit is contained in:
Ludovic Courtès 2015-08-31 22:46:32 +02:00
parent 821664f115
commit 1a51fe2768
3 changed files with 57 additions and 0 deletions

View File

@ -487,6 +487,7 @@ dist_patch_DATA = \
gnu/packages/patches/guile-default-utf8.patch \
gnu/packages/patches/guile-linux-syscalls.patch \
gnu/packages/patches/guile-relocatable.patch \
gnu/packages/patches/guile-rsvg-pkgconfig.patch \
gnu/packages/patches/gtkglext-disable-disable-deprecated.patch \
gnu/packages/patches/hop-bigloo-4.0b.patch \
gnu/packages/patches/hop-linker-flags.patch \

View File

@ -33,6 +33,8 @@
#:use-module (guix build-system waf)
#:use-module (gnu packages)
#:use-module (gnu packages algebra)
#:use-module (gnu packages autotools)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages docbook)
@ -632,6 +634,44 @@ graphics library with all of the benefits of Scheme: memory management,
exceptions, macros, and a dynamic programming environment.")
(license license:lgpl3+)))
(define-public guile-rsvg
(package
(name "guile-rsvg")
(version "2.18.1")
(source (origin
(method url-fetch)
(uri (string-append "http://wingolog.org/pub/guile-rsvg/"
name "-" version ".tar.gz"))
(sha256
(base32
"136f236iw3yrrz6pkkp1ma9c5mrs5icqha6pnawinqpk892r3jh7"))
(patches (list (search-patch "guile-rsvg-pkgconfig.patch")))
(modules '((guix build utils)))
(snippet
'(substitute* (find-files "." "Makefile\\.am")
(("/share/guile/site")
"/share/guile/site/2.0")))))
(build-system gnu-build-system)
(arguments
`(#:phases (modify-phases %standard-phases
(add-before 'configure 'bootstrap
(lambda _
(zero? (system* "autoreconf" "-vfi")))))))
(native-inputs `(("pkg-config" ,pkg-config)
("autoconf" ,autoconf)
("automake" ,automake)
("libtool" ,libtool)
("texinfo" ,texinfo)))
(inputs `(("guile" ,guile-2.0)
("librsvg" ,librsvg)
("guile-lib" ,guile-lib))) ;for (unit-test)
(propagated-inputs `(("guile-cairo" ,guile-cairo)))
(synopsis "Render SVG images using Cairo from Guile")
(description
"Guile-RSVG wraps the RSVG library for Guile, allowing you to render SVG
images onto Cairo surfaces.")
(home-page "http://wingolog.org/projects/guile-rsvg/")
(license license:lgpl2.1+)))
;;;
;;; C++ bindings.

View File

@ -0,0 +1,16 @@
This patch fixes a bug in guile-rsvg's build system, whereby the CFLAGS
and LDFLAGS for Guile would not be captured.
--- guile-rsvg-2.18.1/configure.ac 2015-08-31 22:30:30.578909480 +0200
+++ guile-rsvg-2.18.1/configure.ac 2015-08-31 22:32:15.071516084 +0200
@@ -39,6 +39,10 @@ AC_SUBST(WARN_CFLAGS)
GUILE_PKG([2.2 2.0 1.8])
+dnl The above macro fails to set the 'GUILE_CFLAGS' and 'GUILE_LIBS'
+dnl substitution variables, hence this line.
+PKG_CHECK_MODULES(GUILE, guile-2.0)
+
PKG_CHECK_MODULES(GUILE_CAIRO, guile-cairo >= 1.4.0)
AC_SUBST(GUILE_CAIRO_LIBS)
AC_SUBST(GUILE_CAIRO_CFLAGS)