diff options
Diffstat (limited to 'dev-haskell/cryptonite/cryptonite-0.28.ebuild')
-rw-r--r-- | dev-haskell/cryptonite/cryptonite-0.28.ebuild | 58 |
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) +} |