1{ stdenv, buildPythonApplication, fetchurl, 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.15.0";
10 pname = "docker-compose";
11 name = "${pname}-${version}";
12
13 src = fetchurl {
14 url = "mirror://pypi/d/docker-compose/${name}.tar.gz";
15 sha256 = "0yg58m5kk22kihbra0h40miqnbdmkirjr9y47wns613sdikrymmg";
16 };
17
18 # lots of networking and other fails
19 doCheck = false;
20 buildInputs = [ mock pytest nose ];
21 propagatedBuildInputs = [
22 pyyaml backports_ssl_match_hostname colorama dockerpty docker
23 ipaddress jsonschema requests six texttable websocket_client
24 docopt cached-property
25 ] ++
26 stdenv.lib.optional (pythonOlder "3.4") enum34 ++
27 stdenv.lib.optional (pythonOlder "3.2") functools32;
28
29 patchPhase = ''
30 # Remove upper bound on requires, see also
31 # https://github.com/docker/compose/issues/4431
32 sed -i "s/, < .*',$/',/" setup.py
33 '';
34
35 postInstall = ''
36 mkdir -p $out/share/bash-completion/completions/
37 cp contrib/completion/bash/docker-compose $out/share/bash-completion/completions/docker-compose
38 '';
39
40 meta = with stdenv.lib; {
41 homepage = https://docs.docker.com/compose/;
42 description = "Multi-container orchestration for Docker";
43 license = licenses.asl20;
44 platforms = platforms.linux;
45 maintainers = with maintainers; [
46 jgeerds
47 ];
48 };
49}