blob: af3cb754b8e90663a8d229bcbe04a38cf76c0ebe (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
|
# 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:=
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)
}
|