From ad97f1bdb67015cffe92adba3b94c3b3df576008 Mon Sep 17 00:00:00 2001 From: Romain GARBAGE Date: Mon, 22 Jul 2024 13:28:22 +0200 Subject: [PATCH] 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