packages feed

shelly-1.8.2: shelly.cabal

Name:       shelly

Version:     1.8.2
Synopsis:    shell-like (systems) programming in Haskell

Description: Shelly provides convenient systems programming in Haskell,
             similar in spirit to POSIX shells. Shelly:
             .
               * is aimed at convenience and getting things done rather than
                 being a demonstration of elegance.
             .
               * has detailed and useful error messages
             .
               * maintains its own environment, making it thread-safe.
             .
               * is modern, using Text and system-filepath/system-fileio
             .
             Shelly is originally forked from the Shellish package.
             .
             See the shelly-extra package for additional functionality.
             .
             An overview is available in the README: <https://github.com/gregwebs/Shelly.hs/blob/master/README.md>


Homepage:            https://github.com/gregwebs/Shelly.hs
License:             BSD3
License-file:        LICENSE
Author:              Greg Weber, Petr Rockai
Maintainer:          Andreas Abel
Category:            Development
Build-type:          Simple
Cabal-version:       >=1.10

tested-with:
  GHC == 9.2.2
  GHC == 9.0.2
  GHC == 8.10.7
  GHC == 8.8.4
  GHC == 8.6.5
  GHC == 8.4.4
  GHC == 8.2.2
  GHC == 8.0.2
  GHC == 7.10.3
  GHC == 7.8.4
  GHC == 7.6.3
  GHC == 7.4.2

-- for the sdist of the test suite
extra-source-files: test/src/*.hs
                    test/examples/*.sh
                    test/examples/*.hs
                    test/data/zshrc
                    test/data/nonascii.txt
                    test/data/symlinked_dir/hoge_file
                    test/testall
                    README.md
                    ChangeLog.md

Library
  Exposed-modules: Shelly, Shelly.Lifted, Shelly.Pipe, Shelly.Unix
  other-modules:   Shelly.Base, Shelly.Find, Shelly.Directory
  hs-source-dirs: src

  Build-depends:
    base                      >= 4 && < 5,
    containers                >= 0.4.2.0,
    time                      >= 1.3 && < 1.13,
    directory                 >= 1.3.0.0 && < 1.4.0.0,
    mtl                       >= 2,
    process                   >= 1.0,
    unix-compat               < 0.6,
    system-filepath           >= 0.4.7 && < 0.5,
    system-fileio             < 0.4,
    monad-control             >= 0.3.2 && < 1.1,
    lifted-base,
    lifted-async,
    exceptions                >= 0.6,
    enclosed-exceptions,
    text, bytestring, async, transformers, transformers-base


  if impl(ghc < 8.0)
    build-depends:       fail >= 4.9 && < 4.10

  ghc-options: -Wall

  if impl(ghc >= 7.6.1)
      CPP-Options: -DNO_PRELUDE_CATCH

  default-language: Haskell2010
  default-extensions:
    CPP

source-repository head
  type:     git
  location: https://github.com/gregwebs/Shelly.hs

Flag lifted
   Description: run the tests against Shelly.Lifted
   Default: False

Test-Suite shelly-testsuite
  type: exitcode-stdio-1.0
  hs-source-dirs: src test/src
  main-is: TestMain.hs
  other-modules:
    CopySpec
    EnvSpec
    FailureSpec
    FindSpec
    Help
    LiftedSpec
    MoveSpec
    ReadFileSpec
    RmSpec
    RunSpec
    SshSpec
    Shelly
    Shelly.Base
    Shelly.Directory
    Shelly.Find
    Shelly.Lifted
    TestInit
    WhichSpec
    WriteSpec

  ghc-options: -Wall -fwarn-tabs -funbox-strict-fields -threaded
               -fno-warn-unused-do-bind -fno-warn-type-defaults


  default-language: Haskell2010
  default-extensions:
    CPP
    OverloadedStrings
    ExtendedDefaultRules

  if flag(lifted)
     cpp-options: -DLIFTED

  build-depends:
    base                      >= 4.6,
    text                      >= 0.11,
    async,
    bytestring                >= 0.10,
    containers                >= 0.5.0.0,
    directory                 >= 1.3.0.0 && < 1.4.0.0,
    process                   >= 1.1.0,
    unix-compat               < 0.6,
    system-filepath           >= 0.4.7 && < 0.5,
    system-fileio             < 0.4,
    mtl                       >= 2,
    time                      >= 1.3 && < 1.13,
    HUnit                     >= 1.2,
    hspec                     >= 2.0,
    hspec-contrib,
    transformers,
    transformers-base,
    filepath,
    monad-control,
    lifted-base,
    lifted-async,
    enclosed-exceptions,
    exceptions

  if impl(ghc < 8.0)
    build-depends:       fail >= 4.9 && < 4.10

Flag build-examples
   Description: build some example programs
   Default: False
   Manual: True

-- demonstarated that command output in Shellish was not shown until after the command finished
-- not necessary anymore
Executable drain
  hs-source-dirs: test/examples
  main-is: drain.hs
  if flag(build-examples)
    buildable: True

    build-depends: base                      >= 4.6
                 , shelly
                 , text

    default-language: Haskell2010
    default-extensions:
      CPP
  else
    buildable: False

Executable run-handles
  hs-source-dirs: test/examples
  main-is: run-handles.hs
  if flag(build-examples)
    buildable: True

    build-depends: base                      >= 4.6
                 , shelly
                 , text

    default-language: Haskell2010
    default-extensions:
      CPP
  else
    buildable: False

Executable Color
  hs-source-dirs: test/examples
  main-is: color.hs
  if flag(build-examples)
    buildable: True

    build-depends: base                      >= 4.6
                 , process
                 , shelly
                 , text
  else
    buildable: False

  default-language: Haskell2010