commit: 18161910b80ae92b3ba90f082d54097add1a1bce Author: Bernard Cafarelli <voyageur <AT> gentoo <DOT> org> AuthorDate: Sat Jul 5 21:58:03 2025 +0000 Commit: Bernard Cafarelli <voyageur <AT> gentoo <DOT> org> CommitDate: Sat Jul 5 21:58:03 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=18161910
media-gfx/mcomix: fix startup failure with python 3.13 Closes: https://bugs.gentoo.org/959303 Signed-off-by: Bernard Cafarelli <voyageur <AT> gentoo.org> media-gfx/mcomix/files/mcomix-3.1.0-py13.patch | 29 ++++++++++++ media-gfx/mcomix/mcomix-3.1.0-r1.ebuild | 61 ++++++++++++++++++++++++++ 2 files changed, 90 insertions(+) diff --git a/media-gfx/mcomix/files/mcomix-3.1.0-py13.patch b/media-gfx/mcomix/files/mcomix-3.1.0-py13.patch new file mode 100644 index 000000000000..bb133bb57c07 --- /dev/null +++ b/media-gfx/mcomix/files/mcomix-3.1.0-py13.patch @@ -0,0 +1,29 @@ +From a4092eb4f2927ce5d600444d0b10c308148ca34d Mon Sep 17 00:00:00 2001 +From: aaku <a...@users.sourceforge.net> +Date: Wed, 25 Jun 2025 11:35:13 +0200 +Subject: [PATCH] Move multiprocessing initialization out of functions + +Fixes "context has already been set" error +--- + mcomix/__main__.py | 4 ++-- + +diff --git a/mcomix/__main__.py b/mcomix/__main__.py +index bc307bd..b32dc36 100644 +--- a/mcomix/__main__.py ++++ b/mcomix/__main__.py +@@ -21,10 +21,10 @@ from .run import run + + + def main() -> None: +- mp.freeze_support() +- mp.set_start_method('spawn') + run() + + + if __name__ == '__main__': ++ mp.freeze_support() ++ mp.set_start_method('spawn') + main() +-- +2.50.0 + diff --git a/media-gfx/mcomix/mcomix-3.1.0-r1.ebuild b/media-gfx/mcomix/mcomix-3.1.0-r1.ebuild new file mode 100644 index 000000000000..cfa65c28d449 --- /dev/null +++ b/media-gfx/mcomix/mcomix-3.1.0-r1.ebuild @@ -0,0 +1,61 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{10..13} ) +inherit desktop distutils-r1 optfeature xdg + +DESCRIPTION="GTK image viewer for comic book archives" +HOMEPAGE="https://mcomix.sourceforge.net" +SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~riscv ~x86" + +DEPEND="${PYTHON_DEPS}" +RDEPEND="${DEPEND} + >=dev-python/pillow-6.0.0[${PYTHON_USEDEP}] + >=dev-python/pycairo-1.16.0[${PYTHON_USEDEP}] + >=dev-python/pygobject-3.36.0[${PYTHON_USEDEP}] + media-libs/libjpeg-turbo:0 + x11-libs/gtk+:3[introspection]" +BDEPEND="sys-devel/gettext" +# Most tests are quite old and do not run +RESTRICT="test" + +PATCHES=( "${FILESDIR}"/${P}-py13.patch ) + +src_prepare() { + default + + # Uncompress man page + gunzip share/man/man1/mcomix.1.gz || die +} + +src_install() { + distutils-r1_src_install + + # Application meta files are not installed automatically anymore + domenu share/applications/*.desktop + local x + for x in 16 22 24 32 48 256 scalable; do + doicon -s ${x} share/icons/hicolor/${x}*/* + done + doman share/man/man1/mcomix.1 + insinto /usr/share/metainfo + doins share/metainfo/*.xml + insinto /usr/share/mime/packages + doins share/mime/packages/*.xml +} + +pkg_postinst() { + xdg_pkg_postinst + + optfeature "RAR (.cbr) archives" app-arch/unrar + optfeature "7Zip archives" app-arch/p7zip + optfeature "LHA/LZA archives" app-arch/lha + optfeature "PDF files" app-text/mupdf +}