<pre style='margin:0'>
Haren S (harens) pushed a commit to branch master
in repository macports-base.

</pre>
<p><a href="https://github.com/macports/macports-base/commit/1e2ff3991b8f50fab0eabacd3b72cd42099f6e83">https://github.com/macports/macports-base/commit/1e2ff3991b8f50fab0eabacd3b72cd42099f6e83</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 1e2ff3991 Fix libmd linux (#237)
</span>1e2ff3991 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 1e2ff3991b8f50fab0eabacd3b72cd42099f6e83
</span>Author: Mihai Moldovan <ionic@ionic.de>
AuthorDate: Thu Mar 30 14:16:54 2023 +0200

<span style='display:block; white-space:pre;color:#404040;'>    Fix libmd linux (#237)
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    The standalone libmd implementation as used on Linux includes a header
</span><span style='display:block; white-space:pre;color:#404040;'>    called "sha2.h" which is supposed to be relative to its own include
</span><span style='display:block; white-space:pre;color:#404040;'>    directory.
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Unfortunately, MacPorts ships its own SHA2 implementation in pextlib (in
</span><span style='display:block; white-space:pre;color:#404040;'>    case neither CommonCrypto, nor libmd nor OpenSSL-like implementations
</span><span style='display:block; white-space:pre;color:#404040;'>    are available), which also uses the "sha2.h" header file name. This
</span><span style='display:block; white-space:pre;color:#404040;'>    seems to take precedence and both header files are not compatible, so
</span><span style='display:block; white-space:pre;color:#404040;'>    the build fails.
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Move the standalone SHA2 implementation to src/compat/sha2 and update
</span><span style='display:block; white-space:pre;color:#404040;'>    the references.
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Additionally, SHA1_File is almost never a proper function, but most
</span><span style='display:block; white-space:pre;color:#404040;'>    often defined as a macro set to the real function. In any case, checking
</span><span style='display:block; white-space:pre;color:#404040;'>    for it via AC_CHECK_FUNCS() is wrong, so switch to AC_CHECK_DECLS() and
</span><span style='display:block; white-space:pre;color:#404040;'>    use the updated checking macros.
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Fixes: https://trac.macports.org/ticket/58060
</span>---
 aclocal.m4                             |  2 +-
 configure                              | 11 +++++++----
 src/{pextlib1.0 => compat/sha2}/sha2.c |  0
 src/{pextlib1.0 => compat/sha2}/sha2.h |  0
 src/config.h.in                        |  7 ++++---
 src/pextlib1.0/sha1cmd.c               |  2 +-
 src/pextlib1.0/sha256cmd.c             |  4 ++--
 7 files changed, 15 insertions(+), 11 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/aclocal.m4 b/aclocal.m4
</span><span style='display:block; white-space:pre;color:#808080;'>index f0cb41583..cc92d20c3 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/aclocal.m4
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/aclocal.m4
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -805,7 +805,7 @@ AC_DEFUN([MP_LIB_MD5],[
</span>           ])
                ac_save_LIBS="$LIBS"
                LIBS="-lmd $LIBS"
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                AC_CHECK_FUNCS([SHA1_File])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           AC_CHECK_DECLS([SHA1_File], [], [], [[#include <sha.h>]])
</span>           LIBS="$ac_save_LIBS"
                AC_CHECK_HEADERS([ripemd.h sha256.h])
                AC_DEFINE([HAVE_LIBMD], ,[Define if you have the `md' library (-lmd).])
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/configure b/configure
</span><span style='display:block; white-space:pre;color:#808080;'>index 8bfbd4432..a614be827 100755
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/configure
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/configure
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -7524,12 +7524,15 @@ fi
</span> done
                ac_save_LIBS="$LIBS"
                LIBS="-lmd $LIBS"
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                ac_fn_c_check_func "$LINENO" "SHA1_File" "ac_cv_func_SHA1_File"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-if test "x$ac_cv_func_SHA1_File" = xyes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           ac_fn_check_decl "$LINENO" "SHA1_File" "ac_cv_have_decl_SHA1_File" "#include <sha.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+" "$ac_c_undeclared_builtin_options" "CFLAGS"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if test "x$ac_cv_have_decl_SHA1_File" = xyes
</span> then :
<span style='display:block; white-space:pre;background:#ffe0e0;'>-  printf "%s\n" "#define HAVE_SHA1_FILE 1" >>confdefs.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  ac_have_decl=1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+else $as_nop
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  ac_have_decl=0
</span> fi
<span style='display:block; white-space:pre;background:#e0ffe0;'>+printf "%s\n" "#define HAVE_DECL_SHA1_FILE $ac_have_decl" >>confdefs.h
</span> 
                LIBS="$ac_save_LIBS"
                ac_fn_c_check_header_compile "$LINENO" "ripemd.h" "ac_cv_header_ripemd_h" "$ac_includes_default"
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/src/pextlib1.0/sha2.c b/src/compat/sha2/sha2.c
</span>similarity index 100%
rename from src/pextlib1.0/sha2.c
rename to src/compat/sha2/sha2.c
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/src/pextlib1.0/sha2.h b/src/compat/sha2/sha2.h
</span>similarity index 100%
rename from src/pextlib1.0/sha2.h
rename to src/compat/sha2/sha2.h
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/src/config.h.in b/src/config.h.in
</span><span style='display:block; white-space:pre;color:#808080;'>index d3e471b1b..a3b5acdc4 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/src/config.h.in
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/src/config.h.in
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -40,6 +40,10 @@
</span>    `rl_username_completion_function', and to 0 if you don't. */
 #undef HAVE_DECL_RL_USERNAME_COMPLETION_FUNCTION
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+/* Define to 1 if you have the declaration of `SHA1_File', and to 0 if you
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   don't. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#undef HAVE_DECL_SHA1_FILE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> /* Define to 1 if you have the declaration of `username_completion_function',
    and to 0 if you don't. */
 #undef HAVE_DECL_USERNAME_COMPLETION_FUNCTION
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -144,9 +148,6 @@
</span> /* Define to 1 if you have the `setmode' function. */
 #undef HAVE_SETMODE
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-/* Define to 1 if you have the `SHA1_File' function. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-#undef HAVE_SHA1_FILE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span> /* Define to 1 if you have the <sha256.h> header file. */
 #undef HAVE_SHA256_H
 
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/src/pextlib1.0/sha1cmd.c b/src/pextlib1.0/sha1cmd.c
</span><span style='display:block; white-space:pre;color:#808080;'>index fdae1f3ea..a7c815a94 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/src/pextlib1.0/sha1cmd.c
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/src/pextlib1.0/sha1cmd.c
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -60,7 +60,7 @@ CHECKSUMFile(SHA1_, SHA_CTX)
</span> #ifndef SHA_DIGEST_LENGTH
 #define SHA_DIGEST_LENGTH 20
 #endif
<span style='display:block; white-space:pre;background:#ffe0e0;'>-#ifndef HAVE_SHA1_FILE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#if (!(defined(HAVE_DECL_SHA1_FILE))) || (!(HAVE_DECL_SHA1_FILE))
</span> #define SHA1_File(x,y) SHAFile(x,y)
 #endif
 #elif defined(HAVE_LIBCRYPTO) && defined(HAVE_OPENSSL_SHA_H)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/src/pextlib1.0/sha256cmd.c b/src/pextlib1.0/sha256cmd.c
</span><span style='display:block; white-space:pre;color:#808080;'>index f02ac3344..963ff01d9 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/src/pextlib1.0/sha256cmd.c
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/src/pextlib1.0/sha256cmd.c
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -78,8 +78,8 @@ CHECKSUMFile(SHA256_, SHA256_CTX)
</span>  * let's use our own version of sha256* libraries.
  */
 #include <sys/types.h>
<span style='display:block; white-space:pre;background:#ffe0e0;'>-#include "sha2.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-#include "sha2.c"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#include "sha2/sha2.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#include "sha2/sha2.c"
</span> 
 #include "md_wrappers.h"
 CHECKSUMEnd(SHA256_, SHA256_CTX, SHA256_DIGEST_LENGTH)
</pre><pre style='margin:0'>

</pre>