cabal-version: 2.2 name: hnix version: 0.17.0 synopsis: Haskell implementation of the Nix language description: Haskell implementation of the Nix language. category: System, Data, Nix homepage: https://github.com/haskell-nix/hnix#readme bug-reports: https://github.com/haskell-nix/hnix/issues author: John Wiegley maintainer: johnw@newartisans.com license: BSD-3-Clause license-file: License build-type: Simple data-dir: data/ extra-source-files: ChangeLog.md ReadMe.md License data/nix/tests/lang/binary-data data/nix/tests/lang/data data/nix/tests/lang/dir1/a.nix data/nix/tests/lang/dir2/a.nix data/nix/tests/lang/dir2/b.nix data/nix/tests/lang/dir3/a.nix data/nix/tests/lang/dir3/b.nix data/nix/tests/lang/dir3/c.nix data/nix/tests/lang/dir4/a.nix data/nix/tests/lang/dir4/c.nix data/nix/tests/lang/eval-fail-abort.nix data/nix/tests/lang/eval-fail-assert.nix data/nix/tests/lang/eval-fail-bad-antiquote-1.nix data/nix/tests/lang/eval-fail-bad-antiquote-2.nix data/nix/tests/lang/eval-fail-bad-antiquote-3.nix data/nix/tests/lang/eval-fail-blackhole.nix data/nix/tests/lang/eval-fail-deepseq.nix data/nix/tests/lang/eval-fail-hashfile-missing.nix data/nix/tests/lang/eval-fail-missing-arg.nix data/nix/tests/lang/eval-fail-path-slash.nix data/nix/tests/lang/eval-fail-remove.nix data/nix/tests/lang/eval-fail-scope-5.nix data/nix/tests/lang/eval-fail-seq.nix data/nix/tests/lang/eval-fail-substring.nix data/nix/tests/lang/eval-fail-to-path.nix data/nix/tests/lang/eval-fail-undeclared-arg.nix data/nix/tests/lang/eval-okay-any-all.exp data/nix/tests/lang/eval-okay-any-all.nix data/nix/tests/lang/eval-okay-arithmetic.exp data/nix/tests/lang/eval-okay-arithmetic.nix data/nix/tests/lang/eval-okay-attrnames.exp data/nix/tests/lang/eval-okay-attrnames.nix data/nix/tests/lang/eval-okay-attrs2.exp data/nix/tests/lang/eval-okay-attrs2.nix data/nix/tests/lang/eval-okay-attrs3.exp data/nix/tests/lang/eval-okay-attrs3.nix data/nix/tests/lang/eval-okay-attrs4.exp data/nix/tests/lang/eval-okay-attrs4.nix data/nix/tests/lang/eval-okay-attrs5.exp data/nix/tests/lang/eval-okay-attrs5.nix data/nix/tests/lang/eval-okay-attrs.exp data/nix/tests/lang/eval-okay-attrs.nix data/nix/tests/lang/eval-okay-autoargs.exp data/nix/tests/lang/eval-okay-autoargs.flags data/nix/tests/lang/eval-okay-autoargs.nix data/nix/tests/lang/eval-okay-backslash-newline-1.exp data/nix/tests/lang/eval-okay-backslash-newline-1.nix data/nix/tests/lang/eval-okay-backslash-newline-2.exp data/nix/tests/lang/eval-okay-backslash-newline-2.nix data/nix/tests/lang/eval-okay-builtins-add.exp data/nix/tests/lang/eval-okay-builtins-add.nix data/nix/tests/lang/eval-okay-builtins.exp data/nix/tests/lang/eval-okay-builtins.nix data/nix/tests/lang/eval-okay-callable-attrs.exp data/nix/tests/lang/eval-okay-callable-attrs.nix data/nix/tests/lang/eval-okay-catattrs.exp data/nix/tests/lang/eval-okay-catattrs.nix data/nix/tests/lang/eval-okay-closure.exp.xml data/nix/tests/lang/eval-okay-closure.nix data/nix/tests/lang/eval-okay-comments.exp data/nix/tests/lang/eval-okay-comments.nix data/nix/tests/lang/eval-okay-concat.exp data/nix/tests/lang/eval-okay-concatmap.exp data/nix/tests/lang/eval-okay-concatmap.nix data/nix/tests/lang/eval-okay-concat.nix data/nix/tests/lang/eval-okay-concatstringssep.exp data/nix/tests/lang/eval-okay-concatstringssep.nix data/nix/tests/lang/eval-okay-context.exp data/nix/tests/lang/eval-okay-context-introspection.exp data/nix/tests/lang/eval-okay-context-introspection.nix data/nix/tests/lang/eval-okay-context.nix data/nix/tests/lang/eval-okay-curpos.exp data/nix/tests/lang/eval-okay-curpos.nix data/nix/tests/lang/eval-okay-deepseq.exp data/nix/tests/lang/eval-okay-deepseq.nix data/nix/tests/lang/eval-okay-delayed-with.exp data/nix/tests/lang/eval-okay-delayed-with-inherit.exp data/nix/tests/lang/eval-okay-delayed-with-inherit.nix data/nix/tests/lang/eval-okay-delayed-with.nix data/nix/tests/lang/eval-okay-dynamic-attrs-2.exp data/nix/tests/lang/eval-okay-dynamic-attrs-2.nix data/nix/tests/lang/eval-okay-dynamic-attrs-bare.exp data/nix/tests/lang/eval-okay-dynamic-attrs-bare.nix data/nix/tests/lang/eval-okay-dynamic-attrs.exp data/nix/tests/lang/eval-okay-dynamic-attrs.nix data/nix/tests/lang/eval-okay-elem.exp data/nix/tests/lang/eval-okay-elem.nix data/nix/tests/lang/eval-okay-empty-args.exp data/nix/tests/lang/eval-okay-empty-args.nix data/nix/tests/lang/eval-okay-eq-derivations.exp data/nix/tests/lang/eval-okay-eq-derivations.nix data/nix/tests/lang/eval-okay-eq.exp.disabled data/nix/tests/lang/eval-okay-eq.nix data/nix/tests/lang/eval-okay-filter.exp data/nix/tests/lang/eval-okay-filter.nix data/nix/tests/lang/eval-okay-flatten.exp data/nix/tests/lang/eval-okay-flatten.nix data/nix/tests/lang/eval-okay-float.exp data/nix/tests/lang/eval-okay-float.nix data/nix/tests/lang/eval-okay-fromjson.exp data/nix/tests/lang/eval-okay-fromjson.nix data/nix/tests/lang/eval-okay-fromTOML.exp data/nix/tests/lang/eval-okay-fromTOML.nix data/nix/tests/lang/eval-okay-functionargs.exp.xml data/nix/tests/lang/eval-okay-functionargs.nix data/nix/tests/lang/eval-okay-getattrpos.exp data/nix/tests/lang/eval-okay-getattrpos.nix data/nix/tests/lang/eval-okay-getattrpos-undefined.exp data/nix/tests/lang/eval-okay-getattrpos-undefined.nix data/nix/tests/lang/eval-okay-getenv.exp data/nix/tests/lang/eval-okay-getenv.nix data/nix/tests/lang/eval-okay-hash.exp data/nix/tests/lang/eval-okay-hashfile.exp data/nix/tests/lang/eval-okay-hashfile.nix data/nix/tests/lang/eval-okay-hashstring.exp data/nix/tests/lang/eval-okay-hashstring.nix data/nix/tests/lang/eval-okay-if.exp data/nix/tests/lang/eval-okay-if.nix data/nix/tests/lang/eval-okay-import.exp data/nix/tests/lang/eval-okay-import.nix data/nix/tests/lang/eval-okay-ind-string.exp data/nix/tests/lang/eval-okay-ind-string.nix data/nix/tests/lang/eval-okay-let.exp data/nix/tests/lang/eval-okay-let.nix data/nix/tests/lang/eval-okay-list.exp data/nix/tests/lang/eval-okay-list.nix data/nix/tests/lang/eval-okay-listtoattrs.exp data/nix/tests/lang/eval-okay-listtoattrs.nix data/nix/tests/lang/eval-okay-logic.exp data/nix/tests/lang/eval-okay-logic.nix data/nix/tests/lang/eval-okay-mapattrs.exp data/nix/tests/lang/eval-okay-mapattrs.nix data/nix/tests/lang/eval-okay-map.exp data/nix/tests/lang/eval-okay-map.nix data/nix/tests/lang/eval-okay-nested-with.exp data/nix/tests/lang/eval-okay-nested-with.nix data/nix/tests/lang/eval-okay-new-let.exp data/nix/tests/lang/eval-okay-new-let.nix data/nix/tests/lang/eval-okay-null-dynamic-attrs.exp data/nix/tests/lang/eval-okay-null-dynamic-attrs.nix data/nix/tests/lang/eval-okay-overrides.exp data/nix/tests/lang/eval-okay-overrides.nix data/nix/tests/lang/eval-okay-partition.exp data/nix/tests/lang/eval-okay-partition.nix data/nix/tests/lang/eval-okay-pathexists.exp data/nix/tests/lang/eval-okay-pathexists.nix data/nix/tests/lang/eval-okay-path.nix data/nix/tests/lang/eval-okay-patterns.exp data/nix/tests/lang/eval-okay-patterns.nix data/nix/tests/lang/eval-okay-readDir.exp data/nix/tests/lang/eval-okay-readDir.nix data/nix/tests/lang/eval-okay-readfile.exp data/nix/tests/lang/eval-okay-readfile.nix data/nix/tests/lang/eval-okay-redefine-builtin.exp data/nix/tests/lang/eval-okay-redefine-builtin.nix data/nix/tests/lang/eval-okay-regex-match.exp data/nix/tests/lang/eval-okay-regex-match.nix data/nix/tests/lang/eval-okay-regex-split.exp data/nix/tests/lang/eval-okay-regex-split.nix data/nix/tests/lang/eval-okay-remove.exp data/nix/tests/lang/eval-okay-remove.nix data/nix/tests/lang/eval-okay-replacestrings.exp data/nix/tests/lang/eval-okay-replacestrings.nix data/nix/tests/lang/eval-okay-scope-1.exp data/nix/tests/lang/eval-okay-scope-1.nix data/nix/tests/lang/eval-okay-scope-2.exp data/nix/tests/lang/eval-okay-scope-2.nix data/nix/tests/lang/eval-okay-scope-3.exp data/nix/tests/lang/eval-okay-scope-3.nix data/nix/tests/lang/eval-okay-scope-4.exp data/nix/tests/lang/eval-okay-scope-4.nix data/nix/tests/lang/eval-okay-scope-6.exp data/nix/tests/lang/eval-okay-scope-6.nix data/nix/tests/lang/eval-okay-scope-7.exp data/nix/tests/lang/eval-okay-scope-7.nix data/nix/tests/lang/eval-okay-search-path.exp data/nix/tests/lang/eval-okay-search-path.flags data/nix/tests/lang/eval-okay-search-path.nix data/nix/tests/lang/eval-okay-seq.exp data/nix/tests/lang/eval-okay-seq.nix data/nix/tests/lang/eval-okay-sort.exp data/nix/tests/lang/eval-okay-sort.nix data/nix/tests/lang/eval-okay-splitversion.exp data/nix/tests/lang/eval-okay-splitversion.nix data/nix/tests/lang/eval-okay-string.exp data/nix/tests/lang/eval-okay-string.nix data/nix/tests/lang/eval-okay-strings-as-attrs-names.exp data/nix/tests/lang/eval-okay-strings-as-attrs-names.nix data/nix/tests/lang/eval-okay-substring.exp data/nix/tests/lang/eval-okay-substring.nix data/nix/tests/lang/eval-okay-tail-call-1.exp-disabled data/nix/tests/lang/eval-okay-tail-call-1.nix data/nix/tests/lang/eval-okay-tojson.exp data/nix/tests/lang/eval-okay-tojson.nix data/nix/tests/lang/eval-okay-toxml2.exp data/nix/tests/lang/eval-okay-toxml2.nix data/nix/tests/lang/eval-okay-toxml.exp data/nix/tests/lang/eval-okay-toxml.nix data/nix/tests/lang/eval-okay-tryeval.exp data/nix/tests/lang/eval-okay-tryeval.nix data/nix/tests/lang/eval-okay-types.exp data/nix/tests/lang/eval-okay-types.nix data/nix/tests/lang/eval-okay-versions.exp data/nix/tests/lang/eval-okay-versions.nix data/nix/tests/lang/eval-okay-with.exp data/nix/tests/lang/eval-okay-with.nix data/nix/tests/lang/eval-okay-xml.exp.xml data/nix/tests/lang/eval-okay-xml.nix data/nix/tests/lang/imported2.nix data/nix/tests/lang/imported.nix data/nix/tests/lang/lib.nix data/nix/tests/lang/parse-fail-dup-attrs-1.nix data/nix/tests/lang/parse-fail-dup-attrs-2.nix data/nix/tests/lang/parse-fail-dup-attrs-3.nix data/nix/tests/lang/parse-fail-dup-attrs-4.nix data/nix/tests/lang/parse-fail-dup-attrs-7.nix data/nix/tests/lang/parse-fail-dup-formals.nix data/nix/tests/lang/parse-fail-mixed-nested-attrs1.nix data/nix/tests/lang/parse-fail-mixed-nested-attrs2.nix data/nix/tests/lang/parse-fail-patterns-1.nix data/nix/tests/lang/parse-fail-regression-20060610.nix data/nix/tests/lang/parse-fail-uft8.nix data/nix/tests/lang/parse-fail-undef-var-2.nix data/nix/tests/lang/parse-fail-undef-var.nix data/nix/tests/lang/parse-okay-1.nix data/nix/tests/lang/parse-okay-crlf.nix data/nix/tests/lang/parse-okay-dup-attrs-5.nix data/nix/tests/lang/parse-okay-dup-attrs-6.nix data/nix/tests/lang/parse-okay-mixed-nested-attrs-1.nix data/nix/tests/lang/parse-okay-mixed-nested-attrs-2.nix data/nix/tests/lang/parse-okay-mixed-nested-attrs-3.nix data/nix/tests/lang/parse-okay-regression-20041027.nix data/nix/tests/lang/parse-okay-regression-751.nix data/nix/tests/lang/parse-okay-subversion.nix data/nix/tests/lang/parse-okay-url.nix data/nix/tests/lang/readDir/bar data/nix/tests/lang/readDir/foo/git-hates-directories data/nix/tests/local.mk data/nixpkgs-all-packages.nix data/let-comments.nix data/let-comments-multiline.nix data/simple-pretty.nix data/simple.nix data/nixpkgs-all-packages-pretty.nix data/let.nix tests/eval-compare/builtins.appendContext.nix tests/eval-compare/builtins.eq-bottom-00.nix tests/eval-compare/builtins.fetchurl-01.nix tests/eval-compare/builtins.fromJSON-01.nix tests/eval-compare/builtins.getContext.nix tests/eval-compare/builtins.lessThan-01.nix tests/eval-compare/builtins.mapAttrs-01.nix tests/eval-compare/builtins.pathExists.nix tests/eval-compare/builtins.replaceStrings-01.nix tests/eval-compare/builtins.split-01.nix tests/eval-compare/builtins.split-02.nix tests/eval-compare/builtins.split-03.nix tests/eval-compare/builtins.split-04.nix tests/eval-compare/builtins.string.store.nix tests/eval-compare/builtins.toJSON.nix tests/eval-compare/current-system.nix tests/eval-compare/ellipsis.nix tests/eval-compare/ind-string-01.nix tests/eval-compare/ind-string-02.nix tests/eval-compare/ind-string-03.nix tests/eval-compare/ind-string-04.nix tests/eval-compare/ind-string-05.nix tests/eval-compare/ind-string-06.nix tests/eval-compare/ind-string-07.nix tests/eval-compare/ind-string-08.nix tests/eval-compare/ind-string-09.nix tests/eval-compare/ind-string-10.nix tests/eval-compare/ind-string-11.nix tests/eval-compare/ind-string-12.nix tests/eval-compare/ind-string-13.nix tests/eval-compare/ind-string-14.nix tests/eval-compare/ind-string-15.nix tests/eval-compare/ind-string-16.nix tests/eval-compare/ind-string-17.nix tests/eval-compare/paths-01.nix tests/eval-compare/placeholder.nix tests/files/attrs.nix tests/files/callLibs.nix tests/files/eighty.nix tests/files/file.nix tests/files/file2.nix tests/files/findFile.nix tests/files/force.nix tests/files/goodbye.nix tests/files/hello.nix tests/files/hello2.nix tests/files/if-then.nix tests/files/lint.nix tests/files/loop.nix tests/files/test.nix tests/files/with.nix source-repository head type: git location: https://github.com/haskell-nix/hnix flag optimize description: Enable all optimization flags manual: True default: True flag profiling description: Enable profiling manual: True default: False common shared default-language: Haskell2010 default-extensions: NoImplicitPrelude , OverloadedStrings , DeriveGeneric , DeriveDataTypeable , DeriveFunctor , DeriveFoldable , DeriveTraversable , DeriveLift , FlexibleContexts , FlexibleInstances , ScopedTypeVariables , StandaloneDeriving , TypeApplications , TypeSynonymInstances , InstanceSigs , MultiParamTypeClasses , TupleSections , LambdaCase , BangPatterns , ViewPatterns build-depends: base >= 4.12 && < 5 , data-fix >= 0.3.0 && < 0.4 , exceptions >= 0.10.0 && < 0.11 , filepath >= 1.4.2 && < 1.5 , optparse-applicative >= 0.14.3 && < 0.19 , relude >= 1.0.0 && < 1.3 , serialise >= 0.2.1 && < 0.3 , template-haskell >= 2.13 && < 2.22 , time >= 1.8.0 && < 1.9 || >= 1.9.3 && < 1.13 ghc-options: -Wall -Wno-incomplete-uni-patterns -fprint-potential-instances if flag(optimize) default-extensions: ApplicativeDo ghc-options: -O2 -fexpose-all-unfoldings -fspecialise-aggressively -- if !flag(profiling) -- build-depends: -- ghc-datasize library import: shared exposed-modules: Nix Nix.Prelude Nix.Utils Nix.Atoms Nix.Builtins Nix.Cache Nix.Cited Nix.Cited.Basic Nix.Context Nix.Convert Nix.Effects Nix.Effects.Basic Nix.Effects.Derivation Nix.Eval Nix.Exec Nix.Expr Nix.Expr.Shorthands Nix.Expr.Strings Nix.Expr.Types Nix.Expr.Types.Annotated Nix.Frames Nix.Fresh Nix.Fresh.Basic Nix.Json Nix.Lint Nix.Normal Nix.Options Nix.Options.Parser Nix.Parser Nix.Pretty Nix.Reduce Nix.Render Nix.Render.Frame Nix.Scope Nix.Standard Nix.String Nix.String.Coerce Nix.TH Nix.Thunk Nix.Thunk.Basic Nix.Type.Assumption Nix.Type.Env Nix.Type.Infer Nix.Type.Type Nix.Utils.Fix1 Nix.Value Nix.Value.Equal Nix.Value.Monad Nix.Var Nix.XML other-modules: Paths_hnix Nix.Unused autogen-modules: Paths_hnix hs-source-dirs: src build-depends: aeson >= 1.4.2 && < 1.6 || >= 2.0 && < 2.2 , array >= 0.4 && < 0.6 , base16-bytestring >= 0.1.1 && < 1.1 , binary >= 0.8.5 && < 0.9 , bytestring >= 0.10.8 && < 0.12 , cryptonite , comonad >= 5.0.4 && < 5.1 , containers >= 0.5.11.0 && < 0.7 , deepseq >= 1.4.3 && <1.6 , deriving-compat >= 0.3 && < 0.7 , directory >= 1.3.1 && < 1.4 , extra >= 1.7 && < 1.8 , free >= 5.1 && < 5.2 , gitrev >= 1.1.0 && < 1.4 , hashable >= 1.2.5 && < 1.5 , hashing >= 0.1.0 && < 0.2 , hnix-store-core >= 0.6.0 && < 0.8 , hnix-store-remote >= 0.6.0 && < 0.7 , http-client >= 0.5.14 && < 0.6 || >= 0.6.4 && < 0.8 , http-client-tls >= 0.3.5 && < 0.4 , http-types >= 0.12.2 && < 0.13 , lens-family >= 1.2.2 && < 2.2 , lens-family-core >= 1.2.2 && < 2.2 , lens-family-th >= 0.5.0 && < 0.6 , logict >= 0.6.0 && < 0.7 || >= 0.7.0.2 && < 0.9 , megaparsec >= 7.0 && < 9.6 , monad-control >= 1.0.2 && < 1.1 , monadlist >= 0.0.2 && < 0.1 , mtl >= 2.2.2 && < 2.4 , neat-interpolation >= 0.4 && < 0.6 , parser-combinators >= 1.0.1 && < 1.4 , pretty-show >= 1.9.5 && < 1.11 , prettyprinter >= 1.7.0 && < 1.8 , process >= 1.6.3 && < 1.7 , ref-tf >= 0.5 && < 0.6 , regex-tdfa >= 1.2.3 && < 1.4 , scientific >= 0.3.6 && < 0.4 , semialign >= 1.2 && < 1.4 , some >= 1.0.1 && < 1.1 , split >= 0.2.3 && < 0.3 , syb >= 0.7 && < 0.8 -- provides: -- * compat instances for old versions of TH for old GHCs -- * orphan instances for TH missing instances -- aka Lift Text, Bytestring, Vector, Containers, -- we use Lift Text particulrarly for GHC 8.6 , th-lift-instances >= 0.1 && < 0.2 , text >= 1.2.3 && < 2.2 , these >= 1.0.1 && < 1.3 , transformers >= 0.5.5 && < 0.7 , transformers-base >= 0.4.5 && < 0.5 , unix-compat >= 0.4.3 && < 0.8 , unordered-containers >= 0.2.14 && < 0.3 , vector >= 0.12.0 && < 0.14 , xml >= 1.3.14 && < 1.4 executable hnix import: shared hs-source-dirs: main main-is: Main.hs other-modules: Repl Paths_hnix autogen-modules: Paths_hnix build-depends: hnix , aeson , comonad , containers , deepseq , free , haskeline >= 0.8.0.0 && < 0.9 , pretty-show , prettyprinter , ref-tf , repline >= 0.4.0.0 && < 0.5 if impl(ghc < 8.10) -- GHC < 8.10 comes with haskeline < 0.8, which we don't support. -- To simplify CI, we just disable the component. buildable: False test-suite hnix-tests import: shared type: exitcode-stdio-1.0 main-is: Main.hs other-modules: EvalTests NixLanguageTests ParserTests PrettyParseTests PrettyTests ReduceExprTests TestCommon hs-source-dirs: tests build-depends: hnix , Diff , Glob , containers , directory , hedgehog , megaparsec , neat-interpolation , pretty-show , prettyprinter , process , split , tasty , tasty-hedgehog , tasty-hunit , tasty-th , unix-compat benchmark hnix-benchmarks import: shared type: exitcode-stdio-1.0 main-is: Main.hs other-modules: ParserBench hs-source-dirs: benchmarks build-depends: hnix , criterion