diff --git a/pkgs/development/python-modules/pyqodeng-angr/default.nix b/pkgs/development/python-modules/pyqodeng-angr/default.nix new file mode 100644 index 0000000000000..13013db561840 --- /dev/null +++ b/pkgs/development/python-modules/pyqodeng-angr/default.nix @@ -0,0 +1,58 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + future, + pygments, + pyside6, + pytestCheckHook, + pytest-xdist, + qtpy, + setuptools, +}: + +buildPythonPackage rec { + pname = "pyqodeng-angr"; + version = "0.0.13"; + pyproject = true; + + src = fetchFromGitHub { + owner = "angr"; + repo = "pyqodeng"; + tag = "v${version}"; + hash = "sha256-t4LcPVQfktAaTqTr9L2VDCEHbSO7qxCvUDz6rj0Zre4="; + }; + + postPatch = '' + substituteInPlace setup.py \ + --replace-quiet 'PySide6-Essentials' 'PySide6' + ''; + + build-system = [ setuptools ]; + + dependencies = [ + pygments + future + qtpy + pyside6 + ]; + + # Tests appear to be broken with pyside6 + doCheck = false; + + nativeCheckInputs = [ + pytest-xdist + pytestCheckHook + pyside6 + ]; + + pythonImportsCheck = [ "pyqodeng" ]; + + meta = { + description = "Angr's fork of pyQode.core, used as part of angr management"; + homepage = "https://github.com/angr/pyqodeng"; + changelog = "https://github.com/angr/pyqodeng/blob/${src.tag}/CHANGELOG.rst"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ scoder12 ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index cfacc63e518b6..4954b05855a1b 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -14039,6 +14039,8 @@ self: super: with self; { pypytools = callPackage ../development/python-modules/pypytools { }; + pyqodeng-angr = callPackage ../development/python-modules/pyqodeng-angr { }; + pyqrcode = callPackage ../development/python-modules/pyqrcode { }; pyqt-builder = callPackage ../development/python-modules/pyqt-builder { };