rocmPackages.llvm.libcxx: fix build by disabling test (#375850)
[NixPkgs.git] / pkgs / build-support / dhall / to-nix.nix
blobe7e9c86b82dd2990d4f270837f2238a54cdfdaa1
1 /*
2   `dhallToNix` is a utility function to convert expressions in the Dhall
3    configuration language to their corresponding Nix expressions.
5    Example:
6      dhallToNix "{ foo = 1, bar = True }"
7      => { foo = 1; bar = true; }
8      dhallToNix "λ(x : Bool) → x == False"
9      => x : x == false
10      dhallToNix "λ(x : Bool) → x == False" false
11      => true
13    See https://hackage.haskell.org/package/dhall-nix/docs/Dhall-Nix.html for
14    a longer tutorial
16    Note that this uses "import from derivation", meaning that Nix will perform
17    a build during the evaluation phase if you use this `dhallToNix` utility
20   stdenv,
21   dhall-nix,
22   writeText,
25 let
26   dhallToNix =
27     code:
28     let
29       file = writeText "dhall-expression" code;
31       drv = stdenv.mkDerivation {
32         name = "dhall-compiled.nix";
34         buildCommand = ''
35           dhall-to-nix <<< "${file}" > $out
36         '';
38         buildInputs = [ dhall-nix ];
39       };
41     in
42     import drv;
44 dhallToNix