packages feed

hsdev-0.3.2.2: hsdev.cabal

name:                hsdev
version:             0.3.2.2
synopsis:            Haskell development library
description:
  Haskell development library and tool with support of autocompletion, symbol info, go to declaration, find references, hayoo search etc.
homepage:            https://github.com/mvoidex/hsdev
license:             BSD3
license-file:        LICENSE
author:              Alexandr `Voidex` Ruchkin
maintainer:          voidex@live.com
-- copyright:
category:            Development
build-type:          Simple
cabal-version:       >=1.8
extra-source-files:
  tests/test-package/*.hs
  tests/test-package/test-package.cabal
  tests/data/base.sql
  tests/data/ModuleTwo.modified.hs
  tests/data/ModuleTwo.broken.hs
  data/hsdev.sql

source-repository head
  type: git
  location: git://github.com/mvoidex/hsdev.git

flag docs
  description: build with haddock/hdocs to support scanning docs
  default: True

flag hlint
  description: build with hlint to support linting
  default: True

library
  hs-source-dirs: src
  ghc-options: -Wall -fno-warn-tabs

  if !flag(docs)
    cpp-options: -DNODOCS

  if !flag(hlint)
    cpp-options: -DNOHLINT

  exposed-modules:
    Control.Apply.Util
    Control.Concurrent.FiniteChan
    Control.Concurrent.Worker
    Control.Concurrent.Util
    Data.Deps
    Data.Help
    Data.Lisp
    Data.Maybe.JustIf
    Data.LookupTable
    HsDev
    HsDev.Client.Commands
    HsDev.Database.SQLite
    HsDev.Database.SQLite.Instances
    HsDev.Database.SQLite.Schema
    HsDev.Database.SQLite.Schema.TH
    HsDev.Database.SQLite.Select
    HsDev.Database.SQLite.Transaction
    HsDev.Database.Update
    HsDev.Database.Update.Types
    HsDev.Display
    HsDev.Error
    HsDev.Inspect
    HsDev.Inspect.Definitions
    HsDev.Inspect.Order
    HsDev.Inspect.Resolve
    HsDev.Inspect.Types
    HsDev.PackageDb
    HsDev.PackageDb.Types
    HsDev.Project
    HsDev.Project.Compat
    HsDev.Project.Types
    HsDev.Scan
    HsDev.Scan.Browse
    HsDev.Server.Base
    HsDev.Server.Commands
    HsDev.Server.Message
    HsDev.Server.Message.Lisp
    HsDev.Server.Types
    HsDev.Sandbox
    HsDev.Stack
    HsDev.Symbols
    HsDev.Symbols.Name
    HsDev.Symbols.Class
    HsDev.Symbols.HaskellNames
    HsDev.Symbols.Location
    HsDev.Symbols.Documented
    HsDev.Symbols.Resolve
    HsDev.Symbols.Parsed
    HsDev.Symbols.Types
    HsDev.Tools.AutoFix
    HsDev.Tools.Base
    HsDev.Tools.Cabal
    HsDev.Tools.ClearImports
    HsDev.Tools.Ghc.Base
    HsDev.Tools.Ghc.Check
    HsDev.Tools.Ghc.Compat
    HsDev.Tools.Ghc.MGhc
    HsDev.Tools.Ghc.Prelude
    HsDev.Tools.Ghc.Repl
    HsDev.Tools.Ghc.Session
    HsDev.Tools.Ghc.System
    HsDev.Tools.Ghc.Types
    HsDev.Tools.Ghc.Worker
    HsDev.Tools.Hayoo
    HsDev.Tools.HDocs
    HsDev.Tools.HLint
    HsDev.Tools.Refact
    HsDev.Tools.Tabs
    HsDev.Tools.Types
    HsDev.Types
    HsDev.Util
    HsDev.Version
    HsDev.Watcher
    HsDev.Watcher.Types
    System.Directory.Paths
    System.Directory.Watcher

  if os(windows)
    build-depends:
      Win32 >= 2.3.0
    exposed-modules:
      System.Win32.PowerShell
      System.Win32.FileMapping.NamePool
      System.Win32.FileMapping.Memory
  else
    build-depends:
      unix                              >= 2.7.2.0 && < 2.8

  if impl(ghc >= 8.6) && impl(ghc < 8.7)
    build-depends:
      ghc   == 8.6.*,
      Cabal == 2.4.*

  if impl(ghc >= 8.4) && impl(ghc < 8.5)
    build-depends:
      ghc   == 8.4.*,
      Cabal == 2.2.0.1

  if impl(ghc >= 8.2) && impl(ghc < 8.3)
    build-depends:
      ghc   == 8.2.*,
      Cabal == 2.0.1.1

  if impl(ghc >= 8.0) && impl(ghc < 8.2)
    build-depends:
      ghc >= 8.0.0 && < 8.1.0,
      Cabal >= 1.24.2.0 && < 2.0

  if flag(docs)
    build-depends:
      hdocs >= 0.5.2,
      haddock-api >= 2.17.4,
      haddock-library >= 1.4.3 && < 1.8

  if flag(hlint)
    build-depends:
      hlint >= 2.0.11 && < 2.2

  -- Build dependency lower bound is set for GHC 8.0.1.
  -- Upper bound is set for GHC 8.4
  build-depends:
    base                              >= 4.9 && < 5,
    HTTP                              >= 4000.3.7 && < 4000.4,
    aeson                             >= 1.2.4.0 && < 1.5,
    aeson-pretty                      >= 0.8.2 && < 0.9,
    array                             >= 0.5.1.1 && < 0.6,
    async                             >= 2.1.1.1 && < 2.3,
    attoparsec                        >= 0.13.1.0 && < 0.14,
    bytestring                        >= 0.10.8.1 && < 0.11,
    containers                        >= 0.5.7.1 && < 0.7,
    cpphs                             >= 1.20.5 && < 1.21,
    data-default                      >= 0.7.1.1 && < 0.8,
    deepseq                           >= 1.4.2.0 && < 1.5,
    direct-sqlite                     >= 2.3.19 && < 2.4,
    directory                         >= 1.2.6.2 && < 1.4,
    exceptions                        >= 0.8.3 && < 0.11,
    filepath                          >= 1.4.1.0 && < 1.5,
    fsnotify                          >= 0.2.1 && < 0.4,
    ghc-boot                          >= 8.0.1 && < 8.7,
    ghc-paths                         >= 0.1.0.9 && < 0.2,
    haskell-names                     >= 0.9.1 && < 0.10.0,
    haskell-src-exts                  >= 1.19.1 && < 1.21.0,
    hformat                           >= 0.1.0.1 && < 0.4,
    hlint                             >= 2.0.11 && < 2.2,
    lens                              >= 4.14 && < 4.18,
    lifted-base                       >= 0.2.3.10 && < 0.3,
    mmorph                            >= 1.0.9 && < 1.2,
    monad-control                     >= 1.0.1.0 && < 1.1,
    monad-loops                       >= 0.4.3 && < 0.5,
    mtl                               >= 2.2.1 && < 2.3,
    network                           >= 2.6.3.1 && < 2.9,
    optparse-applicative              >= 0.12.1.0 && < 0.15,
    process                           >= 1.4.2.0 && < 1.7,
    regex-pcre-builtin                >= 0.94.4 && < 0.95,
    scientific                        >= 0.3.4.9 && < 0.4,
    simple-log                        >= 0.9.9 && < 0.10,
    sqlite-simple                     >= 0.4.13.0 && < 0.5,
    stm                               >= 2.4 && < 2.6,
    syb                               >= 0.6 && < 0.8,
    template-haskell                  >= 2.11.0 && < 2.15,
    text                              >= 1.2.2.2 && < 1.3,
    text-region                       >= 0.1.0.1 && < 0.4,
    time                              >= 1.6.0.1 && < 1.9,
    transformers                      >= 0.5.2.0 && < 0.6,
    transformers-base                 >= 0.4.4 && < 0.5,
    traverse-with-class               >= 1.0.0.0 && < 1.1,
    uniplate                          >= 1.6.12 && < 1.7,
    unordered-containers              >= 0.2.8.0 && < 0.3,
    vector                            >= 0.11.0.0 && < 0.13

executable hsdev
  main-is: hsdev.hs
  hs-source-dirs: tools
  ghc-options: -threaded -Wall -fno-warn-tabs "-with-rtsopts=-N4"

  build-depends:
    hsdev,
    base                              >= 4.9 && < 5,
    aeson                             >= 1.2.4.0 && < 1.5,
    aeson-pretty                      >= 0.8.2 && < 0.9,
    bytestring                        >= 0.10.8.1 && < 0.11,
    containers                        >= 0.5.7.1 && < 0.7,
    deepseq                           >= 1.4.2.0 && < 1.5,
    directory                         >= 1.2.6.2 && < 1.4,
    exceptions                        >= 0.8.3 && < 0.11,
    filepath                          >= 1.4.1.0 && < 1.5,
    monad-loops                       >= 0.4.3 && < 0.5,
    mtl                               >= 2.2.1 && < 2.3,
    network                           >= 2.6.3.1 && < 2.9,
    optparse-applicative              >= 0.12.1.0 && < 0.15,
    process                           >= 1.4.2.0 && < 1.7,
    text                              >= 1.2.2.2 && < 1.3,
    transformers                      >= 0.5.2.0 && < 0.6,
    unordered-containers              >= 0.2.8.0 && < 0.3

test-suite test
  main-is: Test.hs
  hs-source-dirs: tests
  ghc-options: -threaded -Wall -fno-warn-tabs
  type: exitcode-stdio-1.0
  build-depends:
    hsdev,
    base                              >= 4.9 && < 5,
    aeson                             >= 1.2.4.0 && < 1.5,
    lens-aeson                        >= 1.0 && < 1.1,
    async                             >= 2.1.1.1 && < 2.3,
    containers                        >= 0.5.7.1 && < 0.7,
    data-default                      >= 0.7.1.1 && < 0.8,
    deepseq                           >= 1.4.2.0 && < 1.5,
    directory                         >= 1.2.6.2 && < 1.4,
    filepath                          >= 1.4.1.0 && < 1.5,
    hformat                           >= 0.1.0.1 && < 0.4,
    hspec                             >= 2.2.4,
    lens                              >= 4.14 && < 4.18,
    mtl                               >= 2.2.1 && < 2.3,
    text                              >= 1.2.2.2 && < 1.3