-
Notifications
You must be signed in to change notification settings - Fork 8
/
argon2.cabal
118 lines (98 loc) · 4.47 KB
/
argon2.cabal
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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
cabal-version: 1.22
name: argon2
version: 1.3.0.1
synopsis: Memory-hard password hash and proof-of-work function
description:
Argon2 is the key derivation function (KDF) selected as the winner of the [Password Hashing Competition](https://en.wikipedia.org/wiki/Password_Hashing_Competition). The API exposed by this bindings provide access to the 3 specified variants
.
* @Argon2d@ (maximize resistance to GPU cracking attacks),
* @Argon2i@ (optimized to resist side-channel attacks), and
* @Argon2id@ (hybrid version combining @Argon2d@ and @Argon2i@)
.
and allows to control various parameters (time cost, memory cost, parallelism) of the Argon2 function. Moreover, it is also supported to generate and verify the deprecated version 1.0 hashes, as well as the current version 1.3 hashes.
.
The Haskell API supports both raw binary hashes as well as the ASCII-based [PHC string format](https://github.com/P-H-C/phc-string-format/blob/master/phc-sf-spec.md).
.
This version provides bindings to the \"@20171227@\" release of the [Argon2 reference implementation (libargon2)](https://github.com/P-H-C/phc-winner-argon2) of the Argon2 password-hashing function.
.
Please refer to the [Argon2 specification](https://github.com/P-H-C/phc-winner-argon2/blob/master/argon2-specs.pdf) for more information.
license: BSD3
license-files: LICENSE
phc-winner-argon2/LICENSE
author: Ollie Charles, Herbert Valerio Riedel
maintainer: Herbert Valerio Riedel <[email protected]>
bug-reports: https://github.com/hvr/argon2/issues
category: Cryptography
build-type: Simple
extra-source-files: Changelog.md
phc-winner-argon2/include/argon2.h
phc-winner-argon2/include/hs_argon2_mangling.h
phc-winner-argon2/src/blake2/blake2-impl.h
phc-winner-argon2/src/blake2/blake2.h
phc-winner-argon2/src/blake2/blamka-round-ref.h
phc-winner-argon2/src/blake2/blamka-round-opt.h
phc-winner-argon2/src/core.h
phc-winner-argon2/src/encoding.h
phc-winner-argon2/src/thread.h
source-repository head
type: git
location: https://github.com/hvr/argon2.git
flag use-system-library
description: Link against system @libargon2@ library rather than using embedded copy of @libargon2@. See also @pkg-config@ flag.
default: False
manual: True
flag pkg-config
description: Use @pkg-config(1)@ to discover system-library location & flags.
.
__NOTE__: This has an effect only when the @use-system-library@ flag is also enabled.
default: True
manual: True
flag non-optimised-c
description: Force use of non-optimised C routines on @x86_64@. Ineffective when @use-system-library@ flag is active.
default: False
manual: True
library
default-language: Haskell2010
exposed-modules: Crypto.Argon2.FFI
Crypto.Argon2
build-depends: base >= 4.8 && < 4.12
, bytestring == 0.10.*
, deepseq == 1.4.*
, text-short >= 0.1.2 && < 0.2
hs-source-dirs: src
ghc-options: -Wall
if impl(ghc >= 8.0)
ghc-options: -Wno-missing-pattern-synonym-signatures
if flag(use-system-library)
cpp-options: -DUSE_SYSTEM_ARGON2=1
if flag(pkg-config)
pkgconfig-depends: libargon2 >= 20161029
else
extra-libraries: argon2
else
cpp-options: -DUSE_SYSTEM_ARGON2=0
c-sources: phc-winner-argon2/src/argon2.c
phc-winner-argon2/src/core.c
phc-winner-argon2/src/blake2/blake2b.c
phc-winner-argon2/src/thread.c
phc-winner-argon2/src/encoding.c
if arch(x86_64) && !flag(non-optimised-c)
c-sources: phc-winner-argon2/src/opt.c
else
c-sources: phc-winner-argon2/src/ref.c
include-dirs: phc-winner-argon2/src
phc-winner-argon2/include
cc-options: -O3
test-suite tests
default-language: Haskell2010
type: exitcode-stdio-1.0
hs-source-dirs: src-tests
main-is: Tests.hs
build-depends: argon2
, base
, bytestring
, QuickCheck == 2.11.*
, tasty-quickcheck == 0.10.*
, tasty-hunit == 0.10.*
, tasty == 1.0.*
ghc-options: -threaded