From b6a68f8f42c4a1b7878d12ca0d3c187a5c880260 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 12 Aug 2022 10:49:51 +0200 Subject: [PATCH] memray: init at 1.2.0 --- pkgs/development/tools/memray/default.nix | 63 +++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 65 insertions(+) create mode 100644 pkgs/development/tools/memray/default.nix diff --git a/pkgs/development/tools/memray/default.nix b/pkgs/development/tools/memray/default.nix new file mode 100644 index 000000000000..d352622d53b4 --- /dev/null +++ b/pkgs/development/tools/memray/default.nix @@ -0,0 +1,63 @@ +{ lib +, fetchFromGitHub +, libunwind +, lz4 +, pkg-config +, python3 +}: + +python3.pkgs.buildPythonApplication rec { + pname = "memray"; + version = "1.2.0"; + format = "setuptools"; + + src = fetchFromGitHub { + owner = "bloomberg"; + repo = pname; + rev = "v${version}"; + hash = "sha256-MZOKo0VaCJM/YyvCByM5Yg7H/8onDKNSufBzr+GsFlo="; + }; + + buildInputs = [ + libunwind + lz4 + pkg-config + ] ++ (with python3.pkgs; [ + cython + ]); + + propagatedBuildInputs = with python3.pkgs; [ + jinja2 + rich + ]; + + checkInputs = with python3.pkgs; [ + pytestCheckHook + ]; + + pythonImportsCheck = [ + "memray" + ]; + + pytestFlagsArray = [ + "tests" + ]; + + disabledTests = [ + # Import issue + "test_header_allocator" + ]; + + disabledTestPaths = [ + # Very time-consuming and some tests fails (performance-related?) + "tests/integration/test_main.py" + ]; + + meta = with lib; { + description = "Memory profiler for Python"; + homepage = "https://bloomberg.github.io/memray/"; + license = licenses.asl20; + maintainers = with maintainers; [ fab ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index b0ad84a9e997..bca8e94b745f 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -20154,6 +20154,8 @@ with pkgs; deps = [ memorymapping ]; } ../development/libraries/memorymapping/setup-hook.sh; + memray = callPackage ../development/tools/memray { }; + memstream = callPackage ../development/libraries/memstream { }; memstreamHook = makeSetupHook { deps = [ memstream ];