arx 0.0.1 → 0.0.2
raw patch · 2 files changed
+24/−5 lines, 2 files
Files
- System/Posix/ARX/Programs.hs +9/−4
- arx.cabal +15/−1
System/Posix/ARX/Programs.hs view
@@ -34,8 +34,9 @@ -} newtype SHDAT = SHDAT Word -- Chunk size. instance ARX SHDAT LazyB.ByteString where- interpret (SHDAT w) bytes = mconcat (chunked bytes)+ interpret (SHDAT w) = localeC . mconcat . chunked where+ localeC b = "( export LC_ALL=C\n" `mappend` b `mappend` ")" chunkSize = min (fromIntegral w) maxBound chunked input = case LazyB.splitAt chunkSize input of ("", "") -> []@@ -66,11 +67,15 @@ where archives = mconcat (uncurry archive <$> stuff) archive tar bytes = mconcat- ["{\n", shdat bytes, "} | tar ", flags tar, "\n"]+ [shdat bytes, " | tar ", flags tar, "\n"] flags TAR = "-x" flags TGZ = "-x -z" flags TBZ = "-x -j"- run' = shdat run- env' = (shdat . Blaze.toLazyByteString . Sh.render) env+ run' = case run of "" -> ""+ _ -> shdat run+ env' = case env of _:_ -> (shdat . unblz . Sh.render) env+ [ ] -> "" shdat = interpret encoder+ unblz = Blaze.toLazyByteString+
arx.cabal view
@@ -1,5 +1,5 @@ name : arx-version : 0.0.1+version : 0.0.2 category : Text license : BSD3 license-file : LICENSE@@ -31,6 +31,20 @@ 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