gnu: sssd: Update to 2.7.4.
[jackhill/guix/guix.git] / gnu / packages / dhall.scm
1 ;;; Copyright © 2020 John Soo <jsoo1@asu.edu>
2 ;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr>
3 ;;;
4 ;;; This file is part of GNU Guix.
5 ;;;
6 ;;; GNU Guix is free software; you can redistribute it and/or modify it
7 ;;; under the terms of the GNU General Public License as published by
8 ;;; the Free Software Foundation; either version 3 of the License, or (at
9 ;;; your option) any later version.
10 ;;;
11 ;;; GNU Guix is distributed in the hope that it will be useful, but
12 ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
13 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 ;;; GNU General Public License for more details.
15 ;;;
16 ;;; You should have received a copy of the GNU General Public License
17 ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
18
19 (define-module (gnu packages dhall)
20 #:use-module (gnu packages)
21 #:use-module (gnu packages haskell-xyz)
22 #:use-module (gnu packages haskell-check)
23 #:use-module (gnu packages haskell-crypto)
24 #:use-module (gnu packages haskell-web)
25 #:use-module (guix download)
26 #:use-module (guix build-system haskell)
27 #:use-module ((guix licenses) #:prefix license:)
28 #:use-module (guix packages))
29
30 (define-public dhall
31 (package
32 (name "dhall")
33 (version "1.39.0")
34 (source
35 (origin
36 (method url-fetch)
37 (uri (string-append "https://hackage.haskell.org/package/dhall/dhall-"
38 version ".tar.gz"))
39 (sha256
40 (base32 "1by2d84fbckspczddl4npfsf89q6nprmbg0i5g8yr1psp0fpl4ab"))))
41 (build-system haskell-build-system)
42 (inputs
43 (list ghc-aeson
44 ghc-aeson-pretty
45 ghc-ansi-terminal
46 ghc-atomic-write-0.2.0.7
47 ghc-case-insensitive
48 ghc-cborg
49 ghc-cborg-json
50 ghc-contravariant
51 ghc-data-fix
52 ghc-diff
53 ghc-dotgen
54 ghc-either
55 ghc-exceptions
56 ghc-half
57 ghc-hashable
58 ghc-lens-family-core
59 ghc-megaparsec
60 ghc-memory
61 ghc-mmorph
62 ghc-network-uri
63 ghc-optparse-applicative
64 ghc-parsers
65 ghc-parser-combinators
66 ghc-prettyprinter
67 ghc-prettyprinter-ansi-terminal
68 ghc-pretty-simple
69 ghc-profunctors
70 ghc-pretty-simple
71 ghc-repline
72 ghc-serialise
73 ghc-scientific
74 ghc-text-manipulate
75 ghc-th-lift-instances
76 ghc-transformers-compat
77 ghc-unordered-containers
78 ghc-uri-encode
79 ghc-vector
80 ghc-cryptonite
81 ghc-http-types
82 ghc-http-client
83 ghc-http-client-tls))
84 (native-inputs
85 (list ghc-foldl
86 ghc-generic-random-1.3.0.1
87 ghc-quickcheck
88 ghc-quickcheck-instances
89 ghc-semigroups
90 ghc-special-values
91 ghc-spoon
92 ghc-tasty
93 ghc-tasty-expected-failure
94 ghc-tasty-hunit
95 ghc-tasty-quickcheck
96 ghc-tasty-silver
97 ghc-turtle
98 ghc-mockery
99 ghc-doctest))
100 (arguments
101 `(#:phases
102 (modify-phases %standard-phases
103 (add-after 'unpack 'remove-network-tests
104 (lambda _
105 (with-directory-excursion "dhall-lang/tests"
106 (for-each
107 delete-file
108 '("import/success/customHeadersA.dhall"
109 "import/success/noHeaderForwardingA.dhall"
110 "import/success/unit/RemoteAsTextA.dhall"
111 "import/success/unit/SimpleRemoteA.dhall"
112 "import/success/unit/asLocation/RemoteChain1A.dhall"
113 "import/success/unit/asLocation/RemoteChain2A.dhall"
114 "import/success/unit/asLocation/RemoteChain3A.dhall"
115 "import/success/unit/asLocation/RemoteChainEnvA.dhall"
116 "import/success/unit/asLocation/RemoteChainMissingA.dhall"
117 "type-inference/success/CacheImportsA.dhall"
118 "type-inference/success/CacheImportsCanonicalizeA.dhall")))
119 (substitute* "src/Dhall/Tutorial.hs"
120 (((string-append
121 "-- >>> input auto "
122 "\"https://raw.githubusercontent.com/dhall-lang"
123 "/dhall-haskell/18e4e9a18dc53271146df3ccf5b4177c3552236b/"
124 "examples/True\" :: IO Bool"))
125 "")
126 (((string-append
127 "-- >>> input auto "
128 "\"False == "
129 "https://raw.githubusercontent.com/dhall-lang"
130 "/dhall-haskell/18e4e9a18dc53271146df3ccf5b4177c3552236b/"
131 "examples/True\" :: IO Bool"))
132 ""))
133 #t)))))
134 (home-page "https://dhall-lang.org/")
135 (synopsis "Configuration language guaranteed to terminate")
136 (description
137 "Dhall is an explicitly typed configuration language that is not Turing
138 complete. Despite being Turing incomplete, Dhall is a real programming
139 language with a type-checker and evaluator.
140
141 Use this library to parse, type-check, evaluate, and pretty-print the Dhall
142 configuration language. This package also includes an executable which
143 type-checks a Dhall file and reduces the file to a fully evaluated normal
144 form.")
145 (license license:bsd-3)))