summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app-crypt/rhash/files/rhash-1.4.2-clang.patch80
-rw-r--r--app-crypt/rhash/rhash-1.4.2.ebuild4
2 files changed, 84 insertions, 0 deletions
diff --git a/app-crypt/rhash/files/rhash-1.4.2-clang.patch b/app-crypt/rhash/files/rhash-1.4.2-clang.patch
new file mode 100644
index 000000000000..460e73a6ace7
--- /dev/null
+++ b/app-crypt/rhash/files/rhash-1.4.2-clang.patch
@@ -0,0 +1,80 @@
+From 4dc506066cf1727b021e6352535a8bb315c3f8dc Mon Sep 17 00:00:00 2001
+From: Aleksey <rhash.admin@gmail.com>
+Date: Sat, 17 Jul 2021 18:39:41 +0300
+Subject: [PATCH] configure: fix clang detection on macOS
+
+---
+ configure | 58 +++++++++++++++++++++++++++----------------------------
+ 1 file changed, 28 insertions(+), 30 deletions(-)
+
+diff --git a/configure b/configure
+index 59d432b..111270a 100755
+--- a/configure
++++ b/configure
+@@ -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"
diff --git a/app-crypt/rhash/rhash-1.4.2.ebuild b/app-crypt/rhash/rhash-1.4.2.ebuild
index fd42272e981c..0aea0acab044 100644
--- a/app-crypt/rhash/rhash-1.4.2.ebuild
+++ b/app-crypt/rhash/rhash-1.4.2.ebuild
@@ -29,6 +29,10 @@ BDEPEND="
S="${WORKDIR}/RHash-${PV}"
+PATCHES=(
+ "${FILESDIR}"/${P}-clang.patch
+)
+
src_prepare() {
default