Closed deepfire closed 6 years ago
..more specifically, the overrides I'm using are:
(with haskell.packages.ghc802; {
dhall-json = overrideCabal dhall-json (drv: {
src = pkgs.fetchFromGitHub {
owner = "dhall-lang";
repo = "dhall-json";
rev = "d6adaa265dcf8ab5899396b05d612b2d8092dca4";
sha256 = "0pvbpbg6475drvpakny12y3z2dv0vj6x4hlk853dgb84xbsd8i33";
};
jailbreak = true;
});
dhall = overrideCabal dhall (drv: {
src = pkgs.fetchFromGitHub {
owner = "dhall-lang";
repo = "dhall-haskell";
rev = "4a085aa3d622886cf7dd96a1ad475ba914d5ab1f";
sha256 = "0849rvv9m5rgxgvn60q2bwfr7m1syjkgxrrs4xafs10ymfdx0g9f";
};
jailbreak = true;
libraryHaskellDepends = drv.libraryHaskellDepends ++ [
insert-ordered-containers
lens-family-core
prettyprinter-ansi-terminal
repline
];
});
I cannot reproduce. I checked out revision d6adaa265dcf8ab5899396b05d612b2d8092dca4 of this repository and replaced dhall.nix
with:
{ mkDerivation, ansi-terminal, ansi-wl-pprint, base
, base16-bytestring, bytestring, case-insensitive, containers
, contravariant, cryptonite, deepseq, directory, exceptions
, fetchgit, filepath, haskeline, http-client, http-client-tls
, insert-ordered-containers, lens-family-core, memory, mtl
, optparse-generic, parsers, prettyprinter
, prettyprinter-ansi-terminal, repline, scientific, stdenv, tasty
, tasty-hunit, text, text-format, transformers, trifecta
, unordered-containers, vector
}:
mkDerivation {
pname = "dhall";
version = "1.11.1";
src = fetchgit {
url = "git@github.com:dhall-lang/dhall-haskell.git";
sha256 = "0849rvv9m5rgxgvn60q2bwfr7m1syjkgxrrs4xafs10ymfdx0g9f";
rev = "4a085aa3d622886cf7dd96a1ad475ba914d5ab1f";
};
isLibrary = true;
isExecutable = true;
libraryHaskellDepends = [
ansi-wl-pprint base base16-bytestring bytestring case-insensitive
containers contravariant cryptonite directory exceptions filepath
http-client http-client-tls insert-ordered-containers
lens-family-core memory parsers prettyprinter
prettyprinter-ansi-terminal scientific text text-format
transformers trifecta unordered-containers vector
];
executableHaskellDepends = [
ansi-terminal base haskeline mtl optparse-generic prettyprinter
prettyprinter-ansi-terminal repline text trifecta
];
testHaskellDepends = [
base deepseq insert-ordered-containers prettyprinter tasty
tasty-hunit text vector
];
description = "A configuration language guaranteed to terminate";
license = stdenv.lib.licenses.bsd3;
}
... and built this repository successfully
I also verified that revision 4a085aa3d622886cf7dd96a1ad475ba914d5ab1f of the dhall
package does export the Chunks
constructor from the Dhall.Core
module:
I think the root cause is that there is some mistake in the way that you overrode the dhall
dependency in your Nix expression and your dhall-json
package is being built against a version of dhall
that is version 1.8 or older. Another clue that this might be happening is that you had to jailbreak your dhall-json
which shouldn't be necessary if you are building against the correct version of dhall
.
Gabriel, I'm sorry, you're completely right -- I have got used to deep overrides so much I didn't notice the override I employed was shallow -- so the dhall
override was not taking effect for dhall-json
.
Thank you for bearing with me!
No problem :)
https://github.com/dhall-lang/dhall-json/blob/d6adaa265dcf8ab5899396b05d612b2d8092dca4/src/Dhall/JSON.hs#L173
This line yields an error, when compiled with the tip of
dhall-haskell
'smaster
: