Long time no see... Here is a long-overdue update to Django and its ecosystem, as well as a few new libraries. Django 2.0 and later does not support Python 2 (which is EOL anyway), so the python2 variants are gone. There are also casualties: 'pootle' and 'python2-django-mailman3' had to go because I am not interested in maintaining the obsolete Python 2 packages they depend upon. 'python2-graphite-web' is updated to Python 3 and renamed to just 'graphite-web' in one foul swoop. All the Django "plugin" libraries have been changed so they no longer propagate Django: this makes it easer to support multiple versions of Django as required by 'patchwork' and 'python-hyperkitty'. In other news, I have a new job and don't have as much time for Guix as I'd like (if indeed one ever does). But I hope to get back into a somewhat regular contribution rhythm in a month or two. Marius Bakke (55): gnu: Add python-asgiref. gnu: python-django: Update to 3.1.1. gnu: python-django: Propagate python-sqlparse. gnu: python-pytest-django: Update to 3.9.0. gnu: python-django-simple-math-captcha: Update to 1.0.9. gnu: python-django-classy-tags: Update to 2.0.0. gnu: python-django-extensions: Update to 3.0.6. gnu: python-django-taggit: Update to 1.3.0. gnu: python-django-crispy-forms: Update to 1.9.2. gnu: python-djangorestframework: Update to 3.11.1. gnu: python-django-filter: Update to 2.3.0. gnu: python-django-allauth: Update to 0.42.0. gnu: Add python-css-html-js-minify. gnu: python-django-pipeline: Update to 2.0.5. gnu: python-django-jinja: Update to 2.6.0. gnu: python-django-debug-toolbar: Update to 2.2. gnu: python-django-gravatar2: Update to 1.4.4. gnu: python-webassets: Update to 2.0. gnu: python-django-assets: Update to 2.0. gnu: python-dj-database-url: Update to 0.5.0. gnu: python-django-picklefield: Update to 3.0.1. gnu: python-django-bulk-update: Update to 2.2.0. gnu: python-django-contact-form: Update to 1.8.1. gnu: python-django-contrib-comments: Update to 1.9.2. gnu: python-django-redis: Update to 4.12.1. gnu: python-redis: Update to 3.5.3. gnu: python-rq: Update to 1.5.1. gnu: Add python-croniter. gnu: Add python-rq-scheduler. gnu: python-django-rq: Update to 2.3.2. gnu: python-django-q: Update to 1.3.3. gnu: python-django-sortedm2m: Update to 3.0.2. gnu: python-django-appconf: Update to 1.0.4. gnu: python-django-statici18n: Update to 1.9.0. gnu: python-django-sekizai: Update to 2.0.0. gnu: python-django-override-storage: Update to 0.3.0. gnu: python-ldap: Update to 3.3.1. gnu: Add python-django-auth-ldap. gnu: Add python-django-logging-json. gnu: Add python-django-netfields. gnu: Add python-sqlalchemy-mock. gnu: Add python-jsonplus. gnu: Add python-django-debug-toolbar-alchemy. gnu: Add python-django-url-filter. gnu: Remove pootle. gnu: Remove python2-django-mailman3. gnu: python2-graphite-web: Update to 1.1.7. gnu: Remove python2 versions of Django packages. gnu: Deprecate python-django-jsonfield. gnu: Remove python-django-overextends. gnu: Django packages no longer propagates Django. gnu: python-mysqlclient: Remove unused inputs. gnu: python-mysqlclient: Update to 2.0.1. gnu: Remove python2-mysqlclient. gnu: patchwork: Update to 2.2.2. gnu/packages/databases.scm | 128 +++++- gnu/packages/django.scm | 844 +++++++++++++++++++----------------- gnu/packages/mail.scm | 43 +- gnu/packages/monitoring.scm | 38 +- gnu/packages/openldap.scm | 4 +- gnu/packages/patchutils.scm | 19 +- gnu/packages/python-web.scm | 72 ++- gnu/packages/python-xyz.scm | 46 ++ 8 files changed, 692 insertions(+), 502 deletions(-) -- 2.28.0
* gnu/packages/python-web.scm (python-asgiref): New public variable. --- gnu/packages/python-web.scm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm index 24bd51e006..87c362e007 100644 --- a/gnu/packages/python-web.scm +++ b/gnu/packages/python-web.scm @@ -222,6 +222,36 @@ The package includes a module with full coverage of JSON RPC versions 1.0 and comes with a SOCKS proxy client.") (license (list license:expat license:bsd-2)))) +(define-public python-asgiref + (package + (name "python-asgiref") + (version "3.2.10") + (source (origin + (method url-fetch) + (uri (pypi-uri "asgiref" version)) + (sha256 + (base32 + "06kg3hnnvh7qg0w9amkvk1hd6n6bs055r04b7if6ipa7w4g92lby")))) + (build-system python-build-system) + (arguments + '(#:phases (modify-phases %standard-phases + (replace 'check + (lambda _ + (setenv "PYTHONPATH" + (string-append "./build/lib:" + (getenv "PYTHONPATH"))) + (invoke "pytest" "-vv")))))) + (native-inputs + `(("python-pytest" ,python-pytest) + ("python-pytest-asyncio" ,python-pytest-asyncio))) + (home-page "https://github.com/django/asgiref/") + (synopsis "ASGI specs, helper code, and adapters") + (description + "ASGI is a standard for Python asynchronous web apps and servers to +communicate with each other, and positioned as an asynchronous successor to +WSGI. This package includes libraries for implementing ASGI servers.") + (license license:bsd-3))) + (define-public python-falcon (package (name "python-falcon") -- 2.28.0
* gnu/packages/django.scm (python-django): Update to 3.1.1. [arguments]: Remove #:modules. Rename set-tzdir phase to pre-check, and disable one test. Adjust PYTHONPATH patching to preserve all entries. Ensure the test suite runs sequentially. [propagated-inputs]: Add PYTHON-ASGIREF. (python-django-2.2): New public variable. * gnu/packages/mail.scm (python-hyperkitty)[propagated-inptus]: Change from PYTHON-DJANGO to PYTHON-DJANGO-2.2. * gnu/packages/patchutils.scm (patchwork)[propagated-inputs]: Likewise. --- gnu/packages/django.scm | 67 ++++++++++++++++++++++++++----------- gnu/packages/mail.scm | 2 +- gnu/packages/patchutils.scm | 2 +- 3 files changed, 50 insertions(+), 21 deletions(-) diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm index 2370de62f5..662bc110dd 100644 --- a/gnu/packages/django.scm +++ b/gnu/packages/django.scm @@ -6,6 +6,7 @@ ;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2018 Vijayalakshmi Vedantham <vijimay12@gmail.com> ;;; Copyright © 2019 Sam <smbaines8@gmail.com> +;;; Copyright © 2020 Marius Bakke <marius@gnu.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -45,43 +46,55 @@ (define-public python-django (package (name "python-django") - (version "1.11.29") + (version "3.1.1") (source (origin (method url-fetch) (uri (pypi-uri "Django" version)) (sha256 (base32 - "171jsi54fbnxzi2n3l4hkdmmwfnfrwacs180rw59l0bqcvxsw022")))) + "0bzwy58hrxbsh7szak1yfh7qvvfnpdpi8ay1x7d3pvbkm1f15j2r")))) (build-system python-build-system) (arguments - '(#:modules ((srfi srfi-1) - (guix build python-build-system) - (guix build utils)) - #:phases + '(#:phases (modify-phases %standard-phases - (add-before 'check 'set-tzdir + (add-before 'check 'pre-check (lambda* (#:key inputs #:allow-other-keys) ;; The test-suite tests timezone-dependent functions, thus tzdata ;; needs to be available. (setenv "TZDIR" (string-append (assoc-ref inputs "tzdata") "/share/zoneinfo")) - #t)) - (replace 'check - (lambda* (#:key inputs #:allow-other-keys) - (setenv "PYTHONPATH" - (string-append ".:" (getenv "PYTHONPATH"))) + + ;; Disable test for incorrect timezone: it only raises the + ;; expected error when /usr/share/zoneinfo exists, even though + ;; the machinery gracefully falls back to TZDIR. According to + ;; django/conf/__init__.py, lack of /usr/share/zoneinfo is + ;; harmless, so just ignore this test. + (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 = ['" - (find (lambda (entry) - (string-prefix? - (assoc-ref inputs "python-pytz") - entry)) - (string-split (getenv "PYTHONPATH") - #\:)) + (string-join + (string-split (getenv "PYTHONPATH") #\:) + "','") "', "))) - (invoke "python" "tests/runtests.py")))))) + + #t)) + (replace 'check + (lambda _ + (with-directory-excursion "tests" + (setenv "PYTHONPATH" + (string-append "..:" (getenv "PYTHONPATH"))) + (invoke "python" "runtests.py" + ;; By default tests run in parallel, which may cause + ;; various race conditions. Run sequentially for + ;; consistent results. + "--parallel=1"))))))) ;; TODO: Install extras/django_bash_completion. (native-inputs `(("tzdata" ,tzdata-for-tests) @@ -99,6 +112,7 @@ ("python-tblib" ,python-tblib))) (propagated-inputs `(("python-argon2-cffi" ,python-argon2-cffi) + ("python-asgiref" ,python-asgiref) ("python-bcrypt" ,python-bcrypt) ("python-pytz" ,python-pytz))) (home-page "https://www.djangoproject.com/") @@ -125,6 +139,21 @@ to the @dfn{don't repeat yourself} (DRY) principle.") ;; required. ,@(package-native-inputs base)))))) +(define-public python-django-2.2 + (package + (inherit python-django) + (version "2.2.16") + (source (origin + (method url-fetch) + (uri (pypi-uri "Django" version)) + (sha256 + (base32 + "1535g2r322cl4x52fb0dmzlbg23539j2wx6027j54p22xvjlbkv2")))) + (native-inputs + `(;; XXX: In 2.2 and 3.0, selenium is required for the test suite. + ("python-selenium" ,python-selenium) + ,@(package-native-inputs python-django))))) + (define-public python-django-extensions (package (name "python-django-extensions") diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index 4a9c6fc90f..15b9b1dd4e 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -3045,7 +3045,7 @@ which sends emails to HyperKitty, the official Mailman3 web archiver.") "--settings=hyperkitty.tests.settings_test")))))) (propagated-inputs `(("python-dateutil" ,python-dateutil) - ("python-django" ,python-django) + ("python-django" ,python-django-2.2) ("python-django-compressor" ,python-django-compressor) ("python-django-extensions" ,python-django-extensions) ("python-django-gravatar2" ,python-django-gravatar2) diff --git a/gnu/packages/patchutils.scm b/gnu/packages/patchutils.scm index c26977be1f..335d251e74 100644 --- a/gnu/packages/patchutils.scm +++ b/gnu/packages/patchutils.scm @@ -467,7 +467,7 @@ if __name__ == \"__main__\": (inputs `(("python-wrapper" ,python-wrapper))) (propagated-inputs - `(("python-django" ,python-django) + `(("python-django" ,python-django-2.2) ;; TODO: Make this configurable ("python-psycopg2" ,python-psycopg2) ("python-mysqlclient" ,python-mysqlclient) -- 2.28.0
* gnu/packages/django.scm (python-django)[native-inputs]: Move PYTHON-SQLPARSE ... [propagated-inputs]: ... here. --- gnu/packages/django.scm | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm index 662bc110dd..b3abb17277 100644 --- a/gnu/packages/django.scm +++ b/gnu/packages/django.scm @@ -108,13 +108,16 @@ ("python-pillow" ,python-pillow) ("python-pyyaml" ,python-pyyaml) ;; optional for tests: ("python-selenium" ,python-selenium) - ("python-sqlparse" ,python-sqlparse) ("python-tblib" ,python-tblib))) (propagated-inputs `(("python-argon2-cffi" ,python-argon2-cffi) ("python-asgiref" ,python-asgiref) ("python-bcrypt" ,python-bcrypt) - ("python-pytz" ,python-pytz))) + ("python-pytz" ,python-pytz) + + ;; This input is not strictly required, but in practice many Django + ;; libraries need it for test suites and similar. + ("python-sqlparse" ,python-sqlparse))) (home-page "https://www.djangoproject.com/") (synopsis "High-level Python Web framework") (description -- 2.28.0
* gnu/packages/django.scm (python-pytest-django): Update to 3.9.0. [arguments]: Remove #:tests?. Add phase to run custom tests. [native-inputs]: Add PYTHON-PYTEST-XDIST and PYTHON-SQLPARSE. --- gnu/packages/django.scm | 41 ++++++++++++++++++++++++++++++++--------- 1 file changed, 32 insertions(+), 9 deletions(-) diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm index b3abb17277..30716dd286 100644 --- a/gnu/packages/django.scm +++ b/gnu/packages/django.scm @@ -309,26 +309,49 @@ size and quality.") (define-public python-pytest-django (package (name "python-pytest-django") - (version "3.1.2") + (version "3.9.0") (source (origin (method url-fetch) (uri (pypi-uri "pytest-django" version)) (sha256 (base32 - "02932m2sr8x22m4az8syr8g835g4ak77varrnw71n6xakmdcr303")))) + "1yds71ppg39whs7pvlbwxfglm0jxyawh33rq34jihpif4i15ykk6")))) (build-system python-build-system) (arguments - `(#:tests? #f ; FIXME: How to run tests? - #:phases + `(#:phases (modify-phases %standard-phases - (add-after 'unpack 'patch-setuppy - (lambda _ - (substitute* "setup.py" - (("setuptools_scm==1.11.1") "setuptools_scm")) + (replace 'check + (lambda* (#:key tests? inputs outputs #:allow-other-keys) + (if tests? + (begin + ;; Adjust for Django 3.1, can be removed for versions >= 3.10.0. + (substitute* "tests/test_fixtures.py" + (("from django\\.conf\\.urls import url") + "from django.urls import path") + (("url\\(r'admin") + "path('admin")) + (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: the settings modules fails to locate templates. + (string-append "not test_django_not_loaded_without_settings" + " and not test_settings" + ;; XXX: Incompatible with Django 3.1? + " and not test_urls_cache_is_cleared"))) + (format #t "test suite not run~%")) #t))))) (native-inputs `(("python-django" ,python-django) - ("python-setuptools-scm" ,python-setuptools-scm))) + ("python-setuptools-scm" ,python-setuptools-scm) + + ;; For tests. + ("python-pytest-xdist" ,python-pytest-xdist) + ("python-sqlparse" ,python-sqlparse))) ;XXX: really a Django dependency (propagated-inputs `(("python-pytest" ,python-pytest))) (home-page "https://pytest-django.readthedocs.org/") -- 2.28.0
* gnu/packages/django.scm (python-django-simple-math-captcha): Update to 1.0.9. [source]: Change to GIT-FETCH. [arguments]: Remove #:tests?. Add phases to patch imports and run tests. [native-inputs]: Add PYTHON-MOCK. [propagated-inputs]: Add PYTHON-SIX. --- gnu/packages/django.scm | 34 +++++++++++++++++++++++++--------- 1 file changed, 25 insertions(+), 9 deletions(-) diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm index 30716dd286..e3e99edd78 100644 --- a/gnu/packages/django.scm +++ b/gnu/packages/django.scm @@ -200,21 +200,37 @@ commands, additional database fields and admin extensions.") (define-public python-django-simple-math-captcha (package (name "python-django-simple-math-captcha") - (version "1.0.7") + (version "1.0.9") + (home-page "https://github.com/alsoicode/django-simple-math-captcha") (source (origin - (method url-fetch) - (uri (pypi-uri "django-simple-math-captcha" version)) + (method git-fetch) + (uri (git-reference + (url home-page) + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "0906hms6y6znjhpd0g4wmzv9vcla4brkdpsm4zha9zdj8g5vq2hd")))) + "0fhy9k8haqa1296v0qpg1b5w7y3pyw9qi9z9laj5ijry1gk35qaw")))) (build-system python-build-system) (arguments - ;; FIXME: Upstream uses a 'runtests.py' script that is not - ;; present in the pypi tarball. - '(#:tests? #f)) + '(#:phases (modify-phases %standard-phases + (add-after 'unpack 'patch-six-imports + (lambda _ + ;; Django no longer bundles six, adjust the imports + ;; accordingly. The six dependency can likely be + ;; removed in the next version. + (substitute* (find-files "." "\\.py$") + (("from django\\.utils import six") + "import six")) + #t)) + (replace 'check + (lambda _ + (invoke "python" "runtests.py")))))) + (native-inputs + `(("python-mock" ,python-mock))) (propagated-inputs - `(("python-django" ,python-django))) - (home-page "https://github.com/alsoicode/django-simple-math-captcha") + `(("python-django" ,python-django) + ("python-six" ,python-six))) (synopsis "Easy-to-use math field/widget captcha for Django forms") (description "A multi-value-field that presents a human answerable question, -- 2.28.0
* gnu/packages/django.scm (python-django-classy-tags): Update to 2.0.0. [propagated-inputs]: Remove PYTHON-SIX. --- gnu/packages/django.scm | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm index e3e99edd78..f93d9c9682 100644 --- a/gnu/packages/django.scm +++ b/gnu/packages/django.scm @@ -244,19 +244,19 @@ with arguments to the field constructor.") (define-public python-django-classy-tags (package (name "python-django-classy-tags") - (version "1.0.0") + (version "2.0.0") (source (origin (method url-fetch) (uri (pypi-uri "django-classy-tags" version)) (sha256 (base32 - "1cayqddvxd5prhybqi77lif2z4j7mmfmxgc61pq9i82q5gy2asmd")))) + "1javam3zqi3y3j0r490mm61v48yh75jaha99gb7lsxkaz6yri7fm")))) (build-system python-build-system) - (arguments '(#:tests? #f)) ; Test script not distributed with release. + ;; FIXME: How to make the test templates available to Django? + (arguments '(#:tests? #f)) (propagated-inputs - `(("python-django" ,python-django) - ("python-six" ,python-six))) + `(("python-django" ,python-django))) (home-page "https://github.com/divio/django-classy-tags") (synopsis "Class based template tags for Django") (description -- 2.28.0
* gnu/packages/django.scm (python-django-extensions): Update to 3.0.6. --- 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 f93d9c9682..66925be519 100644 --- a/gnu/packages/django.scm +++ b/gnu/packages/django.scm @@ -160,7 +160,7 @@ to the @dfn{don't repeat yourself} (DRY) principle.") (define-public python-django-extensions (package (name "python-django-extensions") - (version "2.1.6") + (version "3.0.6") (source (origin (method git-fetch) @@ -171,10 +171,10 @@ to the @dfn{don't repeat yourself} (DRY) principle.") (file-name (string-append name "-" version)) (sha256 (base32 - "0p4qrdinrv6indczlc8dcnm528i5fzmcn9xk1ja7ycfkyk5x6j5w")))) + "0sra6hazqvspxd1pnx5cj7gia1rkaz3hn06ib4wd0frc167f5afy")))) (build-system python-build-system) (arguments - '(#:tests? #f)) ;TODO collected 378 items / 3 errors / 1 skipped + '(#:tests? #f)) ;XXX: requires a Postgres or MySQL database (propagated-inputs `(("python-six" ,python-six) ("python-vobject" ,python-vobject) -- 2.28.0
* gnu/packages/django.scm (python-django-taggit): Update to 1.3.0. --- gnu/packages/django.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm index 66925be519..ffc835c9da 100644 --- a/gnu/packages/django.scm +++ b/gnu/packages/django.scm @@ -269,14 +269,14 @@ when coding custom template tags.") (define-public python-django-taggit (package (name "python-django-taggit") - (version "1.1.0") + (version "1.3.0") (source (origin (method url-fetch) (uri (pypi-uri "django-taggit" version)) (sha256 (base32 - "044fzcpmns90kaxdi49qczlam4xsi8rl73rpfwvxx1gkcqzidgq1")))) + "0bbkabbs77z229ps0800gxfhf75yagp4x4j5jzfysbac3zvkp0sa")))) (build-system python-build-system) (arguments '(#:phases -- 2.28.0
* gnu/packages/django.scm (python-django-crispy-forms): Update to 1.9.2. --- gnu/packages/django.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm index ffc835c9da..da3548f14a 100644 --- a/gnu/packages/django.scm +++ b/gnu/packages/django.scm @@ -1248,14 +1248,14 @@ a single block.") (define-public python-django-crispy-forms (package (name "python-django-crispy-forms") - (version "1.7.2") + (version "1.9.2") (source (origin (method url-fetch) (uri (pypi-uri "django-crispy-forms" version)) (sha256 (base32 - "0pv7y648i8iz7mf64gkjizpbx5d01ap2s4vqqa30n38if6wvlljr")))) + "0fxlf233f49hjax786p4r650rd0ilvhnpyvw8hv1d1aqnkxy1wgj")))) (build-system python-build-system) (arguments '(;; No included tests -- 2.28.0
* gnu/packages/django.scm (python-djangorestframework): Update to 3.11.1. --- gnu/packages/django.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm index da3548f14a..2575e72600 100644 --- a/gnu/packages/django.scm +++ b/gnu/packages/django.scm @@ -1195,14 +1195,14 @@ Django projects, which allows association of a number of tags with any (define-public python-djangorestframework (package (name "python-djangorestframework") - (version "3.7.7") + (version "3.11.1") (source (origin (method url-fetch) (uri (pypi-uri "djangorestframework" version)) (sha256 (base32 - "11qv117gqwswxjljs7wafxg1hyzzlx3qrviwlk9hw41bsbl997lz")))) + "0chbl1d0m1x23mmpdj7y85k3n32lpxrhcdl07ywnylfj9dd2vl3d")))) (build-system python-build-system) (arguments '(;; No included tests -- 2.28.0
* gnu/packages/django.scm (python-django-filter): Update to 2.3.0. --- gnu/packages/django.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm index 2575e72600..e3f41a7ce5 100644 --- a/gnu/packages/django.scm +++ b/gnu/packages/django.scm @@ -430,13 +430,13 @@ your code.") (define-public python-django-filter (package (name "python-django-filter") - (version "1.1.0") + (version "2.3.0") (source (origin (method url-fetch) (uri (pypi-uri "django-filter" version)) (sha256 (base32 - "0slpfqfhnjrzlrb6vmswyhrzn01p84s16j2x1xib35gg4fxg23pc")))) + "1bz5qzdk9pk4a2lp2yacrdnqmkv24vxnz4k3lykrnpc3b7bkvrhi")))) (build-system python-build-system) (arguments '(#:phases -- 2.28.0
* gnu/packages/django.scm (python-django-allauth): Update to 0.42.0. --- gnu/packages/django.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm index e3f41a7ce5..b4e998957d 100644 --- a/gnu/packages/django.scm +++ b/gnu/packages/django.scm @@ -464,14 +464,14 @@ them do this.") (define-public python-django-allauth (package (name "python-django-allauth") - (version "0.40.0") + (version "0.42.0") (source (origin (method url-fetch) (uri (pypi-uri "django-allauth" version)) (sha256 (base32 - "12f5gjidcpb7a0d1f601k0c5dcdmb6fg9sfn7xn5j8zfsg29y63a")))) + "0c0x8izvrnjhrr48w6pwsfk9ddbi6yfxg7v3hh5dm1vz1d0hjwpi")))) (build-system python-build-system) (arguments '(#:phases -- 2.28.0
* gnu/packages/python-web.scm (python-css-html-js-minify): New public variable. --- gnu/packages/python-web.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm index 87c362e007..b6fac0bf65 100644 --- a/gnu/packages/python-web.scm +++ b/gnu/packages/python-web.scm @@ -252,6 +252,30 @@ communicate with each other, and positioned as an asynchronous successor to WSGI. This package includes libraries for implementing ASGI servers.") (license license:bsd-3))) +(define-public python-css-html-js-minify + (package + (name "python-css-html-js-minify") + (version "2.5.5") + (source (origin + (method url-fetch) + (uri (pypi-uri "css-html-js-minify" version ".zip")) + (sha256 + (base32 + "0v3l2dqdk2y4r6ax259gs4ij1zzm9yxg6491s6254vs9w3vi37sa")))) + (build-system python-build-system) + ;; XXX: The git repository has no tags, and the PyPI releases do not + ;; contain tests. + (arguments '(#:tests? #f)) + (native-inputs `(("unzip" ,unzip))) + (home-page "https://github.com/juancarlospaco/css-html-js-minify") + (synopsis "CSS/HTML/JS minifier") + (description + "This package provides a single-file minifier for CSS, HTML, and JavaScript.") + ;; XXX: The README just says "GNU GPL and GNU LGPL and MIT". From + ;; <https://github.com/juancarlospaco/css-html-js-minify/issues/9> it + ;; looks like the user can choose a license. + (license (list license:gpl3+ license:lgpl3+ license:expat)))) + (define-public python-falcon (package (name "python-falcon") -- 2.28.0
* gnu/packages/django.scm (python-django-pipeline): Update to 2.0.5. [propagated-inputs]: Add PYTHON-CSS-HTML-JS-MINIFY. --- gnu/packages/django.scm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm index b4e998957d..4a1e28db16 100644 --- a/gnu/packages/django.scm +++ b/gnu/packages/django.scm @@ -850,14 +850,14 @@ project.") (define-public python-django-pipeline (package (name "python-django-pipeline") - (version "1.6.14") + (version "2.0.5") (source (origin (method url-fetch) (uri (pypi-uri "django-pipeline" version)) (sha256 (base32 - "1a207y71r7za033ira0qmh2yrgp5rq0l04gw2fg9b8jri7sslrzg")))) + "19vrbd5s12qw4qlg5n8ldv7zz2rs5y2sdid1i7lvgp92m71dayvc")))) (build-system python-build-system) (arguments '(#:phases @@ -878,7 +878,8 @@ project.") (setenv "DJANGO_SETTINGS_MODULE" "tests.settings") (invoke "django-admin" "test" "tests")))))))) (propagated-inputs - `(("python-django" ,python-django) + `(("python-css-html-js-minify" ,python-css-html-js-minify) + ("python-django" ,python-django) ("python-slimit" ,python-slimit) ("python-jsmin" ,python-jsmin))) (home-page -- 2.28.0
* gnu/packages/django.scm (python-django-jinja): Update to 2.6.0. --- gnu/packages/django.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm index 4a1e28db16..39f6cc16d3 100644 --- a/gnu/packages/django.scm +++ b/gnu/packages/django.scm @@ -611,7 +611,7 @@ merging, minifying and compiling CSS and Javascript files.") (define-public python-django-jinja (package (name "python-django-jinja") - (version "2.4.1") + (version "2.6.0") (source (origin (method git-fetch) @@ -621,7 +621,7 @@ merging, minifying and compiling CSS and Javascript files.") (file-name (git-file-name name version)) (sha256 (base32 - "1fcrxlznlq1xvl26y3j1r22vvy6m08r5l97xi2wj50rdmxhfvhis")))) + "06ldbkfkm6sc0p9sqpjph06gxrqpj78ih3dc2yik2fcba2y5mak1")))) (build-system python-build-system) (propagated-inputs `(("python-django" ,python-django) -- 2.28.0
* gnu/packages/django.scm (python-django-debug-toolbar): Update to 2.2. --- gnu/packages/django.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm index 39f6cc16d3..f963172e54 100644 --- a/gnu/packages/django.scm +++ b/gnu/packages/django.scm @@ -503,7 +503,7 @@ account authentication.") (define-public python-django-debug-toolbar (package (name "python-django-debug-toolbar") - (version "1.10.1") + (version "2.2") (source (origin (method git-fetch) @@ -513,7 +513,7 @@ account authentication.") (file-name (git-file-name name version)) (sha256 (base32 - "0zr6yjsms97wlvvd17rdbrx01irkg887dn9x70c1hzfjmfvp9afk")))) + "14069rlgjd5g724iaglai0nc636g9km4ba56r4j3k84chibqzn03")))) (build-system python-build-system) (propagated-inputs `(("python-sqlparse" ,python-sqlparse) -- 2.28.0
* gnu/packages/django.scm (python-django-gravatar2): Update to 1.4.4. --- gnu/packages/django.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm index f963172e54..b06609ed15 100644 --- a/gnu/packages/django.scm +++ b/gnu/packages/django.scm @@ -538,14 +538,14 @@ request and response as a toolbar on the rendered page.") (define-public python-django-gravatar2 (package (name "python-django-gravatar2") - (version "1.4.2") + (version "1.4.4") (source (origin (method url-fetch) (uri (pypi-uri "django-gravatar2" version)) (sha256 (base32 - "1qsv40xywbqsf4mkrmsswrpzqd7nfljxpfiim9an2z3dykn5rka6")))) + "1vn921fb6jjx7rf5dzhy66rkb71nwmh9ydd0xs9ys72icw4jh4y8")))) (build-system python-build-system) (arguments '(;; TODO: The django project for the tests is missing from the release. -- 2.28.0
* gnu/packages/python-web.scm (python-webassets): Update to 2.0. [arguments]: New field. --- gnu/packages/python-web.scm | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm index b6fac0bf65..ea5683c9b8 100644 --- a/gnu/packages/python-web.scm +++ b/gnu/packages/python-web.scm @@ -3095,15 +3095,29 @@ for Flask.") (define-public python-webassets (package (name "python-webassets") - (version "0.12.1") + (version "2.0") (source (origin (method url-fetch) (uri (pypi-uri "webassets" version)) (sha256 (base32 - "1nrqkpb7z46h2b77xafxihqv3322cwqv6293ngaky4j3ff4cing7")))) + "1kc1042jydgk54xpgcp0r1ib4gys91nhy285jzfcxj3pfqrk4w8n")))) (build-system python-build-system) + (arguments + '(#:phases (modify-phases %standard-phases + (add-before 'check 'disable-some-tests + (lambda _ + ;; This test requires 'postcss' and 'babel' which are + ;; not yet available in Guix. + (delete-file "tests/test_filters.py") + #t)) + (replace 'check + (lambda _ + (setenv "PYTHONPATH" + (string-append "./build/lib:" + (getenv "PYTHONPATH"))) + (invoke "pytest" "-vv")))))) (native-inputs `(("python-jinja2" ,python-jinja2) ("python-mock" ,python-mock) -- 2.28.0
* gnu/packages/django.scm (python-django-assets): Update to 2.0. [arguments]: Remove. --- gnu/packages/django.scm | 23 ++--------------------- 1 file changed, 2 insertions(+), 21 deletions(-) diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm index b06609ed15..3aa1d4f651 100644 --- a/gnu/packages/django.scm +++ b/gnu/packages/django.scm @@ -565,33 +565,14 @@ templatetags and a full test suite.") (define-public python-django-assets (package (name "python-django-assets") - (version "0.12") + (version "2.0") (source (origin (method url-fetch) (uri (pypi-uri "django-assets" version)) (sha256 (base32 - "0y0007fvkn1rdlj2g0y6k1cnkx53kxab3g8i85i0rd58k335p365")))) + "0fc6i77faxxv1gjlp06lv3kw64b5bhdiypaygfxh5djddgk83fwa")))) (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 -- 2.28.0
* gnu/packages/django.scm (python-dj-database-url): Update to 0.5.0. --- gnu/packages/django.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm index 3aa1d4f651..ea04977b1f 100644 --- a/gnu/packages/django.scm +++ b/gnu/packages/django.scm @@ -664,13 +664,13 @@ use, simply add the field to one of your models.") (define-public python-dj-database-url (package (name "python-dj-database-url") - (version "0.4.2") + (version "0.5.0") (source (origin (method url-fetch) (uri (pypi-uri "dj-database-url" version)) (sha256 (base32 - "024zbkc5rli4hia9lz9g8kf1zxhb2gwawj5abf67i7gf8n22v0x6")))) + "0qs16g5y3lflxibsl8gwkwap21crhmmv98l60rdq6x1wawgypsja")))) (build-system python-build-system) (home-page "https://github.com/kennethreitz/dj-database-url") (synopsis "Use Database URLs in your Django Application") -- 2.28.0
* gnu/packages/django.scm (python-django-picklefield): Update to 3.0.1. [source]: Switch to GIT-FETCH. [arguments]: New field. [native-inputs]: Remove. --- gnu/packages/django.scm | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm index ea04977b1f..b5fca63035 100644 --- a/gnu/packages/django.scm +++ b/gnu/packages/django.scm @@ -689,18 +689,27 @@ conn_max_age argument to easily enable Django’s connection pool.") (define-public python-django-picklefield (package (name "python-django-picklefield") - (version "2.1.1") + (version "3.0.1") + (home-page "https://github.com/gintas/django-picklefield") + ;; Use a git checkout because the PyPI release lacks tests. (source (origin - (method url-fetch) - (uri (pypi-uri "django-picklefield" version)) + (method git-fetch) + (uri (git-reference + (url home-page) + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "0imncys5s3vsy2q79nn7k5d670da1xgmcr9gmhn06fry6ibf39b7")))) + "0ni7bc86k0ra4pc8zv451pzlpkhs1nyil1sq9jdb4m2mib87b5fk")))) (build-system python-build-system) + (arguments + '(#:phases (modify-phases %standard-phases + (replace 'check + (lambda _ + (invoke "python" "-m" "django" "test" "-v2" + "--settings=tests.settings")))))) (propagated-inputs `(("python-django" ,python-django))) - (native-inputs `(("python-tox" ,python-tox))) - (home-page "https://github.com/gintas/django-picklefield") (synopsis "Pickled object field for Django") (description "Pickled object field for Django") (license license:expat))) -- 2.28.0
* gnu/packages/django.scm (python-django-bulk-update): Update to 2.2.0. [native-inputs]: Remove. --- gnu/packages/django.scm | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm index b5fca63035..666099acbe 100644 --- a/gnu/packages/django.scm +++ b/gnu/packages/django.scm @@ -717,21 +717,17 @@ conn_max_age argument to easily enable Django’s connection pool.") (define-public python-django-bulk-update (package (name "python-django-bulk-update") - (version "1.1.10") + (version "2.2.0") (source (origin (method url-fetch) (uri (pypi-uri "django-bulk-update" version)) (sha256 (base32 - "0mbng9m7swfc0dnidipbzlxfhlfjrv755dlnha5s4m9mgdxb1fhc")))) + "0dxkmrm3skyw82i0qa8vklxw1ma1y308kh9w2hcnvhpacn5cxdss")))) (build-system python-build-system) (arguments - ;; tests don't support django 1.10, but the module seems to work. + ;; XXX: Tests require a Postgres database. `(#: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") -- 2.28.0
* gnu/packages/django.scm (python-django-contact-form): Update to 1.8.1. [arguments]: Adjust test invokation, drop flake8 checks. [native-inputs]: Remove PYTHON-FLAKE8. --- gnu/packages/django.scm | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm index 666099acbe..4946e3685d 100644 --- a/gnu/packages/django.scm +++ b/gnu/packages/django.scm @@ -743,26 +743,26 @@ 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.3") + (version "1.8.1") (source (origin (method url-fetch) (uri (pypi-uri "django-contact-form" version)) (sha256 (base32 - "0az590y56k5ahv4sixrkn54d3a8ig2q2z9pl6s3m4f533mx2gj17")))) + "1zv7bcjfrg32gcsq3bclkld79l6mcy2wcvlj81h7q2ppv1wm8vqs")))) (build-system python-build-system) (arguments `(#:phases (modify-phases %standard-phases (replace 'check (lambda _ - ;; the next version will need "make test" - (invoke "flake8" "contact_form") - (invoke "coverage" "run" "contact_form/runtests.py") - (invoke "coverage" "report" "-m" "--fail-under" "0")))))) + (setenv "PYTHONPATH" + (string-append "./build/lib:" + (getenv "PYTHONPATH"))) + (invoke "coverage" "run" "--source" "contact_form" + "runtests.py")))))) (native-inputs - `(("python-coverage" ,python-coverage) - ("python-flake8" ,python-flake8))) + `(("python-coverage" ,python-coverage))) (propagated-inputs `(("python-django" ,python-django))) (home-page "https://github.com/ubernostrum/django-contact-form") -- 2.28.0
* gnu/packages/django.scm (python-django-contrib-comments): Update to 1.9.2. --- gnu/packages/django.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm index 4946e3685d..fb346b7067 100644 --- a/gnu/packages/django.scm +++ b/gnu/packages/django.scm @@ -778,13 +778,13 @@ for Django sites.") (define-public python-django-contrib-comments (package (name "python-django-contrib-comments") - (version "1.8.0") + (version "1.9.2") (source (origin (method url-fetch) (uri (pypi-uri "django-contrib-comments" version)) (sha256 (base32 - "0bxsgw8jrkhg6r5s0z6ksfi4w8yknaqb1s9acmxd9pm3pnsnp5kx")))) + "0ccdiv784a5vnpfal36km4dyg12340rwhpr0riyy0k89wfnjn8yi")))) (build-system python-build-system) (propagated-inputs `(("python-django" ,python-django))) -- 2.28.0
* gnu/packages/django.scm (python-django-redis): Update to 4.12.1. --- gnu/packages/django.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm index fb346b7067..1d0bc7bd67 100644 --- a/gnu/packages/django.scm +++ b/gnu/packages/django.scm @@ -880,13 +880,13 @@ support, and optional data-URI image and font embedding.") (define-public python-django-redis (package (name "python-django-redis") - (version "4.10.0") + (version "4.12.1") (source (origin (method url-fetch) (uri (pypi-uri "django-redis" version)) (sha256 (base32 - "1rxcwnv9ik0swkwvfqdi9i9baw6n8if5pj6q63fjh4p9chw3j2xg")))) + "0qvsm8yjchl0d3i7g20wba6px9lb5gv8kp3fcnr6hr0y0b3qjr9h")))) (build-system python-build-system) (arguments `(#:phases -- 2.28.0
* gnu/packages/databases.scm (python-redis): Update to 3.5.3. --- gnu/packages/databases.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index fe9978587c..586baff339 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -3042,13 +3042,13 @@ reasonable substitute.") (define-public python-redis (package (name "python-redis") - (version "3.3.8") + (version "3.5.3") (source (origin (method url-fetch) (uri (pypi-uri "redis" version)) (sha256 - (base32 "0fyxzqax7lcwzwhvnz0i0q6v62hxyv1mv52ywx3bpff9a2vjz8lq")))) + (base32 "18h5b87g15x3j6pb1h2q27ri37p2qpvc9n2wgn5yl3b6m3y0qzhf")))) (build-system python-build-system) ;; Tests require a running Redis server. (arguments '(#:tests? #f)) -- 2.28.0
* gnu/packages/databases.scm (python-rq): Update to 1.5.1. [source]: Change to GIT-FETCH. [arguments]: New field. [native-inputs]: Add PYTHON-MOCK, PYTHON-PYTEST, and REDIS. --- gnu/packages/databases.scm | 29 +++++++++++++++++++++++++---- 1 file changed, 25 insertions(+), 4 deletions(-) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 586baff339..a9d569c14e 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -3067,14 +3067,35 @@ reasonable substitute.") (define-public python-rq (package (name "python-rq") - (version "0.13.0") + (version "1.5.1") (source (origin - (method url-fetch) - (uri (pypi-uri "rq" version)) + (method git-fetch) + (uri (git-reference + (url "https://github.com/rq/rq") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 - (base32 "0xvapd2bxnyq480i48bdkddzlqmv2axbsq85rlfy8k3al8zxxxrf")))) + (base32 "0i7yyw828wdvl7ap4gb7jhm4p94502is3xxrgrdgwwp0l1rac004")))) (build-system python-build-system) + (arguments + '(#:phases (modify-phases %standard-phases + (add-before 'check 'start-redis + (lambda _ + (invoke "redis-server" "--daemonize" "yes"))) + (replace 'check + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + ;; Drop test that needs the SDK for Sentry.io. + (delete-file "tests/test_sentry.py") + ;; Ensure 'rq' and 'rqworker' ends up on PATH. + (setenv "PATH" (string-append out "/bin:" + (getenv "PATH"))) + (invoke "pytest" "-vv"))))))) + (native-inputs + `(("python-mock" ,python-mock) + ("python-pytest" ,python-pytest) + ("redis" ,redis))) (propagated-inputs `(("python-click" ,python-click) ("python-redis" ,python-redis))) -- 2.28.0
* gnu/packages/python-xyz.scm (python-croniter): New public variable. --- gnu/packages/python-xyz.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 6063b358c2..ab67f8e731 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -19444,6 +19444,27 @@ file-based data structures that are @code{mmap}ped into memory so that many processes may share the same data.") (license license:asl2.0))) +(define-public python-croniter + (package + (name "python-croniter") + (version "0.3.34") + (source (origin + (method url-fetch) + (uri (pypi-uri "croniter" version)) + (sha256 + (base32 + "0r79cx4v2dw4hzr0annkkxxis46c8hivq61sr39z6p7lcjsbk1ki")))) + (build-system python-build-system) + (propagated-inputs + `(("python-dateutil" ,python-dateutil) + ("python-natsort" ,python-natsort))) + (home-page "https://github.com/kiorky/croniter") + (synopsis "Iterate datetime objects with cron-like syntax") + (description + "@code{croniter} provides iteration for datetime object with cron-like +format.") + (license license:expat))) + (define-public python-pylzma (package (name "python-pylzma") -- 2.28.0
* gnu/packages/databases.scm (python-rq-scheduler): New public variable. --- gnu/packages/databases.scm | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index a9d569c14e..401c88a086 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -3110,6 +3110,44 @@ is designed to have a low barrier to entry.") (define-public python2-rq (package-with-python2 python-rq)) +(define-public python-rq-scheduler + (package + (name "python-rq-scheduler") + (version "0.10.0") + (home-page "https://github.com/rq/rq-scheduler") + (source (origin + (method git-fetch) + (uri (git-reference + (url home-page) + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0xg6yazqs5kbr2ayvhvljs1h5vgx5k5dds613fmhswln7gglf9hk")))) + (build-system python-build-system) + (arguments + '(#:phases (modify-phases %standard-phases + (add-before 'check 'start-redis + (lambda _ + (invoke "redis-server" "--daemonize" "yes"))) + (replace 'check + (lambda _ + (substitute* "run_tests.py" + (("/usr/bin/env") + (which "env"))) + (invoke "./run_tests.py")))))) + (native-inputs + `(("redis" ,redis) + ("which" ,which))) + (propagated-inputs + `(("python-croniter" ,python-croniter) + ("python-rq" ,python-rq))) + (synopsis "Job scheduling capabilities for RQ (Redis Queue)") + (description + "This package provides job scheduling capabilities to @code{python-rq} +(Redis Queue).") + (license license:expat))) + (define-public python-trollius-redis (package (name "python-trollius-redis") -- 2.28.0
* gnu/packages/django.scm (python-django-rq): Update to 2.3.2. [native-inputs]: Add PYTHON-DJANGO-REDIS, PYTHON-MOCK, and PYTHON-RQ-SCHEDULER. --- gnu/packages/django.scm | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm index 1d0bc7bd67..f7dd7a9f3b 100644 --- a/gnu/packages/django.scm +++ b/gnu/packages/django.scm @@ -917,13 +917,13 @@ support, and optional data-URI image and font embedding.") (define-public python-django-rq (package (name "python-django-rq") - (version "1.3.1") + (version "2.3.2") (source (origin (method url-fetch) (uri (pypi-uri "django-rq" version)) (sha256 (base32 - "1ips1ikv5qhgwb58ssn496vgqg9qv6jinwmwbrg9l3s75fskd1l5")))) + "0lksnjn3q3f7y72bj2yr8870w28a5b6x0vjnd9nhpq2ah6xfz6pf")))) (build-system python-build-system) (arguments `(#:phases @@ -935,7 +935,9 @@ support, and optional data-URI image and font embedding.") "--settings=django_rq.tests.settings" "--pythonpath=.")))))) (native-inputs - `(("python-mock" ,python-mock) + `(("python-django-redis" ,python-django-redis) + ("python-mock" ,python-mock) + ("python-rq-scheduler" ,python-rq-scheduler) ("redis" ,redis))) (propagated-inputs `(("python-django" ,python-django) -- 2.28.0
* gnu/packages/django.scm (python-django-q): Update to 1.3.3. [arguments]: Add #:tests?. Remove #:phases. [native-inputs]: Remove. --- gnu/packages/django.scm | 17 ++++------------- 1 file changed, 4 insertions(+), 13 deletions(-) diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm index f7dd7a9f3b..443c784e97 100644 --- a/gnu/packages/django.scm +++ b/gnu/packages/django.scm @@ -956,31 +956,22 @@ settings.py and easily use them in your project.") (define-public python-django-q (package (name "python-django-q") - (version "1.3.2") + (version "1.3.3") (source (origin (method url-fetch) (uri (pypi-uri "django-q" version)) (sha256 (base32 - "0ac3rjxv37bn97a62ly8b7qvbv765z6paiinzpwxx83nal2icc42")))) + "1fs29767940akbsn3vdzw2rqnn9v77b0b55bi7fvydny1rk7fw6y")))) (build-system python-build-system) - (arguments - '(#:phases - (modify-phases %standard-phases - (replace 'check - (lambda _ - (setenv "DJANGO_SETTINGS_MODULE" "django_q.tests.settings") - (invoke "django-admin" "test" "django_q.tests" - "--pythonpath=.")))))) + ;; FIXME: Tests require disque, Redis, MongoDB, Docker. + (arguments '(#:tests? #f)) (propagated-inputs `(("python-arrow" ,python-arrow) ("python-blessed" ,python-blessed) ("python-django" ,python-django) ("python-django-picklefield" ,python-django-picklefield))) - (native-inputs - `(("python-django-redis" ,python-django-redis) - ("python-pytest-django" ,python-pytest-django))) (home-page "https://django-q.readthedocs.io/") (synopsis "Multiprocessing distributed task queue for Django") (description -- 2.28.0
* gnu/packages/django.scm (python-django-sortedm2m): Update to 3.0.2. [arguments]: Remove #:tests?. Add #:phases. [home-page]: Update to current. --- gnu/packages/django.scm | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm index 443c784e97..182d454c72 100644 --- a/gnu/packages/django.scm +++ b/gnu/packages/django.scm @@ -982,20 +982,25 @@ using Python multiprocessing.") (define-public python-django-sortedm2m (package (name "python-django-sortedm2m") - (version "1.3.3") + (version "3.0.2") (source (origin (method url-fetch) (uri (pypi-uri "django-sortedm2m" version)) (sha256 (base32 - "0axf765i7b3c2s83nlph47asi8s071dhq8l7y382v1pw785s22vi")))) + "0z0yymmrr2l5cznqbzwziw624df0qsiflvbpqwrpan52nww3dk4a")))) (build-system python-build-system) (arguments - ;; no tests. - `(#:tests? #f)) + `(#: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")))))) (propagated-inputs `(("python-django" ,python-django))) - (home-page "https://github.com/gregmuellegger/django-sortedm2m") + (home-page "https://github.com/jazzband/django-sortedm2m") (synopsis "Drop-in replacement for django's own ManyToManyField") (description "Sortedm2m is a drop-in replacement for django's own ManyToManyField. -- 2.28.0
* gnu/packages/django.scm (python-django-appconf): Update to 1.0.4. [arguments]: New field. [propagated-inputs]: Remove PYTHON-SIX. --- gnu/packages/django.scm | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm index 182d454c72..cf676a5d68 100644 --- a/gnu/packages/django.scm +++ b/gnu/packages/django.scm @@ -1014,17 +1014,24 @@ the order of added relations.") (define-public python-django-appconf (package (name "python-django-appconf") - (version "1.0.3") + (version "1.0.4") (source (origin (method url-fetch) (uri (pypi-uri "django-appconf" version)) (sha256 (base32 - "1qw0p9qh78bvkgi38ba58djwn0rd5j1lrkg2c2wk5wb7snj3rw9m")))) + "101k8nkc7xlffpjdi2qbrp9pc4v8hzvmkzi12qp7vms39asxwn5y")))) (build-system python-build-system) + (arguments + '(#: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")))))) (propagated-inputs - `(("python-django" ,python-django) - ("python-six" ,python-six))) + `(("python-django" ,python-django))) (home-page "https://github.com/django-compressor/django-appconf") (synopsis "Handle configuration defaults of packaged Django apps") (description -- 2.28.0
* gnu/packages/django.scm (python-django-statici18n): Update to 1.9.0. [source]: Switch to GIT-FETCH. [arguments]: New field. [native-inputs]: Add PYTHON-PYTEST and PYTHON-PYTEST-DJANGO. --- gnu/packages/django.scm | 25 ++++++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm index cf676a5d68..dbee647ca2 100644 --- a/gnu/packages/django.scm +++ b/gnu/packages/django.scm @@ -1048,18 +1048,33 @@ name is purely coincidental.") (define-public python-django-statici18n (package (name "python-django-statici18n") - (version "1.3.0") + (version "1.9.0") + (home-page "https://github.com/zyegfryed/django-statici18n") (source (origin - (method url-fetch) - (uri (pypi-uri "django-statici18n" version)) + (method git-fetch) + (uri (git-reference + (url home-page) + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "0alcf4g1nv69njhq5k3qw4mfl2k6dc18bik5nk0g1mnp3m8zyz7k")))) + "1p3myp2im6c87yc05alh91jyahqws5lcw3zzdsj4dh8lx9s9cgpf")))) (build-system python-build-system) + (arguments + '(#:phases (modify-phases %standard-phases + (replace 'check + (lambda _ + (setenv "PYTHONPATH" + (string-append "./tests/test_project:./build/lib:" + (getenv "PYTHONPATH"))) + (setenv "DJANGO_SETTINGS_MODULE" "project.settings") + (invoke "pytest" "-vv")))))) + (native-inputs + `(("python-pytest" ,python-pytest) + ("python-pytest-django" ,python-pytest-django))) (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 -- 2.28.0
* gnu/packages/django.scm (python-django-sekizai): Update to 2.0.0. --- gnu/packages/django.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm index dbee647ca2..0dd52294b8 100644 --- a/gnu/packages/django.scm +++ b/gnu/packages/django.scm @@ -1226,14 +1226,14 @@ provides features like a web browseable API and authentication policies.") (define-public python-django-sekizai (package (name "python-django-sekizai") - (version "1.1.0") + (version "2.0.0") (source (origin (method url-fetch) (uri (pypi-uri "django-sekizai" version)) (sha256 (base32 - "1nc4sv109valdn6azmgm2j01k7khxy2wnji84z63x7fxsikfdxp2")))) + "0vrkli625b5s1wldri3dyrfvqbxg7zxy2pg0rpjixw3b1ndz0ag8")))) (build-system python-build-system) (arguments '(#:tests? #f)) ; Tests not included with release. (propagated-inputs -- 2.28.0
* gnu/packages/django.scm (python-django-override-storage): Update to 0.3.0. [source]: Switch to GIT-FETCH. [arguments]: New field. [native-inputs]: Add PYTHON-MOCK. --- gnu/packages/django.scm | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm index 0dd52294b8..62e6263270 100644 --- a/gnu/packages/django.scm +++ b/gnu/packages/django.scm @@ -1325,18 +1325,27 @@ template tag.") (define-public python-django-override-storage (package (name "python-django-override-storage") - (version "0.1.6") + (version "0.3.0") + (home-page "https://github.com/danifus/django-override-storage") (source (origin - (method url-fetch) - (uri (pypi-uri "django-override-storage" version)) + (method git-fetch) + (uri (git-reference + (url home-page) + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 - (base32 "022arq94lxnlyykn8wvfnkykhi2dldnsn93pa2i41na551i0wpiv")))) + (base32 "081kzfk7mmybhihvc92d3hsdg0r2k20ydq88fs1fgd348sq1ax51")))) (build-system python-build-system) + (arguments + '(#:phases (modify-phases %standard-phases + (replace 'check + (lambda _ + (invoke "python" "runtests.py")))))) + (native-inputs + `(("python-mock" ,python-mock))) (propagated-inputs `(("python-django" ,python-django))) - (home-page - "https://github.com/danifus/django-override-storage") (synopsis "Django test helpers to manage file storage side effects") (description "This project provides tools to help reduce the side effects of using -- 2.28.0
* gnu/packages/openldap.scm (python-ldap): Update to 3.3.1. --- gnu/packages/openldap.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/openldap.scm b/gnu/packages/openldap.scm index 14bf874f48..6e863388d8 100644 --- a/gnu/packages/openldap.scm +++ b/gnu/packages/openldap.scm @@ -191,14 +191,14 @@ an LDAP server.") (define-public python-ldap (package (name "python-ldap") - (version "3.1.0") + (version "3.3.1") (source (origin (method url-fetch) (uri (pypi-uri "python-ldap" version)) (sha256 (base32 - "1i97nwfnraylyn0myxlf3vciicrf5h6fymrcff9c00k581wmx5s1")))) + "198as30xy6p760niqps2zdvq2xcmr765h06pmda8fa9y077wl4a7")))) (build-system python-build-system) (arguments `(#:phases -- 2.28.0
* gnu/packages/django.scm (python-django-auth-ldap): New public variable. --- gnu/packages/django.scm | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm index 62e6263270..6f69a17130 100644 --- a/gnu/packages/django.scm +++ b/gnu/packages/django.scm @@ -34,6 +34,7 @@ #:use-module (gnu packages databases) #:use-module (gnu packages check) #:use-module (gnu packages geo) + #:use-module (gnu packages openldap) #:use-module (gnu packages python) #:use-module (gnu packages python-compression) #:use-module (gnu packages python-crypto) @@ -1351,3 +1352,38 @@ template tag.") "This project provides tools to help reduce the side effects of using FileFields during tests.") (license license:expat))) + +(define-public python-django-auth-ldap + (package + (name "python-django-auth-ldap") + (version "2.2.0") + (source (origin + (method url-fetch) + (uri (pypi-uri "django-auth-ldap" version)) + (sha256 + (base32 + "1gq49l5lv6ar6yf73c8pix8n7md4109yq31s5jfk64w6n1rigbqi")))) + (build-system python-build-system) + (arguments + '(#:phases (modify-phases %standard-phases + (replace 'check + (lambda* (#:key inputs #:allow-other-keys) + (let ((openldap (assoc-ref inputs "openldap"))) + ;; The tests need 'slapd' which is installed to the + ;; libexec directory of OpenLDAP. + (setenv "SLAPD" (string-append openldap "/libexec/slapd")) + (setenv "SCHEMA" + (string-append openldap "/etc/openldap/schema")) + (invoke "python" "-m" "django" "test" + "--settings" "tests.settings"))))))) + (native-inputs + `(("openldap" ,openldap) + ("python-mock" ,python-mock))) + (propagated-inputs + `(("python-django" ,python-django) + ("python-ldap" ,python-ldap))) + (home-page "https://github.com/django-auth-ldap/django-auth-ldap") + (synopsis "Django LDAP authentication backend") + (description + "This packages provides a LDAP authentication backend for Django.") + (license license:bsd-2))) -- 2.28.0
* gnu/packages/django.scm (python-django-logging-json): New public variable. --- gnu/packages/django.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm index 6f69a17130..a81b985bbb 100644 --- a/gnu/packages/django.scm +++ b/gnu/packages/django.scm @@ -1387,3 +1387,28 @@ FileFields during tests.") (description "This packages provides a LDAP authentication backend for Django.") (license license:bsd-2))) + +(define-public python-django-logging-json + (package + (name "python-django-logging-json") + (version "1.15") + (source (origin + (method url-fetch) + (uri (pypi-uri "django-logging-json" version)) + (sha256 + (base32 + "06041a8icazzp73kg93c7k1ska12wvkq7fpcad0l0sm1qnxx5yx7")))) + (build-system python-build-system) + (arguments '(#:tests? #f)) ;no tests + (propagated-inputs + `(("python-certifi" ,python-certifi) + ("python-django" ,python-django) + ("python-elasticsearch" ,python-elasticsearch) + ("python-six" ,python-six))) + (home-page "https://github.com/cipriantarta/django-logging") + (synopsis "Log requests/responses in various formats") + (description + "This package provides a Django library that logs request, response, +and exception details in a JSON document. It can also send logs directly +to ElasticSearch.") + (license license:bsd-2))) -- 2.28.0
* gnu/packages/django.scm (python-django-netfields): New public variable. --- gnu/packages/django.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm index a81b985bbb..e08a530d82 100644 --- a/gnu/packages/django.scm +++ b/gnu/packages/django.scm @@ -1412,3 +1412,27 @@ FileFields during tests.") and exception details in a JSON document. It can also send logs directly to ElasticSearch.") (license license:bsd-2))) + +(define-public python-django-netfields + (package + (name "python-django-netfields") + (version "1.2.2") + (source (origin + (method url-fetch) + (uri (pypi-uri "django-netfields" version)) + (sha256 + (base32 + "1c47azr5am0q8g45x0fbn0cay7vyrack6n7k6siliw1j2p0gzi7s")))) + (build-system python-build-system) + (arguments '(#:tests? #f)) ;XXX: Requires a running PostgreSQL server + (propagated-inputs + `(("python-django" ,python-django) + ("python-ipaddress" ,python-ipaddress) + ("python-netaddr" ,python-netaddr) + ("python-six" ,python-six))) + (home-page "https://github.com/jimfunk/django-postgresql-netfields") + (synopsis "PostgreSQL netfields implementation for Django") + (description + "This package provides mappings for the PostgreSQL @code{INET} and +@code{CIDR} fields for use in Django projects.") + (license license:bsd-3))) -- 2.28.0
* gnu/packages/databases.scm (python-alchemy-mock): New public variable. --- gnu/packages/databases.scm | 41 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 401c88a086..0adb42bbe4 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -2712,6 +2712,47 @@ You might also want to install the following optional dependencies: (define-public python2-sqlalchemy-utils (package-with-python2 python-sqlalchemy-utils)) +(define-public python-alchemy-mock + (package + (name "python-alchemy-mock") + (version "0.4.3") + (home-page "https://github.com/miki725/alchemy-mock") + (source (origin + (method url-fetch) + (uri (pypi-uri "alchemy-mock" version)) + (sha256 + (base32 + "0ylxygl3bcdapzz529n8wgk7vx9gjwb3ism564ypkpd7dbsw653r")))) + (build-system python-build-system) + (arguments + '(#:phases (modify-phases %standard-phases + (replace 'check + (lambda _ + ;; Create pytest.ini that adds doctest options to + ;; prevent test failure. Taken from tox.ini. + (call-with-output-file "pytest.ini" + (lambda (port) + (format port "[pytest] +doctest_optionflags=IGNORE_EXCEPTION_DETAIL +"))) + (invoke "pytest" "-vv" "--doctest-modules" + "alchemy_mock/")))))) + (native-inputs + `(("python-mock" ,python-mock) + ("python-pytest" ,python-pytest))) + (propagated-inputs + `(("python-six" ,python-six) + ("python-sqlalchemy" ,python-sqlalchemy))) + (synopsis "Mock helpers for SQLAlchemy") + (description + "This package provides mock helpers for SQLAlchemy that makes it easy +to mock an SQLAlchemy session while preserving the ability to do asserts. + +Normally Normally SQLAlchemy's expressions cannot be easily compared as +comparison on binary expression produces yet another binary expression, but +this library provides functions to facilitate such comparisons.") + (license license:expat))) + (define-public python-alembic (package (name "python-alembic") -- 2.28.0
* gnu/packages/python-xyz.scm (python-jsonplus): New public variable. --- gnu/packages/python-xyz.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index ab67f8e731..c4b3a2e335 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -19878,6 +19878,31 @@ hard (or impossible without root privileges) to set the state of the real services to what you expect in your tests.") (license license:lgpl3+))) +(define-public python-jsonplus + (package + (name "python-jsonplus") + (version "0.8.0") + (home-page "https://github.com/randomir/jsonplus") + (source (origin + (method url-fetch) + (uri (pypi-uri "jsonplus" version)) + (sha256 + (base32 + "05yv3dw813zwas9snz124k2hki49y268b3mx0gj9w7v1nrjmglq1")))) + (build-system python-build-system) + ;; XXX: No tests on PyPI, and the repository has no tags. + (arguments '(#:tests? #f)) + (propagated-inputs + `(("python-dateutil" ,python-dateutil) + ("python-simplejson" ,python-simplejson) + ("python-sortedcontainers" ,python-sortedcontainers))) + (synopsis "Serialize Python types to/from JSON") + (description + "This package provides functionality to serialize arbitrary data types +to and from JSON. Common data types are implemented and it is easy to +register custom encoders and decoders.") + (license license:expat))) + (define-public python-ujson (package (name "python-ujson") -- 2.28.0
* gnu/packages/django.scm (python-django-debug-toolbar-alchemy): New public variable. --- gnu/packages/django.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm index e08a530d82..df8edb2537 100644 --- a/gnu/packages/django.scm +++ b/gnu/packages/django.scm @@ -536,6 +536,32 @@ account authentication.") request and response as a toolbar on the rendered page.") (license license:bsd-3))) +(define-public python-django-debug-toolbar-alchemy + (package + (name "python-django-debug-toolbar-alchemy") + (version "0.1.5") + (home-page "https://github.com/miki725/django-debug-toolbar-alchemy") + (source (origin + (method url-fetch) + (uri (pypi-uri "django-debug-toolbar-alchemy" version)) + (sha256 + (base32 + "1kmpzghnsc247bc1dl22s4y62k9ijgy1pjms227018h5a4frsa5b")))) + (build-system python-build-system) + (arguments '(#:tests? #f)) ;XXX: 'make check' does "echo TODO" + (propagated-inputs + `(("python-django" ,python-django) + ("python-django-debug-toolbar" ,python-django-debug-toolbar) + ("python-jsonplus" ,python-jsonplus) + ("python-six" ,python-six) + ("python-sqlalchemy" ,python-sqlalchemy))) + (synopsis "Django Debug Toolbar panel for SQLAlchemy") + (description + "This package completely mimics the default Django Debug Toolbar SQL +panel (internally it is actually subclassed), but instead of displaying +queries done via the Django ORM, SQLAlchemy generated queries are displayed.") + (license license:expat))) + (define-public python-django-gravatar2 (package (name "python-django-gravatar2") -- 2.28.0
* gnu/packages/django.scm (python-django-url-filter): New public variable. --- gnu/packages/django.scm | 47 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm index df8edb2537..51eb1789f5 100644 --- a/gnu/packages/django.scm +++ b/gnu/packages/django.scm @@ -1462,3 +1462,50 @@ to ElasticSearch.") "This package provides mappings for the PostgreSQL @code{INET} and @code{CIDR} fields for use in Django projects.") (license license:bsd-3))) + +(define-public python-django-url-filter + (package + (name "python-django-url-filter") + (version "0.3.15") + (home-page "https://github.com/miki725/django-url-filter") + (source (origin + (method git-fetch) + (uri (git-reference (url home-page) (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0r4zhqhs8y6cnplwyvcb0zpijizw1ifnszs38n4w8138657f9026")))) + (build-system python-build-system) + (arguments + '(#:tests? #f ;FIXME: Django raises "Apps aren't loaded yet"!? + #:phases (modify-phases %standard-phases + (add-before 'check 'loosen-requirements + (lambda _ + ;; Do not depend on compatibility package for old + ;; Python versions. + (substitute* "requirements.txt" + (("enum-compat") "")) + #t)) + (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~%"))))))) + (propagated-inputs + `(("python-cached-property" ,python-cached-property) + ("python-django" ,python-django) + ("python-six" ,python-six))) + (synopsis "Filter data via human-friendly URLs") + (description + "The main goal of Django URL Filter is to provide an easy URL interface +for filtering data. It allows the user to safely filter by model attributes +and also allows to specify the lookup type for each filter (very much like +Django's filtering system in ORM).") + (license license:expat))) -- 2.28.0
This package depends on Python 2 which is past end-of-life and also requires older versions of Django and dependencies. * gnu/packages/django.scm (pootle): Remove variable. --- gnu/packages/django.scm | 72 ----------------------------------------- 1 file changed, 72 deletions(-) diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm index 51eb1789f5..1ce5371e39 100644 --- a/gnu/packages/django.scm +++ b/gnu/packages/django.scm @@ -1111,78 +1111,6 @@ static files.") (define-public python2-django-statici18n (package-with-python2 python-django-statici18n)) -(define-public pootle - (package - (name "pootle") - (version "2.8.2") - (source - (origin - (method url-fetch) - (uri (pypi-uri "Pootle" version ".tar.bz2")) - (sha256 - (base32 - "1ng8igq0alsqzasgxdh3fb23581anyzp121h9041pwdzzv98kn4m")))) - (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" ,python2-pytest) - ("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 "https://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+))) - (define-public python-django-tagging (package (name "python-django-tagging") -- 2.28.0
This package depends on Python 2 which is past end-of-life, and also requires older versions of Django and dependencies. * gnu/packages/mail.scm (python2-django-mailman3): Remove variable. (python-django-mailman3)[properties]: Remove. --- gnu/packages/mail.scm | 41 ----------------------------------------- 1 file changed, 41 deletions(-) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index 15b9b1dd4e..30d06e79de 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -2935,47 +2935,6 @@ installation on systems where resources are limited. Its features include: (synopsis "Django library to help interaction with Mailman") (description "This package contains libraries and templates for Django-based interfaces -interacting with Mailman.") - (properties `((python2-variant . ,(delay python2-django-mailman3)))) - (license license:gpl3+))) - -;; This is the last version to support Python-2. -(define-public python2-django-mailman3 - (package - (name "python2-django-mailman3") - (version "1.1.0") - (source - (origin - (method url-fetch) - (uri (pypi-uri "django-mailman3" version)) - (sha256 - (base32 - "1xjdkgfjwhgyrp5nxw65dcpcsr98ygj6856sp0bwkrmyxpd1xxk2")))) - (build-system python-build-system) - (arguments - `(#:phases - (modify-phases %standard-phases - (replace 'check - (lambda _ - (invoke "django-admin" - "test" - "--settings=django_mailman3.tests.settings_test" - "django_mailman3")))) - #:python ,python-2)) - (inputs - `(("python2-django" ,python2-django))) - (propagated-inputs - `(("python2-requests" ,python2-requests) - ("python2-requests-oauthlib" ,python2-requests-oauthlib) - ("python2-openid" ,python2-openid) - ("python2-mailmanclient" ,python2-mailmanclient) - ("python2-django-allauth" ,python2-django-allauth) - ("python2-django-gravatar2" ,python2-django-gravatar2) - ("python2-pytz" ,python2-pytz))) - (home-page "https://gitlab.com/mailman/django-mailman3") - (synopsis "Django library for Mailman UIs") - (description - "Libraries and templates for Django-based interfaces interacting with Mailman.") (license license:gpl3+))) -- 2.28.0
* gnu/packages/monitoring.scm (python2-graphite-web): Rename to ... (graphite-web): ... this. Update to 1.1.7. [arguments]: Add #:tests?. Adjust setup.py substitutions. [propagated-inputs]: Use the Python 3 versions of all inputs. [home-page]: Use HTTPS. --- gnu/packages/monitoring.scm | 38 +++++++++++++++++++------------------ 1 file changed, 20 insertions(+), 18 deletions(-) diff --git a/gnu/packages/monitoring.scm b/gnu/packages/monitoring.scm index 16de32b306..8f4b7a945f 100644 --- a/gnu/packages/monitoring.scm +++ b/gnu/packages/monitoring.scm @@ -330,43 +330,45 @@ caching them in memory for \"hot queries\" from the Graphite-Web application, and persisting them to disk using the Whisper time-series library.") (license license:asl2.0))) -(define-public python2-graphite-web +(define-public graphite-web (package - (name "python2-graphite-web") - (version "1.0.2") + (name "graphite-web") + (version "1.1.7") (source (origin (method url-fetch) (uri (pypi-uri "graphite-web" version)) (sha256 (base32 - "0q8bwlj75jqyzmazfsi5sa26xl58ssa8wdxm2l4j0jqyn8xpfnmc")))) + "1l5a5rry9cakqxamvlx4xq63jifmncb6815bg9vy7fg1zyd3pjxk")))) (build-system python-build-system) (arguments - `(#:python ,python-2 ; only supports Python 2 + `(#:tests? #f ;XXX: not in PyPI release & requires database #:phases (modify-phases %standard-phases (add-after 'unpack 'relax-requirements (lambda _ (substitute* "setup.py" - (("0.4.3") ,(package-version python2-django-tagging)) - (("<1.9.99") (string-append "<=" - ,(package-version python2-django)))) + ;; Allow newer versions of django-tagging. + (("django-tagging==") + "django-tagging>=") + ;; Allow Django 3.1. + ((",<3\\.1") "")) #t)) ;; Don't install to /opt (add-after 'unpack 'do-not-install-to-/opt (lambda _ (setenv "GRAPHITE_NO_PREFIX" "1") #t))))) (propagated-inputs - `(("python2-cairocffi" ,python2-cairocffi) - ("python2-pytz" ,python2-pytz) - ("python2-whisper" ,python2-whisper) - ("python2-django" ,python2-django) - ("python2-django-tagging" ,python2-django-tagging) - ("python2-scandir" ,python2-scandir) - ("python2-urllib3" ,python2-urllib3) - ("python2-pyparsing" ,python2-pyparsing) - ("python2-txamqp" ,python2-txamqp))) - (home-page "http://graphiteapp.org/") + `(("python-cairocffi" ,python-cairocffi) + ("python-pytz" ,python-pytz) + ("python-whisper" ,python-whisper) + ("python-django" ,python-django) + ("python-django-tagging" ,python-django-tagging) + ("python-scandir" ,python-scandir) + ("python-urllib3" ,python-urllib3) + ("python-pyparsing" ,python-pyparsing) + ("python-txamqp" ,python-txamqp))) + (home-page "https://graphiteapp.org/") (synopsis "Scalable realtime graphing system") (description "Graphite is a scalable real-time graphing system that does two things: store numeric time-series data, and render graphs of this data on -- 2.28.0
Python 2 is EOL and not supported by current versions of Django. * gnu/packages/django.scm (python-django, python-django-tagging)[properties]: Remove PYTHON2-VARIANT. * gnu/packages/django.scm (python2-django, python2-django-simple-math-captcha, python2-pytest-django, python2-django-filter, python2-django-allauth, python2-django-gravatar2, python2-django-assets, python2-django-jsonfield, python2-dj-database-url, python2-django-bulk-update, python2-django-contact-form, python2-django-contrib-comments, python2-django-overextends, python2-django-redis, python2-django-rq, python2-django-sortedm2m, python2-django-appconf, python2-django-statici18n, python2-django-tagging): Remove variables. --- gnu/packages/django.scm | 82 +---------------------------------------- 1 file changed, 1 insertion(+), 81 deletions(-) diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm index 1ce5371e39..d23c6fdaa2 100644 --- a/gnu/packages/django.scm +++ b/gnu/packages/django.scm @@ -127,21 +127,7 @@ 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)) - (cpe-name . "django"))))) - -(define-public python2-django - (let ((base (package-with-python2 (strip-python2-variant python-django)))) - (package - (inherit base) - (native-inputs - `(;; Test requirements for Python 2 taken from - ;; tests/requirements/py3.txt: enum34 and mock. - ("python2-enum34" ,python2-enum34) - ("python2-mock" ,python2-mock) - ;; When adding memcached mind: for Python 2 memcached <= 1.53 is - ;; required. - ,@(package-native-inputs base)))))) + (properties `((cpe-name . "django"))))) (define-public python-django-2.2 (package @@ -239,9 +225,6 @@ with no settings.py configuration necessary, but instead can be configured with arguments to the field constructor.") (license license:asl2.0))) -(define-public python2-django-simple-math-captcha - (package-with-python2 python-django-simple-math-captcha)) - (define-public python-django-classy-tags (package (name "python-django-classy-tags") @@ -377,9 +360,6 @@ size and quality.") useful tools for testing Django applications and projects.") (license license:bsd-3))) -(define-public python2-pytest-django - (package-with-python2 python-pytest-django)) - (define-public python-django-haystack (package (name "python-django-haystack") @@ -459,9 +439,6 @@ filter down a queryset based on a model’s fields, displaying the form to let them do this.") (license license:bsd-3))) -(define-public python2-django-filter - (package-with-python2 python-django-filter)) - (define-public python-django-allauth (package (name "python-django-allauth") @@ -498,9 +475,6 @@ 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-debug-toolbar (package (name "python-django-debug-toolbar") @@ -586,9 +560,6 @@ queries done via the Django ORM, SQLAlchemy generated queries are displayed.") 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") @@ -613,9 +584,6 @@ 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-jinja (package (name "python-django-jinja") @@ -685,9 +653,6 @@ 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") @@ -710,9 +675,6 @@ 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-picklefield (package (name "python-django-picklefield") @@ -764,9 +726,6 @@ conn_max_age argument to easily enable Django’s connection pool.") 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") @@ -799,9 +758,6 @@ project aims to bulk update given objects using one query over Django ORM.") 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") @@ -824,9 +780,6 @@ 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") @@ -857,9 +810,6 @@ 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-pipeline (package (name "python-django-pipeline") @@ -938,9 +888,6 @@ support, and optional data-URI image and font embedding.") "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") @@ -977,9 +924,6 @@ 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-q (package (name "python-django-q") @@ -1035,9 +979,6 @@ 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") @@ -1069,9 +1010,6 @@ 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") @@ -1108,9 +1046,6 @@ name is purely coincidental.") static files.") (license license:bsd-3))) -(define-public python2-django-statici18n - (package-with-python2 python-django-statici18n)) - (define-public python-django-tagging (package (name "python-django-tagging") @@ -1137,23 +1072,8 @@ static files.") (description "This package provides a generic tagging application for Django projects, which allows association of a number of tags with any @code{Model} instance and makes retrieval of tags simple.") - (properties `((python2-variant . ,(delay python2-django-tagging)))) (license license:bsd-3))) -(define-public python2-django-tagging - (let ((base (package-with-python2 - (strip-python2-variant python-django-tagging)))) - (package - (inherit base) - (version "0.4.6") - (source - (origin - (method url-fetch) - (uri (pypi-uri "django-tagging" version)) - (sha256 - (base32 - "0s7b4v45j783yaxs7rni10k24san0ya77nqz4s7zdf3jhfpk42r1"))))))) - (define-public python-djangorestframework (package (name "python-djangorestframework") -- 2.28.0
* gnu/packages/django.scm (python-django-jsonfield): Rewrite in terms of DEPRECATED-PACKAGE with PYTHON-DJANGO as the replacement. --- gnu/packages/django.scm | 28 ++-------------------------- 1 file changed, 2 insertions(+), 26 deletions(-) diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm index d23c6fdaa2..c9b25f7465 100644 --- a/gnu/packages/django.scm +++ b/gnu/packages/django.scm @@ -625,33 +625,9 @@ provides certain advantages over the builtin Jinja2 backend in Django, for example, explicit calls to callables from templates and better performance.") (license license:bsd-3))) +;; JSONField is now built-in to Django, obsoleting this package. (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))) + (deprecated-package "python-django-jsonfield" python-django)) (define-public python-dj-database-url (package -- 2.28.0
This package does not work with newer versions of Django and its functionality has been superseded by a built-in extends module. * gnu/packages/django.scm (python-django-overextends): Remove variable. --- gnu/packages/django.scm | 30 ------------------------------ 1 file changed, 30 deletions(-) diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm index c9b25f7465..a309252af6 100644 --- a/gnu/packages/django.scm +++ b/gnu/packages/django.scm @@ -756,36 +756,6 @@ 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 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 _ (invoke "./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 python-django-pipeline (package (name "python-django-pipeline") -- 2.28.0
(python-django-classy-tags, python-django-debug-toolbar-alchemy, python-django-jinja, python-django-bulk-update, python-djangorestframework)[propagated-inputs]: Remove PYTHON-DJANGO. (python-django-contrib-comments)[propagated-inputs]: Likewise. Add PYTHON-SIX. [native-inputs]: Add PYTHON-DJANGO. * gnu/packages/django.scm (python-django-extensions, python-django-simple-math-captcha, python-django-taggit, python-easy-thumbnails, python-django-haystack, python-django-allauth, python-django-debug-toolbar, python-django-assets, python-django-picklefield, python-django-contact-form), python-django-pipeline, python-django-redis, python-django-rq, python-django-q, python-django-sortedm2m, python-django-appconf, python-django-statici18n, python-django-sekizai, python-django-crispy-forms, python-django-override-storage, python-django-auth-ldap, python-django-logging-json, python-django-netfields, python-django-url-filter)[propagated-inputs]: Move PYTHON-DJANGO ... [native-inputs]: ... here. --- gnu/packages/django.scm | 121 ++++++++++++++++++++-------------------- 1 file changed, 59 insertions(+), 62 deletions(-) diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm index a309252af6..c969df3e2c 100644 --- a/gnu/packages/django.scm +++ b/gnu/packages/django.scm @@ -166,10 +166,10 @@ to the @dfn{don't repeat yourself} (DRY) principle.") `(("python-six" ,python-six) ("python-vobject" ,python-vobject) ("python-werkzeug" ,python-werkzeug) - ("python-dateutil" ,python-dateutil) - ("python-django" ,python-django))) + ("python-dateutil" ,python-dateutil))) (native-inputs - `(("python-mock" ,python-mock) + `(("python-django" ,python-django) + ("python-mock" ,python-mock) ("python-factory-boy" ,python-factory-boy) ("python-tox" ,python-tox) ("python-pytest" ,python-pytest) @@ -214,10 +214,10 @@ commands, additional database fields and admin extensions.") (lambda _ (invoke "python" "runtests.py")))))) (native-inputs - `(("python-mock" ,python-mock))) - (propagated-inputs `(("python-django" ,python-django) - ("python-six" ,python-six))) + ("python-mock" ,python-mock))) + (propagated-inputs + `(("python-six" ,python-six))) (synopsis "Easy-to-use math field/widget captcha for Django forms") (description "A multi-value-field that presents a human answerable question, @@ -239,8 +239,6 @@ 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 - `(("python-django" ,python-django))) (home-page "https://github.com/divio/django-classy-tags") (synopsis "Class based template tags for Django") (description @@ -269,10 +267,10 @@ when coding custom template tags.") (lambda _ (invoke "python3" "-m" "django" "test" "--settings=tests.settings")))))) (propagated-inputs - `(("python-django" ,python-django) - ("python-isort" ,python-isort))) + `(("python-isort" ,python-isort))) (native-inputs - `(("python-pytest" ,python-pytest) + `(("python-django" ,python-django) + ("python-pytest" ,python-pytest) ("python-mock" ,python-mock))) (home-page "https://github.com/jazzband/django-taggit") @@ -294,9 +292,10 @@ when coding custom template tags.") (base32 "14gzp5cv24z0qhxb7f7k7v9jgzpaj4n8yhjq83ynpx8183fs1rz4")))) (build-system python-build-system) + (native-inputs + `(("python-django" ,python-django))) (propagated-inputs - `(("python-django" ,python-django) - ("python-pillow" ,python-pillow))) + `(("python-pillow" ,python-pillow))) (home-page "https://github.com/SmileyChris/easy-thumbnails") (synopsis "Easy thumbnails for Django") (description @@ -387,11 +386,10 @@ useful tools for testing Django applications and projects.") "/lib")) #t))) #:tests? #f)) ; OSError: libgdal.so.27: cannot open shared object file - (propagated-inputs - `(("python-django" ,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) @@ -464,9 +462,8 @@ them do this.") ("python-requests" ,python-requests) ("python-requests-oauthlib" ,python-requests-oauthlib))) (native-inputs - `(("python-mock" ,python-mock))) - (inputs - `(("python-django" ,python-django))) + `(("python-django" ,python-django) + ("python-mock" ,python-mock))) (home-page "https://github.com/pennersr/django-allauth") (synopsis "Set of Django applications addressing authentication") (description @@ -491,10 +488,10 @@ account authentication.") "14069rlgjd5g724iaglai0nc636g9km4ba56r4j3k84chibqzn03")))) (build-system python-build-system) (propagated-inputs - `(("python-sqlparse" ,python-sqlparse) - ("python-django" ,python-django))) + `(("python-sqlparse" ,python-sqlparse))) (native-inputs - `(("python-django-jinja" ,python-django-jinja) + `(("python-django" ,python-django) + ("python-django-jinja" ,python-django-jinja) ("python-html5lib" ,python-html5lib))) (arguments '(#:phases @@ -524,8 +521,7 @@ 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" ,python-django) - ("python-django-debug-toolbar" ,python-django-debug-toolbar) + `(("python-django-debug-toolbar" ,python-django-debug-toolbar) ("python-jsonplus" ,python-jsonplus) ("python-six" ,python-six) ("python-sqlalchemy" ,python-sqlalchemy))) @@ -572,10 +568,10 @@ templatetags and a full test suite.") "0fc6i77faxxv1gjlp06lv3kw64b5bhdiypaygfxh5djddgk83fwa")))) (build-system python-build-system) (native-inputs - `(("python-nose" ,python-nose))) - (propagated-inputs `(("python-django" ,python-django) - ("python-webassets" ,python-webassets))) + ("python-nose" ,python-nose))) + (propagated-inputs + `(("python-webassets" ,python-webassets))) (home-page "https://github.com/miracle2k/django-assets") (synopsis "Asset management for Django") (description @@ -600,8 +596,7 @@ merging, minifying and compiling CSS and Javascript files.") "06ldbkfkm6sc0p9sqpjph06gxrqpj78ih3dc2yik2fcba2y5mak1")))) (build-system python-build-system) (propagated-inputs - `(("python-django" ,python-django) - ("python-jinja2" ,python-jinja2) + `(("python-jinja2" ,python-jinja2) ("python-pytz" ,python-pytz) ("python-django-pipeline" ,python-django-pipeline))) (arguments @@ -674,7 +669,7 @@ conn_max_age argument to easily enable Django’s connection pool.") (lambda _ (invoke "python" "-m" "django" "test" "-v2" "--settings=tests.settings")))))) - (propagated-inputs `(("python-django" ,python-django))) + (native-inputs `(("python-django" ,python-django))) (synopsis "Pickled object field for Django") (description "Pickled object field for Django") (license license:expat))) @@ -693,8 +688,6 @@ conn_max_age argument to easily enable Django’s connection pool.") (arguments ;; XXX: Tests require a Postgres database. `(#:tests? #f)) - (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 @@ -724,9 +717,8 @@ project aims to bulk update given objects using one query over Django ORM.") (invoke "coverage" "run" "--source" "contact_form" "runtests.py")))))) (native-inputs - `(("python-coverage" ,python-coverage))) - (propagated-inputs - `(("python-django" ,python-django))) + `(("python-coverage" ,python-coverage) + ("python-django" ,python-django))) (home-page "https://github.com/ubernostrum/django-contact-form") (synopsis "Contact form for Django") (description @@ -745,8 +737,10 @@ for Django sites.") (base32 "0ccdiv784a5vnpfal36km4dyg12340rwhpr0riyy0k89wfnjn8yi")))) (build-system python-build-system) - (propagated-inputs + (native-inputs `(("python-django" ,python-django))) + (propagated-inputs + `(("python-six" ,python-six))) (home-page "https://github.com/django/django-contrib-comments") (synopsis "Comments framework") (description @@ -786,9 +780,10 @@ entries, photos, book chapters, or anything else.") (getenv "PYTHONPATH"))) (setenv "DJANGO_SETTINGS_MODULE" "tests.settings") (invoke "django-admin" "test" "tests")))))))) + (native-inputs + `(("python-django" ,python-django))) (propagated-inputs `(("python-css-html-js-minify" ,python-css-html-js-minify) - ("python-django" ,python-django) ("python-slimit" ,python-slimit) ("python-jsmin" ,python-jsmin))) (home-page @@ -820,14 +815,14 @@ support, and optional data-URI image and font embedding.") (with-directory-excursion "tests" (invoke "python" "runtests.py"))))))) (native-inputs - `(("python-fakeredis" ,python-fakeredis) + `(("python-django" ,python-django) + ("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))) + `(("python-redis" ,python-redis))) (home-page "https://github.com/niwibe/django-redis") (synopsis "Full featured redis cache backend for Django") (description @@ -855,13 +850,13 @@ support, and optional data-URI image and font embedding.") "--settings=django_rq.tests.settings" "--pythonpath=.")))))) (native-inputs - `(("python-django-redis" ,python-django-redis) + `(("python-django" ,python-django) + ("python-django-redis" ,python-django-redis) ("python-mock" ,python-mock) ("python-rq-scheduler" ,python-rq-scheduler) ("redis" ,redis))) (propagated-inputs - `(("python-django" ,python-django) - ("python-rq" ,python-rq))) + `(("python-rq" ,python-rq))) (home-page "https://github.com/ui/django-rq") (synopsis "Django integration with RQ") (description @@ -884,10 +879,11 @@ 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" ,python-django) ("python-django-picklefield" ,python-django-picklefield))) (home-page "https://django-q.readthedocs.io/") (synopsis "Multiprocessing distributed task queue for Django") @@ -915,7 +911,7 @@ using Python multiprocessing.") "./build/lib:.:" (getenv "PYTHONPATH"))) (invoke "django-admin.py" "test" "--settings=settings")))))) - (propagated-inputs + (native-inputs `(("python-django" ,python-django))) (home-page "https://github.com/jazzband/django-sortedm2m") (synopsis "Drop-in replacement for django's own ManyToManyField") @@ -944,7 +940,7 @@ the order of added relations.") (getenv "PYTHONPATH"))) (setenv "DJANGO_SETTINGS_MODULE" "tests.test_settings") (invoke "django-admin.py" "test" "-v2")))))) - (propagated-inputs + (native-inputs `(("python-django" ,python-django))) (home-page "https://github.com/django-compressor/django-appconf") (synopsis "Handle configuration defaults of packaged Django apps") @@ -981,11 +977,11 @@ name is purely coincidental.") (setenv "DJANGO_SETTINGS_MODULE" "project.settings") (invoke "pytest" "-vv")))))) (native-inputs - `(("python-pytest" ,python-pytest) + `(("python-django" ,python-django) + ("python-pytest" ,python-pytest) ("python-pytest-django" ,python-pytest-django))) (propagated-inputs - `(("python-django" ,python-django) - ("django-appconf" ,python-django-appconf))) + `(("django-appconf" ,python-django-appconf))) (synopsis "Generate JavaScript catalog to static files") (description "A Django app that provides helper for generating JavaScript catalog to @@ -1035,8 +1031,6 @@ Django projects, which allows association of a number of tags with any (arguments '(;; No included tests #:tests? #f)) - (propagated-inputs - `(("python-django" ,python-django))) (home-page "https://www.django-rest-framework.org") (synopsis "Toolkit for building Web APIs with Django") (description @@ -1057,9 +1051,10 @@ provides features like a web browseable 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" ,python-django) - ("python-django-classy-tags" ,python-django-classy-tags) + `(("python-django-classy-tags" ,python-django-classy-tags) ("python-six" ,python-six))) (home-page "https://github.com/divio/django-sekizai") (synopsis "Template blocks for Django projects") @@ -1088,7 +1083,7 @@ a single block.") (arguments '(;; No included tests #:tests? #f)) - (propagated-inputs + (native-inputs `(("python-django" ,python-django))) (home-page "http://github.com/maraujop/django-crispy-forms") @@ -1164,9 +1159,8 @@ template tag.") (lambda _ (invoke "python" "runtests.py")))))) (native-inputs - `(("python-mock" ,python-mock))) - (propagated-inputs - `(("python-django" ,python-django))) + `(("python-django" ,python-django) + ("python-mock" ,python-mock))) (synopsis "Django test helpers to manage file storage side effects") (description "This project provides tools to help reduce the side effects of using @@ -1198,10 +1192,10 @@ FileFields during tests.") "--settings" "tests.settings"))))))) (native-inputs `(("openldap" ,openldap) + ("python-django" ,python-django) ("python-mock" ,python-mock))) (propagated-inputs - `(("python-django" ,python-django) - ("python-ldap" ,python-ldap))) + `(("python-ldap" ,python-ldap))) (home-page "https://github.com/django-auth-ldap/django-auth-ldap") (synopsis "Django LDAP authentication backend") (description @@ -1220,9 +1214,10 @@ FileFields during tests.") "06041a8icazzp73kg93c7k1ska12wvkq7fpcad0l0sm1qnxx5yx7")))) (build-system python-build-system) (arguments '(#:tests? #f)) ;no tests + (native-inputs + `(("python-django" ,python-django))) (propagated-inputs `(("python-certifi" ,python-certifi) - ("python-django" ,python-django) ("python-elasticsearch" ,python-elasticsearch) ("python-six" ,python-six))) (home-page "https://github.com/cipriantarta/django-logging") @@ -1245,9 +1240,10 @@ to ElasticSearch.") "1c47azr5am0q8g45x0fbn0cay7vyrack6n7k6siliw1j2p0gzi7s")))) (build-system python-build-system) (arguments '(#:tests? #f)) ;XXX: Requires a running PostgreSQL server + (native-inputs + `(("python-django" ,python-django))) (propagated-inputs - `(("python-django" ,python-django) - ("python-ipaddress" ,python-ipaddress) + `(("python-ipaddress" ,python-ipaddress) ("python-netaddr" ,python-netaddr) ("python-six" ,python-six))) (home-page "https://github.com/jimfunk/django-postgresql-netfields") @@ -1292,9 +1288,10 @@ to ElasticSearch.") (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-django" ,python-django) ("python-six" ,python-six))) (synopsis "Filter data via human-friendly URLs") (description -- 2.28.0
* gnu/packages/databases.scm (python-mysqlclient)[native-inputs]: Remove. [inputs]: Remove ZLIB and OPENSSL. [arguments]: Explicitly set #:tests? as it was a no-op before. --- gnu/packages/databases.scm | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 0adb42bbe4..fced8538bd 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -3001,15 +3001,10 @@ database).") (base32 "0kv4a1icwdav8jpl7qvnr931lw5h3v22ids6lwq6qpi1hjzf33pz")))) (build-system python-build-system) - (native-inputs - `(("nose" ,python-nose) - ("mock" ,python-mock) - ("py.test" ,python-pytest))) + (arguments '(#:tests? #f)) ;XXX: requires a live database (inputs `(("mysql" ,mariadb "lib") - ("mysql-dev" ,mariadb "dev") - ("libz" ,zlib) - ("openssl" ,openssl))) + ("mysql-dev" ,mariadb "dev"))) (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 -- 2.28.0
* gnu/packages/databases.scm (python-mysqlclient): Update to 2.0.1. --- gnu/packages/databases.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index fced8538bd..bd20fa0b22 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -2992,14 +2992,14 @@ database).") (define-public python-mysqlclient (package (name "python-mysqlclient") - (version "1.3.13") + (version "2.0.1") (source (origin (method url-fetch) (uri (pypi-uri "mysqlclient" version)) (sha256 (base32 - "0kv4a1icwdav8jpl7qvnr931lw5h3v22ids6lwq6qpi1hjzf33pz")))) + "1rf5l8hazs3v18hmcrm90z3hi9wxv553ipwd5l6kj8j7l6p7abzv")))) (build-system python-build-system) (arguments '(#:tests? #f)) ;XXX: requires a live database (inputs -- 2.28.0
Later versions do not work with Python 2. * gnu/packages/databases.scm (python2-mysqlclient): Remove variable. --- gnu/packages/databases.scm | 3 --- 1 file changed, 3 deletions(-) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index bd20fa0b22..3f5f885c35 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -3016,9 +3016,6 @@ for Python. The design goals are: @end enumerate") (license license:gpl2))) -(define-public python2-mysqlclient - (package-with-python2 python-mysqlclient)) - (define-public python-hiredis (package (name "python-hiredis") -- 2.28.0
* gnu/packages/patchutils.scm (patchwork): Update to 2.2.2. [arguments]: Remove references to 'pwclient' which is now distributed separately. --- gnu/packages/patchutils.scm | 17 ++--------------- 1 file changed, 2 insertions(+), 15 deletions(-) diff --git a/gnu/packages/patchutils.scm b/gnu/packages/patchutils.scm index 335d251e74..12dd472c68 100644 --- a/gnu/packages/patchutils.scm +++ b/gnu/packages/patchutils.scm @@ -321,7 +321,7 @@ you to figure out what is going on in that merge you keep avoiding.") (define-public patchwork (package (name "patchwork") - (version "2.1.5") + (version "2.2.2") (source (origin (method git-fetch) (uri (git-reference @@ -330,7 +330,7 @@ you to figure out what is going on in that merge you keep avoiding.") (file-name (git-file-name name version)) (sha256 (base32 - "1n4hfwlgmw6mj5kp261zfx47mgb0l7g2yzl1rf0rnm8x69lr3as6")))) + "1cr3lhm589zhvcgfm8gni036866k2livq1rcxbnigjxlw9p5znaf")))) (build-system python-build-system) (arguments `(;; TODO: Tests require a running database @@ -395,24 +395,11 @@ application = get_wsgi_application()\n") port))))) (for-each (lambda (file) (install-file file (string-append out "/bin"))) (list - (string-append out-site-packages - "patchwork/bin/pwclient") (string-append out-site-packages "patchwork/bin/parsemail.sh") (string-append out-site-packages "patchwork/bin/parsemail-batch.sh"))) - ;; Delete the symlink to pwclient, and replace it with the - ;; actual file, as this can cause issues when serving the file - ;; from a webserver. - (let ((template-pwclient (string-append - out-site-packages - "patchwork/templates/patchwork/pwclient"))) - (delete-file template-pwclient) - (copy-file (string-append out-site-packages - "patchwork/bin/pwclient") - template-pwclient)) - ;; Collect the static assets, this includes JavaScript, CSS and ;; fonts. This is a standard Django process when running a ;; Django application for regular use, and includes assets for -- 2.28.0
[-- Attachment #1: Type: text/plain, Size: 3065 bytes --] Marius Bakke <marius@gnu.org> writes: > Marius Bakke (55): > gnu: Add python-asgiref. > gnu: python-django: Update to 3.1.1. > gnu: python-django: Propagate python-sqlparse. > gnu: python-pytest-django: Update to 3.9.0. > gnu: python-django-simple-math-captcha: Update to 1.0.9. > gnu: python-django-classy-tags: Update to 2.0.0. > gnu: python-django-extensions: Update to 3.0.6. > gnu: python-django-taggit: Update to 1.3.0. > gnu: python-django-crispy-forms: Update to 1.9.2. > gnu: python-djangorestframework: Update to 3.11.1. > gnu: python-django-filter: Update to 2.3.0. > gnu: python-django-allauth: Update to 0.42.0. > gnu: Add python-css-html-js-minify. > gnu: python-django-pipeline: Update to 2.0.5. > gnu: python-django-jinja: Update to 2.6.0. > gnu: python-django-debug-toolbar: Update to 2.2. > gnu: python-django-gravatar2: Update to 1.4.4. > gnu: python-webassets: Update to 2.0. > gnu: python-django-assets: Update to 2.0. > gnu: python-dj-database-url: Update to 0.5.0. > gnu: python-django-picklefield: Update to 3.0.1. > gnu: python-django-bulk-update: Update to 2.2.0. > gnu: python-django-contact-form: Update to 1.8.1. > gnu: python-django-contrib-comments: Update to 1.9.2. > gnu: python-django-redis: Update to 4.12.1. > gnu: python-redis: Update to 3.5.3. > gnu: python-rq: Update to 1.5.1. > gnu: Add python-croniter. > gnu: Add python-rq-scheduler. > gnu: python-django-rq: Update to 2.3.2. > gnu: python-django-q: Update to 1.3.3. > gnu: python-django-sortedm2m: Update to 3.0.2. > gnu: python-django-appconf: Update to 1.0.4. > gnu: python-django-statici18n: Update to 1.9.0. > gnu: python-django-sekizai: Update to 2.0.0. > gnu: python-django-override-storage: Update to 0.3.0. > gnu: python-ldap: Update to 3.3.1. > gnu: Add python-django-auth-ldap. > gnu: Add python-django-logging-json. > gnu: Add python-django-netfields. > gnu: Add python-sqlalchemy-mock. > gnu: Add python-jsonplus. > gnu: Add python-django-debug-toolbar-alchemy. > gnu: Add python-django-url-filter. > gnu: Remove pootle. > gnu: Remove python2-django-mailman3. > gnu: python2-graphite-web: Update to 1.1.7. > gnu: Remove python2 versions of Django packages. > gnu: Deprecate python-django-jsonfield. > gnu: Remove python-django-overextends. > gnu: Django packages no longer propagates Django. > gnu: python-mysqlclient: Remove unused inputs. > gnu: python-mysqlclient: Update to 2.0.1. > gnu: Remove python2-mysqlclient. > gnu: patchwork: Update to 2.2.2. > > gnu/packages/databases.scm | 128 +++++- > gnu/packages/django.scm | 844 +++++++++++++++++++----------------- > gnu/packages/mail.scm | 43 +- > gnu/packages/monitoring.scm | 38 +- > gnu/packages/openldap.scm | 4 +- > gnu/packages/patchutils.scm | 19 +- > gnu/packages/python-web.scm | 72 ++- > gnu/packages/python-xyz.scm | 46 ++ > 8 files changed, 692 insertions(+), 502 deletions(-) Merged with minor adjustments in a2c0dbb84a5537a0f9edb67dd20af3c7fe773aea! [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 487 bytes --]