From b17003001218849d25bb69b8a0115fd74505c5e4 Mon Sep 17 00:00:00 2001 From: Kerstin Humm Date: Fri, 3 Jan 2025 12:40:59 +0100 Subject: [PATCH 1/7] python3Packages.zxcvbn-rs-py: 0.1.1 -> 0.2.0 --- pkgs/development/python-modules/zxcvbn-rs-py/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/python-modules/zxcvbn-rs-py/default.nix b/pkgs/development/python-modules/zxcvbn-rs-py/default.nix index dcfc2f8d66408..fd636b09b9c84 100644 --- a/pkgs/development/python-modules/zxcvbn-rs-py/default.nix +++ b/pkgs/development/python-modules/zxcvbn-rs-py/default.nix @@ -9,7 +9,7 @@ buildPythonPackage rec { pname = "zxcvbn-rs-py"; - version = "0.1.1"; + version = "0.2.0"; pyproject = true; @@ -18,7 +18,7 @@ buildPythonPackage rec { src = fetchPypi { pname = "zxcvbn_rs_py"; inherit version; - hash = "sha256-7EZJ/WGekfsnisqTs9dwwbQia6OlDEx3MR9mkqSI+gA="; + hash = "sha256-DQzdOngHGZma2NyfrNuMppG6GzpGoKfwVQGUVmN7erA="; }; build-system = [ @@ -29,7 +29,7 @@ buildPythonPackage rec { cargoDeps = rustPlatform.fetchCargoTarball { name = "${pname}-${version}"; inherit src; - hash = "sha256-OA6iyojBMAG9GtjHaIQ9cM0SEMwMa2bKFRIXmqp4OBE="; + hash = "sha256-tb0puFu4T3KW75U7GXjYzjH72diH/tboSwmpnkGwG0k="; }; pythonImportsCheck = [ "zxcvbn_rs_py" ]; From c6029e808fc00f1b38e146d5287b3971955c70e8 Mon Sep 17 00:00:00 2001 From: Kerstin Humm Date: Fri, 3 Jan 2025 13:00:54 +0100 Subject: [PATCH 2/7] python3Packages.scim2-models: init at 0.3.0 --- .../python-modules/scim2-models/default.nix | 40 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 42 insertions(+) create mode 100644 pkgs/development/python-modules/scim2-models/default.nix diff --git a/pkgs/development/python-modules/scim2-models/default.nix b/pkgs/development/python-modules/scim2-models/default.nix new file mode 100644 index 0000000000000..ada6c553129d2 --- /dev/null +++ b/pkgs/development/python-modules/scim2-models/default.nix @@ -0,0 +1,40 @@ +{ + lib, + buildPythonPackage, + pythonOlder, + fetchPypi, + hatchling, + pydantic, + pytestCheckHook, +}: + +buildPythonPackage rec { + pname = "scim2-models"; + version = "0.3.0"; + + pyproject = true; + + disabled = pythonOlder "3.9"; + + src = fetchPypi { + inherit version; + pname = "scim2_models"; + hash = "sha256-odtiOF54IOZ8lP11gkaBU5frOzvRvKeXoqPvNG6B2Cc="; + }; + + build-system = [ hatchling ]; + + dependencies = [ pydantic ] ++ pydantic.optional-dependencies.email; + + nativeCheckInputs = [ pytestCheckHook ]; + + pythonImportsCheck = [ "scim2_models" ]; + + meta = with lib; { + description = "SCIM2 models serialization and validation with pydantic"; + homepage = "https://github.com/python-scim/scim2-models"; + changelog = "https://github.com/python-scim/scim2-models/releases/tag/${version}"; + license = licenses.asl20; + maintainers = with maintainers; [ erictapen ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 959365d03a301..2ae5ee5c028a9 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -14435,6 +14435,8 @@ self: super: with self; { scim2-filter-parser = callPackage ../development/python-modules/scim2-filter-parser { }; + scim2-models = callPackage ../development/python-modules/scim2-models { }; + scikit-bio = callPackage ../development/python-modules/scikit-bio { }; scikit-build = callPackage ../development/python-modules/scikit-build { }; From 9ec82d8ab4d157583e879468450091dba6db62c7 Mon Sep 17 00:00:00 2001 From: Kerstin Humm Date: Fri, 3 Jan 2025 14:10:02 +0100 Subject: [PATCH 3/7] python3Packages.scim2-server: init at 0.1.2 --- .../python-modules/scim2-server/default.nix | 49 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 51 insertions(+) create mode 100644 pkgs/development/python-modules/scim2-server/default.nix diff --git a/pkgs/development/python-modules/scim2-server/default.nix b/pkgs/development/python-modules/scim2-server/default.nix new file mode 100644 index 0000000000000..bd0bac6a1ddd7 --- /dev/null +++ b/pkgs/development/python-modules/scim2-server/default.nix @@ -0,0 +1,49 @@ +{ + lib, + buildPythonPackage, + fetchPypi, + hatchling, + scim2-filter-parser, + scim2-models, + werkzeug, + pytestCheckHook, + httpx, + time-machine, +}: + +buildPythonPackage rec { + pname = "scim2-server"; + version = "0.1.2"; + + pyproject = true; + + src = fetchPypi { + inherit version; + pname = "scim2_server"; + hash = "sha256-6MHQVo0vqJ/69iBz3GtH1f2YO/Vh/MORSkEETwy/9pE="; + }; + + build-system = [ hatchling ]; + + dependencies = [ + scim2-filter-parser + scim2-models + werkzeug + ]; + + nativeCheckInputs = [ + pytestCheckHook + httpx + time-machine + ]; + + pythonImportsCheck = [ "scim2_server" ]; + + meta = with lib; { + description = "Lightweight SCIM2 server prototype"; + homepage = "https://github.com/python-scim/scim2-server"; + changelog = "https://github.com/python-scim/scim2-server/releases/tag/${version}"; + license = licenses.asl20; + maintainers = with maintainers; [ erictapen ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 2ae5ee5c028a9..57453b0929125 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -14437,6 +14437,8 @@ self: super: with self; { scim2-models = callPackage ../development/python-modules/scim2-models { }; + scim2-server = callPackage ../development/python-modules/scim2-server { }; + scikit-bio = callPackage ../development/python-modules/scikit-bio { }; scikit-build = callPackage ../development/python-modules/scikit-build { }; From 85391824b8ed292bab6ccf548053172134f299f3 Mon Sep 17 00:00:00 2001 From: Kerstin Humm Date: Fri, 3 Jan 2025 13:11:00 +0100 Subject: [PATCH 4/7] python3Packages.otpauth: init at 2.1.1 --- .../python-modules/otpauth/default.nix | 36 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 ++ 2 files changed, 38 insertions(+) create mode 100644 pkgs/development/python-modules/otpauth/default.nix diff --git a/pkgs/development/python-modules/otpauth/default.nix b/pkgs/development/python-modules/otpauth/default.nix new file mode 100644 index 0000000000000..167a69e34b1c8 --- /dev/null +++ b/pkgs/development/python-modules/otpauth/default.nix @@ -0,0 +1,36 @@ +{ + lib, + buildPythonPackage, + pythonOlder, + fetchPypi, + setuptools, + pytestCheckHook, +}: + +buildPythonPackage rec { + pname = "otpauth"; + version = "2.1.1"; + + pyproject = true; + + disabled = pythonOlder "3.7"; + + src = fetchPypi { + inherit pname version; + hash = "sha256-4J7WOgGzWs14t7sPmB/c29HZ2cAb4aPg1wJMZdDnTio="; + }; + + build-system = [ setuptools ]; + + nativeCheckInputs = [ pytestCheckHook ]; + + pythonImportsCheck = [ pname ]; + + meta = with lib; { + description = "Implements one time password of HOTP/TOTP"; + homepage = "https://otp.authlib.org/"; + changelog = "https://github.com/authlib/otpauth/releases/tag/v${version}"; + license = licenses.bsd3; + maintainers = with maintainers; [ erictapen ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 57453b0929125..69d0ebc0fd313 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -9868,6 +9868,8 @@ self: super: with self; { osxphotos = callPackage ../development/python-modules/osxphotos { }; + otpauth = callPackage ../development/python-modules/otpauth { }; + ots-python = callPackage ../development/python-modules/ots-python { }; outcome = callPackage ../development/python-modules/outcome { }; From f1a5d50df06ac0c39575324d5f236d1f3230b7d6 Mon Sep 17 00:00:00 2001 From: Kerstin Humm Date: Fri, 3 Jan 2025 13:31:18 +0100 Subject: [PATCH 5/7] python3Packages.scim2-client: init at 0.5.1 --- .../python-modules/scim2-client/default.nix | 64 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 66 insertions(+) create mode 100644 pkgs/development/python-modules/scim2-client/default.nix diff --git a/pkgs/development/python-modules/scim2-client/default.nix b/pkgs/development/python-modules/scim2-client/default.nix new file mode 100644 index 0000000000000..4ccad91014133 --- /dev/null +++ b/pkgs/development/python-modules/scim2-client/default.nix @@ -0,0 +1,64 @@ +{ + lib, + buildPythonPackage, + pythonOlder, + fetchPypi, + hatchling, + scim2-models, + pytestCheckHook, + portpicker, + pytest-httpserver, + pytest-asyncio, + scim2-server, + httpx, + werkzeug, +}: + +buildPythonPackage rec { + pname = "scim2-client"; + version = "0.5.1"; + + pyproject = true; + + disabled = pythonOlder "3.9"; + + src = fetchPypi { + inherit version; + pname = "scim2_client"; + hash = "sha256-g2RR+Ruvjw88cGHcwEPoktTmB8VcWAPnea3BErS8JyI="; + }; + + build-system = [ hatchling ]; + + dependencies = [ scim2-models ]; + + nativeCheckInputs = [ + pytestCheckHook + portpicker + pytest-httpserver + pytest-asyncio + scim2-server + werkzeug + ] ++ optional-dependencies.httpx; + + # Werkzeug returns 500, didn't deem it worth it to investigate + disabledTests = [ + "test_search_request" + "test_query_dont_check_request_payload" + ]; + + pythonImportsCheck = [ "scim2_client" ]; + + optional-dependencies = { + httpx = [ httpx ]; + werkzeug = [ werkzeug ]; + }; + + meta = with lib; { + description = "Pythonically build SCIM requests and parse SCIM responses"; + homepage = "https://scim2-client.readthedocs.io/"; + changelog = "https://github.com/python-scim/scim2-client/releases/tag/${version}"; + license = licenses.asl20; + maintainers = with maintainers; [ erictapen ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 69d0ebc0fd313..c40d5c1e35382 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -14435,6 +14435,8 @@ self: super: with self; { scienceplots = callPackage ../development/python-modules/scienceplots { }; + scim2-client = callPackage ../development/python-modules/scim2-client { }; + scim2-filter-parser = callPackage ../development/python-modules/scim2-filter-parser { }; scim2-models = callPackage ../development/python-modules/scim2-models { }; From 41b0fcac67e0379e18da01f0794e6d3c118434b9 Mon Sep 17 00:00:00 2001 From: Kerstin Humm Date: Fri, 3 Jan 2025 14:11:41 +0100 Subject: [PATCH 6/7] python3Packages.scim2-tester: init at 0.1.13 --- .../python-modules/scim2-tester/default.nix | 50 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 52 insertions(+) create mode 100644 pkgs/development/python-modules/scim2-tester/default.nix diff --git a/pkgs/development/python-modules/scim2-tester/default.nix b/pkgs/development/python-modules/scim2-tester/default.nix new file mode 100644 index 0000000000000..2125a7706e868 --- /dev/null +++ b/pkgs/development/python-modules/scim2-tester/default.nix @@ -0,0 +1,50 @@ +{ + lib, + buildPythonPackage, + pythonOlder, + fetchPypi, + hatchling, + scim2-client, + pytestCheckHook, + werkzeug, + scim2-server, + pytest-httpserver, +}: + +buildPythonPackage rec { + pname = "scim2-tester"; + version = "0.1.13"; + + pyproject = true; + + disabled = pythonOlder "3.10"; + + src = fetchPypi { + inherit version; + pname = "scim2_tester"; + hash = "sha256-Jpfxyok46fRCW3aAOFb0BTEI++Ou5lob/0RsoXgzkxk="; + }; + + build-system = [ hatchling ]; + + dependencies = [ scim2-client ]; + + nativeCheckInputs = [ + pytestCheckHook + werkzeug + scim2-server + pytest-httpserver + ] ++ optional-dependencies.httpx; + + pythonImportsCheck = [ "scim2_tester" ]; + + optional-dependencies.httpx = scim2-client.optional-dependencies.httpx; + + meta = with lib; { + description = "SCIM RFCs server compliance checker"; + homepage = "https://scim2-tester.readthedocs.io/"; + changelog = "https://github.com/python-scim/scim2-tester/releases/tag/${version}"; + license = licenses.asl20; + maintainers = with maintainers; [ erictapen ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index c40d5c1e35382..20ce29d1c3a5a 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -14443,6 +14443,8 @@ self: super: with self; { scim2-server = callPackage ../development/python-modules/scim2-server { }; + scim2-tester = callPackage ../development/python-modules/scim2-tester { }; + scikit-bio = callPackage ../development/python-modules/scikit-bio { }; scikit-build = callPackage ../development/python-modules/scikit-build { }; From 4a621a7aae7621172cc893455c591aaaf181a021 Mon Sep 17 00:00:00 2001 From: Kerstin Humm Date: Fri, 3 Jan 2025 14:19:36 +0100 Subject: [PATCH 7/7] canaille: 0.0.56 -> 0.0.57 https://gitlab.com/yaal/canaille/-/blob/0.0.57/CHANGES.rst --- nixos/modules/services/security/canaille.nix | 5 ++++- pkgs/by-name/ca/canaille/package.nix | 23 ++++++++++++++++---- 2 files changed, 23 insertions(+), 5 deletions(-) diff --git a/nixos/modules/services/security/canaille.nix b/nixos/modules/services/security/canaille.nix index 427ecaffde219..4489b5f71c1ed 100644 --- a/nixos/modules/services/security/canaille.nix +++ b/nixos/modules/services/security/canaille.nix @@ -33,9 +33,12 @@ let old.dependencies ++ old.optional-dependencies.front ++ old.optional-dependencies.oidc + ++ old.optional-dependencies.scim ++ old.optional-dependencies.ldap ++ old.optional-dependencies.sentry - ++ old.optional-dependencies.postgresql; + ++ old.optional-dependencies.postgresql + ++ old.optional-dependencies.otp + ++ old.optional-dependencies.sms; makeWrapperArgs = (old.makeWrapperArgs or [ ]) ++ [ "--set CONFIG /etc/canaille/config.toml" "--set SECRETS_DIR \"${secretsDir}\"" diff --git a/pkgs/by-name/ca/canaille/package.nix b/pkgs/by-name/ca/canaille/package.nix index be6bc98756968..76a433cb7e952 100644 --- a/pkgs/by-name/ca/canaille/package.nix +++ b/pkgs/by-name/ca/canaille/package.nix @@ -11,7 +11,7 @@ let in python.pkgs.buildPythonApplication rec { pname = "canaille"; - version = "0.0.56"; + version = "0.0.57"; pyproject = true; disabled = python.pythonOlder "3.10"; @@ -20,7 +20,7 @@ python.pkgs.buildPythonApplication rec { owner = "yaal"; repo = "canaille"; rev = "refs/tags/${version}"; - hash = "sha256-cLsLwttUDxMKVqtVDCY5A22m1YY1UezeZQh1j74WzgU="; + hash = "sha256-pesN7k5kGHi3dqTMaXWdCsNsnaJxXv/Ku1wVC9N9a3k="; }; build-system = with python.pkgs; [ @@ -35,6 +35,7 @@ python.pkgs.buildPythonApplication rec { flask flask-wtf pydantic-settings + requests wtforms ] ++ sentry-sdk.optional-dependencies.flask; @@ -51,6 +52,7 @@ python.pkgs.buildPythonApplication rec { pytest-lazy-fixtures pytest-smtpd pytest-xdist + scim2-tester slapd toml faker @@ -58,8 +60,11 @@ python.pkgs.buildPythonApplication rec { ] ++ optional-dependencies.front ++ optional-dependencies.oidc + ++ optional-dependencies.scim ++ optional-dependencies.ldap - ++ optional-dependencies.postgresql; + ++ optional-dependencies.postgresql + ++ optional-dependencies.otp + ++ optional-dependencies.sms; postInstall = '' mkdir -p $out/etc/schema @@ -88,6 +93,10 @@ python.pkgs.buildPythonApplication rec { zxcvbn-rs-py ]; oidc = [ authlib ]; + scim = [ + scim2-models + authlib + ]; ldap = [ python-ldap ]; sentry = [ sentry-sdk ]; postgresql = [ @@ -95,7 +104,13 @@ python.pkgs.buildPythonApplication rec { sqlalchemy sqlalchemy-json sqlalchemy-utils - ] ++ sqlalchemy.optional-dependencies.postgresql; + ] ++ sqlalchemy.optional-dependencies.postgresql_psycopg2binary; + otp = [ + otpauth + pillow + qrcode + ]; + sms = [ smpplib ]; }; passthru = {