packages feed

ngx-export-distribution 0.6.0.0 → 0.6.0.1

raw patch · 4 files changed

+30/−20 lines, 4 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

Files

Changelog.md view
@@ -1,9 +1,14 @@+### 0.6.0.1++- *nhm-tool*: refactor parsing of *ldd* output, previously it could fail in rare+  cases when there were any not found libraries in the list.+ ### 0.6.0.0  - *nhm-tool*: add command *plan* to print the build plan or its derivatives.   Command *deps* is now a synonym for command *plan deps*. - *nhm-tool*: generate more secure *Makefile* with variables surrounded by-  commas in shell parts.+  double quotes in shell parts.  ### 0.5.6.0 
NgxExport/Distribution.hs view
@@ -320,6 +320,14 @@ -- In this case, no changes in /hie.yaml/ are required. But it makes sense to -- add the new source files into variable /SRC/ in /Makefile/ to let /make/ -- track them too.+--+-- To load the Haskell source file in the Haskell REPL, create the GHC package+-- environment by running /make/ or /make env/ and then run+--+-- > $ ghci -fobject-code project_name.hs+--+-- Option /-fobject-code/ is required for export declarations of handlers like+-- /incCnt/ which involve using foreign function interface.  -- $drawbacks --
ngx-export-distribution.cabal view
@@ -1,5 +1,5 @@ name:                       ngx-export-distribution-version:                    0.6.0.0+version:                    0.6.0.1 synopsis:                   Build custom libraries for Nginx Haskell module description:                Build custom libraries for         <https://github.com/lyokha/nginx-haskell-module Nginx Haskell module>.
nhm-tool.hs view
@@ -393,31 +393,28 @@     where colon = ':'  parseLddOutput :: String -> Either ParseError [LddRec]-parseLddOutput = flip parse "ldd" $ many $-    spaces *>-    (try (toLddRec <$>-              manyTill anyChar' sep <*>-                  ((Just .) . (:) <$> char '/' <*> right-                   <|> Nothing <$ string "not found"-                  )-         )-     <|> try ((`LibOther` Nothing) <$> right)-     <|> (`LibOther` Nothing) <$> manyTill anyChar' (sep *> addr *> newline)-    )-    where toLddRec lib | "libHS" `isPrefixOf` lib = LibHS lib+parseLddOutput = flip parse "ldd" $ manyLines $+    try (toLddRec <$>+             anyCharsTill arrow <*>+                 ((Just .) . (:) <$> char '/' <*> right+                  <|> Nothing <$ string "not found"+                 )+        )+    <|> (`LibOther` Nothing) <$> (try right <|> anyCharsTill (arrow *> addr))+    where manyLines = many . (spaces *>) . (<* newline)+          toLddRec lib | "libHS" `isPrefixOf` lib = LibHS lib                        | "libffi.so" `isPrefixOf` lib = LibFFI lib                        | otherwise = LibOther lib-          right = manyTill anyChar' $ spaces1 *> addr *> newline+          anyCharsTill = manyTill $ satisfy (/= '\n')+          right = anyCharsTill $ spaces1 *> addr           addr = string "(0x" *> many1 hexDigit *> char ')'-          anyChar' = satisfy (/= '\n')-          sep = spaces1 *> string "=>" *> spaces1+          arrow = spaces1 *> string "=>" *> spaces1           spaces1 = skipMany1 space  cmdPlan :: PlanData -> IO () cmdPlan PlanData {..} = do-    let buildDir = if null planDataBuilddir-                       then ProjectRelativeToDir "."-                       else InBuildDir planDataBuilddir+    let buildDir | null planDataBuilddir = ProjectRelativeToDir "."+                 | otherwise = InBuildDir planDataBuilddir     path <- findPlanJson buildDir     case planDataQuery of         Nothing ->