From b70f790be90eb88990bc9548b1d955233be76e7f Mon Sep 17 00:00:00 2001 From: Timo Gottszky Date: Thu, 4 Jun 2026 22:31:02 +0200 Subject: [PATCH 1/3] python3Packages.maubot: migrate to pyproject --- .../python-modules/maubot/default.nix | 20 +++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/pkgs/development/python-modules/maubot/default.nix b/pkgs/development/python-modules/maubot/default.nix index 2b8f15339a51..31a085ef676f 100644 --- a/pkgs/development/python-modules/maubot/default.nix +++ b/pkgs/development/python-modules/maubot/default.nix @@ -23,13 +23,17 @@ let sqlalchemy = final.buildPythonPackage rec { pname = "SQLAlchemy"; version = "1.3.24"; - format = "setuptools"; + pyproject = true; src = fetchPypi { inherit pname version; sha256 = "sha256-67t3fL+TEjWbiXv4G6ANrg9ctp+6KhgmXcwYpvXvdRk="; }; + build-system = with final; [ + setuptools + ]; + postInstall = '' sed -e 's:--max-worker-restart=5::g' -i setup.cfg ''; @@ -43,7 +47,7 @@ let maubot = python.pkgs.buildPythonPackage rec { pname = "maubot"; version = "0.6.0"; - format = "setuptools"; + pyproject = true; src = fetchPypi { inherit pname version; @@ -58,7 +62,11 @@ let }) ]; - propagatedBuildInputs = + build-system = with python.pkgs; [ + setuptools + ]; + + dependencies = with python.pkgs; [ # requirements.txt @@ -76,7 +84,6 @@ let colorama questionary jinja2 - setuptools ] # optional-requirements.txt ++ lib.optionals encryptionSupport [ @@ -98,6 +105,11 @@ let rm $out/example-config.yaml ''; + pythonRelaxDeps = [ + "bcrypt" + "ruamel.yaml" + ]; + pythonImportsCheck = [ "maubot" ]; From 36383b078df5e7e97af1eef87dd37fd316142884 Mon Sep 17 00:00:00 2001 From: Timo Gottszky Date: Thu, 4 Jun 2026 22:33:06 +0200 Subject: [PATCH 2/3] python3Packages.maubot: migrate from rec to finalAttrs --- .../python-modules/maubot/default.nix | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/pkgs/development/python-modules/maubot/default.nix b/pkgs/development/python-modules/maubot/default.nix index 31a085ef676f..c6e29034a160 100644 --- a/pkgs/development/python-modules/maubot/default.nix +++ b/pkgs/development/python-modules/maubot/default.nix @@ -20,13 +20,13 @@ let # 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 { + sqlalchemy = final.buildPythonPackage (finalAttrs: { pname = "SQLAlchemy"; version = "1.3.24"; pyproject = true; src = fetchPypi { - inherit pname version; + inherit (finalAttrs) pname version; sha256 = "sha256-67t3fL+TEjWbiXv4G6ANrg9ctp+6KhgmXcwYpvXvdRk="; }; @@ -40,17 +40,17 @@ let # 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"; pyproject = true; src = fetchPypi { - inherit pname version; + inherit (finalAttrs) pname version; hash = "sha256-ZXwyctTjKg1ssYE6Ehc1s1DPhWyc08dIQ4MQz6EQXGg="; }; @@ -123,7 +123,7 @@ let in { tests = { - simple = runCommand "${pname}-tests" { } '' + simple = runCommand "${finalAttrs.pname}-tests" { } '' ${maubot}/bin/mbc --help > $out ''; }; @@ -147,7 +147,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 @@ -155,7 +155,7 @@ let mainProgram = "mbc"; maintainers = with lib.maintainers; [ chayleaf ]; }; - }; + }); in maubot From 7800fc57dee70ec8db48a6a2674afdaee96675cc Mon Sep 17 00:00:00 2001 From: Timo Gottszky Date: Fri, 5 Jun 2026 14:08:34 +0200 Subject: [PATCH 3/3] python3Packages.maubot: use sqlalchemy_1_3 instead of custom one --- .../python-modules/maubot/default.nix | 36 +------------------ 1 file changed, 1 insertion(+), 35 deletions(-) diff --git a/pkgs/development/python-modules/maubot/default.nix b/pkgs/development/python-modules/maubot/default.nix index c6e29034a160..b0414455e4a1 100644 --- a/pkgs/development/python-modules/maubot/default.nix +++ b/pkgs/development/python-modules/maubot/default.nix @@ -10,40 +10,6 @@ }: 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 (finalAttrs: { - pname = "SQLAlchemy"; - version = "1.3.24"; - pyproject = true; - - src = fetchPypi { - inherit (finalAttrs) pname version; - sha256 = "sha256-67t3fL+TEjWbiXv4G6ANrg9ctp+6KhgmXcwYpvXvdRk="; - }; - - build-system = with final; [ - setuptools - ]; - - 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 (finalAttrs: { pname = "maubot"; version = "0.6.0"; @@ -92,7 +58,7 @@ let unpaddedbase64 ] ++ lib.optionals sqliteSupport [ - sqlalchemy + sqlalchemy_1_3 ]; # used for plugin tests