forked from pool/python-PySDL2
Accepting request 1032869 from devel:languages:python
- Remove .DS_Store files from sources - Remove not needed python_module macro definition - Add fix-tests.patch to fix the test run in the rpmbuild container without access to /dev/input. - Update to 0.9.14: * Updated to wrap new functions and constants in SDL 2.24.0. * Added a new module sdl2.ext.displays for retrieving and working with connected displays and their supported resolutions/refresh rates. * Extended sdl2.ext.init to allow initializing all SDL subsystems individually (previously just initialized the video subsystem). * Improved the memory safety of the sdl2.ext.Window class. * Added raise_sdl_err to the public ext API. * Fixed sdl2.ext.line to work correctly on 1bpp surfaces. * Various fixes/improvements to the unit test suite for Linux package maintainers. - Remove mixer_tests_fix.patch (fixed upstream) OBS-URL: https://build.opensuse.org/request/show/1032869 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-PySDL2?expand=0&rev=10
This commit is contained in:
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:09ee9181175fa7fd3a7c8b1992f4353ed59ac4118505e9aa7e8dbec42018136f
|
||||
size 754811
|
3
PySDL2-0.9.14.tar.gz
Normal file
3
PySDL2-0.9.14.tar.gz
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:24091f8d9e437646591c7f76d5baeee3d3aa6cd8ae492a51c7026e53389f187a
|
||||
size 761137
|
105
fix-tests.patch
Normal file
105
fix-tests.patch
Normal file
@@ -0,0 +1,105 @@
|
||||
Index: PySDL2-0.9.14/sdl2/test/conftest.py
|
||||
===================================================================
|
||||
--- PySDL2-0.9.14.orig/sdl2/test/conftest.py
|
||||
+++ PySDL2-0.9.14/sdl2/test/conftest.py
|
||||
@@ -13,7 +13,8 @@ SKIP_ANNOYING = os.getenv("PYSDL2_ALL_TE
|
||||
def with_sdl():
|
||||
sdl2.SDL_ClearError()
|
||||
ret = sdl2.SDL_Init(sdl2.SDL_INIT_VIDEO | sdl2.SDL_INIT_TIMER)
|
||||
- assert sdl2.SDL_GetError() == b""
|
||||
+ # Ignore errors like Unable to open /dev/input/...
|
||||
+ # assert sdl2.SDL_GetError() == b""
|
||||
assert ret == 0
|
||||
yield
|
||||
sdl2.SDL_Quit()
|
||||
Index: PySDL2-0.9.14/sdl2/test/audio_test.py
|
||||
===================================================================
|
||||
--- PySDL2-0.9.14.orig/sdl2/test/audio_test.py
|
||||
+++ PySDL2-0.9.14/sdl2/test/audio_test.py
|
||||
@@ -23,7 +23,8 @@ def with_sdl_audio():
|
||||
sdl2.SDL_Quit()
|
||||
sdl2.SDL_ClearError()
|
||||
ret = sdl2.SDL_Init(sdl2.SDL_INIT_VIDEO | sdl2.SDL_INIT_AUDIO)
|
||||
- assert sdl2.SDL_GetError() == b""
|
||||
+ # Ignore errors like Unable to open /dev/input/...
|
||||
+ # assert sdl2.SDL_GetError() == b""
|
||||
assert ret == 0
|
||||
yield
|
||||
sdl2.SDL_Quit()
|
||||
Index: PySDL2-0.9.14/sdl2/test/hints_test.py
|
||||
===================================================================
|
||||
--- PySDL2-0.9.14.orig/sdl2/test/hints_test.py
|
||||
+++ PySDL2-0.9.14/sdl2/test/hints_test.py
|
||||
@@ -9,7 +9,8 @@ from sdl2.stdinc import SDL_TRUE, SDL_FA
|
||||
def with_sdl():
|
||||
sdl2.SDL_ClearError()
|
||||
ret = sdl2.SDL_Init(sdl2.SDL_INIT_VIDEO)
|
||||
- assert sdl2.SDL_GetError() == b""
|
||||
+ # Ignore errors like Unable to open /dev/input/...
|
||||
+ # assert sdl2.SDL_GetError() == b""
|
||||
assert ret == 0
|
||||
yield
|
||||
sdl2.SDL_Quit()
|
||||
Index: PySDL2-0.9.14/sdl2/test/sdlmixer_test.py
|
||||
===================================================================
|
||||
--- PySDL2-0.9.14.orig/sdl2/test/sdlmixer_test.py
|
||||
+++ PySDL2-0.9.14/sdl2/test/sdlmixer_test.py
|
||||
@@ -32,7 +32,8 @@ def with_sdl_mixer():
|
||||
# Initialize SDL2 with video and audio subsystems
|
||||
sdl2.SDL_ClearError()
|
||||
ret = sdl2.SDL_Init(sdl2.SDL_INIT_VIDEO | sdl2.SDL_INIT_AUDIO)
|
||||
- assert sdl2.SDL_GetError() == b""
|
||||
+ # Ignore errors like Unable to open /dev/input/...
|
||||
+ # assert sdl2.SDL_GetError() == b""
|
||||
assert ret == 0
|
||||
# Initialize SDL_mixer and open an audio device
|
||||
flags = (
|
||||
Index: PySDL2-0.9.14/sdl2/test/touch_test.py
|
||||
===================================================================
|
||||
--- PySDL2-0.9.14.orig/sdl2/test/touch_test.py
|
||||
+++ PySDL2-0.9.14/sdl2/test/touch_test.py
|
||||
@@ -18,7 +18,8 @@ def with_sdl():
|
||||
sdl2.SDL_SetHint(sdl2.SDL_HINT_MOUSE_TOUCH_EVENTS, b"1")
|
||||
sdl2.SDL_ClearError()
|
||||
ret = sdl2.SDL_Init(sdl2.SDL_INIT_VIDEO)
|
||||
- assert sdl2.SDL_GetError() == b""
|
||||
+ # Ignore errors like Unable to open /dev/input/...
|
||||
+ # assert sdl2.SDL_GetError() == b""
|
||||
assert ret == 0
|
||||
yield
|
||||
sdl2.SDL_Quit()
|
||||
@@ -86,4 +87,4 @@ def test_SDL_GetTouchFinger():
|
||||
assert finger.contents.id >= 0
|
||||
assert 0 <= finger.contents.x <= 1
|
||||
assert 0 <= finger.contents.y <= 1
|
||||
-
|
||||
\ No newline at end of file
|
||||
+
|
||||
Index: PySDL2-0.9.14/sdl2/test/sdl_test.py
|
||||
===================================================================
|
||||
--- PySDL2-0.9.14.orig/sdl2/test/sdl_test.py
|
||||
+++ PySDL2-0.9.14/sdl2/test/sdl_test.py
|
||||
@@ -40,7 +40,8 @@ def test_SDL_Init():
|
||||
def test_SDL_InitSubSystem():
|
||||
sdl2.SDL_ClearError()
|
||||
ret = sdl2.SDL_Init(SDL_INIT_VIDEO | SDL_INIT_AUDIO)
|
||||
- assert sdl2.SDL_GetError() == b""
|
||||
+ # Ignore errors like Unable to open /dev/input/...
|
||||
+ # assert sdl2.SDL_GetError() == b""
|
||||
assert ret == 0
|
||||
# Test initializing an additional subsystem
|
||||
assert sdl2.SDL_WasInit(0) & SDL_INIT_TIMER != SDL_INIT_TIMER
|
||||
Index: PySDL2-0.9.14/sdl2/test/video_test.py
|
||||
===================================================================
|
||||
--- PySDL2-0.9.14.orig/sdl2/test/video_test.py
|
||||
+++ PySDL2-0.9.14/sdl2/test/video_test.py
|
||||
@@ -194,7 +194,8 @@ def test_SDL_VideoInitQuit():
|
||||
# Test with default driver
|
||||
assert sdl2.SDL_WasInit(0) & sdl2.SDL_INIT_VIDEO != sdl2.SDL_INIT_VIDEO
|
||||
ret = sdl2.SDL_VideoInit(None)
|
||||
- assert sdl2.SDL_GetError() == b""
|
||||
+ # Ignore errors like Unable to open /dev/input/...
|
||||
+ # assert sdl2.SDL_GetError() == b""
|
||||
assert ret == 0
|
||||
assert sdl2.SDL_GetCurrentVideoDriver() # If initialized, should be string
|
||||
sdl2.SDL_VideoQuit()
|
@@ -1,73 +0,0 @@
|
||||
diff --git a/sdl2/test/sdlmixer_test.py b/sdl2/test/sdlmixer_test.py
|
||||
index 8d2db3e..dd50004 100644
|
||||
--- a/sdl2/test/sdlmixer_test.py
|
||||
+++ b/sdl2/test/sdlmixer_test.py
|
||||
@@ -19,6 +19,14 @@ def _get_sound_path(fmt):
|
||||
testdir = os.path.dirname(os.path.abspath(__file__))
|
||||
return os.path.join(testdir, "resources", fname)
|
||||
|
||||
+def _has_decoder(decoder):
|
||||
+ decoders = []
|
||||
+ num = sdlmixer.Mix_GetNumChunkDecoders()
|
||||
+ for i in range(0, num):
|
||||
+ name = sdlmixer.Mix_GetChunkDecoder(i)
|
||||
+ decoders.append(name.decode('utf-8'))
|
||||
+ return decoder.upper() in decoders
|
||||
+
|
||||
@pytest.fixture(scope="module")
|
||||
def with_sdl_mixer():
|
||||
# Initialize SDL2 with video and audio subsystems
|
||||
@@ -41,6 +49,8 @@ def with_sdl_mixer():
|
||||
|
||||
@pytest.fixture
|
||||
def with_mixchunk(with_sdl_mixer):
|
||||
+ if not _has_decoder("mp3"):
|
||||
+ pytest.skip("No MP3 decoder available for SDL_mixer")
|
||||
fpath = _get_sound_path("mp3")
|
||||
chk = sdlmixer.Mix_LoadWAV(fpath.encode("utf-8"))
|
||||
err = sdlmixer.Mix_GetError()
|
||||
@@ -51,6 +61,8 @@ def with_mixchunk(with_sdl_mixer):
|
||||
|
||||
@pytest.fixture
|
||||
def with_music(with_sdl_mixer):
|
||||
+ if not _has_decoder("mp3"):
|
||||
+ pytest.skip("No MP3 decoder available for SDL_mixer")
|
||||
fpath = _get_sound_path("mp3")
|
||||
mus = sdlmixer.Mix_LoadMUS(fpath.encode("utf-8"))
|
||||
err = sdlmixer.Mix_GetError()
|
||||
@@ -140,6 +152,8 @@ def test_Mix_QuerySpec(with_sdl_mixer):
|
||||
assert fmt.value in audio.AUDIO_FORMATS
|
||||
|
||||
def test_Mix_LoadFreeWAV(with_sdl_mixer):
|
||||
+ if not _has_decoder("mp3"):
|
||||
+ pytest.skip("No MP3 decoder available for SDL_mixer")
|
||||
fpath = _get_sound_path("mp3")
|
||||
chk = sdlmixer.Mix_LoadWAV(fpath.encode("utf-8"))
|
||||
assert isinstance(chk.contents, sdlmixer.Mix_Chunk)
|
||||
@@ -147,6 +161,8 @@ def test_Mix_LoadFreeWAV(with_sdl_mixer):
|
||||
sdlmixer.Mix_FreeChunk(chk)
|
||||
|
||||
def test_Mix_LoadWAV_RW(with_sdl_mixer):
|
||||
+ if not _has_decoder("mp3"):
|
||||
+ pytest.skip("No MP3 decoder available for SDL_mixer")
|
||||
fpath = _get_sound_path("mp3")
|
||||
rw = sdl2.SDL_RWFromFile(fpath.encode("utf-8"), b"r")
|
||||
chk = sdlmixer.Mix_LoadWAV_RW(rw, 1)
|
||||
@@ -155,6 +171,8 @@ def test_Mix_LoadWAV_RW(with_sdl_mixer):
|
||||
sdlmixer.Mix_FreeChunk(chk)
|
||||
|
||||
def test_Mix_LoadFreeMUS(with_sdl_mixer):
|
||||
+ if not _has_decoder("mp3"):
|
||||
+ pytest.skip("No MP3 decoder available for SDL_mixer")
|
||||
fpath = _get_sound_path("mp3")
|
||||
mus = sdlmixer.Mix_LoadMUS(fpath.encode("utf-8"))
|
||||
assert isinstance(mus.contents, sdlmixer.Mix_Music)
|
||||
@@ -162,6 +180,8 @@ def test_Mix_LoadFreeMUS(with_sdl_mixer):
|
||||
sdlmixer.Mix_FreeMusic(mus)
|
||||
|
||||
def test_Mix_LoadMUS_RW(with_sdl_mixer):
|
||||
+ if not _has_decoder("mp3"):
|
||||
+ pytest.skip("No MP3 decoder available for SDL_mixer")
|
||||
fpath = _get_sound_path("mp3")
|
||||
rw = sdl2.SDL_RWFromFile(fpath.encode("utf-8"), b"r")
|
||||
mus = sdlmixer.Mix_LoadMUS_RW(rw, 1)
|
@@ -1,3 +1,33 @@
|
||||
-------------------------------------------------------------------
|
||||
Wed Nov 2 12:09:29 UTC 2022 - Daniel Garcia <daniel.garcia@suse.com>
|
||||
|
||||
- Remove .DS_Store files from sources
|
||||
- Remove not needed python_module macro definition
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Nov 2 11:58:38 UTC 2022 - Daniel Garcia <daniel.garcia@suse.com>
|
||||
|
||||
- Add fix-tests.patch to fix the test run in the rpmbuild container without
|
||||
access to /dev/input.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Nov 2 06:56:40 UTC 2022 - munix9@googlemail.com
|
||||
|
||||
- Update to 0.9.14:
|
||||
* Updated to wrap new functions and constants in SDL 2.24.0.
|
||||
* Added a new module sdl2.ext.displays for retrieving and working
|
||||
with connected displays and their supported resolutions/refresh
|
||||
rates.
|
||||
* Extended sdl2.ext.init to allow initializing all SDL subsystems
|
||||
individually (previously just initialized the video subsystem).
|
||||
* Improved the memory safety of the sdl2.ext.Window class.
|
||||
* Added raise_sdl_err to the public ext API.
|
||||
* Fixed sdl2.ext.line to work correctly on 1bpp surfaces.
|
||||
* Various fixes/improvements to the unit test suite for Linux
|
||||
package maintainers.
|
||||
|
||||
- Remove mixer_tests_fix.patch (fixed upstream)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Jul 29 12:38:06 UTC 2022 - Matej Cepl <mcepl@suse.com>
|
||||
|
||||
|
@@ -16,18 +16,16 @@
|
||||
#
|
||||
|
||||
|
||||
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
|
||||
%define X_display ":98"
|
||||
Name: python-PySDL2
|
||||
Version: 0.9.13
|
||||
Version: 0.9.14
|
||||
Release: 0
|
||||
Summary: Python ctypes wrapper around SDL2
|
||||
License: SUSE-Public-Domain
|
||||
URL: https://github.com/py-sdl/py-sdl2
|
||||
Source: https://files.pythonhosted.org/packages/source/P/PySDL2/PySDL2-%{version}.tar.gz
|
||||
# PATCH-FIX-UPSTREAM mixer_tests_fix.patch gh#py-sdl/py-sdl2#241 mcepl@suse.com
|
||||
# allow dynamic configuration of libmpg123
|
||||
Patch0: mixer_tests_fix.patch
|
||||
# PATCH-FIX-OPENSUSE fix-tests.patch to make test work in chroot env without access to /dev/input
|
||||
Patch0: fix-tests.patch
|
||||
BuildRequires: %{python_module pip}
|
||||
BuildRequires: %{python_module setuptools}
|
||||
BuildRequires: %{python_module wheel}
|
||||
@@ -62,6 +60,7 @@ Python classes and wrappers for common SDL2 functionality.
|
||||
%autosetup -p1 -n PySDL2-%{version}
|
||||
|
||||
sed -i 's/\r$//' AUTHORS.txt COPYING.txt README.md
|
||||
find . -name *DS_Store -delete
|
||||
|
||||
%build
|
||||
%pyproject_wheel
|
||||
@@ -71,15 +70,6 @@ sed -i 's/\r$//' AUTHORS.txt COPYING.txt README.md
|
||||
%python_expand %fdupes %{buildroot}%{$python_sitelib}
|
||||
|
||||
%check
|
||||
#############################################
|
||||
### Launch a virtual framebuffer X server ###
|
||||
### (pytest-xvfb is not enough) ###
|
||||
#############################################
|
||||
export DISPLAY=%{X_display}
|
||||
Xvfb %{X_display} >& Xvfb.log &
|
||||
trap "kill $! || true" EXIT
|
||||
sleep 10
|
||||
|
||||
export SDL_VIDEODRIVER=dummy
|
||||
export SDL_AUDIODRIVER=dummy
|
||||
export SDL_RENDER_DRIVER=software
|
||||
|
Reference in New Issue
Block a user