From 7ebed0cdc8043852bed7f5ca639f16bac30cc124 Mon Sep 17 00:00:00 2001 From: Arun Isaac Date: Sun, 31 Oct 2021 01:55:13 +0530 Subject: gnu: Add weechat-matrix. * gnu/packages/messaging.scm (weechat-matrix): New variable. Signed-off-by: Efraim Flashner --- gnu/packages/messaging.scm | 69 +++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 68 insertions(+), 1 deletion(-) (limited to 'gnu/packages/messaging.scm') diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm index f591078920..ee9bbc71fd 100644 --- a/gnu/packages/messaging.scm +++ b/gnu/packages/messaging.scm @@ -9,7 +9,7 @@ ;;; Copyright © 2016 Andy Patterson ;;; Copyright © 2016, 2017, 2018, 2019 Clément Lassieur ;;; Copyright © 2017 Mekeor Melire -;;; Copyright © 2017, 2018, 2020 Arun Isaac +;;; Copyright © 2017, 2018, 2020, 2021 Arun Isaac ;;; Copyright © 2017–2021 Tobias Geerinckx-Rice ;;; Copyright © 2017 Theodoros Foradis ;;; Copyright © 2017, 2018, 2019 Rutger Helling @@ -2986,4 +2986,71 @@ API. Mattermost is not required.") (home-page "https://github.com/42wim/matterbridge") (license license:asl2.0))) +(define-public weechat-matrix + (package + (name "weechat-matrix") + (version "0.3.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/poljar/weechat-matrix") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1iv55n4k05139f7jzkhczgw4qp6qwilrvfsy3c6v2m1kxffj12d3")))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (delete 'build) + (replace 'install + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((weechat-python (string-append (assoc-ref outputs "out") + "/share/weechat/python"))) + ;; Avoid circular import by renaming the matrix module to + ;; weechat_matrix. + (substitute* (cons "main.py" + (append (find-files "matrix") + (find-files "tests"))) + (("from matrix") "from weechat_matrix") + (("import matrix") "import weechat_matrix")) + ;; Install python modules. + (invoke "make" "install-lib" + (string-append "INSTALLDIR=" + (site-packages inputs outputs) + "/weechat_matrix")) + ;; Extend PYTHONPATH to find installed python modules. + (add-installed-pythonpath inputs outputs) + ;; Augment sys.path so that dependencies are found. + (substitute* "main.py" + (("import os\n" all) + (apply string-append + all + "import sys\n" + (map (lambda (path) + (string-append "sys.path.append('" path "')\n")) + (string-split (getenv "PYTHONPATH") #\:))))) + ;; Install script. + (mkdir-p weechat-python) + (copy-file "main.py" + (string-append weechat-python "/matrix.py"))))) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "pytest"))))))) + (inputs + `(("python-matrix-nio" ,python-matrix-nio) + ("python-pygments" ,python-pygments) + ("python-pyopenssl" ,python-pyopenssl) + ("python-webcolors" ,python-webcolors))) + (native-inputs + `(("python-pytest" ,python-pytest))) + (home-page "https://github.com/poljar/weechat-matrix") + (synopsis "Weechat Matrix protocol script") + (description "@code{weechat-matrix} is a Python plugin for Weechat that lets +Weechat communicate over the Matrix protocol.") + (license license:isc))) + ;;; messaging.scm ends here -- cgit v1.2.3 From 2ebadb390e0798f39b597a7fb02a1926958a1c24 Mon Sep 17 00:00:00 2001 From: Arun Isaac Date: Sun, 31 Oct 2021 01:55:14 +0530 Subject: gnu: Add weechat-wee-slack. * gnu/packages/messaging.scm (weechat-wee-slack): New variable. Signed-off-by: Efraim Flashner --- gnu/packages/messaging.scm | 50 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) (limited to 'gnu/packages/messaging.scm') diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm index ee9bbc71fd..bdd0c29593 100644 --- a/gnu/packages/messaging.scm +++ b/gnu/packages/messaging.scm @@ -3053,4 +3053,54 @@ API. Mattermost is not required.") Weechat communicate over the Matrix protocol.") (license license:isc))) +(define-public weechat-wee-slack + (package + (name "weechat-wee-slack") + (version "2.8.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/wee-slack/wee-slack") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0xfklr0gsc9jgxfyrrb2j756lclz9g8imcb0pk0xgyj8mhsw23zk")))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (delete 'build) + (replace 'install + (lambda* (#:key inputs outputs #:allow-other-keys) + ;; Augment sys.path so that dependencies are found. + (substitute* "wee_slack.py" + (("import sys\n" all) + (apply string-append + all + (map (lambda (path) + (string-append "sys.path.append('" path "')\n")) + (string-split (getenv "PYTHONPATH") #\:))))) + ;; Install script. + (install-file "wee_slack.py" + (string-append (assoc-ref outputs "out") + "/share/weechat/python")))) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "pytest"))))))) + (inputs + `(("python-websocket-client" ,python-websocket-client))) + (native-inputs + `(("python-pytest" ,python-pytest))) + (home-page "https://github.com/wee-slack/wee-slack") + (synopsis "Weechat Slack script") + (description "@code{weechat-wee-slack} is a WeeChat native client for +Slack. It provides supplemental features only available in the web/mobile +clients such as synchronizing read markers, typing notification, threads (and +more)! It connects via the Slack API, and maintains a persistent websocket +for notification of events.") + (license license:expat))) + ;;; messaging.scm ends here -- cgit v1.2.3