Commit d96cc44c authored by Kerstin Humm's avatar Kerstin Humm Committed by Florian Klink
Browse files

canaille: 0.0.57 -> 0.0.74

parent d66bbf3b
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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")
      '';
  }
)
+26 −16
Original line number Diff line number Diff line
@@ -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";