Subject: bug#26613: Add pootle

From: Julien Lepiller <[email-masked]>
Date: Sat, 22 Apr 2017 23:13:14 +0200

Hi,

here are patches that add pootle, a translation server written in
django. Some patches modify packages that have several dependents, so
it should probably go to core-updates first.

>From f57ed854a7a0a802934f76ff2ff622c907277e98 Mon Sep 17 00:00:00 2001
From: Julien Lepiller <[email-masked]>
Date: Sat, 22 Apr 2017 12:14:06 +0200
Subject: [PATCH 01/34] gnu: python-pytest-runner: Update to 2.11.1.

* gnu/packages/python.scm (python-pytest-runner)
(python2-pytest-runner): Update to 2.11.1.
---
 gnu/packages/python.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index e51405bd9..142de0984 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -1879,14 +1879,14 @@ supports coverage of subprocesses.")
 (define-public python-pytest-runner
   (package
     (name "python-pytest-runner")
-    (version "2.6.2")
+    (version "2.11.1")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "pytest-runner" version))
        (sha256
         (base32
-         "1nwcqx0l3fv52kv8526wy8ypzghbq96c96di318d98d3wh7a8xg7"))))
+         "1cw978kqqcq916b9gfns1qjqvg33c5ail5jhw9054dsynkm32flq"))))
     (build-system python-build-system)
     (arguments
      `(#:phases
-- 
2.12.2

>From ccabbd285e637cdb32fc35afcb51fd8d4272aac5 Mon Sep 17 00:00:00 2001
From: Julien Lepiller <[email-masked]>
Date: Sat, 22 Apr 2017 21:20:09 +0200
Subject: [PATCH 02/34] gnu: Add python-pytest-warnings.

* gnu/packages/python.scm (python-pytest-warnings, python2-pytest-warnings):
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 142de0984..9a38fbafd 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -13999,3 +13999,26 @@ exception message with a traceback that points to the culprit.")
 
 (define-public python2-fudge
   (package-with-python2 python-fudge))
+
+(define-public python-pytest-warnings
+  (package
+    (name "python-pytest-warnings")
+    (version "0.2.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "pytest-warnings" version))
+       (sha256
+        (base32
+         "0gf2dpahpl5igb7jh1sr9acj3z3gp7zahqdqb69nk6wx01c8kc1g"))))
+    (build-system python-build-system)
+    (propagated-inputs
+     `(("pytest" ,python-pytest-3.0)))
+    (home-page "https://github.com/fschulze/pytest-warnings")
+    (synopsis "Pytest plugin to list Python warnings in pytest report")
+    (description
+     "Pytest plugin to list Python warnings in pytest report.")
+    (license license:expat)))
+
+(define-public python2-pytest-warnings
+  (package-with-python2 python-pytest-warnings))
-- 
2.12.2

>From 27b9b1a020841c80fbf39bc81b7c665a462d0343 Mon Sep 17 00:00:00 2001
From: Julien Lepiller <[email-masked]>
Date: Sat, 22 Apr 2017 22:14:02 +0200
Subject: [PATCH 03/34] gnu: Add python-pytest-catchlog.

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

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 9a38fbafd..ef6c2ac5f 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -14022,3 +14022,28 @@ exception message with a traceback that points to the culprit.")
 
 (define-public python2-pytest-warnings
   (package-with-python2 python-pytest-warnings))
+
+(define-public python-pytest-catchlog
+  (package
+    (name "python-pytest-catchlog")
+    (version "1.2.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "pytest-catchlog" version ".zip"))
+       (sha256
+        (base32
+         "1w7wxh27sbqwm4jgwrjr9c2gy384aca5jzw9c0wzhl0pmk2mvqab"))))
+    (build-system python-build-system)
+    (native-inputs
+     `(("unzip" ,unzip)))
+    (propagated-inputs
+     `(("pytest" ,python-pytest-3.0)))
+    (home-page "https://github.com/fschulze/pytest-warnings")
+    (synopsis "Pytest plugin to catch log messages")
+    (description
+     "Pytest plugin to catch log messages. This is a fork of pytest-capturelog.")
+    (license license:expat)))
+
+(define-public python2-pytest-catchlog
+  (package-with-python2 python-pytest-catchlog))
-- 
2.12.2

>From f676c9d80e49d12eedd53a5fe65fcc31c9823863 Mon Sep 17 00:00:00 2001
From: Julien Lepiller <[email-masked]>
Date: Sat, 22 Apr 2017 12:31:55 +0200
Subject: [PATCH 04/34] gnu: Add python-utils.

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

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index ef6c2ac5f..9a787a3fc 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -14047,3 +14047,28 @@ exception message with a traceback that points to the culprit.")
 
 (define-public python2-pytest-catchlog
   (package-with-python2 python-pytest-catchlog))
+
+(define-public python-utils
+  (package
+    (name "python-utils")
+    (version "2.0.1")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "python-utils" version))
+              (sha256
+               (base32
+                "1zvrc1rc06n89pycg969pcy30bff4sqzhff365sxh629ybnl8pwq"))))
+    (build-system python-build-system)
+    (native-inputs
+     `(("pytest-runner" ,python-pytest-runner)
+       ("pytest" ,python-pytest)
+       ("six" ,python-six)))
+    (home-page "https://github.com/WoLpH/python-utils")
+    (synopsis "Convenient utilities not included with the standard Python install")
+    (description
+      "Python Utils is a collection of small Python functions and classes which
+make common patterns shorter and easier.")
+    (license license:bsd-2)))
+
+(define-public python2-utils
+  (package-with-python2 python-utils))
-- 
2.12.2

>From 6d81f391fa211aef73f794dbce717c90b9d7134a Mon Sep 17 00:00:00 2001
From: Julien Lepiller <[email-masked]>
Date: Sat, 22 Apr 2017 13:19:25 +0200
Subject: [PATCH 05/34] gnu: Add python-webassets.

* gnu/packages/python.scm (python-webassets, python2-webassets): 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 9a787a3fc..df936db9f 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -14072,3 +14072,27 @@ make common patterns shorter and easier.")
 
 (define-public python2-utils
   (package-with-python2 python-utils))
+
+(define-public python-webassets
+  (package
+    (name "python-webassets")
+    (version "0.12.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "webassets" version))
+       (sha256
+        (base32
+         "1nrqkpb7z46h2b77xafxihqv3322cwqv6293ngaky4j3ff4cing7"))))
+    (build-system python-build-system)
+    (native-inputs
+     `(("python-jinja2" ,python-jinja2)
+       ("python-mock" ,python-mock)
+       ("python-nose" ,python-nose)
+       ("python-pytest" ,python-pytest)))
+    (home-page "http://github.com/miracle2k/webassets")
+    (synopsis "Media asset management")
+    (description "Merges, minifies and compresses Javascript and CSS files,
+supporting a variety of different filters, including YUI, jsmin, jspacker or
+CSS tidy.  Also supports URL rewriting in CSS files.")
+    (license license:bsd-2)))
-- 
2.12.2

>From 7c0db188993be6bfacfbbed49553f13ae9231863 Mon Sep 17 00:00:00 2001
From: Julien Lepiller <[email-masked]>
Date: Sat, 22 Apr 2017 13:22:46 +0200
Subject: [PATCH 06/34] gnu: Add python-sphinx-me.

* gnu/packages/python.scm (python-sphinx-me, python2-sphinx-me): 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 df936db9f..4ea3fd890 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -14096,3 +14096,27 @@ make common patterns shorter and easier.")
 supporting a variety of different filters, including YUI, jsmin, jspacker or
 CSS tidy.  Also supports URL rewriting in CSS files.")
     (license license:bsd-2)))
+
+(define-public python-sphinx-me
+  (package
+    (name "python-sphinx-me")
+    (version "0.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "sphinx-me" version))
+       (sha256
+        (base32
+         "06jzgp213zihnvpcy2y5jy3ykid3apc2ncp2pg6a2g05lhiziglq"))))
+    (build-system python-build-system)
+    (home-page "https://github.com/stephenmcd/sphinx-me")
+    (synopsis "Create a Sphinx documentation shell")
+    (description
+      "Create a Sphinx documentation shell for your project and include the
+README file as the documentation index.  It handles extracting the required
+meta data such as the project name, author and version from your project for
+use in your Sphinx docs.")
+    (license license:bsd-2)))
+
+(define-public python2-sphinx-me
+  (package-with-python2 python-sphinx-me))
-- 
2.12.2

>From 1cbd1c67de3593cad4be6e083866776cf684bbf9 Mon Sep 17 00:00:00 2001
From: Julien Lepiller <[email-masked]>
Date: Sat, 22 Apr 2017 13:25:01 +0200
Subject: [PATCH 07/34] gnu: python-rq: Update to 0.7.1.

* gnu/packages/python.scm (python-rq, python2-rq): Update to 0.7.1.
---
 gnu/packages/python.scm | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 4ea3fd890..ec3c88b28 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -3375,15 +3375,13 @@ mining and data analysis.")
 (define-public python-rq
   (package
     (name "python-rq")
-    (version "0.5.2")
+    (version "0.7.1")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append
-             "https://pypi.python.org/packages/source/r/rq/rq-"
-             version ".tar.gz"))
+       (uri (pypi-uri "rq" version))
        (sha256
-        (base32 "0b0z5hn8wkfg300hx7816csgv3bcfamlr29fi3yzgqmpqxwj3fix"))))
+        (base32 "0gaq5pnh0zy46r8jvygi0ifbvz3pq6i7xla78ijcgjw0x77qzsdh"))))
     (build-system python-build-system)
     (propagated-inputs
      `(("python-click" ,python-click)
-- 
2.12.2

>From f11d88c7b52d5bd7751a25f558a48ee9f16bce44 Mon Sep 17 00:00:00 2001
From: Julien Lepiller <[email-masked]>
Date: Sat, 22 Apr 2017 13:27:33 +0200
Subject: [PATCH 08/34] gnu: Add python-cssmin.

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

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index ec3c88b28..cd5ed1775 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -14118,3 +14118,23 @@ use in your Sphinx docs.")
 
 (define-public python2-sphinx-me
   (package-with-python2 python-sphinx-me))
+
+(define-public python-cssmin
+  (package
+    (name "python-cssmin")
+    (version "0.2.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (pypi-uri "cssmin" version))
+        (sha256
+         (base32
+          "1dk723nfm2yf8cp4pj785giqlwv42l0kj8rk40kczvq1hk6g04p0"))))
+    (build-system python-build-system)
+    (home-page "https://github.com/zacharyvoase/cssmin")
+    (synopsis "Python port of the YUI CSS Compressor")
+    (description "Python port of the YUI CSS Compressor.")
+    (license (list license:expat license:bsd-3))))
+
+(define-public python2-cssmin
+  (package-with-python2 python-cssmin))
-- 
2.12.2

>From cf07ab19ebcffb9a9aec0fa8274dd15897b391c4 Mon Sep 17 00:00:00 2001
From: Julien Lepiller <[email-masked]>
Date: Sat, 22 Apr 2017 13:34:24 +0200
Subject: [PATCH 09/34] gnu: Add python-diff-match-patch.

* gnu/packages/python.scm (python-diff-match-patch, python2-diff-match-patch):
New variables.
---
 gnu/packages/python.scm | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index cd5ed1775..39ef0f199 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -14138,3 +14138,24 @@ use in your Sphinx docs.")
 
 (define-public python2-cssmin
   (package-with-python2 python-cssmin))
+
+(define-public python-diff-match-patch
+  (package
+    (name "python-diff-match-patch")
+    (version "20121119")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (pypi-uri "diff-match-patch" version))
+        (sha256
+         (base32
+          "0k1f3v8nbidcmmrk65m7h8v41jqi37653za9fcs96y7jzc8mdflx"))))
+    (build-system python-build-system)
+    (home-page "https://code.google.com/p/google-diff-match-patch")
+    (synopsis "Synchronize plain text")
+    (description "Diff Match and Patch libraries offer robust algorithms to
+perform the operations required for synchronizing plain text.")
+    (license license:asl2.0)))
+
+(define-public python2-diff-match-patch
+  (package-with-python2 python-diff-match-patch))
-- 
2.12.2

>From 7720dacd65cda74bb600e097ed58f748aee00708 Mon Sep 17 00:00:00 2001
From: Julien Lepiller <[email-masked]>
Date: Sat, 22 Apr 2017 13:39:13 +0200
Subject: [PATCH 10/34] gnu: Add python-dirsync.

* gnu/packages/python.scm (python-dirsync, python2-dirsync): 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 39ef0f199..7c478b8b5 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -14159,3 +14159,27 @@ perform the operations required for synchronizing plain text.")
 
 (define-public python2-diff-match-patch
   (package-with-python2 python-diff-match-patch))
+
+(define-public python-dirsync
+  (package
+    (name "python-dirsync")
+    (version "2.2.2")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (pypi-uri "dirsync" version ".zip"))
+        (sha256
+         (base32
+          "1hcdvmkwd5512zbxpin0k7bx5bkgzy3swjx7d0kj1y45af6r75v2"))))
+    (build-system python-build-system)
+    (native-inputs
+     `(("unzip" ,unzip)))
+    (propagated-inputs
+     `(("six" ,python-six)))
+    (home-page "https://bitbucket.org/tkhyn/dirsync")
+    (synopsis "Advanced directory tree synchronisation tool")
+    (description "Advanced directory tree synchronisation tool.")
+    (license license:expat)))
+
+(define-public python2-dirsync
+  (package-with-python2 python-dirsync))
-- 
2.12.2

From 3dfabe96308f6400860827233010681e19353864 Mon Sep 17 00:00:00 2001
From: Julien Lepiller <[email-masked]>
Date: Sat, 22 Apr 2017 14:00:09 +0200
Subject: [PATCH 11/34] gnu: Add python-nosexcover.

* gnu/packages/python.scm (python-nosexcover, python2-nosexcover): 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 7c478b8b5..940f33e55 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -14183,3 +14183,29 @@ perform the operations required for synchronizing plain text.")
 
 (define-public python2-dirsync
   (package-with-python2 python-dirsync))
+
+(define-public python-nosexcover
+  (package
+    (name "python-nosexcover")
+    (version "1.0.11")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "nosexcover" version))
+              (sha256
+               (base32
+                "10xqr12qv62k2flxwqhh8cr00cjhn7sfjrm6p35gd1x5bmjkr319"))))
+    (build-system python-build-system)
+    (propagated-inputs
+     `(("python-coverage" ,python-coverage)
+       ("python-nose" ,python-nose)))
+    (home-page "http://github.com/cmheisel/nose-xcover")
+    (synopsis "Extends nose.plugins.cover to add Cobertura-style XML reports")
+    (description "Companion to the built-in nose.plugins.cover.  This plugin
+will write out an XML coverage report to a file named coverage.xml.
+
+It will honor all the options you pass to the Nose coverage plugin, especially
+–cover-package.")
+    (license license:expat)))
+
+(define-public python2-nosexcover
+  (package-with-python2 python-nosexcover))
-- 
2.12.2

>From a226932bed2185fd380bc126411a20000ce2b425 Mon Sep 17 00:00:00 2001
From: Julien Lepiller <[email-masked]>
Date: Sat, 22 Apr 2017 14:33:57 +0200
Subject: [PATCH 12/34] gnu: Add python-elasticsearch.

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

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 940f33e55..7465ab071 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -14209,3 +14209,35 @@ It will honor all the options you pass to the Nose coverage plugin, especially
 
 (define-public python2-nosexcover
   (package-with-python2 python-nosexcover))
+
+(define-public python-elasticsearch
+  (package
+    (name "python-elasticsearch")
+    (version "1.0.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (pypi-uri "elasticsearch" version))
+        (sha256
+         (base32
+          "1sdw1r05cw7ihnmng8ra9v968fj7bq6sji8i1dikymsnkcpgc69g"))))
+    (build-system python-build-system)
+    (native-inputs
+     `(("python-mock" ,python-mock)
+       ("python-nosexcover" ,python-nosexcover)
+       ("python-pyaml" ,python-pyaml)
+       ("python-requests" ,python-requests)))
+    (propagated-inputs
+     `(("urllib3" ,python-urllib3)))
+    (arguments
+     ;; tests require the test_elasticsearch module but it is not distributed.
+     `(#:tests? #f))
+    (home-page "https://github.com/elastic/elasticsearch-py")
+    (synopsis "Low-level client for Elasticsearch")
+    (description "Official low-level client for Elasticsearch.  Its goal is to
+provide common ground for all Elasticsearch-related code in Python; because of
+this it tries to be opinion-free and very extendable.")
+    (license license:expat)))
+
+(define-public python2-elasticsearch
+  (package-with-python2 python-elasticsearch))
-- 
2.12.2

>From 46c939a134d758c0175d1961b858e0021ac08409 Mon Sep 17 00:00:00 2001
From: Julien Lepiller <[email-masked]>
Date: Sat, 22 Apr 2017 14:35:27 +0200
Subject: [PATCH 13/34] gnu: python-dateutil: Update to 2.6.0.

* gnu/packages/python.scm (python-dateutil, python2-dateutil): Update to 2.6.0.
---
 gnu/packages/python.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 7465ab071..f0eed8886 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -1108,14 +1108,14 @@ Python file, so it can be easily copied into your project.")
 (define-public python-dateutil
   (package
     (name "python-dateutil")
-    (version "2.5.3")
+    (version "2.6.0")
     (source
      (origin
       (method url-fetch)
       (uri (pypi-uri "python-dateutil" version))
       (sha256
        (base32
-        "1v9j9fmf8g911yg6k01xa2db6dx3wv73zkk7fncsj7vagjqgs20l"))))
+        "1lhq0hxjc3cfha101q02ld5ijlpfyjn2w1yh7wvpiy367pgzi8k2"))))
     (build-system python-build-system)
     (propagated-inputs
      `(("python-six" ,python-six)))
-- 
2.12.2

>From 1a318d6e230334d653c31cdffd7854cd993d2a29 Mon Sep 17 00:00:00 2001
From: Julien Lepiller <[email-masked]>
Date: Sat, 22 Apr 2017 14:44:38 +0200
Subject: [PATCH 14/34] gnu: Add python-levenshtein.

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

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index f0eed8886..304ed3a6a 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -14241,3 +14241,31 @@ this it tries to be opinion-free and very extendable.")
 
 (define-public python2-elasticsearch
   (package-with-python2 python-elasticsearch))
+
+(define-public python-levenshtein
+  (package
+    (name "python-levenshtein")
+    (version "0.12.0")
+    (source
+     (origin
+      (method url-fetch)
+      (uri (pypi-uri "python-Levenshtein" version))
+      (sha256
+       (base32
+        "1c9ybqcja31nghfcc8xxbbz9h60s9qi12b9hr4jyl69xbvg12fh3"))))
+    (build-system python-build-system)
+    (home-page "https://github.com/ztane/python-Levenshtein")
+    (synopsis "Fast computation of Levenshtein distance and string similarity")
+    (description
+     "The Levenshtein Python C extension module contains functions for fast computation of
+@enumerate
+@item Levenshtein (edit) distance, and edit operations
+@item string similarity
+@item approximate median strings, and generally string averaging
+@item string sequence and set similarity
+@end enumerate
+It supports both normal and Unicode strings.")
+    (license license:gpl2+)))
+
+(define-public python2-levenshtein
+  (package-with-python2 python-levenshtein))
-- 
2.12.2

>From 94aa5c13189965efbc0fd7b3a561fd72a61637d0 Mon Sep 17 00:00:00 2001
From: Julien Lepiller <[email-masked]>
Date: Sat, 22 Apr 2017 14:47:22 +0200
Subject: [PATCH 15/34] gnu: Add python-scandir.

* gnu/packages/python.scm (python-scandir, python2-scandir): 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 304ed3a6a..799934b5f 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -14269,3 +14269,27 @@ It supports both normal and Unicode strings.")
 
 (define-public python2-levenshtein
   (package-with-python2 python-levenshtein))
+
+(define-public python-scandir
+  (package
+    (name "python-scandir")
+    (version "1.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "scandir" version))
+       (sha256
+        (base32 "0yjrgp0mxp3d8bjkq2m1ac2ys8n76wykksvgyjrnil9gr3fx7a5d"))))
+    (build-system python-build-system)
+    (home-page "https://github.com/benhoyt/scandir")
+    (synopsis "Directory iteration function")
+    (description
+     "Directory iteration function like os.listdir(), except that instead of
+returning a list of bare filenames, it yields DirEntry objects that include
+file type and stat information along with the name.  Using scandir() increases
+the speed of os.walk() by 2-20 times (depending on the platform and file
+system) by avoiding unnecessary calls to os.stat() in most cases.")
+    (license license:bsd-3)))
+
+(define-public python2-scandir
+  (package-with-python2 python-scandir))
-- 
2.12.2

>From 128850d64d118a728c415891fe3893d81a05172a Mon Sep 17 00:00:00 2001
From: Julien Lepiller <[email-masked]>
Date: Sat, 22 Apr 2017 14:52:16 +0200
Subject: [PATCH 16/34] gnu: Add python2-stemming.

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

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 799934b5f..34981780e 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -14293,3 +14293,26 @@ system) by avoiding unnecessary calls to os.stat() in most cases.")
 
 (define-public python2-scandir
   (package-with-python2 python-scandir))
+
+(define-public python2-stemming
+  (package
+    (name "python2-stemming")
+    (version "1.0.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "stemming" version))
+       (sha256
+        (base32 "0ldwa24gnnxhniv0fhygkpc2mwgd93q10ag8rvzayv6hw418frsr"))))
+    (build-system python-build-system)
+    (arguments
+     `(#:python ,python-2))
+    (home-page "https://bitbucket.org/mchaput/stemming/overview")
+    (synopsis "Python implementations of various stemming algorithms")
+    (description
+     "Python implementations of the Porter, Porter2, Paice-Husk, and Lovins
+stemming algorithms for English. These implementations are straightforward and
+efficient, unlike some Python versions of the same algorithms available on the
+Web. This package is an extraction of the stemming code included in the Whoosh
+search engine.")
+    (license license:public-domain)))
-- 
2.12.2

From f7b37ac2efb684afa25f990f3579650ccfe16a9c Mon Sep 17 00:00:00 2001
From: Julien Lepiller <[email-masked]>
Date: Sat, 22 Apr 2017 22:32:33 +0200
Subject: [PATCH 17/34] gnu: Add python-factory-boy.

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

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 34981780e..1d72919b7 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -14316,3 +14316,34 @@ efficient, unlike some Python versions of the same algorithms available on the
 Web. This package is an extraction of the stemming code included in the Whoosh
 search engine.")
     (license license:public-domain)))
+
+(define-public python-factory-boy
+  (package
+    (name "python-factory-boy")
+    (version "2.8.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "factory_boy" version))
+       (sha256
+        (base32 "1fvin6san5xsjh2c4y18caj2lnmwxlylyqm8mh1yc6rp38wlwr56"))))
+    (build-system python-build-system)
+    (arguments
+     `(#:tests? #f))
+    (propagated-inputs
+     `(("faker" ,python-faker)))
+    (home-page "https://github.com/benhoyt/scandir")
+    (synopsis "A versatile test fixtures replacement")
+    (description
+     "factory_boy is a fixtures replacement based on thoughtbot’s factory_girl.
+
+As a fixtures replacement tool, it aims to replace static, hard to maintain
+fixtures with easy-to-use factories for complex object.
+
+Instead of building an exhaustive test setup with every possible combination
+of corner cases, factory_boy allows you to use objects customized for the
+current test, while only declaring the test-specific fields")
+    (license license:expat)))
+
+(define-public python2-factory-boy
+  (package-with-python2 python-factory-boy))
-- 
2.12.2

>From 9fd512af4a3c0bb0202a69feb281a3899a9c24c6 Mon Sep 17 00:00:00 2001
From: Julien Lepiller <[email-masked]>
Date: Sat, 22 Apr 2017 17:19:27 +0200
Subject: [PATCH 18/34] gnu: Add python-translate-toolkit.

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

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 1d72919b7..9b8a7465e 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -14347,3 +14347,40 @@ current test, while only declaring the test-specific fields")
 
 (define-public python2-factory-boy
   (package-with-python2 python-factory-boy))
+
+(define-public python-translate-toolkit
+  (package
+    (name "python-translate-toolkit")
+    (version "2.1.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "translate-toolkit" version ".tar.bz2"))
+       (sha256
+        (base32 "1vlkwrg83vb17jc36pmwh2b7jphwf390lz0jw8hakcg16qhwypvq"))))
+    (build-system python-build-system)
+    (native-inputs
+     `(("python-pytest" ,python-pytest)
+       ("python-sphinx" ,python-sphinx)))
+    (propagated-inputs
+     `(("python-babel" ,python-babel)
+       ("python-beautifulsoup4" ,python-beautifulsoup4)
+       ("python-chardet" ,python-chardet)
+       ("python-diff-match-patch" ,python-diff-match-patch)
+       ("python-levenshtein" ,python-levenshtein)
+       ("python-lxml" ,python-lxml)
+       ("python-six" ,python-six)
+       ("python-vobject" ,python-vobject)
+       ("python-pyyaml" ,python-pyyaml)))
+    (arguments
+     ;; TODO: tests don't run properly
+     `(#:tests? #f))
+    (home-page "http://toolkit.translatehouse.org")
+    (synopsis "Tools and API for translation and localization engineering")
+    (description
+     "Tools and API for translation and localization engineering.  It contains
+several utilities, as well as an API for building localization tools.")
+    (license license:gpl2+)))
+
+(define-public python2-translate-toolkit
+  (package-with-python2 python-translate-toolkit))
-- 
2.12.2

>From 88ea5ccf166456b3eda625a86045df1f8eddf715 Mon Sep 17 00:00:00 2001
From: Julien Lepiller <[email-masked]>
Date: Sat, 22 Apr 2017 17:24:16 +0200
Subject: [PATCH 19/34] gnu: Add python-mysqlclient.

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

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 9b8a7465e..e372d29f4 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -14384,3 +14384,38 @@ several utilities, as well as an API for building localization tools.")
 
 (define-public python2-translate-toolkit
   (package-with-python2 python-translate-toolkit))
+
+(define-public python-mysqlclient
+  (package
+    (name "python-mysqlclient")
+    (version "1.3.10")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "mysqlclient" version))
+       (sha256
+        (base32
+         "0qkj570x4rbsblji6frvsvp2v1ap32dqzj1lq62zp9515ffsyaj5"))))
+    (build-system python-build-system)
+    (native-inputs
+     `(("mariadb" ,mariadb)
+       ("nose" ,python-nose)
+       ("mock" ,python-mock)
+       ("py.test" ,python-pytest)))
+    (inputs
+     `(("mysql" ,mysql)
+       ("libz" ,zlib)
+       ("openssl" ,openssl)))
+    (home-page "https://github.com/PyMySQL/mysqlclient-python")
+    (synopsis "MySQLdb is an interface to the popular MySQL database server for Python")
+    (description "MySQLdb is an interface to the popular MySQL database server
+for Python.  The design goals are:
+@enumerate
+@item Compliance with Python database API version 2.0 [PEP-0249],
+@item Thread-safety,
+@item Thread-friendliness (threads will not block each other).
+@end enumerate")
+    (license license:gpl2)))
+
+(define-public python2-mysqlclient
+  (package-with-python2 python-mysqlclient))
-- 
2.12.2

>From 20ac68b9c1e52880bc2ae10832b1169d7f44ed9c Mon Sep 17 00:00:00 2001
From: Julien Lepiller <[email-masked]>
Date: Sat, 22 Apr 2017 18:16:07 +0200
Subject: [PATCH 20/34] gnu: Add python-django-assets.

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

diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm
index 2038473f5..52668aa3c 100644
--- a/gnu/packages/django.scm
+++ b/gnu/packages/django.scm
@@ -245,3 +245,46 @@ templatetags and a full test suite.")
 
 (define-public python2-django-gravatar2
   (package-with-python2 python-django-gravatar2))
+
+(define-public python-django-assets
+  (package
+    (name "python-django-assets")
+    (version "0.12")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "django-assets" version))
+              (sha256
+               (base32
+                "0y0007fvkn1rdlj2g0y6k1cnkx53kxab3g8i85i0rd58k335p365"))
+              (modules '((guix build utils)))
+              (snippet
+               ;; https://github.com/miracle2k/django-assets/issues/87
+               `(begin
+                  (substitute* "tests/__init__.py"
+                    (("settings.configure.*")
+                     (string-append
+                       "settings.configure(\n"
+                       "INSTALLED_APPS=['django_assets', "
+                       "'django.contrib.staticfiles'],\n"
+                       "TEMPLATES=[{'BACKEND': "
+                       "'django.template.backends.django.DjangoTemplates'}],\n"
+                       ")\n")))
+                 ;; These tests fail
+                 (substitute* "tests/test_django.py"
+                   (("TestLoader") "NoTestLoader"))))))
+    (build-system python-build-system)
+    (native-inputs
+     `(("python-nose" ,python-nose)))
+    (propagated-inputs
+     `(("python-django" ,python-django)
+       ("python-webassets" ,python-webassets)))
+    (home-page "http://github.com/miracle2k/django-assets")
+    (synopsis "Asset management for Django")
+    (description
+      "Asset management for Django, to compress and merge CSS and Javascript
+files.  Integrates the webassets library with Django, adding support for
+merging, minifying and compiling CSS and Javascript files.")
+    (license license:bsd-2)))
+
+(define-public python2-django-assets
+  (package-with-python2 python-django-assets))
-- 
2.12.2

>From 1da250281f8a13d29bbd7c062ef7c708adff3324 Mon Sep 17 00:00:00 2001
From: Julien Lepiller <[email-masked]>
Date: Sat, 22 Apr 2017 18:18:30 +0200
Subject: [PATCH 21/34] gnu: Add python-django-jsonfield.

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

diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm
index 52668aa3c..e259a75b5 100644
--- a/gnu/packages/django.scm
+++ b/gnu/packages/django.scm
@@ -288,3 +288,31 @@ merging, minifying and compiling CSS and Javascript files.")
 
 (define-public python2-django-assets
   (package-with-python2 python-django-assets))
+
+(define-public python-django-jsonfield
+  (package
+    (name "python-django-jsonfield")
+    (version "1.0.3")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "jsonfield" version))
+              (sha256
+               (base32
+                "19x4lak0hg9c20r7mvf27w7i8r6i4sg2g0ypmlmp2665fnk76zvy"))
+            (modules '((guix build utils)))
+            (snippet
+              '(substitute* "jsonfield/tests.py"
+                 (("django.forms.util") "django.forms.utils")))))
+    (build-system python-build-system)
+    (propagated-inputs
+     `(("python-django" ,python-django)))
+    (home-page "https://github.com/bradjasper/django-jsonfield")
+    (synopsis "Store validated JSON in your model")
+    (description
+      "django-jsonfield is a reusable Django field that allows you to store
+validated JSON in your model.  It silently takes care of serialization.  To
+use, simply add the field to one of your models.")
+    (license license:expat)))
+
+(define-public python2-django-jsonfield
+  (package-with-python2 python-django-jsonfield))
-- 
2.12.2

>From 04ed560e5fedcd1b523680df7498e92baf997528 Mon Sep 17 00:00:00 2001
From: Julien Lepiller <[email-masked]>
Date: Sat, 22 Apr 2017 18:28:37 +0200
Subject: [PATCH 22/34] gnu: Add python-django-bulk-update.

* gnu/packages/django.scm (python-django-bulk-update, python2-django-bulk-update):
New variables.
---
 gnu/packages/django.scm | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm
index e259a75b5..36e6ab885 100644
--- a/gnu/packages/django.scm
+++ b/gnu/packages/django.scm
@@ -316,3 +316,32 @@ use, simply add the field to one of your models.")
 
 (define-public python2-django-jsonfield
   (package-with-python2 python-django-jsonfield))
+
+(define-public python-django-bulk-update
+  (package
+    (name "python-django-bulk-update")
+    (version "1.1.10")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "django-bulk-update" version))
+              (sha256
+               (base32
+                "0mbng9m7swfc0dnidipbzlxfhlfjrv755dlnha5s4m9mgdxb1fhc"))))
+    (build-system python-build-system)
+    (arguments
+     ;; tests seem to be broken
+     `(#:tests? #f))
+    (native-inputs
+     `(("six" ,python-six)
+       ("jsonfield" ,python-django-jsonfield)))
+    (propagated-inputs
+     `(("python-django" ,python-django)))
+    (home-page "https://github.com/aykut/django-bulk-update")
+    (synopsis "Simple bulk update over Django ORM or with helper function")
+    (description
+      "Simple bulk update over Django ORM or with helper function.  This
+project aims to bulk update given objects using one query over Django ORM.")
+    (license license:expat)))
+
+(define-public python2-django-bulk-update
+  (package-with-python2 python-django-bulk-update))
-- 
2.12.2

>From bba15d429a0a5945282fa28ff98794d190a0c3e1 Mon Sep 17 00:00:00 2001
From: Julien Lepiller <[email-masked]>
Date: Sat, 22 Apr 2017 18:51:24 +0200
Subject: [PATCH 23/34] gnu: Add python-django-contact-form.

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

diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm
index 36e6ab885..d618d3c48 100644
--- a/gnu/packages/django.scm
+++ b/gnu/packages/django.scm
@@ -345,3 +345,30 @@ project aims to bulk update given objects using one query over Django ORM.")
 
 (define-public python2-django-bulk-update
   (package-with-python2 python-django-bulk-update))
+
+(define-public python-django-contact-form
+  (package
+    (name "python-django-contact-form")
+    (version "1.3")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "django-contact-form" version))
+              (sha256
+               (base32
+                "0az590y56k5ahv4sixrkn54d3a8ig2q2z9pl6s3m4f533mx2gj17"))))
+    (build-system python-build-system)
+    (arguments
+     `(#:tests? #f))
+    (native-inputs
+     `(("python-coverage" ,python-coverage)))
+    (propagated-inputs
+     `(("python-django" ,python-django)))
+    (home-page "https://github.com/ubernostrum/django-contact-form")
+    (synopsis "Contact form for Django")
+    (description
+      "This application provides simple, extensible contact-form functionality
+for Django sites.")
+    (license license:bsd-3)))
+
+(define-public python2-django-contact-form
+  (package-with-python2 python-django-contact-form))
-- 
2.12.2

>From 2f3f794c3f1151529c3a1ced5e81a044611a1656 Mon Sep 17 00:00:00 2001
From: Julien Lepiller <[email-masked]>
Date: Sat, 22 Apr 2017 19:01:33 +0200
Subject: [PATCH 24/34] gnu: Add python-django-contrib-comments.

* gnu/packages/django.scm (python-django-contrib-comments,
python2-django-contrib-comments): New variables.
---
 gnu/packages/django.scm | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm
index d618d3c48..f0bf537de 100644
--- a/gnu/packages/django.scm
+++ b/gnu/packages/django.scm
@@ -372,3 +372,28 @@ for Django sites.")
 
 (define-public python2-django-contact-form
   (package-with-python2 python-django-contact-form))
+
+(define-public python-django-contrib-comments
+  (package
+    (name "python-django-contrib-comments")
+    (version "1.8.0")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "django-contrib-comments" version))
+              (sha256
+               (base32
+                "0bxsgw8jrkhg6r5s0z6ksfi4w8yknaqb1s9acmxd9pm3pnsnp5kx"))))
+    (build-system python-build-system)
+    (propagated-inputs
+     `(("python-django" ,python-django)))
+    (home-page "https://github.com/django/django-contrib-comments")
+    (synopsis "Comments framework")
+    (description
+      "Django used to include a comments framework; since Django 1.6 it's been
+separated to a separate project.  This is that project.  This framework can be
+used to attach comments to any model, so you can use it for comments on blog
+entries, photos, book chapters, or anything else.")
+    (license license:bsd-3)))
+
+(define-public python2-django-contrib-comments
+  (package-with-python2 python-django-contrib-comments))
-- 
2.12.2

>From 5fc586bebbb5a54c12beb28bbf4503ade0dfad66 Mon Sep 17 00:00:00 2001
From: Julien Lepiller <[email-masked]>
Date: Sat, 22 Apr 2017 19:08:11 +0200
Subject: [PATCH 25/34] gnu: Add python-django-overextends.

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

diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm
index f0bf537de..1e55909d5 100644
--- a/gnu/packages/django.scm
+++ b/gnu/packages/django.scm
@@ -397,3 +397,32 @@ entries, photos, book chapters, or anything else.")
 
 (define-public python2-django-contrib-comments
   (package-with-python2 python-django-contrib-comments))
+
+(define-public python-django-overextends
+  (package
+    (name "python-django-overextends")
+    (version "0.4.2")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "django-overextends" version))
+              (sha256
+               (base32
+                "05rxfjwkwi354qpwjacv1ak77ksgj5fql9yz8i3f1a20b97l8196"))))
+    (build-system python-build-system)
+    (arguments
+     `(#:tests? #f))
+    (propagated-inputs
+     `(("python-django" ,python-django)
+       ("sphinx-me" ,python-sphinx-me)))
+    (home-page "https://github.com/stephenmcd/django-overextends")
+    (synopsis "Circular template inheritance")
+    (description
+      "A Django reusable app providing the overextends template tag, a drop-in
+replacement for Django's extends tag, which allows you to use circular template
+inheritance.  The primary use-case for overextends is to simultaneously
+override and extend templates from other reusable apps, in your own Django
+project.")
+    (license license:bsd-2)))
+
+(define-public python2-django-overextends
+  (package-with-python2 python-django-overextends))
-- 
2.12.2

>From c8f2457eb6f9abe9905b47cbb145697a289b3f9b Mon Sep 17 00:00:00 2001
From: Julien Lepiller <[email-masked]>
Date: Sat, 22 Apr 2017 19:11:48 +0200
Subject: [PATCH 26/34] gnu: Add python-django-redis.

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

diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm
index 1e55909d5..dcd2f86c5 100644
--- a/gnu/packages/django.scm
+++ b/gnu/packages/django.scm
@@ -426,3 +426,29 @@ project.")
 
 (define-public python2-django-overextends
   (package-with-python2 python-django-overextends))
+
+(define-public python-django-redis
+  (package
+    (name "python-django-redis")
+    (version "4.7.0")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "django-redis" version))
+              (sha256
+               (base32
+                "0yyyxv8n9l9dhs893jsqwg2cxqkkc79g719n9dzzzqgkzialv1c1"))))
+    (build-system python-build-system)
+    (arguments
+     `(#:tests? #f))
+    (native-inputs
+     `(("python-redis" ,python-redis)))
+    (propagated-inputs
+     `(("python-django" ,python-django)))
+    (home-page "https://github.com/niwibe/django-redis")
+    (synopsis "Full featured redis cache backend for Django")
+    (description
+      "Full featured redis cache backend for Django.")
+    (license license:bsd-3)))
+
+(define-public python2-django-redis
+  (package-with-python2 python-django-redis))
-- 
2.12.2

>From 245bc01b4b18f34504623317ce236e9a0b6b792e Mon Sep 17 00:00:00 2001
From: Julien Lepiller <[email-masked]>
Date: Sat, 22 Apr 2017 19:14:03 +0200
Subject: [PATCH 27/34] gnu: Add python-django-rq.

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

diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm
index dcd2f86c5..d87d5820f 100644
--- a/gnu/packages/django.scm
+++ b/gnu/packages/django.scm
@@ -452,3 +452,30 @@ project.")
 
 (define-public python2-django-redis
   (package-with-python2 python-django-redis))
+
+(define-public python-django-rq
+  (package
+    (name "python-django-rq")
+    (version "0.9.4")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "django-rq" version))
+              (sha256
+               (base32
+                "04v8ilfdp10bk31fxgh4cn083gsn5m06342cnpm5d10nd8hc0vky"))))
+    (build-system python-build-system)
+    (arguments
+     `(#:tests? #f))
+    (propagated-inputs
+     `(("python-django" ,python-django)
+       ("python-rq" ,python-rq)))
+    (home-page "https://github.com/ui/django-rq")
+    (synopsis "Django integration with RQ")
+    (description
+      "Django integration with RQ, a Redis based Python queuing library.
+Django-RQ is a simple app that allows you to configure your queues in django's
+settings.py and easily use them in your project.")
+    (license license:expat)))
+
+(define-public python2-django-rq
+  (package-with-python2 python-django-rq))
-- 
2.12.2

>From d133c91a925e488a09da92fbb68b1a70d29cdc20 Mon Sep 17 00:00:00 2001
From: Julien Lepiller <[email-masked]>
Date: Sat, 22 Apr 2017 19:18:02 +0200
Subject: [PATCH 28/34] gnu: Add python-django-sortedm2m.

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

diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm
index d87d5820f..013ad9a38 100644
--- a/gnu/packages/django.scm
+++ b/gnu/packages/django.scm
@@ -479,3 +479,29 @@ settings.py and easily use them in your project.")
 
 (define-public python2-django-rq
   (package-with-python2 python-django-rq))
+
+(define-public python-django-sortedm2m
+  (package
+    (name "python-django-sortedm2m")
+    (version "1.3.3")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "django-sortedm2m" version))
+              (sha256
+               (base32
+                "0axf765i7b3c2s83nlph47asi8s071dhq8l7y382v1pw785s22vi"))))
+    (build-system python-build-system)
+    (arguments
+     `(#:tests? #f))
+    (propagated-inputs
+     `(("python-django" ,python-django)))
+    (home-page "https://github.com/gregmuellegger/django-sortedm2m")
+    (synopsis "drop-in replacement for django's own ManyToManyField")
+    (description
+      "Sortedm2m is a drop-in replacement for django's own ManyToManyField.
+The provided SortedManyToManyField behaves like the original one but remembers
+the order of added relations.")
+    (license license:bsd-3)))
+
+(define-public python2-django-sortedm2m
+  (package-with-python2 python-django-sortedm2m))
-- 
2.12.2

>From 5de7cc59ae72b60efad6a499f3b315fa02d683f5 Mon Sep 17 00:00:00 2001
From: Julien Lepiller <[email-masked]>
Date: Sat, 22 Apr 2017 19:18:46 +0200
Subject: [PATCH 29/34] gnu: Add python-django-appconf.

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

diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm
index 013ad9a38..fc44fd928 100644
--- a/gnu/packages/django.scm
+++ b/gnu/packages/django.scm
@@ -505,3 +505,29 @@ the order of added relations.")
 
 (define-public python2-django-sortedm2m
   (package-with-python2 python-django-sortedm2m))
+
+(define-public python-django-appconf
+  (package
+    (name "python-django-appconf")
+    (version "1.0.2")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "django-appconf" version))
+              (sha256
+               (base32
+                "0qdjdx35g66xjsc50v0c5h3kg6njs8df33mbjx6j4k1vd3m9lkba"))))
+    (build-system python-build-system)
+    (propagated-inputs
+     `(("python-django" ,python-django)))
+    (home-page "https://github.com/django-compressor/django-appconf")
+    (synopsis "Handle configuration defaults of packaged Django apps")
+    (description
+      "This app precedes Django's own AppConfig classes that act as \"objects
+[to] store metadata for an application\" inside Django's app loading mechanism.
+In other words, they solve a related but different use case than
+django-appconf and can't easily be used as a replacement.  The similarity in
+name is purely coincidental.")
+    (license license:bsd-3)))
+
+(define-public python2-django-appconf
+  (package-with-python2 python-django-appconf))
-- 
2.12.2

>From a35c0e70126ef8c99f552dde3dc7a7f8e90d8955 Mon Sep 17 00:00:00 2001
From: Julien Lepiller <[email-masked]>
Date: Sat, 22 Apr 2017 19:19:19 +0200
Subject: [PATCH 30/34] gnu: Add python-django-statici18n.

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

diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm
index fc44fd928..44aaf27d0 100644
--- a/gnu/packages/django.scm
+++ b/gnu/packages/django.scm
@@ -531,3 +531,27 @@ name is purely coincidental.")
 
 (define-public python2-django-appconf
   (package-with-python2 python-django-appconf))
+
+(define-public python-django-statici18n
+  (package
+    (name "python-django-statici18n")
+    (version "1.3.0")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "django-statici18n" version))
+              (sha256
+               (base32
+                "0alcf4g1nv69njhq5k3qw4mfl2k6dc18bik5nk0g1mnp3m8zyz7k"))))
+    (build-system python-build-system)
+    (propagated-inputs
+     `(("python-django" ,python-django)
+       ("django-appconf" ,python-django-appconf)))
+    (home-page "https://github.com/zyegfryed/django-statici18n")
+    (synopsis "Generate JavaScript catalog to static files")
+    (description
+      "A Django app that provides helper for generating JavaScript catalog to
+static files.")
+    (license license:bsd-3)))
+
+(define-public python2-django-statici18n
+  (package-with-python2 python-django-statici18n))
-- 
2.12.2

>From 045c93faa3ec4ea3a5355cc5c0db615d0491bc18 Mon Sep 17 00:00:00 2001
From: Julien Lepiller <[email-masked]>
Date: Sat, 22 Apr 2017 21:46:03 +0200
Subject: [PATCH 31/34] gnu: python-pytest-django: Update to 3.1.2.

* gnu/packages/django.scm (python-pytest-django, python2-pytest-django):
Update to 3.1.2.
---
 gnu/packages/django.scm | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm
index 44aaf27d0..51c653518 100644
--- a/gnu/packages/django.scm
+++ b/gnu/packages/django.scm
@@ -128,13 +128,13 @@ with arguments to the field constructor.")
 (define-public python-pytest-django
   (package
     (name "python-pytest-django")
-    (version "2.9.1")
+    (version "3.1.2")
     (source (origin
               (method url-fetch)
               (uri (pypi-uri "pytest-django" version))
               (sha256
                (base32
-                "1mmc7zsz3dlhs6sx4sppkj1vgshabi362r1a8b8wpj1qfximpqcb"))))
+                "02932m2sr8x22m4az8syr8g835g4ak77varrnw71n6xakmdcr303"))))
     (build-system python-build-system)
     (arguments
      `(#:tests? #f ; FIXME: How to run tests?
@@ -143,7 +143,7 @@ with arguments to the field constructor.")
          (add-after 'unpack 'patch-setuppy
            (lambda _
              (substitute* "setup.py"
-                          (("setuptools_scm==1.8.0") "setuptools_scm"))
+                          (("setuptools_scm==1.11.1") "setuptools_scm"))
              #t)))))
     (native-inputs
      `(("python-django" ,python-django)
-- 
2.12.2

>From ca2c4c8f44978bb29c58d0e68c6b4d0b0ea58a8e Mon Sep 17 00:00:00 2001
From: Julien Lepiller <[email-masked]>
Date: Sat, 22 Apr 2017 21:52:16 +0200
Subject: [PATCH 32/34] gnu: python-pytest-cov: Update to 2.4.0.

* gnu/packages/python.scm (python-pytest-cov, python2-pytest-cov): Update to
2.4.0.
---
 gnu/packages/python.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index e372d29f4..00e274abf 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -1843,14 +1843,14 @@ and many external plugins.")
 (define-public python-pytest-cov
   (package
     (name "python-pytest-cov")
-    (version "2.2.1")
+    (version "2.4.0")
     (source
       (origin
         (method url-fetch)
         (uri (pypi-uri "pytest-cov" version))
         (sha256
          (base32
-          "1yl4nbhzfgsxqlsyk4clafgp9x11zvgrkprm9i2p3fgkwx9jxcm8"))))
+          "03c2qc42r4bczyw93gd7n0qi1h1jfhw7fnbhi33c3vp1hs81gm2k"))))
     (build-system python-build-system)
     (arguments
      `(#:phases
-- 
2.12.2

>From a50e29957e5d5ebe404631ffe6efeaf0f37def9c Mon Sep 17 00:00:00 2001
From: Julien Lepiller <[email-masked]>
Date: Sat, 22 Apr 2017 21:09:47 +0200
Subject: [PATCH 33/34] gnu: Fix python2-django-allauth.

because python-openid is not the same package as python2-openid,
package-with-python2 doesn't work in packages that depend on it.

* gnu/packages/django.scm (python2-django-allauth)[propagated-inputs]:
Use python2 versions.
---
 gnu/packages/django.scm | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm
index 51c653518..37f437cf7 100644
--- a/gnu/packages/django.scm
+++ b/gnu/packages/django.scm
@@ -220,7 +220,13 @@ account authentication.")
     (license license:expat)))
 
 (define-public python2-django-allauth
-  (package-with-python2 python-django-allauth))
+  (package
+    (inherit (package-with-python2 python-django-allauth))
+    (propagated-inputs
+     `(("python2-openid" ,python2-openid)
+       ("python2-requests" ,python2-requests)
+       ("python2-requests-oauthlib" ,python2-requests-oauthlib)))))
+    
 
 (define-public python-django-gravatar2
   (package
-- 
2.12.2

>From 880314660308ad6e42b68a26eb8e8dd4a47441c4 Mon Sep 17 00:00:00 2001
From: Julien Lepiller <[email-masked]>
Date: Sat, 22 Apr 2017 23:11:07 +0200
Subject: [PATCH 34/34] gnu: Add pootle.

* gnu/packages/django.scm (pootle): New variable.
---
 gnu/packages/django.scm | 65 +++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 65 insertions(+)

diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm
index 37f437cf7..1de8d2cd7 100644
--- a/gnu/packages/django.scm
+++ b/gnu/packages/django.scm
@@ -561,3 +561,68 @@ static files.")
 
 (define-public python2-django-statici18n
   (package-with-python2 python-django-statici18n))
+
+(define-public pootle
+  (package
+    (name "pootle")
+    (version "2.8.0rc5")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (pypi-uri "Pootle" version ".tar.bz2"))
+        (sha256
+         (base32
+          "0m6qcpkcy22dk3ad5y2k8851kqg2w6vrkywgy4vabwbacd7r1mvn"))
+        (modules '((guix build utils)))
+        (snippet
+         '(begin
+            (mkdir-p "pytest_pootle/data/po/.tmp")
+            (substitute* "Pootle.egg-info/requires.txt"
+              (("1.7.3") "1.8.0")
+              (("2.0.0") "2.1.0"))
+            (substitute* "requirements/tests.txt"
+              (("==3.0.6") ">=3.0.6"))
+            (substitute* "requirements/base.txt"
+              (("1.7.3") "1.8.0")
+              (("2.0.0") "2.1.0"))))))
+    (build-system python-build-system)
+    (arguments
+     `(#:python ,python-2
+       #:tests? #f))
+    (propagated-inputs
+     `(("django-allauth" ,python2-django-allauth)
+       ("django-assets" ,python2-django-assets)
+       ("django-bulk-update" ,python2-django-bulk-update)
+       ("django-contact-form" ,python2-django-contact-form)
+       ("django-contrib-comments" ,python2-django-contrib-comments)
+       ("django-overextends" ,python2-django-overextends)
+       ("django-redis" ,python2-django-redis)
+       ("django-rq" ,python2-django-rq)
+       ("django-sortedm2m" ,python2-django-sortedm2m)
+       ("django-statici18n" ,python2-django-statici18n)
+       ("babel" ,python2-babel)
+       ("cssmin" ,python2-cssmin)
+       ("diff-match-patch" ,python2-diff-match-patch)
+       ("dirsync" ,python2-dirsync)
+       ("elasticsearch" ,python2-elasticsearch)
+       ("jsonfield" ,python2-django-jsonfield)
+       ("lxml" ,python2-lxml)
+       ("dateutil" ,python2-dateutil)
+       ("levenshtein" ,python2-levenshtein)
+       ("mysqlclient" ,python2-mysqlclient)
+       ("psycopg2" ,python2-psycopg2)
+       ("pytz" ,python2-pytz)
+       ("rq" ,python2-rq)
+       ("scandir" ,python2-scandir)
+       ("stemming" ,python2-stemming)
+       ("translate-toolkit" ,python2-translate-toolkit)))
+    (native-inputs
+     `(("python2-pytest-warnings" ,python2-pytest-warnings)
+       ("python2-pytest-django" ,python2-pytest-django)
+       ("python2-pytest-catchlog" ,python2-pytest-catchlog)
+       ("python2-pytest-cov" ,python2-pytest-cov)
+       ("python2-factory-boy" ,python2-factory-boy)))
+    (home-page "http://pootle.translatehouse.org/")
+    (synopsis "Community localization server")
+    (description "Community localization server.")
+    (license license:gpl3+)))
-- 
2.12.2