Summary: | sys-libs/minizip-ng-3.0.8 - tries to find_dependency(ZLIBNG) but sys-libs/zlib-ng doesn't install cmake files | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Bernd <waebbl-gentoo> |
Component: | Current packages | Assignee: | Gentoo's Team for Core System packages <base-system> |
Status: | CONFIRMED --- | ||
Severity: | normal | CC: | negril.nx+gentoo |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
See Also: |
https://github.com/zlib-ng/minizip-ng/issues/722 https://github.com/zlib-ng/zlib-ng/pull/1601 |
||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | 872254 | ||
Bug Blocks: | 895714 |
Description
Bernd
2023-02-19 19:53:55 UTC
I'd appreciate it if you could take a look at fixing zlib-ng, it's kind of a mess overall. Could it be the issue is related to https://github.com/zlib-ng/minizip-ng/blob/master/CMakeLists.txt#L226-L230 in combination with our dependency on zlib-ng? The variable MINIZIP_DEP_PKG is later (lines 736..741) used to populate the list of dependencies for minizip-config.cmake. The logic emits ZLIBNG if zlib-ng is found or if not in compat mode, else ZLIB is emitted. If I build with USE=compat and remove zlib-ng prior to configuring the package, I verified that it emits find_dependency(ZLIB REQUIRED) instead of find_dependency(ZLIBNG REQUIRED). Even without USE=compat but zlib-ng not installed, it emits ZLIB, although I'm not sure yet why that's the case. So far, I'd say we should possibly drop the zlib-ng dep for now and only add it in as an any-of-depencency with zlib once it's ready to be replaced completely. As for the OCIO dep which brought me to this issue, they require zlib and minizip-ng (configured with MZ_ZLIB=ON and MZ_COMPAT=OFF), but not zlib-ng and it seems to work on their github CI workflows. An issue for adding cmake config files is at https://github.com/zlib-ng/zlib-ng/issues/1320 This was partially fixed by zlib-ng supplying cmake config files with https://github.com/zlib-ng/zlib-ng/pull/1601. But parona pointed out that minizip-ng looks for ZLIBNG using a FindZLIBNG.cmake (that is not installed). Where as zlib-ng installs as ZLIB-NG. This can be fixed by a sed in src_prepare. > sed -e "s/ZLIBNG/ZLIBNG/g" -i CMakeLists.txt || die But minizip-ng then fails on missing zstd cmake files (https://bugs.gentoo.org/872254). Look at the comments in that bug, we really ought to either supply our own Findzstd.cmake with app-arch/zstd, that either wraps something like https://bugs.gentoo.org/872254#c3, or does something like minizip-ng already does in https://github.com/zlib-ng/minizip-ng/blob/4.0.8/CMakeLists.txt#L345-L358. |