hashcat: fix darwin build

use libc++ libc++abi, not libstdc++, when stdenv.cc.libcxx is non null

MACOSX_DEPLOYMENT_TARGET is defined by the environment, comment out the
definition in the Makefile as it breaks the c++ build.
This commit is contained in:
annalee 2023-11-26 08:42:40 +00:00
parent 94bd988819
commit 27e9083e87
No known key found for this signature in database

View file

@ -21,8 +21,14 @@ stdenv.mkDerivation rec {
}; };
postPatch = '' postPatch = ''
# Select libstdc++ or libc++ based on stdenv
# MACOSX_DEPLOYMENT_TARGET is defined by the enviroment
# Remove hardcoded paths on darwin # Remove hardcoded paths on darwin
substituteInPlace src/Makefile \ substituteInPlace src/Makefile \
'' + lib.optionalString (stdenv.cc.libcxx != null) ''
--replace "-lstdc++" "-lc++ -l${stdenv.cc.libcxx.cxxabi.libName}" \
'' + ''
--replace "export MACOSX_DEPLOYMENT_TARGET" "#export MACOSX_DEPLOYMENT_TARGET" \
--replace "/usr/bin/ar" "ar" \ --replace "/usr/bin/ar" "ar" \
--replace "/usr/bin/sed" "sed" \ --replace "/usr/bin/sed" "sed" \
--replace '-i ""' '-i' --replace '-i ""' '-i'