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:
Vivien Kraus 2023-09-08 18:50:18 +02:00 committed by Liliana Marie Prikler
parent 0b4a20e448
commit 4beac7d95c
No known key found for this signature in database
GPG key ID: 442A84B8C70E2F87
4 changed files with 107 additions and 3 deletions

View file

@ -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 \

View file

@ -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")

View file

@ -855,7 +855,7 @@ (define-public gnome-photos
(inputs
(list babl
cairo
gegl
gegl-0.4.44
geocode-glib
gexiv2
gfbgraph

View 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