|
|
|
# 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)
|
|
|
|
}
|