<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/e556b8b8b372d8d78aaad5d7ecaba720a39e2b4b">https://github.com/macports/macports-ports/commit/e556b8b8b372d8d78aaad5d7ecaba720a39e2b4b</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit e556b8b8b372d8d78aaad5d7ecaba720a39e2b4b
</span>Author: Sergey Fedorov <barracuda@macos-powerpc.org>
AuthorDate: Tue Jul 2 19:41:22 2024 +0800

<span style='display:block; white-space:pre;color:#404040;'>    mozjs60: fix conditions for legacy systems patches
</span>---
 lang/mozjs60/Portfile | 71 +++++++++++++++++++++++++++++----------------------
 1 file changed, 40 insertions(+), 31 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/mozjs60/Portfile b/lang/mozjs60/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 19a08d81527..7cd17820a79 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/mozjs60/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/mozjs60/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -114,15 +114,50 @@ if {${universal_possible} && [variant_isset universal]} {
</span>     }
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# Now for 10.4/10.5...
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-if { ${os.platform} eq "darwin" && ${os.major} < 10 } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if { [string match *gcc* ${configure.compiler}] && ${configure.cxx_stdlib} ne "libc++" } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    patchfiles-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    patch-libatomic.diff \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    patch-no-libc++.diff
</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 { ${os.platform} eq "darwin" && ${configure.build_arch} in [list ppc ppc64] } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # The C API is littered with bools and references to bools, so we need to
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # make sure clients (including gjs and policykit) also use the magic flag.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # We do this via pkg-config and js-config; note that with this approach
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # there is some danger that distinct compilation units within the same
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # project may end up with different bool sizes (for example, if a project's
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # Makefile only applies the result of `pkg-config --cflags` to source files
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # that actually consume <jsapi.h>), so some care is needed when compiling
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # against this library. The benefit of this approach is that projects using
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # pkg-config don't need to remember this flag, and well-designed projects
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # can "contain" one-byte bools and not have to expose them downstream.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    patchfiles-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    patch-config-powerpc.diff \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    patch-powerpc.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # Make structs size-compatible with Intel (fixes several static_asserts)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.cxxflags-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -mone-byte-bool
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    notes-append "
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    In order to run on PowerPC, ${name} has been compiled with the special
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    compiler flag, -mone-byte-bool. Most users are unaffected; however, if you
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    are a software developer compiling against the SpiderMonkey C API (jsapi.h),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    you will need to add this compiler flag to your own projects, or prepare to
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    encounter unexpected program behavior. The flag will be added automatically
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    to projects that use pkg-config or js-config."
</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;'>+# Now for 10.4/10.5 and Rosetta
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if { ${os.platform} eq "darwin" && ${os.major} < 10 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    || (${os.major} == 10 && ${configure.build_arch} eq "ppc") } {
</span> 
     patchfiles-append \
                     patch-malloc_default_purgeable_zone.diff \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                    patch-no-libc++.diff \
</span>                     patch-js-shell.diff \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                    patch-libatomic.diff \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    patch-powerpc.diff \
</span>                     patch-pthread_setname_np.diff
 
     post-configure {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -145,32 +180,6 @@ if { ${os.platform} eq "darwin" && ${os.major} < 10 } {
</span>     # disable ICU until someone wants to sort it out.
     configure.args-append   --without-intl-api
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {[string match *gcc* ${configure.compiler}] && ${os.arch} eq "powerpc" } {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        # Make structs size-compatible with Intel (fixes several static_asserts)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        configure.cxxflags-append \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                            -mone-byte-bool
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        # The C API is littered with bools and references to bools, so we need to
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        # make sure clients (including gjs and policykit) also use the magic flag.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        # We do this via pkg-config and js-config; note that with this approach
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        # there is some danger that distinct compilation units within the same
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        # project may end up with different bool sizes (for example, if a project's
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        # Makefile only applies the result of `pkg-config --cflags` to source files
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        # that actually consume <jsapi.h>), so some care is needed when compiling
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        # against this library. The benefit of this approach is that projects using
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        # pkg-config don't need to remember this flag, and well-designed projects
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        # can "contain" one-byte bools and not have to expose them downstream.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        patchfiles-append \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    patch-config-powerpc.diff
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        notes-append "
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        In order to run on PowerPC, ${name} has been compiled with the special
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        compiler flag, -mone-byte-bool. Most users are unaffected; however, if you
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        are a software developer compiling against the SpiderMonkey C API (jsapi.h),
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        you will need to add this compiler flag to your own projects, or prepare to
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        encounter unexpected program behavior. The flag will be added automatically
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        to projects that use pkg-config or js-config."
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    }
</span> }
 
 livecheck.type      none
</pre><pre style='margin:0'>

</pre>