media-gfx/mcomix: fix startup failure with python 3.13

Closes: https://bugs.gentoo.org/959303
Signed-off-by: Bernard Cafarelli <voyageur@gentoo.org>
This commit is contained in:
Bernard Cafarelli 2025-07-05 23:58:03 +02:00
parent ec5694df22
commit 18161910b8
No known key found for this signature in database
GPG Key ID: 00F7AB331B0F097F
2 changed files with 90 additions and 0 deletions

View File

@ -0,0 +1,29 @@
From a4092eb4f2927ce5d600444d0b10c308148ca34d Mon Sep 17 00:00:00 2001
From: aaku <aaku@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

View File

@ -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
}