nix-derivation 1.1.1 → 1.1.2
raw patch · 2 files changed
+28/−18 lines, 2 filesdep ~criteriondep ~textdep ~vectorPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: criterion, text, vector
API changes (from Hackage documentation)
Files
- nix-derivation.cabal +7/−7
- src/Nix/Derivation/Parser.hs +21/−11
nix-derivation.cabal view
@@ -1,5 +1,5 @@ Name: nix-derivation-Version: 1.1.1+Version: 1.1.2 Cabal-Version: >=1.10 Build-Type: Simple Tested-With: GHC == 7.8.4, GHC == 7.10.3, GHC == 8.0.2, GHC == 8.8.3@@ -29,7 +29,7 @@ Hs-Source-Dirs: src Build-Depends: base >= 4.6.0.0 && < 5 ,- attoparsec >= 0.12.0.0 && < 0.14,+ attoparsec >= 0.12.0.0 && < 0.15, containers < 0.7 , deepseq >= 1.4.0.0 && < 1.5 , text >= 0.8.0.0 && < 1.3 ,@@ -48,7 +48,7 @@ Hs-Source-Dirs: pretty-derivation Build-Depends: base >= 4.6.0.0 && < 5 ,- attoparsec >= 0.12.0.0 && < 0.14,+ attoparsec >= 0.12.0.0 && < 0.15, pretty-show >= 1.6.11 && < 1.11, text >= 0.8.0.0 && < 1.3 , nix-derivation@@ -63,7 +63,7 @@ GHC-Options: -Wall Build-Depends: base >= 4.6.0.0 && < 5 ,- attoparsec >= 0.12.0.0 && < 0.14,+ attoparsec >= 0.12.0.0 && < 0.15, nix-derivation , text >= 0.8.0.0 && < 1.3 @@ -75,9 +75,9 @@ GHC-Options: -Wall Build-Depends: base >= 4.6.0.0 && < 5 ,- attoparsec >= 0.12.0.0 && < 0.14,+ attoparsec >= 0.12.0.0 && < 0.15, nix-derivation ,- QuickCheck < 2.14,+ QuickCheck < 2.15, text >= 0.8.0.0 && < 1.3 , vector < 0.13, filepath < 1.5@@ -91,7 +91,7 @@ Build-Depends: base >= 4.6.0.0 && < 5 ,- attoparsec >= 0.12.0.0 && < 0.14,+ attoparsec >= 0.12.0.0 && < 0.15, criterion >= 1.1.4.0 && < 1.6 , nix-derivation , text >= 0.8.0.0 && < 1.3
src/Nix/Derivation/Parser.hs view
@@ -19,11 +19,11 @@ import Data.Vector (Vector) import Nix.Derivation.Types (Derivation(..), DerivationOutput(..)) +import qualified Data.Attoparsec.Text import qualified Data.Attoparsec.Text.Lazy import qualified Data.Map import qualified Data.Set import qualified Data.Text-import qualified Data.Text.Lazy import qualified Data.Vector import qualified System.FilePath @@ -102,24 +102,34 @@ textParser :: Parser Text textParser = do "\""+ let predicate c = not (c == '"' || c == '\\')+ let loop = do- text0 <- Data.Attoparsec.Text.Lazy.takeWhile predicate- char0 <- Data.Attoparsec.Text.Lazy.anyChar- text2 <- case char0 of- '"' -> return ""+ text0 <- Data.Attoparsec.Text.takeWhile predicate++ char0 <- Data.Attoparsec.Text.anyChar++ case char0 of+ '"' -> do+ return [ text0 ]+ _ -> do- char1 <- Data.Attoparsec.Text.Lazy.anyChar+ char1 <- Data.Attoparsec.Text.anyChar+ char2 <- case char1 of 'n' -> return '\n' 'r' -> return '\r' 't' -> return '\t' _ -> return char1- text1 <- loop- return (Data.Text.Lazy.cons char2 text1)- return (Data.Text.Lazy.fromStrict text0 <> text2)- text <- loop- return (Data.Text.Lazy.toStrict text)++ textChunks <- loop++ return (text0 : Data.Text.singleton char2 : textChunks)++ textChunks <- loop++ return (Data.Text.concat textChunks) filepathParser :: Parser FilePath filepathParser = do