biglybt: 3.5.0.0 -> 3.6.0.0
[NixPkgs.git] / pkgs / development / tools / py-spy / default.nix
blob8ac80ee1dade9cd3fa0fdceb626ce6a8846eb99d
1 { lib
2 , stdenv
3 , darwin
4 , fetchFromGitHub
5 , libunwind
6 , python3
7 , rustPlatform
8 }:
10 rustPlatform.buildRustPackage rec {
11   pname = "py-spy";
12   version = "0.3.14";
14   src = fetchFromGitHub {
15     owner = "benfred";
16     repo = "py-spy";
17     rev = "refs/tags/v${version}";
18     hash = "sha256-NciyzKiDKIMeuHhTjzmHIc3dYW4AniuCNjZugm4hMss=";
19   };
21   cargoHash = "sha256-nm+44YWSJOOg9a9d8b3APXW50ThV3iA2C/QsJMttscE=";
23   # error: linker `arm-linux-gnueabihf-gcc` not found
24   postPatch = ''
25     rm .cargo/config
26   '';
28   nativeBuildInputs = [
29     rustPlatform.bindgenHook
30   ];
32   nativeCheckInputs = [
33     python3
34   ];
36   buildInputs = lib.optionals (stdenv.isDarwin && stdenv.isx86_64) [
37     # Pull a header that contains a definition of proc_pid_rusage().
38     darwin.apple_sdk_11_0.Libsystem
39   ];
41   env.NIX_CFLAGS_COMPILE = "-L${libunwind}/lib";
43   checkFlags = [
44     # thread 'python_data_access::tests::test_copy_string' panicked at 'called `Result::unwrap()` on an `Err`
45     "--skip=python_data_access::tests::test_copy_string"
46   ] ++ lib.optionals (stdenv.hostPlatform.system == "x86_64-linux") [
47     # panicked at 'called `Result::unwrap()` on an `Err` value: failed to get os threadid
48     "--skip=test_thread_reuse"
49   ];
51   meta = with lib; {
52     description = "Sampling profiler for Python programs";
53     mainProgram = "py-spy";
54     homepage = "https://github.com/benfred/py-spy";
55     changelog = "https://github.com/benfred/py-spy/releases/tag/v${version}";
56     license = licenses.mit;
57     maintainers = with maintainers; [ lnl7 ];
58   };