packages feed

hnix-0.3.2: hnix.cabal

Name:                hnix
Version:             0.3.2
Synopsis:            Haskell implementation of the Nix language
Description:
  Haskell implementation of the Nix language.

License:             BSD3
License-file:        LICENSE
Author:              John Wiegley
Maintainer:          johnw@newartisans.com
Category:            Data, Nix
Build-type:          Simple
Cabal-version:       >=1.10
Homepage:            http://github.com/jwiegley/hnix

Extra-source-files: data/*.nix

Flag Parsec
  Description: Use parsec instead of Trifecta
  Default: False

Library
  Default-language: Haskell2010
  Exposed-modules:
    Nix.Atoms
    Nix.Eval
    Nix.Parser
    Nix.Expr
    Nix.Pretty
    Nix.Parser.Operators
    Nix.StringOperations
  Other-modules:
    Nix.Parser.Library
    Nix.Expr.Types
    Nix.Expr.Types.Annotated
    Nix.Expr.Shorthands
  Default-extensions:
    DataKinds
    DeriveDataTypeable
    DeriveFunctor
    DeriveGeneric
    FlexibleContexts
    FlexibleInstances
    GADTs
    KindSignatures
    LambdaCase
    MultiWayIf
    NoImplicitPrelude
    OverloadedStrings
    PatternGuards
    RankNTypes
    TupleSections
  Build-depends:
      base                     >= 4.6          && < 5
    , ansi-wl-pprint
    , containers
    , text
    , transformers
    , parsers >= 0.10
    , unordered-containers
    , data-fix
    , deepseq
    , semigroups >= 0.18 && < 0.19
  if flag(parsec)
    Cpp-options: -DUSE_PARSEC
    Build-depends: parsec
  else
    Build-depends: trifecta
  ghc-options: -Wall -fno-warn-name-shadowing

Executable hnix
  Default-language: Haskell2010
  Main-is: Main.hs
  Hs-source-dirs: main
  Default-extensions:
    DataKinds
    DeriveDataTypeable
    DeriveFunctor
    DeriveGeneric
    FlexibleContexts
    FlexibleInstances
    GADTs
    KindSignatures
    LambdaCase
    MultiWayIf
    OverloadedStrings
    PatternGuards
    RankNTypes
    TupleSections
  Build-depends:
      base                     >= 4.3          && < 5
    , hnix
    , containers
    , ansi-wl-pprint
    , data-fix
    , deepseq
  Ghc-options: -Wall

Test-suite hnix-tests
  Type: exitcode-stdio-1.0
  Hs-source-dirs: tests
  Default-language: Haskell2010
  Main-is: Main.hs
  Other-modules:
    ParserTests
  Build-depends:
      base >= 4.3 && < 5
    , containers
    , text
    , data-fix
    , hnix
    , tasty
    , tasty-th
    , tasty-hunit

Benchmark hnix-benchmarks
  Type: exitcode-stdio-1.0
  Hs-source-dirs: benchmarks
  Default-language: Haskell2010
  Main-is: Main.hs
  Other-modules:
    ParserBench
  Build-depends:
      base >= 4.3 && < 5
    , containers
    , text
    , hnix
    , criterion

source-repository head
  type:     git
  location: git://github.com/jwiegley/hnix.git