<pre style='margin:0'>
Mohamed Akram (mohd-akram) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/fc84caa00cba429a17a4dbb31737f203c44e7c72">https://github.com/macports/macports-ports/commit/fc84caa00cba429a17a4dbb31737f203c44e7c72</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 fc84caa00cb xorg-libXaw: improve linking behavior
</span>fc84caa00cb is described below

<span style='display:block; white-space:pre;color:#808000;'>commit fc84caa00cba429a17a4dbb31737f203c44e7c72
</span>Author: Mohamed Akram <makr@macports.org>
AuthorDate: Thu May 23 00:03:48 2024 +0400

<span style='display:block; white-space:pre;color:#404040;'>    xorg-libXaw: improve linking behavior
</span>---
 x11/xorg-libXaw/Portfile                    |  4 +-
 x11/xorg-libXaw/files/patch-src-vendor.diff | 67 +++++++++++++++++++++++++++++
 2 files changed, 70 insertions(+), 1 deletion(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/x11/xorg-libXaw/Portfile b/x11/xorg-libXaw/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index b4aaee00a9d..dc4dcf63720 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/x11/xorg-libXaw/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/x11/xorg-libXaw/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -4,7 +4,7 @@ PortSystem 1.0
</span> 
 name            xorg-libXaw
 version         1.0.16
<span style='display:block; white-space:pre;background:#ffe0e0;'>-revision        0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision        1
</span> 
 checksums       rmd160  7ca251793ddb4f38ef032b932303d5096aef2bf7 \
                 sha256  731d572b54c708f81e197a6afa8016918e2e06dfd3025e066ca642a5b8c39c8f \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -32,6 +32,8 @@ depends_lib     port:xorg-libsm \
</span>                 port:xpm \
                 port:xorg-libXt
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles      patch-src-vendor.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> configure.args \
         --disable-specs \
         --without-xmlto \
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/x11/xorg-libXaw/files/patch-src-vendor.diff b/x11/xorg-libXaw/files/patch-src-vendor.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..3d0e6bb9e65
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/x11/xorg-libXaw/files/patch-src-vendor.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,67 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Using weak symbols rather than __attribute__((constructor)) preserves the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+linking order as on other platforms.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- src/Vendor.c.orig      2024-03-10 21:39:48
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ src/Vendor.c   2024-05-22 23:44:47
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -111,20 +111,12 @@
</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 defined(__CYGWIN__) || defined(__MINGW32__) || defined(__APPLE__)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if defined(__CYGWIN__) || defined(__MINGW32__)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* to fix the EditRes problem because of wrong linker semantics */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ extern WidgetClass vendorShellWidgetClass; /* from Xt/Vendor.c */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ extern VendorShellClassRec _XawVendorShellClassRec;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ extern void _XawFixupVendorShell();
</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;'>+-__attribute__((constructor))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-static void __VendorShellHack(void)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-{
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    vendorShellWidgetClass = (WidgetClass)(&_XawVendorShellClassRec);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    _XawFixupVendorShell();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int __stdcall
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ DllMain(unsigned long mod_handle, unsigned long flag, void *routine)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -139,7 +131,6 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   return 1;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</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;'>+ #define vendorShellClassRec _XawVendorShellClassRec
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -155,6 +146,9 @@
</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;'>+ #define SuperClass (&wmShellClassRec)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if defined(__APPLE__)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++__attribute__((weak))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ externaldef(vendorshellclassrec) VendorShellClassRec vendorShellClassRec = {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     /* superclass   */    (WidgetClass)SuperClass,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -204,10 +198,11 @@
</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 !defined(__APPLE__)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if defined(__APPLE__)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++__attribute__((weak))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ externaldef(vendorshellwidgetclass) WidgetClass vendorShellWidgetClass =
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   (WidgetClass) (&vendorShellClassRec);
</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;'>+ /***************************************************************************
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  *
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -348,7 +343,7 @@
</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 defined(__CYGWIN__) || defined(__MINGW32__) || defined(__APPLE__)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if defined(__CYGWIN__) || defined(__MINGW32__)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* shared libraries on these platforms have the wrong semantics */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* symbols do not get resolved external to the shared library */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ void _XawFixupVendorShell()
</span></pre><pre style='margin:0'>

</pre>