> Source: castle-game-engine > Version: 5.2.0-2 > Severity: serious > Justification: libpng1.6 transition > > Dear maintainer, > > in the discussion in #820566 it surfaced that castle-game-engine has a > hardcoded > dependency on libpng12. > > After the completion of the tlibpng 1.6 transition, libpng12 will be removed, > Therefore this bug is RC. > > Another bug is that this dependency is completly oqaue to the outside world. > this is why has not been detected during the preparation of the transtiion. > Please establish something here to catch e.g by buildtime checks, > build-conflicts or other measure to make this more robust for other > transitions. > > (view3dscene, #820566 has the same bug, maybe you find can together find an > solution.)
1. 2. are just clarifications (I'm just repeating here some bits mentioned in https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=820566 ), 3. is a suggestion how to make a buildtime check if someone would like to tackle this:) 1. Castle Game Engine works with libpng 1.2 or 1.4 (not only 1.2). 2. It's not a "hard dependency on libpng". It's perfectly sensible to use Castle Game Engine without libpng. Having libpng installed *helps* (it allows you to open png images, obviously), but it is not required for all CGE use-cases. E.g. if you make a game that does not load png images, you can certainly use Castle Game Engine without libpng. For Debian packaging, it may make sense to just simplify and say "let castle-game-engine recommend libpng". I'm just saying that it's not a strict dependency for upstream. Also remember that it will disappear in next CGE release, where PNG reader is implemented without libpng (using FPC fcl-image, so it gets compiled statically in, with the rest of FPC RTL). 3. If you want to add an automatic test that CGE can correctly read+write PNG files, you can use e.g. examples/images_videos/image_convert.lpr . Just compile it, and run like image_convert ../2d/box_with_borders.png /tmp/whatever.png If /tmp/whatever.png exists, then png reading+writing works. In case of problems (like a missing libpng), the program should write a clear error message and have non-zero exit status. Regards, Michalis