Merge pull request #307098 from r-ryantm/auto-update/cilium-cli
[NixPkgs.git] / pkgs / development / python-modules / pylddwrap / default.nix
blobdc0ca98f186c28a2e174b82a0a38b3d3e9429305
1 { lib
2 , stdenv
3 , buildPythonPackage
4 , fetchFromGitHub
5 , icontract
6 , pytestCheckHook
7 , pythonOlder
8 , substituteAll
9 , typing-extensions
12 buildPythonPackage rec {
13   pname = "pylddwrap";
14   version = "1.2.2";
15   format = "setuptools";
16   disabled = pythonOlder "3.6";
18   src = fetchFromGitHub {
19     owner = "Parquery";
20     repo = pname;
21     rev = "v${version}";
22     hash = "sha256-Gm82VRu8GP52BohQzpMUJfh6q2tiUA2GJWOcG7ymGgg=";
23   };
25   patches = [
26     (substituteAll {
27       src = ./replace_env_with_placeholder.patch;
28       ldd_bin = "${stdenv.cc.bintools.libc_bin}/bin/ldd";
29     })
30   ];
32   # Upstream adds some plain text files direct to the package's root directory
33   # https://github.com/Parquery/pylddwrap/blob/master/setup.py#L71
34   postInstall = ''
35     rm -f $out/{LICENSE,README.rst,requirements.txt}
36   '';
38   propagatedBuildInputs = [
39     icontract
40     typing-extensions
41   ];
43   nativeCheckInputs = [ pytestCheckHook ];
45   # uses mocked ldd from PATH, but we are patching the source to not look at PATH
46   disabledTests = [
47     "TestAgainstMockLdd"
48     "TestMain"
49   ];
51   pythonImportsCheck = [ "lddwrap" ];
53   meta = with lib; {
54     description = "Python wrapper around ldd *nix utility to determine shared libraries of a program";
55     mainProgram = "pylddwrap";
56     homepage = "https://github.com/Parquery/pylddwrap";
57     changelog = "https://github.com/Parquery/pylddwrap/blob/v${version}/CHANGELOG.rst";
58     license = licenses.mit;
59     maintainers = with maintainers; [ thiagokokada ];
60     # should work in any Unix platform that uses glibc, except for darwin
61     # since it has its own tool (`otool`)
62     badPlatforms = platforms.darwin;
63   };