Diff below brings rhash to 1.4.2, which fixes verification of some hash
files containing spaces in file paths. Changelog can be found at
https://github.com/rhash/RHash/blob/v1.4.2/ChangeLog.

Clang detection is broken in this release, and has been fixed in HEAD.
As a result some patching is needed.

'make test' passes all tests. Build tested all consumers, i.e. cmake.

Comments/OK?


diff --git Makefile Makefile
index 7d4ba5dd8be..e50dade4c50 100644
--- Makefile
+++ Makefile
@@ -2,7 +2,7 @@
 
 COMMENT =      utility and library for computing hash sums
 
-DISTNAME =     rhash-1.4.1-src
+DISTNAME =     rhash-1.4.2-src
 PKGNAME =      ${DISTNAME:S/-src$//}
 
 SHARED_LIBS =  rhash 0.0
diff --git distinfo distinfo
index 699d9e9057f..8f5a25ecc42 100644
--- distinfo
+++ distinfo
@@ -1,2 +1,2 @@
-SHA256 (rhash-1.4.1-src.tar.gz) = QwyBJzPmm3jwfOMKBdtpVjRQ5B4heuYYUHpM4uFEopc=
-SIZE (rhash-1.4.1-src.tar.gz) = 413274
+SHA256 (rhash-1.4.2-src.tar.gz) = YA0A9fke8EGU1QkD08eUEgmTKMQvKP9DoL23d7AL7GI=
+SIZE (rhash-1.4.2-src.tar.gz) = 416853
diff --git patches/patch-configure patches/patch-configure
index 2f4d2b74ee8..11de265e83b 100644
--- patches/patch-configure
+++ patches/patch-configure
@@ -1,9 +1,79 @@
 $OpenBSD: patch-configure,v 1.3 2020/07/29 13:33:22 bket Exp $
 
+Fix clang detection. Taken from
+https://github.com/rhash/RHash/commit/4dc506066cf1727b021e6352535a8bb315c3f8dc
+
 Index: configure
 --- configure.orig
 +++ configure
-@@ -599,7 +599,7 @@ log_finish
+@@ -519,38 +519,36 @@ else
+     elif run_cmd "$CC --version"; then
+       cc_name_tmp=$($CC --version 2>&1 | head -n 1 | cut -d ' ' -f 1)
+     fi
+-    if test -n "${cc_name_tmp}"; then
+-      if echo "$cc_name_tmp" | grep -q "gcc"; then
+-        cc_name=$cc_name_tmp
+-        start_check "$CC version"
+-        cc_vendor=gnu
+-        cc_version=$($CC -dumpversion 2>&1)
+-        if ! echo $cc_version | grep -q '^[0-9][0-9]*\.[0-9]'; then
+-          cc_v2=$($CC -dumpfullversion -dumpversion 2>/dev/null)
+-          if echo $cc_v2 | grep -q '^[0-9][0-9]*\.[0-9]'; then
+-            cc_version=$cc_v2
+-          fi
++    if echo "$cc_name_tmp" | grep -q "gcc"; then
++      cc_name=$cc_name_tmp
++      start_check "$CC version"
++      cc_vendor=gnu
++      cc_version=$($CC -dumpversion 2>&1)
++      if ! echo $cc_version | grep -q '^[0-9][0-9]*\.[0-9]'; then
++        cc_v2=$($CC -dumpfullversion -dumpversion 2>/dev/null)
++        if echo $cc_v2 | grep -q '^[0-9][0-9]*\.[0-9]'; then
++          cc_version=$cc_v2
+         fi
+-        case $cc_version in
+-          2.96*)
+-            cc_fail=yes
+-            ;;
+-          *)
+-            _cc_major=$(echo $cc_version | cut -d '.' -f 1)
+-            _cc_minor=$(echo $cc_version | cut -d '.' -f 2)
+-            _cc_mini=$(echo $cc_version | cut -d '.' -f 3)
+-            ;;
+-        esac
+-        finish_check "$cc_name $cc_version"
+-        break
+       fi
+-      if echo "$cc_name_tmp" | grep -q "clang"; then
+-        start_check "$CC version"
+-        cc_vendor=clang
+-        cc_version=$($CC -dumpversion 2>&1)
+-        finish_check "clang $cc_version"
+-        break
+-      fi
++      case $cc_version in
++        2.96*)
++          cc_fail=yes
++          ;;
++        *)
++          _cc_major=$(echo $cc_version | cut -d '.' -f 1)
++          _cc_minor=$(echo $cc_version | cut -d '.' -f 2)
++          _cc_mini=$(echo $cc_version | cut -d '.' -f 3)
++          ;;
++      esac
++      finish_check "$cc_name $cc_version"
++      break
++    elif $CC --version 2>&1 | grep -q "clang"; then
++      start_check "$CC version"
++      cc_vendor=clang
++      cc_version=$($CC -dumpversion 2>&1)
++      finish_check "clang $cc_version"
++      break
++    else
+       cc_name_tmp=$($CC -V 2>&1 | head -n 1 | cut -d ' ' -f 2,3)
+       if test "$cc_name_tmp" = "Sun C"; then
+         start_check "$CC version"
+@@ -604,7 +602,7 @@ log_finish
  # detect proper shared library name
  SHARED_PREFIX="lib"
  STATIC_PREFIX="lib"

Reply via email to