From 3c5ffd288e80020a781ff1101dc223488ef46e88 Mon Sep 17 00:00:00 2001 From: Artturin Date: Tue, 19 Oct 2021 00:59:16 +0300 Subject: [PATCH 1/7] python3Packages.mujson: init at 1.4 --- .../python-modules/mujson/default.nix | 31 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 ++ 2 files changed, 33 insertions(+) create mode 100644 pkgs/development/python-modules/mujson/default.nix diff --git a/pkgs/development/python-modules/mujson/default.nix b/pkgs/development/python-modules/mujson/default.nix new file mode 100644 index 000000000000..55c028fc90cb --- /dev/null +++ b/pkgs/development/python-modules/mujson/default.nix @@ -0,0 +1,31 @@ +{ lib +, buildPythonPackage +, fetchPypi +}: + +buildPythonPackage rec { + pname = "mujson"; + version = "1.4"; + + src = fetchPypi { + inherit pname version; + sha256 = "sha256-J9nPGxDkLQje6AkL9cewNqmQ7Z+00TXBEr3p71E2cnE="; + }; + + # LICENSE file missing from src + # https://github.com/mattgiles/mujson/issues/8 + postPatch = '' + substituteInPlace setup.cfg \ + --replace "license_file = LICENSE" "" + ''; + + # No tests + doCheck = false; + + meta = with lib; { + description = "Use the fastest JSON functions available at import time"; + homepage = "https://github.com/mattgiles/mujson"; + license = licenses.mit; + maintainers = with maintainers; [ artturin ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index ee1258aa64a1..03be94888531 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -4942,6 +4942,8 @@ in { mutf8 = callPackage ../development/python-modules/mutf8 { }; + mujson = callPackage ../development/python-modules/mujson { }; + mwclient = callPackage ../development/python-modules/mwclient { }; mwdblib = callPackage ../development/python-modules/mwdblib { }; From 4f163ad3079533ba50ea1d7689369666d3f016f0 Mon Sep 17 00:00:00 2001 From: Artturin Date: Tue, 19 Oct 2021 01:19:34 +0300 Subject: [PATCH 2/7] python3Packages.falcon: enable more tests --- .../python-modules/falcon/default.nix | 30 +++++++++++++++---- .../python-modules/mujson/default.nix | 1 + 2 files changed, 25 insertions(+), 6 deletions(-) diff --git a/pkgs/development/python-modules/falcon/default.nix b/pkgs/development/python-modules/falcon/default.nix index a42da353fc68..5dba22d83912 100644 --- a/pkgs/development/python-modules/falcon/default.nix +++ b/pkgs/development/python-modules/falcon/default.nix @@ -1,17 +1,28 @@ { lib , buildPythonPackage -, fetchPypi , pythonOlder +, fetchPypi +, pytestCheckHook , aiofiles , cbor2 +, ddt +, gunicorn , httpx +, hypercorn +, jsonschema , msgpack +, mujson +, nose +, orjson , pecan , pytest-asyncio -, pytestCheckHook +, python-mimeparse , pyyaml +, rapidjson , requests , testtools +, ujson +, uvicorn , websockets }: @@ -29,24 +40,31 @@ buildPythonPackage rec { checkInputs = [ aiofiles cbor2 + ddt + gunicorn httpx + hypercorn + jsonschema msgpack + mujson + nose + orjson pecan pytest-asyncio pytestCheckHook + python-mimeparse pyyaml + rapidjson requests testtools + ujson + uvicorn websockets ]; disabledTestPaths = [ # missing optional nuts package "falcon/bench/nuts/nuts/tests/test_functional.py" - # missing optional mujson package - "tests/test_media_handlers.py" - # tries to run uvicorn binary and doesn't find it - "tests/asgi/test_asgi_servers.py" ]; meta = with lib; { diff --git a/pkgs/development/python-modules/mujson/default.nix b/pkgs/development/python-modules/mujson/default.nix index 55c028fc90cb..10f0e40b7626 100644 --- a/pkgs/development/python-modules/mujson/default.nix +++ b/pkgs/development/python-modules/mujson/default.nix @@ -21,6 +21,7 @@ buildPythonPackage rec { # No tests doCheck = false; + pythonImportsCheck = [ "mujson" ]; meta = with lib; { description = "Use the fastest JSON functions available at import time"; From 413e2f0070c139c36e0d6d169b4c35b78148db2b Mon Sep 17 00:00:00 2001 From: Artturin Date: Mon, 1 Nov 2021 13:01:51 +0200 Subject: [PATCH 3/7] python3Packages.postorius: 1.3.5 -> 1.3.6 --- pkgs/servers/mail/mailman/postorius.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/mail/mailman/postorius.nix b/pkgs/servers/mail/mailman/postorius.nix index 57df52d0a0a6..4022b6fe91c9 100644 --- a/pkgs/servers/mail/mailman/postorius.nix +++ b/pkgs/servers/mail/mailman/postorius.nix @@ -6,11 +6,11 @@ buildPythonPackage rec { pname = "postorius"; # Note: Mailman core must be on the latest version before upgrading Postorious. # See: https://gitlab.com/mailman/postorius/-/issues/516#note_544571309 - version = "1.3.5"; + version = "1.3.6"; src = fetchPypi { inherit pname version; - sha256 = "0f23c6542bf0f6e6364d678c094ee5804acfe59ecbcc0e944bc4c13834e24e80"; + sha256 = "sha256-KwzEU9IfcQ6YPZu3jPuFrd6ux/3e2pzoLfTrak/aGmg="; }; propagatedBuildInputs = [ django-mailman3 readme_renderer ]; From 5f8d34ad31289e31746d0e9d39705cb993f253cb Mon Sep 17 00:00:00 2001 From: Artturin Date: Mon, 1 Nov 2021 13:02:18 +0200 Subject: [PATCH 4/7] mailman-web: unstable-2021-04-10 -> 0.0.5 --- pkgs/servers/mail/mailman/web.nix | 29 +++++++++++------------------ 1 file changed, 11 insertions(+), 18 deletions(-) diff --git a/pkgs/servers/mail/mailman/web.nix b/pkgs/servers/mail/mailman/web.nix index 10adb49be84f..c517cb3e4e30 100644 --- a/pkgs/servers/mail/mailman/web.nix +++ b/pkgs/servers/mail/mailman/web.nix @@ -1,24 +1,18 @@ -{ buildPythonPackage, lib, fetchgit, isPy3k -, git, makeWrapper, sassc, hyperkitty, postorius, whoosh, setuptools-scm +{ buildPythonPackage, lib, fetchPypi, pythonOlder +, sassc, hyperkitty, postorius, whoosh, setuptools-scm }: buildPythonPackage rec { pname = "mailman-web"; - version = "unstable-2021-04-10"; - disabled = !isPy3k; + version = "0.0.5"; + disabled = pythonOlder "3.8"; - src = fetchgit { - url = "https://gitlab.com/mailman/mailman-web"; - rev = "19a7abe27dd3bc39c0250440de073f0adecd4da1"; - sha256 = "0h25140n2jaisl0ri5x7gdmbypiys8vlq8dql1zmaxvq459ybxkn"; - leaveDotGit = true; + src = fetchPypi { + inherit pname version; + sha256 = "sha256-9pvs/VATAsMcGNrj58b/LifysEPTNhrAP57sfp4nX6Q="; }; postPatch = '' - # This is just so people installing from pip also get uwsgi - # installed, AFAICT. - sed -i '/^ uwsgi$/d' setup.cfg - # Django is depended on transitively by hyperkitty and postorius, # and mailman_web has overly restrictive version bounds on it, so # let's remove it. @@ -32,16 +26,15 @@ buildPythonPackage rec { --replace /opt/mailman/web /var/lib/mailman-web ''; - nativeBuildInputs = [ git makeWrapper setuptools-scm ]; + nativeBuildInputs = [ setuptools-scm ]; propagatedBuildInputs = [ hyperkitty postorius whoosh ]; # Tries to check runtime configuration. doCheck = false; - postInstall = '' - wrapProgram $out/bin/mailman-web \ - --suffix PATH : ${lib.makeBinPath [ sassc ]} - ''; + makeWrapperArgs = [ + "--suffix PATH : ${lib.makeBinPath [ sassc ]}" + ]; meta = with lib; { description = "Django project for Mailman 3 web interface"; From 92b9bd4eb65e2205a13d74108c80b73f9736430d Mon Sep 17 00:00:00 2001 From: Artturin Date: Sun, 31 Oct 2021 14:16:40 +0200 Subject: [PATCH 5/7] python3Packages.hyperkitty: 1.3.4 -> 1.3.5 --- pkgs/servers/mail/mailman/hyperkitty.nix | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/pkgs/servers/mail/mailman/hyperkitty.nix b/pkgs/servers/mail/mailman/hyperkitty.nix index d0d7cbc7fbb6..4d4f714e7487 100644 --- a/pkgs/servers/mail/mailman/hyperkitty.nix +++ b/pkgs/servers/mail/mailman/hyperkitty.nix @@ -1,7 +1,7 @@ { lib , buildPythonPackage -, fetchFromGitLab -, isPy3k +, fetchPypi +, pythonOlder # dependencies , defusedxml @@ -32,18 +32,12 @@ buildPythonPackage rec { pname = "HyperKitty"; # Note: Mailman core must be on the latest version before upgrading HyperKitty. # See: https://gitlab.com/mailman/postorius/-/issues/516#note_544571309 - # - # Update to next stable version > 1.3.4 that has fixed tests, see - # https://gitlab.com/mailman/django-mailman3/-/issues/48 version = "1.3.5"; - disabled = !isPy3k; + disabled = pythonOlder "3.8"; - src = fetchFromGitLab { - domain = "gitlab.com"; - owner = "mailman"; - repo = "hyperkitty"; - rev = version; - sha256 = "0v70r0r6w0q56hk2hw1qp3ci0bwd9x8inf4gai6ybjqjfskqrxi4"; + src = fetchPypi { + inherit pname version; + sha256 = "sha256-gmkiK8pIHfubbbxNdm/D6L2o722FptxYgINYdIUOn4Y="; }; postPatch = '' From 0235f41adf64a74d25295c779cfe0d8f84e83a66 Mon Sep 17 00:00:00 2001 From: Artturin Date: Tue, 9 Nov 2021 19:16:12 +0200 Subject: [PATCH 6/7] python3Packages.mailman-hyperkitty: 1.1.0 -> 1.2.0 --- .../development/python-modules/mailman-hyperkitty/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/mailman-hyperkitty/default.nix b/pkgs/development/python-modules/mailman-hyperkitty/default.nix index 649d8d4cf3df..117ec4fb4361 100644 --- a/pkgs/development/python-modules/mailman-hyperkitty/default.nix +++ b/pkgs/development/python-modules/mailman-hyperkitty/default.nix @@ -12,14 +12,14 @@ buildPythonPackage rec { pname = "mailman-hyperkitty"; - version = "1.1.0"; + version = "1.2.0"; format = "setuptools"; disabled = pythonOlder "3.9"; src = fetchPypi { inherit pname version; - sha256 = "1lfqa9admhvdv71f528jmz2wl0i5cv77v6l64px2pm4zqr9ckkjx"; + sha256 = "sha256-EQBx1KX3z/Wv3QAHOi+s/ihLOjpiupIQBYyE6IPbJto="; }; propagatedBuildInputs = [ From a997abfb2843fee283c0976c69ad93a0af509787 Mon Sep 17 00:00:00 2001 From: Artturin Date: Sat, 13 Nov 2021 02:01:19 +0200 Subject: [PATCH 7/7] mailman: formatting --- pkgs/servers/mail/mailman/default.nix | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/pkgs/servers/mail/mailman/default.nix b/pkgs/servers/mail/mailman/default.nix index 557a9d54c149..8cd087f4174f 100644 --- a/pkgs/servers/mail/mailman/default.nix +++ b/pkgs/servers/mail/mailman/default.nix @@ -1,10 +1,10 @@ -{ lib, python3, fetchPypi, fetchpatch, pythonOlder, postfix, lynx +{ lib, buildPythonPackage, fetchPypi, fetchpatch, pythonOlder, python3, postfix, lynx }: let - py = python3.override { + # Mailman does not support sqlalchemy >= 1.4 https://gitlab.com/mailman/mailman/-/issues/845 + pythonOverride = python3.override { packageOverrides = self: super: { - # https://gitlab.com/mailman/mailman/-/issues/845 sqlalchemy = super.sqlalchemy.overridePythonAttrs (oldAttrs: rec { version = "1.3.24"; src = oldAttrs.src.override { @@ -14,11 +14,8 @@ let }); }; }; - in -with py.pkgs; - buildPythonPackage rec { pname = "mailman"; version = "3.3.5"; @@ -29,7 +26,7 @@ buildPythonPackage rec { sha256 = "12mgxs1ndhdjjkydx48b95na9k9h0disfqgrr6wxx7vda6dqvcwz"; }; - propagatedBuildInputs = [ + propagatedBuildInputs = with pythonOverride.pkgs; [ aiosmtpd alembic authheaders