From ac7917005d63d32011f8723f1adfa386623aea6a Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 15 Aug 2025 00:28:16 +0200 Subject: [PATCH 1/7] python313Packages.dependency-groups: init at 1.3.1 Standalone implementation of PEP 735 Dependency Groups https://github.com/pypa/dependency-groups --- .../dependency-groups/default.nix | 44 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 46 insertions(+) create mode 100644 pkgs/development/python-modules/dependency-groups/default.nix diff --git a/pkgs/development/python-modules/dependency-groups/default.nix b/pkgs/development/python-modules/dependency-groups/default.nix new file mode 100644 index 000000000000..bf0f83d276d9 --- /dev/null +++ b/pkgs/development/python-modules/dependency-groups/default.nix @@ -0,0 +1,44 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + flit-core, + packaging, + pythonOlder, + pytestCheckHook, +}: + +buildPythonPackage rec { + pname = "dependency-groups"; + version = "1.3.1"; + pyproject = true; + + disabled = pythonOlder "3.12"; + + src = fetchFromGitHub { + owner = "pypa"; + repo = "dependency-groups"; + rev = version; + hash = "sha256-suuSx3zf0Y45FJdH8Cb6N7hcvPnzleREpHhtdiG2CLg="; + }; + + build-system = [ flit-core ]; + + dependencies = [ packaging ]; + + optional-dependencies = { + cli = [ ]; + }; + + nativeCheckInputs = [ pytestCheckHook ]; + + pythonImportsCheck = [ "dependency_groups" ]; + + meta = { + description = "Standalone implementation of PEP 735 Dependency Groups"; + homepage = "https://github.com/pypa/dependency-groups"; + changelog = "https://github.com/pypa/dependency-groups/blob/${src.rev}/CHANGELOG.rst"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ fab ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index b5d87215e029..e77fcb0970c2 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -3553,6 +3553,8 @@ self: super: with self; { dep-logic = callPackage ../development/python-modules/dep-logic { }; + dependency-groups = callPackage ../development/python-modules/dependency-groups { }; + dependency-injector = callPackage ../development/python-modules/dependency-injector { }; deploykit = callPackage ../development/python-modules/deploykit { }; From a6f62caabc3931c2fbb867d89d3c6e3aad1b6cb7 Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Fri, 15 Aug 2025 02:08:17 +0300 Subject: [PATCH 2/7] python3.pkgs.nox: small new lines addition --- pkgs/development/python-modules/nox/default.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/development/python-modules/nox/default.nix b/pkgs/development/python-modules/nox/default.nix index 91e23202c525..9b223ee4e523 100644 --- a/pkgs/development/python-modules/nox/default.nix +++ b/pkgs/development/python-modules/nox/default.nix @@ -54,7 +54,9 @@ buildPythonPackage rec { uv = [ uv ]; }; - nativeCheckInputs = [ pytestCheckHook ]; + nativeCheckInputs = [ + pytestCheckHook + ]; preCheck = '' export HOME=$(mktemp -d) From 27fde96e92bc457db191437ad7ff62f00eaa6499 Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Fri, 15 Aug 2025 02:09:38 +0300 Subject: [PATCH 3/7] python312.pkgs.nox: argument list reprdering --- pkgs/development/python-modules/nox/default.nix | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/pkgs/development/python-modules/nox/default.nix b/pkgs/development/python-modules/nox/default.nix index 9b223ee4e523..b12a6952df26 100644 --- a/pkgs/development/python-modules/nox/default.nix +++ b/pkgs/development/python-modules/nox/default.nix @@ -1,15 +1,23 @@ { lib, - argcomplete, buildPythonPackage, - colorlog, fetchFromGitHub, + pythonOlder, + + # build-system hatchling, + + # dependencies + argcomplete, + colorlog, jinja2, packaging, - pytestCheckHook, - pythonOlder, tomli, + + # tests + pytestCheckHook, + + # passthru tox, uv, virtualenv, From 016ae63d5a32dcf1334eebbb56a2c0ae46f5a466 Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Fri, 15 Aug 2025 02:10:01 +0300 Subject: [PATCH 4/7] python312.pkgs.nox: no with lib; in meta --- pkgs/development/python-modules/nox/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/python-modules/nox/default.nix b/pkgs/development/python-modules/nox/default.nix index b12a6952df26..b22a79fe7383 100644 --- a/pkgs/development/python-modules/nox/default.nix +++ b/pkgs/development/python-modules/nox/default.nix @@ -84,12 +84,12 @@ buildPythonPackage rec { "tests/test_tox_to_nox.py" ]; - meta = with lib; { + meta = { description = "Flexible test automation for Python"; homepage = "https://nox.thea.codes/"; changelog = "https://github.com/wntrblm/nox/blob/${version}/CHANGELOG.md"; - license = licenses.asl20; - maintainers = with maintainers; [ + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ doronbehar fab ]; From 1ca9ac0b6215959786874aaabdfe7f585dca7c1b Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Fri, 15 Aug 2025 02:10:57 +0300 Subject: [PATCH 5/7] python3.pkgs.nox: use writableTmpDirAsHomeHook --- pkgs/development/python-modules/nox/default.nix | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/pkgs/development/python-modules/nox/default.nix b/pkgs/development/python-modules/nox/default.nix index b22a79fe7383..6bb39ea3985e 100644 --- a/pkgs/development/python-modules/nox/default.nix +++ b/pkgs/development/python-modules/nox/default.nix @@ -16,6 +16,7 @@ # tests pytestCheckHook, + writableTmpDirAsHomeHook, # passthru tox, @@ -64,12 +65,9 @@ buildPythonPackage rec { nativeCheckInputs = [ pytestCheckHook + writableTmpDirAsHomeHook ]; - preCheck = '' - export HOME=$(mktemp -d) - ''; - pythonImportsCheck = [ "nox" ]; disabledTests = [ From cc080e4e579102182b9c9e18221d2abe94472b3c Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Fri, 15 Aug 2025 02:13:05 +0300 Subject: [PATCH 6/7] python3.pkgs.nox: use src.tag in meta --- pkgs/development/python-modules/nox/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/python-modules/nox/default.nix b/pkgs/development/python-modules/nox/default.nix index 6bb39ea3985e..481cd7287483 100644 --- a/pkgs/development/python-modules/nox/default.nix +++ b/pkgs/development/python-modules/nox/default.nix @@ -85,7 +85,7 @@ buildPythonPackage rec { meta = { description = "Flexible test automation for Python"; homepage = "https://nox.thea.codes/"; - changelog = "https://github.com/wntrblm/nox/blob/${version}/CHANGELOG.md"; + changelog = "https://github.com/wntrblm/nox/blob/${src.tag}/CHANGELOG.md"; license = lib.licenses.asl20; maintainers = with lib.maintainers; [ doronbehar From 01ccbbc18f3dc4d3eb84e998e57dd66973251362 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 15 Aug 2025 00:32:10 +0200 Subject: [PATCH 7/7] python313Packages.nox: 2024.10.09 -> 2025.05.01 Changelog: https://github.com/wntrblm/nox/blob/2025.05.01/CHANGELOG.md --- .../python-modules/nox/default.nix | 27 ++++++-------- .../fix-broken-mock-on-cpython-3.12.8.patch | 35 ------------------- 2 files changed, 11 insertions(+), 51 deletions(-) delete mode 100644 pkgs/development/python-modules/nox/fix-broken-mock-on-cpython-3.12.8.patch diff --git a/pkgs/development/python-modules/nox/default.nix b/pkgs/development/python-modules/nox/default.nix index 481cd7287483..78777f18b4d8 100644 --- a/pkgs/development/python-modules/nox/default.nix +++ b/pkgs/development/python-modules/nox/default.nix @@ -8,11 +8,11 @@ hatchling, # dependencies + attrs, argcomplete, colorlog, + dependency-groups, jinja2, - packaging, - tomli, # tests pytestCheckHook, @@ -26,33 +26,26 @@ buildPythonPackage rec { pname = "nox"; - version = "2024.10.09"; + version = "2025.05.01"; pyproject = true; - disabled = pythonOlder "3.8"; + disabled = pythonOlder "3.12"; src = fetchFromGitHub { owner = "wntrblm"; repo = "nox"; tag = version; - hash = "sha256-GdNz34A8IKwPG/270sY5t3SoggGCZMWfDq/Wyhk0ez8="; + hash = "sha256-qH8oh7tmiJkXOobyDZMRZ62w2sRHJF8sh4PX+6s7M70="; }; - patches = [ - # Backport of https://github.com/wntrblm/nox/pull/903, which can be removed on next release - ./fix-broken-mock-on-cpython-3.12.8.patch - ]; - build-system = [ hatchling ]; dependencies = [ + attrs argcomplete colorlog - packaging + dependency-groups virtualenv - ] - ++ lib.optionals (pythonOlder "3.11") [ - tomli ]; optional-dependencies = { @@ -71,10 +64,12 @@ buildPythonPackage rec { pythonImportsCheck = [ "nox" ]; disabledTests = [ - # our conda is not available on 3.11 - "test__create_venv_options" # Assertion errors "test_uv" + # Test requires network access + "test_noxfile_script_mode_url_req" + # Don't test CLi mode + "test_noxfile_script_mode" ]; disabledTestPaths = [ diff --git a/pkgs/development/python-modules/nox/fix-broken-mock-on-cpython-3.12.8.patch b/pkgs/development/python-modules/nox/fix-broken-mock-on-cpython-3.12.8.patch deleted file mode 100644 index f634c3534b93..000000000000 --- a/pkgs/development/python-modules/nox/fix-broken-mock-on-cpython-3.12.8.patch +++ /dev/null @@ -1,35 +0,0 @@ -diff --git a/nox/command.py b/nox/command.py -index 671875c..4984168 100644 ---- a/nox/command.py -+++ b/nox/command.py -@@ -30,6 +30,8 @@ TYPE_CHECKING = False - if TYPE_CHECKING: - from typing import IO - -+_PLATFORM = sys.platform -+ - ExternalType = Literal["error", True, False] - - -@@ -63,7 +65,7 @@ def _clean_env(env: Mapping[str, str | None] | None = None) -> dict[str, str] | - clean_env = {k: v for k, v in env.items() if v is not None} - - # Ensure systemroot is passed down, otherwise Windows will explode. -- if sys.platform == "win32": -+ if _PLATFORM.startswith("win"): - clean_env.setdefault("SYSTEMROOT", os.environ.get("SYSTEMROOT", "")) - - return clean_env -diff --git a/tests/test_command.py b/tests/test_command.py -index ae398e9..904cf34 100644 ---- a/tests/test_command.py -+++ b/tests/test_command.py -@@ -157,7 +157,7 @@ def test_run_env_remove(monkeypatch): - ) - - --@mock.patch("sys.platform", "win32") -+@mock.patch("nox.command._PLATFORM", "win32") - def test_run_env_systemroot(): - systemroot = os.environ.setdefault("SYSTEMROOT", "sigil") -