packages feed

hnix-0.10.1: hnix.cabal

name:           hnix
version:        0.10.1
synopsis:       Haskell implementation of the Nix language
description:    Haskell implementation of the Nix language.
category:       System, Data, Nix
homepage:       https://github.com/haskell-nix/hnix#readme
bug-reports:    https://github.com/haskell-nix/hnix/issues
author:         John Wiegley
maintainer:     johnw@newartisans.com
license:        BSD3
license-file:   LICENSE
build-type:     Simple
cabal-version:  >= 1.10
extra-source-files:
    data/nix/corepkgs/buildenv.nix
    data/nix/corepkgs/derivation.nix
    data/nix/tests/lang/binary-data
    data/nix/tests/lang/data
    data/nix/tests/lang/dir1/a.nix
    data/nix/tests/lang/dir2/a.nix
    data/nix/tests/lang/dir2/b.nix
    data/nix/tests/lang/dir3/a.nix
    data/nix/tests/lang/dir3/b.nix
    data/nix/tests/lang/dir3/c.nix
    data/nix/tests/lang/dir4/a.nix
    data/nix/tests/lang/dir4/c.nix
    data/nix/tests/lang/eval-fail-abort.nix
    data/nix/tests/lang/eval-fail-antiquoted-path.nix
    data/nix/tests/lang/eval-fail-assert.nix
    data/nix/tests/lang/eval-fail-bad-antiquote-1.nix
    data/nix/tests/lang/eval-fail-bad-antiquote-2.nix
    data/nix/tests/lang/eval-fail-bad-antiquote-3.nix
    data/nix/tests/lang/eval-fail-blackhole.nix
    data/nix/tests/lang/eval-fail-deepseq.nix
    data/nix/tests/lang/eval-fail-hashfile-missing.nix
    data/nix/tests/lang/eval-fail-missing-arg.nix
    data/nix/tests/lang/eval-fail-path-slash.nix
    data/nix/tests/lang/eval-fail-remove.nix
    data/nix/tests/lang/eval-fail-scope-5.nix
    data/nix/tests/lang/eval-fail-seq.nix
    data/nix/tests/lang/eval-fail-substring.nix
    data/nix/tests/lang/eval-fail-to-path.nix
    data/nix/tests/lang/eval-fail-undeclared-arg.nix
    data/nix/tests/lang/eval-okay-any-all.exp
    data/nix/tests/lang/eval-okay-any-all.nix
    data/nix/tests/lang/eval-okay-arithmetic.exp
    data/nix/tests/lang/eval-okay-arithmetic.nix
    data/nix/tests/lang/eval-okay-attrnames.exp
    data/nix/tests/lang/eval-okay-attrnames.nix
    data/nix/tests/lang/eval-okay-attrs2.exp
    data/nix/tests/lang/eval-okay-attrs2.nix
    data/nix/tests/lang/eval-okay-attrs3.exp
    data/nix/tests/lang/eval-okay-attrs3.nix
    data/nix/tests/lang/eval-okay-attrs4.exp
    data/nix/tests/lang/eval-okay-attrs4.nix
    data/nix/tests/lang/eval-okay-attrs5.exp
    data/nix/tests/lang/eval-okay-attrs5.nix
    data/nix/tests/lang/eval-okay-attrs.exp
    data/nix/tests/lang/eval-okay-attrs.nix
    data/nix/tests/lang/eval-okay-autoargs.exp
    data/nix/tests/lang/eval-okay-autoargs.flags
    data/nix/tests/lang/eval-okay-autoargs.nix
    data/nix/tests/lang/eval-okay-backslash-newline-1.exp
    data/nix/tests/lang/eval-okay-backslash-newline-1.nix
    data/nix/tests/lang/eval-okay-backslash-newline-2.exp
    data/nix/tests/lang/eval-okay-backslash-newline-2.nix
    data/nix/tests/lang/eval-okay-builtins-add.exp
    data/nix/tests/lang/eval-okay-builtins-add.nix
    data/nix/tests/lang/eval-okay-builtins.exp
    data/nix/tests/lang/eval-okay-builtins.nix
    data/nix/tests/lang/eval-okay-callable-attrs.exp
    data/nix/tests/lang/eval-okay-callable-attrs.nix
    data/nix/tests/lang/eval-okay-catattrs.exp
    data/nix/tests/lang/eval-okay-catattrs.nix
    data/nix/tests/lang/eval-okay-closure.exp.xml
    data/nix/tests/lang/eval-okay-closure.nix
    data/nix/tests/lang/eval-okay-comments.exp
    data/nix/tests/lang/eval-okay-comments.nix
    data/nix/tests/lang/eval-okay-concat.exp
    data/nix/tests/lang/eval-okay-concatmap.exp
    data/nix/tests/lang/eval-okay-concatmap.nix
    data/nix/tests/lang/eval-okay-concat.nix
    data/nix/tests/lang/eval-okay-concatstringssep.exp
    data/nix/tests/lang/eval-okay-concatstringssep.nix
    data/nix/tests/lang/eval-okay-context.exp
    data/nix/tests/lang/eval-okay-context-introspection.exp
    data/nix/tests/lang/eval-okay-context-introspection.nix
    data/nix/tests/lang/eval-okay-context.nix
    data/nix/tests/lang/eval-okay-curpos.exp
    data/nix/tests/lang/eval-okay-curpos.nix
    data/nix/tests/lang/eval-okay-deepseq.exp
    data/nix/tests/lang/eval-okay-deepseq.nix
    data/nix/tests/lang/eval-okay-delayed-with.exp
    data/nix/tests/lang/eval-okay-delayed-with-inherit.exp
    data/nix/tests/lang/eval-okay-delayed-with-inherit.nix
    data/nix/tests/lang/eval-okay-delayed-with.nix
    data/nix/tests/lang/eval-okay-dynamic-attrs-2.exp
    data/nix/tests/lang/eval-okay-dynamic-attrs-2.nix
    data/nix/tests/lang/eval-okay-dynamic-attrs-bare.exp
    data/nix/tests/lang/eval-okay-dynamic-attrs-bare.nix
    data/nix/tests/lang/eval-okay-dynamic-attrs.exp
    data/nix/tests/lang/eval-okay-dynamic-attrs.nix
    data/nix/tests/lang/eval-okay-elem.exp
    data/nix/tests/lang/eval-okay-elem.nix
    data/nix/tests/lang/eval-okay-empty-args.exp
    data/nix/tests/lang/eval-okay-empty-args.nix
    data/nix/tests/lang/eval-okay-eq-derivations.exp
    data/nix/tests/lang/eval-okay-eq-derivations.nix
    data/nix/tests/lang/eval-okay-eq.exp.disabled
    data/nix/tests/lang/eval-okay-eq.nix
    data/nix/tests/lang/eval-okay-filter.exp
    data/nix/tests/lang/eval-okay-filter.nix
    data/nix/tests/lang/eval-okay-flatten.exp
    data/nix/tests/lang/eval-okay-flatten.nix
    data/nix/tests/lang/eval-okay-float.exp
    data/nix/tests/lang/eval-okay-float.nix
    data/nix/tests/lang/eval-okay-fromjson.exp
    data/nix/tests/lang/eval-okay-fromjson.nix
    data/nix/tests/lang/eval-okay-fromTOML.exp
    data/nix/tests/lang/eval-okay-fromTOML.nix
    data/nix/tests/lang/eval-okay-functionargs.exp.xml
    data/nix/tests/lang/eval-okay-functionargs.nix
    data/nix/tests/lang/eval-okay-getattrpos.exp
    data/nix/tests/lang/eval-okay-getattrpos.nix
    data/nix/tests/lang/eval-okay-getattrpos-undefined.exp
    data/nix/tests/lang/eval-okay-getattrpos-undefined.nix
    data/nix/tests/lang/eval-okay-getenv.exp
    data/nix/tests/lang/eval-okay-getenv.nix
    data/nix/tests/lang/eval-okay-hash.exp
    data/nix/tests/lang/eval-okay-hashfile.exp
    data/nix/tests/lang/eval-okay-hashfile.nix
    data/nix/tests/lang/eval-okay-hashstring.exp
    data/nix/tests/lang/eval-okay-hashstring.nix
    data/nix/tests/lang/eval-okay-if.exp
    data/nix/tests/lang/eval-okay-if.nix
    data/nix/tests/lang/eval-okay-import.exp
    data/nix/tests/lang/eval-okay-import.nix
    data/nix/tests/lang/eval-okay-ind-string.exp
    data/nix/tests/lang/eval-okay-ind-string.nix
    data/nix/tests/lang/eval-okay-let.exp
    data/nix/tests/lang/eval-okay-let.nix
    data/nix/tests/lang/eval-okay-list.exp
    data/nix/tests/lang/eval-okay-list.nix
    data/nix/tests/lang/eval-okay-listtoattrs.exp
    data/nix/tests/lang/eval-okay-listtoattrs.nix
    data/nix/tests/lang/eval-okay-logic.exp
    data/nix/tests/lang/eval-okay-logic.nix
    data/nix/tests/lang/eval-okay-mapattrs.exp
    data/nix/tests/lang/eval-okay-mapattrs.nix
    data/nix/tests/lang/eval-okay-map.exp
    data/nix/tests/lang/eval-okay-map.nix
    data/nix/tests/lang/eval-okay-nested-with.exp
    data/nix/tests/lang/eval-okay-nested-with.nix
    data/nix/tests/lang/eval-okay-new-let.exp
    data/nix/tests/lang/eval-okay-new-let.nix
    data/nix/tests/lang/eval-okay-null-dynamic-attrs.exp
    data/nix/tests/lang/eval-okay-null-dynamic-attrs.nix
    data/nix/tests/lang/eval-okay-overrides.exp
    data/nix/tests/lang/eval-okay-overrides.nix
    data/nix/tests/lang/eval-okay-partition.exp
    data/nix/tests/lang/eval-okay-partition.nix
    data/nix/tests/lang/eval-okay-pathexists.exp
    data/nix/tests/lang/eval-okay-pathexists.nix
    data/nix/tests/lang/eval-okay-path.nix
    data/nix/tests/lang/eval-okay-patterns.exp
    data/nix/tests/lang/eval-okay-patterns.nix
    data/nix/tests/lang/eval-okay-readDir.exp
    data/nix/tests/lang/eval-okay-readDir.nix
    data/nix/tests/lang/eval-okay-readfile.exp
    data/nix/tests/lang/eval-okay-readfile.nix
    data/nix/tests/lang/eval-okay-redefine-builtin.exp
    data/nix/tests/lang/eval-okay-redefine-builtin.nix
    data/nix/tests/lang/eval-okay-regex-match.exp
    data/nix/tests/lang/eval-okay-regex-match.nix
    data/nix/tests/lang/eval-okay-regex-split.exp
    data/nix/tests/lang/eval-okay-regex-split.nix
    data/nix/tests/lang/eval-okay-remove.exp
    data/nix/tests/lang/eval-okay-remove.nix
    data/nix/tests/lang/eval-okay-replacestrings.exp
    data/nix/tests/lang/eval-okay-replacestrings.nix
    data/nix/tests/lang/eval-okay-scope-1.exp
    data/nix/tests/lang/eval-okay-scope-1.nix
    data/nix/tests/lang/eval-okay-scope-2.exp
    data/nix/tests/lang/eval-okay-scope-2.nix
    data/nix/tests/lang/eval-okay-scope-3.exp
    data/nix/tests/lang/eval-okay-scope-3.nix
    data/nix/tests/lang/eval-okay-scope-4.exp
    data/nix/tests/lang/eval-okay-scope-4.nix
    data/nix/tests/lang/eval-okay-scope-6.exp
    data/nix/tests/lang/eval-okay-scope-6.nix
    data/nix/tests/lang/eval-okay-scope-7.exp
    data/nix/tests/lang/eval-okay-scope-7.nix
    data/nix/tests/lang/eval-okay-search-path.exp
    data/nix/tests/lang/eval-okay-search-path.flags
    data/nix/tests/lang/eval-okay-search-path.nix
    data/nix/tests/lang/eval-okay-seq.exp
    data/nix/tests/lang/eval-okay-seq.nix
    data/nix/tests/lang/eval-okay-sort.exp
    data/nix/tests/lang/eval-okay-sort.nix
    data/nix/tests/lang/eval-okay-splitversion.exp
    data/nix/tests/lang/eval-okay-splitversion.nix
    data/nix/tests/lang/eval-okay-string.exp
    data/nix/tests/lang/eval-okay-string.nix
    data/nix/tests/lang/eval-okay-strings-as-attrs-names.exp
    data/nix/tests/lang/eval-okay-strings-as-attrs-names.nix
    data/nix/tests/lang/eval-okay-substring.exp
    data/nix/tests/lang/eval-okay-substring.nix
    data/nix/tests/lang/eval-okay-tail-call-1.exp-disabled
    data/nix/tests/lang/eval-okay-tail-call-1.nix
    data/nix/tests/lang/eval-okay-tojson.exp
    data/nix/tests/lang/eval-okay-tojson.nix
    data/nix/tests/lang/eval-okay-toxml2.exp
    data/nix/tests/lang/eval-okay-toxml2.nix
    data/nix/tests/lang/eval-okay-toxml.exp
    data/nix/tests/lang/eval-okay-toxml.nix
    data/nix/tests/lang/eval-okay-tryeval.exp
    data/nix/tests/lang/eval-okay-tryeval.nix
    data/nix/tests/lang/eval-okay-types.exp
    data/nix/tests/lang/eval-okay-types.nix
    data/nix/tests/lang/eval-okay-versions.exp
    data/nix/tests/lang/eval-okay-versions.nix
    data/nix/tests/lang/eval-okay-with.exp
    data/nix/tests/lang/eval-okay-with.nix
    data/nix/tests/lang/eval-okay-xml.exp.xml
    data/nix/tests/lang/eval-okay-xml.nix
    data/nix/tests/lang/imported2.nix
    data/nix/tests/lang/imported.nix
    data/nix/tests/lang/lib.nix
    data/nix/tests/lang/parse-fail-dup-attrs-1.nix
    data/nix/tests/lang/parse-fail-dup-attrs-2.nix
    data/nix/tests/lang/parse-fail-dup-attrs-3.nix
    data/nix/tests/lang/parse-fail-dup-attrs-4.nix
    data/nix/tests/lang/parse-fail-dup-attrs-7.nix
    data/nix/tests/lang/parse-fail-dup-formals.nix
    data/nix/tests/lang/parse-fail-mixed-nested-attrs1.nix
    data/nix/tests/lang/parse-fail-mixed-nested-attrs2.nix
    data/nix/tests/lang/parse-fail-patterns-1.nix
    data/nix/tests/lang/parse-fail-regression-20060610.nix
    data/nix/tests/lang/parse-fail-uft8.nix
    data/nix/tests/lang/parse-fail-undef-var-2.nix
    data/nix/tests/lang/parse-fail-undef-var.nix
    data/nix/tests/lang/parse-okay-1.nix
    data/nix/tests/lang/parse-okay-crlf.nix
    data/nix/tests/lang/parse-okay-dup-attrs-5.nix
    data/nix/tests/lang/parse-okay-dup-attrs-6.nix
    data/nix/tests/lang/parse-okay-mixed-nested-attrs-1.nix
    data/nix/tests/lang/parse-okay-mixed-nested-attrs-2.nix
    data/nix/tests/lang/parse-okay-mixed-nested-attrs-3.nix
    data/nix/tests/lang/parse-okay-regression-20041027.nix
    data/nix/tests/lang/parse-okay-regression-751.nix
    data/nix/tests/lang/parse-okay-subversion.nix
    data/nix/tests/lang/parse-okay-url.nix
    data/nix/tests/lang/readDir/bar
    data/nix/tests/lang/readDir/foo/git-hates-directories
    data/nix/tests/local.mk
    data/nixpkgs-all-packages.nix
    data/let-comments.nix
    data/let-comments-multiline.nix
    data/simple-pretty.nix
    data/simple.nix
    data/nixpkgs-all-packages-pretty.nix
    data/let.nix
    LICENSE
    README.md
    CHANGELOG.md
    tests/eval-compare/builtins.appendContext.nix
    tests/eval-compare/builtins.eq-bottom-00.nix
    tests/eval-compare/builtins.fetchurl-01.nix
    tests/eval-compare/builtins.fromJSON-01.nix
    tests/eval-compare/builtins.getContext.nix
    tests/eval-compare/builtins.lessThan-01.nix
    tests/eval-compare/builtins.mapAttrs-01.nix
    tests/eval-compare/builtins.pathExists.nix
    tests/eval-compare/builtins.replaceStrings-01.nix
    tests/eval-compare/builtins.split-01.nix
    tests/eval-compare/builtins.split-02.nix
    tests/eval-compare/builtins.split-03.nix
    tests/eval-compare/builtins.split-04.nix
    tests/eval-compare/builtins.string.store.nix
    tests/eval-compare/builtins.toJSON.nix
    tests/eval-compare/current-system.nix
    tests/eval-compare/ellipsis.nix
    tests/eval-compare/ind-string-01.nix
    tests/eval-compare/ind-string-02.nix
    tests/eval-compare/ind-string-03.nix
    tests/eval-compare/ind-string-04.nix
    tests/eval-compare/ind-string-05.nix
    tests/eval-compare/ind-string-06.nix
    tests/eval-compare/ind-string-07.nix
    tests/eval-compare/ind-string-08.nix
    tests/eval-compare/ind-string-09.nix
    tests/eval-compare/ind-string-10.nix
    tests/eval-compare/ind-string-11.nix
    tests/eval-compare/ind-string-12.nix
    tests/eval-compare/ind-string-13.nix
    tests/eval-compare/ind-string-14.nix
    tests/eval-compare/ind-string-15.nix
    tests/eval-compare/ind-string-16.nix
    tests/eval-compare/ind-string-17.nix
    tests/eval-compare/paths-01.nix
    tests/eval-compare/placeholder.nix
    tests/files/attrs.nix
    tests/files/callLibs.nix
    tests/files/eighty.nix
    tests/files/file.nix
    tests/files/file2.nix
    tests/files/findFile.nix
    tests/files/force.nix
    tests/files/goodbye.nix
    tests/files/hello.nix
    tests/files/hello2.nix
    tests/files/if-then.nix
    tests/files/lint.nix
    tests/files/loop.nix
    tests/files/test.nix
    tests/files/with.nix

source-repository head
  type: git
  location: https://github.com/haskell-nix/hnix

flag optimize
  description: Enable all optimization flags
  manual: True
  default: False

flag profiling
  description: Enable profiling
  manual: True
  default: False

library
  exposed-modules:
      Nix
      Nix.Atoms
      Nix.Builtins
      Nix.Cache
      Nix.Cited
      Nix.Cited.Basic
      Nix.Context
      Nix.Convert
      Nix.Effects
      Nix.Effects.Basic
      Nix.Eval
      Nix.Exec
      Nix.Expr
      Nix.Expr.Shorthands
      Nix.Expr.Strings
      Nix.Expr.Types
      Nix.Expr.Types.Annotated
      Nix.Frames
      Nix.Fresh
      Nix.Fresh.Basic
      Nix.Json
      Nix.Lint
      Nix.Normal
      Nix.Options
      Nix.Parser
      Nix.Pretty
      Nix.Reduce
      Nix.Render
      Nix.Render.Frame
      Nix.Scope
      Nix.Standard
      Nix.String
      Nix.String.Coerce
      Nix.TH
      Nix.Thunk
      Nix.Thunk.Basic
      Nix.Type.Assumption
      Nix.Type.Env
      Nix.Type.Infer
      Nix.Type.Type
      Nix.Utils
      Nix.Utils.Fix1
      Nix.Value
      Nix.Value.Equal
      Nix.Value.Monad
      Nix.Var
      Nix.XML
  other-modules:
      Paths_hnix
  hs-source-dirs:
      src
  ghc-options: -Wall -fprint-potential-instances
  build-depends:
      aeson >= 1.4.2 && < 1.6
    , array >= 0.4 && < 0.6
    , base >= 4.11 && < 5
    , binary >= 0.8.5 && < 0.9
    , bytestring >= 0.10.8 && < 0.11
    , comonad >= 5.0.4 && < 5.1
    , containers >= 0.5.11.0 && < 0.7
    , data-fix >= 0.3.0 && < 0.4
    , deepseq >= 1.4.3 && <1.5
    , deriving-compat >= 0.3 && < 0.6
    , directory >= 1.3.1 && < 1.4
    , exceptions >= 0.10.0 && < 0.11
    , filepath >= 1.4.2 && < 1.5
    , free >= 5.1 && < 5.2
    , gitrev >= 1.1.0 && < 1.4
    , hashable >= 1.2.5 && < 1.4
    , hashing >= 0.1.0 && < 0.2
    , hnix-store-core >= 0.1.0 && < 0.3
    , http-client >= 0.5.14 && < 0.6 || >= 0.6.4 && < 0.8
    , http-client-tls >= 0.3.5 && < 0.4
    , http-types >= 0.12.2 && < 0.13
    , lens-family >= 1.2.2 && < 2.2
    , lens-family-core >= 1.2.2 && < 2.2
    , lens-family-th >= 0.5.0 && < 0.6
    , logict >= 0.6.0 && < 0.7 || >= 0.7.0.2 && < 0.8
    , megaparsec >= 7.0 && < 9.1
    , monad-control >= 1.0.2 && < 1.1
    , monadlist >= 0.0.2 && < 0.1
    , mtl >= 2.2.2 && < 2.3
    , neat-interpolation >= 0.4 && < 0.6
    , optparse-applicative >= 0.14.3 && < 0.17
    , parser-combinators >= 1.0.1 && < 1.3
    , prettyprinter >= 1.7.0 && < 1.8
    , process >= 1.6.3 && < 1.7
    , ref-tf >= 0.4.0 && < 0.5
    , regex-tdfa >= 1.2.3 && < 1.4
    , scientific >= 0.3.6 && < 0.4
    , semialign >= 1 && < 1.2
    , semialign-indexed >= 1 && < 1.2
    , some >= 1.0.1 && < 1.1
    , split >= 0.2.3 && < 0.3
    , syb >= 0.7 && < 0.8
    , template-haskell >= 2.13 && < 2.17
    , text >= 1.2.3 && < 1.3
    , these >= 1.0.1 && < 1.2
    , time >= 1.8.0 && < 1.9 || >= 1.9.3 && < 1.10
    , transformers >= 0.5.5 && < 0.6
    , transformers-base >= 0.4.5 && < 0.5
    , unix >= 2.7.2 && < 2.8
    , unordered-containers >= 0.2.9 && < 0.3
    , vector >= 0.12.0 && < 0.13
    , xml >= 1.3.14 && < 1.4
  if flag(optimize)
    ghc-options: -fexpose-all-unfoldings -fspecialise-aggressively -O2
  if !impl(ghcjs)
    exposed-modules:
        Nix.Options.Parser
    build-depends:
        base16-bytestring >= 0.1.1 && < 0.2
      , pretty-show >= 1.9.5 && < 1.11
      , serialise >= 0.2.1 && < 0.3
  -- if !flag(profiling)
  --   build-depends:
  --       ghc-datasize
  default-language: Haskell2010

executable hnix
  main-is: Main.hs
  other-modules:
      Repl
      Paths_hnix
  hs-source-dirs:
      main
  ghc-options: -Wall -rtsopts
  build-depends:
      aeson
    , base
    , base16-bytestring
    , bytestring
    , comonad
    , containers
    , data-fix
    , deepseq
    , exceptions
    , filepath
    , free
    , haskeline >= 0.8.0.0 && < 0.9
    , hnix
    , mtl
    , optparse-applicative
    , pretty-show
    , prettyprinter
    , ref-tf
    , repline >= 0.4.0.0 && < 0.5
    , serialise
    , template-haskell
    , text
    , time
    , transformers
    , unordered-containers
  if flag(optimize)
    ghc-options: -fexpose-all-unfoldings -fspecialise-aggressively -O2
  if impl(ghc < 8.10)
    -- GHC < 8.10 comes with haskeline < 0.8, which we don't support.
    -- To simplify CI, we just disable the component.
    buildable: False
  if impl(ghcjs)
    buildable: False
  default-language: Haskell2010

test-suite hnix-tests
  type: exitcode-stdio-1.0
  main-is: Main.hs
  other-modules:
      EvalTests
      NixLanguageTests
      ParserTests
      PrettyParseTests
      PrettyTests
      ReduceExprTests
      TestCommon
      Paths_hnix
  hs-source-dirs:
      tests
  ghc-options: -Wall -threaded
  build-depends:
      Diff
    , Glob
    , base
    , base16-bytestring
    , bytestring
    , containers
    , data-fix
    , deepseq
    , directory
    , exceptions
    , filepath
    , hedgehog
    , hnix
    , megaparsec
    , mtl
    , neat-interpolation
    , optparse-applicative
    , pretty-show
    , prettyprinter
    , process
    , split
    , tasty
    , tasty-hedgehog
    , tasty-hunit
    , tasty-th
    , serialise
    , template-haskell
    , text
    , time
    , transformers
    , unix
    , unordered-containers
  if flag(optimize)
    ghc-options: -fexpose-all-unfoldings -fspecialise-aggressively -O2
  if impl(ghcjs)
    buildable: False
  default-language: Haskell2010

benchmark hnix-benchmarks
  type: exitcode-stdio-1.0
  main-is: Main.hs
  other-modules:
      ParserBench
      Paths_hnix
  hs-source-dirs:
      benchmarks
  ghc-options: -Wall
  build-depends:
      base
    , base16-bytestring
    , bytestring
    , containers
    , criterion
    , data-fix
    , deepseq
    , exceptions
    , filepath
    , hnix
    , mtl
    , optparse-applicative
    , serialise
    , template-haskell
    , text
    , time
    , transformers
    , unordered-containers
  if flag(optimize)
    ghc-options: -fexpose-all-unfoldings -fspecialise-aggressively -O2
  if impl(ghcjs)
    buildable: False
  default-language: Haskell2010