Closed lilyinstarlight closed 1 year ago
it requires having the G'MIC source rather than just the installed system files
Not a problem for my Gentoo ebuild, because I combine gmic and gmic-qt in the same package: https://github.com/stefantalpalaru/gentoo-overlay/blob/9d7fe8de785526a7b9db12943f3bd59d3ef3b98d/media-gfx/gmic/gmic-3.2.0-r100.ebuild
That said, I tested your patch and it works as advertised. The only problem is that things will break when G'MIC and CImg APIs will diverge and there is no automated testing to catch it.
We can't really force upstream to support CImg if they don't want to.
That said, I tested your patch and it works as advertised. The only problem is that things will break when G'MIC and CImg APIs will diverge and there is no automated testing to catch it.
The trouble is the G'MIC API with gmic_core
enabled is just more or less a renamed CImg API (I mean there are references to gmic_library::cimg
in gmic-qt even)
With gmic_core
disabled, it provides a smaller API that is far too incomplete because gmic-qt expects to have the CImg API in the gmic_library
namespace which is way more than the small stubs provide
If upstream has some other solution they would prefer (e.g. expanding the smaller API when gmic_core
is not defined or allowing to build with gmic_core
with only installed system files), then I'm happy to use anything that just actually fixes the build too
Let me know if I'm misunderstanding any of the internals between gmic-qt/G'MIC/CImg because I really only got acquainted with them over the last week or two
Thanks!
I'm currently away for one week. I'll see what to do when I return. Thanks !
Le lun. 20 févr. 2023 à 12:42, Lily Foster @.***> a écrit :
That said, I tested your patch and it works as advertised. The only problem is that things will break when G'MIC and CImg APIs will diverge and there is no automated testing to catch it.
The trouble is the G'MIC API with gmic_core enabled is just more or less a renamed CImg API (I mean there are references to gmic_library::cimg in gmic-qt even)
With gmic_core disabled, it provides a smaller API that is far too incomplete because gmic-qt expects to have the CImg API in the gmic_library namespace which is way more than the small stubs provide
If upstream has some other solution they would prefer (e.g. expanding the smaller API when gmic_core is not defined or allowing to build with gmic_core with only installed system files), then I'm happy to use anything that just actually fixes the build too
Let me know if I'm misunderstanding any of the internals between gmic-qt/G'MIC/CImg because I really only got acquainted with them over the last week or two
Thanks!
— Reply to this email directly, view it on GitHub https://github.com/c-koi/gmic-qt/pull/174#issuecomment-1436829093, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACNFMBPW5XOQ3CBU5HXDNA3WYNKBLANCNFSM6AAAAAAVBH4OAE . You are receiving this because you are subscribed to this thread.Message ID: @.***>
Closing in favor of #175 and opening one more PR in the gmic repo
We need to include
CImg.h
whengmic_core
is not defined so that we can work on only shared libs and header files rather than requiringgmic.cpp
to exist somewhere on the systemThis reverts #172 because
gmic_core
is fundamentally incompatible withENABLE_SYSTEM_GMIC
because it requires having the G'MIC source rather than just the installed system filesThis is implemented via a header indirection to detect when
gmic_core
is undefined and includesCImg.h
similar to howgmic.h
does whengmic_core
is defined@stefantalpalaru thoughts?