14
0
forked from pool/python-PySDL2

Accepting request 992068 from devel:languages:python

- Update to 0.9.13:
  - Updated to wrap new functions and constants in SDL_ttf
    2.20.0.
  - Updated to wrap new functions and constants in SDL_mixer
    2.6.0.
  - Updated to wrap new functions and constants in SDL_image
    2.6.0.
  - Added experimental bindings for the new functions and
    constants in the SDL 2.23.1 pre-release.
  - Added a new function :func:sdl2.ext.load_svg that allows
    loading simple SVG images at arbitrary resolutions with
    SDL_image 2.6.0 or later.
  - Added bindings for new functions and constants introduced in
    SDL2 2.0.22
  - Added a stable API for accessing the raw ctypes function
    objects for SDL2 functions
  - Various bugfixes (see the project's news.rst for more info)
- Add mixer_tests_fix.patch to switch off failing tests
  (gh#py-sdl/py-sdl2#241).

OBS-URL: https://build.opensuse.org/request/show/992068
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-PySDL2?expand=0&rev=8
This commit is contained in:
2022-08-01 19:32:03 +00:00
committed by Git OBS Bridge
5 changed files with 119 additions and 17 deletions

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:93e51057d39fd583b80001d42b21d5a3f71e30d489d85924d944b2c7350e2da6
size 736026

3
PySDL2-0.9.13.tar.gz Normal file
View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:09ee9181175fa7fd3a7c8b1992f4353ed59ac4118505e9aa7e8dbec42018136f
size 754811

73
mixer_tests_fix.patch Normal file
View File

@@ -0,0 +1,73 @@
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)

View File

@@ -1,3 +1,26 @@
-------------------------------------------------------------------
Fri Jul 29 12:38:06 UTC 2022 - Matej Cepl <mcepl@suse.com>
- Update to 0.9.13:
- Updated to wrap new functions and constants in SDL_ttf
2.20.0.
- Updated to wrap new functions and constants in SDL_mixer
2.6.0.
- Updated to wrap new functions and constants in SDL_image
2.6.0.
- Added experimental bindings for the new functions and
constants in the SDL 2.23.1 pre-release.
- Added a new function :func:sdl2.ext.load_svg that allows
loading simple SVG images at arbitrary resolutions with
SDL_image 2.6.0 or later.
- Added bindings for new functions and constants introduced in
SDL2 2.0.22
- Added a stable API for accessing the raw ctypes function
objects for SDL2 functions
- Various bugfixes (see the project's news.rst for more info)
- Add mixer_tests_fix.patch to switch off failing tests
(gh#py-sdl/py-sdl2#241).
-------------------------------------------------------------------
Sun Mar 20 09:55:17 UTC 2022 - Ben Greiner <code@bnavigator.de>

View File

@@ -19,18 +19,23 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
%define X_display ":98"
Name: python-PySDL2
Version: 0.9.11
Version: 0.9.13
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
BuildRequires: %{python_module pip}
BuildRequires: %{python_module setuptools}
BuildRequires: SDL2 >= 2.0.5
BuildRequires: SDL2_gfx >= 1.0.3
BuildRequires: SDL2_image >= 2.0.1
BuildRequires: SDL2_mixer >= 2.0.1
BuildRequires: SDL2_ttf >= 2.0.14
BuildRequires: %{python_module wheel}
BuildRequires: SDL2 >= 2.0.22
BuildRequires: SDL2_gfx >= 1.0.4
BuildRequires: SDL2_image >= 2.6.0
BuildRequires: SDL2_mixer >= 2.6.0
BuildRequires: SDL2_ttf >= 2.20.0
BuildRequires: fdupes
BuildRequires: python-rpm-macros
# SECTION test requirements
@@ -39,11 +44,11 @@ BuildRequires: %{python_module Pillow}
BuildRequires: %{python_module pytest}
BuildRequires: xorg-x11-server
# /SECTION
Requires: SDL2 >= 2.0.5
Requires: SDL2_gfx >= 1.0.3
Requires: SDL2_image >= 2.0.1
Requires: SDL2_mixer >= 2.0.1
Requires: SDL2_ttf >= 2.0.14
Requires: SDL2 >= 2.0.22
Requires: SDL2_gfx >= 1.0.4
Requires: SDL2_image >= 2.6.0
Requires: SDL2_mixer >= 2.6.0
Requires: SDL2_ttf >= 2.20.0
BuildArch: noarch
%python_subpackages
@@ -55,13 +60,14 @@ Python classes and wrappers for common SDL2 functionality.
%prep
%autosetup -p1 -n PySDL2-%{version}
sed -i 's/\r$//' AUTHORS.txt COPYING.txt README.md
%build
%python_build
%pyproject_wheel
%install
%python_install
%pyproject_install
%python_expand %fdupes %{buildroot}%{$python_sitelib}
%check
@@ -98,7 +104,7 @@ python2_donttest=" or test_SDL_GetBasePath or test_render_on"
%files %{python_files}
%license COPYING.txt
%doc AUTHORS.txt README.md
%doc AUTHORS.txt README.md doc/
%{python_sitelib}/sdl2
%{python_sitelib}/PySDL2-%{version}*-info