From 5c92849434ee95238b4738a08c2528b6df495fb3ee0a22a2cefb947a87ca3dcf Mon Sep 17 00:00:00 2001 From: Luca Beltrame Date: Fri, 31 Aug 2018 12:16:51 +0000 Subject: [PATCH] Accepting request 632504 from home:wolfi323:branches:KDE:Extra - Add fix-build-with-dcraw-0.19.patch to fix compilation with the latest libraw - Remove unnecessary libkdcraw-devel BuildRequires, krita doesn't use it anymore since a while OBS-URL: https://build.opensuse.org/request/show/632504 OBS-URL: https://build.opensuse.org/package/show/KDE:Extra/krita?expand=0&rev=81 --- fix-build-with-dcraw-0.19.patch | 165 ++++++++++++++++++++++++++++++++ krita.changes | 8 ++ krita.spec | 4 +- 3 files changed, 176 insertions(+), 1 deletion(-) create mode 100644 fix-build-with-dcraw-0.19.patch diff --git a/fix-build-with-dcraw-0.19.patch b/fix-build-with-dcraw-0.19.patch new file mode 100644 index 0000000..d708389 --- /dev/null +++ b/fix-build-with-dcraw-0.19.patch @@ -0,0 +1,165 @@ +From 3b7d0f2cbf66b06e12c57be26b262b71d8030d1a Mon Sep 17 00:00:00 2001 +From: Boudewijn Rempt +Date: Fri, 31 Aug 2018 11:04:18 +0200 +Subject: Fix build with dcraw 0.19 + +Port of https://phabricator.kde.org/D15132 +--- + .../impex/raw/3rdparty/libkdcraw/src/kdcraw_p.cpp | 8 +++++++ + .../3rdparty/libkdcraw/src/rawdecodingsettings.h | 28 ++++++++++++---------- + 2 files changed, 24 insertions(+), 12 deletions(-) + +diff --git a/plugins/impex/raw/3rdparty/libkdcraw/src/kdcraw_p.cpp b/plugins/impex/raw/3rdparty/libkdcraw/src/kdcraw_p.cpp +index 1c761f8..adc26d2 100644 +--- a/plugins/impex/raw/3rdparty/libkdcraw/src/kdcraw_p.cpp ++++ b/plugins/impex/raw/3rdparty/libkdcraw/src/kdcraw_p.cpp +@@ -375,6 +375,7 @@ bool KDcraw::Private::loadFromLibraw(const QString& filePath, QByteArray& imageD + raw.imgdata.params.fbdd_noiserd = lround(m_parent->m_rawDecodingSettings.NRThreshold / 100.0); + break; + } ++#if !LIBRAW_COMPILE_CHECK_VERSION_NOTLESS(0, 19) + case RawDecodingSettings::LINENR: + { + // (100 - 1000) => (0.001 - 0.02) conversion. +@@ -391,23 +392,28 @@ bool KDcraw::Private::loadFromLibraw(const QString& filePath, QByteArray& imageD + raw.imgdata.params.cfa_clean = true; + break; + } ++#endif + default: // No Noise Reduction + { + raw.imgdata.params.threshold = 0; + raw.imgdata.params.fbdd_noiserd = 0; ++#if !LIBRAW_COMPILE_CHECK_VERSION_NOTLESS(0, 19) + raw.imgdata.params.linenoise = 0; + raw.imgdata.params.cfaline = false; + raw.imgdata.params.lclean = 0; + raw.imgdata.params.cclean = 0; + raw.imgdata.params.cfa_clean = false; ++#endif + break; + } + } + ++#if !LIBRAW_COMPILE_CHECK_VERSION_NOTLESS(0, 19) + // Chromatic aberration correction. + raw.imgdata.params.ca_correc = m_parent->m_rawDecodingSettings.enableCACorrection; + raw.imgdata.params.cared = m_parent->m_rawDecodingSettings.caMultiplier[0]; + raw.imgdata.params.cablue = m_parent->m_rawDecodingSettings.caMultiplier[1]; ++#endif + + // Exposure Correction before interpolation. + raw.imgdata.params.exp_correc = m_parent->m_rawDecodingSettings.expoCorrection; +@@ -461,8 +467,10 @@ bool KDcraw::Private::loadFromLibraw(const QString& filePath, QByteArray& imageD + + raw.imgdata.params.dcb_iterations = m_parent->m_rawDecodingSettings.dcbIterations; + raw.imgdata.params.dcb_enhance_fl = m_parent->m_rawDecodingSettings.dcbEnhanceFl; ++#if !LIBRAW_COMPILE_CHECK_VERSION_NOTLESS(0, 19) + raw.imgdata.params.eeci_refine = m_parent->m_rawDecodingSettings.eeciRefine; + raw.imgdata.params.es_med_passes = m_parent->m_rawDecodingSettings.esMedPasses; ++#endif + + //------------------------------------------------------------------------------------------- + +diff --git a/plugins/impex/raw/3rdparty/libkdcraw/src/rawdecodingsettings.h b/plugins/impex/raw/3rdparty/libkdcraw/src/rawdecodingsettings.h +index 6d7c106..5916fb2 100644 +--- a/plugins/impex/raw/3rdparty/libkdcraw/src/rawdecodingsettings.h ++++ b/plugins/impex/raw/3rdparty/libkdcraw/src/rawdecodingsettings.h +@@ -54,8 +54,6 @@ public: + + /** RAW decoding Interpolation methods + * +- * NOTE: from original dcraw demosaic +- * + * Bilinear: use high-speed but low-quality bilinear + * interpolation (default - for slow computer). In this method, + * the red value of a non-red pixel is computed as the average of +@@ -71,37 +69,38 @@ public: + * AHD: use Adaptive Homogeneity-Directed interpolation. + * This method selects the direction of interpolation so as to + * maximize a homogeneity metric, thus typically minimizing color artifacts. ++ * DCB: DCB interpolation (see http://www.linuxphoto.org/html/dcb.html for details) + * +- * NOTE: from GPL2 demosaic pack. ++ * NOTE: from GPL2/GPL3 demosaic packs - will not work with libraw>=0.19 + * +- * DCB: DCB interpolation (see http://www.linuxphoto.org/html/dcb.html for details) + * PL_AHD: modified AHD interpolation (see http://sites.google.com/site/demosaicalgorithms/modified-dcraw + * for details). + * AFD: demosaicing through 5 pass median filter from PerfectRaw project. + * VCD: VCD interpolation. + * VCD_AHD: mixed demosaicing between VCD and AHD. + * LMMSE: LMMSE interpolation from PerfectRaw. +- * +- * NOTE: from GPL3 demosaic pack. +- * + * AMAZE: AMaZE interpolation and color aberration removal from RawTherapee project. ++ * ++ * NOTE: for libraw>=0.19 only ++ * ++ * DHT: DHT interpolation. ++ * AAHD: Enhanced Adaptative AHD interpolation. + */ + enum DecodingQuality + { +- // from original dcraw demosaic + BILINEAR = 0, + VNG = 1, + PPG = 2, + AHD = 3, +- // Extended demosaicing method from GPL2 demosaic pack + DCB = 4, + PL_AHD = 5, + AFD = 6, + VCD = 7, + VCD_AHD = 8, + LMMSE = 9, +- // Extended demosaicing methods from GPL3 demosaic pack +- AMAZE = 10 ++ AMAZE = 10, ++ DHT = 11, ++ AAHD = 12 + }; + + /** White balances alternatives +@@ -261,6 +260,7 @@ public: + int NRThreshold; + + /** Turn on chromatic aberrations correction ++ * @deprecated does not work with libraw>=0.19 + */ + bool enableCACorrection; + +@@ -268,6 +268,7 @@ public: + * - caMultiplier[0] = amount of correction on red-green axis. + * - caMultiplier[1] = amount of correction on blue-yellow axis. + * - Both values set to 0.0 = automatic CA correction. ++ * @deprecated does not work with libraw>=0.19 + */ + double caMultiplier[2]; + +@@ -334,17 +335,20 @@ public: + /// For VCD_AHD interpolation. + + /** Turn on the EECI refine for VCD Demosaicing. ++ * @deprecated does not work with libraw>=0.19 + */ + bool eeciRefine; + + /** Use edge-sensitive median filtering for artifact supression after VCD demosaicing. + * 0 : disable (default) + * 1-10 : median filter passes. ++ * @deprecated does not work with libraw>=0.19 + */ + int esMedPasses; + + /** For IMPULSENR Noise reduction. Set the amount of Chrominance impulse denoise. +- Null value disable NR. Range is between 100 and 1000. ++ * Null value disable NR. Range is between 100 and 1000. ++ * @deprecated does not work with libraw>=0.19 + */ + int NRChroThreshold; + +-- +cgit v0.11.2 + diff --git a/krita.changes b/krita.changes index aec6119..3ac1812 100644 --- a/krita.changes +++ b/krita.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Fri Aug 31 10:53:09 UTC 2018 - wbauer@tmo.at + +- Add fix-build-with-dcraw-0.19.patch to fix compilation with the + latest libraw +- Remove unnecessary libkdcraw-devel BuildRequires, krita doesn't + use it anymore since a while + ------------------------------------------------------------------- Wed Jul 18 17:09:19 UTC 2018 - wbauer@tmo.at diff --git a/krita.spec b/krita.spec index 3c2d614..6901dc9 100644 --- a/krita.spec +++ b/krita.spec @@ -37,6 +37,8 @@ Source0: http://download.kde.org/stable/krita/%{version}/krita-%{version} Patch: fix-build-with-Qt5.6.patch # PATCH-FIX-OPENSUSE fix_libgif_5_0_build.patch -- Trivial fix to make Krita link against libgif 5.0.x in openSUSE Leap 42.3 Patch1: fix_libgif_5_0_build.patch +# PATCH-FIX-UPSTREAM +Patch2: fix-build-with-dcraw-0.19.patch BuildRequires: Mesa-devel BuildRequires: OpenColorIO-devel BuildRequires: OpenEXR-devel @@ -69,7 +71,6 @@ BuildRequires: kxmlgui-devel BuildRequires: libeigen3-devel BuildRequires: libexiv2-devel BuildRequires: libjpeg-devel -BuildRequires: libkdcraw-devel BuildRequires: liblcms2-devel BuildRequires: libpng-devel BuildRequires: libpoppler-qt5-devel @@ -139,6 +140,7 @@ Development headers and libraries for Krita. %if 0%{?suse_version} < 1320 %patch1 %endif +%patch2 -p1 %build # install translations to %%{_kf5_localedir} so they don't clash with the krita translations in calligra-l10n (KDE4 based)