diff --git a/devel/stack/Makefile b/devel/stack/Makefile --- a/devel/stack/Makefile +++ b/devel/stack/Makefile @@ -189,6 +189,12 @@ .include +.if ${ARCH} == aarch64 +# Keep it in sync with LLVM_VERSION in lang/ghc +LLVM_VERSION= 10 +RUN_DEPENDS+= llc${LLVM_VERSION}:devel/llvm${LLVM_VERSION} +.endif + .if ${OSVERSION} >= 1300078 && ${ARCH} != powerpc64 LIB_DEPENDS+= libncursesw.so.8:misc/compat12x .endif diff --git a/devel/stack/files/patch-__cabal__deps_cryptonite-0.29_cbits_decaf_include_word.h b/devel/stack/files/patch-__cabal__deps_cryptonite-0.29_cbits_decaf_include_word.h new file mode 100644 --- /dev/null +++ b/devel/stack/files/patch-__cabal__deps_cryptonite-0.29_cbits_decaf_include_word.h @@ -0,0 +1,13 @@ +https://github.com/haskell-crypto/cryptonite/issues/350 + +--- _cabal_deps/cryptonite-0.29/cbits/decaf/include/word.h.orig 2019-09-08 00:46:48 UTC ++++ _cabal_deps/cryptonite-0.29/cbits/decaf/include/word.h +@@ -238,7 +238,7 @@ malloc_vector(size_t size) { + /* PERF: vectorize vs unroll */ + #ifdef __clang__ + #if 100*__clang_major__ + __clang_minor__ > 305 +-#define UNROLL _Pragma("clang loop unroll(full)") ++//#define UNROLL _Pragma("clang loop unroll(full)") + #endif + #endif + diff --git a/devel/stack/files/patch-src_Stack_Setup.hs b/devel/stack/files/patch-src_Stack_Setup.hs new file mode 100644 --- /dev/null +++ b/devel/stack/files/patch-src_Stack_Setup.hs @@ -0,0 +1,12 @@ +https://github.com/commercialhaskell/stack/pull/5622 + +--- src/Stack/Setup.hs.orig 2021-07-19 21:35:32 UTC ++++ src/Stack/Setup.hs +@@ -1266,6 +1266,7 @@ getOSKey platform = + Platform Arm Cabal.Linux -> return "linux-armv7" + Platform AArch64 Cabal.Linux -> return "linux-aarch64" + Platform Sparc Cabal.Linux -> return "linux-sparc" ++ Platform AArch64 Cabal.FreeBSD -> return "freebsd-aarch64" + Platform arch os -> throwM $ UnsupportedSetupCombo os arch + + downloadOrUseLocal