summaryrefslogtreecommitdiff
path: root/dev-python/pygame
diff options
context:
space:
mode:
authorroot <root@alpha.trunkmasters.com>2026-06-12 19:09:37 -0500
committerroot <root@alpha.trunkmasters.com>2026-06-12 19:09:37 -0500
commitb590c8d7572b727d565cc0b8ff660d43569845de (patch)
tree06f7a4102ea4e845df8b66660f252920d52952f9 /dev-python/pygame
parent24f9cbfc4c34fdb6a6e03311674414e881ceab47 (diff)
downloadbaldeagleos-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/Manifest1
-rw-r--r--dev-python/pygame/files/pygame-2.6.1-py314-tests.patch171
-rw-r--r--dev-python/pygame/metadata.xml9
-rw-r--r--dev-python/pygame/pygame-2.6.1.ebuild105
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
+}