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.scm401
1 files changed, 158 insertions, 243 deletions
diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm
index 706debfad2..3aeba5b4a3 100644
--- a/gnu/packages/django.scm
+++ b/gnu/packages/django.scm
@@ -7,6 +7,7 @@
;;; Copyright © 2018 Vijayalakshmi Vedantham <vijimay12@gmail.com>
;;; Copyright © 2019 Sam <smbaines8@gmail.com>
;;; Copyright © 2020, 2021 Marius Bakke <marius@gnu.org>
+;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2021 Luis Felipe López Acevedo <luis.felipe.la@protonmail.com>
;;;
;;; This file is part of GNU Guix.
@@ -65,8 +66,7 @@
;; The test-suite tests timezone-dependent functions, thus tzdata
;; needs to be available.
(setenv "TZDIR"
- (string-append (assoc-ref inputs "tzdata")
- "/share/zoneinfo"))
+ (search-input-directory inputs "share/zoneinfo"))
;; Disable test for incorrect timezone: it only raises the
;; expected error when /usr/share/zoneinfo exists, even though
@@ -76,24 +76,13 @@
(substitute* "tests/settings_tests/tests.py"
((".*def test_incorrect_timezone.*" all)
(string-append " @unittest.skipIf(True, 'Disabled by Guix')\n"
- all)))
-
- ;; Preserve the PYTHONPATH created by Guix when running the tests.
- (substitute* "tests/admin_scripts/tests.py"
- (("python_path = \\[")
- (string-append "python_path = ['"
- (string-join
- (string-split (getenv "PYTHONPATH") #\:)
- "','")
- "', ")))
-
- #t))
+ all)))))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(if tests?
(with-directory-excursion "tests"
- (setenv "PYTHONPATH"
- (string-append "..:" (getenv "PYTHONPATH")))
+ ;; Tests expect PYTHONPATH to contain the root directory.
+ (setenv "PYTHONPATH" "..")
(invoke "python" "runtests.py"
;; By default tests run in parallel, which may cause
;; various race conditions. Run sequentially for
@@ -108,29 +97,27 @@
(delete 'wrap))))
;; TODO: Install extras/django_bash_completion.
(native-inputs
- `(("tzdata" ,tzdata-for-tests)
- ;; Remaining packages are test requirements taken from
- ;; tests/requirements/py3.txt
- ("python-docutils" ,python-docutils)
- ;; optional for tests: ("python-geoip2" ,python-geoip2)
- ;; optional for tests: ("python-memcached" ,python-memcached)
- ("python-numpy" ,python-numpy)
- ("python-pillow" ,python-pillow)
- ("python-pyyaml" ,python-pyyaml)
- ;; optional for tests: ("python-selenium" ,python-selenium)
- ("python-tblib" ,python-tblib)))
+ (list tzdata-for-tests
+ ;; Remaining packages are test requirements taken from
+ ;; tests/requirements/py3.txt
+ python-docutils
+ ;; optional for tests: ("python-geoip2" ,python-geoip2)
+ ;; optional for tests: ("python-memcached" ,python-memcached)
+ python-numpy
+ python-pillow
+ python-pyyaml
+ ;; optional for tests: ("python-selenium" ,python-selenium)
+ python-tblib))
(propagated-inputs
- `(("python-asgiref" ,python-asgiref)
- ("python-pytz" ,python-pytz)
- ("python-sqlparse" ,python-sqlparse)
-
- ;; Optional dependencies.
- ("python-argon2-cffi" ,python-argon2-cffi)
- ("python-bcrypt" ,python-bcrypt)
-
- ;; This input is not strictly required, but in practice many Django
- ;; libraries need it for test suites and similar.
- ("python-jinja2" ,python-jinja2)))
+ (list python-asgiref
+ python-pytz
+ python-sqlparse
+ ;; Optional dependencies.
+ python-argon2-cffi
+ python-bcrypt
+ ;; This input is not strictly required, but in practice many Django
+ ;; libraries need it for test suites and similar.
+ python-jinja2))
(home-page "https://www.djangoproject.com/")
(synopsis "High-level Python Web framework")
(description
@@ -152,9 +139,9 @@ to the @dfn{don't repeat yourself} (DRY) principle.")
(base32
"171ll8m1wp684z1r0lz93l377jc6jyq63q5p7sqx8iqk6ypmxrmi"))))
(native-inputs
- `(;; 2.2 requires Selenium for the test suite.
- ("python-selenium" ,python-selenium)
- ,@(package-native-inputs python-django)))))
+ (modify-inputs (package-native-inputs python-django)
+ (prepend ;; 2.2 requires Selenium for the test suite.
+ python-selenium)))))
(define-public python-django-extensions
(package
@@ -175,19 +162,16 @@ to the @dfn{don't repeat yourself} (DRY) principle.")
(arguments
'(#:tests? #f)) ;XXX: requires a Postgres or MySQL database
(propagated-inputs
- `(("python-six" ,python-six)
- ("python-vobject" ,python-vobject)
- ("python-werkzeug" ,python-werkzeug)
- ("python-dateutil" ,python-dateutil)))
+ (list python-six python-vobject python-werkzeug python-dateutil
+ python-django))
(native-inputs
- `(("python-django" ,python-django)
- ("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)))
+ (list python-mock
+ python-factory-boy
+ python-tox
+ python-pytest
+ python-pytest-cov
+ python-pytest-django
+ python-shortuuid))
(home-page
"https://github.com/django-extensions/django-extensions")
(synopsis "Custom management extensions for Django")
@@ -216,16 +200,12 @@ commands, additional database fields and admin extensions.")
(add-installed-pythonpath inputs outputs)
(setenv "PYTHONPATH"
(string-append ".:"
- (getenv "PYTHONPATH")))
+ (getenv "GUIX_PYTHONPATH")))
(invoke "invoke" "test")))))))
(native-inputs
- `(("python-coverage" ,python-coverage)
- ("python-invoke" ,python-invoke)
- ("python-pytest-django" ,python-pytest-django)
- ("which" ,which)))
+ (list python-coverage python-invoke python-pytest-django which))
(propagated-inputs
- `(("python-django" ,python-django)
- ("python-stdnum" ,python-stdnum)))
+ (list python-django python-stdnum))
(home-page "https://django-localflavor.readthedocs.io/en/latest/")
(synopsis "Country-specific Django helpers")
(description "Django-LocalFlavor is a collection of assorted pieces of code
@@ -262,10 +242,9 @@ that are useful for particular countries or cultures.")
(lambda _
(invoke "python" "runtests.py"))))))
(native-inputs
- `(("python-django" ,python-django)
- ("python-mock" ,python-mock)))
+ (list python-mock))
(propagated-inputs
- `(("python-six" ,python-six)))
+ (list python-django python-six))
(synopsis "Easy-to-use math field/widget captcha for Django forms")
(description
"A multi-value-field that presents a human answerable question,
@@ -287,6 +266,8 @@ with arguments to the field constructor.")
(build-system python-build-system)
;; FIXME: How to make the test templates available to Django?
(arguments '(#:tests? #f))
+ (propagated-inputs
+ (list python-django))
(home-page "https://github.com/divio/django-classy-tags")
(synopsis "Class based template tags for Django")
(description
@@ -315,11 +296,9 @@ when coding custom template tags.")
(lambda _
(invoke "python3" "-m" "django" "test" "--settings=tests.settings"))))))
(propagated-inputs
- `(("python-isort" ,python-isort)))
+ (list python-django python-isort))
(native-inputs
- `(("python-django" ,python-django)
- ("python-pytest" ,python-pytest)
- ("python-mock" ,python-mock)))
+ (list python-pytest python-mock))
(home-page
"https://github.com/jazzband/django-taggit")
(synopsis
@@ -340,10 +319,8 @@ when coding custom template tags.")
(base32
"14gzp5cv24z0qhxb7f7k7v9jgzpaj4n8yhjq83ynpx8183fs1rz4"))))
(build-system python-build-system)
- (native-inputs
- `(("python-django" ,python-django)))
(propagated-inputs
- `(("python-pillow" ,python-pillow)))
+ (list python-django python-pillow))
(home-page "https://github.com/SmileyChris/easy-thumbnails")
(synopsis "Easy thumbnails for Django")
(description
@@ -373,31 +350,25 @@ size and quality.")
(replace 'check
(lambda* (#:key tests? inputs outputs #:allow-other-keys)
(if tests?
- (begin
- (add-installed-pythonpath inputs outputs)
- (setenv "PYTHONPATH"
- (string-append ".:" ;for pytest_django_test
- (getenv "PYTHONPATH")))
- (setenv "PYTEST_DJANGO_TEST_RUNNER" "pytest")
- (setenv "DJANGO_SETTINGS_MODULE"
- "pytest_django_test.settings_sqlite_file")
- (invoke "pytest" "-vv" "-k"
- ;; FIXME: these tests fail to locate Django templates ...
- (string-append "not test_django_not_loaded_without_settings"
- " and not test_settings"
- ;; ... and this does not discover
- ;; 'pytest_django_test'.
- " and not test_urls_cache_is_cleared")))
- (format #t "test suite not run~%"))
- #t)))))
+ (begin
+ (setenv "PYTEST_DJANGO_TEST_RUNNER" "pytest")
+ (setenv "DJANGO_SETTINGS_MODULE"
+ "pytest_django_test.settings_sqlite_file")
+ (invoke "python" "-m" "pytest" "-vv" "-k"
+ ;; FIXME: these tests fail to locate Django templates ...
+ (string-append "not test_django_not_loaded_without_settings"
+ " and not test_settings"
+ ;; ... and this does not discover
+ ;; 'pytest_django_test'.
+ " and not test_urls_cache_is_cleared")))
+ (format #t "test suite not run~%")))))))
(native-inputs
- `(("python-django" ,python-django)
- ("python-setuptools-scm" ,python-setuptools-scm)
- ;; For tests.
- ("python-pytest-xdist" ,python-pytest-xdist-next)))
+ (list python-django python-setuptools-scm
+ ;; For tests.
+ python-pytest-xdist-next))
(propagated-inputs
- `(("python-pytest" ,python-pytest-6)))
- (home-page "https://pytest-django.readthedocs.io/")
+ (list python-pytest))
+ (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.")
@@ -406,14 +377,14 @@ useful tools for testing Django applications and projects.")
(define-public python-django-haystack
(package
(name "python-django-haystack")
- (version "2.8.1")
+ (version "3.1.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "django-haystack" version))
(sha256
(base32
- "1302fqsrx8w474xk5cmnmg3hjqfprlxnjg9qlg86arsr4v4vqm4b"))))
+ "10kaa5641cakpra2x3jqgys085gdkjcyns26plfyrmfpjmmpa1bd"))))
(build-system python-build-system)
(arguments
'(#:phases
@@ -421,27 +392,28 @@ useful tools for testing Django applications and projects.")
(add-after 'unpack 'loosen-verion-restrictions
(lambda _
(substitute* "setup.py"
- (("geopy.*") "geopy',\n"))
- #t))
+ (("geopy.*") "geopy\",\n"))))
(add-before 'check 'set-gdal-lib-path
(lambda* (#:key inputs #:allow-other-keys)
(setenv "GDAL_LIBRARY_PATH"
(string-append (assoc-ref inputs "gdal")
- "/lib"))
- #t)))
+ "/lib"))))
+ ;; Importing this module requires setting up a Django project.
+ (delete 'sanity-check))
#:tests? #f)) ; OSError: libgdal.so.27: cannot open shared object file
+ (propagated-inputs
+ (list python-django))
(native-inputs
- `(("gdal" ,gdal)
- ("python-coverage" ,python-coverage)
- ("python-django" ,python-django)
- ("python-dateutil" ,python-dateutil)
- ("python-geopy" ,python-geopy)
- ("python-mock" ,python-mock)
- ("python-nose" ,python-nose)
- ("python-requests" ,python-requests)
- ("python-setuptools-scm" ,python-setuptools-scm)
- ("python-pysolr" ,python-pysolr)
- ("python-whoosh" ,python-whoosh)))
+ (list gdal
+ python-coverage
+ python-dateutil
+ python-geopy
+ python-mock
+ python-nose
+ python-requests
+ python-setuptools-scm
+ python-pysolr
+ python-whoosh))
(home-page "http://haystacksearch.org/")
(synopsis "Pluggable search for Django")
(description "Haystack provides modular search for Django. It features a
@@ -468,10 +440,8 @@ your code.")
(lambda _
(invoke "python" "runtests.py"))))))
(native-inputs
- `(("python-django" ,python-django)
- ("python-djangorestframework" ,python-djangorestframework)
- ("python-django-crispy-forms" ,python-django-crispy-forms)
- ("python-mock" ,python-mock)))
+ (list python-django python-djangorestframework
+ python-django-crispy-forms python-mock))
(home-page "https://django-filter.readthedocs.io/en/latest/")
(synopsis "Reusable Django application to filter querysets dynamically")
(description
@@ -502,12 +472,11 @@ them do this.")
(invoke "django-admin" "test" "allauth.tests"
"--pythonpath=."))))))
(propagated-inputs
- `(("python-openid" ,python-openid)
- ("python-requests" ,python-requests)
- ("python-requests-oauthlib" ,python-requests-oauthlib)))
+ (list python-openid python-requests python-requests-oauthlib))
(native-inputs
- `(("python-django" ,python-django)
- ("python-mock" ,python-mock)))
+ (list python-mock))
+ (inputs
+ (list python-django))
(home-page "https://github.com/pennersr/django-allauth")
(synopsis "Set of Django applications addressing authentication")
(description
@@ -532,11 +501,9 @@ account authentication.")
"1m1j2sx7q0blma0miswj3c8hrfi5q4y5cq2b816v8gagy89xgc57"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-sqlparse" ,python-sqlparse)))
+ (list python-sqlparse python-django))
(native-inputs
- `(("python-django" ,python-django)
- ("python-django-jinja" ,python-django-jinja)
- ("python-html5lib" ,python-html5lib)))
+ (list python-django-jinja python-html5lib))
(arguments
'(#:phases
(modify-phases %standard-phases
@@ -565,10 +532,8 @@ request and response as a toolbar on the rendered page.")
(build-system python-build-system)
(arguments '(#:tests? #f)) ;XXX: 'make check' does "echo TODO"
(propagated-inputs
- `(("python-django-debug-toolbar" ,python-django-debug-toolbar)
- ("python-jsonplus" ,python-jsonplus)
- ("python-six" ,python-six)
- ("python-sqlalchemy" ,python-sqlalchemy)))
+ (list python-django python-django-debug-toolbar python-jsonplus
+ python-six python-sqlalchemy))
(synopsis "Django Debug Toolbar panel for SQLAlchemy")
(description
"This package completely mimics the default Django Debug Toolbar SQL
@@ -592,7 +557,7 @@ queries done via the Django ORM, SQLAlchemy generated queries are displayed.")
'(;; TODO: The django project for the tests is missing from the release.
#:tests? #f))
(inputs
- `(("python-django" ,python-django)))
+ (list python-django))
(home-page "https://github.com/twaddington/django-gravatar")
(synopsis "Gravatar support for Django, improved version")
(description
@@ -612,10 +577,9 @@ templatetags and a full test suite.")
"0fc6i77faxxv1gjlp06lv3kw64b5bhdiypaygfxh5djddgk83fwa"))))
(build-system python-build-system)
(native-inputs
- `(("python-django" ,python-django)
- ("python-nose" ,python-nose)))
+ (list python-nose))
(propagated-inputs
- `(("python-webassets" ,python-webassets)))
+ (list python-django python-webassets))
(home-page "https://github.com/miracle2k/django-assets")
(synopsis "Asset management for Django")
(description
@@ -627,7 +591,7 @@ merging, minifying and compiling CSS and Javascript files.")
(define-public python-django-jinja
(package
(name "python-django-jinja")
- (version "2.6.0")
+ (version "2.9.1")
(source
(origin
(method git-fetch)
@@ -637,12 +601,10 @@ merging, minifying and compiling CSS and Javascript files.")
(file-name (git-file-name name version))
(sha256
(base32
- "06ldbkfkm6sc0p9sqpjph06gxrqpj78ih3dc2yik2fcba2y5mak1"))))
+ "0p9pkn6jjzagpnvcrl9c2vjqamkms7ymvyhhmaqqqhrlv89qnzp7"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-jinja2" ,python-jinja2)
- ("python-pytz" ,python-pytz)
- ("python-django-pipeline" ,python-django-pipeline)))
+ (list python-django python-jinja2 python-pytz python-django-pipeline))
(arguments
'(;; TODO Tests currently fail due to issues with the configuration for
;; django-pipeline
@@ -709,7 +671,7 @@ conn_max_age argument to easily enable Django’s connection pool.")
(lambda _
(invoke "python" "-m" "django" "test" "-v2"
"--settings=tests.settings"))))))
- (native-inputs
+ (propagated-inputs
;; XXX: Picklefield has not been updated in 10+ years and fails tests
;; with Django 3.2.
`(("python-django@2.2" ,python-django-2.2)))
@@ -731,6 +693,8 @@ conn_max_age argument to easily enable Django’s connection pool.")
(arguments
;; XXX: Tests require a Postgres database.
`(#:tests? #f))
+ (propagated-inputs
+ (list python-django))
(home-page "https://github.com/aykut/django-bulk-update")
(synopsis "Simple bulk update over Django ORM or with helper function")
(description
@@ -741,27 +705,25 @@ project aims to bulk update given objects using one query over Django ORM.")
(define-public python-django-contact-form
(package
(name "python-django-contact-form")
- (version "1.8.1")
+ (version "1.9")
(source (origin
(method url-fetch)
(uri (pypi-uri "django-contact-form" version))
(sha256
(base32
- "1zv7bcjfrg32gcsq3bclkld79l6mcy2wcvlj81h7q2ppv1wm8vqs"))))
+ "1my9hkrylckp5vfqg9b0kncrdlxjnwxll56sdciqn4v19i4wbq1y"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(replace 'check
(lambda _
- (setenv "PYTHONPATH"
- (string-append "./build/lib:"
- (getenv "PYTHONPATH")))
(invoke "coverage" "run" "--source" "contact_form"
"runtests.py"))))))
(native-inputs
- `(("python-coverage" ,python-coverage)
- ("python-django" ,python-django)))
+ (list python-coverage))
+ (propagated-inputs
+ (list python-django))
(home-page "https://github.com/ubernostrum/django-contact-form")
(synopsis "Contact form for Django")
(description
@@ -780,10 +742,8 @@ for Django sites.")
(base32
"0ccdiv784a5vnpfal36km4dyg12340rwhpr0riyy0k89wfnjn8yi"))))
(build-system python-build-system)
- (native-inputs
- `(("python-django" ,python-django)))
(propagated-inputs
- `(("python-six" ,python-six)))
+ (list python-django python-six))
(home-page "https://github.com/django/django-contrib-comments")
(synopsis "Comments framework")
(description
@@ -815,20 +775,13 @@ entries, photos, book chapters, or anything else.")
(which "env")))))
(replace 'check
(lambda*(#:key tests? #:allow-other-keys)
- (or
- (not tests?)
- (begin
- (setenv "PYTHONPATH"
- (string-append (getcwd) ":"
- (getenv "PYTHONPATH")))
- (setenv "DJANGO_SETTINGS_MODULE" "tests.settings")
- (invoke "django-admin" "test" "tests"))))))))
- (native-inputs
- `(("python-django" ,python-django)))
+ (when tests?
+ (setenv "DJANGO_SETTINGS_MODULE" "tests.settings")
+ (invoke "django-admin" "test" "tests"
+ "--pythonpath=.")))))))
(propagated-inputs
- `(("python-css-html-js-minify" ,python-css-html-js-minify)
- ("python-slimit" ,python-slimit)
- ("python-jsmin" ,python-jsmin)))
+ (list python-css-html-js-minify python-django python-slimit
+ python-jsmin))
(home-page
"https://github.com/jazzband/django-pipeline")
(synopsis "Asset packaging library for Django")
@@ -858,14 +811,10 @@ support, and optional data-URI image and font embedding.")
(with-directory-excursion "tests"
(invoke "python" "runtests.py")))))))
(native-inputs
- `(("python-django" ,python-django)
- ("python-fakeredis" ,python-fakeredis)
- ("python-hiredis" ,python-hiredis)
- ("python-mock" ,python-mock)
- ("python-msgpack" ,python-msgpack)
- ("redis" ,redis)))
+ (list python-fakeredis python-hiredis python-mock python-msgpack
+ redis))
(propagated-inputs
- `(("python-redis" ,python-redis)))
+ (list python-django python-redis))
(home-page "https://github.com/niwibe/django-redis")
(synopsis "Full featured redis cache backend for Django")
(description
@@ -893,13 +842,9 @@ support, and optional data-URI image and font embedding.")
"--settings=django_rq.tests.settings"
"--pythonpath=."))))))
(native-inputs
- `(("python-django" ,python-django)
- ("python-django-redis" ,python-django-redis)
- ("python-mock" ,python-mock)
- ("python-rq-scheduler" ,python-rq-scheduler)
- ("redis" ,redis)))
+ (list python-django-redis python-mock python-rq-scheduler redis))
(propagated-inputs
- `(("python-rq" ,python-rq)))
+ (list python-django python-rq))
(home-page "https://github.com/ui/django-rq")
(synopsis "Django integration with RQ")
(description
@@ -921,12 +866,9 @@ settings.py and easily use them in your project.")
(build-system python-build-system)
;; FIXME: Tests require disque, Redis, MongoDB, Docker.
(arguments '(#:tests? #f))
- (native-inputs
- `(("python-django" ,python-django)))
(propagated-inputs
- `(("python-arrow" ,python-arrow)
- ("python-blessed" ,python-blessed)
- ("python-django-picklefield" ,python-django-picklefield)))
+ (list python-arrow python-blessed python-django
+ python-django-picklefield))
(home-page "https://django-q.readthedocs.io/")
(synopsis "Multiprocessing distributed task queue for Django")
(description
@@ -949,12 +891,11 @@ using Python multiprocessing.")
`(#:phases (modify-phases %standard-phases
(replace 'check
(lambda _
- (setenv "PYTHONPATH" (string-append "./test_project:"
- "./build/lib:.:"
- (getenv "PYTHONPATH")))
- (invoke "django-admin.py" "test" "--settings=settings"))))))
- (native-inputs
- `(("python-django" ,python-django)))
+ (invoke "django-admin"
+ "test" "--settings=test_project.settings"
+ "--pythonpath=."))))))
+ (propagated-inputs
+ (list python-django))
(home-page "https://github.com/jazzband/django-sortedm2m")
(synopsis "Drop-in replacement for django's own ManyToManyField")
(description
@@ -978,12 +919,10 @@ the order of added relations.")
'(#:phases (modify-phases %standard-phases
(replace 'check
(lambda _
- (setenv "PYTHONPATH" (string-append ".:"
- (getenv "PYTHONPATH")))
(setenv "DJANGO_SETTINGS_MODULE" "tests.test_settings")
- (invoke "django-admin.py" "test" "-v2"))))))
- (native-inputs
- `(("python-django" ,python-django)))
+ (invoke "django-admin" "test" "--pythonpath=."))))))
+ (propagated-inputs
+ (list python-django))
(home-page "https://github.com/django-compressor/django-appconf")
(synopsis "Handle configuration defaults of packaged Django apps")
(description
@@ -1013,17 +952,14 @@ name is purely coincidental.")
'(#:phases (modify-phases %standard-phases
(replace 'check
(lambda _
- (setenv "PYTHONPATH"
- (string-append "./tests/test_project:./build/lib:"
- (getenv "PYTHONPATH")))
+ (setenv "PYTHONPATH" "./tests/test_project")
(setenv "DJANGO_SETTINGS_MODULE" "project.settings")
(invoke "pytest" "-vv"))))))
(native-inputs
- `(("python-django" ,python-django)
- ("python-pytest" ,python-pytest)
- ("python-pytest-django" ,python-pytest-django)))
+ (list python-pytest python-pytest-django))
(propagated-inputs
- `(("django-appconf" ,python-django-appconf)))
+ `(("python-django" ,python-django)
+ ("django-appconf" ,python-django-appconf)))
(synopsis "Generate JavaScript catalog to static files")
(description
"A Django app that provides helper for generating JavaScript catalog to
@@ -1050,7 +986,7 @@ static files.")
(setenv "DJANGO_SETTINGS_MODULE" "tagging.tests.settings")
(invoke "django-admin" "test" "--pythonpath=."))))))
(inputs
- `(("python-django" ,python-django)))
+ (list python-django))
(home-page "https://github.com/Fantomas42/django-tagging")
(synopsis "Generic tagging application for Django")
(description "This package provides a generic tagging application for
@@ -1088,9 +1024,9 @@ Django projects, which allows association of a number of tags with any
(invoke "python" "runtests.py" "--nolint")
(format #t "test suite not run~%")))))))
(native-inputs
- `(("python-django" ,python-django)
- ("python-pytest" ,python-pytest)
- ("python-pytest-django" ,python-pytest-django)))
+ (list python-pytest python-pytest-django))
+ (propagated-inputs
+ (list python-django))
(home-page "https://www.django-rest-framework.org")
(synopsis "Toolkit for building Web APIs with Django")
(description
@@ -1111,11 +1047,8 @@ provides features like a Web-browsable API and authentication policies.")
"0vrkli625b5s1wldri3dyrfvqbxg7zxy2pg0rpjixw3b1ndz0ag8"))))
(build-system python-build-system)
(arguments '(#:tests? #f)) ; Tests not included with release.
- (native-inputs
- `(("python-django" ,python-django)))
(propagated-inputs
- `(("python-django-classy-tags" ,python-django-classy-tags)
- ("python-six" ,python-six)))
+ (list python-django python-django-classy-tags python-six))
(home-page "https://github.com/divio/django-sekizai")
(synopsis "Template blocks for Django projects")
(description "Sekizai means blocks in Japanese, and that is what this app
@@ -1143,8 +1076,8 @@ a single block.")
(arguments
'(;; No included tests
#:tests? #f))
- (native-inputs
- `(("python-django" ,python-django)))
+ (propagated-inputs
+ (list python-django))
(home-page
"http://github.com/maraujop/django-crispy-forms")
(synopsis "Tool to control Django forms without custom templates")
@@ -1179,15 +1112,10 @@ forms using your favorite CSS framework, without writing template code.")
;; https://github.com/django-compressor/django-compressor/issues/998
#:tests? #f))
(propagated-inputs
- `(("python-django-appconf" ,python-django-appconf)
- ("python-rcssmin" ,python-rcssmin)
- ("python-rjsmin" ,python-rjsmin)))
+ (list python-django-appconf python-rcssmin python-rjsmin))
(native-inputs
- `(("python-beautifulsoup4" ,python-beautifulsoup4)
- ("python-brotli" ,python-brotli)
- ("python-csscompressor" ,python-csscompressor)
- ("python-django-sekizai" ,python-django-sekizai)
- ("python-mock" ,python-mock)))
+ (list python-beautifulsoup4 python-brotli python-csscompressor
+ python-django-sekizai python-mock))
(home-page "https://django-compressor.readthedocs.io/en/latest/")
(synopsis
"Compress linked and inline JavaScript or CSS into single cached files")
@@ -1218,8 +1146,9 @@ template tag.")
(lambda _
(invoke "python" "runtests.py"))))))
(native-inputs
- `(("python-django" ,python-django)
- ("python-mock" ,python-mock)))
+ (list python-mock))
+ (propagated-inputs
+ (list python-django))
(synopsis "Django test helpers to manage file storage side effects")
(description
"This project provides tools to help reduce the side effects of using
@@ -1250,11 +1179,9 @@ FileFields during tests.")
(invoke "python" "-m" "django" "test"
"--settings" "tests.settings")))))))
(native-inputs
- `(("openldap" ,openldap)
- ("python-django" ,python-django)
- ("python-mock" ,python-mock)))
+ (list openldap python-mock))
(propagated-inputs
- `(("python-ldap" ,python-ldap)))
+ (list python-django python-ldap))
(home-page "https://github.com/django-auth-ldap/django-auth-ldap")
(synopsis "Django LDAP authentication backend")
(description
@@ -1272,13 +1199,13 @@ FileFields during tests.")
(base32
"06041a8icazzp73kg93c7k1ska12wvkq7fpcad0l0sm1qnxx5yx7"))))
(build-system python-build-system)
- (arguments '(#:tests? #f)) ;no tests
- (native-inputs
- `(("python-django" ,python-django)))
+ (arguments
+ '(#:tests? #f ;no tests
+ #:phases (modify-phases %standard-phases
+ ;; Importing this module requires a Django project.
+ (delete 'sanity-check))))
(propagated-inputs
- `(("python-certifi" ,python-certifi)
- ("python-elasticsearch" ,python-elasticsearch)
- ("python-six" ,python-six)))
+ (list python-certifi python-django python-elasticsearch python-six))
(home-page "https://github.com/cipriantarta/django-logging")
(synopsis "Log requests/responses in various formats")
(description
@@ -1299,11 +1226,8 @@ to ElasticSearch.")
"0jwlbyaxk91fq69g2y0zpfjgmjgh6l0lqm5mhys7m5968lkihvgp"))))
(build-system python-build-system)
(arguments '(#:tests? #f)) ;XXX: Requires a running PostgreSQL server
- (native-inputs
- `(("python-django" ,python-django)))
(propagated-inputs
- `(("python-netaddr" ,python-netaddr)
- ("python-six" ,python-six)))
+ (list python-django python-netaddr python-psycopg2 python-six))
(home-page "https://github.com/jimfunk/django-postgresql-netfields")
(synopsis "PostgreSQL netfields implementation for Django")
(description
@@ -1327,30 +1251,23 @@ to ElasticSearch.")
(arguments
'(#:tests? #f ;FIXME: Django raises "Apps aren't loaded yet"!?
#:phases (modify-phases %standard-phases
- (add-before 'check 'loosen-requirements
+ (add-after 'unpack 'loosen-requirements
(lambda _
;; Do not depend on compatibility package for old
;; Python versions.
(substitute* "requirements.txt"
- (("enum-compat") ""))
- #t))
+ (("enum-compat") ""))))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(if tests?
(begin
- (setenv "PYTHONPATH"
- (string-append "./build/lib:.:"
- (getenv "PYTHONPATH")))
(setenv "DJANGO_SETTINGS_MODULE"
"test_project.settings")
(invoke "pytest" "-vv" "--doctest-modules"
"tests/" "url_filter/"))
(format #t "test suite not run~%")))))))
- (native-inputs
- `(("python-django" ,python-django)))
(propagated-inputs
- `(("python-cached-property" ,python-cached-property)
- ("python-six" ,python-six)))
+ (list python-cached-property python-django python-six))
(synopsis "Filter data via human-friendly URLs")
(description
"The main goal of Django URL Filter is to provide an easy URL interface
@@ -1374,9 +1291,7 @@ Django's filtering system in ORM).")
(base32 "131m545khn8l20j4x2bvlvz36dlbnhj9pc98i2dw72s3bw8pgws0"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-defusedxml" ,python-defusedxml)
- ("python-django" ,python-django)
- ("python-pillow" ,python-pillow)))
+ (list python-defusedxml python-django python-pillow))
(home-page "https://github.com/artrey/django-svg-image-form-field")
(synopsis "Form field to validate SVG and other images")
(description "This form field allows users to provide SVG images for