Merge pull request #307098 from r-ryantm/auto-update/cilium-cli
[NixPkgs.git] / pkgs / development / python-modules / vmprof / default.nix
blob755417803a2e51effef85efde9ce5d4149d956e9
1 { stdenv
2 , lib
3 , buildPythonPackage
4 , fetchpatch
5 , fetchPypi
6 , colorama
7 , libunwind
8 , pytz
9 , requests
10 , six
13 buildPythonPackage rec {
14   version = "0.4.17";
15   format = "setuptools";
16   pname = "vmprof";
18   src = fetchPypi {
19     inherit pname version;
20     sha256 = "sha256-ACYj7Lb/QT6deG0uuiPCj850QXhaw4XuQX6aZu8OM2U=";
21   };
23   buildInputs = [ libunwind ];
24   propagatedBuildInputs = [ colorama requests six pytz ];
26   patches = [
27     (fetchpatch {
28       name = "${pname}-python-3.10-compat.patch";
29       # https://github.com/vmprof/vmprof-python/pull/198
30       url = "https://github.com/vmprof/vmprof-python/commit/e4e99e5aa677f96d1970d88c8a439f995f429f85.patch";
31       hash = "sha256-W/c6WtVuKi7xO2sCOr71mrZTWqI86bWg5a0FeDNolh0=";
32     })
33     (fetchpatch {
34       name = "${pname}-python-3.11-compat.patch";
35       # https://github.com/vmprof/vmprof-python/pull/251 (not yet merged)
36       url = "https://github.com/matthiasdiener/vmprof-python/compare/a1a1b5264ec0b197444c0053e44f8ae4ffed9353...13c39166363b960017393b614270befe01230be8.patch";
37       excludes = [ "test_requirements.txt" ];
38       hash = "sha256-3+0PVdAf83McNd93Q9dD4HLXt39UinVU5BA8jWfT6F4=";
39     })
40   ];
42   # No tests included
43   doCheck = false;
44   pythonImportsCheck = [ "vmprof" ];
46   # Workaround build failure on -fno-common toolchains:
47   #   ld: src/vmprof_unix.o:src/vmprof_common.h:92: multiple definition of
48   #     `_PyThreadState_Current'; src/_vmprof.o:src/vmprof_common.h:92: first defined here
49   # TODO: can be removed once next release contains:
50   #   https://github.com/vmprof/vmprof-python/pull/203
51   env.NIX_CFLAGS_COMPILE = "-fcommon";
53   meta = with lib; {
54     broken = (stdenv.isLinux && stdenv.isAarch64) || stdenv.isDarwin;
55     description = "A vmprof client";
56     mainProgram = "vmprofshow";
57     license = licenses.mit;
58     homepage = "https://vmprof.readthedocs.org/";
59   };