1{ lib
2, stdenv
3, buildPythonPackage
4, fetchFromGitHub
5, poetry-core
6, python
7, lsof
8, glibcLocales
9, coreutils
10, pytestCheckHook
11 }:
12
13buildPythonPackage rec {
14 pname = "sh";
15 version = "2.0.2";
16 format = "pyproject";
17
18 src = fetchFromGitHub {
19 owner = "amoffat";
20 repo = "sh";
21 rev = "refs/tags/${version}";
22 hash = "sha256-qMYaGNEvv2z47IHFGqb64TRpN3JHycpEmhYhDjrUi6s=";
23 };
24
25 nativeBuildInputs = [
26 poetry-core
27 ];
28
29 nativeCheckInputs = [
30 pytestCheckHook
31 ];
32
33 pytestFlagsArray = [
34 "tests/test.py"
35 ];
36
37 # A test needs the HOME directory to be different from $TMPDIR.
38 preCheck = ''
39 export HOME=$(mktemp -d)
40 '';
41
42 disabledTests = [
43 # Disable tests that fail on Hydra
44 "test_no_fd_leak"
45 "test_piped_exception1"
46 "test_piped_exception2"
47 "test_unicode_path"
48 # fails to import itself after modifying the environment
49 "test_environment"
50 ] ++ lib.optionals stdenv.isDarwin [
51 # Disable tests that fail on Darwin sandbox
52 "test_background_exception"
53 "test_cwd"
54 "test_ok_code"
55 ];
56
57 meta = with lib; {
58 description = "Python subprocess interface";
59 homepage = "https://pypi.python.org/pypi/sh/";
60 license = licenses.mit;
61 maintainers = with maintainers; [ siriobalmelli ];
62 };
63}