(address . guix-patches@gnu.org)(address . dannym@scratchpost.org)
Hello Guix!
Please find the attached patches to add Poezio into Guix.
Regards,
RG.
From 460621aba2789d2986649d9a5dcc159aa48d4b6e Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Fri, 11 Sep 2020 11:23:35 -0400
Subject: [PATCH 1/3] gnu: Add python-slixmpp.
* gnu/packages/python-xyz.scm (python-slixmpp): New variable.
---
gnu/packages/python-xyz.scm | 69 +++++++++++++++++++++++--------------
1 file changed, 43 insertions(+), 26 deletions(-)
Toggle diff (99 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index ff8fc55aed..305f16993a 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -123,6 +123,7 @@
#:use-module (gnu packages gl)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
+ #:use-module (gnu packages gnupg)
#:use-module (gnu packages graphviz)
#:use-module (gnu packages graphics)
#:use-module (gnu packages gsasl)
@@ -134,6 +135,7 @@
#:use-module (gnu packages kerberos)
#:use-module (gnu packages libevent)
#:use-module (gnu packages libffi)
+ #:use-module (gnu packages libidn)
#:use-module (gnu packages linux)
#:use-module (gnu packages llvm)
#:use-module (gnu packages man)
@@ -188,35 +190,50 @@
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-26))
-(define-public python-tenacity
+(define-public python-slixmpp
(package
- (name "python-tenacity")
- (version "6.1.0")
- (source (origin
- (method url-fetch)
- (uri (pypi-uri "tenacity" version))
- (sha256
- (base32
- "1j36v9fcpmmd4985ix0cwnvcq71rkrn5cjiiv0id9vkl4kpxh0gv"))))
+ (name "python-slixmpp")
+ (version "1.5.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://lab.louiz.org/poezio/slixmpp.git")
+ (commit
+ (string-append "slix-" version))))
+ (file-name
+ (git-file-name name version))
+ (sha256
+ (base32 "15mqxcws14bjvh5jcfwl86zsvrymkdw3ya07vb44md7vfnsnclwx"))))
(build-system python-build-system)
- (native-inputs
- `(("python-setuptools-scm" ,python-setuptools-scm)
- ("python-sphinx" ,python-sphinx)
- ("python-tornado" ,python-tornado)
- ("python-pytest" ,python-pytest)))
- (propagated-inputs
- `(("python-six" ,python-six)))
(arguments
- `(#:phases (modify-phases %standard-phases
- (replace 'check
- (lambda _
- (invoke "pytest")
- #t)))))
- (home-page "https://github.com/jd/tenacity")
- (synopsis "Retrying library for python")
- (description "Tenacity is a general-purpose python library to simplify the
-task of adding retry behavior to just about anything.")
- (license license:asl2.0)))
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch
+ (lambda _
+ (substitute* "setup.py"
+ (("'CC', 'cc'")
+ "'CC', 'gcc'"))
+ #t)))))
+ (native-inputs
+ `(("gnupg" ,gnupg)
+ ("pkg-config" ,pkg-config)))
+ (inputs
+ `(("aiodns" ,python-aiodns)
+ ("aiohttp" ,python-aiohttp)
+ ("cython" ,python-cython)
+ ("libidn" ,libidn)
+ ("pyasn1" ,python-pyasn1)
+ ("pyasn1-modules" ,python-pyasn1-modules)
+ ("python" ,python)))
+ (synopsis "XMPP Library")
+ (description "Slixmpp is a XMPP library for Python 3.7+. It is a fork of
+SleekXMPP. Its goal is to only rewrite the core of the library (the low level
+socket handling, the timers, the events dispatching) in order to remove all
+threads.")
+ (home-page "https://lab.louiz.org/poezio/slixmpp")
+ (license license:expat)))
(define-public python-colorlog
(package
--
2.28.0
From ae59dca506da9faa5be69ba65bc3a70c14f64267 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Fri, 11 Sep 2020 12:45:24 -0400
Subject: [PATCH 2/3] gnu: Add python-potr.
* gnu/packages/python-crypto.scm (python-potr): New variable.
---
gnu/packages/python-crypto.scm | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)
Toggle diff (37 lines)
diff --git a/gnu/packages/python-crypto.scm b/gnu/packages/python-crypto.scm
index 76f2ba18e1..cfc64e4b45 100644
--- a/gnu/packages/python-crypto.scm
+++ b/gnu/packages/python-crypto.scm
@@ -64,6 +64,30 @@
#:use-module ((guix licenses) #:prefix license:)
#:use-module (srfi srfi-1))
+(define-public python-potr
+ (package
+ (name "python-potr")
+ (version "1.0.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://github.com/python-otr/pure-python-otr.git")
+ (commit version)))
+ (file-name
+ (git-file-name name version))
+ (sha256
+ (base32 "1hzw6h01fm216nmipyylgz0zybd80w1xsk12m7djycnhqrnrvvv1"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("pycrypto" ,python-pycrypto)))
+ (synopsis "Python OTR Implementation")
+ (description "Python OTR is an Off-The-Record Protocol Implementation in
+Python. It does not bind to libotr.")
+ (home-page "https://github.com/python-otr/pure-python-otr")
+ (license license:lgpl3)))
+
(define-public python-base58
(package
(name "python-base58")
--
2.28.0
From 0945fb6c1e784dbdf8e62f5034316594bf7564b6 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Fri, 11 Sep 2020 14:04:08 -0400
Subject: [PATCH 3/3] gnu: Add poezio.
* gnu/packages/messaging.scm (poezio): New variable.
---
gnu/packages/messaging.scm | 59 ++++++++++++++++++++++++++++++++++++++
1 file changed, 59 insertions(+)
Toggle diff (86 lines)
diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index 1cb9c01942..ae9f73dcb7 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -80,6 +80,7 @@
#:use-module (gnu packages lua)
#:use-module (gnu packages man)
#:use-module (gnu packages markup)
+ #:use-module (gnu packages mpd)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages networking)
#:use-module (gnu packages pcre)
@@ -94,6 +95,7 @@
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages qt)
#:use-module (gnu packages readline)
+ #:use-module (gnu packages sphinx)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages tcl)
#:use-module (gnu packages texinfo)
@@ -120,6 +122,63 @@
#:use-module (guix packages)
#:use-module (guix utils))
+(define-public poezio
+ (package
+ (name "poezio")
+ (version "0.13.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://lab.louiz.org/poezio/poezio.git")
+ (commit
+ (string-append "v" version))))
+ (file-name
+ (git-file-name name version))
+ (sha256
+ (base32 "041y61pcbdb86s04qwp8s1g6bp84yskc7vdizwpi2hz18y01x5fy"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch
+ (lambda _
+ (substitute* "setup.py"
+ (("'CC', 'cc'")
+ "'CC', 'gcc'"))
+ #t)))))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)
+ ("setuptools" ,python-setuptools)
+ ("sphinx" ,python-sphinx)))
+ (inputs
+ `(("aiodns" ,python-aiodns)
+ ("aiohttp" ,python-aiohttp)
+ ("cython" ,python-cython)
+ ("mpd2" ,python-mpd2)
+ ("potr" ,python-potr)
+ ("pyasn1" ,python-pyasn1)
+ ("pyasn1-modules" ,python-pyasn1-modules)
+ ("pycares" ,python-pycares)
+ ("pygments" ,python-pygments)
+ ("pyinotify" ,python-pyinotify)
+ ("python" ,python)
+ ("qrcode" ,python-qrcode)
+ ("slixmpp" ,python-slixmpp)))
+ (synopsis "Console Jabber/XMPP Client")
+ (description "Poezio is a free console XMPP client (the protocol on which
+the Jabber IM network is built).
+Its goal is to let you connect very easily (no account creation needed) to the
+network and join various chatrooms, immediately. It tries to look like the
+most famous IRC clients (weechat, irssi, etc). Many commands are identical and
+you won't be lost if you already know these clients. Configuration can be
+made in a configuration file or directly from the client.
+You'll find the light, fast, geeky and anonymous spirit of IRC while using a
+powerful, standard and open protocol.")
+ (home-page "https://poez.io/en/")
+ (license license:zlib)))
+
(define-public libotr
(package
(name "libotr")
--
2.28.0