guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

01/04: gnu: Extract prosody-module from existing prosody modules.


From: guix-commits
Subject: 01/04: gnu: Extract prosody-module from existing prosody modules.
Date: Sat, 2 Mar 2024 07:59:34 -0500 (EST)

lilyp pushed a commit to branch master
in repository guix.

commit bca48fdef48150a3c4e96e3941feb1986ea3e631
Author: Carlo Zancanaro <carlo@zancanaro.id.au>
AuthorDate: Sat Mar 2 22:35:12 2024 +1100

    gnu: Extract prosody-module from existing prosody modules.
    
    * gnu/packages/messaging.scm (prosody-module): New procedure.
    (prosody-http-upload, prosody-smacks): Use it.
    
    Change-Id: I55c69104460adbbd89c491b18f9f22681aefb92a
    Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
---
 gnu/packages/messaging.scm | 69 +++++++++++++++++++---------------------------
 1 file changed, 29 insertions(+), 40 deletions(-)

diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index 98c1c9bf67..35e11fb5dc 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -40,6 +40,7 @@
 ;;; Copyright © 2023 Giacomo Leidi <goodoldpaul@autistici.org>
 ;;; Copyright © 2023 Yovan Naumovski <yovan@gorski.stream>
 ;;; Copyright © 2023 gemmaro <gemmaro.dev@gmail.com>
+;;; Copyright © 2024 Carlo Zancanaro <carlo@zancanaro.id.au>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -1577,11 +1578,18 @@ system on which to rapidly develop added functionality, 
or prototype new
 protocols.")
     (license license:x11)))
 
-(define-public prosody-http-upload
+(define (prosody-module module-name)
   (let ((changeset "765735bb590b")
-        (revision "1"))
+        (revision "1")
+        (package-name (string-append
+                       "prosody-"
+                       (string-replace-substring
+                        (if (string-prefix? "mod_" module-name)
+                            (substring module-name 4)
+                            module-name)
+                        "_" "-"))))
     (package
-      (name "prosody-http-upload")
+      (name package-name)
       (version (string-append "0-" revision "." (string-take changeset 7)))
       (source (origin
                 (method hg-fetch)
@@ -1600,47 +1608,28 @@ protocols.")
            (use-modules (guix build utils))
            (let ((out (assoc-ref %outputs "out"))
                  (source (assoc-ref %build-inputs "source")))
-             (with-directory-excursion (in-vicinity source "mod_http_upload")
-               (install-file "mod_http_upload.lua" out))
+             (with-directory-excursion (in-vicinity source module-name)
+               (install-file (string-append module-name ".lua") out))
              #t))))
-      (home-page "https://modules.prosody.im/mod_http_upload.html";)
-      (synopsis "XEP-0363: Allow clients to upload files over HTTP")
-      (description "This module implements XEP-0363: it allows clients to
-upload files over HTTP.")
+      (home-page #f)
+      (synopsis #f)
+      (description #f)
       (license (package-license prosody)))))
 
-(define-public prosody-smacks
-  (let ((changeset "67f1d1f22625")
-        (revision "1"))
-    (package
-      (name "prosody-smacks")
-      (version (string-append "0-" revision "." (string-take changeset 7)))
-      (source (origin
-                (method hg-fetch)
-                (uri (hg-reference
-                      (url "https://hg.prosody.im/prosody-modules/";)
-                      (changeset changeset)))
-                (file-name (string-append name "-" version "-checkout"))
-                (sha256
-                 (base32
-                  "020ngpax30fgarah98yvlj0ni8rcdwq60if03a9hqdw8mic0nxxs"))))
-      (build-system trivial-build-system)
-      (arguments
-       '(#:modules ((guix build utils))
-         #:builder
-         (begin
-           (use-modules (guix build utils))
-           (let ((out (assoc-ref %outputs "out"))
-                 (source (assoc-ref %build-inputs "source")))
-             (with-directory-excursion (in-vicinity source "mod_smacks")
-               (install-file "mod_smacks.lua" out))
-             #t))))
-      (home-page "https://modules.prosody.im/mod_smacks.html";)
-      (synopsis "XEP-0198: Reliability and fast reconnects for XMPP")
-      (description "This module implements XEP-0198: when supported by both
+(define-public prosody-http-upload
+  (package
+    (inherit (prosody-module "mod_http_upload"))
+    (synopsis "XEP-0363: Allow clients to upload files over HTTP")
+    (description "This module implements XEP-0363: it allows clients to
+upload files over HTTP.")))
+
+(define-public prosody-smack
+  (package
+    (inherit (prosody-module "mod_smacks"))
+    (synopsis "XEP-0198: Reliability and fast reconnects for XMPP")
+    (description "This module implements XEP-0198: when supported by both
 the client and server, it can allow clients to resume a disconnected session,
-and prevent message loss.")
-      (license (package-license prosody)))))
+and prevent message loss.")))
 
 (define-public libtoxcore
   (let ((revision "2")



reply via email to

[Prev in Thread] Current Thread [Next in Thread]