144 lines
		
	
	
	
		
			5.2 KiB
		
	
	
	
		
			Scheme
		
	
	
	
	
	
			
		
		
	
	
			144 lines
		
	
	
	
		
			5.2 KiB
		
	
	
	
		
			Scheme
		
	
	
	
	
	
| ;;; GNU Guix --- Functional package management for GNU
 | ||
| ;;; Copyright © 2016 David Thompson <davet@gnu.org>
 | ||
| ;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il>
 | ||
| ;;;
 | ||
| ;;; This file is part of GNU Guix.
 | ||
| ;;;
 | ||
| ;;; GNU Guix is free software; you can redistribute it and/or modify it
 | ||
| ;;; under the terms of the GNU General Public License as published by
 | ||
| ;;; the Free Software Foundation; either version 3 of the License, or (at
 | ||
| ;;; your option) any later version.
 | ||
| ;;;
 | ||
| ;;; GNU Guix is distributed in the hope that it will be useful, but
 | ||
| ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
 | ||
| ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | ||
| ;;; GNU General Public License for more details.
 | ||
| ;;;
 | ||
| ;;; You should have received a copy of the GNU General Public License
 | ||
| ;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
 | ||
| 
 | ||
| (define-module (gnu packages docker)
 | ||
|   #:use-module ((guix licenses) #:prefix license:)
 | ||
|   #:use-module (gnu packages)
 | ||
|   #:use-module (guix packages)
 | ||
|   #:use-module (guix download)
 | ||
|   #:use-module (guix git-download)
 | ||
|   #:use-module (guix build-system python)
 | ||
|   #:use-module (guix utils)
 | ||
|   #:use-module (gnu packages check)
 | ||
|   #:use-module (gnu packages python)
 | ||
|   #:use-module (gnu packages python-web))
 | ||
| 
 | ||
| (define-public python-docker-py
 | ||
|   (package
 | ||
|     (name "python-docker-py")
 | ||
|     (version "1.10.6")
 | ||
|     (source
 | ||
|      (origin
 | ||
|        (method url-fetch)
 | ||
|        (uri (pypi-uri "docker-py" version))
 | ||
|        (sha256
 | ||
|         (base32
 | ||
|          "05f49f6hnl7npmi7kigg0ibqk8s3fhzx1ivvz1kqvlv4ay3paajc"))))
 | ||
|     (build-system python-build-system)
 | ||
|     ;; TODO: Tests require a running Docker daemon.
 | ||
|     (arguments '(#:tests? #f))
 | ||
|     (inputs
 | ||
|      `(("python-requests" ,python-requests)
 | ||
|        ("python-six" ,python-six)
 | ||
|        ("python-websocket-client" ,python-websocket-client)))
 | ||
|     (home-page "https://github.com/docker/docker-py/")
 | ||
|     (synopsis "Python client for Docker")
 | ||
|     (description "Docker-Py is a Python client for the Docker container
 | ||
| management tool.")
 | ||
|     (license license:asl2.0)))
 | ||
| 
 | ||
| (define-public python-dockerpty
 | ||
|   (package
 | ||
|     (name "python-dockerpty")
 | ||
|     (version "0.3.4")
 | ||
|     (source
 | ||
|      (origin
 | ||
|        (method url-fetch)
 | ||
|        (uri (pypi-uri "dockerpty" version))
 | ||
|        (sha256
 | ||
|         (base32
 | ||
|          "0za6rr349641wv76ww9l3zcic2xyxrirlxpnzl4296h897648455"))))
 | ||
|     (build-system python-build-system)
 | ||
|     (native-inputs
 | ||
|      `(("python-six" ,python-six)))
 | ||
|     (home-page "https://github.com/d11wtq/dockerpty")
 | ||
|     (synopsis "Python library to use the pseudo-TTY of a Docker container")
 | ||
|     (description "Docker PTY provides the functionality needed to operate the
 | ||
| pseudo-terminal (PTY) allocated to a Docker container using the Python
 | ||
| client.")
 | ||
|     (license license:asl2.0)))
 | ||
| 
 | ||
| (define-public docker-compose
 | ||
|   (package
 | ||
|     (name "docker-compose")
 | ||
|     (version "1.5.2")
 | ||
|     (source
 | ||
|      (origin
 | ||
|        (method url-fetch)
 | ||
|        (uri (pypi-uri "docker-compose" version))
 | ||
|        (sha256
 | ||
|         (base32
 | ||
|          "0ksg7hm2yvc977968dixxisrhcmvskzpcx3pz0v1kazrdqp7xakr"))))
 | ||
|     (build-system python-build-system)
 | ||
|     ;; TODO: Tests require running Docker daemon.
 | ||
|     (arguments '(#:tests? #f))
 | ||
|     (inputs
 | ||
|      `(("python-docker-py" ,python-docker-py)
 | ||
|        ("python-dockerpty" ,python-dockerpty)
 | ||
|        ("python-docopt" ,python-docopt)
 | ||
|        ("python-jsonschema" ,python-jsonschema)
 | ||
|        ("python-pyyaml" ,python-pyyaml)
 | ||
|        ("python-requests" ,python-requests-2.7)
 | ||
|        ("python-six" ,python-six)
 | ||
|        ("python-texttable" ,python-texttable)
 | ||
|        ("python-websocket-client" ,python-websocket-client)))
 | ||
|     (home-page "https://www.docker.com/")
 | ||
|     (synopsis "Multi-container orchestration for Docker")
 | ||
|     (description "Docker Compose is a tool for defining and running
 | ||
| multi-container Docker applications.  A Compose file is used to configure an
 | ||
| application’s services.  Then, using a single command, the containers are
 | ||
| created and all the services are started as specified in the configuration.")
 | ||
|     (license license:asl2.0)))
 | ||
| 
 | ||
| (define-public python-docker-pycreds
 | ||
|   (package
 | ||
|     (name "python-docker-pycreds")
 | ||
|     (version "0.3.0")
 | ||
|     (source
 | ||
|       (origin
 | ||
|         (method url-fetch)
 | ||
|         (uri (pypi-uri "docker-pycreds" version))
 | ||
|         (sha256
 | ||
|          (base32
 | ||
|           "1zxvam1q22qb0jf48553nnncnfrcp88ag4xa0qmq6vr0imn9a3lb"))))
 | ||
|     (build-system python-build-system)
 | ||
|     (arguments
 | ||
|      `(#:phases
 | ||
|        (modify-phases %standard-phases
 | ||
|          (add-after 'unpack 'fix-versioning
 | ||
|            (lambda _
 | ||
|              (substitute* "test-requirements.txt"
 | ||
|                (("3.0.2") ,(package-version python-pytest))
 | ||
|                (("2.3.1") ,(package-version python-pytest-cov))
 | ||
|                (("2.4.1") ,(package-version python-flake8)))
 | ||
|              #t)))))
 | ||
|     (native-inputs
 | ||
|      `(("python-flake8" ,python-flake8)
 | ||
|        ("python-pytest" ,python-pytest)
 | ||
|        ("python-pytest-cov" ,python-pytest-cov)))
 | ||
|     (propagated-inputs
 | ||
|      `(("python-six" ,python-six)))
 | ||
|     (home-page "https://github.com/shin-/dockerpy-creds")
 | ||
|     (synopsis
 | ||
|      "Python bindings for the Docker credentials store API")
 | ||
|     (description
 | ||
|      "Docker-Pycreds contains the Python bindings for the docker credentials
 | ||
| store API.  It allows programmers to interact with a Docker registry using
 | ||
| Python without keeping their credentials in a Docker configuration file.")
 | ||
|     (license license:asl2.0)))
 |