gnu: Add matterhorn.

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

Change-Id: I8f83b39fdc5f94251239129814068000fb492336
This commit is contained in:
Romain GARBAGE 2024-07-22 13:28:22 +02:00 committed by Ricardo Wurmus
parent 766ee5803e
commit ad97f1bdb6
No known key found for this signature in database
GPG key ID: 197A5888235FACAC
2 changed files with 102 additions and 9 deletions

View file

@ -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 @@ (define-public kmonad
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")

View file

@ -884,16 +884,16 @@ (define-public ghc-tls-1.9
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