summaryrefslogtreecommitdiff
path: root/gnu/packages/docker.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/docker.scm')
-rw-r--r--gnu/packages/docker.scm75
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