185 lines
3.4 KiB
YAML
185 lines
3.4 KiB
YAML
name: hnix
|
|
version: 0.5.0
|
|
synopsis: Haskell implementation of the Nix language
|
|
github: jwiegley/hnix
|
|
author: John Wiegley
|
|
maintainer: johnw@newartisans.com
|
|
category: System, Data, Nix
|
|
license: BSD3
|
|
|
|
description:
|
|
Haskell implementation of the Nix language.
|
|
|
|
extra-source-files:
|
|
- README.md
|
|
|
|
flags:
|
|
tracing:
|
|
description: Enable full debug tracing
|
|
manual: True
|
|
default: False
|
|
|
|
profiling:
|
|
description: Enable profiling
|
|
manual: True
|
|
default: False
|
|
|
|
optimize:
|
|
description: Enable all optimization flags
|
|
manual: True
|
|
default: False
|
|
|
|
ghc-options:
|
|
- -Wall
|
|
|
|
when:
|
|
- condition: flag(optimize)
|
|
ghc-options:
|
|
- -fexpose-all-unfoldings
|
|
- -fspecialise-aggressively
|
|
- -O2
|
|
|
|
when:
|
|
- condition: flag(tracing)
|
|
cpp-options: -DENABLE_TRACING=1
|
|
|
|
dependencies:
|
|
- base >= 4.9 && < 5
|
|
- ansi-wl-pprint
|
|
- bytestring
|
|
- containers
|
|
- data-fix
|
|
- deepseq >= 1.4.2 && < 1.5
|
|
- exceptions
|
|
- filepath
|
|
- hashing
|
|
- mtl
|
|
- optparse-applicative
|
|
- template-haskell
|
|
- text
|
|
- time
|
|
- transformers
|
|
- unordered-containers >= 0.2.9 && < 0.3
|
|
|
|
when:
|
|
- condition: "os(linux) && impl(ghc < 8.2)"
|
|
dependencies:
|
|
- compact
|
|
|
|
when:
|
|
- condition: "!impl(ghcjs)"
|
|
dependencies:
|
|
- base16-bytestring
|
|
- cryptohash-md5
|
|
- cryptohash-sha1
|
|
- cryptohash-sha256
|
|
- cryptohash-sha512
|
|
- serialise
|
|
|
|
library:
|
|
source-dirs: src
|
|
dependencies:
|
|
- aeson
|
|
- ansi-wl-pprint
|
|
- array >= 0.4 && < 0.6
|
|
- binary
|
|
- deriving-compat >= 0.3 && < 0.5
|
|
- directory
|
|
- http-types
|
|
- http-client
|
|
- http-client-tls
|
|
- lens-family
|
|
- lens-family-core
|
|
- lens-family-th
|
|
- logict
|
|
- megaparsec >= 6.0 && < 6.6
|
|
- monadlist
|
|
- process
|
|
- regex-tdfa
|
|
- regex-tdfa-text
|
|
- scientific
|
|
- semigroups >= 0.18 && < 0.19
|
|
- split
|
|
- syb
|
|
- these
|
|
- unix
|
|
- vector
|
|
- xml
|
|
when:
|
|
- condition: impl(ghc < 8.4.0) && !flag(profiling)
|
|
dependencies:
|
|
- ghc-datasize
|
|
when:
|
|
- condition: "impl(ghcjs)"
|
|
then:
|
|
dependencies:
|
|
- hashable >= 1.2.4 && < 1.3
|
|
else:
|
|
exposed-modules:
|
|
- Nix.Options.Parser
|
|
dependencies:
|
|
- hashable >= 1.2.5 && < 1.3
|
|
- haskeline
|
|
- pretty-show
|
|
|
|
executables:
|
|
hnix:
|
|
source-dirs: main
|
|
main: Main.hs
|
|
dependencies:
|
|
- hnix
|
|
- aeson
|
|
- pretty-show
|
|
- repline
|
|
- haskeline
|
|
when:
|
|
- condition: "impl(ghcjs)"
|
|
then:
|
|
buildable: false
|
|
else:
|
|
buildable: true
|
|
|
|
tests:
|
|
hnix-tests:
|
|
source-dirs: tests
|
|
main: Main.hs
|
|
ghc-options: -threaded
|
|
dependencies:
|
|
- hnix
|
|
- Glob
|
|
- directory
|
|
- interpolate
|
|
- process
|
|
- split
|
|
- tasty
|
|
- tasty-hunit
|
|
- tasty-th
|
|
- unix
|
|
- QuickCheck
|
|
- quickcheck-instances
|
|
- generic-random
|
|
- Diff
|
|
- megaparsec
|
|
- tasty-quickcheck
|
|
- pretty-show
|
|
when:
|
|
- condition: "impl(ghcjs)"
|
|
then:
|
|
buildable: false
|
|
else:
|
|
buildable: true
|
|
|
|
benchmarks:
|
|
hnix-benchmarks:
|
|
source-dirs: benchmarks
|
|
main: Main.hs
|
|
dependencies:
|
|
- hnix
|
|
- criterion
|
|
when:
|
|
- condition: "impl(ghcjs)"
|
|
then:
|
|
buildable: false
|
|
else:
|
|
buildable: true
|