1{
2 buildPythonPackage,
3 fetchFromGitHub,
4 lib,
5 mock,
6 packaging,
7 ply,
8 pytestCheckHook,
9 pythonOlder,
10 setuptools,
11 six,
12}:
13
14buildPythonPackage rec {
15 pname = "stone";
16 version = "3.3.8";
17 pyproject = true;
18
19 disabled = pythonOlder "3.7";
20
21 src = fetchFromGitHub {
22 owner = "dropbox";
23 repo = "stone";
24 tag = "v${version}";
25 hash = "sha256-W+wRVWPaAzhdHMVE54GEJC/YJqYZVJhwFDWWSMKUPdw=";
26 };
27
28 postPatch = ''
29 substituteInPlace setup.py \
30 --replace-fail "'pytest-runner == 5.3.2'," ""
31 '';
32
33 build-system = [ setuptools ];
34
35 dependencies = [
36 ply
37 six
38 packaging
39 ];
40
41 nativeCheckInputs = [
42 pytestCheckHook
43 mock
44 ];
45
46 pythonImportsCheck = [ "stone" ];
47
48 meta = with lib; {
49 description = "Official Api Spec Language for Dropbox";
50 homepage = "https://github.com/dropbox/stone";
51 changelog = "https://github.com/dropbox/stone/releases/tag/v${version}";
52 license = licenses.mit;
53 maintainers = [ ];
54 mainProgram = "stone";
55 };
56}