Debian Patches

Status for pocketpy/2.1.8+ds-8

Patch Description Author Forwarded Bugs Origin Last update
0001-Add-CMake-install-rules-for-library-and-headers.patch Add CMake install rules for library and headers
Set project VERSION so that the shared library gets the
correct SOVERSION (2) and full version embedded in the filename.

Add GNUInstallDirs-based install() rules under PK_IS_MAIN so that
`cmake --install` places:
- the shared/static library into ${CMAKE_INSTALL_LIBDIR}
- include/pocketpy.h and include/pocketpy/ into ${CMAKE_INSTALL_INCLUDEDIR}
- a generated pocketpy.pc into ${CMAKE_INSTALL_LIBDIR}/pkgconfig

The pkg-config file lets consumers discover the library via
`pkg_check_modules(pocketpy REQUIRED pocketpy)`, which hands back
-I${includedir} (the umbrella include/pocketpy.h) and -lpocketpy,
instead of hand-rolling a Find module and guessing the include dir.

Without these rules the build tree produced no installed files.
Christopher Obbard <obbardc@debian.org> yes 2026-04-04
big-endian/0002-Enable-for-big-endian-architectures.patch Enable for big endian architectures
py_initialize() aborted at startup with "is_little_endian != true" on
big-endian hosts, which made the library unusable on s390x even though
the interpreter itself is byte-order agnostic once the endianness bugs
in the math and pickle code are fixed.

Drop the runtime check so the interpreter starts on big-endian
architectures.

Changes compared to the original patch (1649da70):
* Wrote a description explaining why the check is removed; the original
commit had a subject line only.

Upstream rejected the pull request listed in Forwarded, so this is
carried in Debian.
Pranav P <pranavsdream@gmail.com> yes other, https://github.com/pranavkaruvally/pocketpy/commits/s390x-fix/ 2026-08-22
big-endian/0003-Add-big-endian-support-for-math-library.patch Fix: add big-endian support for math library with proper double handling

The udi_t union in src/common/dmath.c aliases a double onto a pair of
int32_t halves and assumes i0 is the low word, which only holds on
little-endian hosts. On big-endian hosts the two halves are swapped, so
exp(), log() and friends read the wrong word and return garbage.

Swap the struct members when building for big-endian, and define
PK_BIG_ENDIAN from CMake based on CMAKE_C_BYTE_ORDER.

Changes compared to the original patch (d294c667):
* Dropped the unrelated hunk which added a trailing newline to the end
of CMakeLists.txt.
* Wrote a description explaining the word-order assumption in udi_t;
the original commit had a subject line only.

Upstream rejected the pull request listed in Forwarded, so this is
carried in Debian.
Pranav P <pranavsdream@gmail.com> yes other, https://github.com/pranavkaruvally/pocketpy/commits/s390x-fix/ 2026-08-22
big-endian/0004-Correct-pickle-integer-serialization.patch fix: correct pickle integer serialization for all architectures
Fix integer serialization in pickle module by creating properly-sized
intermediate variables (int8_t, int16_t, int32_t) before writing bytes.
This ensures correct byte extraction regardless of system endianness.

Previously, passing &val (always 64-bit) would write incorrect bytes on
big-endian systems. Now passing &v (correctly sized) ensures portable
serialization across little-endian and big-endian architectures.

Changes compared to the original patch (c2fd14b4):
* None.

Upstream rejected the pull request listed in Forwarded, so this is
carried in Debian.
Pranav P <pranavsdream@gmail.com> yes other, https://github.com/pranavkaruvally/pocketpy/commits/s390x-fix/ 2026-08-22

All known versions for source package 'pocketpy'

Links