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/pygame | |
| 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/pygame')
| -rw-r--r-- | dev-python/pygame/Manifest | 1 | ||||
| -rw-r--r-- | dev-python/pygame/files/pygame-2.6.1-py314-tests.patch | 171 | ||||
| -rw-r--r-- | dev-python/pygame/metadata.xml | 9 | ||||
| -rw-r--r-- | dev-python/pygame/pygame-2.6.1.ebuild | 105 |
4 files changed, 286 insertions, 0 deletions
diff --git a/dev-python/pygame/Manifest b/dev-python/pygame/Manifest new file mode 100644 index 000000000000..eb224da48b4f --- /dev/null +++ b/dev-python/pygame/Manifest @@ -0,0 +1 @@ +DIST pygame-2.6.1.gh.tar.gz 5970088 BLAKE2B 70ea8d1828118fe3d1ecb47b51f2384dfa78ff26fd4c6ee72752c3be1b85194f1e3dd5f4cf1456a121599c8da5cd4a874bb0fa453ccc4e606c0989d14152fa73 SHA512 e072b303b89ede611a47622e0233570a74861001e0d92e7f34712d08185ee6112f7a21b529acba743f9fa5ea8cb6b51d611abbb69634660bdc4cf807597240d7 diff --git a/dev-python/pygame/files/pygame-2.6.1-py314-tests.patch b/dev-python/pygame/files/pygame-2.6.1-py314-tests.patch new file mode 100644 index 000000000000..fb57116fef3f --- /dev/null +++ b/dev-python/pygame/files/pygame-2.6.1-py314-tests.patch @@ -0,0 +1,171 @@ +https://github.com/pygame/pygame/commit/ac69c0be7e16 +--- a/test/freetype_test.py ++++ b/test/freetype_test.py +@@ -1611,3 +1611,7 @@ + o = font.render_raw(text) +- self.assertEqual(getrefcount(o), 2) ++ # if python 3.14+, getrefcount returns 1 instead of 2 ++ if sys.version_info >= (3, 14): ++ self.assertEqual(getrefcount(o), 1) ++ else: ++ self.assertEqual(getrefcount(o), 2) + self.assertEqual(getrefcount(o[0]), 2) +@@ -1616,3 +1620,7 @@ + o = font.get_metrics("AB") +- self.assertEqual(getrefcount(o), 2) ++ if sys.version_info >= (3, 14): ++ self.assertEqual(getrefcount(o), 1) ++ else: ++ self.assertEqual(getrefcount(o), 2) ++ + for i in range(len(o)): +@@ -1620,3 +1628,6 @@ + o = font.get_sizes() +- self.assertEqual(getrefcount(o), 2) ++ if sys.version_info >= (3, 14): ++ self.assertEqual(getrefcount(o), 1) ++ else: ++ self.assertEqual(getrefcount(o), 2) + for i in range(len(o)): +--- a/test/mask_test.py ++++ b/test/mask_test.py +@@ -2581,3 +2581,7 @@ + """Ensures empty and full masks can be drawn onto surfaces.""" +- expected_ref_count = 3 ++ if sys.version_info >= (3, 14): ++ expected_ref_count = 2 ++ else: ++ expected_ref_count = 3 ++ + size = (33, 65) +@@ -2601,3 +2605,7 @@ + """Ensures empty and full masks can be drawn onto a created surface.""" +- expected_ref_count = 2 ++ if sys.version_info >= (3, 14): ++ expected_ref_count = 1 ++ else: ++ expected_ref_count = 2 ++ + expected_flag = SRCALPHA +@@ -2626,3 +2634,7 @@ + """Ensures to_surface accepts a surface arg/kwarg.""" +- expected_ref_count = 4 ++ if sys.version_info >= (3, 14): ++ expected_ref_count = 3 ++ else: ++ expected_ref_count = 4 ++ + expected_color = pygame.Color("white") +@@ -2650,3 +2662,7 @@ + """Ensures to_surface accepts a setsurface arg/kwarg.""" +- expected_ref_count = 2 ++ if sys.version_info >= (3, 14): ++ expected_ref_count = 1 ++ else: ++ expected_ref_count = 2 ++ + expected_flag = SRCALPHA +@@ -2677,3 +2693,7 @@ + """Ensures to_surface accepts a unsetsurface arg/kwarg.""" +- expected_ref_count = 2 ++ if sys.version_info >= (3, 14): ++ expected_ref_count = 1 ++ else: ++ expected_ref_count = 2 ++ + expected_flag = SRCALPHA +@@ -2703,3 +2723,7 @@ + """Ensures to_surface accepts a setcolor arg/kwarg.""" +- expected_ref_count = 2 ++ if sys.version_info >= (3, 14): ++ expected_ref_count = 1 ++ else: ++ expected_ref_count = 2 ++ + expected_flag = SRCALPHA +@@ -2740,3 +2764,7 @@ + """Ensures to_surface accepts a unsetcolor arg/kwarg.""" +- expected_ref_count = 2 ++ if sys.version_info >= (3, 14): ++ expected_ref_count = 1 ++ else: ++ expected_ref_count = 2 ++ + expected_flag = SRCALPHA +@@ -2779,3 +2807,7 @@ + """Ensures to_surface accepts a dest arg/kwarg.""" +- expected_ref_count = 2 ++ if sys.version_info >= (3, 14): ++ expected_ref_count = 1 ++ else: ++ expected_ref_count = 2 ++ + expected_flag = SRCALPHA +@@ -2835,3 +2867,7 @@ + """Ensures to_surface accepts an area arg/kwarg.""" +- expected_ref_count = 2 ++ if sys.version_info >= (3, 14): ++ expected_ref_count = 1 ++ else: ++ expected_ref_count = 2 ++ + expected_flag = SRCALPHA +@@ -3329,3 +3365,7 @@ + """ +- expected_ref_count = 2 ++ if sys.version_info >= (3, 14): ++ expected_ref_count = 1 ++ else: ++ expected_ref_count = 2 ++ + expected_flag = SRCALPHA +@@ -3413,3 +3453,7 @@ + """ +- expected_ref_count = 4 ++ if sys.version_info >= (3, 14): ++ expected_ref_count = 3 ++ else: ++ expected_ref_count = 4 ++ + expected_flag = SRCALPHA +@@ -5275,3 +5319,7 @@ + """Ensures zero sized surfaces are handled correctly.""" +- expected_ref_count = 3 ++ if sys.version_info >= (3, 14): ++ expected_ref_count = 2 ++ else: ++ expected_ref_count = 3 ++ + size = (0, 0) +@@ -5289,3 +5337,7 @@ + """Ensures zero sized setsurfaces are handled correctly.""" +- expected_ref_count = 2 ++ if sys.version_info >= (3, 14): ++ expected_ref_count = 1 ++ else: ++ expected_ref_count = 2 ++ + expected_flag = SRCALPHA +@@ -5309,3 +5361,7 @@ + """Ensures zero sized unsetsurfaces are handled correctly.""" +- expected_ref_count = 2 ++ if sys.version_info >= (3, 14): ++ expected_ref_count = 1 ++ else: ++ expected_ref_count = 2 ++ + expected_flag = SRCALPHA +--- a/test/rwobject_test.py ++++ b/test/rwobject_test.py +@@ -2,2 +2,3 @@ + import unittest ++import sys + +@@ -85,3 +86,6 @@ + bpath = encode_string(upath) +- self.assertEqual(getrefcount(bpath), before) ++ if sys.version_info >= (3, 14): ++ self.assertEqual(getrefcount(bpath), before - 1) ++ else: ++ self.assertEqual(getrefcount(bpath), before) + diff --git a/dev-python/pygame/metadata.xml b/dev-python/pygame/metadata.xml new file mode 100644 index 000000000000..acfe7097587e --- /dev/null +++ b/dev-python/pygame/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> diff --git a/dev-python/pygame/pygame-2.6.1.ebuild b/dev-python/pygame/pygame-2.6.1.ebuild new file mode 100644 index 000000000000..5b6b0497ace4 --- /dev/null +++ b/dev-python/pygame/pygame-2.6.1.ebuild @@ -0,0 +1,105 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{13..14} ) + +inherit distutils-r1 + +DESCRIPTION="Python bindings for SDL multimedia library" +HOMEPAGE=" + https://www.pygame.org/ + https://github.com/pygame/pygame/ + https://pypi.org/project/pygame/ +" +SRC_URI=" + https://github.com/pygame/pygame/archive/${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="LGPL-2.1" +SLOT="0" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ppc ppc64 ~riscv x86" +IUSE="examples opengl test X" +RESTRICT="!test? ( test )" + +RDEPEND=" + dev-python/numpy[${PYTHON_USEDEP}] + media-libs/freetype + media-libs/libjpeg-turbo:= + media-libs/libpng:= + media-libs/portmidi + media-libs/sdl2-image + media-libs/sdl2-mixer + media-libs/sdl2-ttf + X? ( media-libs/libsdl2[opengl?,threads(+),video,X] ) + !X? ( media-libs/libsdl2[threads(+)] ) +" +DEPEND=" + ${RDEPEND} + test? ( + media-libs/sdl2-image[gif,jpeg,png,tiff,webp] + media-libs/sdl2-mixer[mp3,vorbis,wav] + ) +" +# fontconfig used for fc-list +RDEPEND+=" + media-libs/fontconfig +" +# util-linux provides script +BDEPEND=" + >=dev-python/cython-3.0[${PYTHON_USEDEP}] + test? ( + media-libs/fontconfig + sys-apps/util-linux + ) +" + +PATCHES=( + "${FILESDIR}"/${P}-py314-tests.patch +) + +src_prepare() { + distutils-r1_src_prepare + + # some numpy-related crash (not a regression) + # https://github.com/pygame/pygame/issues/4049 + sed -e 's:import numpy:raise ImportError(""):' \ + -i test/pixelcopy_test.py || die +} + +python_configure() { + PORTMIDI_INC_PORTTIME=1 LOCALBASE="${EPREFIX}/usr" \ + "${EPYTHON}" "${S}"/buildconfig/config.py || die +} + +python_configure_all() { + find src_c/cython -name '*.pyx' -exec touch {} + || die + "${EPYTHON}" setup.py cython_only || die +} + +python_test() { + # Seems(?) there is no way to easily skip individual tests, but + # an msys2 hack exists which we can re-use for now (bug #951940). + # https://github.com/pygame/pygame/pull/4267 + local -x PYGAME_MSYS2=1 + + local -x SDL_VIDEODRIVER=dummy + local -x SDL_AUDIODRIVER=disk + script -eqc "${EPYTHON} -m pygame.tests -v" || die +} + +python_install() { + distutils-r1_python_install + + # https://bugs.gentoo.org/497720 + rm -fr "${D}$(python_get_sitedir)"/pygame/{docs,examples} || die +} + +python_install_all() { + distutils-r1_python_install_all + use examples && dodoc -r examples +} |
