cabal-version                 : 3.0
name                          : arx
version                       : 0.3.3
category                      : Text
license                       : BSD-3-Clause
license-file                  : LICENSE
author                        : Jason Dusek
maintainer                    : oss@solidsnack.be
homepage                      : http://github.com/solidsnack/arx/
synopsis                      : Archive execution tool.
description                   :
  The @ARX@ system provides services for packaging, deploying and running
  source code. No particular format or framework is needed -- a directory of
  code and a command to run are enough. The system has no in-built notion of
  remote connections, job servers or clusters; all automation is captured as
  Bourne compatible scripts.
  .
  An archive of the source code, a command and optionally an environment are
  encoded together in a Bourne shell script that uses a small number of UNIX
  utilities in a broadly portable way. The generated scripts can be run
  directly or fed to @sh@ on STDIN. This latter feature is useful when one
  would like to use @ssh@ and @sudo@ to set an appropriate executation
  context, for example running: @ssh user\@example.com sudo sh@.
  .
  The shell tools used are @head@, @sed@, @date@, @tr@ and @tar@. The calls to
  @tar@ sometimes use @-j@ and @-z@; these calls to @tar@ may result in calls
  to @bzip2@ and @gzip@. Scripts have been tested with @dash@ and the GNU
  tools as well as the @sh@ and tools that are part of @busybox@.
  .
  The @arx@ command line tool provides the @tmpx@ subcommand for preparing
  jobs to run and the @shdat@ subcommand for access to the low-level shell
  encoder. The @System.Posix.ARX@ module provides access to the routines used
  for constructing commands and environments, describing archives and building
  Bourne shell scripts.
  .
  One way I have used @arx@ is to test the Cabal source archive for this
  package:
  .
  @
  arx tmpx .\/dist\/arx-* \/\/ 'cd arx-* && cabal configure && cabal build' | sh
  @
  .
  There are binary @arx@ command line tool releases available from:
  .
    <https://github.com/solidsnack/arx/downloads>
  .
  For each supported platform, there is an archive containing @arx@ and
  signature files (SHA 512 and GPG).

build-type                    : Simple
extra-source-files            : README
                              , LICENSE
                              , docs/blessed/arx.man
                              , docs/blessed/arx.txt
                              , model-scripts/tmpx.sh
                              , version

source-repository               head
  type                        : git
  location                    : http://github.com/solidsnack/arx.git


flag no-cli
  description                 : Disable command line tool.
  default                     : False


library
  build-depends               : base >= 2 && < 5
                              , bytestring >= 0.9 && < 1
                              , containers >= 0.6 && < 1
                              , attoparsec >= 0.9.1.2 && < 1
                              , blaze-builder >= 0.3 && < 1
                              , file-embed >= 0.0.4.1 && < 1
                              , parsec >= 3.1.2 && < 4
                              , process >= 1.0 && < 2
                              , shell-escape >= 0.1.1 && < 2
                              , template-haskell >= 1 && < 3
                              , hashable >= 1 && < 2
  exposed-modules             : System.Posix.ARX
                                System.Posix.ARX.CLI
                                System.Posix.ARX.CLI.CLTokens
                                System.Posix.ARX.CLI.Options
                                System.Posix.ARX.HEREDat
                                System.Posix.ARX.Programs
                                System.Posix.ARX.Sh
                                System.Posix.ARX.TMPXTools
                                System.Posix.ARX.Tar
  default-language            : Haskell2010
  default-extensions          : FlexibleInstances
                                FunctionalDependencies
                                MultiParamTypeClasses
                                OverloadedStrings
                                StandaloneDeriving
                                TupleSections


executable                      arx
  main-is                     : arx.hs
  if flag(no-cli)
    buildable                 : False
  else
    buildable                 : True
  build-depends               : base >= 2 && < 5
                              , bytestring >= 0.9 && < 1
                              , containers >= 0.6 && < 1
                              , attoparsec >= 0.9.1.2 && < 1
                              , blaze-builder >= 0.3 && < 1
                              , file-embed >= 0.0.4.1 && < 1
                              , parsec >= 3.1.2 && < 4
                              , process >= 1.0 && < 2
                              , shell-escape >= 0.1.1 && < 2
                              , template-haskell >= 1 && < 3
                              , hashable >= 1 && < 2
  default-language            : Haskell2010
  default-extensions          : FlexibleInstances
                                FunctionalDependencies
                                MultiParamTypeClasses
                                OverloadedStrings
                                StandaloneDeriving
                                TupleSections
  other-modules:                System.Posix.ARX
                                System.Posix.ARX.CLI
                                System.Posix.ARX.CLI.CLTokens
                                System.Posix.ARX.CLI.Options
                                System.Posix.ARX.HEREDat
                                System.Posix.ARX.Programs
                                System.Posix.ARX.Sh
                                System.Posix.ARX.TMPXTools
                                System.Posix.ARX.Tar

