aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRomain GARBAGE <romain.garbage@inria.fr>2024-07-22 13:28:22 +0200
committerRicardo Wurmus <rekado@elephly.net>2024-07-23 00:31:20 +0200
commitad97f1bdb67015cffe92adba3b94c3b3df576008 (patch)
treec3385a2c2177cdc4283db01f26bd3846a16b97bd
parent766ee5803e2727cd2dcda0225030a35a2a116661 (diff)
downloadguix-ad97f1bdb67015cffe92adba3b94c3b3df576008.tar
guix-ad97f1bdb67015cffe92adba3b94c3b3df576008.tar.gz
gnu: Add matterhorn.
* gnu/packages/haskell-apps.scm (matterhorn): New variable. Change-Id: I8f83b39fdc5f94251239129814068000fb492336
-rw-r--r--gnu/packages/haskell-apps.scm93
-rw-r--r--gnu/packages/haskell-crypto.scm18
2 files changed, 102 insertions, 9 deletions
diff --git a/gnu/packages/haskell-apps.scm b/gnu/packages/haskell-apps.scm
index 3fce4f803c..90047795c1 100644
--- a/gnu/packages/haskell-apps.scm
+++ b/gnu/packages/haskell-apps.scm
@@ -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")
diff --git a/gnu/packages/haskell-crypto.scm b/gnu/packages/haskell-crypto.scm
index ce53b0f122..7ea9cf1e12 100644
--- a/gnu/packages/haskell-crypto.scm
+++ b/gnu/packages/haskell-crypto.scm
@@ -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