I've now packaged sys-libs/minizip-ng and sys-libs/zlib-ng is keyworded. Please adjust the dolphin ebuild to use them. Thanks!
Upstream is forcing bundled zlib-ng... which makes zero sense given they're also using external minizip-ng x_x.
1/ Dolphin requires sys-libs/minizip-ng[compat] which is still masked unmasking does not resolve things here as it forbids sys-libs/zlib[minizip] required by other packages. 2/ notice to unbundle zlib-ng sed -i -e 's/add_subdirectory(Externals\/zlib-ng)/find_package(PkgConfig REQUIRED)\npkg_check_modules(zlib-ng z-ng)/' CMakeLists.txt sed -i -e 's/ZLIB::ZLIB/z-ng/' $(find -name CMakeLists.txt -exec grep -l ZLIB::ZLIB '{}' '+') || die Yet it still fails as mz_compat.h is missing (c.f.: 1).
In my local package for minizip-ng, I didn't mask compat, and didn't notice any issue using it with zlib[minizip] However I tested without installing zlib-ng and using only the bundled version as at the point I tested minizip-ng was only a local ebuild and I didn't want to un-keyword zlib-ng
Oh, my draft for minizip-ng also included: -DCMAKE_INSTALL_INCLUDEDIR=/usr/include/minizip-ng # do not mix up with libzip -DMZ_PROJECT_SUFFIX=-ng # Force -ng suffix even with compat
Maybe zlib-ng should also allow to set -ng suffix even when using compat mode So both zlibg-ng, minizip-ng, and zlib[minizip] can be installed altogether without collision. Preferred version will remain sys-libs/zlib, but build system for any package may be tweaked to choose which zlib/minizip to use.
Sorry to be so verbose, but I did further test and couldn't apply -ng prefix when in compat mode for zlib-ng So I just reverted my view and linked to zlib: sed -i -e 's/add_subdirectory(Externals\/zlib-ng)/find_package(PkgConfig REQUIRED)\npkg_check_modules(zlib z)/' CMakeLists.txt sed -i -e 's/ZLIB::ZLIB/z/' $(find -name CMakeLists.txt -exec grep -l ZLIB::ZLIB '{}' '+') || die and tweaked minizip-ng to use -ng prefix even in compat mode: comment#4
(In reply to Samuel Bauer from comment #4) > Oh, my draft for minizip-ng also included: > > -DCMAKE_INSTALL_INCLUDEDIR=/usr/include/minizip-ng # do not mix up with > libzip > -DMZ_PROJECT_SUFFIX=-ng # Force -ng suffix even with compat The problem is, it's legitimate to want it to replace the system minizip, but it's not something we're encouraging yet. So, I guess we want to do.. two builds? 1. Systemwide minizip (conflicts with zlib[minizip]) 2. minizip-ng mode (USE=compat but install to -ng prefix) Or do we do 3 builds?
*** Bug 850568 has been marked as a duplicate of this bug. ***
*** Bug 880207 has been marked as a duplicate of this bug. ***
Created attachment 864741 [details, diff] fix minizip-ng[-compat] detection One could take inspiration from https://github.com/dolphin-emu/dolphin/blob/master/Externals/zlib-ng/CMakeLists.txt to fix zlib-ng detection.