Fix build with libraw 0.19

Authored by arojas on Aug 28 2018, 9:30 PM.



Guard the calls to removed libraw API so that they are not compiled with 0.19. This patch is intended for the 18.08 branch, it simply drops the libraw calls but keeps the API intact (so the corresponding libkdcraw functions will just not do anything when using 0.19). See D15133 a follow-up revision for master that completely removes the API.

Patch based on digikam commit f5bc69c288dda2509dbdfd9c3c54cd82d88c38ef

Test Plan

Builds against libraw 0.18 and 0.19, gwenview can open and do stuff with RAW pictures.

Diff Detail

R377 KDCraw Library
Automatic diff as part of commit; lint not applicable.
Automatic diff as part of commit; unit tests not applicable.
arojas requested review of this revision.Aug 28 2018, 9:30 PM
arojas created this revision.
arojas edited the summary of this revision. (Show Details)Aug 28 2018, 9:38 PM
pino added a subscriber: pino.Aug 28 2018, 9:55 PM

I'd say to use this version, and merge it to master.
As noted in D15133: Drop functionality that depends on libraw features removed in 0.19, this approach IMHO is way safer, and less disruptive for users of libkdcraw (and downstreams too...).

If you want to add deprecation markers for things that will not work with libraw >= 0.19 go for it; otherwise this patch IMHO seems OK.

Thanks, this works fine for me!

@rempt, krita master will need the same fix (unless libkdcraw is being unbundled again).

rempt accepted this revision.Aug 29 2018, 1:44 PM

We cannot unbundle libkdcraw since its maintainer made it into something completely different. I'm fine with merging this patch.

This revision is now accepted and ready to land.Aug 29 2018, 1:44 PM
arojas updated this revision to Diff 40655.Aug 29 2018, 4:48 PM

Add deprecation markers, update DecodingQuality enum

arojas updated this revision to Diff 40656.Aug 29 2018, 4:49 PM

Minor doc fix

This revision was automatically updated to reflect the committed changes.