guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

04/06: gnu: gegl: Update to 0.4.46.


From: guix-commits
Subject: 04/06: gnu: gegl: Update to 0.4.46.
Date: Fri, 15 Sep 2023 12:13:06 -0400 (EDT)

lilyp pushed a commit to branch gnome-team
in repository guix.

commit 4beac7d95c84ea3be809030f942b8b71d155129e
Author: Vivien Kraus <vivien@planete-kraus.eu>
AuthorDate: Fri Sep 8 18:50:18 2023 +0200

    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>
---
 gnu/local.mk                                       |  1 +
 gnu/packages/gimp.scm                              | 27 +++++++-
 gnu/packages/gnome.scm                             |  2 +-
 .../patches/gegl-compatibility-old-librsvg.patch   | 80 ++++++++++++++++++++++
 4 files changed, 107 insertions(+), 3 deletions(-)

diff --git a/gnu/local.mk b/gnu/local.mk
index fd0d26ff1b..9866141504 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -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              \
diff --git a/gnu/packages/gimp.scm b/gnu/packages/gimp.scm
index b1ff08d652..45a739a3ae 100644
--- a/gnu/packages/gimp.scm
+++ b/gnu/packages/gimp.scm
@@ -215,7 +215,7 @@ provided, as well as a framework to add new color models 
and data types.")
 (define-public gegl
   (package
     (name "gegl")
-    (version "0.4.42")
+    (version "0.4.46")
     (source
      (origin
        (method url-fetch)
@@ -228,8 +228,10 @@ provided, as well as a framework to add new color models 
and data types.")
                   (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 @@ buffers.")
     ;; 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")
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index aaeec821f7..f5ed13565d 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -855,7 +855,7 @@ tomorrow, the rest of the week and for special occasions.")
     (inputs
      (list babl
            cairo
-           gegl
+           gegl-0.4.44
            geocode-glib
            gexiv2
            gfbgraph
diff --git a/gnu/packages/patches/gegl-compatibility-old-librsvg.patch 
b/gnu/packages/patches/gegl-compatibility-old-librsvg.patch
new file mode 100644
index 0000000000..3e5733f9fd
--- /dev/null
+++ b/gnu/packages/patches/gegl-compatibility-old-librsvg.patch
@@ -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
+



reply via email to

[Prev in Thread] Current Thread [Next in Thread]