From d96cc44cd30be9b1515f1bb99b7b485a14fe69e9 Mon Sep 17 00:00:00 2001 From: Kerstin Humm Date: Fri, 31 Jan 2025 15:55:33 +0100 Subject: [PATCH] canaille: 0.0.57 -> 0.0.74 Changelog: https://gitlab.com/yaal/canaille/-/blob/0.0.74/CHANGES.rst --- nixos/tests/canaille.nix | 2 +- pkgs/by-name/ca/canaille/package.nix | 42 +++++++++++++++++----------- 2 files changed, 27 insertions(+), 17 deletions(-) diff --git a/nixos/tests/canaille.nix b/nixos/tests/canaille.nix index a085f695fd45..58e81e058de0 100644 --- a/nixos/tests/canaille.nix +++ b/nixos/tests/canaille.nix @@ -56,7 +56,7 @@ import ./make-test-python.nix ( server.succeed("sudo -iu canaille -- canaille create user --user-name admin --password adminpass --emails admin@${domain}") json_str = server.succeed("sudo -iu canaille -- canaille get user") assert json.loads(json_str)[0]["user_name"] == "admin" - server.succeed("sudo -iu canaille -- canaille check") + server.succeed("sudo -iu canaille -- canaille config check") ''; } ) diff --git a/pkgs/by-name/ca/canaille/package.nix b/pkgs/by-name/ca/canaille/package.nix index 7703ec0b7a4c..d53f3648d64e 100644 --- a/pkgs/by-name/ca/canaille/package.nix +++ b/pkgs/by-name/ca/canaille/package.nix @@ -2,6 +2,7 @@ lib, python3, fetchFromGitLab, + fetchpatch, openldap, nixosTests, }: @@ -11,7 +12,7 @@ let in python.pkgs.buildPythonApplication rec { pname = "canaille"; - version = "0.0.57"; + version = "0.0.74"; pyproject = true; disabled = python.pythonOlder "3.10"; @@ -20,9 +21,17 @@ python.pkgs.buildPythonApplication rec { owner = "yaal"; repo = "canaille"; rev = "refs/tags/${version}"; - hash = "sha256-pesN7k5kGHi3dqTMaXWdCsNsnaJxXv/Ku1wVC9N9a3k="; + hash = "sha256-FL02ADM7rUU43XR71UWr4FLr/NeUau7zRwTMOSFm1T4="; }; + patches = [ + # https://gitlab.com/yaal/canaille/-/merge_requests/275 + (fetchpatch { + url = "https://gitlab.com/yaal/canaille/-/commit/1c7fc8b1034a4423f7f46ad8adeced854910b702.patch"; + hash = "sha256-fu7D010NG7yUChOve7HY3e7mm2c/UGpfcTAiTU8BnGg="; + }) + ]; + build-system = with python.pkgs; [ hatchling babel @@ -32,10 +41,12 @@ python.pkgs.buildPythonApplication rec { dependencies = with python.pkgs; [ + blinker flask + flask-caching flask-wtf pydantic-settings - requests + httpx wtforms ] ++ sentry-sdk.optional-dependencies.flask; @@ -57,6 +68,7 @@ python.pkgs.buildPythonApplication rec { toml faker time-machine + pytest-scim2-server ] ++ optional-dependencies.front ++ optional-dependencies.oidc @@ -79,27 +91,34 @@ python.pkgs.buildPythonApplication rec { export SCHEMA="${openldap}/etc/schema" # Just use their example config for testing - export CONFIG=canaille/config.sample.toml + export CONFIG=tests/app/fixtures/default-config.toml ''; optional-dependencies = with python.pkgs; { front = [ email-validator flask-babel + flask-talisman flask-themer pycountry pytz - toml + tomlkit zxcvbn-rs-py ]; - oidc = [ authlib ]; + oidc = [ + authlib + joserfc + ]; scim = [ + httpx scim2-models authlib + scim2-client ]; ldap = [ python-ldap ]; sentry = [ sentry-sdk ]; postgresql = [ + flask-alembic passlib sqlalchemy sqlalchemy-json @@ -111,6 +130,7 @@ python.pkgs.buildPythonApplication rec { qrcode ]; sms = [ smpplib ]; + server = [ hypercorn ]; }; passthru = { @@ -120,16 +140,6 @@ python.pkgs.buildPythonApplication rec { }; }; - disabledTests = [ - # cause by authlib being too up-to-date for this version of canaille - # see: https://github.com/NixOS/nixpkgs/issues/389861#issuecomment-2726361949 - # FIX: update and see if this is fixed - "test_invalid_client[ldap_backend]" - "test_invalid_client[memory_backend]" - "test_invalid_client[sql_backend]" - "test_password_reset[sql_backend]" - ]; - meta = with lib; { description = "Lightweight Identity and Authorization Management"; homepage = "https://canaille.readthedocs.io/en/latest/index.html";