all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Ricardo Wurmus <rekado@elephly.net>
To: guix-devel <guix-devel@gnu.org>
Subject: [PATCH] Add Gajim.
Date: Wed, 23 Sep 2015 21:55:38 +0200	[thread overview]
Message-ID: <87fv24q5ad.fsf@elephly.net> (raw)

[-- Attachment #1: Type: text/plain, Size: 317 bytes --]

Hi Guix,

this patch series adds the XMPP client Gajim.  PGP support only works
with the “classic” GnuPG (version 1.4).

I had to disable a few tests in pyOpenSSL and python-gnupg.  The vast
majority of the tests pass, though, and I’ve been using Gajim with GnuPG
successfully for almost two days.

~~ Ricardo


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-gnu-python-cffi-Update-to-1.2.1.patch --]
[-- Type: text/x-patch, Size: 1675 bytes --]

From da68312f5dfa26bf9d0bb93288b78c68c85c17ee Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <rekado@elephly.net>
Date: Mon, 21 Sep 2015 22:41:53 +0200
Subject: [PATCH 01/11] gnu: python-cffi: Update to 1.2.1.

* gnu/packages/python.scm (python-cffi): Update to 1.2.1.
  [native-inputs]: Add python-pytest.
  [arguments]: Enable tests.
---
 gnu/packages/python.scm | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 798a22f..9de366f 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -3390,14 +3390,14 @@ a front-end for C compilers or analysis tools.")
 (define-public python-cffi
   (package
     (name "python-cffi")
-    (version "0.8.6")
+    (version "1.2.1")
     (source
      (origin
       (method url-fetch)
       (uri (string-append "https://pypi.python.org/packages/source/c/"
                           "cffi/cffi-" version ".tar.gz"))
       (sha256
-       (base32 "0406j3sgndmx88idv5zxkkrwfqxmjl18pj8gf47nsg4ymzixjci5"))))
+       (base32 "0g8yfzinry1vsj6d1jlnd19338bh92lhhk207ksy4lm1n3g73dga"))))
     (build-system python-build-system)
     (outputs '("out" "doc"))
     (inputs
@@ -3407,10 +3407,10 @@ a front-end for C compilers or analysis tools.")
     (native-inputs
      `(("pkg-config" ,pkg-config)
        ("python-sphinx" ,python-sphinx)
+       ("python-pytest" ,python-pytest)
        ("python-setuptools" ,python-setuptools)))
     (arguments
-     `(#:tests? #f ; FIXME: requires pytest
-       #:phases
+     `(#:phases
        (alist-cons-after
         'install 'install-doc
         (lambda* (#:key outputs #:allow-other-keys)
-- 
2.5.0


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #3: 0002-gnu-Add-python-pyasn1.patch --]
[-- Type: text/x-patch, Size: 1479 bytes --]

From 8ba400c2392449095094613bd49de6c8dc750c62 Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <rekado@elephly.net>
Date: Mon, 21 Sep 2015 22:43:24 +0200
Subject: [PATCH 02/11] gnu: Add python-pyasn1.

* gnu/packages/python.scm (python-pyasn1, python2-pyasn1): New
  variables.
---
 gnu/packages/python.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 9de366f..40d31a7 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -4916,3 +4916,26 @@ printing of sub-tables by specifying a row range.")
 
 (define-public python2-prettytable
   (package-with-python2 python-prettytable))
+
+(define-public python-pyasn1
+  (package
+    (name "python-pyasn1")
+    (version "0.1.8")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://pypi.python.org/packages/source/p/"
+                           "pyasn1/pyasn1-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0iw31d9l0zwx35szkzq72hiw002wnqrlrsi9dpbrfngcl1ybwcsx"))))
+    (build-system python-build-system)
+    (home-page "http://pyasn1.sourceforge.net/")
+    (synopsis "ASN.1 types and codecs")
+    (description
+     "This is an implementation of ASN.1 types and codecs in Python.  It is
+suitable for a wide range of protocols based on the ASN.1 specification.")
+    (license bsd-2)))
+
+(define-public python2-pyasn1
+  (package-with-python2 python-pyasn1))
-- 
2.5.0


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #4: 0003-gnu-Add-python-ipaddress.patch --]
[-- Type: text/x-patch, Size: 1513 bytes --]

From b4c1ec4386cd6cde03cd616c1f34384cee99c74e Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <rekado@elephly.net>
Date: Mon, 21 Sep 2015 22:44:02 +0200
Subject: [PATCH 03/11] gnu: Add python-ipaddress.

* gnu/packages/python.scm (python-ipaddress, python2-ipaddress): New
  variables.
---
 gnu/packages/python.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 40d31a7..0f0a162 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -4939,3 +4939,27 @@ suitable for a wide range of protocols based on the ASN.1 specification.")
 
 (define-public python2-pyasn1
   (package-with-python2 python-pyasn1))
+
+(define-public python-ipaddress
+  (package
+    (name "python-ipaddress")
+    (version "1.0.14")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://pypi.python.org/packages/source/i/"
+                           "ipaddress/ipaddress-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0givid4963n57nsjibms2fc347zmcs188q1hw9al1dkc9kj4nvr2"))))
+    (build-system python-build-system)
+    (arguments `(#:tests? #f)) ; no tests
+    (home-page "https://github.com/phihag/ipaddress")
+    (synopsis "IP address manipulation library")
+    (description
+     "This is a port of the Python 3.3 ipaddress module to older versions of
+Python.")
+    (license psfl)))
+
+(define-public python2-ipaddress
+  (package-with-python2 python-ipaddress))
-- 
2.5.0


[-- Attachment #5: 0004-gnu-Add-python-idna.patch --]
[-- Type: text/x-patch, Size: 1843 bytes --]

From 1bb13ec51cc24f30b42df0a179d6ee59415235f4 Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <rekado@elephly.net>
Date: Mon, 21 Sep 2015 22:44:32 +0200
Subject: [PATCH 04/11] gnu: Add python-idna.

* gnu/packages/python.scm (python-idna, python2-idna): New variables.
---
 gnu/packages/python.scm | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 0f0a162..672c2c6 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -4963,3 +4963,33 @@ Python.")
 
 (define-public python2-ipaddress
   (package-with-python2 python-ipaddress))
+
+(define-public python-idna
+  (package
+    (name "python-idna")
+    (version "2.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://pypi.python.org/packages/source/i/"
+                           "idna/idna-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0frxgmgi234lr9hylg62j69j4ik5zhg0wz05w5dhyacbjfnrl68n"))))
+    (build-system python-build-system)
+    (native-inputs
+     `(("python-setuptools" ,python-setuptools)))
+    (home-page "https://github.com/kjd/idna")
+    (synopsis "Internationalized domain names in applications")
+    (description
+     "This is a library to support the Internationalised Domain Names in
+Applications (IDNA) protocol as specified in RFC 5891.  This version of the
+protocol is often referred to as “IDNA2008” and can produce different results
+from the earlier standard from 2003.  The library is also intended to act as a
+suitable drop-in replacement for the “encodings.idna” module that comes with
+the Python standard library but currently only supports the older 2003
+specification.")
+    (license bsd-4)))
+
+(define-public python2-idna
+  (package-with-python2 python-idna))
-- 
2.5.0


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #6: 0005-gnu-Add-python-pretend.patch --]
[-- Type: text/x-patch, Size: 1647 bytes --]

From 6bbf9b63616d4e3d4098e51ac1ea63ec95d5335e Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <rekado@elephly.net>
Date: Mon, 21 Sep 2015 22:45:19 +0200
Subject: [PATCH 05/11] gnu: Add python-pretend.

* gnu/packages/python.scm (python-pretend, python2-pretend): New
  variables.
---
 gnu/packages/python.scm | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 672c2c6..93e6a17 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -4993,3 +4993,30 @@ specification.")
 
 (define-public python2-idna
   (package-with-python2 python-idna))
+
+(define-public python-pretend
+  (package
+    (name "python-pretend")
+    (version "1.0.8")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://pypi.python.org/packages/source/p/"
+                           "pretend/pretend-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0r5r7ygz9m6d2bklflbl84cqhjkc2q12xgis8268ygjh30g2q3wk"))))
+    (build-system python-build-system)
+    (native-inputs
+     `(("python-setuptools" ,python-setuptools)))
+    (home-page "https://github.com/alex/pretend")
+    (synopsis "Library for stubbing in Python")
+    (description
+     "Pretend is a library to make stubbing with Python easier.  Stubbing is a
+technique for writing tests.  You may hear the term mixed up with mocks,
+fakes, or doubles. Basically a stub is an object that returns pre-canned
+responses, rather than doing any computation.")
+    (license bsd-3)))
+
+(define-public python2-pretend
+  (package-with-python2 python-pretend))
-- 
2.5.0


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #7: 0006-gnu-Add-python-cryptography-vectors.patch --]
[-- Type: text/x-patch, Size: 1692 bytes --]

From e48b89c864fe59fe59b8a617f6600231d0effe55 Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <rekado@elephly.net>
Date: Mon, 21 Sep 2015 22:45:42 +0200
Subject: [PATCH 06/11] gnu: Add python-cryptography-vectors.

* gnu/packages/python.scm (python-cryptography-vectors,
  python2-cryptography-vectors): New variables.
---
 gnu/packages/python.scm | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 93e6a17..17fa3ee 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -5020,3 +5020,29 @@ responses, rather than doing any computation.")
 
 (define-public python2-pretend
   (package-with-python2 python-pretend))
+
+(define-public python-cryptography-vectors
+  (package
+    (name "python-cryptography-vectors")
+    (version "1.0.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://pypi.python.org/packages/source/c/"
+                           "cryptography-vectors/cryptography_vectors-"
+                           version ".tar.gz"))
+       (sha256
+        (base32
+         "1i2chlyhlx4792di82fqzcy9wz0gnnc661bj46zr794ip4629sp4"))))
+    (build-system python-build-system)
+    (native-inputs
+     `(("python-setuptools" ,python-setuptools)))
+    (home-page "https://github.com/pyca/cryptography")
+    (synopsis "Test vectors for the cryptography package.")
+    (description
+      "This package contains test vectors for the cryptography package.")
+    ;; Distributed under either BSD-3 or ASL2.0
+    (license bsd-3)))
+
+(define-public python2-cryptography-vectors
+  (package-with-python2 python-cryptography-vectors))
-- 
2.5.0


[-- Attachment #8: 0007-gnu-Add-python-cryptography.patch --]
[-- Type: text/x-patch, Size: 2430 bytes --]

From 678b5402e9a226383abbd5d2e560d3f609d719e6 Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <rekado@elephly.net>
Date: Mon, 21 Sep 2015 22:46:11 +0200
Subject: [PATCH 07/11] gnu: Add python-cryptography.

* gnu/packages/python.scm (python-cryptography, python2-cryptography):
  New variables.
---
 gnu/packages/python.scm | 42 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 42 insertions(+)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 17fa3ee..728c8d4 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -5046,3 +5046,45 @@ responses, rather than doing any computation.")
 
 (define-public python2-cryptography-vectors
   (package-with-python2 python-cryptography-vectors))
+
+(define-public python-cryptography
+  (package
+    (name "python-cryptography")
+    (version "1.0.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://pypi.python.org/packages/source/c/"
+                           "cryptography/cryptography-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1lxzvhlyl6h6nm77n34622rcj2cxnx220x9vgjlw76wjd8m0kqyg"))))
+    (build-system python-build-system)
+    (inputs
+     `(("openssl" ,openssl)))
+    (propagated-inputs
+     `(("python-cffi" ,python-cffi)
+       ("python-six" ,python-six)
+       ("python-pyasn1" ,python-pyasn1)
+       ("python-ipaddress" ,python-ipaddress)
+       ("python-enum34" ,python-enum34)
+       ("python-idna" ,python-idna)
+       ("python-iso8601" ,python-iso8601)))
+    (native-inputs
+     `(("python-cryptography-vectors" ,python-cryptography-vectors)
+       ("python-setuptools" ,python-setuptools)
+       ("python-pretend" ,python-pretend)
+       ("python-pytest" ,python-pytest)))
+    (home-page "https://github.com/pyca/cryptography")
+    (synopsis "Cryptographic recipes and primitives for Python")
+    (description
+      "cryptography is a package which provides cryptographic recipes and
+primitives to Python developers.  It aims to be the “cryptographic standard
+library” for Python.  The package includes both high level recipes, and low
+level interfaces to common cryptographic algorithms such as symmetric ciphers,
+message digests and key derivation functions.")
+    ;; Distributed under either BSD-3 or ASL2.0
+    (license bsd-3)))
+
+(define-public python2-cryptography
+  (package-with-python2 python-cryptography))
-- 
2.5.0


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #9: 0008-gnu-Add-pyOpenSSL.patch --]
[-- Type: text/x-patch, Size: 2737 bytes --]

From 2d4caf042f61c6f737c10c458829e44ecd6f65b5 Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <rekado@elephly.net>
Date: Wed, 23 Sep 2015 09:52:44 +0200
Subject: [PATCH 08/11] gnu: Add pyOpenSSL.

* gnu/packages/python.scm (python-pyopenssl, python2-pyopenssl): New
  variables.
---
 gnu/packages/python.scm | 51 +++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 51 insertions(+)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 728c8d4..d040551 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -5088,3 +5088,54 @@ message digests and key derivation functions.")
 
 (define-public python2-cryptography
   (package-with-python2 python-cryptography))
+
+(define-public python-pyopenssl
+  (package
+    (name "python-pyopenssl")
+    (version "0.15.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://pypi.python.org/packages/source/p/"
+                           "pyOpenSSL/pyOpenSSL-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0wnnq15rhj7fhdcd8ycwiw6r6g3w9f9lcy6cigg8226vsrq618ph"))))
+    (build-system python-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'fix-tests
+          (lambda* (#:key inputs #:allow-other-keys)
+            (substitute* "OpenSSL/test/test_ssl.py"
+              (("client\\.connect\\(\\('verisign\\.com', 443\\)\\)")
+               "return True")
+              ;; FIXME: disable broken test
+              (("test_set_tmp_ecdh") "disabled__set_tmp_ecdh"))
+            (substitute* "OpenSSL/test/test_crypto.py"
+              (("command = b\"openssl \"")
+               (string-append "command = b\""
+                              (assoc-ref inputs "openssl")
+                              "/bin/openssl" " \""))
+              ;; FIXME: disable four broken tests
+              (("test_der")             "disabled__der")
+              (("test_digest")          "disabled__digest")
+              (("test_get_extension")   "disabled__get_extension")
+              (("test_extension_count") "disabled__extension_count"))
+            #t)))))
+    (propagated-inputs
+     `(("python-cryptography" ,python-cryptography)
+       ("python-six" ,python-six)))
+    (inputs
+     `(("openssl" ,openssl)))
+    (native-inputs
+     `(("python-setuptools" ,python-setuptools)))
+    (home-page "https://github.com/pyca/pyopenssl")
+    (synopsis "Python wrapper module around the OpenSSL library")
+    (description
+      "PyOpenSSL is a high-level wrapper around a subset of the OpenSSL
+library.")
+    (license asl2.0)))
+
+(define-public python2-pyopenssl
+  (package-with-python2 python-pyopenssl))
-- 
2.5.0


[-- Attachment #10: 0009-gnu-Add-python-gnupg.patch --]
[-- Type: text/x-patch, Size: 2597 bytes --]

From 201146eb25a17b1e48df8daf65fe59d73dca2c9f Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <rekado@elephly.net>
Date: Wed, 23 Sep 2015 21:27:28 +0200
Subject: [PATCH 09/11] gnu: Add python-gnupg.

* gnu/packages/gnupg.scm (python-gnupg, python2-gnupg): New variables.
---
 gnu/packages/gnupg.scm | 43 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 43 insertions(+)

diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm
index 5882617..3ac2488 100644
--- a/gnu/packages/gnupg.scm
+++ b/gnu/packages/gnupg.scm
@@ -325,6 +325,49 @@ instead.  This way bug fixes or improvements can be done at a central place
 and every application benefits from this.")
     (license license:lgpl2.1+)))
 
+(define-public python-gnupg
+  (package
+    (name "python-gnupg")
+    (version "0.3.7")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://pypi.python.org/packages/source/p/"
+                           "python-gnupg/python-gnupg-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1hg9gshk4b7raskj8mjadsjcv10axlx2z4xl4ag2f2bpi4f8chvq"))))
+    (build-system python-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (replace 'check
+                  (lambda* (#:key inputs #:allow-other-keys)
+                    (substitute* "test_gnupg.py"
+                      ;; Test keyrings are missing, so this test fails.
+                      (("'test_scan_keys'") "True")
+                      (("def test_scan_keys") "def disabled__scan_keys")
+                      ;; Unsure why this test fails.
+                      (("'test_search_keys'") "True")
+                      (("def test_search_keys") "def disabled__search_keys"))
+                    (setenv "GPGBINARY" (which "gpg"))
+                    (setenv "USERNAME" "guixbuilder")
+                    ;; The doctests are extremely slow and sometimes time out,
+                    ;; so we disable them.
+                    (zero? (system* (which "python")
+                                    "test_gnupg.py" "--no-doctests")))))))
+    (native-inputs
+     `(("gnupg" ,gnupg-1)))
+    (home-page "http://packages.python.org/python-gnupg/index.html")
+    (synopsis "Wrapper for the GNU Privacy Guard")
+    (description
+      "This module allows easy access to GnuPG’s key management, encryption
+and signature functionality from Python programs.")
+    (license license:bsd-3)))
+
+(define-public python2-gnupg
+  (package-with-python2 python-gnupg))
+
 (define-public pius
   (package
    (name "pius")
-- 
2.5.0


[-- Attachment #11: 0010-gnu-Add-python-nbxmpp.patch --]
[-- Type: text/x-patch, Size: 2643 bytes --]

From 838797920e5f1e3d88ad80adcc27e05daa518e25 Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <rekado@elephly.net>
Date: Wed, 23 Sep 2015 21:29:06 +0200
Subject: [PATCH 10/11] gnu: Add python-nbxmpp.

* gnu/packages/messaging.scm (python-nbxmpp, python2-nbxmpp): New
  variables.
---
 gnu/packages/messaging.scm | 30 +++++++++++++++++++++++++++++-
 1 file changed, 29 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index 7263a38..6471501 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -3,6 +3,7 @@
 ;;; Copyright © 2014 Julien Lepiller <julien@lepiller.eu>
 ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
 ;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
+;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -21,13 +22,14 @@
 
 (define-module (gnu packages messaging)
   #:use-module ((guix licenses)
-                #:select (gpl2+ gpl2 lgpl2.1 lgpl2.0+ bsd-2 non-copyleft
+                #:select (gpl3+ gpl2+ gpl2 lgpl2.1 lgpl2.0+ bsd-2 non-copyleft
                           asl2.0))
   #:use-module (guix utils)
   #:use-module (guix packages)
   #:use-module (guix download)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system glib-or-gtk)
+  #:use-module (guix build-system python)
   #:use-module (gnu packages)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages avahi)
@@ -393,4 +395,30 @@ clients from different locations can connect to a single ZNC account
 simultaneously and therefore appear under the same nickname on IRC.")
     (license asl2.0)))
 
+(define-public python-nbxmpp
+  (package
+    (name "python-nbxmpp")
+    (version "0.5.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://pypi.python.org/packages/source/n/nbxmpp/"
+                           "nbxmpp-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0dcr786dyips1fdvgsn8yvpgcz5j7217fi05c29cfypdl8jnp6mp"))))
+    (build-system python-build-system)
+    ;; No tests included
+    (arguments `(#:tests? #f))
+    (home-page "http://python-nbxmpp.gajim.org")
+    (synopsis "Non-blocking Jabber/XMPP module")
+    (description
+     "The goal of this python library is to provide a way for Python
+applications to use Jabber/XMPP networks in a non-blocking way.  This library
+was initially a fork of xmpppy, but is using non-blocking sockets.")
+    (license gpl3+)))
+
+(define-public python2-nbxmpp
+  (package-with-python2 python-nbxmpp))
+
 ;;; messaging.scm ends here
-- 
2.5.0


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #12: 0011-gnu-Add-Gajim.patch --]
[-- Type: text/x-patch, Size: 2926 bytes --]

From b7e3cf9a556e479ffb92f45d7908a402eba0274d Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <rekado@elephly.net>
Date: Wed, 23 Sep 2015 21:50:27 +0200
Subject: [PATCH 11/11] gnu: Add Gajim.

* gnu/packages/messaging.scm (gajim): New variable.
---
 gnu/packages/messaging.scm | 49 ++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 49 insertions(+)

diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index 6471501..fd42c13 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -421,4 +421,53 @@ was initially a fork of xmpppy, but is using non-blocking sockets.")
 (define-public python2-nbxmpp
   (package-with-python2 python-nbxmpp))
 
+(define-public gajim
+  (package
+    (name "gajim")
+    (version "0.16.3")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://gajim.org/downloads/"
+                                  "0.16" "/gajim-" version ".tar.bz2"))
+              (sha256
+               (base32
+                "05a59hf9wna6n9fi0a4bhz1hifqj21bwb4ff9rd0my23rdwmij51"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'install 'wrap-program
+          (lambda* (#:key inputs outputs #:allow-other-keys)
+            ;; Make sure all Python scripts run with the correct PYTHONPATH.
+            (let* ((out (assoc-ref outputs "out"))
+                   (path (getenv "PYTHONPATH")))
+              (for-each (lambda (name)
+                          (let ((file (string-append out "/bin/" name)))
+                            ;; Wrapping destroys identification of intended
+                            ;; application, so we need to override "APP".
+                            (substitute* file
+                              (("APP=`basename \\$0`")
+                               (string-append "APP=" name)))
+                            (wrap-program file
+                              `("PYTHONPATH" ":" prefix (,path)))))
+                        '("gajim" "gajim-remote" "gajim-history-manager")))
+            #t)))))
+    (native-inputs
+     `(("intltool" ,intltool)))
+    (propagated-inputs
+     `(("python2-nbxmpp" ,python2-nbxmpp)
+       ("python2-pyopenssl" ,python2-pyopenssl)
+       ("python2-gnupg" ,python2-gnupg)))
+    (inputs
+     `(("python2-pygtk" ,python2-pygtk)
+       ("python" ,python-2)))
+    (home-page "https://gajim.org/")
+    (synopsis "Jabber (XMPP) client")
+    (description "Gajim is a feature-rich and easy to use Jabber/XMPP client.
+Among its features are: a tabbed chat window and single window modes; support
+for group chat (with Multi-User Chat protocol), invitation, chat to group chat
+transformation; audio and video conferences; file transfer; TLS, GPG and
+end-to-end encryption support; XML console.")
+    (license gpl3+)))
+
 ;;; messaging.scm ends here
-- 
2.5.0


             reply	other threads:[~2015-09-23 19:55 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-09-23 19:55 Ricardo Wurmus [this message]
2015-09-24  2:59 ` [PATCH] Add Gajim Mark H Weaver
2015-09-25 19:32   ` Ricardo Wurmus

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87fv24q5ad.fsf@elephly.net \
    --to=rekado@elephly.net \
    --cc=guix-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.