<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>