~ruther/guix-local

ad97f1bdb67015cffe92adba3b94c3b3df576008 — Romain GARBAGE 2 years ago 766ee58
gnu: Add matterhorn.

* gnu/packages/haskell-apps.scm (matterhorn): New variable.

Change-Id: I8f83b39fdc5f94251239129814068000fb492336
2 files changed, 102 insertions(+), 9 deletions(-)

M gnu/packages/haskell-apps.scm
M gnu/packages/haskell-crypto.scm
M gnu/packages/haskell-apps.scm => gnu/packages/haskell-apps.scm +93 -0
@@ 37,6 37,7 @@

(define-module (gnu packages haskell-apps)
  #:use-module (guix download)
  #:use-module (guix gexp)
  #:use-module (guix git-download)
  #:use-module (guix packages)
  #:use-module ((guix licenses) #:prefix license:)


@@ 682,6 683,98 @@ By operating at a lower level than most similar tools, it supports X11,
Wayland, and Linux console environments alike.")
      (license license:expat))))

(define-public matterhorn
  (package
    (name "matterhorn")
    (version "90000.0.0")
    (source
     (origin
       ;; use git repo instead of hackage URL because the hackage tarball
       ;; doesn't contain the sample config file
       (method git-fetch)
       (uri (git-reference
             (url "https://github.com/matterhorn-chat/matterhorn")
             (commit version)))
       (sha256
        (base32 "08ng5axranilvfl9j3v0mjgpg76kzacrqj4c8x6pblpc3yxx02i5"))))
    (build-system haskell-build-system)
    (properties '((upstream-name . "matterhorn")))
    (inputs (list ghc-aeson
                  ghc-aspell-pipe
                  ghc-async
                  ghc-base-compat
                  ghc-bimap
                  ghc-brick
                  ghc-brick-skylighting
                  ghc-commonmark
                  ghc-commonmark-extensions
                  ghc-config-ini
                  ghc-crypton-connection
                  ghc-data-clist
                  ghc-gitrev
                  ghc-hashable
                  ghc-hclip
                  ghc-mattermost-api
                  ghc-microlens-platform
                  ghc-network-uri
                  ghc-random
                  ghc-semigroups
                  ghc-skylighting-core
                  ghc-split
                  ghc-stm-delay
                  ghc-strict
                  ghc-temporary
                  ghc-text-zipper
                  ghc-timezone-olson
                  ghc-timezone-series
                  ghc-unix-compat-7
                  ghc-unordered-containers
                  ghc-utf8-string
                  ghc-uuid
                  ghc-vector
                  ghc-vty-6
                  ghc-vty-crossplatform
                  ghc-word-wrap
                  ghc-xdg-basedir))
    (native-inputs (list ghc-checkers
                         ghc-mattermost-api-qc
                         ghc-tasty
                         ghc-tasty-hunit
                         ghc-tasty-quickcheck
                         ghc-unique))
    (arguments
     (list
      #:phases
      #~(modify-phases %standard-phases
          (add-after 'unpack 'fix-requirements
            (lambda _
              (for-each (lambda (dep)
                          (substitute* "matterhorn.cabal"
                            (((string-append "(,\\s" dep
                                             "\\s*>=\\s[0-9].[0-9]).*")
                              all pat)
                             pat)))
                        (list "random"
                              "data-clist"
                              "semigroups"
                              "word-wrap"
                              "unix-compat"
                              "skylighting-core"
                              "checkers"
                              "vty"
                              "vty-crossplatform"
                              "brick"))))
          (add-after 'install 'install-config-file
            (lambda _
              (install-file "./docs/sample-config.ini"
                            (string-append #$output "/share/doc/"
                                           #$name "-" #$version "/etc/")))))))
    (home-page "https://hackage.haskell.org/package/matterhorn")
    (synopsis "Terminal client for the Mattermost chat system")
    (description
     "This is a terminal client for the Mattermost chat system.")
    (license license:bsd-3)))

(define-public nixfmt
  (package
    (name "nixfmt")

M gnu/packages/haskell-crypto.scm => gnu/packages/haskell-crypto.scm +9 -9
@@ 884,16 884,16 @@ extensions.")
                  ghc-unix-time
                  ghc-network))
    (native-inputs (list ghc-tasty ghc-tasty-quickcheck ghc-quickcheck))
    (home-page "http://github.com/vincenthz/hs-tls")
    (synopsis "TLS/SSL protocol native implementation (Server and Client)")
    (home-page "https://github.com/haskell-tls/hs-tls")
    (synopsis "TLS/SSL protocol native implementation (server and client)")
    (description
     "Native Haskell TLS and SSL protocol implementation for server and client.
This provides a high-level implementation of a sensitive security protocol,
eliminating a common set of security issues through the use of the advanced
type system, high level constructions and common Haskell features.  Currently
implement the SSL3.0, TLS1.0, TLS1.1 and TLS1.2 protocol, and support RSA and
Ephemeral (Elliptic curve and regular) Diffie Hellman key exchanges, and many
extensions.")
     "This package provides a native Haskell TLS and SSL protocol
implementation for server and client.  It provides a high-level implementation
of a sensitive security protocol, eliminating a common set of security issues
through the use of the advanced type system, high level constructions and
common Haskell features.  It currently implements the SSL3.0, TLS1.0, TLS1.1
and TLS1.2 protocol, and supports RSA and Ephemeral (Elliptic curve and
regular) Diffie Hellman key exchanges, and many extensions.")
    (license license:bsd-3)))

(define-public ghc-hsopenssl