Commit | Line | Data |
---|---|---|
d020bfc2 DT |
1 | ;;; GNU Guix --- Functional package management for GNU |
2 | ;;; Copyright © 2016 David Thompson <davet@gnu.org> | |
42531fd3 | 3 | ;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il> |
d020bfc2 DT |
4 | ;;; |
5 | ;;; This file is part of GNU Guix. | |
6 | ;;; | |
7 | ;;; GNU Guix is free software; you can redistribute it and/or modify it | |
8 | ;;; under the terms of the GNU General Public License as published by | |
9 | ;;; the Free Software Foundation; either version 3 of the License, or (at | |
10 | ;;; your option) any later version. | |
11 | ;;; | |
12 | ;;; GNU Guix is distributed in the hope that it will be useful, but | |
13 | ;;; WITHOUT ANY WARRANTY; without even the implied warranty of | |
14 | ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
15 | ;;; GNU General Public License for more details. | |
16 | ;;; | |
17 | ;;; You should have received a copy of the GNU General Public License | |
18 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | |
19 | ||
20 | (define-module (gnu packages docker) | |
21 | #:use-module ((guix licenses) #:prefix license:) | |
22 | #:use-module (gnu packages) | |
23 | #:use-module (guix packages) | |
24 | #:use-module (guix download) | |
25 | #:use-module (guix git-download) | |
26 | #:use-module (guix build-system python) | |
27 | #:use-module (guix utils) | |
42531fd3 | 28 | #:use-module (gnu packages check) |
1b2f753d LC |
29 | #:use-module (gnu packages python) |
30 | #:use-module (gnu packages python-web)) | |
d020bfc2 DT |
31 | |
32 | (define-public python-docker-py | |
33 | (package | |
34 | (name "python-docker-py") | |
b24da117 | 35 | (version "1.10.6") |
d020bfc2 DT |
36 | (source |
37 | (origin | |
38 | (method url-fetch) | |
39 | (uri (pypi-uri "docker-py" version)) | |
40 | (sha256 | |
41 | (base32 | |
b24da117 | 42 | "05f49f6hnl7npmi7kigg0ibqk8s3fhzx1ivvz1kqvlv4ay3paajc")))) |
d020bfc2 DT |
43 | (build-system python-build-system) |
44 | ;; TODO: Tests require a running Docker daemon. | |
45 | (arguments '(#:tests? #f)) | |
46 | (inputs | |
47 | `(("python-requests" ,python-requests) | |
d020bfc2 DT |
48 | ("python-six" ,python-six) |
49 | ("python-websocket-client" ,python-websocket-client))) | |
50 | (home-page "https://github.com/docker/docker-py/") | |
51 | (synopsis "Python client for Docker") | |
52 | (description "Docker-Py is a Python client for the Docker container | |
53 | management tool.") | |
54 | (license license:asl2.0))) | |
b42c9c81 DT |
55 | |
56 | (define-public python-dockerpty | |
57 | (package | |
58 | (name "python-dockerpty") | |
59 | (version "0.3.4") | |
60 | (source | |
61 | (origin | |
62 | (method url-fetch) | |
63 | (uri (pypi-uri "dockerpty" version)) | |
64 | (sha256 | |
65 | (base32 | |
66 | "0za6rr349641wv76ww9l3zcic2xyxrirlxpnzl4296h897648455")))) | |
67 | (build-system python-build-system) | |
68 | (native-inputs | |
69 | `(("python-six" ,python-six))) | |
70 | (home-page "https://github.com/d11wtq/dockerpty") | |
71 | (synopsis "Python library to use the pseudo-TTY of a Docker container") | |
72 | (description "Docker PTY provides the functionality needed to operate the | |
73 | pseudo-terminal (PTY) allocated to a Docker container using the Python | |
74 | client.") | |
75 | (license license:asl2.0))) | |
df1f1d69 DT |
76 | |
77 | (define-public docker-compose | |
78 | (package | |
79 | (name "docker-compose") | |
80 | (version "1.5.2") | |
81 | (source | |
82 | (origin | |
83 | (method url-fetch) | |
84 | (uri (pypi-uri "docker-compose" version)) | |
85 | (sha256 | |
86 | (base32 | |
87 | "0ksg7hm2yvc977968dixxisrhcmvskzpcx3pz0v1kazrdqp7xakr")))) | |
88 | (build-system python-build-system) | |
89 | ;; TODO: Tests require running Docker daemon. | |
90 | (arguments '(#:tests? #f)) | |
91 | (inputs | |
92 | `(("python-docker-py" ,python-docker-py) | |
93 | ("python-dockerpty" ,python-dockerpty) | |
94 | ("python-docopt" ,python-docopt) | |
df1f1d69 DT |
95 | ("python-jsonschema" ,python-jsonschema) |
96 | ("python-pyyaml" ,python-pyyaml) | |
97 | ("python-requests" ,python-requests-2.7) | |
df1f1d69 DT |
98 | ("python-six" ,python-six) |
99 | ("python-texttable" ,python-texttable) | |
100 | ("python-websocket-client" ,python-websocket-client))) | |
101 | (home-page "https://www.docker.com/") | |
102 | (synopsis "Multi-container orchestration for Docker") | |
103 | (description "Docker Compose is a tool for defining and running | |
104 | multi-container Docker applications. A Compose file is used to configure an | |
105 | application’s services. Then, using a single command, the containers are | |
106 | created and all the services are started as specified in the configuration.") | |
107 | (license license:asl2.0))) | |
42531fd3 EF |
108 | |
109 | (define-public python-docker-pycreds | |
110 | (package | |
111 | (name "python-docker-pycreds") | |
112 | (version "0.3.0") | |
113 | (source | |
114 | (origin | |
115 | (method url-fetch) | |
116 | (uri (pypi-uri "docker-pycreds" version)) | |
117 | (sha256 | |
118 | (base32 | |
119 | "1zxvam1q22qb0jf48553nnncnfrcp88ag4xa0qmq6vr0imn9a3lb")))) | |
120 | (build-system python-build-system) | |
121 | (arguments | |
122 | `(#:phases | |
123 | (modify-phases %standard-phases | |
124 | (add-after 'unpack 'fix-versioning | |
125 | (lambda _ | |
126 | (substitute* "test-requirements.txt" | |
127 | (("3.0.2") ,(package-version python-pytest)) | |
128 | (("2.3.1") ,(package-version python-pytest-cov)) | |
129 | (("2.4.1") ,(package-version python-flake8))) | |
130 | #t))))) | |
131 | (native-inputs | |
132 | `(("python-flake8" ,python-flake8) | |
133 | ("python-pytest" ,python-pytest) | |
134 | ("python-pytest-cov" ,python-pytest-cov))) | |
135 | (propagated-inputs | |
136 | `(("python-six" ,python-six))) | |
137 | (home-page "https://github.com/shin-/dockerpy-creds") | |
138 | (synopsis | |
139 | "Python bindings for the Docker credentials store API") | |
140 | (description | |
141 | "Docker-Pycreds contains the Python bindings for the docker credentials | |
142 | store API. It allows programmers to interact with a Docker registry using | |
143 | Python without keeping their credentials in a Docker configuration file.") | |
144 | (license license:asl2.0))) |