tech-pkg archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

archivers/py-zstandard broken after update to archivers/zstd-1.5.7



With the update of archivers/zstd from 1.5.6 to 1.5.7 py-zstandard no
longer builds, which takes out a bunch of useful packages such as
security/py-certbot

The issue looks to be some defined in $PREFIX/include/zstd.h to handle
renames, specifically:

1511:#define ZSTD_frameType_e ZSTD_FrameType_e /* old name */
1523:#define ZSTD_frameHeader ZSTD_FrameHeader /* old name */
1585:#define ZSTD_sequenceFormat_e ZSTD_SequenceFormat_e /* old name */

If they are present the generated zstandard/_cffi.c in py-zstandard
includes checks that those are defined as integers... which clearly
they are not.

commenting out the defines allows py-zstandard to build, but is
clearly likely to cause issues for other packages, and might even
break py-zstandard

This is complicated by the fact that the last py-zstandard release was
in 2023, so upstream is at best moribund. It shipped an in-tree zstd.h
which needed to be removed to even get 1.5.6 to build

So... options include:
- fixup the logic which generates zstandard/_cffi.c
- copy $PREFIX/include/zstd.h into the build tree, modified to remove
the defines
- add some "#ifndef DISABLE_157_COMPAT_RENAMES" to the installed zstd.h
- revert zstd to 1.5.6

The first is outside my scope, and the two fixup may work, but I'm not
absolutely certain they would

Anyone have any suggestions?

Thanks

David


Home | Main Index | Thread Index | Old Index