* [PATCH 0/2] Python Django Framework @ 2016-04-12 20:32 Hartmut Goebel 2016-04-12 20:32 ` [PATCH 1/2] gnu: add python-django Hartmut Goebel 2016-04-12 20:32 ` [PATCH 2/2] gnu: add python-django-simple-math-captcha Hartmut Goebel 0 siblings, 2 replies; 13+ messages in thread From: Hartmut Goebel @ 2016-04-12 20:32 UTC (permalink / raw) To: guix-devel Hi, this is my first contribution to Guix. Thanks to the developers for bringing up the fine software and to the guys at #guix (esp. davexunit) for the help. Please let me know if there is something I can enhance for my next contributions. Hartmut Goebel (2): gnu: add python-django gnu: add python-django-simple-math-captcha gnu-system.am | 1 + gnu/packages/django.scm | 83 +++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 84 insertions(+) create mode 100644 gnu/packages/django.scm -- 2.7.4 ^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH 1/2] gnu: add python-django 2016-04-12 20:32 [PATCH 0/2] Python Django Framework Hartmut Goebel @ 2016-04-12 20:32 ` Hartmut Goebel 2016-04-15 21:52 ` Ludovic Courtès 2016-04-12 20:32 ` [PATCH 2/2] gnu: add python-django-simple-math-captcha Hartmut Goebel 1 sibling, 1 reply; 13+ messages in thread From: Hartmut Goebel @ 2016-04-12 20:32 UTC (permalink / raw) To: guix-devel * gnu/packages/django.scm: New file. * gnu-system.am: Add it. --- gnu-system.am | 1 + gnu/packages/django.scm | 60 +++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 61 insertions(+) create mode 100644 gnu/packages/django.scm diff --git a/gnu-system.am b/gnu-system.am index 8822d0b..09acb64 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -90,6 +90,7 @@ GNU_SYSTEM_MODULES = \ gnu/packages/dico.scm \ gnu/packages/dictionaries.scm \ gnu/packages/disk.scm \ + gnu/packages/django.scm \ gnu/packages/djvu.scm \ gnu/packages/dns.scm \ gnu/packages/docbook.scm \ diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm new file mode 100644 index 0000000..c22830e --- /dev/null +++ b/gnu/packages/django.scm @@ -0,0 +1,60 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com> +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. + +(define-module (gnu packages django) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix build-system python) + #:use-module (gnu packages python) +) + + +(define-public python-django +(package + (name "python-django") + (version "1.9.5") + (source + (origin + (method url-fetch) + (uri (pypi-uri "Django" version)) + (sha256 + (base32 + "19kaw9flk9jjz1n7q378waybxnkrrhkq240lby4zaaas62nnfip5")))) + (build-system python-build-system) + (inputs + `(("python-setuptools" ,python-setuptools))) + (home-page "http://www.djangoproject.com/") + (synopsis + "High-level Python Web framework") + (description +"Django is a high-level Python Web framework that encourages rapid +development and clean, pragmatic design. + +Developed and used over the past two years by a fast-moving +online-news operation, Django was designed from scratch to handle two +challenges: the intensive deadlines of a newsroom and the stringent +requirements of experienced Web developers. It has convenient niceties +for developing content-management systems, but it's an excellent tool +for building any Web site. + +Django focuses on automating as much as possible and adhering to the +DRY principle.") + (license license:bsd-3))) + + -- 2.7.4 ^ permalink raw reply related [flat|nested] 13+ messages in thread
* Re: [PATCH 1/2] gnu: add python-django 2016-04-12 20:32 ` [PATCH 1/2] gnu: add python-django Hartmut Goebel @ 2016-04-15 21:52 ` Ludovic Courtès 2016-04-16 9:13 ` Hartmut Goebel 0 siblings, 1 reply; 13+ messages in thread From: Ludovic Courtès @ 2016-04-15 21:52 UTC (permalink / raw) To: Hartmut Goebel; +Cc: guix-devel [-- Attachment #1: Type: text/plain, Size: 206 bytes --] Hartmut Goebel <h.goebel@crazy-compilers.com> skribis: > * gnu/packages/django.scm: New file. > * gnu-system.am: Add it. Neat! I fixed a couple of minor issues (formatting, etc.) leading to this patch: [-- Attachment #2: 0001-gnu-Add-python-django.patch --] [-- Type: text/x-patch, Size: 3468 bytes --] From 0d4ad143f542ffa125923edfcddfff2ca120c7aa Mon Sep 17 00:00:00 2001 From: Hartmut Goebel <h.goebel@crazy-compilers.com> Date: Tue, 12 Apr 2016 22:32:29 +0200 Subject: [PATCH] gnu: Add python-django. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/django.scm: New file. * gnu-system.am: Add it. Signed-off-by: Ludovic Courtès <ludo@gnu.org> --- gnu-system.am | 1 + gnu/packages/django.scm | 54 +++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 55 insertions(+) create mode 100644 gnu/packages/django.scm diff --git a/gnu-system.am b/gnu-system.am index 0165519..be07a9f 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -91,6 +91,7 @@ GNU_SYSTEM_MODULES = \ gnu/packages/dico.scm \ gnu/packages/dictionaries.scm \ gnu/packages/disk.scm \ + gnu/packages/django.scm \ gnu/packages/djvu.scm \ gnu/packages/dns.scm \ gnu/packages/docbook.scm \ diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm new file mode 100644 index 0000000..890ae37 --- /dev/null +++ b/gnu/packages/django.scm @@ -0,0 +1,54 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com> +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. + +(define-module (gnu packages django) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix build-system python) + #:use-module (gnu packages python)) + +(define-public python-django + (package + (name "python-django") + (version "1.9.5") + (source (origin + (method url-fetch) + (uri (pypi-uri "Django" version)) + (sha256 + (base32 + "19kaw9flk9jjz1n7q378waybxnkrrhkq240lby4zaaas62nnfip5")))) + (build-system python-build-system) + (inputs + `(("python-setuptools" ,python-setuptools))) + (home-page "http://www.djangoproject.com/") + (synopsis "High-level Python Web framework") + (description + "Django is a high-level Python Web framework that encourages rapid +development and clean, pragmatic design. + +Developed and used over the past two years by a fast-moving online-news +operation, Django was designed from scratch to handle two challenges: the +intensive deadlines of a newsroom and the stringent requirements of +experienced Web developers. It has convenient niceties for developing +content-management systems, but it's an excellent tool for building any Web +site. + +Django focuses on automating as much as possible and adhering to the +DRY principle.") + (license license:bsd-3))) -- 2.7.3 [-- Attachment #3: Type: text/plain, Size: 560 bytes --] However, the test suite is evidently not run: --8<---------------cut here---------------start------------->8--- starting phase `check' running "python setup.py" with command "test" and parameters () running test phase `check' succeeded after 1.0 seconds --8<---------------cut here---------------end--------------->8--- Could you check what it takes to run it? Also, based on our discussion on IRC, could you add a “python2-django” package, using ‘package-with-python2’ (see examples in python.scm)? Thanks in advance! Ludo’. ^ permalink raw reply related [flat|nested] 13+ messages in thread
* Re: [PATCH 1/2] gnu: add python-django 2016-04-15 21:52 ` Ludovic Courtès @ 2016-04-16 9:13 ` Hartmut Goebel 0 siblings, 0 replies; 13+ messages in thread From: Hartmut Goebel @ 2016-04-16 9:13 UTC (permalink / raw) To: Ludovic Courtès; +Cc: guix-devel Am 15.04.2016 um 23:52 schrieb Ludovic Courtès: > Could you check what it takes to run it? I'll take care of it. Fixing this will take some time, since djangos test-suite requires 7 python packages which are not yet in guix. -- Regards Hartmut Goebel | Hartmut Goebel | h.goebel@crazy-compilers.com | | www.crazy-compilers.com | compilers which you thought are impossible | ^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH 2/2] gnu: add python-django-simple-math-captcha 2016-04-12 20:32 [PATCH 0/2] Python Django Framework Hartmut Goebel 2016-04-12 20:32 ` [PATCH 1/2] gnu: add python-django Hartmut Goebel @ 2016-04-12 20:32 ` Hartmut Goebel 1 sibling, 0 replies; 13+ messages in thread From: Hartmut Goebel @ 2016-04-12 20:32 UTC (permalink / raw) To: guix-devel * gnu/packages/django.scm: (python-django-simple-math-captcha) New function. --- gnu/packages/django.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm index c22830e..12e2bb1 100644 --- a/gnu/packages/django.scm +++ b/gnu/packages/django.scm @@ -58,3 +58,26 @@ DRY principle.") (license license:bsd-3))) +(define-public python-django-simple-math-captcha +(package + (name "python-django-simple-math-captcha") + (version "1.0.7") + (source + (origin + (method url-fetch) + (uri (pypi-uri "django-simple-math-captcha" version)) + (sha256 + (base32 + "0906hms6y6znjhpd0g4wmzv9vcla4brkdpsm4zha9zdj8g5vq2hd")))) + (build-system python-build-system) + (inputs + `(("python-django" ,python-django) + ("python-setuptools" ,python-setuptools))) + (home-page "https://github.com/alsoicode/django-simple-math-captcha") + (synopsis + "Easy-to-use math field/widget captcha for Django forms") + (description + "A multi-value-field that presents a human answerable question, +with no settings.py configuration necessary, but instead can be +configured with arguments to the field constructor.") + (license license:asl2.0))) -- 2.7.4 ^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 0/2] Django framework @ 2016-08-22 11:31 Hartmut Goebel 2016-08-22 11:31 ` [PATCH 1/2] gnu: add python-django Hartmut Goebel 0 siblings, 1 reply; 13+ messages in thread From: Hartmut Goebel @ 2016-08-22 11:31 UTC (permalink / raw) To: guix-devel Hi, these patches add Django, a Python web framework. I've put this into a file by it's own, since PyPI has a lot of django-related packages. (We also have a file for rails, which is a ruby framework.) Hartmut Goebel (1): gnu: add python-django-simple-math-captcha gnu: add python-django. gnu/local.mk | 1 + gnu/packages/django.scm | 138 +++++++++++++++++++++ .../patches/python-django-fix-testcase.patch | 42 +++++++ 3 files changed, 181 insertions(+) create mode 100644 gnu/packages/django.scm create mode 100644 gnu/packages/patches/python-django-fix-testcase.patch -- 2.7.4 ^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH 1/2] gnu: add python-django. 2016-08-22 11:31 [PATCH 0/2] Django framework Hartmut Goebel @ 2016-08-22 11:31 ` Hartmut Goebel 2016-09-08 17:11 ` Efraim Flashner 2016-09-12 13:30 ` Ludovic Courtès 0 siblings, 2 replies; 13+ messages in thread From: Hartmut Goebel @ 2016-08-22 11:31 UTC (permalink / raw) To: guix-devel * gnu/packages/django.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. * gnu/packages/patches/django-fix-testcase.patch: New file. --- gnu/local.mk | 1 + gnu/packages/django.scm | 110 +++++++++++++++++++++ .../patches/python-django-fix-testcase.patch | 42 ++++++++ 3 files changed, 153 insertions(+) create mode 100644 gnu/packages/django.scm create mode 100644 gnu/packages/patches/python-django-fix-testcase.patch diff --git a/gnu/local.mk b/gnu/local.mk index b8c5378..df8d235 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -95,6 +95,7 @@ GNU_SYSTEM_MODULES = \ %D%/packages/dictionaries.scm \ %D%/packages/dillo.scm \ %D%/packages/disk.scm \ + %D%/packages/django.scm \ %D%/packages/djvu.scm \ %D%/packages/dns.scm \ %D%/packages/docbook.scm \ diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm new file mode 100644 index 0000000..ec3f25f --- /dev/null +++ b/gnu/packages/django.scm @@ -0,0 +1,110 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com> +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. + +(define-module (gnu packages django) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix build-system python) + #:use-module (gnu packages) ; for search-patches + #:use-module (gnu packages base) + #:use-module (gnu packages python)) + +(define-public python-django + (package + (name "python-django") + (version "1.10") + (source (origin + (method url-fetch) + (uri (pypi-uri "Django" version)) + (sha256 + (base32 + "01bh5yra6zyxcpqacahbwfbn0y4ivw07j2jsw3crvmjzivb6if26")) + ; fix test-case failures due to translation updates + ; - was fixed shortly after release + (patches (search-patches "python-django-fix-testcase.patch")))) + (build-system python-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (add-before 'check 'set-tzdir + (lambda* (#:key inputs #:allow-other-keys) + (setenv "TZDIR" + (string-append (assoc-ref inputs "tzdata") + "/share/zoneinfo")) + #t)) + (replace + 'check + (lambda* _ + (let* ((old-path (getenv "PYTHONPATH"))) + (setenv "PYTHONPATH" + (string-append "." (if old-path + (string-append ":" old-path)))) + (zero? (system* "python" "tests/runtests.py")))))))) + ;; todo: install extras/django_bash_completion + (inputs + ; Django uses pkg_resources (which is part of setuptools) to + ; locate templates at run-time. + `(("python-setuptools" ,python-setuptools))) + (native-inputs + `(;; bcrypt and argon2-cffi are extra requirements not yet in guix + ;;("python-argon2-cffi" ,python-argon2-cffi) ; >= 16.1.0 + ;;("python-bcrypt" ,python-bcrypt) ; not py-bcrypt! + ; The test-suite tests some timezone dependant functions, + ; thus tzdata needs to be installed. + ("tzdata", tzdata) + ; these are taken from tests/requirements/py3.txt + ("python-docutils" ,python-docutils) + ; optional for tests: ("python-geoip2" ,python-geoip2) + ("python-jinja2" ,python-jinja2) ; >= 2.7 + ; optional for tests: ("python-memcached" ,python-memcached) + ("python-numpy" ,python-numpy) + ("python-pillow" ,python-pillow) + ("python-pyyaml" ,python-pyyaml) + ("python-pytz" ,python-pytz) + ; optional for tests: ("python-selenium" ,python-selenium) + ("python-sqlparse" ,python-sqlparse) + ("python-tblib" ,python-tblib))) + (home-page "http://www.djangoproject.com/") + (synopsis "High-level Python Web framework") + (description + "Django is a high-level Python Web framework that encourages rapid +development and clean, pragmatic design. + +Developed and used over the past two years by a fast-moving online-news +operation, Django was designed from scratch to handle two challenges: the +intensive deadlines of a newsroom and the stringent requirements of +experienced Web developers. It has convenient niceties for developing +content-management systems, but it's an excellent tool for building any Web +site. + +Django focuses on automating as much as possible and adhering to the +DRY principle.") + (license license:bsd-3) + (properties `((python2-variant . ,(delay python2-django)))))) + +(define-public python2-django + (let ((base (package-with-python2 (strip-python2-variant python-django)))) + (package + (inherit base) + (native-inputs + `(; required for Python 2: 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)))))) diff --git a/gnu/packages/patches/python-django-fix-testcase.patch b/gnu/packages/patches/python-django-fix-testcase.patch new file mode 100644 index 0000000..4c1f980 --- /dev/null +++ b/gnu/packages/patches/python-django-fix-testcase.patch @@ -0,0 +1,42 @@ +From 24123c31362b5f3783d84d133c160e9fe16805fe Mon Sep 17 00:00:00 2001 +From: Tim Graham <timograham@gmail.com> +Date: Mon, 1 Aug 2016 15:40:46 -0400 +Subject: [PATCH] Fixed admin_utils test failures due to translation updates. + +https://github.com/django/django/commit/24123c31362b5f3783d84d133c160e9fe16805fe + +--- + tests/admin_utils/test_logentry.py | 7 ++++--- + 1 file changed, 4 insertions(+), 3 deletions(-) + +diff --git a/tests/admin_utils/test_logentry.py b/tests/admin_utils/test_logentry.py +index 7798373..8259bf0 100644 +--- a/tests/admin_utils/test_logentry.py ++++ b/tests/admin_utils/test_logentry.py +@@ -59,7 +59,7 @@ class LogEntryTests(TestCase): + logentry = LogEntry.objects.filter(content_type__model__iexact='article').latest('id') + self.assertEqual(logentry.get_change_message(), 'Changed title and hist.') + with translation.override('fr'): +- self.assertEqual(logentry.get_change_message(), 'Modification de title et hist.') ++ self.assertEqual(logentry.get_change_message(), 'Title et hist modifié(s).') + + add_url = reverse('admin:admin_utils_article_add') + post_data['title'] = 'New' +@@ -117,11 +117,12 @@ class LogEntryTests(TestCase): + 'Changed domain. Added article "Article object". ' + 'Changed title for article "Article object". Deleted article "Article object".' + ) ++ + with translation.override('fr'): + self.assertEqual( + logentry.get_change_message(), +- 'Modification de domain. Article « Article object » ajouté. ' +- 'Modification de title pour l\'objet article « Article object ». Article « Article object » supprimé.' ++ "Domain modifié(s). Article « Article object » ajouté. " ++ "Title modifié(s) pour l'objet article « Article object ». Article « Article object » supprimé." + ) + + def test_logentry_get_edited_object(self): +-- +2.7.4 + -- 2.7.4 ^ permalink raw reply related [flat|nested] 13+ messages in thread
* Re: [PATCH 1/2] gnu: add python-django. 2016-08-22 11:31 ` [PATCH 1/2] gnu: add python-django Hartmut Goebel @ 2016-09-08 17:11 ` Efraim Flashner 2016-09-12 13:30 ` Ludovic Courtès 1 sibling, 0 replies; 13+ messages in thread From: Efraim Flashner @ 2016-09-08 17:11 UTC (permalink / raw) To: Hartmut Goebel; +Cc: guix-devel [-- Attachment #1: Type: text/plain, Size: 9044 bytes --] On Mon, Aug 22, 2016 at 01:31:36PM +0200, Hartmut Goebel wrote: > * gnu/packages/django.scm: New file. > * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. > * gnu/packages/patches/django-fix-testcase.patch: New file. > --- > gnu/local.mk | 1 + > gnu/packages/django.scm | 110 +++++++++++++++++++++ > .../patches/python-django-fix-testcase.patch | 42 ++++++++ > 3 files changed, 153 insertions(+) > create mode 100644 gnu/packages/django.scm > create mode 100644 gnu/packages/patches/python-django-fix-testcase.patch > > diff --git a/gnu/local.mk b/gnu/local.mk > index b8c5378..df8d235 100644 > --- a/gnu/local.mk > +++ b/gnu/local.mk > @@ -95,6 +95,7 @@ GNU_SYSTEM_MODULES = \ > %D%/packages/dictionaries.scm \ > %D%/packages/dillo.scm \ > %D%/packages/disk.scm \ > + %D%/packages/django.scm \ > %D%/packages/djvu.scm \ > %D%/packages/dns.scm \ > %D%/packages/docbook.scm \ > diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm > new file mode 100644 > index 0000000..ec3f25f > --- /dev/null > +++ b/gnu/packages/django.scm > @@ -0,0 +1,110 @@ > +;;; GNU Guix --- Functional package management for GNU > +;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com> > +;;; > +;;; This file is part of GNU Guix. > +;;; > +;;; GNU Guix is free software; you can redistribute it and/or modify it > +;;; under the terms of the GNU General Public License as published by > +;;; the Free Software Foundation; either version 3 of the License, or (at > +;;; your option) any later version. > +;;; > +;;; GNU Guix is distributed in the hope that it will be useful, but > +;;; WITHOUT ANY WARRANTY; without even the implied warranty of > +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > +;;; GNU General Public License for more details. > +;;; > +;;; You should have received a copy of the GNU General Public License > +;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. > + > +(define-module (gnu packages django) > + #:use-module ((guix licenses) #:prefix license:) > + #:use-module (guix packages) > + #:use-module (guix download) > + #:use-module (guix build-system python) > + #:use-module (gnu packages) ; for search-patches > + #:use-module (gnu packages base) > + #:use-module (gnu packages python)) > + > +(define-public python-django > + (package > + (name "python-django") > + (version "1.10") > + (source (origin > + (method url-fetch) > + (uri (pypi-uri "Django" version)) > + (sha256 > + (base32 > + "01bh5yra6zyxcpqacahbwfbn0y4ivw07j2jsw3crvmjzivb6if26")) > + ; fix test-case failures due to translation updates > + ; - was fixed shortly after release > + (patches (search-patches "python-django-fix-testcase.patch")))) > + (build-system python-build-system) > + (arguments > + '(#:phases > + (modify-phases %standard-phases > + (add-before 'check 'set-tzdir > + (lambda* (#:key inputs #:allow-other-keys) > + (setenv "TZDIR" > + (string-append (assoc-ref inputs "tzdata") > + "/share/zoneinfo")) > + #t)) > + (replace > + 'check > + (lambda* _ > + (let* ((old-path (getenv "PYTHONPATH"))) > + (setenv "PYTHONPATH" > + (string-append "." (if old-path > + (string-append ":" old-path)))) > + (zero? (system* "python" "tests/runtests.py")))))))) > + ;; todo: install extras/django_bash_completion > + (inputs > + ; Django uses pkg_resources (which is part of setuptools) to > + ; locate templates at run-time. > + `(("python-setuptools" ,python-setuptools))) > + (native-inputs > + `(;; bcrypt and argon2-cffi are extra requirements not yet in guix > + ;;("python-argon2-cffi" ,python-argon2-cffi) ; >= 16.1.0 > + ;;("python-bcrypt" ,python-bcrypt) ; not py-bcrypt! > + ; The test-suite tests some timezone dependant functions, > + ; thus tzdata needs to be installed. > + ("tzdata", tzdata) > + ; these are taken from tests/requirements/py3.txt > + ("python-docutils" ,python-docutils) > + ; optional for tests: ("python-geoip2" ,python-geoip2) > + ("python-jinja2" ,python-jinja2) ; >= 2.7 > + ; optional for tests: ("python-memcached" ,python-memcached) > + ("python-numpy" ,python-numpy) > + ("python-pillow" ,python-pillow) > + ("python-pyyaml" ,python-pyyaml) > + ("python-pytz" ,python-pytz) > + ; optional for tests: ("python-selenium" ,python-selenium) > + ("python-sqlparse" ,python-sqlparse) > + ("python-tblib" ,python-tblib))) > + (home-page "http://www.djangoproject.com/") > + (synopsis "High-level Python Web framework") > + (description > + "Django is a high-level Python Web framework that encourages rapid > +development and clean, pragmatic design. > + > +Developed and used over the past two years by a fast-moving online-news > +operation, Django was designed from scratch to handle two challenges: the > +intensive deadlines of a newsroom and the stringent requirements of > +experienced Web developers. It has convenient niceties for developing > +content-management systems, but it's an excellent tool for building any Web > +site. > + > +Django focuses on automating as much as possible and adhering to the > +DRY principle.") > + (license license:bsd-3) > + (properties `((python2-variant . ,(delay python2-django)))))) > + > +(define-public python2-django > + (let ((base (package-with-python2 (strip-python2-variant python-django)))) > + (package > + (inherit base) > + (native-inputs > + `(; required for Python 2: 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)))))) > diff --git a/gnu/packages/patches/python-django-fix-testcase.patch b/gnu/packages/patches/python-django-fix-testcase.patch > new file mode 100644 > index 0000000..4c1f980 > --- /dev/null > +++ b/gnu/packages/patches/python-django-fix-testcase.patch > @@ -0,0 +1,42 @@ > +From 24123c31362b5f3783d84d133c160e9fe16805fe Mon Sep 17 00:00:00 2001 > +From: Tim Graham <timograham@gmail.com> > +Date: Mon, 1 Aug 2016 15:40:46 -0400 > +Subject: [PATCH] Fixed admin_utils test failures due to translation updates. > + > +https://github.com/django/django/commit/24123c31362b5f3783d84d133c160e9fe16805fe > + > +--- > + tests/admin_utils/test_logentry.py | 7 ++++--- > + 1 file changed, 4 insertions(+), 3 deletions(-) > + > +diff --git a/tests/admin_utils/test_logentry.py b/tests/admin_utils/test_logentry.py > +index 7798373..8259bf0 100644 > +--- a/tests/admin_utils/test_logentry.py > ++++ b/tests/admin_utils/test_logentry.py > +@@ -59,7 +59,7 @@ class LogEntryTests(TestCase): > + logentry = LogEntry.objects.filter(content_type__model__iexact='article').latest('id') > + self.assertEqual(logentry.get_change_message(), 'Changed title and hist.') > + with translation.override('fr'): > +- self.assertEqual(logentry.get_change_message(), 'Modification de title et hist.') > ++ self.assertEqual(logentry.get_change_message(), 'Title et hist modifié(s).') > + > + add_url = reverse('admin:admin_utils_article_add') > + post_data['title'] = 'New' > +@@ -117,11 +117,12 @@ class LogEntryTests(TestCase): > + 'Changed domain. Added article "Article object". ' > + 'Changed title for article "Article object". Deleted article "Article object".' > + ) > ++ > + with translation.override('fr'): > + self.assertEqual( > + logentry.get_change_message(), > +- 'Modification de domain. Article « Article object » ajouté. ' > +- 'Modification de title pour l\'objet article « Article object ». Article « Article object » supprimé.' > ++ "Domain modifié(s). Article « Article object » ajouté. " > ++ "Title modifié(s) pour l'objet article « Article object ». Article « Article object » supprimé." > + ) > + > + def test_logentry_get_edited_object(self): > +-- > +2.7.4 > + > -- > 2.7.4 > I can't get this patch to apply -- Efraim Flashner <efraim@flashner.co.il> אפרים פלשנר GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 Confidentiality cannot be guaranteed on emails sent or received unencrypted [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 819 bytes --] ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 1/2] gnu: add python-django. 2016-08-22 11:31 ` [PATCH 1/2] gnu: add python-django Hartmut Goebel 2016-09-08 17:11 ` Efraim Flashner @ 2016-09-12 13:30 ` Ludovic Courtès 2016-09-12 13:58 ` Hartmut Goebel 1 sibling, 1 reply; 13+ messages in thread From: Ludovic Courtès @ 2016-09-12 13:30 UTC (permalink / raw) To: Hartmut Goebel; +Cc: guix-devel Hi Hartmut, Hartmut Goebel <h.goebel@crazy-compilers.com> skribis: > * gnu/packages/django.scm: New file. > * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. > * gnu/packages/patches/django-fix-testcase.patch: New file. I finally reviewed this patch and pushed it as d18197af7844151e38322605b11e0c75b18b55bf with small changes: adjust the list of ‘native-inputs’, use ‘propagated-inputs’ for all the run-time dependencies, use two semicolons for line comments (as opposed to margin comments), and add the patch to gnu/local.mk. Let me know if anything broke! I’m really sorry that this patch sit there for 3 weeks, which is why I didn’t dare ask you for these changes. ;-) Thanks! Ludo’. ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 1/2] gnu: add python-django. 2016-09-12 13:30 ` Ludovic Courtès @ 2016-09-12 13:58 ` Hartmut Goebel 2016-09-12 21:07 ` Ludovic Courtès 0 siblings, 1 reply; 13+ messages in thread From: Hartmut Goebel @ 2016-09-12 13:58 UTC (permalink / raw) To: Ludovic Courtès; +Cc: guix-devel [-- Attachment #1: Type: text/plain, Size: 1181 bytes --] Hi Ludo, > I finally reviewed this patch and pushed it as > d18197af7844151e38322605b11e0c75b18b55bf with small changes: adjust the > list of ‘native-inputs’, use ‘propagated-inputs’ for all the run-time > dependencies, use two semicolons for line comments (as opposed to margin > comments), and add the patch to gnu/local.mk. Thanks :-) Unfortunately most of the inputs are now mixed now - but maybe I'm wrong here, since I still did not get when to use propagated-inputs and normal inputs for Python packages. [*] 1. setuptools is a run-time dependence, so it needs to be a propagated-input (I assume). This is why there is a comment "Django uses 'pkg_resources' (part of setuptools) to locate templates at run-time. 2. All packages below the line "Taken from tests/requirements/py3.txt." are required for tests only. So I assume they are normal inputs. 3. Same for python2-django: enum34 and mock are used for testing only. -- Regards Hartmut Goebel | Hartmut Goebel | h.goebel@crazy-compilers.com | | www.crazy-compilers.com | compilers which you thought are impossible | [-- Attachment #2: Type: text/html, Size: 1896 bytes --] ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 1/2] gnu: add python-django. 2016-09-12 13:58 ` Hartmut Goebel @ 2016-09-12 21:07 ` Ludovic Courtès 2016-09-15 20:20 ` Hartmut Goebel 0 siblings, 1 reply; 13+ messages in thread From: Ludovic Courtès @ 2016-09-12 21:07 UTC (permalink / raw) To: Hartmut Goebel; +Cc: guix-devel Hi, Hartmut Goebel <h.goebel@crazy-compilers.com> skribis: >> I finally reviewed this patch and pushed it as >> d18197af7844151e38322605b11e0c75b18b55bf with small changes: adjust the >> list of ‘native-inputs’, use ‘propagated-inputs’ for all the run-time >> dependencies, use two semicolons for line comments (as opposed to margin >> comments), and add the patch to gnu/local.mk. > > Thanks :-) > > Unfortunately most of the inputs are now mixed now - but maybe I'm wrong > here, since I still did not get when to use propagated-inputs and normal > inputs for Python packages. [*] Sorry for messing up! > 1. > > setuptools is a run-time dependence, so it needs to be a > propagated-input (I assume). This is why there is a comment "Django > uses 'pkg_resources' (part of setuptools) to locate templates at > run-time. Ooh, OK, I misinterpreted that. > 2. > > All packages below the line "Taken from tests/requirements/py3.txt." > are required for tests only. So I assume they are normal inputs. That would mean that Django has no run-time dependency other than setuptools? I would think pillow, pyyaml, sqlparse, etc. are run-time dependencies no? I tested current master with: guix environment -C --ad-hoc python-django python -- python2 and then: import django That should detect if we forgot to propagate some of the dependencies, but of course it does not detect if we propagate too many dependencies. > 3. Same for python2-django: enum34 and mock are used for testing only. OK. Do you want to send a patch to fix this? Thanks, Ludo’. ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 1/2] gnu: add python-django. 2016-09-12 21:07 ` Ludovic Courtès @ 2016-09-15 20:20 ` Hartmut Goebel 2016-09-19 14:42 ` Ludovic Courtès 0 siblings, 1 reply; 13+ messages in thread From: Hartmut Goebel @ 2016-09-15 20:20 UTC (permalink / raw) To: Ludovic Courtès; +Cc: guix-devel [-- Attachment #1: Type: text/plain, Size: 366 bytes --] Hello Ludo, > Do you want to send a patch to fix this? enclosed please find the patch. Please double check to ensure I did not re-mix-it-up :-) In case of any doubt, please ask. -- Regards Hartmut Goebel | Hartmut Goebel | h.goebel@crazy-compilers.com | | www.crazy-compilers.com | compilers which you thought are impossible | [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #2: 0001-gnu-python-django-python2-django-Fix-propagated-and-.patch --] [-- Type: text/x-patch; name="0001-gnu-python-django-python2-django-Fix-propagated-and-.patch", Size: 2603 bytes --] From d945e207eeb6b6bf61019a18bdaf3397883f5cb3 Mon Sep 17 00:00:00 2001 From: Hartmut Goebel <h.goebel@crazy-compilers.com> Date: Thu, 15 Sep 2016 22:07:29 +0200 Subject: [PATCH] gnu: python-django, python2-django: Fix propagated- and native-inputs. setuptools is a run-time dependency (sic!), all others are required for testing only. * gnu/packages/django.scm (python-django) [propagated-inputs, native-inputs]: Exchange them. Move tzdata to new native-inputs. Enhance comments. (python2-django) [propagated-inputs] change into native-inputs. Enhance comment. --- gnu/packages/django.scm | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm index b9232e2..b2589cc 100644 --- a/gnu/packages/django.scm +++ b/gnu/packages/django.scm @@ -54,16 +54,17 @@ (string-append ".:" (getenv "PYTHONPATH"))) (zero? (system* "python" "tests/runtests.py"))))))) ;; TODO: Install extras/django_bash_completion. - (native-inputs + (propagated-inputs ;; Django uses 'pkg_resources' (part of setuptools) to locate templates ;; at run-time. - `(("python-setuptools" ,python-setuptools) - ("tzdata", tzdata))) - (propagated-inputs - `( ;; bcrypt and argon2-cffi are extra requirements not yet in guix + `(("python-setuptools" ,python-setuptools))) + (native-inputs + `(("tzdata", tzdata) + ;; bcrypt and argon2-cffi are extra requirements not yet in guix ;;("python-argon2-cffi" ,python-argon2-cffi) ; >= 16.1.0 ;;("python-bcrypt" ,python-bcrypt) ; not py-bcrypt! - ;; Taken from tests/requirements/py3.txt. + ;; Remaining packages are test requirements taken from + ;; tests/requirements/py3.txt ("python-docutils" ,python-docutils) ;; optional for tests: ("python-geoip2" ,python-geoip2) ("python-jinja2" ,python-jinja2) ; >= 2.7 @@ -89,8 +90,9 @@ to the @dfn{don't repeat yourself} (DRY) principle.") (let ((base (package-with-python2 (strip-python2-variant python-django)))) (package (inherit base) - (propagated-inputs - `(;; Required for Python 2: enum34 and mock. + (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 -- 2.7.4 ^ permalink raw reply related [flat|nested] 13+ messages in thread
* Re: [PATCH 1/2] gnu: add python-django. 2016-09-15 20:20 ` Hartmut Goebel @ 2016-09-19 14:42 ` Ludovic Courtès 2016-09-19 14:58 ` Hartmut Goebel 0 siblings, 1 reply; 13+ messages in thread From: Ludovic Courtès @ 2016-09-19 14:42 UTC (permalink / raw) To: Hartmut Goebel; +Cc: guix-devel Hartmut Goebel <h.goebel@crazy-compilers.com> skribis: > From d945e207eeb6b6bf61019a18bdaf3397883f5cb3 Mon Sep 17 00:00:00 2001 > From: Hartmut Goebel <h.goebel@crazy-compilers.com> > Date: Thu, 15 Sep 2016 22:07:29 +0200 > Subject: [PATCH] gnu: python-django, python2-django: Fix propagated- and > native-inputs. > > setuptools is a run-time dependency (sic!), all others are required > for testing only. > > * gnu/packages/django.scm (python-django) [propagated-inputs, > native-inputs]: Exchange them. Move tzdata to new native-inputs. > Enhance comments. > (python2-django) [propagated-inputs] change into native-inputs. > Enhance comment. Applied. Thanks and apologies again for the mess! Ludo’. ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 1/2] gnu: add python-django. 2016-09-19 14:42 ` Ludovic Courtès @ 2016-09-19 14:58 ` Hartmut Goebel 0 siblings, 0 replies; 13+ messages in thread From: Hartmut Goebel @ 2016-09-19 14:58 UTC (permalink / raw) To: Ludovic Courtès; +Cc: guix-devel Am 19.09.2016 um 16:42 schrieb Ludovic Courtès: > Thanks and apologies again for the mess! > Never mind. This can happen. -- Regards Hartmut Goebel | Hartmut Goebel | h.goebel@crazy-compilers.com | | www.crazy-compilers.com | compilers which you thought are impossible | ^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2016-09-19 15:09 UTC | newest] Thread overview: 13+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2016-04-12 20:32 [PATCH 0/2] Python Django Framework Hartmut Goebel 2016-04-12 20:32 ` [PATCH 1/2] gnu: add python-django Hartmut Goebel 2016-04-15 21:52 ` Ludovic Courtès 2016-04-16 9:13 ` Hartmut Goebel 2016-04-12 20:32 ` [PATCH 2/2] gnu: add python-django-simple-math-captcha Hartmut Goebel -- strict thread matches above, loose matches on Subject: below -- 2016-08-22 11:31 [PATCH 0/2] Django framework Hartmut Goebel 2016-08-22 11:31 ` [PATCH 1/2] gnu: add python-django Hartmut Goebel 2016-09-08 17:11 ` Efraim Flashner 2016-09-12 13:30 ` Ludovic Courtès 2016-09-12 13:58 ` Hartmut Goebel 2016-09-12 21:07 ` Ludovic Courtès 2016-09-15 20:20 ` Hartmut Goebel 2016-09-19 14:42 ` Ludovic Courtès 2016-09-19 14:58 ` Hartmut Goebel
Code repositories for project(s) associated with this external index https://git.savannah.gnu.org/cgit/guix.git This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.