diff --git a/pkgs/development/python-modules/pylddwrap/default.nix b/pkgs/development/python-modules/pylddwrap/default.nix new file mode 100644 index 000000000000..27bac5c1e3a0 --- /dev/null +++ b/pkgs/development/python-modules/pylddwrap/default.nix @@ -0,0 +1,51 @@ +{ lib +, buildPythonPackage +, coreutils +, fetchFromGitHub +, icontract +, pytestCheckHook +, pythonOlder +, typing-extensions +}: + +buildPythonPackage rec { + pname = "pylddwrap"; + version = "1.2.2"; + format = "setuptools"; + disabled = pythonOlder "3.6"; + + src = fetchFromGitHub { + owner = "Parquery"; + repo = pname; + rev = "v${version}"; + hash = "sha256-Gm82VRu8GP52BohQzpMUJfh6q2tiUA2GJWOcG7ymGgg="; + }; + + postPatch = '' + substituteInPlace lddwrap/__init__.py \ + --replace '/usr/bin/env' '${coreutils}/bin/env' + ''; + + # Upstream adds some plain text files direct to the package's root directory + # https://github.com/Parquery/pylddwrap/blob/master/setup.py#L71 + postInstall = '' + rm -f $out/{LICENSE,README.rst,requirements.txt} + ''; + + propagatedBuildInputs = [ + icontract + typing-extensions + ]; + + checkInputs = [ pytestCheckHook ]; + + pythonImportsCheck = [ "lddwrap" ]; + + meta = with lib; { + description = "Python wrapper around ldd *nix utility to determine shared libraries of a program"; + homepage = "https://github.com/Parquery/pylddwrap"; + changelog = "https://github.com/Parquery/pylddwrap/blob/v${version}/CHANGELOG.rst"; + license = licenses.mit; + maintainers = with maintainers; [ thiagokokada ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index c4714ffe9a52..001b4c8b636c 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -6947,6 +6947,8 @@ self: super: with self; { pykrakenapi = callPackage ../development/python-modules/pykrakenapi { }; + pylddwrap = callPackage ../development/python-modules/pylddwrap { }; + pynndescent = callPackage ../development/python-modules/pynndescent { }; pynobo = callPackage ../development/python-modules/pynobo { };