summaryrefslogtreecommitdiff
path: root/dev-haskell/cryptonite/cryptonite-0.28.ebuild
diff options
context:
space:
mode:
Diffstat (limited to 'dev-haskell/cryptonite/cryptonite-0.28.ebuild')
-rw-r--r--dev-haskell/cryptonite/cryptonite-0.28.ebuild58
1 files changed, 58 insertions, 0 deletions
diff --git a/dev-haskell/cryptonite/cryptonite-0.28.ebuild b/dev-haskell/cryptonite/cryptonite-0.28.ebuild
new file mode 100644
index 000000000000..72d0c2fc464b
--- /dev/null
+++ b/dev-haskell/cryptonite/cryptonite-0.28.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+# ebuild generated by hackport 0.6.7.9999
+#hackport: flags: -check_alignment,-old_toolchain_inliner,+support_deepseq,support_aesni:cpu_flags_x86_aes,support_pclmuldq:cpu_flags_x86_sse4_1,support_sse:cpu_flags_x86_sse,support_rdrand:cpu_flags_x86_rdrand
+
+CABAL_FEATURES="lib profile haddock hoogle hscolour test-suite"
+inherit flag-o-matic haskell-cabal
+
+DESCRIPTION="Cryptography Primitives sink"
+HOMEPAGE="https://github.com/haskell-crypto/cryptonite"
+SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz
+ https://github.com/haskell-crypto/cryptonite/pull/338.patch -> ${PN}-338.patch"
+
+LICENSE="BSD"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~ppc64 ~x86"
+IUSE="cpu_flags_x86_rdrand cpu_flags_x86_aes cpu_flags_x86_sse cpu_flags_x86_sse4_1 +integer-gmp +target-attributes"
+
+RDEPEND=">=dev-haskell/basement-0.0.6:=[profile?]
+ >=dev-haskell/memory-0.14.18:=[profile?]
+ >=dev-lang/ghc-8.4.3:=
+ virtual/libc
+"
+DEPEND="${RDEPEND}
+ >=dev-haskell/cabal-2.2.0.1
+ test? ( dev-haskell/tasty
+ dev-haskell/tasty-hunit
+ dev-haskell/tasty-kat
+ dev-haskell/tasty-quickcheck )
+"
+
+PATCHES=( "${DISTDIR}"/${PN}-338.patch )
+
+src_prepare() {
+ default
+
+ # On AVX2 cryptonite's own test suite crashes on unaligned access:
+ # https://github.com/haskell-crypto/cryptonite/issues/347
+ # Disable extensions that might require extra alignment.
+ use amd64 && append-flags -mno-avx2
+ use x86 && append-flags -mno-avx2
+}
+
+src_configure() {
+ haskell-cabal_src_configure \
+ --flag=-check_alignment \
+ $(cabal_flag integer-gmp integer-gmp) \
+ --flag=-old_toolchain_inliner \
+ $(cabal_flag cpu_flags_x86_aes support_aesni) \
+ --flag=support_deepseq \
+ $(cabal_flag cpu_flags_x86_sse4_1 support_pclmuldq) \
+ $(cabal_flag cpu_flags_x86_rdrand support_rdrand) \
+ $(cabal_flag cpu_flags_x86_sse support_sse) \
+ $(cabal_flag target-attributes use_target_attributes)
+}