diff --git a/pkgs/by-name/rn/rns/package.nix b/pkgs/by-name/rn/rns/package.nix index 2392ffa84691..b8d2c34c937b 100644 --- a/pkgs/by-name/rn/rns/package.nix +++ b/pkgs/by-name/rn/rns/package.nix @@ -1 +1,20 @@ -{ python3Packages }: with python3Packages; toPythonApplication rns +{ + python3Packages, +}: + +let + pythonPackages = python3Packages.overrideScope ( + self: super: { + lxmf = super.lxmf.override { + propagateRns = false; + }; + } + ); +in +pythonPackages.toPythonApplication ( + pythonPackages.rns.overridePythonAttrs (old: { + dependencies = old.dependencies ++ [ + pythonPackages.lxmf + ]; + }) +) diff --git a/pkgs/development/python-modules/lxmf/default.nix b/pkgs/development/python-modules/lxmf/default.nix index 81d79182ead4..81de08cf79c3 100644 --- a/pkgs/development/python-modules/lxmf/default.nix +++ b/pkgs/development/python-modules/lxmf/default.nix @@ -2,6 +2,9 @@ lib, buildPythonPackage, fetchFromGitHub, + # rns optionally depends on lxmf but we can't have two versions of rns in a closure + propagateRns ? false, + qrcode, rns, setuptools, versionCheckHook, @@ -24,11 +27,22 @@ buildPythonPackage (finalAttrs: { pythonRelaxDeps = [ "rns" ]; - dependencies = [ rns ]; + buildInputs = lib.optionals (!propagateRns) [ + rns + ]; + + dependencies = [ + qrcode + ] + ++ lib.optionals propagateRns [ + rns + ]; pythonImportsCheck = [ "LXMF" ]; - nativeCheckInputs = [ versionCheckHook ]; + nativeCheckInputs = lib.optionals propagateRns [ + versionCheckHook + ]; meta = { description = "Lightweight Extensible Message Format for Reticulum";