<pre style='margin:0'>
Christopher Nielsen (mascguy) pushed a commit to branch master
in repository macports-ports.
</pre>
<p><a href="https://github.com/macports/macports-ports/commit/c8ff2312c9f8c1695bd0b94492e3f31d2c120a87">https://github.com/macports/macports-ports/commit/c8ff2312c9f8c1695bd0b94492e3f31d2c120a87</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'> new c8ff2312c9f gegl: patch to support non-rust librsvg Closes: https://trac.macports.org/ticket/67712
</span>c8ff2312c9f is described below
<span style='display:block; white-space:pre;color:#808000;'>commit c8ff2312c9f8c1695bd0b94492e3f31d2c120a87
</span>Author: Christopher Nielsen <mascguy@github.com>
AuthorDate: Thu Jul 6 08:12:36 2023 -0400
<span style='display:block; white-space:pre;color:#404040;'> gegl: patch to support non-rust librsvg
</span><span style='display:block; white-space:pre;color:#404040;'> Closes: https://trac.macports.org/ticket/67712
</span>---
graphics/gegl/Portfile | 6 ++-
graphics/gegl/files/patch-rsvg-no-rust.diff | 72 +++++++++++++++++++++++++++++
2 files changed, 77 insertions(+), 1 deletion(-)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/graphics/gegl/Portfile b/graphics/gegl/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index d1864426e85..59da0bb7ed9 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/graphics/gegl/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/graphics/gegl/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -11,7 +11,7 @@ name gegl
</span> conflicts gegl-devel
set my_name gegl
version 0.4.46
<span style='display:block; white-space:pre;background:#ffe0e0;'>-revision 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision 1
</span> epoch 1
license {GPL-3+ LGPL-3+}
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -81,6 +81,10 @@ if {${os.platform} eq "darwin" && (${os.major} < 10 || ${configure.build_arch} i
</span> port:libsdl2
}
<span style='display:block; white-space:pre;background:#e0ffe0;'>+# Upstream patch to eliminate need for Rust-based librsvg
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# https://gitlab.gnome.org/GNOME/gegl/-/issues/333
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles-append patch-rsvg-no-rust.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> # proposed fix for 32 bit builds
# https://trac.macports.org/ticket/58524
patchfiles-append patch-gegl-32bit-host-statistics.diff
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/graphics/gegl/files/patch-rsvg-no-rust.diff b/graphics/gegl/files/patch-rsvg-no-rust.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..46e3aef15d9
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/graphics/gegl/files/patch-rsvg-no-rust.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,72 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#==================================================================================================
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# From a99a93e5c9013bd4101f5058cdee7d0cf30234fe Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# From: Jehan <jehan@girinstud.io>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Date: Wed, 5 Jul 2023 21:18:19 +0200
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Subject: [PATCH] Issue #333: continuing to support librsvg 2.40.x (C versions).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Commit 9beeefcbe uses too new functions of librsvg. We could just bump
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# the minimum required version but there are issues with Rust not being
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# available on every platform yet. So instead, let's add some conditional
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# code paths, so that it still builds with librsvg 2.40.x (which was the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# last versions fully in C) while we use newer code and no warnings when
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# using newer versions.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#==================================================================================================
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- operations/external/svg-load.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ operations/external/svg-load.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -76,16 +76,25 @@ query_svg (GeglOperation *operation)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ GeglProperties *o = GEGL_PROPERTIES (operation);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Priv *p = (Priv*) o->user_data;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if LIBRSVG_CHECK_VERSION(2, 52, 0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gdouble out_width, out_height;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ RsvgDimensionData dimensions;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ g_return_val_if_fail (p->handle != NULL, FALSE);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- rsvg_handle_get_intrinsic_size_in_pixels (p->handle, &out_width, &out_height);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ p->format = babl_format ("R'G'B'A u8");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if LIBRSVG_CHECK_VERSION(2, 52, 0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ rsvg_handle_get_intrinsic_size_in_pixels (p->handle, &out_width, &out_height);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ p->height = out_height;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- p->width = out_width;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ p->width = out_width;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ rsvg_handle_get_dimensions (p->handle, &dimensions);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ p->height = dimensions.height;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ p->width = dimensions.width;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return TRUE;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -98,10 +107,12 @@ load_svg (GeglOperation *operation,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ GeglProperties *o = GEGL_PROPERTIES (operation);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Priv *p = (Priv*) o->user_data;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- RsvgRectangle svg_rect = {0.0, 0.0, width, height};
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cairo_surface_t *surface;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cairo_t *cr;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- GError *error = NULL;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if LIBRSVG_CHECK_VERSION(2, 52, 0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ GError *error = NULL;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ RsvgRectangle svg_rect = {0.0, 0.0, width, height};
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ g_return_val_if_fail (p->handle != NULL, -1);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -115,7 +126,11 @@ load_svg (GeglOperation *operation,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (double)height / (double)p->height);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if LIBRSVG_CHECK_VERSION(2, 52, 0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rsvg_handle_render_document (p->handle, cr, &svg_rect, &error);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ rsvg_handle_render_cairo (p->handle, cr);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cairo_surface_flush (surface);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span></pre><pre style='margin:0'>
</pre>