<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/f4f7b853818f7b8e80e83898ef4966833423cb1a">https://github.com/macports/macports-ports/commit/f4f7b853818f7b8e80e83898ef4966833423cb1a</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'> new f4f7b853818 gjs: Fix build on 32-bit systems
</span>f4f7b853818 is described below
<span style='display:block; white-space:pre;color:#808000;'>commit f4f7b853818f7b8e80e83898ef4966833423cb1a
</span>Author: Evan Miller <emmiller@gmail.com>
AuthorDate: Sun Sep 19 17:52:23 2021 -0400
<span style='display:block; white-space:pre;color:#404040;'> gjs: Fix build on 32-bit systems
</span>---
gnome/gjs/Portfile | 3 ++
gnome/gjs/files/patch-gjs-gsize.diff | 99 ++++++++++++++++++++++++++++++++++++
2 files changed, 102 insertions(+)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/gnome/gjs/Portfile b/gnome/gjs/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 7dc5de5619c..cd85a32a07b 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/gnome/gjs/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/gnome/gjs/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -38,6 +38,9 @@ autoreconf.args -fvi
</span>
compiler.cxx_standard 2014
<span style='display:block; white-space:pre;background:#e0ffe0;'>+# Fix gsize/size_t mismatch on 32-bit systems
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles patch-gjs-gsize.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> # profiler currently only supported on Linux
configure.args --disable-profiler \
--disable-silent-rules
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/gnome/gjs/files/patch-gjs-gsize.diff b/gnome/gjs/files/patch-gjs-gsize.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..e07dc574ee5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/gnome/gjs/files/patch-gjs-gsize.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,99 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+On 32-bit systems, gsize is an int but size_t is a (32-bit) long. This
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+discrepancy results in compilation errors when attempting to interchange their
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+pointers. The patch below changes gsize to size_t, and vice versa, depending
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+on the surrounding context.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+For a complete discussion, see:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+https://gitlab.gnome.org/GNOME/gjs/-/merge_requests/680
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gi/arg.cpp.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gi/arg.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1267,7 +1267,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ GITransfer transfer,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ bool may_be_null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gpointer *contents,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- gsize *length_p)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ size_t *length_p)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ bool ret = false;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ GITypeInfo *param_info;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1960,7 +1960,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ case GI_TYPE_TAG_ARRAY: {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gpointer data;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- gsize length;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ size_t length;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ GIArrayType array_type = g_type_info_get_array_type(type_info);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* First, let's handle the case where we're passed an instance
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gi/function.cpp.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gi/function.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -840,12 +840,12 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ GjsAutoChar name = format_function_name(function, is_method);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ JS_ReportWarningUTF8(context, "Too many arguments to %s: expected %d, "
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "got %" G_GSIZE_FORMAT, name.get(),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- function->expected_js_argc, args.length());
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ function->expected_js_argc, (gsize)args.length());
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } else if (args.length() < function->expected_js_argc) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ GjsAutoChar name = format_function_name(function, is_method);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gjs_throw(context, "Too few arguments to %s: "
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "expected %d, got %" G_GSIZE_FORMAT,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- name.get(), function->expected_js_argc, args.length());
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ name.get(), function->expected_js_argc, (gsize)args.length());
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return false;
</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;'>+@@ -996,7 +996,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ GIArgInfo array_length_arg;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gint array_length_pos = g_type_info_get_array_length(&ainfo);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- gsize length;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ size_t length;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (!gjs_value_to_explicit_array(context, args[js_arg_pos],
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ &arg_info, in_value, &length)) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gjs/byteArray.cpp.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gjs/byteArray.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -269,7 +269,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gbytes = (GBytes*) gjs_c_struct_from_boxed(context, bytes_obj);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- size_t len;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ gsize len;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ const void* data = g_bytes_get_data(gbytes, &len);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ JS::RootedObject array_buffer(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ context,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gjs/context.cpp.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gjs/context.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -994,7 +994,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ GError **error)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ char *script;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- size_t script_len;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ gsize script_len;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ GjsAutoUnref<GFile> file = g_file_new_for_commandline_arg(filename);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (!g_file_load_contents(file, nullptr, &script, &script_len, nullptr,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gjs/global.cpp.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gjs/global.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -55,7 +55,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ .setSourceIsLazy(true);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ JS::RootedScript compiled_script(cx);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- size_t script_len;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ gsize script_len;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ auto script = static_cast<const char *>(g_bytes_get_data(script_bytes.get(),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ &script_len));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (!JS::Compile(cx, options, script, script_len, &compiled_script))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gjs/module.cpp.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gjs/module.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -123,7 +123,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size_t script_len = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int start_line_number = 1;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- if (!(g_file_load_contents(file, nullptr, &unowned_script, &script_len,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (!(g_file_load_contents(file, nullptr, &unowned_script, nullptr,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ nullptr, &error))) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gjs_throw_g_error(cx, error);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return false;
</span></pre><pre style='margin:0'>
</pre>