<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/3dd0371d5300b460018835187d11d7e546400a91">https://github.com/macports/macports-ports/commit/3dd0371d5300b460018835187d11d7e546400a91</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit 3dd0371d5300b460018835187d11d7e546400a91
</span>Author: Christopher Nielsen <mascguy@github.com>
AuthorDate: Tue Apr 16 18:37:09 2024 -0400

<span style='display:block; white-space:pre;color:#404040;'>    glib2{,-devel}: revert to 2.78.0
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    See: https://trac.macports.org/ticket/69748
</span>---
 devel/glib2-devel/Portfile                         | 47 ++++++++++++++++++++--
 devel/glib2-devel/files/config.h.ed                | 36 +++++++++++++++++
 devel/glib2-devel/files/no-distutils.patch         | 32 +++++++++++++++
 devel/glib2-devel/files/patch-glib_gspawn.c.diff   | 32 +++++++++++++++
 .../files/patch-gmodule-gmodule-dl.c.diff          | 30 +++++++-------
 .../files/patch-meson-build-python-path.diff       | 21 ++++------
 .../patch-meson_build-meson_options-appinfo.diff   | 21 +++++-----
 devel/glib2/Portfile                               | 47 ++++++++++++++++++++--
 devel/glib2/files/config.h.ed                      | 36 +++++++++++++++++
 devel/glib2/files/no-distutils.patch               | 32 +++++++++++++++
 devel/glib2/files/patch-glib_gspawn.c.diff         | 32 +++++++++++++++
 devel/glib2/files/patch-gmodule-gmodule-dl.c.diff  | 30 +++++++-------
 .../glib2/files/patch-meson-build-python-path.diff | 21 ++++------
 .../patch-meson_build-meson_options-appinfo.diff   | 21 +++++-----
 14 files changed, 354 insertions(+), 84 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/glib2-devel/Portfile b/devel/glib2-devel/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 6a3622331ed..92de53d8cf7 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/glib2-devel/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/glib2-devel/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -3,6 +3,7 @@
</span> PortSystem                  1.0
 PortGroup                   clang_dependency 1.0
 PortGroup                   compiler_blacklist_versions 1.0
<span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup                   conflicts_build 1.0
</span> PortGroup                   debug 1.0
 PortGroup                   legacysupport 1.1
 PortGroup                   meson 1.0
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -13,11 +14,13 @@ PortGroup                   muniversal 1.0
</span> name                        glib2-devel
 conflicts                   glib2
 set my_name                 glib
<span style='display:block; white-space:pre;background:#ffe0e0;'>-version                     2.80.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+version                     2.78.4
</span> revision                    0
<span style='display:block; white-space:pre;background:#ffe0e0;'>-checksums                   rmd160  6d3e577425808f5851a53507c41c4f1d00dfcab5 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                            sha256  8228a92f92a412160b139ae68b6345bd28f24434a7b5af150ebe21ff587a561d \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                            size    5510536
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+epoch                       1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums                   rmd160  7941be85af18c428d86f4a00e52f41542b061aa9 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                            sha256  24b8e0672dca120cc32d394bccb85844e732e04fe75d18bb0573b2dbc7548f63 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                            size    5331892
</span> 
 set branch                  [join [lrange [split ${version} .] 0 1] .]
 categories                  devel
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -45,6 +48,7 @@ legacysupport.newest_darwin_requires_legacy 15
</span> patchfiles-append           libintl.patch
 patchfiles-append           patch-gio-tests-meson.build.diff
 patchfiles-append           patch-glib_gmem.c.diff
<span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles-append           patch-glib_gspawn.c.diff
</span> patchfiles-append           patch-glib_gunicollate.c.diff
 patchfiles-append           patch-gio_xdgmime_xdgmime.c.diff
 patchfiles-append           patch-get-launchd-dbus-session-address.diff
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -55,6 +59,7 @@ patchfiles-append           patch-meson_build-atomic-test-older-clang-versions.d
</span> patchfiles-append           universal.patch
 patchfiles-append           patch-glib2-findfolders-before-SL.diff
 patchfiles-append           patch-declarations.diff
<span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles-append           no-distutils.patch
</span> 
 platform darwin {
     if {${os.major} < 11} {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -238,5 +243,39 @@ if {![variant_isset quartz] && ![variant_isset x11]} {
</span>     }
 }
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+proc port_conflict_check {p_port_name p_conflict_ver_min p_conflict_ver_max} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    ui_info "port_conflict_check: Checking for conflict against port: ${p_port_name}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if { ![catch {set port_conflict_ver_info [lindex [registry_active ${p_port_name}] 0]}] } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set port_conflict_ver [lindex ${port_conflict_ver_info} 1]_[lindex ${port_conflict_ver_info} 2]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ui_info "port_conflict_check: ${p_port_name} active version: ${port_conflict_ver}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if { [vercmp ${port_conflict_ver} ${p_conflict_ver_min}] >= 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            && [vercmp ${port_conflict_ver} ${p_conflict_ver_max}] <= 0 } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ui_info "port_conflict_check: ${p_port_name} conflicts; declare build conflict"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            conflicts_build-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                ${p_port_name}
</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;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# If the user happens to have `gobject-introspection` 1.80.x installed, force them to
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# deactivate it first. Otherwise, the newer version can cause other unexpected failures
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# if still active on downgrade.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Logic added 2024-04-17; keep in place for at least 12 months.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+proc gobj_conflict_check {} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set gobj_port_name "gobject-introspection"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set gobj_port_names [list ${gobj_port_name} "${gobj_port_name}-devel"]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set gobj_ver_min "1.80.1_0"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set gobj_ver_max "1.80.1_0"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    foreach p ${gobj_port_names} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        port_conflict_check ${p} ${gobj_ver_min} ${gobj_ver_max}
</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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+gobj_conflict_check
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> livecheck.type              gnome
 livecheck.name              ${my_name}
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/glib2-devel/files/config.h.ed b/devel/glib2-devel/files/config.h.ed
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..a34fabe6c5b
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/glib2-devel/files/config.h.ed
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,36 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+/ G_VA_COPY_AS_ARRAY /c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#ifdef __LP64__
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#define G_VA_COPY_AS_ARRAY 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+/* #undef G_VA_COPY_AS_ARRAY */
</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;'>+/ SIZEOF_LONG /c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#ifdef __LP64__
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#define SIZEOF_LONG 8
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#define SIZEOF_LONG 4
</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;'>+/ SIZEOF_SIZE_T /c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#ifdef __LP64__
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#define SIZEOF_SIZE_T 8
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#define SIZEOF_SIZE_T 4
</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;'>+/ SIZEOF_SSIZE_T /c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#ifdef __LP64__
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#define SIZEOF_SSIZE_T 8
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#define SIZEOF_SSIZE_T 4
</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;'>+/ SIZEOF_VOID_P /c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#ifdef __LP64__
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#define SIZEOF_VOID_P 8
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#define SIZEOF_VOID_P 4
</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;'>+w
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/glib2-devel/files/no-distutils.patch b/devel/glib2-devel/files/no-distutils.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..0a2d1c5b277
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/glib2-devel/files/no-distutils.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,32 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 6ef967a0f930ce37a8c9b5aff969693b34714291 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Jordan Williams <jordan@jwillikers.com>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Fri, 1 Dec 2023 09:53:50 -0600
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] Switch from the deprecated distutils module to the packaging
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ module
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+The distutils module was removed in Python 3.12.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gio/gdbus-2.0/codegen/utils.py      | 4 ++--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/gio/gdbus-2.0/codegen/utils.py b/gio/gdbus-2.0/codegen/utils.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 02046108da..08f1ba9731 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gio/gdbus-2.0/codegen/utils.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gio/gdbus-2.0/codegen/utils.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -19,7 +19,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Author: David Zeuthen <davidz@redhat.com>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-import distutils.version
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++import packaging.version
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ import os
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ import sys
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -166,4 +166,4 @@ def version_cmp_key(key):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         v = str(key[0])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     else:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         v = "0"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    return (distutils.version.LooseVersion(v), key[1])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    return (packaging.version.Version(v), key[1])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-- 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+GitLab
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/glib2-devel/files/patch-glib_gspawn.c.diff b/devel/glib2-devel/files/patch-glib_gspawn.c.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..4e171b2c65b
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/glib2-devel/files/patch-glib_gspawn.c.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,32 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+libproc.h isn't available on older systems
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- meson.build.orig       2023-05-13 23:04:36.000000000 -0400
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ meson.build    2023-05-13 23:04:51.000000000 -0400
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -350,6 +350,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   'fstab.h',
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   'grp.h',
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   'inttypes.h',
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  'libproc.h',
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   'limits.h',
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   'locale.h',
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   'mach/mach_time.h',
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- glib/gspawn.c.orig     2023-05-13 23:05:53.000000000 -0400
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ glib/gspawn.c  2023-05-13 23:06:23.000000000 -0400
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -70,7 +70,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "glibintl.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "glib-unix.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#ifdef __APPLE__
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifdef HAVE_LIBPROC_H
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <libproc.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <sys/proc_info.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1544,7 +1544,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   if (open_max < 0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     open_max = 4096;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#if defined(__APPLE__)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if defined(HAVE_LIBPROC_H)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   /* proc_pidinfo isn't documented as async-signal-safe but looking at the implementation
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    * in the darwin tree here:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    *
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/glib2-devel/files/patch-gmodule-gmodule-dl.c.diff b/devel/glib2-devel/files/patch-gmodule-gmodule-dl.c.diff
</span><span style='display:block; white-space:pre;color:#808080;'>index a8fb8b57d40..152b17fa63d 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/glib2-devel/files/patch-gmodule-gmodule-dl.c.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/glib2-devel/files/patch-gmodule-gmodule-dl.c.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,10 +1,10 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gmodule/gmodule-dl.c.orig      2024-03-07 16:35:05.000000000 -0500
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gmodule/gmodule-dl.c   2024-03-19 14:55:49.000000000 -0400
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gmodule/gmodule-dl.c.orig      2023-04-18 04:09:54.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gmodule/gmodule-dl.c   2023-04-18 04:10:21.000000000 +0800
</span> @@ -182,15 +182,18 @@
  static void
  _g_module_close (gpointer handle)
  {
<span style='display:block; white-space:pre;background:#ffe0e0;'>--#if defined(__BIONIC__) || defined(__NetBSD__) || defined(__FreeBSD__)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#if defined(__BIONIC__) || defined(__NetBSD__)
</span> -  if (handle != RTLD_DEFAULT)
 -#endif
 -    {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -13,18 +13,18 @@
</span> -        g_module_set_error (fetch_dlerror (TRUE));
 -      unlock_dlerror ();
 -    }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+  /* Intentionally not dlclose()ing because it is safer to leave the library
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+   * loaded in memory than to close it and possibly leave dangling pointers
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+   * to things like atexit handlers, atfork handlers, blocks etc.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+   *
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+   * See https://trac.macports.org/ticket/45309 for an example from when
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+   * a library used by a module added a new dependency which had an
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+   * initializer which added a child atfork handler. The result is that
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+   * after closing the module, the system had a dangling pointer for the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+   * atfork handler which would at best crash on the child side of fork()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+   * and at worst lead to arbitrary code execution of whatever happened to be
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+   * at that location in memory at a later time in the process.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+   */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++   /* Intentionally not dlclose()ing because it is safer to leave the library
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    * loaded in memory than to close it and possibly leave dangling pointers
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    * to things like atexit handlers, atfork handlers, blocks etc.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    *
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    * See https://trac.macports.org/ticket/45309 for an example from when
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    * a library used by a module added a new dependency which had an
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    * initializer which added a child atfork handler. The result is that
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    * after closing the module, the system had a dangling pointer for the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    * atfork handler which would at best crash on the child side of fork()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    * and at worst lead to arbitrary code execution of whatever happened to be
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    * at that location in memory at a later time in the process.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    */
</span>  }
  
  static gpointer
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/glib2-devel/files/patch-meson-build-python-path.diff b/devel/glib2-devel/files/patch-meson-build-python-path.diff
</span><span style='display:block; white-space:pre;color:#808080;'>index 6b0d9713797..9a9d4668b40 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/glib2-devel/files/patch-meson-build-python-path.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/glib2-devel/files/patch-meson-build-python-path.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,21 +1,16 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-#==================================================================================================
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# GLib2 tries to find "python3" and if it can't find it, it will go for "python".
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# If port select wasn't explicitly run, this will likely end-up with Python 2.7.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-#
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# As a fallback, meson can use whatever python it's running on if the argument to
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# find_installation() is empty.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-#==================================================================================================
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- meson.build.orig       2024-03-07 16:35:05.000000000 -0500
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ meson.build    2024-04-15 12:42:56.000000000 -0400
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -2419,9 +2419,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+GLib2 tries to find "python3" and if it can't find it, it will go for "python"; if port select wasn't explicitly run, this will likely end-up with Python 2.7. As a fallback, meson can use whatever python it's running on if the argument to find_installation is empty.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- meson.build.orig       2022-10-25 20:53:22.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ meson.build    2022-10-27 06:00:59.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -2279,9 +2279,9 @@
</span>  
  glib_conf.set('HAVE_PROC_SELF_CMDLINE', have_proc_self_cmdline)
  
<span style='display:block; white-space:pre;background:#ffe0e0;'>--python = import('python').find_installation(modules: ['packaging'])
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+python = import('python').find_installation('', modules: ['packaging'])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-python = import('python').find_installation()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++python = import('python').find_installation('')
</span>  # used for '#!/usr/bin/env <name>'
 -python_name = 'python3'
 +python_name = '@PYTHON@'
  
  python_version = python.language_version()
<span style='display:block; white-space:pre;background:#ffe0e0;'>- python_version_req = '>=3.7'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ python_version_req = '>=3.5'
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/glib2-devel/files/patch-meson_build-meson_options-appinfo.diff b/devel/glib2-devel/files/patch-meson_build-meson_options-appinfo.diff
</span><span style='display:block; white-space:pre;color:#808080;'>index 2f3847f9fb1..8a18482bb8e 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/glib2-devel/files/patch-meson_build-meson_options-appinfo.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/glib2-devel/files/patch-meson_build-meson_options-appinfo.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -50,24 +50,24 @@
</span>  option('runtime_libdir',
         type : 'string',
         value : '',
<span style='display:block; white-space:pre;background:#ffe0e0;'>---- gio/meson.build.orig        2024-04-15 12:57:35.000000000 -0400
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gio/meson.build        2024-04-15 12:57:52.000000000 -0400
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -390,16 +390,23 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gio/meson.build.orig   2022-03-17 23:01:31.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gio/meson.build        2022-04-04 05:29:36.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -380,16 +380,23 @@
</span>      'gunixoutputstream.h',
    )
  
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+  appinfo_backend = get_option('appinfo_backend')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  appinfo_backend = get_option('appinfo_backend')
</span>    if glib_have_cocoa
      settings_sources += files('gnextstepsettingsbackend.m')
 -    contenttype_sources += files('gosxcontenttype.m')
<span style='display:block; white-space:pre;background:#ffe0e0;'>--    unix_sources += files('gosxappinfo.m')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    appinfo_sources += files('gosxappinfo.m')
</span> +    if appinfo_backend == 'native'
 +      contenttype_sources += files('gosxcontenttype.m')
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+      unix_sources += files('gosxappinfo.m')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      appinfo_sources += files('gosxappinfo.m')
</span> +      application_headers += files('gosxappinfo.h')
 +    else
 +      contenttype_sources += files('gcontenttype.c')
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+      unix_sources += files('gdesktopappinfo.c')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      appinfo_sources += files('gdesktopappinfo.c')
</span> +      gio_unix_include_headers += files('gdesktopappinfo.h')
 +    endif
      framework_dep = dependency('appleframeworks', modules : ['Foundation', 'CoreFoundation', 'AppKit'])
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -78,11 +78,12 @@
</span> -    application_headers += files('gosxappinfo.h')
    else
      contenttype_sources += files('gcontenttype.c')
<span style='display:block; white-space:pre;background:#ffe0e0;'>-     unix_sources += files('gdesktopappinfo.c')
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -832,6 +839,12 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     appinfo_sources += files('gdesktopappinfo.c')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -784,6 +791,13 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   install_dir: bash_comp_inst_dir)
</span>  endif
  
<span style='display:block; white-space:pre;background:#e0ffe0;'>++appinfo_backend = get_option('appinfo_backend') 
</span> +if appinfo_backend == 'native'
 +  glib_conf.set('USE_APPINFO_NATIVE', 1)
 +else
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/glib2/Portfile b/devel/glib2/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 968e3f92611..94f954be20f 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/glib2/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/glib2/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -3,6 +3,7 @@
</span> PortSystem                  1.0
 PortGroup                   clang_dependency 1.0
 PortGroup                   compiler_blacklist_versions 1.0
<span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup                   conflicts_build 1.0
</span> PortGroup                   debug 1.0
 PortGroup                   legacysupport 1.1
 PortGroup                   meson 1.0
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -13,11 +14,13 @@ PortGroup                   muniversal 1.0
</span> name                        glib2
 conflicts                   glib2-devel
 set my_name                 glib
<span style='display:block; white-space:pre;background:#ffe0e0;'>-version                     2.80.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+version                     2.78.4
</span> revision                    0
<span style='display:block; white-space:pre;background:#ffe0e0;'>-checksums                   rmd160  6d3e577425808f5851a53507c41c4f1d00dfcab5 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                            sha256  8228a92f92a412160b139ae68b6345bd28f24434a7b5af150ebe21ff587a561d \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                            size    5510536
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+epoch                       1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums                   rmd160  7941be85af18c428d86f4a00e52f41542b061aa9 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                            sha256  24b8e0672dca120cc32d394bccb85844e732e04fe75d18bb0573b2dbc7548f63 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                            size    5331892
</span> 
 set branch                  [join [lrange [split ${version} .] 0 1] .]
 categories                  devel
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -45,6 +48,7 @@ legacysupport.newest_darwin_requires_legacy 15
</span> patchfiles-append           libintl.patch
 patchfiles-append           patch-gio-tests-meson.build.diff
 patchfiles-append           patch-glib_gmem.c.diff
<span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles-append           patch-glib_gspawn.c.diff
</span> patchfiles-append           patch-glib_gunicollate.c.diff
 patchfiles-append           patch-gio_xdgmime_xdgmime.c.diff
 patchfiles-append           patch-get-launchd-dbus-session-address.diff
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -55,6 +59,7 @@ patchfiles-append           patch-meson_build-atomic-test-older-clang-versions.d
</span> patchfiles-append           universal.patch
 patchfiles-append           patch-glib2-findfolders-before-SL.diff
 patchfiles-append           patch-declarations.diff
<span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles-append           no-distutils.patch
</span> 
 platform darwin {
     if {${os.major} < 11} {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -238,5 +243,39 @@ if {![variant_isset quartz] && ![variant_isset x11]} {
</span>     }
 }
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+proc port_conflict_check {p_port_name p_conflict_ver_min p_conflict_ver_max} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    ui_info "port_conflict_check: Checking for conflict against port: ${p_port_name}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if { ![catch {set port_conflict_ver_info [lindex [registry_active ${p_port_name}] 0]}] } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set port_conflict_ver [lindex ${port_conflict_ver_info} 1]_[lindex ${port_conflict_ver_info} 2]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ui_info "port_conflict_check: ${p_port_name} active version: ${port_conflict_ver}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if { [vercmp ${port_conflict_ver} ${p_conflict_ver_min}] >= 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            && [vercmp ${port_conflict_ver} ${p_conflict_ver_max}] <= 0 } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ui_info "port_conflict_check: ${p_port_name} conflicts; declare build conflict"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            conflicts_build-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                ${p_port_name}
</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;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# If the user happens to have `gobject-introspection` 1.80.x installed, force them to
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# deactivate it first. Otherwise, the newer version can cause other unexpected failures
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# if still active on downgrade.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Logic added 2024-04-17; keep in place for at least 12 months.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+proc gobj_conflict_check {} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set gobj_port_name "gobject-introspection"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set gobj_port_names [list ${gobj_port_name} "${gobj_port_name}-devel"]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set gobj_ver_min "1.80.1_0"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set gobj_ver_max "1.80.1_0"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    foreach p ${gobj_port_names} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        port_conflict_check ${p} ${gobj_ver_min} ${gobj_ver_max}
</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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+gobj_conflict_check
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> livecheck.type              gnome
 livecheck.name              ${my_name}
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/glib2/files/config.h.ed b/devel/glib2/files/config.h.ed
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..a34fabe6c5b
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/glib2/files/config.h.ed
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,36 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+/ G_VA_COPY_AS_ARRAY /c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#ifdef __LP64__
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#define G_VA_COPY_AS_ARRAY 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+/* #undef G_VA_COPY_AS_ARRAY */
</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;'>+/ SIZEOF_LONG /c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#ifdef __LP64__
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#define SIZEOF_LONG 8
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#define SIZEOF_LONG 4
</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;'>+/ SIZEOF_SIZE_T /c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#ifdef __LP64__
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#define SIZEOF_SIZE_T 8
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#define SIZEOF_SIZE_T 4
</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;'>+/ SIZEOF_SSIZE_T /c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#ifdef __LP64__
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#define SIZEOF_SSIZE_T 8
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#define SIZEOF_SSIZE_T 4
</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;'>+/ SIZEOF_VOID_P /c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#ifdef __LP64__
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#define SIZEOF_VOID_P 8
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#define SIZEOF_VOID_P 4
</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;'>+w
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/glib2/files/no-distutils.patch b/devel/glib2/files/no-distutils.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..0a2d1c5b277
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/glib2/files/no-distutils.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,32 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 6ef967a0f930ce37a8c9b5aff969693b34714291 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Jordan Williams <jordan@jwillikers.com>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Fri, 1 Dec 2023 09:53:50 -0600
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] Switch from the deprecated distutils module to the packaging
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ module
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+The distutils module was removed in Python 3.12.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gio/gdbus-2.0/codegen/utils.py      | 4 ++--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/gio/gdbus-2.0/codegen/utils.py b/gio/gdbus-2.0/codegen/utils.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 02046108da..08f1ba9731 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gio/gdbus-2.0/codegen/utils.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gio/gdbus-2.0/codegen/utils.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -19,7 +19,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Author: David Zeuthen <davidz@redhat.com>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-import distutils.version
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++import packaging.version
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ import os
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ import sys
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -166,4 +166,4 @@ def version_cmp_key(key):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         v = str(key[0])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     else:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         v = "0"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    return (distutils.version.LooseVersion(v), key[1])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    return (packaging.version.Version(v), key[1])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-- 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+GitLab
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/glib2/files/patch-glib_gspawn.c.diff b/devel/glib2/files/patch-glib_gspawn.c.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..4e171b2c65b
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/glib2/files/patch-glib_gspawn.c.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,32 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+libproc.h isn't available on older systems
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- meson.build.orig       2023-05-13 23:04:36.000000000 -0400
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ meson.build    2023-05-13 23:04:51.000000000 -0400
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -350,6 +350,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   'fstab.h',
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   'grp.h',
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   'inttypes.h',
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  'libproc.h',
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   'limits.h',
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   'locale.h',
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   'mach/mach_time.h',
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- glib/gspawn.c.orig     2023-05-13 23:05:53.000000000 -0400
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ glib/gspawn.c  2023-05-13 23:06:23.000000000 -0400
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -70,7 +70,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "glibintl.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "glib-unix.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#ifdef __APPLE__
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifdef HAVE_LIBPROC_H
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <libproc.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <sys/proc_info.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1544,7 +1544,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   if (open_max < 0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     open_max = 4096;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#if defined(__APPLE__)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if defined(HAVE_LIBPROC_H)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   /* proc_pidinfo isn't documented as async-signal-safe but looking at the implementation
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    * in the darwin tree here:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    *
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/glib2/files/patch-gmodule-gmodule-dl.c.diff b/devel/glib2/files/patch-gmodule-gmodule-dl.c.diff
</span><span style='display:block; white-space:pre;color:#808080;'>index a8fb8b57d40..152b17fa63d 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/glib2/files/patch-gmodule-gmodule-dl.c.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/glib2/files/patch-gmodule-gmodule-dl.c.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,10 +1,10 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gmodule/gmodule-dl.c.orig      2024-03-07 16:35:05.000000000 -0500
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gmodule/gmodule-dl.c   2024-03-19 14:55:49.000000000 -0400
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gmodule/gmodule-dl.c.orig      2023-04-18 04:09:54.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gmodule/gmodule-dl.c   2023-04-18 04:10:21.000000000 +0800
</span> @@ -182,15 +182,18 @@
  static void
  _g_module_close (gpointer handle)
  {
<span style='display:block; white-space:pre;background:#ffe0e0;'>--#if defined(__BIONIC__) || defined(__NetBSD__) || defined(__FreeBSD__)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#if defined(__BIONIC__) || defined(__NetBSD__)
</span> -  if (handle != RTLD_DEFAULT)
 -#endif
 -    {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -13,18 +13,18 @@
</span> -        g_module_set_error (fetch_dlerror (TRUE));
 -      unlock_dlerror ();
 -    }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+  /* Intentionally not dlclose()ing because it is safer to leave the library
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+   * loaded in memory than to close it and possibly leave dangling pointers
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+   * to things like atexit handlers, atfork handlers, blocks etc.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+   *
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+   * See https://trac.macports.org/ticket/45309 for an example from when
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+   * a library used by a module added a new dependency which had an
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+   * initializer which added a child atfork handler. The result is that
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+   * after closing the module, the system had a dangling pointer for the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+   * atfork handler which would at best crash on the child side of fork()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+   * and at worst lead to arbitrary code execution of whatever happened to be
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+   * at that location in memory at a later time in the process.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+   */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++   /* Intentionally not dlclose()ing because it is safer to leave the library
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    * loaded in memory than to close it and possibly leave dangling pointers
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    * to things like atexit handlers, atfork handlers, blocks etc.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    *
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    * See https://trac.macports.org/ticket/45309 for an example from when
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    * a library used by a module added a new dependency which had an
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    * initializer which added a child atfork handler. The result is that
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    * after closing the module, the system had a dangling pointer for the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    * atfork handler which would at best crash on the child side of fork()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    * and at worst lead to arbitrary code execution of whatever happened to be
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    * at that location in memory at a later time in the process.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    */
</span>  }
  
  static gpointer
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/glib2/files/patch-meson-build-python-path.diff b/devel/glib2/files/patch-meson-build-python-path.diff
</span><span style='display:block; white-space:pre;color:#808080;'>index 6b0d9713797..9a9d4668b40 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/glib2/files/patch-meson-build-python-path.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/glib2/files/patch-meson-build-python-path.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,21 +1,16 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-#==================================================================================================
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# GLib2 tries to find "python3" and if it can't find it, it will go for "python".
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# If port select wasn't explicitly run, this will likely end-up with Python 2.7.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-#
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# As a fallback, meson can use whatever python it's running on if the argument to
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# find_installation() is empty.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-#==================================================================================================
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- meson.build.orig       2024-03-07 16:35:05.000000000 -0500
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ meson.build    2024-04-15 12:42:56.000000000 -0400
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -2419,9 +2419,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+GLib2 tries to find "python3" and if it can't find it, it will go for "python"; if port select wasn't explicitly run, this will likely end-up with Python 2.7. As a fallback, meson can use whatever python it's running on if the argument to find_installation is empty.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- meson.build.orig       2022-10-25 20:53:22.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ meson.build    2022-10-27 06:00:59.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -2279,9 +2279,9 @@
</span>  
  glib_conf.set('HAVE_PROC_SELF_CMDLINE', have_proc_self_cmdline)
  
<span style='display:block; white-space:pre;background:#ffe0e0;'>--python = import('python').find_installation(modules: ['packaging'])
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+python = import('python').find_installation('', modules: ['packaging'])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-python = import('python').find_installation()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++python = import('python').find_installation('')
</span>  # used for '#!/usr/bin/env <name>'
 -python_name = 'python3'
 +python_name = '@PYTHON@'
  
  python_version = python.language_version()
<span style='display:block; white-space:pre;background:#ffe0e0;'>- python_version_req = '>=3.7'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ python_version_req = '>=3.5'
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/glib2/files/patch-meson_build-meson_options-appinfo.diff b/devel/glib2/files/patch-meson_build-meson_options-appinfo.diff
</span><span style='display:block; white-space:pre;color:#808080;'>index 2f3847f9fb1..8a18482bb8e 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/glib2/files/patch-meson_build-meson_options-appinfo.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/glib2/files/patch-meson_build-meson_options-appinfo.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -50,24 +50,24 @@
</span>  option('runtime_libdir',
         type : 'string',
         value : '',
<span style='display:block; white-space:pre;background:#ffe0e0;'>---- gio/meson.build.orig        2024-04-15 12:57:35.000000000 -0400
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gio/meson.build        2024-04-15 12:57:52.000000000 -0400
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -390,16 +390,23 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gio/meson.build.orig   2022-03-17 23:01:31.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gio/meson.build        2022-04-04 05:29:36.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -380,16 +380,23 @@
</span>      'gunixoutputstream.h',
    )
  
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+  appinfo_backend = get_option('appinfo_backend')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  appinfo_backend = get_option('appinfo_backend')
</span>    if glib_have_cocoa
      settings_sources += files('gnextstepsettingsbackend.m')
 -    contenttype_sources += files('gosxcontenttype.m')
<span style='display:block; white-space:pre;background:#ffe0e0;'>--    unix_sources += files('gosxappinfo.m')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    appinfo_sources += files('gosxappinfo.m')
</span> +    if appinfo_backend == 'native'
 +      contenttype_sources += files('gosxcontenttype.m')
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+      unix_sources += files('gosxappinfo.m')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      appinfo_sources += files('gosxappinfo.m')
</span> +      application_headers += files('gosxappinfo.h')
 +    else
 +      contenttype_sources += files('gcontenttype.c')
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+      unix_sources += files('gdesktopappinfo.c')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      appinfo_sources += files('gdesktopappinfo.c')
</span> +      gio_unix_include_headers += files('gdesktopappinfo.h')
 +    endif
      framework_dep = dependency('appleframeworks', modules : ['Foundation', 'CoreFoundation', 'AppKit'])
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -78,11 +78,12 @@
</span> -    application_headers += files('gosxappinfo.h')
    else
      contenttype_sources += files('gcontenttype.c')
<span style='display:block; white-space:pre;background:#ffe0e0;'>-     unix_sources += files('gdesktopappinfo.c')
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -832,6 +839,12 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     appinfo_sources += files('gdesktopappinfo.c')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -784,6 +791,13 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   install_dir: bash_comp_inst_dir)
</span>  endif
  
<span style='display:block; white-space:pre;background:#e0ffe0;'>++appinfo_backend = get_option('appinfo_backend') 
</span> +if appinfo_backend == 'native'
 +  glib_conf.set('USE_APPINFO_NATIVE', 1)
 +else
</pre><pre style='margin:0'>

</pre>