sharlatan pushed a commit to branch go-team
in repository guix.

commit 2ba338b4d089847e5d7a4eeac35ad978da20bc15
Author: Sharlatan Hellseher <sharlata...@gmail.com>
AuthorDate: Thu Feb 13 13:55:42 2025 +0000

    gnu: Add go-maunium-net-go-mautrix.
    
    It was proposed in #62284 on <2023-03-20>.
    
    * gnu/packages/golang-web.scm (go-maunium-net-go-mautrix): New variable.
    
    Co-authored-by: conses <cont...@conses.eu>
    Co-authored-by: Miguel Ángel Moreno <m...@migalmoreno.com>
    Change-Id: Ic8bba620f3689451d23796495bebde2804c1f160
---
 gnu/packages/golang-web.scm | 92 +++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 92 insertions(+)

diff --git a/gnu/packages/golang-web.scm b/gnu/packages/golang-web.scm
index 157a83cdc1..7d5249793a 100644
--- a/gnu/packages/golang-web.scm
+++ b/gnu/packages/golang-web.scm
@@ -64,6 +64,7 @@
   #:use-module (guix git-download)
   #:use-module (guix utils)
   #:use-module (gnu packages)
+  #:use-module (gnu packages crypto)
   #:use-module (gnu packages golang)
   #:use-module (gnu packages golang-build)
   #:use-module (gnu packages golang-check)
@@ -9425,6 +9426,97 @@ but implement that subset with little to no assumption 
about the structure of
 the code or routes.")
     (license license:asl2.0)))
 
+(define-public go-maunium-net-go-mautrix
+  (package
+    (name "go-maunium-net-go-mautrix")
+    (version "0.22.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/mautrix/go";)
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "0msqbs3qc9ljckj41hgvp16p0sbfzm25wzldb68av9svimscwnmm"))))
+    (build-system go-build-system)
+    (arguments
+     (list
+      #:go go-1.23
+      #:import-path "maunium.net/go/mautrix"
+      #:embed-files
+      #~(list
+         ;; golang.org/x/net/publicsuffix/table.go:63:12: pattern
+         ;; data/children: cannot embed irregular file data/children
+         "children"
+         ;; golang.org/x/net/publicsuffix/table.go:48:12: pattern data/nodes:
+         ;; cannot embed irregular file data/nodes
+         "nodes"
+         ;; golang.org/x/net/publicsuffix/table.go:33:12: pattern data/text:
+         ;; cannot embed irregular file data/text
+         "text")
+    #:test-flags
+    #~(list "-skip" (string-join
+                     ;; Network access is required for the tets.
+                     (list "TestClient_Version"
+                           "TestResolveServerName/RM_Step_3B"
+                           "TestResolveServerName/RM_Step_3C"
+                           "TestResolveServerName/RM_Step_3C_MSC4040"
+                           "TestResolveServerName/RM_Step_3D"
+                           "TestResolveServerName/RM_Step_4"
+                           "TestResolveServerName/RM_Step_4_MSC4040"
+                           "TestResolveServerName/maunium")
+                     "|"))))
+    ;; XXX: The final application needs a "libolm" package.
+    (native-inputs
+     (list olm))
+    (propagated-inputs
+     (list go-filippo-io-edwards25519
+           go-github-com-chzyer-readline
+           go-github-com-gorilla-mux
+           go-github-com-gorilla-websocket
+           go-github-com-lib-pq
+           go-github-com-mattn-go-sqlite3
+           go-github-com-rs-xid
+           go-github-com-rs-zerolog
+           go-github-com-skip2-go-qrcode
+           go-github-com-stretchr-testify
+           go-github-com-tidwall-gjson
+           go-github-com-tidwall-sjson
+           go-github-com-yuin-goldmark
+           go-go-mau-fi-util
+           go-go-mau-fi-zeroconfig
+           go-golang-org-x-crypto
+           go-golang-org-x-exp
+           go-golang-org-x-net
+           go-golang-org-x-sync
+           go-gopkg-in-yaml-v3
+           go-maunium-net-go-mauflag))
+    (home-page "https://maunium.net/go/mautrix";)
+    (synopsis "Golang Matrix framework")
+    (description
+     "Package mautrix implements the Matrix Client-Server API and originated
+from @url{https://github.com/matrix-org/gomatrix}.
+
+Features:
+@itemize
+@item appservice support (Intent API like mautrix-python, room state storage,
+etc)
+@item end-to-end encryption support (incl. interactive SAS verification)
+@item high-level module for building puppeting bridges
+@item high-level module for building chat clients
+@item wrapper functions for the Synapse admin API
+@item structs for parsing event content
+@item helpers for parsing and generating Matrix HTML
+@item helpers for handling push rules
+@end itemize")
+    (license (list
+              ;; This project
+              license:mpl2.0
+              ;; Based on <https://github.com/matrix-org/gomatrix> project, no
+              ;; longer maintained since Feb 21, 2024.
+              license:asl2.0))))
+
 (define-public go-modernc-org-httpfs
   (package
     (name "go-modernc-org-httpfs")

Reply via email to