You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gentoo-overlay/dev-haskell/cryptonite/cryptonite-0.28.ebuild

59 lines
1.9 KiB

# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
# 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 ~arm64 ~ppc64 ~riscv ~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:= <dev-lang/ghc-9.1
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)
}