nixpkgs mirror (for testing) github.com/NixOS/nixpkgs
nix
at r-updates 97 lines 2.3 kB view raw
1{ 2 lib, 3 buildPythonPackage, 4 fetchFromGitHub, 5 fetchpatch, 6 aenum, 7 aiohttp, 8 isodate, 9 nest-asyncio, 10 pytestCheckHook, 11 pyhamcrest, 12 pyyaml, 13 radish-bdd, 14 setuptools, 15}: 16 17buildPythonPackage rec { 18 __structuredAttrs = true; 19 20 pname = "gremlinpython"; 21 version = "3.8.0"; 22 pyproject = true; 23 24 src = fetchFromGitHub { 25 owner = "apache"; 26 repo = "tinkerpop"; 27 tag = version; 28 hash = "sha256-dslSvtne+0mobjhjZDiO7crQE3aW5wEMWw7l3LkBTV8="; 29 }; 30 31 patches = [ 32 (fetchpatch { 33 name = "remove-async_timeout.pach"; 34 url = "https://github.com/apache/tinkerpop/commit/aa327ace6feaf6ccd3eca411f3b5f6f86f8571f6.patch"; 35 excludes = [ "gremlin-python/src/main/python/setup.py" ]; 36 hash = "sha256-NyXA9vffFem1EzhdNWuoYr7JPkT5DuKyl409LFj9AvQ="; 37 }) 38 ]; 39 40 postPatch = '' 41 cd gremlin-python/src/main/python 42 43 substituteInPlace gremlin_python/__init__.py \ 44 --replace-fail ".dev1" "" 45 ''; 46 47 build-system = [ setuptools ]; 48 49 pythonRemoveDeps = [ 50 "async-timeout" 51 ]; 52 53 dependencies = [ 54 aenum 55 aiohttp 56 isodate 57 nest-asyncio 58 ]; 59 60 nativeCheckInputs = [ 61 pytestCheckHook 62 pyhamcrest 63 pyyaml 64 radish-bdd 65 ]; 66 67 # disable custom pytest report generation 68 preCheck = '' 69 export TEST_TRANSACTIONS='false' 70 ''; 71 72 # many tests expect a running tinkerpop server 73 disabledTestPaths = [ 74 "tests/driver/test_client.py" 75 "tests/driver/test_driver_remote_connection.py" 76 "tests/driver/test_driver_remote_connection_http.py" 77 "tests/driver/test_driver_remote_connection_threaded.py" 78 "tests/driver/test_web_socket_client_behavior.py" 79 "tests/process/test_dsl.py" 80 "tests/process/test_traversal.py" # dead locks 81 "tests/structure/io/test_functionalityio.py" 82 ]; 83 84 disabledTests = [ 85 "TestFunctionalGraphSONIO and test_timestamp" 86 "TestFunctionalGraphSONIO and test_datetime" 87 "TestFunctionalGraphSONIO and test_uuid" 88 ]; 89 90 meta = { 91 changelog = "https://github.com/apache/tinkerpop/blob/${src.tag}/CHANGELOG.asciidoc"; 92 description = "Gremlin-Python implements Gremlin, the graph traversal language of Apache TinkerPop, within the Python language"; 93 homepage = "https://tinkerpop.apache.org/"; 94 license = lib.licenses.asl20; 95 maintainers = with lib.maintainers; [ ris ]; 96 }; 97}