diff options
Diffstat (limited to 'gnu/packages/docker.scm')
-rw-r--r-- | gnu/packages/docker.scm | 75 |
1 files changed, 70 insertions, 5 deletions
diff --git a/gnu/packages/docker.scm b/gnu/packages/docker.scm index a0c90ac5aa..e6f4e9c38a 100644 --- a/gnu/packages/docker.scm +++ b/gnu/packages/docker.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2016 David Thompson <davet@gnu.org> ;;; Copyright © 2018, 2023 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> -;;; Copyright © 2019, 2020, 2021, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com> +;;; Copyright © 2019, 2020, 2021, 2023 Maxim Cournoyer <maxim@guixotic.coop> ;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de> ;;; Copyright © 2020 Katherine Cox-Buday <cox.katherine.e@gmail.com> ;;; Copyright © 2020 Jesse Dowell <jessedowell@gmail.com> @@ -11,6 +11,8 @@ ;;; Copyright © 2024 Nicolas Graves <ngraves@ngraves.fr> ;;; Copyright © 2025 Artyom V. Poptsov <poptsov.artyom@gmail.com> ;;; Copyright © 2025 Vinicius Monego <monego@posteo.net> +;;; Copyright © 2025 John Kehayias <john.kehayias@protonmail.com> +;;; Copyright © 2025 Arthur Rodrigues <arthurhdrodrigues@proton.me> ;;; ;;; This file is part of GNU Guix. ;;; @@ -52,6 +54,7 @@ #:use-module (gnu packages linux) #:use-module (gnu packages networking) #:use-module (gnu packages pkg-config) + #:use-module (gnu packages prometheus) #:use-module (gnu packages python) #:use-module (gnu packages python-build) #:use-module (gnu packages python-crypto) @@ -64,6 +67,32 @@ ;; of several associated packages (docker-libnetwork and go-sctp). (define %docker-version "20.10.27") +(define-public go-github-com-docker-go-metrics + (package + (name "go-github-com-docker-go-metrics") + (version "0.0.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/docker/go-metrics") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1b6f1889chmwlsgrqxylnks2jic16j2dqhsdd1dvaklk48ky95ga")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/docker/go-metrics")) + (propagated-inputs (list go-github-com-prometheus-client-golang)) + (home-page "https://github.com/docker/go-metrics") + (synopsis "Go library for metrics collection from Docker projects") + (description + "This package is a small wrapper around the Prometheus Go client to help +enforce convention and best practices for metrics collection in Docker +projects.") + (license (list license:asl2.0 license:cc-by-sa4.0)))) + (define-public python-docker (package (name "python-docker") @@ -103,6 +132,33 @@ management tool.") (license license:asl2.0))) +;; Needed for old v1 of docker-compose; remove once Docker is updated to a +;; more recent version which has the command "docker compose" built-in. +(define-public python-docker-5 + (package + (inherit python-docker) + (name "python-docker") + (version "5.0.3") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/docker/docker-py") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0m5ifgxdhcf7yci0ncgnxjas879sksrf3im0fahs573g268farz9")))) + (build-system python-build-system) + ;; Integration tests need a running Docker daemon. + (arguments (list #:tests? #f)) + (native-inputs '()) + (inputs (modify-inputs (package-inputs python-docker) + (prepend python-six) + (delete "python-urllib3"))) + (propagated-inputs + (modify-inputs (package-propagated-inputs python-docker) + (prepend python-docker-pycreds python-urllib3-1.26))))) + (define-public python-dockerpty (package (name "python-dockerpty") @@ -139,16 +195,25 @@ client.") "1dq9kfak61xx7chjrzmkvbw9mvj9008k7g8q7mwi4x133p9dk32c")))) (build-system python-build-system) ;; TODO: Tests require running Docker daemon. - (arguments '(#:tests? #f)) + (arguments + (list + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'fix-pyyaml + (lambda _ + (substitute* "setup.py" + ((", < 6") + ""))))))) (inputs (list python-cached-property python-distro - python-docker + python-docker-5 python-dockerpty python-docopt - python-dotenv + python-dotenv-0.13.0 python-jsonschema-3 - python-pyyaml-5 + python-pyyaml python-requests python-six python-texttable |