File hlint.cabal of Package hlint

cabal-version:      >= 1.18
build-type:         Simple
name:               hlint
version:            3.2.7
x-revision: 2
license:            BSD3
license-file:       LICENSE
category:           Development
author:             Neil Mitchell <ndmitchell@gmail.com>
maintainer:         Neil Mitchell <ndmitchell@gmail.com>
copyright:          Neil Mitchell 2006-2021
synopsis:           Source code suggestions
description:
    HLint gives suggestions on how to improve your source code.
homepage:           https://github.com/ndmitchell/hlint#readme
bug-reports:        https://github.com/ndmitchell/hlint/issues
data-dir:           data
data-files:
    hlint.yaml
    default.yaml
    Test.hs
    report_template.html
    hs-lint.el
    hlint.1
    hlint.ghci
    HLint_QuickCheck.hs
    HLint_TypeCheck.hs
extra-source-files:
    .hlint.yaml
    data/*.hs
    data/*.yaml
    tests/*.test
extra-doc-files:
    README.md
    CHANGES.txt
tested-with:        GHC==8.10, GHC==8.8, GHC==8.6

source-repository head
    type:     git
    location: https://github.com/ndmitchell/hlint.git

flag threaded
    default: True
    manual: True
    description: Build with support for multithreaded execution

flag gpl
    default: True
    manual: True
    description: Use GPL libraries, specifically hscolour

flag ghc-lib
  default: False
  manual: True
  description: Force dependency on ghc-lib-parser even if GHC API in the ghc package is supported

flag hsyaml
  default: False
  manual: True
  description: Use HsYAML instead of yaml

library
    build-depends: aeson <1.6

    default-language:   Haskell2010
    build-depends:
        base == 4.*, process, filepath, directory, containers,
        unordered-containers, vector, text, bytestring,
        transformers,
        file-embed,
        utf8-string,
        data-default >= 0.3,
        cpphs >= 1.20.1,
        cmdargs >= 0.10,
        uniplate >= 1.5,
        ansi-terminal >= 0.8.1,
        extra >= 1.7.3 && < 1.7.10,
        refact >= 0.3,
        aeson >= 1.1.2.0,
        filepattern >= 0.1.1

    if !flag(ghc-lib) && impl(ghc >= 8.10.0) && impl(ghc < 8.11.0)
      build-depends:
        ghc == 8.10.*,
        ghc-boot-th,
        ghc-boot
    else
      build-depends:
          ghc-lib-parser == 8.10.*
    build-depends:
        ghc-lib-parser-ex >= 8.10.0.17 && < 8.10.1

    if flag(gpl)
        build-depends: hscolour >= 1.21
    else
        cpp-options: -DGPL_SCARES_ME

    if flag(hsyaml)
        build-depends:
          HsYAML >= 0.2,
          HsYAML-aeson >= 0.2
        cpp-options: -DHS_YAML
    else
        build-depends: yaml >= 0.5.0

    hs-source-dirs:     src
    exposed-modules:
        Language.Haskell.HLint
    other-modules:
        Paths_hlint
        Apply
        CmdLine
        Extension
        Fixity
        HLint
        HsColour
        Idea
        Report
        Util
        Parallel
        Refact
        Timing
        CC
        EmbedData
        Summary
        Config.Compute
        Config.Haskell
        Config.Read
        Config.Type
        Config.Yaml

        GHC.All
        GHC.Util
        GHC.Util.ApiAnnotation
        GHC.Util.View
        GHC.Util.Brackets
        GHC.Util.DynFlags
        GHC.Util.FreeVars
        GHC.Util.HsDecl
        GHC.Util.HsExpr
        GHC.Util.SrcLoc
        GHC.Util.Scope
        GHC.Util.Unify

        Hint.All
        Hint.Bracket
        Hint.Comment
        Hint.Duplicate
        Hint.Export
        Hint.Extensions
        Hint.Fixities
        Hint.Import
        Hint.Lambda
        Hint.List
        Hint.ListRec
        Hint.Match
        Hint.Monad
        Hint.Naming
        Hint.NewType
        Hint.Pattern
        Hint.Pragma
        Hint.Restrict
        Hint.Smell
        Hint.Type
        Hint.Unsafe
        Test.All
        Test.Annotations
        Test.InputOutput
        Test.Util


executable hlint
    default-language:   Haskell2010
    build-depends:      base, hlint
    main-is:            src/Main.hs

    -- See https://github.com/ndmitchell/hlint/pull/1169 for benchmarks
    -- that indicate -A32 is a good idea
    ghc-options:        -rtsopts -with-rtsopts=-A32m
    if flag(threaded)
        ghc-options:    -threaded
openSUSE Build Service is sponsored by