<pre style='margin:0'>
Chris Jones (cjones051073) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/1755ab0306f81e6e4abd5b24adbb3abded3c2d70">https://github.com/macports/macports-ports/commit/1755ab0306f81e6e4abd5b24adbb3abded3c2d70</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit 1755ab0306f81e6e4abd5b24adbb3abded3c2d70
</span>Author: Chris Jones <jonesc@macports.org>
AuthorDate: Tue Apr 27 23:31:38 2021 +0100

<span style='display:block; white-space:pre;color:#404040;'>    golang PG: Always use compiler wrapper scripts, to enforce flags and better logging
</span>---
 _resources/port1.0/group/golang-1.0.tcl | 66 ++++++++++++++++-----------------
 1 file changed, 32 insertions(+), 34 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/_resources/port1.0/group/golang-1.0.tcl b/_resources/port1.0/group/golang-1.0.tcl
</span><span style='display:block; white-space:pre;color:#808080;'>index f2e913c27ef..d16a78ca06e 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/_resources/port1.0/group/golang-1.0.tcl
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/_resources/port1.0/group/golang-1.0.tcl
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -168,42 +168,40 @@ proc go.append_env {} {
</span>     global os.major build.env workpath
     # Create a wrapper scripts around compiler commands to enforce use of MacPorts flags
     # and to aid use of MacPorts legacysupport library as required.
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if { ${os.major} <= [option legacysupport.newest_darwin_requires_legacy] } {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        post-extract {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            # Note, go annoyingly uses CC for both building and linking, and thus in order to get it to correctly
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            # link to the legacy support library, the ldflags need to be added to the cc and ccx wrappers.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            # To then prevent 'clang linker input unused' errors we must append -Wno-error at the end.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            # Also remove '-static' from compilation options as this is not supported on older systems.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            proc create_wrap { wrap comp flags } {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                set f [ open ${wrap} w 0755 ]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                puts  ${f} "#!/bin/bash"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                puts  ${f} "CMD=\"${comp} ${flags}\""
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                puts  ${f} "echo \${CMD}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                puts  ${f} "exec \${CMD}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                close ${f}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            set flags "${configure.cppflags} ${configure.ldflags} \$\{\@\//-static/\} -Wno-error"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            set wrapdir ${workpath}/gowrap
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            xinstall -m 755 -d ${wrapdir}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            create_wrap ${wrapdir}/cc     ${configure.cc}     "${configure.cflags}      [get_canonical_archflags cc]     ${flags}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            create_wrap ${wrapdir}/c++    ${configure.cxx}    "${configure.cxxflags}    [get_canonical_archflags cxx]    ${flags}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            create_wrap ${wrapdir}/objc   ${configure.objc}   "${configure.objcflags}   [get_canonical_archflags objc]   ${flags}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            create_wrap ${wrapdir}/objc++ ${configure.objcxx} "${configure.objcxxflags} [get_canonical_archflags objcxx] ${flags}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    post-extract {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # Note, go annoyingly uses CC for both building and linking, and thus in order to get it to correctly
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # link to the legacy support library, the ldflags need to be added to the cc and ccx wrappers.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # To then prevent 'clang linker input unused' errors we must append -Wno-error at the end.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # Also remove '-static' from compilation options as this is not supported on older systems.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        proc create_wrap { wrap comp flags } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            set f [ open ${wrap} w 0755 ]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            puts  ${f} "#!/bin/bash"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            puts  ${f} "CMD=\"${comp} ${flags}\""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            puts  ${f} "echo \${CMD}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            puts  ${f} "exec \${CMD}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            close ${f}
</span>         }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        build.env-append \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            "CC=${workpath}/gowrap/cc" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            "CXX=${workpath}/gowrap/c++" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            "OBJC=${workpath}/gowrap/objc" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            "OBJCXX=${workpath}/gowrap/objc++" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            "GO_EXTLINK_ENABLED=1" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            "BOOT_GO_LDFLAGS=-extldflags='${configure.ldflags}'" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            "CGO_CFLAGS=${configure.cflags} [get_canonical_archflags cc]" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            "CGO_CXXFLAGS=${configure.cxxflags} [get_canonical_archflags cxx]" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            "CGO_LDFLAGS=${configure.cflags} ${configure.ldflags} [get_canonical_archflags ld]" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            "GO_LDFLAGS=-extldflags='${configure.ldflags} [get_canonical_archflags ld]'"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        configure.env-append ${build.env}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        test.env-append      ${build.env}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set flags "${configure.cppflags} ${configure.ldflags} \$\{\@\//-static/\} -Wno-error"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set wrapdir ${workpath}/gowrap
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        xinstall -m 755 -d ${wrapdir}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        create_wrap ${wrapdir}/cc     ${configure.cc}     "${configure.cflags}      [get_canonical_archflags cc]     ${flags}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        create_wrap ${wrapdir}/c++    ${configure.cxx}    "${configure.cxxflags}    [get_canonical_archflags cxx]    ${flags}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        create_wrap ${wrapdir}/objc   ${configure.objc}   "${configure.objcflags}   [get_canonical_archflags objc]   ${flags}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        create_wrap ${wrapdir}/objc++ ${configure.objcxx} "${configure.objcxxflags} [get_canonical_archflags objcxx] ${flags}"
</span>     }
<span style='display:block; white-space:pre;background:#e0ffe0;'>+    build.env-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        "CC=${workpath}/gowrap/cc" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        "CXX=${workpath}/gowrap/c++" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        "OBJC=${workpath}/gowrap/objc" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        "OBJCXX=${workpath}/gowrap/objc++" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        "GO_EXTLINK_ENABLED=1" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        "BOOT_GO_LDFLAGS=-extldflags='${configure.ldflags}'" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        "CGO_CFLAGS=${configure.cflags} [get_canonical_archflags cc]" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        "CGO_CXXFLAGS=${configure.cxxflags} [get_canonical_archflags cxx]" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        "CGO_LDFLAGS=${configure.cflags} ${configure.ldflags} [get_canonical_archflags ld]" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        "GO_LDFLAGS=-extldflags='${configure.ldflags} [get_canonical_archflags ld]'"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.env-append ${build.env}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    test.env-append      ${build.env}
</span> }
 port::register_callback go.append_env
 
</pre><pre style='margin:0'>

</pre>