diff --git a/pkgs/development/python-modules/maubot/default.nix b/pkgs/development/python-modules/maubot/default.nix index 2b8f15339a51..b0414455e4a1 100644 --- a/pkgs/development/python-modules/maubot/default.nix +++ b/pkgs/development/python-modules/maubot/default.nix @@ -10,43 +10,13 @@ }: let - # save for overriding it - python' = python; -in -let - python = python'.override { - self = python; - packageOverrides = final: prev: { - # SQLAlchemy>=1,<1.4 - # SQLAlchemy 2.0's derivation is very different, so don't override, just write it from scratch - # (see https://github.com/NixOS/nixpkgs/blob/65dbed73949e4c0207e75dcc7271b29f9e457670/pkgs/development/python-modules/sqlalchemy/default.nix) - sqlalchemy = final.buildPythonPackage rec { - pname = "SQLAlchemy"; - version = "1.3.24"; - format = "setuptools"; - - src = fetchPypi { - inherit pname version; - sha256 = "sha256-67t3fL+TEjWbiXv4G6ANrg9ctp+6KhgmXcwYpvXvdRk="; - }; - - postInstall = '' - sed -e 's:--max-worker-restart=5::g' -i setup.cfg - ''; - - # tests are pretty annoying to set up for this version, and these dependency overrides are already long enough - doCheck = false; - }; - }; - }; - - maubot = python.pkgs.buildPythonPackage rec { + maubot = python.pkgs.buildPythonPackage (finalAttrs: { pname = "maubot"; version = "0.6.0"; - format = "setuptools"; + pyproject = true; src = fetchPypi { - inherit pname version; + inherit (finalAttrs) pname version; hash = "sha256-ZXwyctTjKg1ssYE6Ehc1s1DPhWyc08dIQ4MQz6EQXGg="; }; @@ -58,7 +28,11 @@ let }) ]; - propagatedBuildInputs = + build-system = with python.pkgs; [ + setuptools + ]; + + dependencies = with python.pkgs; [ # requirements.txt @@ -76,7 +50,6 @@ let colorama questionary jinja2 - setuptools ] # optional-requirements.txt ++ lib.optionals encryptionSupport [ @@ -85,7 +58,7 @@ let unpaddedbase64 ] ++ lib.optionals sqliteSupport [ - sqlalchemy + sqlalchemy_1_3 ]; # used for plugin tests @@ -98,6 +71,11 @@ let rm $out/example-config.yaml ''; + pythonRelaxDeps = [ + "bcrypt" + "ruamel.yaml" + ]; + pythonImportsCheck = [ "maubot" ]; @@ -111,7 +89,7 @@ let in { tests = { - simple = runCommand "${pname}-tests" { } '' + simple = runCommand "${finalAttrs.pname}-tests" { } '' ${maubot}/bin/mbc --help > $out ''; }; @@ -135,7 +113,7 @@ let meta = { description = "Plugin-based Matrix bot system written in Python"; homepage = "https://maubot.xyz/"; - changelog = "https://github.com/maubot/maubot/blob/v${version}/CHANGELOG.md"; + changelog = "https://github.com/maubot/maubot/blob/v${finalAttrs.version}/CHANGELOG.md"; license = lib.licenses.agpl3Plus; # Presumably, people running "nix run nixpkgs#maubot" will want to run the tool # for interacting with Maubot rather than Maubot itself, which should be used as @@ -143,7 +121,7 @@ let mainProgram = "mbc"; maintainers = with lib.maintainers; [ chayleaf ]; }; - }; + }); in maubot