packages feed

stack-1.5.1: stack.cabal

name:                stack
version:             1.5.1
synopsis:            The Haskell Tool Stack
description:         Please see the README.md for usage information, and
                     the wiki on Github for more details.  Also, note that
                     the API for the library is not currently stable, and may
                     change significantly, even between minor releases. It is
                     currently only intended for use by the executable.
license:             BSD3
license-file:        LICENSE
author:              Commercial Haskell SIG
maintainer:          manny@fpcomplete.com
category:            Development
build-type:          Custom
cabal-version:       >=1.10
homepage:            http://haskellstack.org
extra-source-files:  CONTRIBUTING.md
                     ChangeLog.md
                     README.md
                     doc/*.md
                     src/setup-shim/StackSetupShim.hs

                     -- Glob would be nice, but apparently Cabal doesn't support it:
                     --     cabal: filepath wildcard 'test/package-dump/*.txt' does not match any files.
                     -- Happened during cabal sdist
                     test/package-dump/ghc-7.8.txt
                     test/package-dump/ghc-7.8.4-osx.txt
                     test/package-dump/ghc-7.10.txt

                     stack.yaml

custom-setup
  setup-depends: base
               , Cabal
               , filepath

flag integration-tests
  manual: True
  default: False
  description: Run the integration test suite

flag disable-git-info
  manual: True
  default: False
  description: Disable compile-time inclusion of current git info in stack
  -- disabling git info can lead to a quicker workflow in certain
  -- scenarios when you're developing on stack itself, but
  -- should otherwise be avoided
  -- see: https://github.com/commercialhaskell/stack/issues/1425

flag static
  manual: True
  default: False
  description: Pass -static/-pthread to ghc when linking the stack binary.
  -- Not intended for general use. Simply makes it easier to
  -- build a fully static binary on Linux platforms that enable it.

flag hide-dependency-versions
  manual: True
  default: False
  description: Hides dependency versions from "stack --version", used only by building with stack.yaml

library
  hs-source-dirs:    src/
  ghc-options:       -Wall -fwarn-tabs -fwarn-incomplete-uni-patterns -fwarn-incomplete-record-updates -fwarn-identities
  exposed-modules:   Control.Concurrent.Execute
                     Data.Aeson.Extended
                     Data.Attoparsec.Args
                     Data.Attoparsec.Combinators
                     Data.Attoparsec.Interpreter
                     Data.IORef.RunOnce
                     Data.Maybe.Extra
                     Data.Monoid.Extra
                     Data.Store.VersionTagged
                     Data.Text.Extra
                     Distribution.Version.Extra
                     Network.HTTP.Download
                     Network.HTTP.Download.Verified
                     Options.Applicative.Args
                     Options.Applicative.Builder.Extra
                     Options.Applicative.Complicated
                     Path.CheckInstall
                     Path.Extra
                     Path.Find
                     Paths_stack
                     Stack.Build
                     Stack.Build.Cache
                     Stack.Build.ConstructPlan
                     Stack.Build.Execute
                     Stack.Build.Haddock
                     Stack.Build.Installed
                     Stack.Build.Source
                     Stack.Build.Target
                     Stack.BuildPlan
                     Stack.Clean
                     Stack.Config
                     Stack.Config.Build
                     Stack.Config.Urls
                     Stack.Config.Docker
                     Stack.Config.Nix
                     Stack.ConfigCmd
                     Stack.Constants
                     Stack.Coverage
                     Stack.Docker
                     Stack.Docker.GlobalDB
                     Stack.Dot
                     Stack.Exec
                     Stack.Fetch
                     Stack.FileWatch
                     Stack.GhcPkg
                     Stack.Ghci
                     Stack.Ghci.Script
                     Stack.Hoogle
                     Stack.IDE
                     Stack.Image
                     Stack.Init
                     Stack.New
                     Stack.Nix
                     Stack.Options.BenchParser
                     Stack.Options.BuildMonoidParser
                     Stack.Options.BuildParser
                     Stack.Options.CleanParser
                     Stack.Options.ConfigParser
                     Stack.Options.Completion
                     Stack.Options.DockerParser
                     Stack.Options.DotParser
                     Stack.Options.ExecParser
                     Stack.Options.GhcBuildParser
                     Stack.Options.GhciParser
                     Stack.Options.GhcVariantParser
                     Stack.Options.GlobalParser
                     Stack.Options.HaddockParser
                     Stack.Options.HpcReportParser
                     Stack.Options.LogLevelParser
                     Stack.Options.NewParser
                     Stack.Options.NixParser
                     Stack.Options.PackageParser
                     Stack.Options.ResolverParser
                     Stack.Options.ScriptParser
                     Stack.Options.SDistParser
                     Stack.Options.SolverParser
                     Stack.Options.TestParser
                     Stack.Options.Utils
                     Stack.Package
                     Stack.PackageDump
                     Stack.PackageIndex
                     Stack.Path
                     Stack.PrettyPrint
                     Stack.Runners
                     Stack.Script
                     Stack.SDist
                     Stack.Setup
                     Stack.Setup.Installed
                     Stack.SetupCmd
                     Stack.Sig
                     Stack.Sig.GPG
                     Stack.Sig.Sign
                     Stack.Solver
                     Stack.Types.Build
                     Stack.Types.BuildPlan
                     Stack.Types.CompilerBuild
                     Stack.Types.Urls
                     Stack.Types.Compiler
                     Stack.Types.Config
                     Stack.Types.Config.Build
                     Stack.Types.Docker
                     Stack.Types.FlagName
                     Stack.Types.GhcPkgId
                     Stack.Types.Image
                     Stack.Types.Internal
                     Stack.Types.Nix
                     Stack.Types.Package
                     Stack.Types.PackageDump
                     Stack.Types.PackageIdentifier
                     Stack.Types.PackageIndex
                     Stack.Types.PackageName
                     Stack.Types.Resolver
                     Stack.Types.Sig
                     Stack.Types.StackT
                     Stack.Types.StringError
                     Stack.Types.TemplateName
                     Stack.Types.Version
                     Stack.Upgrade
                     Stack.Upload
                     Text.PrettyPrint.Leijen.Extended
                     System.Process.Log
                     System.Process.PagerEditor
                     System.Process.Read
                     System.Process.Run
  other-modules:     Hackage.Security.Client.Repository.HttpLib.HttpClient
  build-depends:     Cabal >= 1.24 && < 1.25
                   , aeson (>= 1.0 && < 1.2)
                   , ansi-terminal >= 0.6.2.3
                   , async >= 2.0.2 && < 2.2
                   , attoparsec >= 0.12.1.5 && < 0.14
                   , base >= 4.8 && <5
                   , base-compat >=0.6 && <0.10
                   , base64-bytestring
                   , binary >= 0.7 && < 0.9
                   , binary-tagged >= 0.1.1
                   , blaze-builder
                   , bytestring >= 0.10.4.0
                   , clock >= 0.7.2
                   , conduit >= 1.2.8
                   , conduit-extra >= 1.1.14
                   , containers >= 0.5.5.1
                   , cryptonite >= 0.19 && < 0.24
                   , cryptonite-conduit >= 0.1 && < 0.3
                   , directory >= 1.2.1.0 && < 1.4
                   , echo >= 0.1.3 && < 0.2
                   , either
                   , errors < 2.3
                   , exceptions >= 0.8.0.2
                   , extra >= 1.4.10 && < 1.6
                   , fast-logger >= 2.3.1
                   , filelock >= 0.1.0.1
                   , filepath >= 1.3.0.2
                   , fsnotify >= 0.2.1
                   , generic-deriving >= 1.10.5 && < 1.12
                   , ghc-prim >= 0.4.0.0
                   , hackage-security
                   , hashable >= 1.2.3.2
                   , hpc >= 0.6.0.2
                   , http-client >= 0.5.3.3
                   , http-client-tls >= 0.3.4
                   , http-conduit >= 2.2.3
                   , http-types >= 0.8.6 && < 0.10
                   , lifted-async >= 0.9.1.1
                       -- https://github.com/basvandijk/lifted-base/issues/31
                   , lifted-base < 0.2.3.7 || > 0.2.3.7
                   , memory >= 0.13 && < 0.15
                   , microlens >= 0.3.0.0
                   , microlens-mtl >= 0.1.10.0
                   , mintty >= 0.1.1
                   , monad-control >= 1.0.1.0
                   , monad-logger >= 0.3.13.1
                   , monad-unlift < 0.3
                   , mtl >= 2.1.3.1
                   , network-uri
                   , open-browser >= 0.2.1
                   , optparse-applicative >= 0.13 && < 0.14
                   , path >= 0.5.8 && < 0.6
                   , path-io >= 1.1.0 && < 2.0.0
                   , persistent >= 2.1.2 && < 2.8
                       -- persistent-sqlite-2.5.0.1 has a bug
                       -- (see https://github.com/yesodweb/persistent/pull/561#issuecomment-222329087)
                   , persistent-sqlite (>= 2.1.4 && < 2.5.0.1) || (> 2.5.0.1 && < 2.7)
                   , persistent-template >= 2.1.1 && < 2.6
                   , pretty >= 1.1.1.1
                   , process >= 1.2.1.0 && < 1.5
                   , regex-applicative-text >=0.1.0.1 && <0.2
                   , resourcet >= 1.1.4.1
                   , retry >= 0.6 && < 0.8
                   , safe >= 0.3
                   , safe-exceptions >= 0.1.5.0
                   , semigroups >= 0.5 && < 0.19
                   , split
                   , stm >= 2.4.4
                   , streaming-commons >= 0.1.10.0
                   , tar >= 0.5.0.3 && < 0.6
                   , template-haskell >= 2.9.0.0 && < 2.12
                   , temporary >= 1.2.0.3
                   , text >= 1.2.0.4
                   , text-binary
                   , text-metrics >= 0.1 && < 0.4
                   , time >= 1.4.2 && < 1.7
                   , tls >= 1.3.8
                   , transformers >= 0.3.0.0 && < 0.6
                   , transformers-base >= 0.4.4
                   , unicode-transforms >= 0.1 && <0.4
                   , unix-compat >= 0.4.1.4
                   , unordered-containers >= 0.2.5.1
                   , vector >= 0.10.12.3 && < 0.13
                   , vector-binary-instances
                   , yaml >= 0.8.20
                   , zlib >= 0.5.4.2 && < 0.7
                   , deepseq >= 1.4
                   , hastache
                   , project-template >= 0.2
                   , zip-archive >= 0.2.3.7 && < 0.4
                   , hpack >= 0.17.0 && < 0.19
                   , store >= 0.4.1 && < 0.5
                   , store-core >= 0.4 && < 0.5
                   , annotated-wl-pprint
                   , file-embed >= 0.0.10
  if os(windows)
    cpp-options:     -DWINDOWS
    build-depends:   Win32
  else
    build-depends:   unix >= 2.7.0.1
                   , pid1 >= 0.1 && < 0.2
  default-language:  Haskell2010

executable stack
  hs-source-dirs: src/main
  main-is:        Main.hs
  ghc-options:    -threaded -Wall -fwarn-tabs -fwarn-incomplete-uni-patterns -fwarn-incomplete-record-updates
  other-modules:  Paths_stack
  if flag(static)
      ld-options: -static -pthread

  build-depends:  Cabal >= 1.18.1.5 && < 1.25
                , base >=4.7 && < 5
                , bytestring >= 0.10.4.0
                , conduit >= 1.2.8
                , containers >= 0.5.5.1
                , directory >= 1.2.1.0 && < 1.4
                , either
                , filelock >= 0.1.0.1
                , filepath >= 1.3.0.2
                , hpack >= 0.17.0 && < 0.19
                , http-client >= 0.5.3.3
                  -- https://github.com/basvandijk/lifted-base/issues/31
                , lifted-base < 0.2.3.7 || > 0.2.3.7
                , microlens >= 0.3.0.0
                , monad-control >= 1.0.1.0
                , monad-logger >= 0.3.13.1
                , mtl >= 2.1.3.1
                , optparse-applicative >= 0.13 && < 0.14
                , path >= 0.5.8 && < 0.6
                , path-io >= 1.1.0 && < 2.0.0
                , split
                , stack
                , text >= 1.2.0.4
                , transformers >= 0.3.0.0 && < 0.6
  default-language:    Haskell2010
  if os(windows)
    build-depends:   Win32
    cpp-options:     -DWINDOWS
  if !flag(disable-git-info)
    cpp-options:     -DUSE_GIT_INFO
    build-depends:   gitrev >= 1.1 && < 1.4
                   , optparse-simple >= 0.0.3
  if flag(hide-dependency-versions)
    cpp-options:     -DHIDE_DEP_VERSIONS

test-suite stack-test
  type:           exitcode-stdio-1.0
  hs-source-dirs: src/test
  main-is:        Test.hs
  other-modules:  Spec
                , Stack.BuildPlanSpec
                , Stack.Build.ExecuteSpec
                , Stack.Build.TargetSpec
                , Stack.ConfigSpec
                , Stack.DotSpec
                , Stack.GhciSpec
                , Stack.Ghci.ScriptSpec
                , Stack.Ghci.PortableFakePaths
                , Stack.PackageDumpSpec
                , Stack.ArgsSpec
                , Stack.NixSpec
                , Stack.StoreSpec
                , Network.HTTP.Download.VerifiedSpec
                , Stack.SolverSpec
                , Stack.Untar.UntarSpec
  ghc-options:    -threaded -Wall -fwarn-tabs -fwarn-incomplete-uni-patterns -fwarn-incomplete-record-updates
  build-depends:  Cabal >= 1.18.1.5 && < 1.25
                , QuickCheck >= 2.8.2 && < 2.10
                , attoparsec < 0.14
                , base >=4.7 && <5
                , conduit >= 1.2.8
                , conduit-extra
                , containers >= 0.5.5.1
                , cryptonite >= 0.19 && < 0.24
                , directory >= 1.2.1.0 && < 1.4
                , exceptions
                , filepath >= 1.3.0.2
                , hspec >= 2.2 && <2.5
                , hashable >= 1.2.3.2
                , http-client-tls >= 0.3.4
                , http-conduit >= 2.2.3
                , monad-logger
                , neat-interpolation >= 0.3
                , optparse-applicative >= 0.13 && < 0.14
                , path >= 0.5.8 && < 0.6
                , path-io >= 1.1.0 && < 2.0.0
                , resourcet
                , retry >= 0.6 && < 0.8
                , stack
                , temporary >= 1.2.0.3
                , text
                , transformers >= 0.3.0.0 && < 0.6
                , mono-traversable >= 0.10.2 && <1.1
                , th-reify-many >= 0.1.6
                , smallcheck
                , bytestring >= 0.10.4.0
                , store >= 0.4.1 && < 0.5
                , vector >= 0.10.12.3 && < 0.13
                , unordered-containers
                , template-haskell >= 2.9.0.0 && < 2.12
                , yaml >= 0.8.20
  default-language:    Haskell2010
  if os(windows)
    cpp-options:     -DWINDOWS

test-suite stack-integration-test
  type:           exitcode-stdio-1.0
  hs-source-dirs: test/integration
  main-is:        IntegrationSpec.hs
  ghc-options:    -threaded -rtsopts -with-rtsopts=-N -Wall -fwarn-tabs -fwarn-incomplete-uni-patterns -fwarn-incomplete-record-updates

  if !flag(integration-tests)
    buildable: False

  build-depends:  async < 2.2
                , base >= 4.7 && < 5
                , bytestring >= 0.10.4.0
                , conduit >= 1.2.8
                , conduit-extra >= 1.1.14
                , containers >= 0.5.5.1
                , directory >= 1.2.1.0 && < 1.4
                , filepath >= 1.3.0.2
                , hspec >= 2.2 && < 2.5
                , process >= 1.2.0.0 && < 1.5
                , resourcet
                , temporary >= 1.2.0.3
                , text
                , transformers >= 0.3.0.0 && < 0.6
                , unix-compat >= 0.4.1.4
  default-language:    Haskell2010

  -- This isn't actually needed to build stack-integration-test, but it makes it
  -- easier to load up an individual integration test into stack ghci. It's
  -- still a little involved:
  --
  -- stack exec -- stack ghci stack:stack-integration-test --flag stack:integration-tests --no-build
  --
  -- Then, in ghci:
  --
  -- :cd test/integration/tests/.../files
  -- :load ../Main.hs
  -- main
  other-modules: StackTest
  hs-source-dirs: test/integration/lib

source-repository head
  type:     git
  location: https://github.com/commercialhaskell/stack.git