depot/third_party/nixpkgs/pkgs/development/python-modules/gipc/default.nix
Default email 5c370c0b2a Project import generated by Copybara.
GitOrigin-RevId: 33d1e753c82ffc557b4a585c77de43d4c922ebb5
2024-05-15 17:35:15 +02:00

71 lines
1.7 KiB
Nix

{
lib,
buildPythonPackage,
fetchFromGitHub,
gevent,
pytestCheckHook,
pythonOlder,
setuptools,
}:
buildPythonPackage rec {
pname = "gipc";
version = "1.6.0";
pyproject = true;
disabled = pythonOlder "3.8";
src = fetchFromGitHub {
owner = "jgehrcke";
repo = "gipc";
rev = "refs/tags/${version}";
hash = "sha256-eYE7A1VDJ0NSshvdJKxPwGyVdW6BnyWoRSR1i1iTr8Y=";
};
postPatch = ''
substituteInPlace setup.py \
--replace-fail "gevent>=1.5,<=23.9.1" "gevent>=1.5"
'';
build-system = [ setuptools ];
dependencies = [ gevent ];
nativeCheckInputs = [ pytestCheckHook ];
pythonImportsCheck = [ "gipc" ];
disabledTests = [
# AttributeError
"test_all_handles_length"
"test_child"
"test_closeread"
"test_closewrite"
"test_early_readchild_exit"
"test_handlecount"
"test_handler"
"test_onewriter"
"test_readclose"
"test_singlemsg"
"test_twochannels_singlemsg"
"test_twoclose"
"test_twowriters"
"test_write_closewrite_read"
];
meta = with lib; {
description = "gevent-cooperative child processes and IPC";
longDescription = ''
Usage of Python's multiprocessing package in a gevent-powered
application may raise problems and most likely breaks the application
in various subtle ways. gipc (pronunciation "gipsy") is developed with
the motivation to solve many of these issues transparently. With gipc,
multiprocessing. Process-based child processes can safely be created
anywhere within your gevent-powered application.
'';
homepage = "http://gehrcke.de/gipc";
changelog = "https://github.com/jgehrcke/gipc/blob/${version}/CHANGELOG.rst";
license = licenses.mit;
maintainers = with maintainers; [ ];
};
}