diff --git a/Nix/Parser.hs b/Nix/Parser.hs index e870e89..22bacab 100644 --- a/Nix/Parser.hs +++ b/Nix/Parser.hs @@ -1,7 +1,12 @@ {-# LANGUAGE CPP #-} {-# LANGUAGE OverloadedStrings #-} -module Nix.Parser (parseNixFile, parseNixString, Result(..)) where +module Nix.Parser ( + parseNixFile, + parseNixString, + parseNixText, + Result(..) + ) where import Control.Applicative import Control.Monad @@ -244,3 +249,6 @@ parseNixFile = parseFromFileEx $ nixExpr <* eof parseNixString :: String -> Result NExpr parseNixString = parseFromString $ nixExpr <* eof + +parseNixText :: Text -> Result NExpr +parseNixText = parseNixString . unpack diff --git a/default.nix b/default.nix index 45ab74e..70ae4ed 100644 --- a/default.nix +++ b/default.nix @@ -3,4 +3,6 @@ let haskellPackages = nixpkgs.pkgs.haskell.packages.${compiler}; in -haskellPackages.callPackage ./project.nix {} +haskellPackages.callPackage ./project.nix { + pkgs = nixpkgs; +} diff --git a/hnix.cabal b/hnix.cabal index 3ebff86..48fd5c8 100644 --- a/hnix.cabal +++ b/hnix.cabal @@ -1,5 +1,5 @@ Name: hnix -Version: 0.2.2 +Version: 0.2.3 Synopsis: Haskell implementation of the Nix language Description: Haskell implementation of the Nix language. diff --git a/project.nix b/project.nix index dbe0ed4..7a975d0 100644 --- a/project.nix +++ b/project.nix @@ -1,11 +1,19 @@ { mkDerivation, ansi-wl-pprint, base, containers, data-fix, parsers , stdenv, tasty, tasty-hunit, tasty-th, text, transformers -, trifecta, unordered-containers, cabal-install +, trifecta, unordered-containers, cabal-install, pkgs }: + +let + inherit (builtins) filterSource; + inherit (pkgs.lib) elem; +in + mkDerivation { pname = "hnix"; - version = "0.2.2"; - src = ./.; + version = "0.2.3"; + src = let + notNamed = list: name: !(elem (baseNameOf name) list); + in filterSource (n: _: notNamed [".git" "dist" "benchmarks"] n) ./.; isLibrary = true; isExecutable = true; buildDepends = [