1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
|
{ lib
, buildPythonApplication
, fetchPypi
# build inputs
, aiofiles
, aiohttp
, attrs
, certifi
, cssselect
, html5lib
, isodate
, json-home-client
, lxml
, pillow
, pygments
, requests
, result
, setuptools
, tenacity
, widlparser
}:
buildPythonApplication rec {
pname = "bikeshed";
version = "3.5.2";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-fa9z/y4Enrei8gb48MSS7vzDcttZVO7MJkdEIaDZb0I=";
};
# Relax requirements from "==" to ">="
# https://github.com/tabatkins/bikeshed/issues/2178
postPatch = ''
substituteInPlace requirements.txt \
--replace "==" ">="
'';
propagatedBuildInputs = [
aiofiles
aiohttp
attrs
certifi
cssselect
html5lib
isodate
json-home-client
lxml
pillow
pygments
requests
result
setuptools
tenacity
widlparser
];
checkPhase = ''
$out/bin/bikeshed test
'';
pythonImportsCheck = [ "bikeshed" ];
meta = with lib; {
description = "Preprocessor for anyone writing specifications that converts source files into actual specs";
longDescription = ''
Bikeshed is a pre-processor for spec documents, turning a source document
(containing only the actual spec content, plus several shorthands for linking
to terms and other things) into a final spec document, with appropriate boilerplate,
bibliography, indexes, etc all filled in. It's used on specs for CSS
and many other W3C working groups, WHATWG, the C++ standards committee, and elsewhere!
'';
homepage = "https://tabatkins.github.io/bikeshed/";
license = licenses.cc0;
maintainers = [ maintainers.kvark ];
};
}
|