summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Pipping <sping@gentoo.org>2024-01-08 21:48:55 +0100
committerSebastian Pipping <sping@gentoo.org>2024-01-08 21:50:44 +0100
commit324e463706beef19676c23709bccbfc92660999c (patch)
treeb90cb251aeb94a077e6d64eae0ede69e3999f5aa /app-containers/docker-compose
parentkde-frameworks/purpose: 5.247.0 does not have IUSE=kaccounts yet (diff)
downloadgentoo-324e463706beef19676c23709bccbfc92660999c.tar.gz
gentoo-324e463706beef19676c23709bccbfc92660999c.tar.bz2
gentoo-324e463706beef19676c23709bccbfc92660999c.zip
app-containers/docker-compose: Make 1.x.x support >=dev-python/docker-7
Closes: https://bugs.gentoo.org/920631 Signed-off-by: Sebastian Pipping <sping@gentoo.org>
Diffstat (limited to 'app-containers/docker-compose')
-rw-r--r--app-containers/docker-compose/docker-compose-1.29.2-r6.ebuild80
-rw-r--r--app-containers/docker-compose/files/docker-compose-1.29.2-docker-7.patch36
2 files changed, 116 insertions, 0 deletions
diff --git a/app-containers/docker-compose/docker-compose-1.29.2-r6.ebuild b/app-containers/docker-compose/docker-compose-1.29.2-r6.ebuild
new file mode 100644
index 000000000000..091c48dd7db2
--- /dev/null
+++ b/app-containers/docker-compose/docker-compose-1.29.2-r6.ebuild
@@ -0,0 +1,80 @@
+# Copyright 2018-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9..11} )
+
+inherit bash-completion-r1 distutils-r1
+
+MY_PV=${PV/_/-}
+DESCRIPTION="Multi-container orchestration for Docker"
+HOMEPAGE="https://github.com/docker/compose"
+SRC_URI="https://github.com/docker/compose/archive/${MY_PV}.tar.gz -> ${P}.gh.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+RDEPEND="
+ >=dev-python/distro-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/docker-7[${PYTHON_USEDEP}]
+ >=dev-python/dockerpty-0.4.1[${PYTHON_USEDEP}]
+ >=dev-python/docopt-0.6.1[${PYTHON_USEDEP}]
+ >=dev-python/python-dotenv-0.13.0[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-2.5.1[${PYTHON_USEDEP}]
+ dev-python/paramiko[${PYTHON_USEDEP}]
+ >=dev-python/PySocks-1.6.0[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-3.10[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.20.0[${PYTHON_USEDEP}]
+ >=dev-python/six-1.3.0[${PYTHON_USEDEP}]
+ >=dev-python/texttable-0.9.0[${PYTHON_USEDEP}]
+ >=dev-python/websocket-client-0.32.0[${PYTHON_USEDEP}]"
+
+DEPEND="${RDEPEND}
+ test? (
+ >=dev-python/pytest-5[${PYTHON_USEDEP}]
+ >=dev-python/ddt-1.2.2[${PYTHON_USEDEP}]
+ dev-python/py[${PYTHON_USEDEP}]
+ )"
+
+S="${WORKDIR}/compose-${MY_PV}"
+
+EPYTEST_DESELECT=(
+ # These are not ready for >=dev-python/docker-7
+ tests/unit/cli/docker_client_test.py::TLSConfigTestCase::
+)
+
+distutils_enable_tests pytest
+
+PATCHES=(
+ # Bug #679968 -- https://bugs.gentoo.org/679968
+ # Bug #681002 -- https://bugs.gentoo.org/681002
+ "${FILESDIR}"/${PN}-1.29.0-setup-py.patch
+ "${FILESDIR}"/${P}-tests-unit-cli-test-py.patch
+ # Bug #920631 -- https://bugs.gentoo.org/920631
+ "${FILESDIR}"/${P}-docker-7.patch
+)
+
+DOCS=( CHANGELOG.md README.md )
+
+src_prepare() {
+ # Address QA issue "docker-compose.exe: missing alias (symlink) for completed command."
+ sed 's,^\(complete.*\) docker-compose\.exe\(.*\),\1\2,' -i contrib/completion/bash/docker-compose || die
+
+ default
+}
+
+python_test() {
+ epytest tests/unit/
+}
+
+python_install_all() {
+ newbashcomp contrib/completion/bash/docker-compose ${PN}
+
+ insinto /usr/share/zsh/site-functions
+ doins contrib/completion/zsh/*
+
+ distutils-r1_python_install_all
+}
diff --git a/app-containers/docker-compose/files/docker-compose-1.29.2-docker-7.patch b/app-containers/docker-compose/files/docker-compose-1.29.2-docker-7.patch
new file mode 100644
index 000000000000..aafa7a7dddde
--- /dev/null
+++ b/app-containers/docker-compose/files/docker-compose-1.29.2-docker-7.patch
@@ -0,0 +1,36 @@
+From 1e838052b7ccc2a5bb6b674154450a4411de9e15 Mon Sep 17 00:00:00 2001
+From: Sebastian Pipping <sebastian@pipping.org>
+Date: Mon, 8 Jan 2024 21:28:27 +0100
+Subject: [PATCH] compose/cli/docker_client.py: Quickfix for
+ >=dev-python/docker-7
+
+Symptom was:
+> # docker-compose build
+> Traceback (most recent call last):
+> [..]
+> File "[..]/python3.12/site-packages/compose/cli/docker_client.py", line 124, in docker_client
+> kwargs = kwargs_from_env(environment=environment, ssl_version=tls_version)
+> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+> TypeError: kwargs_from_env() got an unexpected keyword argument 'ssl_version'
+
+Related: https://stackoverflow.com/a/77638834/11626624
+---
+ compose/cli/docker_client.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/compose/cli/docker_client.py b/compose/cli/docker_client.py
+index e4a0fea..f550e20 100644
+--- a/compose/cli/docker_client.py
++++ b/compose/cli/docker_client.py
+@@ -121,7 +121,7 @@ def docker_client(environment, version=None, context=None, tls_version=None):
+ according to the same logic as the official Docker client.
+ """
+ try:
+- kwargs = kwargs_from_env(environment=environment, ssl_version=tls_version)
++ kwargs = kwargs_from_env(environment=environment)
+ except TLSParameterError:
+ raise UserError(
+ "TLS configuration is invalid - make sure your DOCKER_TLS_VERIFY "
+--
+2.43.0
+