From 1a51fe2768e7be1fd5eace4ef1b6d6f0b51e2e50 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 31 Aug 2015 22:46:32 +0200 Subject: [PATCH] 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. --- gnu-system.am | 1 + gnu/packages/gtk.scm | 40 +++++++++++++++++++ .../patches/guile-rsvg-pkgconfig.patch | 16 ++++++++ 3 files changed, 57 insertions(+) create mode 100644 gnu/packages/patches/guile-rsvg-pkgconfig.patch diff --git a/gnu-system.am b/gnu-system.am index ab4308139d..3e6ee158f0 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -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 \ diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index e826609bca..d500fc0e38 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -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. diff --git a/gnu/packages/patches/guile-rsvg-pkgconfig.patch b/gnu/packages/patches/guile-rsvg-pkgconfig.patch new file mode 100644 index 0000000000..2272b4e1cd --- /dev/null +++ b/gnu/packages/patches/guile-rsvg-pkgconfig.patch @@ -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)