mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-11-07 15:36:20 -05:00
gnu: gegl: Update to 0.4.46.
* gnu/packages/gimp.scm (gegl): Update to 0.4.46. * gnu/packages/gimp.scm (gegl-0.4.44): New variable. * gnu/packages/gnome.scm (gnome-photos)[inputs]: Replace gegl with gegl-0.4.44. Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
This commit is contained in:
parent
0b4a20e448
commit
4beac7d95c
4 changed files with 107 additions and 3 deletions
|
@ -1239,6 +1239,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/gdm-remove-hardcoded-xwayland-path.patch \
|
||||
%D%/packages/patches/gdm-wayland-session-wrapper-from-env.patch \
|
||||
%D%/packages/patches/gdm-pass-gdk-pixbuf-loader-env.patch \
|
||||
%D%/packages/patches/gegl-compatibility-old-librsvg.patch \
|
||||
%D%/packages/patches/gemmi-fix-pegtl-usage.patch \
|
||||
%D%/packages/patches/gemmi-fix-sajson-types.patch \
|
||||
%D%/packages/patches/genimage-mke2fs-test.patch \
|
||||
|
|
|
@ -215,7 +215,7 @@ (define-public babl
|
|||
(define-public gegl
|
||||
(package
|
||||
(name "gegl")
|
||||
(version "0.4.42")
|
||||
(version "0.4.46")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -228,8 +228,10 @@ (define-public gegl
|
|||
(string-append "ftp://ftp.gtk.org/pub/gegl/"
|
||||
(version-major+minor version)
|
||||
"/gegl-" version ".tar.xz")))
|
||||
(patches
|
||||
(search-patches "gegl-compatibility-old-librsvg.patch"))
|
||||
(sha256
|
||||
(base32 "0bg0vlmj4n9x1291b9fsjqxsal192zlg48pa57f6xid6p863ma5b"))))
|
||||
(base32 "14p8n6vily0yp6gqafl2xy7d2rh1j48pcj0a7mglqxy83d4b5cyh"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
|
@ -285,6 +287,27 @@ (define-public gegl
|
|||
;; application and GUI binary gegl is licensed under GPL.
|
||||
(license (list license:lgpl3+ license:gpl3+))))
|
||||
|
||||
;; gnome-photos does not build against gegl 0.4.46 yet.
|
||||
;; See also <https://gitlab.gnome.org/GNOME/gnome-photos/-/issues/214>.
|
||||
(define-public gegl-0.4.44
|
||||
(package
|
||||
(inherit gegl)
|
||||
(version "0.4.44")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (list (string-append "https://download.gimp.org/pub/gegl/"
|
||||
(string-take version 3)
|
||||
"/gegl-" version ".tar.xz")
|
||||
(string-append "https://ftp.gtk.org/pub/gegl/"
|
||||
(version-major+minor version)
|
||||
"/gegl-" version ".tar.xz")
|
||||
(string-append "ftp://ftp.gtk.org/pub/gegl/"
|
||||
(version-major+minor version)
|
||||
"/gegl-" version ".tar.xz")))
|
||||
(sha256
|
||||
(base32 "09k1sn4h0bakgmq2hgd1iamprngpr81ky3fd9446lh2ycd0xnk0a"))))))
|
||||
|
||||
(define-public gimp
|
||||
(package
|
||||
(name "gimp")
|
||||
|
|
|
@ -855,7 +855,7 @@ (define-public gnome-photos
|
|||
(inputs
|
||||
(list babl
|
||||
cairo
|
||||
gegl
|
||||
gegl-0.4.44
|
||||
geocode-glib
|
||||
gexiv2
|
||||
gfbgraph
|
||||
|
|
80
gnu/packages/patches/gegl-compatibility-old-librsvg.patch
Normal file
80
gnu/packages/patches/gegl-compatibility-old-librsvg.patch
Normal file
|
@ -0,0 +1,80 @@
|
|||
From a99a93e5c9013bd4101f5058cdee7d0cf30234fe Mon Sep 17 00:00:00 2001
|
||||
Message-ID: <a99a93e5c9013bd4101f5058cdee7d0cf30234fe.1694554961.git.vivien@planete-kraus.eu>
|
||||
From: Jehan <jehan@girinstud.io>
|
||||
Date: Wed, 5 Jul 2023 21:18:19 +0200
|
||||
Subject: [PATCH] Issue #333: continuing to support librsvg 2.40.x (C
|
||||
versions).
|
||||
|
||||
Commit 9beeefcbe uses too new functions of librsvg. We could just bump
|
||||
the minimum required version but there are issues with Rust not being
|
||||
available on every platform yet. So instead, let's add some conditional
|
||||
code paths, so that it still builds with librsvg 2.40.x (which was the
|
||||
last versions fully in C) while we use newer code and no warnings when
|
||||
using newer versions.
|
||||
---
|
||||
operations/external/svg-load.c | 25 ++++++++++++++++++++-----
|
||||
1 file changed, 20 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/operations/external/svg-load.c b/operations/external/svg-load.c
|
||||
index 3312a0c0a..15c0b30b7 100644
|
||||
--- a/operations/external/svg-load.c
|
||||
+++ b/operations/external/svg-load.c
|
||||
@@ -76,16 +76,25 @@ query_svg (GeglOperation *operation)
|
||||
{
|
||||
GeglProperties *o = GEGL_PROPERTIES (operation);
|
||||
Priv *p = (Priv*) o->user_data;
|
||||
+#if LIBRSVG_CHECK_VERSION(2, 52, 0)
|
||||
gdouble out_width, out_height;
|
||||
+#else
|
||||
+ RsvgDimensionData dimensions;
|
||||
+#endif
|
||||
|
||||
g_return_val_if_fail (p->handle != NULL, FALSE);
|
||||
|
||||
- rsvg_handle_get_intrinsic_size_in_pixels (p->handle, &out_width, &out_height);
|
||||
-
|
||||
p->format = babl_format ("R'G'B'A u8");
|
||||
|
||||
+#if LIBRSVG_CHECK_VERSION(2, 52, 0)
|
||||
+ rsvg_handle_get_intrinsic_size_in_pixels (p->handle, &out_width, &out_height);
|
||||
p->height = out_height;
|
||||
- p->width = out_width;
|
||||
+ p->width = out_width;
|
||||
+#else
|
||||
+ rsvg_handle_get_dimensions (p->handle, &dimensions);
|
||||
+ p->height = dimensions.height;
|
||||
+ p->width = dimensions.width;
|
||||
+#endif
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
@@ -98,10 +107,12 @@ load_svg (GeglOperation *operation,
|
||||
{
|
||||
GeglProperties *o = GEGL_PROPERTIES (operation);
|
||||
Priv *p = (Priv*) o->user_data;
|
||||
- RsvgRectangle svg_rect = {0.0, 0.0, width, height};
|
||||
cairo_surface_t *surface;
|
||||
cairo_t *cr;
|
||||
- GError *error = NULL;
|
||||
+#if LIBRSVG_CHECK_VERSION(2, 52, 0)
|
||||
+ GError *error = NULL;
|
||||
+ RsvgRectangle svg_rect = {0.0, 0.0, width, height};
|
||||
+#endif
|
||||
|
||||
g_return_val_if_fail (p->handle != NULL, -1);
|
||||
|
||||
@@ -115,7 +126,11 @@ load_svg (GeglOperation *operation,
|
||||
(double)height / (double)p->height);
|
||||
}
|
||||
|
||||
+#if LIBRSVG_CHECK_VERSION(2, 52, 0)
|
||||
rsvg_handle_render_document (p->handle, cr, &svg_rect, &error);
|
||||
+#else
|
||||
+ rsvg_handle_render_cairo (p->handle, cr);
|
||||
+#endif
|
||||
|
||||
cairo_surface_flush (surface);
|
||||
|
||||
--
|
||||
2.41.0
|
||||
|
Loading…
Reference in a new issue