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>
This commit is contained in:
Carlo Zancanaro 2024-03-02 22:35:12 +11:00 committed by Liliana Marie Prikler
parent 4a0549be52
commit bca48fdef4
No known key found for this signature in database
GPG Key ID: 442A84B8C70E2F87
1 changed files with 29 additions and 40 deletions

View File

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