diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 856a3cfaa1866..f8fcf86c0fce5 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -17836,6 +17836,12 @@ githubId = 15896005; name = "Vladyslav Burzakovskyy"; }; + mrsmoer = { + email = "mrsmoer@protonmail.com"; + github = "MrSmoer"; + githubId = 66489839; + name = "MrSmör"; + }; MrSom3body = { email = "nix@sndh.dev"; matrix = "@mrsom3body:matrix.org"; diff --git a/pkgs/development/python-modules/libdebug/default.nix b/pkgs/development/python-modules/libdebug/default.nix new file mode 100644 index 0000000000000..20b54dde82a8b --- /dev/null +++ b/pkgs/development/python-modules/libdebug/default.nix @@ -0,0 +1,71 @@ +{ + lib, + buildPythonPackage, + cmake, + elfutils, + fetchFromGitHub, + libdwarf, + libiberty, + nanobind, + ninja, + pkg-config, + prompt-toolkit, + psutil, + pyelftools, + requests, + scikit-build-core, + typing-extensions, + writableTmpDirAsHomeHook, + zlib, + zstd, +}: + +buildPythonPackage (finalAttrs: { + pname = "libdebug"; + version = "0.9.0"; + + src = fetchFromGitHub { + owner = "libdebug"; + repo = "libdebug"; + tag = finalAttrs.version; + + hash = "sha256-J0ETzqAGufsZyW+XDhJCKwX1rrmDBwlAicvBb1AAiIQ="; + }; + + dontUseCmakeConfigure = true; + pyproject = true; + build-system = [ scikit-build-core ]; + + buildInputs = [ + libdwarf + elfutils + zstd + libiberty + zlib + ]; + + dependencies = [ + psutil + pyelftools + requests + prompt-toolkit + nanobind + typing-extensions + ]; + + nativeBuildInputs = [ + pkg-config + cmake + ninja + ]; + + nativeCheckInputs = [ writableTmpDirAsHomeHook ]; + + pythonImportsCheck = [ "libdebug" ]; + meta = { + homepage = "https://github.com/libdebug/libdebug"; + description = "Programmatic debugging of userland Linux binaries"; + maintainers = with lib.maintainers; [ mrsmoer ]; + license = lib.licenses.mit; + }; +}) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 85854a912bbd0..ff61fd3f8a4a9 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -8477,6 +8477,8 @@ self: super: with self; { libcst = callPackage ../development/python-modules/libcst { }; + libdebug = callPackage ../development/python-modules/libdebug { inherit (pkgs) zstd; }; + libdnf = lib.pipe pkgs.libdnf [ toPythonModule (