From 6c6ba45055af93c14f1583f5bdc295b86b28d8ad21049a2215a02d2f78e125b3 Mon Sep 17 00:00:00 2001 From: Matej Cepl Date: Fri, 17 Sep 2021 09:03:21 +0000 Subject: [PATCH] - Swtich off tests.video_test.VideoModuleTest.test_renderer_set_viewport (gh#pygame/pygame#2721 and gh#pygame/pygame#2670) on 32bit systems for incompatibility with SDL2 2.0.16. OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pygame?expand=0&rev=33 --- python-pygame.changes | 5 ++- python-pygame.spec | 6 ++- support-SDL2-2.0.16.patch | 94 +++++++++++++++++++++++++++++++++++++++ 3 files changed, 102 insertions(+), 3 deletions(-) create mode 100644 support-SDL2-2.0.16.patch diff --git a/python-pygame.changes b/python-pygame.changes index 25253b0..c7b1c1c 100644 --- a/python-pygame.changes +++ b/python-pygame.changes @@ -1,7 +1,10 @@ ------------------------------------------------------------------- Thu Sep 16 21:02:06 UTC 2021 - Matej Cepl -- Switch off tests on i586 (gh#pygame/pygame#2721) +- Swtich off + tests.video_test.VideoModuleTest.test_renderer_set_viewport + (gh#pygame/pygame#2721 and gh#pygame/pygame#2670) on 32bit + systems for incompatibility with SDL2 2.0.16. ------------------------------------------------------------------- Tue Apr 27 11:22:12 UTC 2021 - Ben Greiner diff --git a/python-pygame.spec b/python-pygame.spec index 2b27a06..953282b 100644 --- a/python-pygame.spec +++ b/python-pygame.spec @@ -26,6 +26,9 @@ License: LGPL-2.1-or-later Group: Development/Libraries/Python URL: https://github.com/pygame/pygame Source0: https://files.pythonhosted.org/packages/source/p/pygame/pygame-%{version}.tar.gz +# PATCH-FIX-UPSTREAM support-SDL2-2.0.16.patch gh#pygame/pygame#2721 mcepl@suse.com +# patch from gh#pygame/pygame#2670 +Patch0: support-SDL2-2.0.16.patch BuildRequires: %{python_module devel} BuildRequires: %{python_module numpy} BuildRequires: %{python_module setuptools} @@ -91,6 +94,7 @@ This package contains documentation and example programs for Pygame. %prep %setup -q -n pygame-%{version} %autopatch -p1 + sed -i 's/\r$//' docs/reST/ref/code_examples/draw_module_example.py sed -i 's/\r$//' docs/reST/ref/code_examples/joystick_calls.py sed -i 's/\r$//' docs/licenses/LICENSE*.txt @@ -122,14 +126,12 @@ rm %{buildroot}%{_docdir}/%{name}-doc/examples/.editorconfig %fdupes %{buildroot}%{_docdir}/%{name}-doc/ %check -%ifnarch %{ix86} export SDL_VIDEODRIVER=dummy export SDL_AUDIODRIVER=disk export LANG=en_US.UTF-8 %{python_expand export PYTHONPATH=%{buildroot}%{$python_sitearch} $python -m pygame.tests.__main__ -v --exclude opengl --time_out 300 } -%endif %files %{python_files} %doc README.rst diff --git a/support-SDL2-2.0.16.patch b/support-SDL2-2.0.16.patch new file mode 100644 index 0000000..fecd9a2 --- /dev/null +++ b/support-SDL2-2.0.16.patch @@ -0,0 +1,94 @@ +From 6b7a8c14f1c20d521d0e15873e1fa7f3679b86f4 Mon Sep 17 00:00:00 2001 +From: Starbuck5 +Date: Fri, 13 Aug 2021 21:49:39 -0700 +Subject: [PATCH 1/3] Move to SDL 2.0.16 for Windows + +--- + buildconfig/download_win_prebuilt.py | 8 ++++---- + test/mixer_test.py | 5 +++-- + test/video_test.py | 10 ++++++---- + 3 files changed, 13 insertions(+), 10 deletions(-) + +--- a/buildconfig/download_win_prebuilt.py ++++ b/buildconfig/download_win_prebuilt.py +@@ -64,8 +64,8 @@ def get_urls(x86=True, x64=True, sdl2=Tr + if sdl2: + url_sha1.extend([ + [ +- 'https://www.libsdl.org/release/SDL2-devel-2.0.14-VC.zip', +- '48d5dcd4a445410301f5575219cffb6de654edb8', ++ 'https://www.libsdl.org/release/SDL2-devel-2.0.16-VC.zip', ++ '13d952c333f3c2ebe9b7bc0075b4ad2f784e7584', + ], + [ + 'https://www.libsdl.org/projects/SDL_image/release/SDL2_image-devel-2.0.5-VC.zip', +@@ -244,12 +244,12 @@ def place_downloaded_prebuilts(temp_dir, + copy( + os.path.join( + temp_dir, +- 'SDL2-devel-2.0.14-VC/SDL2-2.0.14' ++ 'SDL2-devel-2.0.16-VC/SDL2-2.0.16' + ), + os.path.join( + move_to_dir, + prebuilt_dir, +- 'SDL2-2.0.14' ++ 'SDL2-2.0.16' + ) + ) + +--- a/test/mixer_test.py ++++ b/test/mixer_test.py +@@ -41,7 +41,8 @@ CONFIGS = [ + + CONFIG = {"frequency": 22050, "size": -16, "channels": 2} # base config + if pygame.get_sdl_version()[0] >= 2: +- CONFIG = {"frequency": 44100, "size": 32, "channels": 2} # base config ++ # base config ++ CONFIG = {"frequency": 44100, "size": 32, "channels": 2, "allowedchanges": 0} + + + class InvalidBool(object): +@@ -86,7 +87,7 @@ class MixerModuleTest(unittest.TestCase) + # default values. No way to check buffer size though. + mixer.pre_init(22050, -8, 1) # Non default values + mixer.pre_init(0, 0, 0) # Should reset to default values +- mixer.init() ++ mixer.init(allowedchanges=0) + self.assertEqual(mixer.get_init()[0], 44100) + self.assertEqual(mixer.get_init()[1], -16) + self.assertGreaterEqual(mixer.get_init()[2], 2) +--- a/test/video_test.py ++++ b/test/video_test.py +@@ -1,4 +1,6 @@ + import unittest ++import platform ++import sys + import pygame + + SDL2 = pygame.get_sdl_version()[0] >= 2 +@@ -6,13 +8,14 @@ SDL2 = pygame.get_sdl_version()[0] >= 2 + if SDL2: + from pygame._sdl2 import video + +- + class VideoModuleTest(unittest.TestCase): + default_caption = "pygame window" + ++ @unittest.skipIf((not (sys.maxsize > 2 ** 32)), ++ "32 bit SDL 2.0.16 has an issue.", ++ ) + def test_renderer_set_viewport(self): +- """ works. +- """ ++ """works.""" + window = video.Window(title=self.default_caption, size=(800, 600)) + renderer = video.Renderer(window=window) + renderer.logical_size = (1920, 1080) +@@ -20,6 +23,5 @@ if SDL2: + renderer.set_viewport(rect) + self.assertEqual(renderer.get_viewport(), (0, 0, 1920, 1080)) + +- + if __name__ == "__main__": + unittest.main()