summaryrefslogtreecommitdiff
path: root/gnu/packages/gnome.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2021-12-02 11:18:02 +0100
committerLudovic Courtès <ludo@gnu.org>2021-12-02 14:59:56 +0100
commit8477a6d743f3068e449402ade739355878242377 (patch)
treefac1ff128271e9a7fa66e7b9ad634858c50871a6 /gnu/packages/gnome.scm
parent37c475ebc05d8e52d2345da6d12e466c4647cc8a (diff)
downloadguix-patches-8477a6d743f3068e449402ade739355878242377.tar
guix-patches-8477a6d743f3068e449402ade739355878242377.tar.gz
gnu: librsvg: Reintroduce version 2.40.
* gnu/packages/gnome.scm (librsvg-2.40): New variable.
Diffstat (limited to 'gnu/packages/gnome.scm')
-rw-r--r--gnu/packages/gnome.scm62
1 files changed, 62 insertions, 0 deletions
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 35ac02272a..fd67be7a42 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -3617,6 +3617,68 @@ diagrams.")
(home-page "https://wiki.gnome.org/LibRsvg")
(license license:lgpl2.1+)))
+(define-public librsvg-2.40
+ ;; This is the last version implemented in C.
+ (package
+ (inherit librsvg)
+ (version "2.40.21")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnome/sources/librsvg/"
+ (version-major+minor version)
+ "/librsvg-" version ".tar.xz"))
+ (sha256
+ (base32
+ "1fljkag2gr7c4k5mn798lgf9903xslz8h51bgvl89nnay42qjqpp"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:configure-flags (list "--disable-static")
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'configure 'pre-configure
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "gdk-pixbuf-loader/Makefile.in"
+ ;; By default the gdk-pixbuf loader is installed under
+ ;; gdk-pixbuf's prefix. Work around that.
+ (("gdk_pixbuf_moduledir = .*$")
+ (string-append "gdk_pixbuf_moduledir = "
+ "$(prefix)/lib/gdk-pixbuf-2.0/2.10.0/"
+ "loaders\n"))
+ ;; Drop the 'loaders.cache' file, it's in gdk-pixbuf+svg.
+ (("gdk_pixbuf_cache_file = .*$")
+ "gdk_pixbuf_cache_file = $(TMPDIR)/loaders.cache\n"))
+ #t))
+ (add-before 'check 'remove-failing-tests
+ (lambda _
+ (with-directory-excursion "tests/fixtures/reftests"
+ (for-each delete-file
+ '(;; This test fails on i686:
+ "svg1.1/masking-path-04-b.svg"
+ ;; This test fails on armhf:
+ "svg1.1/masking-mask-01-b.svg"
+ ;; This test fails on aarch64:
+ "bugs/777834-empty-text-children.svg")))
+ #t)))))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)
+ ("glib" ,glib "bin") ; glib-mkenums, etc.
+ ("gobject-introspection" ,gobject-introspection))) ; g-ir-compiler, etc.
+ (inputs
+ `(;; XXX: 1.44 causes some test failures, so we stick with 1.42 for
+ ;; this ancient version of librsvg.
+ ("pango" ,pango-1.42)
+ ("libcroco" ,libcroco)
+ ("bzip2" ,bzip2)
+ ("libgsf" ,libgsf)
+ ("libxml2" ,libxml2)))
+ (propagated-inputs
+ ;; librsvg-2.0.pc refers to all of that.
+ `(("cairo" ,cairo)
+ ("gdk-pixbuf" ,gdk-pixbuf)
+ ("glib" ,glib)))
+ (synopsis "Render SVG files using Cairo (ancient C version)")
+ (properties '((hidden? . #t)))))
+
(define-public libidl
(package
(name "libidl")