gnu: emacs: Remove unneeded import.
[jackhill/guix/guix.git] / gnu / packages / django.scm
index 8ea9dca..8e72139 100644 (file)
@@ -1,10 +1,11 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com>
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com>
-;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016, 2019 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2017 ng0 <ng0@n0.is>
 ;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2018 Vijayalakshmi Vedantham <vijimay12@gmail.com>
 ;;; Copyright © 2017 ng0 <ng0@n0.is>
 ;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2018 Vijayalakshmi Vedantham <vijimay12@gmail.com>
+;;; Copyright © 2019 Sam <smbaines8@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -25,6 +26,7 @@
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
   #:use-module (guix download)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
   #:use-module (guix download)
+  #:use-module (guix git-download)
   #:use-module (guix build-system python)
   #:use-module (gnu packages)
   #:use-module (gnu packages base)
   #:use-module (guix build-system python)
   #:use-module (gnu packages)
   #:use-module (gnu packages base)
   #:use-module (gnu packages python)
   #:use-module (gnu packages python-web)
   #:use-module (gnu packages python-xyz)
   #:use-module (gnu packages python)
   #:use-module (gnu packages python-web)
   #:use-module (gnu packages python-xyz)
-  #:use-module (gnu packages time))
+  #:use-module (gnu packages sphinx)
+  #:use-module (gnu packages time)
+  #:use-module (gnu packages xml))
 
 (define-public python-django
   (package
     (name "python-django")
 
 (define-public python-django
   (package
     (name "python-django")
-    (version "1.11.20")
+    (version "1.11.28")
     (source (origin
               (method url-fetch)
               (uri (pypi-uri "Django" version))
               (sha256
                (base32
     (source (origin
               (method url-fetch)
               (uri (pypi-uri "Django" version))
               (sha256
                (base32
-                "0h90kdq8r4y8wa73hdxmyy5psnwlg61dcq3qsa098cpfiyh9vaa3"))))
+                "1ss1jyip7mlbfjn27m0j6wx80s8h4ksg6g5annkgwigp8xgy6g5k"))))
     (build-system python-build-system)
     (arguments
      '(#:modules ((srfi srfi-1)
     (build-system python-build-system)
     (arguments
      '(#:modules ((srfi srfi-1)
@@ -95,7 +99,7 @@
        ("python-tblib" ,python-tblib)))
     (propagated-inputs
      `(("python-pytz" ,python-pytz)))
        ("python-tblib" ,python-tblib)))
     (propagated-inputs
      `(("python-pytz" ,python-pytz)))
-    (home-page "http://www.djangoproject.com/")
+    (home-page "https://www.djangoproject.com/")
     (synopsis "High-level Python Web framework")
     (description
      "Django is a high-level Python Web framework that encourages rapid
     (synopsis "High-level Python Web framework")
     (description
      "Django is a high-level Python Web framework that encourages rapid
@@ -119,6 +123,46 @@ to the @dfn{don't repeat yourself} (DRY) principle.")
          ;; required.
          ,@(package-native-inputs base))))))
 
          ;; required.
          ,@(package-native-inputs base))))))
 
+(define-public python-django-extensions
+  (package
+    (name "python-django-extensions")
+    (version "2.1.6")
+    (source
+     (origin
+       (method git-fetch)
+       ;; Fetch from the git repository, so that the tests can be run.
+       (uri (git-reference
+             (url "https://github.com/django-extensions/django-extensions.git")
+             (commit version)))
+       (file-name (string-append name "-" version))
+       (sha256
+        (base32
+         "0p4qrdinrv6indczlc8dcnm528i5fzmcn9xk1ja7ycfkyk5x6j5w"))))
+    (build-system python-build-system)
+    (arguments
+     '(#:tests? #f)) ;TODO collected 378 items / 3 errors / 1 skipped
+    (propagated-inputs
+     `(("python-six" ,python-six)
+       ("python-vobject" ,python-vobject)
+       ("python-werkzeug" ,python-werkzeug)
+       ("python-dateutil" ,python-dateutil)
+       ("python-django" ,python-django)))
+    (native-inputs
+     `(("python-mock" ,python-mock)
+       ("python-factory-boy" ,python-factory-boy)
+       ("python-tox" ,python-tox)
+       ("python-pytest" ,python-pytest)
+       ("python-pytest-cov" ,python-pytest-cov)
+       ("python-pytest-django" ,python-pytest-django)
+       ("python-shortuuid" , python-shortuuid)))
+    (home-page
+     "https://github.com/django-extensions/django-extensions")
+    (synopsis "Custom management extensions for Django")
+    (description
+     "Django-extensions extends Django providing, for example, management
+commands, additional database fields and admin extensions.")
+    (license license:expat)))
+
 (define-public python-django-simple-math-captcha
   (package
     (name "python-django-simple-math-captcha")
 (define-public python-django-simple-math-captcha
   (package
     (name "python-django-simple-math-captcha")
@@ -147,6 +191,62 @@ with arguments to the field constructor.")
 (define-public python2-django-simple-math-captcha
   (package-with-python2 python-django-simple-math-captcha))
 
 (define-public python2-django-simple-math-captcha
   (package-with-python2 python-django-simple-math-captcha))
 
+(define-public python-django-taggit
+  (package
+    (name "python-django-taggit")
+    (version "1.1.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "django-taggit" version))
+       (sha256
+        (base32
+         "044fzcpmns90kaxdi49qczlam4xsi8rl73rpfwvxx1gkcqzidgq1"))))
+    (build-system python-build-system)
+    (arguments
+     '(#:phases
+       (modify-phases %standard-phases
+         (replace 'check
+           (lambda _
+             (invoke "python3" "-m" "django" "test" "--settings=tests.settings"))))))
+    (propagated-inputs
+     `(("python-django" ,python-django)
+       ("python-isort" ,python-isort)))
+    (native-inputs
+     `(("python-pytest" ,python-pytest)
+       ("python-mock" ,python-mock)))
+    (home-page
+     "https://github.com/jazzband/django-taggit")
+    (synopsis
+     "Reusable Django application for simple tagging")
+    (description
+     "Django-taggit is a reusable Django application for simple tagging.")
+    (license license:bsd-3)))
+
+(define-public python-easy-thumbnails
+  (package
+    (name "python-easy-thumbnails")
+    (version "2.7")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "easy-thumbnails" version))
+       (sha256
+        (base32
+         "14gzp5cv24z0qhxb7f7k7v9jgzpaj4n8yhjq83ynpx8183fs1rz4"))))
+    (build-system python-build-system)
+    (propagated-inputs
+     `(("python-django" ,python-django)
+       ("python-pillow" ,python-pillow)))
+    (home-page "https://github.com/SmileyChris/easy-thumbnails")
+    (synopsis "Easy thumbnails for Django")
+    (description
+     "Easy thumbnails is a Django plugin to dynamically create thumbnails
+based on source images.  Multiple thumbnails can be created from a single
+source image, using different options to control parameters like the image
+size and quality.")
+    (license license:bsd-3)))
+
 (define-public python-pytest-django
   (package
     (name "python-pytest-django")
 (define-public python-pytest-django
   (package
     (name "python-pytest-django")
@@ -172,7 +272,7 @@ with arguments to the field constructor.")
        ("python-setuptools-scm" ,python-setuptools-scm)))
     (propagated-inputs
      `(("python-pytest" ,python-pytest)))
        ("python-setuptools-scm" ,python-setuptools-scm)))
     (propagated-inputs
      `(("python-pytest" ,python-pytest)))
-    (home-page "http://pytest-django.readthedocs.org/")
+    (home-page "https://pytest-django.readthedocs.org/")
     (synopsis "Django plugin for py.test")
     (description "Pytest-django is a plugin for py.test that provides a set of
 useful tools for testing Django applications and projects.")
     (synopsis "Django plugin for py.test")
     (description "Pytest-django is a plugin for py.test that provides a set of
 useful tools for testing Django applications and projects.")
@@ -273,14 +373,14 @@ account authentication.")
     (version "1.10.1")
     (source
      (origin
     (version "1.10.1")
     (source
      (origin
-       (method url-fetch)
-       (uri (string-append
-             "https://github.com/jazzband/django-debug-toolbar/archive/"
-             version ".tar.gz"))
-       (file-name (string-append name "-" version ".tar.gz"))
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/jazzband/django-debug-toolbar.git")
+             (commit version)))
+       (file-name (git-file-name name version))
        (sha256
         (base32
        (sha256
         (base32
-         "1rww056hyzks8spbgf4h7kf6ybxlc5p08a2b6gn1nqrrzs4yx9sy"))))
+         "0zr6yjsms97wlvvd17rdbrx01irkg887dn9x70c1hzfjmfvp9afk"))))
     (build-system python-build-system)
     (propagated-inputs
      `(("python-sqlparse" ,python-sqlparse)
     (build-system python-build-system)
     (propagated-inputs
      `(("python-sqlparse" ,python-sqlparse)
@@ -381,14 +481,14 @@ merging, minifying and compiling CSS and Javascript files.")
     (version "2.4.1")
     (source
      (origin
     (version "2.4.1")
     (source
      (origin
-       (method url-fetch)
-       (uri (string-append
-             "https://github.com/niwinz/django-jinja/archive/"
-             version ".tar.gz"))
-       (file-name (string-append name "-" version ".tar.gz"))
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/niwinz/django-jinja.git")
+             (commit version)))
+       (file-name (git-file-name name version))
        (sha256
         (base32
        (sha256
         (base32
-         "0bzrb4m6wx9ph5cpvz7wpvg5k6ksvj0dnxlg0nhhqskhvp46brs1"))))
+         "1fcrxlznlq1xvl26y3j1r22vvy6m08r5l97xi2wj50rdmxhfvhis"))))
     (build-system python-build-system)
     (propagated-inputs
      `(("python-django" ,python-django)
     (build-system python-build-system)
     (propagated-inputs
      `(("python-django" ,python-django)
@@ -620,6 +720,9 @@ project.")
              (or
               (not tests?)
               (begin
              (or
               (not tests?)
               (begin
+                (setenv "PYTHONPATH"
+                        (string-append (getcwd) ":"
+                                       (getenv "PYTHONPATH")))
                 (setenv "DJANGO_SETTINGS_MODULE" "tests.settings")
                 (invoke "django-admin" "test" "tests"))))))))
     (propagated-inputs
                 (setenv "DJANGO_SETTINGS_MODULE" "tests.settings")
                 (invoke "django-admin" "test" "tests"))))))))
     (propagated-inputs
@@ -675,13 +778,13 @@ support, and optional data-URI image and font embedding.")
 (define-public python-django-rq
   (package
     (name "python-django-rq")
 (define-public python-django-rq
   (package
     (name "python-django-rq")
-    (version "1.3.0")
+    (version "1.3.1")
     (source (origin
               (method url-fetch)
               (uri (pypi-uri "django-rq" version))
               (sha256
                (base32
     (source (origin
               (method url-fetch)
               (uri (pypi-uri "django-rq" version))
               (sha256
                (base32
-                "0xh6qa7i779vh58lwwv6yk0wx8bi38mvmpz79grnl2cl8531r928"))))
+                "1ips1ikv5qhgwb58ssn496vgqg9qv6jinwmwbrg9l3s75fskd1l5"))))
     (build-system python-build-system)
     (arguments
      `(#:phases
     (build-system python-build-system)
     (arguments
      `(#:phases
@@ -851,7 +954,7 @@ static files.")
        ("python2-pytest-catchlog" ,python2-pytest-catchlog)
        ("python2-pytest-cov" ,python2-pytest-cov)
        ("python2-factory-boy" ,python2-factory-boy)))
        ("python2-pytest-catchlog" ,python2-pytest-catchlog)
        ("python2-pytest-cov" ,python2-pytest-cov)
        ("python2-factory-boy" ,python2-factory-boy)))
-    (home-page "http://pootle.translatehouse.org/")
+    (home-page "https://pootle.translatehouse.org/")
     (synopsis "Community localization server")
     (description
       "Pootle is an online translation and localization tool.  It works to
     (synopsis "Community localization server")
     (description
       "Pootle is an online translation and localization tool.  It works to
@@ -933,14 +1036,13 @@ forms using your favorite CSS framework, without writing template code.")
 (define-public python-django-override-storage
   (package
     (name "python-django-override-storage")
 (define-public python-django-override-storage
   (package
     (name "python-django-override-storage")
-    (version "0.1.4")
+    (version "0.1.6")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "django-override-storage" version))
        (sha256
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "django-override-storage" version))
        (sha256
-        (base32
-         "0sqz1mh0yn8b1bzz2gr2azfiynljigm5gkzavp5n17zd3j2jg57x"))))
+        (base32 "022arq94lxnlyykn8wvfnkykhi2dldnsn93pa2i41na551i0wpiv"))))
     (build-system python-build-system)
     (propagated-inputs
      `(("python-django" ,python-django)))
     (build-system python-build-system)
     (propagated-inputs
      `(("python-django" ,python-django)))