rekado pushed a commit to branch master
in repository guix.

commit ad97f1bdb67015cffe92adba3b94c3b3df576008
Author: Romain GARBAGE <[email protected]>
AuthorDate: Mon Jul 22 13:28:22 2024 +0200

    gnu: Add matterhorn.
    
    * gnu/packages/haskell-apps.scm (matterhorn): New variable.
    
    Change-Id: I8f83b39fdc5f94251239129814068000fb492336
---
 gnu/packages/haskell-apps.scm   | 93 +++++++++++++++++++++++++++++++++++++++++
 gnu/packages/haskell-crypto.scm | 18 ++++----
 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

Reply via email to