Debian Patches

Status for pysdl2/0.9.9+dfsg1-6

Patch Description Author Forwarded Bugs Origin Last update
sdlttf_test-Accept-width-and-height-within-a-range.patch sdlttf_test: Accept width and height within a range
SDL2_ttf 2.0.18 with Harfbuzz-based font rendering gives a width
slightly narrower than 2.0.15, so tolerate that.

Previously the height was not allowed to be 22 or 23, but if 21 and 25
are both acceptable values, then anything in between also seems fine;
for better future-proofing, accept a range.
Simon McVittie <smcv@debian.org> yes debian upstream 2022-01-14
Fix-some-rwops-bugs.patch Fix some rwops bugs Austin Hurst <mynameisaustinhurst@gmail.com> no upstream, 0.9.11, commit:02c3845c8bb3498747e88ca42e8c5e15ac4cfd5e 2022-02-04
Clean-up-organization-of-dll.py.patch Clean up organization of dll.py Austin Hurst <mynameisaustinhurst@gmail.com> no upstream, 0.9.12, commit:c742ce6fcd73491f4397bd3f6e6fc99810716f3a 2022-05-17
Fix-unit-tests-version-parsing-for-latest-SDL2-229.patch Fix unit tests & version parsing for latest SDL2 (#229) Austin Hurst <mynameisaustinhurst@gmail.com> no backport, 0.9.12, commit:a264da234886f988db9c77b188e1820189b22ad2 2022-05-17
Handle-SDL-2.23-new-versioning-scheme-230.patch Handle SDL 2.23+ new versioning scheme (#230)
* test: Add more realistic tests of SDL_VERSIONNUM

The minor version overflows into the thousands digit in 2.23.0 and up.
Because the major version is fixed at 2 until SDL 3 (which will be a
separate library, like the difference between SDL 1.2 and 2), the
numbers from here can still be used as a sort order, but are now a bit
more confusing than they used to be.


* test: Avoid assertions that will break in upcoming versions

Future SDL 2 versions are going to make more use of the minor version,
so SDL 2.0.22, SDL_image 2.0.5, SDL_mixer 2.0.4 and SDL_ttf 2.0.18 will
be followed by 2.24.0, 2.6.0, 2.6.0 and 2.20.0 respectively.

This means assertions like version.patch >= 5 will no longer be true, so
compare the entire version number as a tuple instead.


* dll: Represent version number as a tuple, similar to sys.version_info

This avoids artificially limiting the range of possible version numbers
that will sort correctly.

For developer convenience, leave dll.version and dll.DLL.version
working in terms of small integers, because comparisons with those are
less verbose.
Simon McVittie <smcv@collabora.com> no backport, 0.9.12, commit:2986e60ff33df202c0b6ce6d2f1ae03a52d0098e 2022-05-18
version_test-Don-t-assert-that-SDL_GetRevision-starts-wit.patch version_test: Don't assert that SDL_GetRevision() starts with http
The default format is going to change in 2.25.x, and in git main it
currently starts with "SDL-".

SDL specifically documents the result of this function as "not intended
to be reliable in any way", so it seems wrong to have pysdl2's tests fail
whenever the format changes. To address that, turn unexpected formats
into an xfail, so that they're flagged as something to investigate but
do not make the unit tests fail when used as a QA gate.
Simon McVittie <smcv@collabora.com> yes upstream 2022-11-02
0001-drop-intersphinx.patch drop intersphinx =?utf-8?q?H=C3=A5vard_Flaget_Aasen?= <haavard_aasen@yahoo.no> not-needed 2020-12-28
0002-dont-include-buildpath-in-docs.patch don't include buildpath in docs =?utf-8?q?H=C3=A5vard_Flaget_Aasen?= <haavard_aasen@yahoo.no> not-needed 2020-12-28
surface_test-Don-t-overlap-pixel-rows.patch surface_test: Don't overlap pixel rows
SDL has the concept of pitch (sometimes referred to as stride or
rowstride in other imaging libraries, for example GNOME's GDK), which
is the number of bytes to advance through the data for each row/scanline.
Typically this is either exactly the number of bytes required to store
pixel data for a row, or a larger number chosen to align the beginning
of each row to a convenient memory address (for example a multiple of
16 bytes for SSE2).

Previously this test data used a fixed pitch of 16 bytes, even though
this is less than the memory required to store each 16-pixel row,
because each pixel uses 4 or 2 bytes of data (and therefore each 16-pixel
row is 64 or 32 bytes long). This meant SDL would start reading the
second row of pixels 16 bytes into the first row, and so on, with the
data for each row overlapping, and some unused bytes at the end. This
seems unlikely to have been intentional.

SDL 2.23.x and 2.24.0 have better validation for parameters, introduced
while adding overflow checks, which enforces that pixel rows do not
overlap (pitch < bytes per row). They may either have padding for better
alignment (pitch > bytes per row) or have no padding
(pitch == bytes per row, as seen after this commit).

Increase the pitch to match what was presumably intended.
Simon McVittie <smcv@collabora.com> not-needed 2022-08-22
Fix-unit-tests-on-big-endian-systems.patch Fix unit tests on big-endian systems
Manual backport of https://github.com/py-sdl/py-sdl2/pull/232 adjusted
to the 0.9.9 codebase.
Simon McVittie <smcv@collabora.com> yes debian upstream backport, 0.9.12, commit:38ba051a39b86ccd2c5a95125c8d7cfea3ddb691 2023-02-07

All known versions for source package 'pysdl2'

Links