<pre style='margin:0'>
kimura wataru (kimuraw) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/06938beeea8a135d46a9577d775b27d877058c1c">https://github.com/macports/macports-ports/commit/06938beeea8a135d46a9577d775b27d877058c1c</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 06938beeea8 lang/ruby27, ruby26: fix build error of ruby extentions on macOS 11
</span>06938beeea8 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 06938beeea8a135d46a9577d775b27d877058c1c
</span>Author: kimura wataru <kimuraw@macports.org>
AuthorDate: Sat Dec 26 15:08:59 2020 +0900

<span style='display:block; white-space:pre;color:#404040;'>    lang/ruby27, ruby26: fix build error of ruby extentions on macOS 11
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    macOS 11 and Xcode 12 changes SDK path for macOS minor versions.
</span><span style='display:block; white-space:pre;color:#404040;'>    this breaks building ruby binary extentions.
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>       /Library/Developer/CommandLineTools/SDKs/MacOSX11.0.sdk
</span><span style='display:block; white-space:pre;color:#404040;'>    -> /Library/Developer/CommandLineTools/SDKs/MacOSX11.1.sdk (11.0 removed)
</span><span style='display:block; white-space:pre;color:#404040;'>                                                        ^^^
</span><span style='display:block; white-space:pre;color:#404040;'>    To fix this problem, port:ruby2x rewrites SDKROOT to "MacOSX.sdk" (symlink)
</span><span style='display:block; white-space:pre;color:#404040;'>    from "MacOSX11.x.sdk" in rbconfig.rb and ruby-2.x.pc at `post-build`.
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Closes: https://trac.macports.org/ticket/61827
</span><span style='display:block; white-space:pre;color:#404040;'>    Closes: https://trac.macports.org/ticket/61899
</span>---
 lang/ruby26/Portfile | 21 ++++++++++++++++++++-
 lang/ruby27/Portfile | 25 ++++++++++++++++++++++++-
 2 files changed, 44 insertions(+), 2 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/ruby26/Portfile b/lang/ruby26/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 48078c64faa..10a826c7266 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/ruby26/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/ruby26/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -5,7 +5,7 @@ PortGroup           select 1.0
</span> 
 name                ruby26
 version             2.6.6
<span style='display:block; white-space:pre;background:#ffe0e0;'>-revision            1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision            2
</span> 
 categories          lang ruby
 maintainers         {kimuraw @kimuraw} openmaintainer
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -56,6 +56,25 @@ configure.args      --enable-shared \
</span>                     --program-suffix=2.6 \
                     --with-rubylibprefix="${prefix}/lib/ruby2.6"
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+# [NOTE] workaround for mismatch of sdk versions on macOS 11.x,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# such as MacOSX11.0.sdk (buildbot) <=> MacOSX11.1.sdk (user's Mac).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# (see ruby27)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+post-build {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {${os.major} == 20} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # ruby saves its' compile options (CFLAGS, LDFLAGS, ..) in "rbconfig.rb" at build,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # and uses the options when complile binary extensions.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # rewrite MacOSX11.1.sdk -> MacOSX.sdk in rbconfig.rb
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        file copy ${worksrcpath}/rbconfig.rb ${worksrcpath}/rbconfig.rb.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        reinplace -E {s|(/MacOSX)[0-9\.]+(\.sdk[\'\"]?[[:blank:]])|\1\2|g} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+               ${worksrcpath}/rbconfig.rb \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+               ${worksrcpath}/ruby-2.6.pc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        reinplace -E {s|(/MacOSX)[0-9\.]+(\.sdk[\'\"]?)$|\1\2|g} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+               ${worksrcpath}/rbconfig.rb \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+               ${worksrcpath}/ruby-2.6.pc
</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> # Add the architecture flag as required
 if {[info exists build_arch] && ${build_arch} != ""} {
     configure.args-append "--with-arch=${build_arch}"
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/ruby27/Portfile b/lang/ruby27/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 7325956db00..33bb23d6812 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/ruby27/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/ruby27/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -5,7 +5,7 @@ PortGroup           select 1.0
</span> 
 name                ruby27
 version             2.7.2
<span style='display:block; white-space:pre;background:#ffe0e0;'>-revision            0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision            1
</span> 
 categories          lang ruby
 maintainers         {kimuraw @kimuraw} openmaintainer
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -57,6 +57,29 @@ configure.args      --enable-shared \
</span>                     --with-rubylibprefix="${prefix}/lib/ruby2.7" \
                     --without-baseruby
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+# [NOTE] workaround for mismatch of sdk versions on macOS 11.x,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# such as MacOSX11.0.sdk (buildbot) <=> MacOSX11.1.sdk (user's Mac).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# - ruby27 @2.7.2: pre-built archive for Big Sur contains hardcoded path to 11.0 SDK
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#   https://trac.macports.org/ticket/61899
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# - rb27-nokogiri @1.10.4 : Failed to compile on Big Sur (Apple Silicon)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#   https://trac.macports.org/ticket/61827
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+post-build {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {${os.major} == 20} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # ruby saves its' compile options (CFLAGS, LDFLAGS, ..) in "rbconfig.rb" at build,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # and uses the options when complile binary extensions.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # rewrite MacOSX11.1.sdk -> MacOSX.sdk in rbconfig.rb
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        file copy ${worksrcpath}/rbconfig.rb ${worksrcpath}/rbconfig.rb.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        reinplace -E {s|(/MacOSX)[0-9\.]+(\.sdk[\'\"]?[[:blank:]])|\1\2|g} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+               ${worksrcpath}/rbconfig.rb \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+               ${worksrcpath}/ruby-2.7.pc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        reinplace -E {s|(/MacOSX)[0-9\.]+(\.sdk[\'\"]?)$|\1\2|g} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+               ${worksrcpath}/rbconfig.rb \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+               ${worksrcpath}/ruby-2.7.pc
</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> # Add the architecture flag as required
 if {[info exists build_arch] && ${build_arch} != ""} {
     configure.args-append "--with-arch=${build_arch}"
</pre><pre style='margin:0'>

</pre>