diff options
| author | root <root@alpha.trunkmasters.com> | 2026-06-12 19:09:37 -0500 |
|---|---|---|
| committer | root <root@alpha.trunkmasters.com> | 2026-06-12 19:09:37 -0500 |
| commit | b590c8d7572b727d565cc0b8ff660d43569845de (patch) | |
| tree | 06f7a4102ea4e845df8b66660f252920d52952f9 /dev-python/capturer | |
| parent | 24f9cbfc4c34fdb6a6e03311674414e881ceab47 (diff) | |
| download | baldeagleos-repo-b590c8d7572b727d565cc0b8ff660d43569845de.tar.gz baldeagleos-repo-b590c8d7572b727d565cc0b8ff660d43569845de.tar.xz baldeagleos-repo-b590c8d7572b727d565cc0b8ff660d43569845de.zip | |
Adding metadata
Diffstat (limited to 'dev-python/capturer')
| -rw-r--r-- | dev-python/capturer/Manifest | 1 | ||||
| -rw-r--r-- | dev-python/capturer/capturer-3.0-r1.ebuild | 30 | ||||
| -rw-r--r-- | dev-python/capturer/files/capturer-3.0-py3.14.patch | 52 | ||||
| -rw-r--r-- | dev-python/capturer/metadata.xml | 9 |
4 files changed, 92 insertions, 0 deletions
diff --git a/dev-python/capturer/Manifest b/dev-python/capturer/Manifest new file mode 100644 index 000000000000..124293ce0009 --- /dev/null +++ b/dev-python/capturer/Manifest @@ -0,0 +1 @@ +DIST capturer-3.0.tar.gz 18146 BLAKE2B 345313fa9e58c4e0121c795bd99606f99e46459215ed239da56586da8f8ffab35d97f0bf655258abe9cc45d4abaf7cb0ad2e76054d8c1781be2531ca01b04381 SHA512 3c83c0eade27380304347bdc93df392b2cb84c084e50693993dcca5fd572b8f92d31de43b4a2ddd0a0e8c7eb097629127e86a4860918c507d13b0e2979a04098 diff --git a/dev-python/capturer/capturer-3.0-r1.ebuild b/dev-python/capturer/capturer-3.0-r1.ebuild new file mode 100644 index 000000000000..1b8fc19488ea --- /dev/null +++ b/dev-python/capturer/capturer-3.0-r1.ebuild @@ -0,0 +1,30 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{13..14} ) +DISTUTILS_USE_PEP517=setuptools +inherit distutils-r1 pypi + +DESCRIPTION="Easily capture stdout/stderr of the current process and subprocesses" +HOMEPAGE="https://capturer.readthedocs.io/en/latest/ + https://pypi.org/project/capturer/ + https://github.com/xolox/python-capturer" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="amd64 ~arm ~x86" + +RDEPEND="dev-python/humanfriendly[${PYTHON_USEDEP}]" + +PATCHES=( + "${FILESDIR}"/${PN}-3.0-py3.14.patch +) + +distutils_enable_sphinx docs +distutils_enable_tests pytest + +python_test() { + epytest ${PN}/tests.py +} diff --git a/dev-python/capturer/files/capturer-3.0-py3.14.patch b/dev-python/capturer/files/capturer-3.0-py3.14.patch new file mode 100644 index 000000000000..c2d8fa16aa8d --- /dev/null +++ b/dev-python/capturer/files/capturer-3.0-py3.14.patch @@ -0,0 +1,52 @@ +https://github.com/xolox/python-capturer/issues/15 +https://github.com/xolox/python-capturer/pull/16 + +From 3d0a9a040ecaa78ce2d39ec76ff5084ee7be6653 Mon Sep 17 00:00:00 2001 +From: Scott K Logan <logans@cottsay.net> +Date: Wed, 16 Jul 2025 15:58:09 -0500 +Subject: [PATCH] Prefer multiprocessing 'fork' start method if available + +The default multiprocessing start method for Linux changed in Python +3.14 from 'fork' to 'forkserver'. Because capturer relies on sharing +file descriptors, only 'fork' can be used. Prefer that start method +specifically (if the platform supports it). +--- + capturer/__init__.py | 10 +++++++--- + 1 file changed, 7 insertions(+), 3 deletions(-) + +diff --git a/capturer/__init__.py b/capturer/__init__.py +index 407ba26..9f98950 100644 +--- a/capturer/__init__.py ++++ b/capturer/__init__.py +@@ -136,6 +136,10 @@ class MultiProcessHelper(object): + def __init__(self): + """Initialize a :class:`MultiProcessHelper` object.""" + self.processes = [] ++ try: ++ self.context = multiprocessing.get_context('fork') ++ except ValueError: ++ self.context = multiprocessing.get_context() + + def start_child(self, target): + """ +@@ -146,8 +150,8 @@ def start_child(self, target): + :class:`multiprocessing.Event` to be set when the child + process has finished initialization. + """ +- started_event = multiprocessing.Event() +- child_process = multiprocessing.Process(target=target, args=(started_event,)) ++ started_event = self.context.Event() ++ child_process = self.context.Process(target=target, args=(started_event,)) + self.processes.append(child_process) + child_process.daemon = True + child_process.start() +@@ -309,7 +313,7 @@ def start_capture(self): + # Capture (and most likely relay) stdout/stderr as separate streams. + if self.relay: + # Start the subprocess to relay output. +- self.output_queue = multiprocessing.Queue() ++ self.output_queue = self.context.Queue() + self.start_child(self.merge_loop) + else: + # Disable relaying of output. + diff --git a/dev-python/capturer/metadata.xml b/dev-python/capturer/metadata.xml new file mode 100644 index 000000000000..acfe7097587e --- /dev/null +++ b/dev-python/capturer/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>python@gentoo.org</email> + <name>Python</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> |
