btrbk: add mainProgram (#356350)
[NixPkgs.git] / pkgs / development / python-modules / mirakuru / default.nix
blob58c74cd3cad1fc10eced60f13d19e725fad02292
2   stdenv,
3   lib,
4   buildPythonPackage,
5   fetchFromGitHub,
6   pythonOlder,
7   pytestCheckHook,
8   setuptools,
9   psutil,
10   netcat,
11   ps,
12   python-daemon,
15 buildPythonPackage rec {
16   pname = "mirakuru";
17   version = "2.5.3";
18   format = "pyproject";
20   disabled = pythonOlder "3.9";
22   src = fetchFromGitHub {
23     owner = "ClearcodeHQ";
24     repo = "mirakuru";
25     rev = "refs/tags/v${version}";
26     hash = "sha256-blk4Oclb3+Cj3RH7BhzacfoPFDBIP/zgv4Ct7fawGnQ=";
27   };
29   patches = [
30     # https://github.com/ClearcodeHQ/mirakuru/pull/810
31     ./tmpdir.patch
32   ];
34   nativeBuildInputs = [ setuptools ];
36   propagatedBuildInputs = [ psutil ];
38   nativeCheckInputs = [
39     netcat.nc
40     ps
41     python-daemon
42     pytestCheckHook
43   ];
44   pythonImportsCheck = [ "mirakuru" ];
46   # Necessary for the tests to pass on Darwin with sandbox enabled.
47   __darwinAllowLocalNetworking = true;
49   # Those are failing in the darwin sandbox with:
50   # > ps: %mem: requires entitlement
51   # > ps: vsz: requires entitlement
52   # > ps: rss: requires entitlement
53   # > ps: time: requires entitlement
54   disabledTests = lib.optionals stdenv.hostPlatform.isDarwin [
55     "test_forgotten_stop"
56     "test_mirakuru_cleanup"
57     "test_daemons_killing"
58   ];
60   meta = with lib; {
61     homepage = "https://pypi.org/project/mirakuru";
62     description = "Process orchestration tool designed for functional and integration tests";
63     changelog = "https://github.com/ClearcodeHQ/mirakuru/blob/v${version}/CHANGES.rst";
64     license = licenses.lgpl3Plus;
65     maintainers = with maintainers; [ bcdarwin ];
66   };