From b3ad82595583b1a4d1f7536551bf8338ba2ae513 Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Tue, 13 May 2025 02:30:30 +0200 Subject: [PATCH 1/2] python313Packages.django_5_2: init at 5.2.1 https://docs.djangoproject.com/en/5.2/releases/5.2/ https://docs.djangoproject.com/en/5.2/releases/5.2.1/ --- .../python-modules/django/{5.nix => 5_1.nix} | 0 .../development/python-modules/django/5_2.nix | 150 ++++++++++++++++++ pkgs/top-level/python-packages.nix | 6 +- 3 files changed, 155 insertions(+), 1 deletion(-) rename pkgs/development/python-modules/django/{5.nix => 5_1.nix} (100%) create mode 100644 pkgs/development/python-modules/django/5_2.nix diff --git a/pkgs/development/python-modules/django/5.nix b/pkgs/development/python-modules/django/5_1.nix similarity index 100% rename from pkgs/development/python-modules/django/5.nix rename to pkgs/development/python-modules/django/5_1.nix diff --git a/pkgs/development/python-modules/django/5_2.nix b/pkgs/development/python-modules/django/5_2.nix new file mode 100644 index 000000000000..384a7040ea95 --- /dev/null +++ b/pkgs/development/python-modules/django/5_2.nix @@ -0,0 +1,150 @@ +{ + lib, + stdenv, + buildPythonPackage, + fetchFromGitHub, + fetchpatch, + pythonOlder, + replaceVars, + + # build-system + setuptools, + + # patched in + geos, + gdal, + withGdal ? false, + + # dependencies + asgiref, + sqlparse, + + # optional-dependencies + argon2-cffi, + bcrypt, + + # tests + aiosmtpd, + docutils, + geoip2, + jinja2, + numpy, + pillow, + pylibmc, + pymemcache, + python, + pywatchman, + pyyaml, + pytz, + redis, + selenium, + tblib, + tzdata, +}: + +buildPythonPackage rec { + pname = "django"; + version = "5.2.1"; + pyproject = true; + + disabled = pythonOlder "3.10"; + + src = fetchFromGitHub { + owner = "django"; + repo = "django"; + rev = "refs/tags/${version}"; + hash = "sha256-JmO2IEWrpA7/FXOwESLvIIuHmi2HQgvg28LVNmBXgLA="; + }; + + patches = + [ + (replaceVars ./django_5_set_zoneinfo_dir.patch { + zoneinfo = tzdata + "/share/zoneinfo"; + }) + # prevent tests from messing with our pythonpath + ./django_5_tests_pythonpath.patch + # disable test that expects timezone issues + ./django_5_disable_failing_tests.patch + ] + ++ lib.optionals withGdal [ + (replaceVars ./django_5_set_geos_gdal_lib.patch { + geos = geos; + gdal = gdal; + extension = stdenv.hostPlatform.extensions.sharedLibrary; + }) + ]; + + postPatch = '' + substituteInPlace tests/utils_tests/test_autoreload.py \ + --replace-fail "/usr/bin/python" "${python.interpreter}" + ''; + + build-system = [ setuptools ]; + + dependencies = [ + asgiref + sqlparse + ]; + + optional-dependencies = { + argon2 = [ argon2-cffi ]; + bcrypt = [ bcrypt ]; + }; + + nativeCheckInputs = [ + # tests/requirements/py3.txt + aiosmtpd + docutils + geoip2 + jinja2 + numpy + pillow + pylibmc + pymemcache + pywatchman + pyyaml + pytz + redis + selenium + tblib + tzdata + ] ++ lib.flatten (lib.attrValues optional-dependencies); + + doCheck = + !stdenv.hostPlatform.isDarwin + # pywatchman depends on folly which does not support 32bits + && !stdenv.hostPlatform.is32bit; + + preCheck = '' + # make sure the installed library gets imported + rm -rf django + + # fails to import github_links from docs/_ext/github_links.py + rm tests/sphinx/test_github_links.py + + # provide timezone data, works only on linux + export TZDIR=${tzdata}/${python.sitePackages}/tzdata/zoneinfo + + export PYTHONPATH=$PWD/docs/_ext:$PYTHONPATH + ''; + + checkPhase = '' + runHook preCheck + + pushd tests + ${python.interpreter} runtests.py --settings=test_sqlite + popd + + runHook postCheck + ''; + + __darwinAllowLocalNetworking = true; + + meta = with lib; { + changelog = "https://docs.djangoproject.com/en/${lib.versions.majorMinor version}/releases/${version}/"; + description = "High-level Python Web framework that encourages rapid development and clean, pragmatic design"; + homepage = "https://www.djangoproject.com"; + license = licenses.bsd3; + maintainers = with maintainers; [ hexa ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index edb7b4e06ed4..208530067842 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -3953,7 +3953,11 @@ self: super: with self; { django_4 = callPackage ../development/python-modules/django/4.nix { }; # Pre-release - django_5 = callPackage ../development/python-modules/django/5.nix { }; + django_5 = self.django_5_1; + + django_5_1 = callPackage ../development/python-modules/django/5_1.nix { }; + + django_5_2 = callPackage ../development/python-modules/django/5_2.nix { }; djangocms-admin-style = callPackage ../development/python-modules/djangocms-admin-style { }; From a1b841ad9318e1c71bdf7a5136a46a1c0971622f Mon Sep 17 00:00:00 2001 From: soyouzpanda Date: Fri, 25 Apr 2025 15:58:49 +0200 Subject: [PATCH 2/2] python3Packages.django-lasuite: init at 0.0.9 --- .../python-modules/django-lasuite/default.nix | 71 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 73 insertions(+) create mode 100644 pkgs/development/python-modules/django-lasuite/default.nix diff --git a/pkgs/development/python-modules/django-lasuite/default.nix b/pkgs/development/python-modules/django-lasuite/default.nix new file mode 100644 index 000000000000..ec0f593ef088 --- /dev/null +++ b/pkgs/development/python-modules/django-lasuite/default.nix @@ -0,0 +1,71 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + hatchling, + django, + django-configurations, + djangorestframework, + joserfc, + mozilla-django-oidc, + pyjwt, + requests, + requests-toolbelt, + factory-boy, + pytest-django, + responses, + celery, + pytestCheckHook, +}: + +buildPythonPackage rec { + pname = "django-lasuite"; + version = "0.0.9"; + pyproject = true; + + src = fetchFromGitHub { + owner = "suitenumerique"; + repo = "django-lasuite"; + tag = "v${version}"; + hash = "sha256-vUtWBR9uRc99jTe0Gg7k4EZZAkqHct5+GCOHp1mTIkA="; + }; + + build-system = [ hatchling ]; + + dependencies = [ + django + django-configurations + djangorestframework + joserfc + mozilla-django-oidc + pyjwt + requests + requests-toolbelt + ]; + + pythonRelaxDeps = true; + + nativeCheckInputs = [ + celery + pytestCheckHook + pytest-django + factory-boy + responses + ]; + + preCheck = '' + export PYTHONPATH=tests:$PYTHONPATH + export DJANGO_SETTINGS_MODULE=test_project.settings + ''; + + pythonImportsCheck = [ "lasuite" ]; + + meta = { + description = "The common library for La Suite Django projects and Proconnected Django projects"; + homepage = "https://github.com/suitenumerique/django-lasuite"; + changelog = "https://github.com/suitenumerique/django-lasuite/blob/${src.tag}/CHANGELOG.md"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ soyouzpanda ]; + broken = lib.versionOlder django.version "5.2"; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 208530067842..abadda1f000b 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -3781,6 +3781,8 @@ self: super: with self; { django-json-widget = callPackage ../development/python-modules/django-json-widget { }; + django-lasuite = callPackage ../development/python-modules/django-lasuite { }; + django-leaflet = callPackage ../development/python-modules/django-leaflet { }; django-libsass = callPackage ../development/python-modules/django-libsass { };