summaryrefslogtreecommitdiff
path: root/gnu/packages/django.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/django.scm')
-rw-r--r--gnu/packages/django.scm518
1 files changed, 512 insertions, 6 deletions
diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm
index 185fbf8e62..356586e1bc 100644
--- a/gnu/packages/django.scm
+++ b/gnu/packages/django.scm
@@ -1,6 +1,7 @@
;;; 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 © 2017 ng0 <contact.ng0@cryptolab.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -24,18 +25,19 @@
#:use-module (guix build-system python)
#:use-module (gnu packages)
#:use-module (gnu packages base)
+ #:use-module (gnu packages databases)
#:use-module (gnu packages python))
(define-public python-django
(package
(name "python-django")
- (version "1.10.5")
+ (version "1.10.7")
(source (origin
(method url-fetch)
(uri (pypi-uri "Django" version))
(sha256
(base32
- "12szjsmnfhh2yr54sfynyjr8vl0q9gb6qak3ayqcifcinrs97f0d"))))
+ "1f5hnn2dzfr5szk4yc47bs4kk2nmrayjcvgpqi2s4l13pjfpfgar"))))
(build-system python-build-system)
(arguments
'(#:phases
@@ -80,7 +82,8 @@ development and clean, pragmatic design. It provides many tools for building
any Web site. Django focuses on automating as much as possible and adhering
to the @dfn{don't repeat yourself} (DRY) principle.")
(license license:bsd-3)
- (properties `((python2-variant . ,(delay python2-django))))))
+ (properties `((python2-variant . ,(delay python2-django))
+ (cpe-name . "django")))))
(define-public python2-django
(let ((base (package-with-python2 (strip-python2-variant python-django))))
@@ -126,13 +129,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?
@@ -141,7 +144,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)
@@ -188,3 +191,506 @@ them do this.")
(define-public python2-django-filter
(package-with-python2 python-django-filter))
+
+(define-public python-django-allauth
+ (package
+ (name "python-django-allauth")
+ (version "0.30.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "django-allauth" version))
+ (sha256
+ (base32
+ "1fslqc5qqb0b66yscvkyjwfv8cnbfx5nlkpnwimyb3pf1nc1w7r3"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-openid" ,python-openid)
+ ("python-requests" ,python-requests)
+ ("python-requests-oauthlib" ,python-requests-oauthlib)))
+ (native-inputs
+ `(("python-mock" ,python-mock)))
+ (inputs
+ `(("python-django" ,python-django)))
+ (home-page "https://github.com/pennersr/django-allauth")
+ (synopsis "Set of Django applications addressing authentication")
+ (description
+ "Integrated set of Django applications addressing authentication,
+registration, account management as well as 3rd party (social)
+account authentication.")
+ (license license:expat)))
+
+(define-public python2-django-allauth
+ (package-with-python2 python-django-allauth))
+
+(define-public python-django-gravatar2
+ (package
+ (name "python-django-gravatar2")
+ (version "1.4.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "django-gravatar2" version))
+ (sha256
+ (base32
+ "1v4qyj6kms321yw0z2g1kch6b2dskmv6fjd6sfxzwr4xshq9mccl"))))
+ (build-system python-build-system)
+ (inputs
+ `(("python-django" ,python-django)))
+ (home-page "https://github.com/twaddington/django-gravatar")
+ (synopsis "Gravatar support for Django, improved version")
+ (description
+ "Essential Gravatar support for Django. Features helper methods,
+templatetags and a full test suite.")
+ (license license:expat)))
+
+(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"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'fix-tests
+ (lambda _
+ (begin
+ ;; https://github.com/miracle2k/django-assets/issues/87
+ (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"))))))))
+ (native-inputs
+ `(("python-nose" ,python-nose)))
+ (propagated-inputs
+ `(("python-django" ,python-django)
+ ("python-webassets" ,python-webassets)))
+ (home-page "https://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))
+
+(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"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'fix-tests
+ (lambda _
+ (substitute* "jsonfield/tests.py"
+ (("django.forms.util") "django.forms.utils")))))))
+ (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))
+
+(define-public python-dj-database-url
+ (package
+ (name "python-dj-database-url")
+ (version "0.4.2")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "dj-database-url" version))
+ (sha256
+ (base32
+ "024zbkc5rli4hia9lz9g8kf1zxhb2gwawj5abf67i7gf8n22v0x6"))))
+ (build-system python-build-system)
+ (home-page "https://github.com/kennethreitz/dj-database-url")
+ (synopsis "Use Database URLs in your Django Application")
+ (description
+ "This simple Django utility allows you to utilize the 12factor inspired
+DATABASE_URL environment variable to configure your Django application.
+
+The dj_database_url.config method returns a Django database connection
+dictionary, populated with all the data specified in your URL. There is also a
+conn_max_age argument to easily enable Django’s connection pool.")
+ (license license:bsd-2)))
+
+(define-public python2-dj-database-url
+ (package-with-python2 python-dj-database-url))
+
+(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 don't support django 1.10, but the module seems to work.
+ `(#:tests? #f))
+ (native-inputs
+ `(("six" ,python-six)
+ ("jsonfield" ,python-django-jsonfield)
+ ("python-dj-database-url" ,python-dj-database-url)))
+ (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))
+
+(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
+ `(#:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda _
+ ;; the next version will need "make test"
+ (and (zero? (system* "flake8" "contact_form"))
+ (zero? (system* "coverage" "run" "contact_form/runtests.py"))
+ (zero? (system* "coverage" "report" "-m" "--fail-under" "0"))))))))
+ (native-inputs
+ `(("python-coverage" ,python-coverage)
+ ("python-flake8" ,python-flake8)))
+ (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))
+
+(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))
+
+(define-public python-django-overextends
+ (package
+ (name "python-django-overextends")
+ (version "0.4.3")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "django-overextends" version))
+ (sha256
+ (base32
+ "0qc2pcf3i56pmfxh2jw7k3pgljd8xzficmkl2541n7bkcbngqfzm"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda _
+ (zero? (system* "./test_project/manage.py" "test")))))))
+ (propagated-inputs
+ `(("python-django" ,python-django)))
+ (native-inputs
+ `(("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))
+
+(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
+ `(#:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda _
+ (and (zero? (system* "redis-server" "--daemonize" "yes"))
+ (with-directory-excursion "tests"
+ (zero? (system* "python" "runtests.py")))))))))
+ (native-inputs
+ `(("python-fakeredis" ,python-fakeredis)
+ ("python-hiredis" ,python-hiredis)
+ ("python-mock" ,python-mock)
+ ("python-msgpack" ,python-msgpack)
+ ("redis" ,redis)))
+ (propagated-inputs
+ `(("python-django" ,python-django)
+ ("python-redis" ,python-redis)))
+ (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))
+
+(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
+ `(#:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda _
+ (and (zero? (system* "redis-server" "--daemonize" "yes"))
+ (zero? (system* "django-admin.py" "test" "django_rq"
+ "--settings=django_rq.test_settings"
+ "--pythonpath="))))))))
+ (native-inputs
+ `(("redis" ,redis)))
+ (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))
+
+(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
+ ;; no tests.
+ `(#: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))
+
+(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))
+
+(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))
+
+(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"))))
+ (build-system python-build-system)
+ (arguments
+ `(; pootle supports only python2.
+ #:python ,python-2
+ ;; tests are not run and fail with "pytest_pootle/data/po/.tmp: No such
+ ;; file or directory". If we create this directory,
+ ;; pytest_pootle/data/po/terminology.po is missing.
+ #:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'fix-requirements
+ (lambda _
+ (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")))))))
+ (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
+ "Pootle is an online translation and localization tool. It works to
+lower the barrier of entry, providing tools to enable teams to work towards
+higher quality while welcoming newcomers.")
+ (license license:gpl3+)))