public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: dev-python/PySDL2/files/, dev-python/PySDL2/
@ 2018-01-01 13:47 Michał Górny
  0 siblings, 0 replies; only message in thread
From: Michał Górny @ 2018-01-01 13:47 UTC (permalink / raw
  To: gentoo-commits

commit:     b5bfe230bd9108c5b6bf4cf45a781a6e7a1f4fbb
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Jan  1 13:13:43 2018 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Jan  1 13:47:25 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b5bfe230

dev-python/PySDL2: New package, needed for games-emu/m64py

Bug: https://bugs.gentoo.org/626488

 dev-python/PySDL2/Manifest                         |  1 +
 dev-python/PySDL2/PySDL2-0.9.6.ebuild              | 64 ++++++++++++++++++++++
 ...lways-allow-greater-patch-version-of-SDL2.patch | 47 ++++++++++++++++
 ...-Handle-missing-haptic-support-gracefully.patch | 26 +++++++++
 dev-python/PySDL2/metadata.xml                     | 15 +++++
 5 files changed, 153 insertions(+)

diff --git a/dev-python/PySDL2/Manifest b/dev-python/PySDL2/Manifest
new file mode 100644
index 00000000000..f44f4f7a63a
--- /dev/null
+++ b/dev-python/PySDL2/Manifest
@@ -0,0 +1 @@
+DIST PySDL2-0.9.6.tar.gz 1048158 BLAKE2B 70a450990dd73169489af2d5b218eea0794c9f75948d774680df4b4423855318ddc6d16a0453f62361d4f0b81e872edc067235c4f946476ea8988e16cd0de44c SHA512 676b1b3381b614122442c70fe4cbd7c210ef3d8695c2babd37938e67b5cfeb2f8acbdcb914c5f68aceb549d89f7a77bdc80c7406b340b0e38c22543df8d46739

diff --git a/dev-python/PySDL2/PySDL2-0.9.6.ebuild b/dev-python/PySDL2/PySDL2-0.9.6.ebuild
new file mode 100644
index 00000000000..d761ef0b205
--- /dev/null
+++ b/dev-python/PySDL2/PySDL2-0.9.6.ebuild
@@ -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}"
+}

diff --git a/dev-python/PySDL2/files/PySDL2-0.9.6-0001-test-Always-allow-greater-patch-version-of-SDL2.patch b/dev-python/PySDL2/files/PySDL2-0.9.6-0001-test-Always-allow-greater-patch-version-of-SDL2.patch
new file mode 100644
index 00000000000..0b72f903663
--- /dev/null
+++ b/dev-python/PySDL2/files/PySDL2-0.9.6-0001-test-Always-allow-greater-patch-version-of-SDL2.patch
@@ -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
+

diff --git a/dev-python/PySDL2/files/PySDL2-0.9.6-0002-test-Handle-missing-haptic-support-gracefully.patch b/dev-python/PySDL2/files/PySDL2-0.9.6-0002-test-Handle-missing-haptic-support-gracefully.patch
new file mode 100644
index 00000000000..2b03fed4d09
--- /dev/null
+++ b/dev-python/PySDL2/files/PySDL2-0.9.6-0002-test-Handle-missing-haptic-support-gracefully.patch
@@ -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
+

diff --git a/dev-python/PySDL2/metadata.xml b/dev-python/PySDL2/metadata.xml
new file mode 100644
index 00000000000..dbc51f1b956
--- /dev/null
+++ b/dev-python/PySDL2/metadata.xml
@@ -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>


^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2018-01-01 13:47 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-01-01 13:47 [gentoo-commits] repo/gentoo:master commit in: dev-python/PySDL2/files/, dev-python/PySDL2/ Michał Górny

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox