-
Notifications
You must be signed in to change notification settings - Fork 16
/
arx.cabal
131 lines (122 loc) · 5.75 KB
/
arx.cabal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
name : arx
version : 0.3.2
category : Text
license : BSD3
license-file : LICENSE
author : Jason Dusek
maintainer : [email protected]
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).
cabal-version : >= 1.6
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
, containers
, attoparsec >= 0.9.1.2
, blaze-builder >= 0.3
, bytestring-nums >= 0.3.3
, file-embed >= 0.0.4.1
, parsec >= 3.1.2
, process >= 1.0
, shell-escape >= 0.1.1
, template-haskell
, hashable
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
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
, containers
, attoparsec >= 0.9.1.2
, blaze-builder >= 0.3
, bytestring-nums >= 0.3.3
, file-embed >= 0.0.4.1
, parsec >= 3.1.2
, process >= 1.0
, shell-escape >= 0.1.1
, template-haskell
, hashable
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