lol
1{ lib
2, python3
3}:
4
5with python3.pkgs;
6
7buildPythonApplication rec {
8 pname = "bkyml";
9 version = "1.4.3";
10
11 src = fetchPypi {
12 inherit pname version;
13 sha256 = "01kpx35572mp4xl2fjyvfk39jfgfjcyzymbifk76891kaqkjb7r9";
14 };
15
16 # The pyscaffold is not a runtime dependency but just a python project bootstrapping tool. Thus,
17 # instead of implement this package in nix we remove a dependency on it and fix up the version
18 # of the package, that has been affected by the pyscaffold package dependency removal.
19 postPatch = ''
20 substituteInPlace setup.py \
21 --replace "['pyscaffold>=3.0a0,<3.1a0'] + " "" \
22 --replace "use_pyscaffold=True" ""
23 substituteInPlace src/bkyml/skeleton.py --replace \
24 "from bkyml import __version__" \
25 "__version__ = \"${version}\""
26 '';
27
28 # Don't run tests because they are broken when run within
29 # buildPythonApplication for reasons I don't quite understand.
30 doCheck = false;
31
32 pythonImportsCheck = [ "bkyml" ];
33
34 propagatedBuildInputs = [
35 ruamel-yaml
36 setuptools
37 ];
38
39 meta = with lib; {
40 homepage = "https://github.com/joscha/bkyml";
41 description = "A CLI tool to generate a pipeline.yaml file for Buildkite on the fly.";
42 license = licenses.mit;
43 maintainers = with maintainers; [ olebedev ];
44 };
45}