1{
2 lib,
3 buildPythonPackage,
4 cython,
5 fetchFromGitHub,
6 fetchpatch,
7 ply,
8 pythonOlder,
9 six,
10 setuptools,
11 tornado,
12}:
13
14buildPythonPackage rec {
15 pname = "thriftpy2";
16 version = "0.5.3";
17 pyproject = true;
18
19 disabled = pythonOlder "3.6";
20
21 src = fetchFromGitHub {
22 owner = "Thriftpy";
23 repo = "thriftpy2";
24 tag = "v${version}";
25 hash = "sha256-idUKqpyRj8lq9Aq6vEEeYEawzRPOdNsySnkgfhwPtMc=";
26 };
27
28 patches = [
29 (fetchpatch {
30 url = "https://github.com/Thriftpy/thriftpy2/commit/0127d259eb4b96acb060cd158ca709f0597b148c.patch";
31 sha256 = "sha256-UBcbd8NTkPyko1s9jTjKlQ7HprwtyOZS0m66u1CPH3A=";
32 })
33 ];
34 build-system = [ setuptools ];
35
36 nativeBuildInputs = [ cython ];
37
38 dependencies = [
39 ply
40 six
41 tornado
42 ];
43
44 # Not all needed files seems to be present
45 doCheck = false;
46
47 pythonImportsCheck = [ "thriftpy2" ];
48
49 meta = with lib; {
50 description = "Python module for Apache Thrift";
51 homepage = "https://github.com/Thriftpy/thriftpy2";
52 changelog = "https://github.com/Thriftpy/thriftpy2/blob/${src.tag}/CHANGES.rst";
53 license = licenses.mit;
54 maintainers = with maintainers; [ fab ];
55 };
56}