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