mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-07-30 22:48:07 -07:00
dev-python/PySDL2: New package, needed for games-emu/m64py
Bug: https://bugs.gentoo.org/626488
This commit is contained in:
1
dev-python/PySDL2/Manifest
Normal file
1
dev-python/PySDL2/Manifest
Normal file
@@ -0,0 +1 @@
|
||||
DIST PySDL2-0.9.6.tar.gz 1048158 BLAKE2B 70a450990dd73169489af2d5b218eea0794c9f75948d774680df4b4423855318ddc6d16a0453f62361d4f0b81e872edc067235c4f946476ea8988e16cd0de44c SHA512 676b1b3381b614122442c70fe4cbd7c210ef3d8695c2babd37938e67b5cfeb2f8acbdcb914c5f68aceb549d89f7a77bdc80c7406b340b0e38c22543df8d46739
|
||||
64
dev-python/PySDL2/PySDL2-0.9.6.ebuild
Normal file
64
dev-python/PySDL2/PySDL2-0.9.6.ebuild
Normal file
@@ -0,0 +1,64 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
PYTHON_COMPAT=( python{2_7,3_{4,5,6}} )
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="Python (ctypes) bindings for SDL2 libraries"
|
||||
HOMEPAGE="https://github.com/marcusva/py-sdl2 https://pypi.python.org/pypi/PySDL2"
|
||||
SRC_URI="mirror://pypi/${PN::1}/${PN}/${P}.tar.gz"
|
||||
|
||||
LICENSE="|| ( public-domain CC0-1.0 ZLIB )"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE="test"
|
||||
|
||||
# Optional deps:
|
||||
# - dev-python/numpy,
|
||||
# - dev-python/pillow,
|
||||
# - media-libs/sdl2-* (loaded dynamically via ctypes).
|
||||
#
|
||||
# If a reverse dependency needs the specific module, it should
|
||||
# explicitly depend on the optional module in question. You also
|
||||
# probably need to explicitly require some media-libs/libsdl2 flags.
|
||||
RDEPEND="media-libs/libsdl2"
|
||||
|
||||
# Require all of SDL2 libraries and at least the most common subsystems
|
||||
# for better test coverage.
|
||||
DEPEND="
|
||||
test? (
|
||||
dev-python/numpy[${PYTHON_USEDEP}]
|
||||
dev-python/pillow[${PYTHON_USEDEP}]
|
||||
media-libs/libsdl2[joystick,sound,video]
|
||||
media-libs/sdl2-gfx
|
||||
media-libs/sdl2-image
|
||||
media-libs/sdl2-mixer
|
||||
media-libs/sdl2-ttf
|
||||
)"
|
||||
|
||||
PATCHES=(
|
||||
# fix tests to allow newer versions of libsdl2
|
||||
"${FILESDIR}"/PySDL2-0.9.6-0001-test-Always-allow-greater-patch-version-of-SDL2.patch
|
||||
# fix tests to handle missing haptic support gracefully
|
||||
"${FILESDIR}"/PySDL2-0.9.6-0002-test-Handle-missing-haptic-support-gracefully.patch
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
# tarball uses DOS line endings
|
||||
find '(' -name '*.py' -o -name '*.rst' -o -name '*.txt' ')' \
|
||||
-type f -exec sed -i -e 's/\r$//' {} + || die
|
||||
|
||||
distutils-r1_src_prepare
|
||||
}
|
||||
|
||||
python_test() {
|
||||
# from .travis.yml
|
||||
local -x SDL_VIDEODRIVER=dummy
|
||||
local -x SDL_AUDIODRIVER=dummy
|
||||
local -x SDL_RENDER_DRIVER=software
|
||||
|
||||
"${PYTHON}" -m unittest discover -v \
|
||||
-s sdl2/test -p '*_test.py' || die "Tests fail with ${EPYTHON}"
|
||||
}
|
||||
@@ -0,0 +1,47 @@
|
||||
From d34a898bb8d8bfd9cb4a85ff880826e4c7f2b0f7 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
|
||||
Date: Mon, 1 Jan 2018 12:31:52 +0100
|
||||
Subject: [PATCH 1/2] test: Always allow greater patch-version of SDL2
|
||||
|
||||
Similarly to sdlimage_test, allow newer patch-version of other SDL2
|
||||
libraries. There is no technical reason to prevent people from upgrading
|
||||
libsdl2 while having old PySDL2 installed, and there is no reason to
|
||||
make tests fail every time libsdl2 happens to be upgraded.
|
||||
|
||||
(backported for 0.9.6)
|
||||
|
||||
Closes: https://github.com/marcusva/py-sdl2/issues/115
|
||||
---
|
||||
sdl2/test/sdlmixer_test.py | 2 +-
|
||||
sdl2/test/version_test.py | 2 +-
|
||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/sdl2/test/sdlmixer_test.py b/sdl2/test/sdlmixer_test.py
|
||||
index 00c2ca6..1cebe55 100644
|
||||
--- a/sdl2/test/sdlmixer_test.py
|
||||
+++ b/sdl2/test/sdlmixer_test.py
|
||||
@@ -27,7 +27,7 @@ class SDLMixerTest(unittest.TestCase):
|
||||
self.assertIsInstance(v.contents, version.SDL_version)
|
||||
self.assertEqual(v.contents.major, 2)
|
||||
self.assertEqual(v.contents.minor, 0)
|
||||
- self.assertEqual(v.contents.patch, 1)
|
||||
+ self.assertGreaterEqual(v.contents.patch, 1)
|
||||
|
||||
if __name__ == '__main__':
|
||||
sys.exit(unittest.main())
|
||||
diff --git a/sdl2/test/version_test.py b/sdl2/test/version_test.py
|
||||
index 51b5065..60e5bcf 100644
|
||||
--- a/sdl2/test/version_test.py
|
||||
+++ b/sdl2/test/version_test.py
|
||||
@@ -25,7 +25,7 @@ class SDLVersionTest(unittest.TestCase):
|
||||
self.assertEqual(type(v), version.SDL_version)
|
||||
self.assertEqual(v.major, 2)
|
||||
self.assertEqual(v.minor, 0)
|
||||
- self.assertEqual(v.patch, 6)
|
||||
+ self.assertGreaterEqual(v.patch, 6)
|
||||
|
||||
def test_SDL_VERSIONNUM(self):
|
||||
self.assertEqual(version.SDL_VERSIONNUM(1, 2, 3), 1203)
|
||||
--
|
||||
2.16.0.rc0
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
From 4a38a0ef4c13ec3c518b78c0e56550fb8af43119 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
|
||||
Date: Mon, 1 Jan 2018 13:29:16 +0100
|
||||
Subject: [PATCH 2/2] test: Handle missing haptic support gracefully
|
||||
|
||||
---
|
||||
sdl2/test/sdl_test.py | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/sdl2/test/sdl_test.py b/sdl2/test/sdl_test.py
|
||||
index 70c2e98..402e549 100644
|
||||
--- a/sdl2/test/sdl_test.py
|
||||
+++ b/sdl2/test/sdl_test.py
|
||||
@@ -47,7 +47,8 @@ class SDLTest(unittest.TestCase):
|
||||
"FreeBSD des not support haptic input yet")
|
||||
def test_SDL_INIT_HAPTIC(self):
|
||||
ret = SDL_Init(SDL_INIT_HAPTIC)
|
||||
- self.assertEqual(ret, 0, SDL_GetError())
|
||||
+ if ret != 0:
|
||||
+ self.skipTest('Haptic subsystem not supported')
|
||||
ret = SDL_WasInit(SDL_INIT_HAPTIC)
|
||||
self.assertEqual(ret, SDL_INIT_HAPTIC)
|
||||
SDL_QuitSubSystem(SDL_INIT_HAPTIC)
|
||||
--
|
||||
2.16.0.rc0
|
||||
|
||||
15
dev-python/PySDL2/metadata.xml
Normal file
15
dev-python/PySDL2/metadata.xml
Normal file
@@ -0,0 +1,15 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="person">
|
||||
<email>mgorny@gentoo.org</email>
|
||||
<name>Michał Górny</name>
|
||||
</maintainer>
|
||||
<maintainer type="project">
|
||||
<email>python@gentoo.org</email>
|
||||
</maintainer>
|
||||
<upstream>
|
||||
<remote-id type="github">marcusva/py-sdl2</remote-id>
|
||||
<remote-id type="pypi">PySDL2</remote-id>
|
||||
</upstream>
|
||||
</pkgmetadata>
|
||||
Reference in New Issue
Block a user