aboutsummaryrefslogtreecommitdiff
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2020 John Soo <jsoo1@asu.edu>
;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.

(define-module (gnu packages dhall)
  #:use-module (gnu packages)
  #:use-module (gnu packages haskell-xyz)
  #:use-module (gnu packages haskell-check)
  #:use-module (gnu packages haskell-crypto)
  #:use-module (gnu packages haskell-web)
  #:use-module (guix download)
  #:use-module (guix build-system haskell)
  #:use-module ((guix licenses) #:prefix license:)
  #:use-module (guix packages))

(define-public dhall
  (package
    (name "dhall")
    (version "1.41.2")
    (source (origin
              (method url-fetch)
              (uri (hackage-uri "dhall" version))
              (sha256
               (base32
                "14m5rrvkid76qnvg0l14xw1mnqclhip3gjrz20g1lp4fd5p056ka"))))
    (build-system haskell-build-system)
    (properties '((upstream-name . "dhall")))
    (inputs (list ghc-aeson
                  ghc-aeson-pretty
                  ghc-ansi-terminal
                  ghc-atomic-write
                  ghc-base16-bytestring
                  ghc-case-insensitive
                  ghc-cborg
                  ghc-cborg-json
                  ghc-contravariant
                  ghc-data-fix
                  ghc-diff
                  ghc-dotgen
                  ghc-either
                  ghc-half
                  ghc-hashable
                  ghc-indexed-traversable
                  ghc-lens-family-core
                  ghc-megaparsec
                  ghc-mmorph
                  ghc-network-uri
                  ghc-optparse-applicative
                  ghc-parsers
                  ghc-parser-combinators
                  ghc-prettyprinter
                  ghc-prettyprinter-ansi-terminal
                  ghc-pretty-simple
                  ghc-profunctors
                  ghc-repline
                  ghc-serialise
                  ghc-scientific
                  ghc-text-manipulate
                  ghc-text-short
                  ghc-th-lift-instances
                  ghc-unordered-containers
                  ghc-uri-encode
                  ghc-vector
                  ghc-cryptohash-sha256
                  ghc-http-types
                  ghc-http-client
                  ghc-http-client-tls))
    (native-inputs (list ghc-foldl
                         ghc-generic-random
                         ghc-quickcheck
                         ghc-quickcheck-instances
                         ghc-special-values
                         ghc-spoon
                         ghc-system-filepath
                         ghc-tasty
                         ghc-tasty-expected-failure
                         ghc-tasty-hunit
                         ghc-tasty-quickcheck
                         ghc-tasty-silver
                         ghc-temporary
                         ghc-turtle
                         ghc-mockery
                         ghc-doctest))
    (arguments
     `(#:tests? #f ; Tries to access httpbin.org
       #:cabal-revision ("4"
                         "0innb3cn98ynb8bd83jdyrm64ij7wcvajg5qcwzdwbyzpr62anfx")))
    (home-page "http://hackage.haskell.org/package/dhall")
    (synopsis "Configuration language guaranteed to terminate")
    (description
     "Dhall is an explicitly typed configuration language that is not Turing
complete.  Despite being Turing incomplete, Dhall is a real programming
language with a type-checker and evaluator.

Use this library to parse, type-check, evaluate, and pretty-print the Dhall
configuration language.  This package also includes an executable which
type-checks a Dhall file and reduces the file to a fully evaluated normal
form.")
    (license license:bsd-3)))
services/cuirass.scm?id=56a93cb975ddc33d50183fb122e2aafda026f18e'>services: Use 'file-append' for user account shells....* gnu/services/cuirass.scm (cuirass-account): Use 'file-append' instead of #~(string-append #$shadow "/sbin/nologin"). * gnu/services/monitoring.scm (zabbix-server-account): Likewise. (zabbix-agent-account): Likewise. * gnu/services/rsync.scm (rsync-account): Likewise. * gnu/services/ssh.scm (%openssh-accounts): Likewise. Ludovic Courtès 2018-11-07services: cuirass: Add 'ttl' configuration field....* gnu/services/cuirass.scm (<cuirass-configuration>)[ttl]: New field. (cuirass-shepherd-service): Honor it. Ludovic Courtès 2018-08-16services: cuirass: Put data in /var/lib to avoid removal at boot....Fixes <https://bugs.gnu.org/32330>. * gnu/services/cuirass.scm (<cuirass-configuration>)[database]: Change default from /var/run/cuirass/cuirass.db to /var/lib/cuirass/cuirass.db. (cuirass-account): Change home directory from /var/run/<user> to /var/lib/<user>. Clément Lassieur 2018-07-16services: cuirass: Remove the LOAD-PATH option....* gnu/services/cuirass.scm (<cuirass-configuration>, cuirass-shepherd-service): Remove the LOAD-PATH option. Clément Lassieur 2018-06-22services: cuirass: Add description....* gnu/services/cuirass.scm (cuirass-service-type): Add description. Ricardo Wurmus 2018-06-20services: Fix GPLv3 header in cuirass and pm modules....* gnu/services/cuirass.scm, gnu/services/pm.scm: Adjust to canonical GPLv3 header used throughout Guix. Signed-off-by: Leo Famulari <leo@famulari.name> Nils Gillmann 2017-09-26services: cuirass: Add host option....* gnu/services/cuirass.scm (<cuirass-configuration>): Add host option. (cuirass-shepherd-service): Pass host option. * doc/guix.texi (Continuous Integration): Document it. Jan Nieuwenhuizen 2017-09-13gnu: cuirrass: Default port to 8081....* gnu/services/cuirass.scm (<cuirass-configuration>): Default port to 8081. Fixes conflict with guix-publish default. * doc/guix.texi (Continuous Integration): Update. Jan Nieuwenhuizen 2017-07-30services: cuirass: Set 'GIT_SSL_CAINFO' and 'GIT_EXEC_PATH'....Reported by Ricardo Wurmus. * gnu/services/cuirass.scm (cuirass-shepherd-service): Pass #:environment-variables. Ludovic Courtès 2017-07-21services: cuirass: Add fallback parameter....* gnu/services/cuirass.scm (<cuirass-configuration>)[fallback?]: New field. (cuirass-shepherd-service): Take it into account. * doc/guix.texi (Continuous Integration): Document it. Mathieu Othacehe 2017-06-12services: cuirass: Extend rottlog with log rotations....* gnu/services/cuirass.scm (cuirass-log-rotations): New procedure. (cuirass-service-type): Use it to extend ROTTLOG-SERVICE-TYPE. Ludovic Courtès 2017-04-05services: cuirass: Wait for networking....* gnu/services/cuirass.scm (cuirass-shepherd-service): Add 'networking' to 'requirements'. Ludovic Courtès 2017-02-02services: cuirass: Add load-path to cuirass configuration...* gnu/services/cuirass.scm (<cuirass-configuration>): Add load-path field. (cuirass-shepherd-service): Honor it. * doc/guix.texi (Continuous Integration): Document it. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Mathieu Othacehe 2017-01-22services: cuirass: Add port to cuirass configuration...* gnu/services/cuirass.scm (<cuirass-configuration>): Add port field. (cuirass-shepherd-service): Honor it. * doc/guix.texi (Continuous Integration): Document it. Signed-off-by: Mathieu Lirzin <mthl@gnu.org> Mathieu Othacehe 2017-01-01services: cuirass: Remove 'cuirass-service' procedure....* gnu/services/cuirass.scm (<cuirass-configuration>)[specifications]: Remove default value. (cuirass-service): Remove. * doc/guix.texi (Continuous Integration): Adjust accordingly. Ludovic Courtès 2017-01-01services: cuirass: Allow for gexps in specifications....* gnu/services/cuirass.scm (<cuirass-configuration>)[specifications]: Change default value to #~'(). (cuirass-shepherd-service): Remove conditional for "--specifications". Use 'scheme-file' instead of 'plain-file'. Change file name to "cuirass-specs.scm". * doc/guix.texi (Continuous Integration): Change the example to use a gexp where #:file refers to a file within Cuirass. Adjust documentation. Ludovic Courtès 2016-12-20services: cuirass: Add Cuirass to the system profile....* gnu/services/cuirass.scm (cuirass-service-type): Extend PROFILE-SERVICE-TYPE. Ludovic Courtès 2016-12-20services: cuirass: Add 'cuirass' field....* gnu/services/cuirass.scm (<cuirass-configuration>)[cuirass]: New field. (cuirass-shepherd-service): Honor it. * doc/guix.texi (Continuous Integration): Document it. Ludovic Courtès 2016-12-20services: cuirass: Create the database directory....* gnu/services/cuirass.scm (cuirass-activation): Create the database directory for CONFIG. Ludovic Courtès 2016-12-19services: cuirass: Cache defaults to /var/cache/cuirass....The previous default value depended on the 'HOME' environment variable, which happened to be unset. Thus, /.cache was being used. * gnu/services/cuirass.scm (<cuirass-configuration>)[cache-directory]: Change default value to "/var/cache/cuirass". (cuirass-shepherd-service): Always pass "--cache-directory". (cuirass-activation): New procedure. (cuirass-service-type): Use it as an extension to ACTIVATION-SERVICE-TYPE. * doc/guix.texi (Continuous Integration): Adjust accordingly. Ludovic Courtès 2016-12-19services: cuirass: Honor 'user' and 'group'....* gnu/services/cuirass.scm (cuirass-shepherd-service): Pass the user and group of CONFIG to 'make-forkexec-constructor'. Ludovic Courtès 2016-12-19services: cuirass: Add 'log-file' option....* gnu/services/cuirass.scm (<cuirass-configuration>)[log-file]: New field. (cuirass-shepherd-service): Pass it to 'make-forkexec-constructor'. Ludovic Courtès 2016-12-15services: cuirass: Put specifications in the store....* gnu/services/cuirass.scm (<cuirass-configuration>): Change type of 'specifications' field to an alist to match the documentation example. (cuirass-shepherd-service): Store the provided specifications in a file. Use that file as the "--specification" argument. Mathieu Lirzin 2016-11-29services: Add 'cuirass-service'....* gnu/services/cuirass.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. * doc/guix.texi (Continuous integration): New node. Mathieu Lirzin