1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5
6 # build-system
7 poetry-core,
8 poetry-dynamic-versioning,
9
10 # dependencies
11 docutils,
12 pygments,
13 sphinx,
14
15 # tests
16 pytestCheckHook,
17}:
18
19buildPythonPackage rec {
20 pname = "sphinx-prompt";
21 version = "1.10.0";
22 pyproject = true;
23
24 src = fetchFromGitHub {
25 owner = "sbrunner";
26 repo = "sphinx-prompt";
27 tag = version;
28 hash = "sha256-JKCTn2YkdyGLvchMT9C61PxjYxuQFzt3SjCE9JvgtVc=";
29 };
30
31 postPatch = ''
32 substituteInPlace pyproject.toml --replace-fail 'version = "0.0.0"' 'version = "${version}"'
33 '';
34
35 build-system = [
36 poetry-core
37 poetry-dynamic-versioning
38 ];
39
40 dependencies = [
41 docutils
42 pygments
43 sphinx
44 ];
45
46 # upstream pins these unnecessarily in their requirements.txt
47 pythonRelaxDeps = [
48 "certifi"
49 "requests"
50 "urllib3"
51 "zipp"
52 ];
53
54 nativeCheckInputs = [ pytestCheckHook ];
55
56 meta = with lib; {
57 description = "Sphinx extension for creating unselectable prompt";
58 homepage = "https://github.com/sbrunner/sphinx-prompt";
59 license = licenses.bsd3;
60 maintainers = with maintainers; [ kaction ];
61 };
62}