From fa8320d2cc9ff5d329738c6e5f6c5481f237f9ca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Mon, 9 Dec 2024 22:43:36 +0100 Subject: [PATCH 1/4] python312Packages.django-q2: init at 1.7.4 --- .../python-modules/django-q2/default.nix | 99 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 101 insertions(+) create mode 100644 pkgs/development/python-modules/django-q2/default.nix diff --git a/pkgs/development/python-modules/django-q2/default.nix b/pkgs/development/python-modules/django-q2/default.nix new file mode 100644 index 000000000000..c9ec30eba2e5 --- /dev/null +++ b/pkgs/development/python-modules/django-q2/default.nix @@ -0,0 +1,99 @@ +{ + lib, + arrow, + blessed, + bson, + buildPythonPackage, + croniter, + django, + django-picklefield, + django-redis, + fetchFromGitHub, + hiredis, + pkgs, + poetry-core, + pytest-django, + pytestCheckHook, +}: + +buildPythonPackage rec { + pname = "django-q2"; + version = "1.7.4"; + pyproject = true; + + src = fetchFromGitHub { + owner = "django-q2"; + repo = "django-q2"; + rev = "refs/tags/v${version}"; + hash = "sha256-mp/IZkfT64xW42B1TEO6lSHxvLQbeH4td8vqZH7wUxM="; + }; + + postPatch = '' + substituteInPlace django_q/tests/settings.py \ + --replace-fail "HiredisParser" "_HiredisParser" + ''; + + build-system = [ + poetry-core + ]; + + dependencies = [ + arrow + bson # required for mongodb but undocumented + django + django-picklefield + ]; + + nativeCheckInputs = [ + blessed + croniter + django-redis + # pyredis refuses to load with hiredis<3.0.0 + (hiredis.overrideAttrs ( + new: old: { + version = "3.1.0"; + src = old.src.override { + rev = "refs/tags/v${new.version}"; + hash = "sha256-ID5OJdARd2N2GYEpcYOpxenpZlhWnWr5fAClAgqEgGg="; + }; + } + )) + pytest-django + pytestCheckHook + ]; + + pythonImportsCheck = [ "django_q" ]; + + preCheck = '' + ${pkgs.redis}/bin/redis-server & + REDIS_PID=$! + ''; + + postCheck = '' + kill $REDIS_PID + ''; + + env = { + MONGO_HOST = "127.0.0.1"; + REDIS_HOST = "127.0.0.1"; + }; + + disabledTests = [ + # requires a running mongodb + "test_mongo" + ]; + + disabledTestPaths = [ + "django_q/tests/test_commands.py" + ]; + + pytestFlagsArray = [ "-vv" ]; + + meta = with lib; { + description = "Multiprocessing distributed task queue for Django based on Django-Q"; + homepage = "https://github.com/django-q2/django-q2"; + changelog = "https://github.com/django-q2/django-q2/releases/tag/v${version}"; + license = licenses.mit; + maintainers = with maintainers; [ SuperSandro2000 ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 3f605d17548c..9fb785ef1b1d 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -3572,6 +3572,8 @@ self: super: with self; { django-q = callPackage ../development/python-modules/django-q { }; + django-q2 = callPackage ../development/python-modules/django-q2 { }; + django-scheduler = callPackage ../development/python-modules/django-scheduler { }; django-scim2 = callPackage ../development/python-modules/django-scim2 { }; From 1b8f54d2a16c480f59968427d052af9b00e51d8f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Mon, 9 Dec 2024 23:01:07 +0100 Subject: [PATCH 2/4] mailmanPackages.hyperkitty: 1.3.9 -> 1.3.12 --- pkgs/servers/mail/mailman/hyperkitty.nix | 12 ++++++------ pkgs/servers/mail/mailman/python.nix | 13 ++++++------- 2 files changed, 12 insertions(+), 13 deletions(-) diff --git a/pkgs/servers/mail/mailman/hyperkitty.nix b/pkgs/servers/mail/mailman/hyperkitty.nix index 344970ebb564..05d265ba0284 100644 --- a/pkgs/servers/mail/mailman/hyperkitty.nix +++ b/pkgs/servers/mail/mailman/hyperkitty.nix @@ -7,27 +7,27 @@ with python3.pkgs; buildPythonPackage rec { - pname = "HyperKitty"; - version = "1.3.9"; + pname = "hyperkitty"; + version = "1.3.12"; pyproject = true; disabled = pythonOlder "3.10"; src = fetchurl { url = "https://gitlab.com/mailman/hyperkitty/-/releases/${version}/downloads/hyperkitty-${version}.tar.gz"; - hash = "sha256-BfhCh4zZcfwoIfubW/+MUWXwh1yFOH/jpRdQdsj6lME="; + hash = "sha256-3rWCk37FvJ6pwdXYa/t2pNpCm2Dh/qb9aWTnxmfPFh0="; }; - nativeBuildInputs = [ + build-system = [ pdm-backend ]; - propagatedBuildInputs = [ + dependencies = [ django django-gravatar2 django-haystack django-mailman3 - django-q + django-q2 django-compressor django-extensions djangorestframework diff --git a/pkgs/servers/mail/mailman/python.nix b/pkgs/servers/mail/mailman/python.nix index 258cba0ab8b6..e107bd0bcea8 100644 --- a/pkgs/servers/mail/mailman/python.nix +++ b/pkgs/servers/mail/mailman/python.nix @@ -20,13 +20,12 @@ lib.fix (self: python3.override { [2] f931bc81d63f5cfda55ac73d754c87b3fd63b291 */ - # django-q tests fail with redis 5.0.0. - # https://gitlab.com/mailman/hyperkitty/-/issues/493 - redis = super.redis.overridePythonAttrs ({ pname, ... }: rec { - version = "4.6.0"; - src = fetchPypi { - inherit pname version; - hash = "sha256-WF3FFrnrBCphnvCjnD19Vf6BvbTfCaUsnN3g0Hvxqn0="; + # the redis python library only supports hiredis 3+ from version 5.1.0 onwards + hiredis = super.hiredis.overrideAttrs (new: { src, ... }: { + version = "3.1.0"; + src = src.override { + rev = "refs/tags/v${new.version}"; + hash = "sha256-ID5OJdARd2N2GYEpcYOpxenpZlhWnWr5fAClAgqEgGg="; }; }); }) From 0fb39c5abbe057f748c1447212edff4c2c77e316 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Mon, 9 Dec 2024 23:01:19 +0100 Subject: [PATCH 3/4] mailmanPackages: use python 3.12 --- pkgs/top-level/all-packages.nix | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 9a81e3ccada7..cfd59265ca22 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -11669,11 +11669,7 @@ with pkgs; nodejs = nodejs_18; }; - mailmanPackages = callPackage ../servers/mail/mailman { - # Hyperkitty test fails with 3.12: - # https://gitlab.com/mailman/hyperkitty/-/issues/514 - python3 = python311; - }; + mailmanPackages = callPackage ../servers/mail/mailman { }; inherit (mailmanPackages) mailman mailman-hyperkitty; mailman-web = mailmanPackages.web; From b93e42b9428e2af77cca07c90b994bc58fdd0d89 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Fri, 13 Dec 2024 13:37:03 +0100 Subject: [PATCH 4/4] python3Packages.django-q: drop --- .../python-modules/django-q/default.nix | 93 ------------------- .../python-modules/django-q/pep-621.patch | 24 ----- pkgs/top-level/python-aliases.nix | 1 + pkgs/top-level/python-packages.nix | 2 - 4 files changed, 1 insertion(+), 119 deletions(-) delete mode 100644 pkgs/development/python-modules/django-q/default.nix delete mode 100644 pkgs/development/python-modules/django-q/pep-621.patch diff --git a/pkgs/development/python-modules/django-q/default.nix b/pkgs/development/python-modules/django-q/default.nix deleted file mode 100644 index fac1bfa327a8..000000000000 --- a/pkgs/development/python-modules/django-q/default.nix +++ /dev/null @@ -1,93 +0,0 @@ -{ - lib, - stdenv, - arrow, - blessed, - buildPythonPackage, - croniter, - django, - django-picklefield, - django-redis, - fetchFromGitHub, - future, - pkgs, - poetry-core, - pytest-django, - pytest-mock, - pytestCheckHook, - pythonOlder, - redis, - setuptools, -}: - -buildPythonPackage rec { - pname = "django-q"; - version = "1.3.9"; - pyproject = true; - - disabled = pythonOlder "3.6"; - - src = fetchFromGitHub { - owner = "Koed00"; - repo = "django-q"; - rev = "refs/tags/v${version}"; - hash = "sha256-gFSrAl3QGoJEJfvTTvLQgViPPjeJ6BfvgEwgLLo+uAA="; - }; - - patches = [ ./pep-621.patch ]; - - build-system = [ - poetry-core - ]; - - pythonRelaxDeps = [ - "redis" - ]; - - dependencies = [ - django-picklefield - arrow - blessed - django - future - setuptools # for pkg_resources - ]; - - nativeCheckInputs = [ - croniter - django-redis - pytest-django - pytest-mock - pytestCheckHook - ] ++ django-redis.optional-dependencies.hiredis; - - pythonImportsCheck = [ "django_q" ]; - - preCheck = '' - ${pkgs.redis}/bin/redis-server & - REDIS_PID=$! - ''; - - postCheck = '' - kill $REDIS_PID - ''; - - # don't bother with two more servers to test - disabledTests = [ - "test_disque" - "test_mongo" - ]; - - doCheck = !stdenv.hostPlatform.isDarwin; - - meta = with lib; { - description = "Multiprocessing distributed task queue for Django"; - homepage = "https://django-q.readthedocs.org"; - changelog = "https://github.com/Koed00/django-q/releases/tag/v${version}"; - license = licenses.mit; - maintainers = with maintainers; [ gador ]; - # django-q is unmaintained at the moment - # https://github.com/Koed00/django-q/issues/733 - broken = lib.versionAtLeast redis.version "5"; - }; -} diff --git a/pkgs/development/python-modules/django-q/pep-621.patch b/pkgs/development/python-modules/django-q/pep-621.patch deleted file mode 100644 index 5f89201e3511..000000000000 --- a/pkgs/development/python-modules/django-q/pep-621.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff --git a/pyproject.toml b/pyproject.toml -index 9a83e90..07068ac 100644 ---- a/pyproject.toml -+++ b/pyproject.toml -@@ -67,13 +67,15 @@ pytest-cov = "^2.12.0" - black = { version = "^21.5b1", allow-prereleases = true } - isort = {extras = ["requirements_deprecated_finder"], version = "^5.8.0"} - --[tool.poetry.extras] -+[build-system] - requires = ["poetry_core>=1.0.0"] --build-backend = ["poetry.core.masonry.api"] -+build-backend = "poetry.core.masonry.api" -+ -+[tool.poetry.extras] - testing = ["django-redis", "croniter", "hiredis", "psutil", "iron-mq", "boto3", "pymongo"] - rollbar = ["django-q-rollbar"] - sentry = ["django-q-sentry"] - - [tool.isort] - profile = "black" --multi_line_output = 3 -\ No newline at end of file -+multi_line_output = 3 diff --git a/pkgs/top-level/python-aliases.nix b/pkgs/top-level/python-aliases.nix index 5d188743792e..1714d05a727d 100644 --- a/pkgs/top-level/python-aliases.nix +++ b/pkgs/top-level/python-aliases.nix @@ -168,6 +168,7 @@ mapAliases ({ django-mysql = throw "django-mysql has been removed, since it was an unused leaf package"; # added 2024-07-02 django_nose = django-nose; # added 2023-07-25 django-nose = throw "django-nose has been removed since it has not been maintained and there are no dependent packages"; # added 2024-05-21 + django-q = throw "django-q has been removed because it is unmaintained and was unused"; # added 2024-12-13 django_reversion = django-reversion; # added 2022-06-18 django_polymorphic = django-polymorphic; # added 2022-05-24 django_redis = django-redis; # added 2021-10-11 diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 9fb785ef1b1d..e31f7dc3b871 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -3570,8 +3570,6 @@ self: super: with self; { django-pwa = callPackage ../development/python-modules/django-pwa { }; - django-q = callPackage ../development/python-modules/django-q { }; - django-q2 = callPackage ../development/python-modules/django-q2 { }; django-scheduler = callPackage ../development/python-modules/django-scheduler { };