<pre style='margin:0'>
Perry E. Metzger (pmetzger) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/9bee52f5b5ca2be3ee5c865e73cabd010ec9b459">https://github.com/macports/macports-ports/commit/9bee52f5b5ca2be3ee5c865e73cabd010ec9b459</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 9bee52f5b5c crystal: update to 1.3.1
</span>9bee52f5b5c is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 9bee52f5b5ca2be3ee5c865e73cabd010ec9b459
</span>Author: Mohamed Akram <mohd.akram@outlook.com>
AuthorDate: Tue Jan 18 17:08:00 2022 +0400

<span style='display:block; white-space:pre;color:#404040;'>    crystal: update to 1.3.1
</span>---
 lang/crystal/Portfile                | 18 ++++-----
 lang/crystal/files/patch-crypto.diff | 11 ------
 lang/crystal/files/patch-link.diff   | 40 --------------------
 lang/crystal/files/patch-ssl.diff    | 11 ------
 lang/crystal/files/patch-static.diff | 73 ++++++++++++++++++++++++++++++++++++
 5 files changed, 82 insertions(+), 71 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/crystal/Portfile b/lang/crystal/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index db633ed0458..cf3d940cbd9 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/crystal/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/crystal/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -5,8 +5,8 @@ PortGroup           github 1.0
</span> PortGroup           openssl 1.0
 PortGroup           compiler_blacklist_versions 1.0
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-github.setup        crystal-lang crystal 1.2.2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-revision            1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+github.setup        crystal-lang crystal 1.3.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision            0
</span> categories          lang
 platforms           darwin
 supported_archs     x86_64 arm64
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -41,15 +41,15 @@ master_sites-append https://github.com/crystal-lang/${name}/releases/download/${
</span> distfiles-append    ${name}-${cr_full_ver}-${os.platform}-universal${extract.suffix}:bootstrap
 
 checksums           ${distname}${extract.suffix} \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                    rmd160  34223815a072284aecc50141e5c8dcee4a9d84a0 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    sha256  549753b55e9531ffbdb404fda44bb08eb4d0e0ffe3b689c62330a50ba95737ee \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    size    2622500 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    rmd160  e180852f2647a4934bdbc9b5e5dd264293fb23de \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256  90cc3d6900af403f11b8a8974c2b709d97336c51b1e6f0b90a4d64eb52cef24b \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    size    2835049 \
</span>                     ${name}-${cr_full_ver}-${os.platform}-universal${extract.suffix} \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                    rmd160  0c6307c5e467d81c198a35c3162dfa80b093c0b2 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    sha256  e15078c981a5d7f61e612b07399abb7dd790f0840c7e5a003e1114d222abbf1b \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    size    45727479
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    rmd160  2133f80836b2aee796c1608b01ce12f54ed25dc0 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256  fa030296560cc7a6dba87c6c378bbc0279acc782d1fd6ff385c7730dab484b7e \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    size    45940573
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-patchfiles          patch-link.diff patch-crypto.diff patch-ssl.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles          patch-static.diff
</span> 
 post-patch {
     file copy -force ${worksrcpath}/src/lib_c/x86_64-openbsd/c/iconv.cr \
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/crystal/files/patch-crypto.diff b/lang/crystal/files/patch-crypto.diff
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 928f8398b10..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/crystal/files/patch-crypto.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,11 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- src/openssl/lib_crypto.cr.orig 2021-11-10 16:14:09.000000000 +0400
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ src/openssl/lib_crypto.cr      2021-11-11 19:41:28.000000000 +0400
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -15,7 +15,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   end
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {% end %}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--@[Link(ldflags: "`command -v pkg-config > /dev/null && pkg-config --libs --silence-errors libcrypto || printf %s '-lcrypto'`")]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+@[Link("crypto", pkg_config: "libcrypto")]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lib LibCrypto
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   alias Char = LibC::Char
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   alias Int = LibC::Int
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/crystal/files/patch-link.diff b/lang/crystal/files/patch-link.diff
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 76e1648caee..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/crystal/files/patch-link.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,40 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- src/compiler/crystal/codegen/link.cr.orig      2021-11-10 16:14:09.000000000 +0400
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ src/compiler/crystal/codegen/link.cr   2021-11-11 01:58:53.000000000 +0400
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -126,7 +126,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       static_build = has_flag?("static")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       # Instruct the linker to link statically if the user asks
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--      flags << "-static" if static_build
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+      flags << "-static" if static_build && !has_flag?("darwin")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       # Add CRYSTAL_LIBRARY_PATH locations, so the linker preferentially
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       # searches user-given library paths.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -154,7 +154,27 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         end
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       end
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--      flags.join(" ")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+      process_flags(flags.join(" "))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    end
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    private def process_flags(flags)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+      return flags if !(has_flag?("darwin") && has_flag?("static"))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+      new_flags = ["-lc++"]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+      flags.split.each do |flag|
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        if (lib_name = flag.lchop?("-l")) && (static_lib = find_static_lib(lib_name))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+          new_flags << static_lib
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+          new_flags << flag
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        end
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+      end
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+      new_flags.join(" ")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    end
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    private def find_static_lib(libname)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+      CrystalLibraryPath.paths.each do |libdir|
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        static_lib = "#{libdir}/lib#{libname}.a"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        return static_lib if File.exists?(static_lib)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+      end
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     end
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     PKG_CONFIG_PATH = Process.find_executable("pkg-config")
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/crystal/files/patch-ssl.diff b/lang/crystal/files/patch-ssl.diff
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 8a430176c7e..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/crystal/files/patch-ssl.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,11 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- src/openssl/lib_ssl.cr.orig    2021-11-10 16:14:09.000000000 +0400
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ src/openssl/lib_ssl.cr 2021-11-11 19:42:24.000000000 +0400
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -21,7 +21,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   end
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {% end %}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--@[Link(ldflags: "`command -v pkg-config > /dev/null && pkg-config --libs --silence-errors libssl || printf %s '-lssl -lcrypto'`")]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+@[Link("ssl", pkg_config: "libssl")]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lib LibSSL
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   alias Int = LibC::Int
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   alias Char = LibC::Char
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/crystal/files/patch-static.diff b/lang/crystal/files/patch-static.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..89e210d3acc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/crystal/files/patch-static.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,73 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git src/compiler/crystal/codegen/link.cr src/compiler/crystal/codegen/link.cr
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 4caf0060c..d7b9b19ca 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- src/compiler/crystal/codegen/link.cr
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ src/compiler/crystal/codegen/link.cr
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -136,7 +136,7 @@ module Crystal
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       static_build = has_flag?("static")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       # Instruct the linker to link statically if the user asks
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      flags << "-static" if static_build
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      flags << "-static" if static_build && !has_flag?("darwin")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       # Add CRYSTAL_LIBRARY_PATH locations, so the linker preferentially
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       # searches user-given library paths.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -164,7 +164,32 @@ module Crystal
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         end
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       end
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      flags.join(" ")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      process_flags(flags.join(" "))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    end
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    private def process_flags(flags)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      return flags if !(has_flag?("darwin") && has_flag?("static"))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      # From `man 3 intro`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      system_libs = ["c", "dbm", "dl", "info", "m", "poll", "pthread", "rpcsvc"]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      new_flags = [] of String
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      flags.split.each do |flag|
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        if (lib_name = flag.lchop?("-l"))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++          static_lib = find_static_lib(lib_name)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++          if (!static_lib && !system_libs.includes?(lib_name))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            Crystal.error "could not find lib#{lib_name}.a", 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++          end
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++          flag = static_lib if static_lib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        end
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        new_flags << flag
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      end
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      new_flags.join(" ")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    end
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    private def find_static_lib(libname)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      CrystalLibraryPath.paths.each do |libdir|
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        static_lib = "#{libdir}/lib#{libname}.a"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        return static_lib if File.exists?(static_lib)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      end
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     end
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     PKG_CONFIG_PATH = Process.find_executable("pkg-config")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git src/openssl/lib_crypto.cr src/openssl/lib_crypto.cr
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 77fc322ab..80005b0c3 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- src/openssl/lib_crypto.cr
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ src/openssl/lib_crypto.cr
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -26,7 +26,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   @[Link("crypt32")] # CertOpenStore, ...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   @[Link("user32")]  # GetProcessWindowStation, GetUserObjectInformationW, _MessageBoxW
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {% else %}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  @[Link(ldflags: "`command -v pkg-config > /dev/null && pkg-config --libs --silence-errors libcrypto || printf %s '-lcrypto'`")]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  @[Link("crypto", pkg_config: "libcrypto")]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {% end %}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lib LibCrypto
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   alias Char = LibC::Char
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git src/openssl/lib_ssl.cr src/openssl/lib_ssl.cr
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index f8c9d0908..cc961956a 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- src/openssl/lib_ssl.cr
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ src/openssl/lib_ssl.cr
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -33,7 +33,7 @@ require "./lib_crypto"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   @[Link("crypt32")] # CertOpenStore, ...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   @[Link("user32")]  # GetProcessWindowStation, GetUserObjectInformationW, _MessageBoxW
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {% else %}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  @[Link(ldflags: "`command -v pkg-config > /dev/null && pkg-config --libs --silence-errors libssl || printf %s '-lssl -lcrypto'`")]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  @[Link("ssl", pkg_config: "libssl")]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {% end %}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lib LibSSL
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   alias Int = LibC::Int
</span></pre><pre style='margin:0'>

</pre>