1{ stdenv, buildPythonApplication, fetchPypi, pythonOlder
2, mock, pytest, nose
3, pyyaml, backports_ssl_match_hostname, colorama, docopt
4, dockerpty, docker, ipaddress, jsonschema, requests
5, six, texttable, websocket_client, cached-property
6, enum34, functools32,
7}:
8buildPythonApplication rec {
9 version = "1.19.0";
10 pname = "docker-compose";
11
12 src = fetchPypi {
13 inherit pname version;
14 sha256 = "f227e0e4b7d88aaf8f892b03a2068942c56ea16bcf2a0fb9fe2a3a071c5fef0b";
15 };
16
17 # lots of networking and other fails
18 doCheck = false;
19 checkInputs = [ mock pytest nose ];
20 propagatedBuildInputs = [
21 pyyaml backports_ssl_match_hostname colorama dockerpty docker
22 ipaddress jsonschema requests six texttable websocket_client
23 docopt cached-property
24 ] ++
25 stdenv.lib.optional (pythonOlder "3.4") enum34 ++
26 stdenv.lib.optional (pythonOlder "3.2") functools32;
27
28 postPatch = ''
29 # Remove upper bound on requires, see also
30 # https://github.com/docker/compose/issues/4431
31 sed -i "s/, < .*',$/',/" setup.py
32 '';
33
34 postInstall = ''
35 mkdir -p $out/share/bash-completion/completions/
36 cp contrib/completion/bash/docker-compose $out/share/bash-completion/completions/docker-compose
37 '';
38
39 meta = with stdenv.lib; {
40 homepage = https://docs.docker.com/compose/;
41 description = "Multi-container orchestration for Docker";
42 license = licenses.asl20;
43 maintainers = with maintainers; [
44 jgeerds
45 ];
46 };
47}