From c4268c4cd949470e5491ec9e6304727dc76b614ef9e1db94d506bddfb1842254 Mon Sep 17 00:00:00 2001 From: Christophe Marin Date: Fri, 28 Jun 2024 15:10:54 +0000 Subject: [PATCH] Update to 5.2.3 OBS-URL: https://build.opensuse.org/package/show/KDE:Extra/krita?expand=0&rev=199 --- 0001-Fix-build-with-libjxl-0.9.0.patch | 95 ------------------ ...eator-add-workaround-for-JPEG-XL-too.patch | 33 ------ ...export-bug-workaround-for-libjxl-0.9.patch | 36 ------- 0004-Fix-build-with-sip6.8.patch | 7 +- krita-5.2.2.tar.xz | 3 - krita-5.2.2.tar.xz.sig | 16 --- krita-5.2.3.tar.xz | 3 + krita-5.2.3.tar.xz.sig | Bin 0 -> 310 bytes krita.changes | 37 +++++++ krita.spec | 31 ++---- 10 files changed, 53 insertions(+), 208 deletions(-) delete mode 100644 0001-Fix-build-with-libjxl-0.9.0.patch delete mode 100644 0002-KisFileIconCreator-add-workaround-for-JPEG-XL-too.patch delete mode 100644 0003-JPEG-XL-Disable-export-bug-workaround-for-libjxl-0.9.patch delete mode 100644 krita-5.2.2.tar.xz delete mode 100644 krita-5.2.2.tar.xz.sig create mode 100644 krita-5.2.3.tar.xz create mode 100644 krita-5.2.3.tar.xz.sig diff --git a/0001-Fix-build-with-libjxl-0.9.0.patch b/0001-Fix-build-with-libjxl-0.9.0.patch deleted file mode 100644 index e589002..0000000 --- a/0001-Fix-build-with-libjxl-0.9.0.patch +++ /dev/null @@ -1,95 +0,0 @@ -From 0bb4659b49ba3086cb757bd5db1839a91db9ffa9 Mon Sep 17 00:00:00 2001 -From: Timo Gurr -Date: Fri, 5 Jan 2024 14:04:50 +0000 -Subject: [PATCH 1/3] Fix build with libjxl 0.9.0 - -Fix build with libjxl 0.9.0 - -BUG:478987 - -Test Plan ---------- - -* Upgrade to libjxl 0.9.0 -* Apply patch from MR and build krita (5.2.2) -* Open/Display a sample image e.g. https://jpegxl.info/test-page/red-room.jxl - -Formalities Checklist ---------------------- - -- [x] I confirmed this builds. -- [x] I confirmed Krita ran and the relevant functions work (Could successfully open/display a sample image https://jpegxl.info/test-page/red-room.jxl). -- [ ] I tested the relevant unit tests and can confirm they are not broken. (If not possible, don't hesitate to ask for help!) -- [x] I made sure my commits build individually and have good descriptions as per [KDE guidelines](https://community.kde.org/Policies/Commit_Policy). -- [x] I made sure my code conforms to the standards set in the HACKING file. -- [x] I can confirm the code is licensed and attributed appropriately, and that unattributed code is mine, as per [KDE Licensing Policy](https://community.kde.org/Policies/Licensing_Policy). - -_**Reminder: the reviewer is responsible for merging the patch, this is to ensure at the least two people can build the patch. In case a patch breaks the build, both the author and the reviewer should be contacted to fix the build.**_ -_**If this is not possible, the commits shall be reverted, and a notification with the reasoning and any relevant logs shall be sent to the mailing list, kimageshop@kde.org.**_ - -(cherry picked from commit ace7edcca6ad322581ab39620f21ccf3ffbd3b5a) ---- - plugins/impex/jxl/JPEGXLImport.cpp | 15 ++++++++++++++- - 1 file changed, 14 insertions(+), 1 deletion(-) - -diff --git a/plugins/impex/jxl/JPEGXLImport.cpp b/plugins/impex/jxl/JPEGXLImport.cpp -index 573bae412473..f5b989b3b704 100644 ---- a/plugins/impex/jxl/JPEGXLImport.cpp -+++ b/plugins/impex/jxl/JPEGXLImport.cpp -@@ -511,7 +511,9 @@ JPEGXLImport::convert(KisDocument *document, QIODevice *io, KisPropertiesConfigu - JxlColorEncoding colorEncoding{}; - if (JXL_DEC_SUCCESS - == JxlDecoderGetColorAsEncodedProfile(dec.get(), -+#if JPEGXL_NUMERIC_VERSION < JPEGXL_COMPUTE_NUMERIC_VERSION(0, 9, 0) - nullptr, -+#endif - JXL_COLOR_PROFILE_TARGET_DATA, - &colorEncoding)) { - const TransferCharacteristics transferFunction = [&]() { -@@ -635,7 +637,12 @@ JPEGXLImport::convert(KisDocument *document, QIODevice *io, KisPropertiesConfigu - size_t iccSize = 0; - QByteArray iccProfile; - if (JXL_DEC_SUCCESS -- != JxlDecoderGetICCProfileSize(dec.get(), nullptr, JXL_COLOR_PROFILE_TARGET_DATA, &iccSize)) { -+ != JxlDecoderGetICCProfileSize(dec.get(), -+#if JPEGXL_NUMERIC_VERSION < JPEGXL_COMPUTE_NUMERIC_VERSION(0,9,0) -+ nullptr, -+#endif -+ JXL_COLOR_PROFILE_TARGET_DATA, -+ &iccSize)) { - errFile << "ICC profile size retrieval failed"; - document->setErrorMessage(i18nc("JPEG-XL errors", "Unable to read the image profile.")); - return ImportExportCodes::ErrorWhileReading; -@@ -643,7 +650,9 @@ JPEGXLImport::convert(KisDocument *document, QIODevice *io, KisPropertiesConfigu - iccProfile.resize(static_cast(iccSize)); - if (JXL_DEC_SUCCESS - != JxlDecoderGetColorAsICCProfile(dec.get(), -+#if JPEGXL_NUMERIC_VERSION < JPEGXL_COMPUTE_NUMERIC_VERSION(0,9,0) - nullptr, -+#endif - JXL_COLOR_PROFILE_TARGET_DATA, - reinterpret_cast(iccProfile.data()), - static_cast(iccProfile.size()))) { -@@ -657,7 +666,9 @@ JPEGXLImport::convert(KisDocument *document, QIODevice *io, KisPropertiesConfigu - if (!d.m_info.uses_original_profile) { - if (JXL_DEC_SUCCESS - != JxlDecoderGetICCProfileSize(dec.get(), -+#if JPEGXL_NUMERIC_VERSION < JPEGXL_COMPUTE_NUMERIC_VERSION(0,9,0) - nullptr, -+#endif - JXL_COLOR_PROFILE_TARGET_ORIGINAL, - &iccTargetSize)) { - errFile << "ICC profile size retrieval failed"; -@@ -667,7 +678,9 @@ JPEGXLImport::convert(KisDocument *document, QIODevice *io, KisPropertiesConfigu - iccTargetProfile.resize(static_cast(iccTargetSize)); - if (JXL_DEC_SUCCESS - != JxlDecoderGetColorAsICCProfile(dec.get(), -+#if JPEGXL_NUMERIC_VERSION < JPEGXL_COMPUTE_NUMERIC_VERSION(0,9,0) - nullptr, -+#endif - JXL_COLOR_PROFILE_TARGET_ORIGINAL, - reinterpret_cast(iccTargetProfile.data()), - static_cast(iccTargetProfile.size()))) { --- -2.43.0 - diff --git a/0002-KisFileIconCreator-add-workaround-for-JPEG-XL-too.patch b/0002-KisFileIconCreator-add-workaround-for-JPEG-XL-too.patch deleted file mode 100644 index a8387e9..0000000 --- a/0002-KisFileIconCreator-add-workaround-for-JPEG-XL-too.patch +++ /dev/null @@ -1,33 +0,0 @@ -From c12b77a6a6941fabc750a590159c7f9d98776ee4 Mon Sep 17 00:00:00 2001 -From: "Rasyuqa A. H." -Date: Sat, 6 Jan 2024 02:50:10 +0700 -Subject: [PATCH 2/3] KisFileIconCreator: add workaround for JPEG XL too - -KImageFormats / QImage can crash if we update libjxl to >= 0.9.0 due to API changes. -On Krita, this can result in crash whenever the thumbnail loads in welcome screen. - -This patch also enables thumbnail generation for JXL as well. - -(cherry picked from commit 1da5a7a6c2b2be5ec5e04c39a9a8663696d2b367) ---- - libs/ui/utils/KisFileIconCreator.cpp | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/libs/ui/utils/KisFileIconCreator.cpp b/libs/ui/utils/KisFileIconCreator.cpp -index 17d0e482301a..25dd82d1fb09 100644 ---- a/libs/ui/utils/KisFileIconCreator.cpp -+++ b/libs/ui/utils/KisFileIconCreator.cpp -@@ -112,8 +112,9 @@ bool KisFileIconCreator::createFileIcon(QString path, QIcon &icon, qreal deviceP - } else { - return false; - } -- } else if (mimeType == "image/tiff" || mimeType == "image/x-tiff") { -+ } else if (mimeType == "image/tiff" || mimeType == "image/x-tiff" || mimeType == "image/jxl") { - // Workaround for a bug in Qt tiff QImageIO plugin -+ // XXX: Also for JPEG-XL if KImageFormats haven't updated to accomodate libjxl >= v0.9.0 API changes. - QScopedPointer doc(KisPart::instance()->createTemporaryDocument()); - doc->setFileBatchMode(true); - bool r = doc->openPath(path, KisDocument::DontAddToRecent); --- -2.43.0 - diff --git a/0003-JPEG-XL-Disable-export-bug-workaround-for-libjxl-0.9.patch b/0003-JPEG-XL-Disable-export-bug-workaround-for-libjxl-0.9.patch deleted file mode 100644 index 39a9ffa..0000000 --- a/0003-JPEG-XL-Disable-export-bug-workaround-for-libjxl-0.9.patch +++ /dev/null @@ -1,36 +0,0 @@ -From b299812aaf8b79223b4523a43c1427e343b2e753 Mon Sep 17 00:00:00 2001 -From: "Rasyuqa A. H." -Date: Mon, 8 Jan 2024 17:48:34 +0700 -Subject: [PATCH 3/3] JPEG-XL: Disable export bug workaround for libjxl >= - 0.9.0 - -(cherry picked from commit 546765dfd396a4bb482b98a7b6ca22f1dca809af) ---- - plugins/impex/jxl/JPEGXLExport.cpp | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/plugins/impex/jxl/JPEGXLExport.cpp b/plugins/impex/jxl/JPEGXLExport.cpp -index e0d22f0d298a..f662cf4476cd 100644 ---- a/plugins/impex/jxl/JPEGXLExport.cpp -+++ b/plugins/impex/jxl/JPEGXLExport.cpp -@@ -832,14 +832,16 @@ KisImportExportErrorCode JPEGXLExport::convert(KisDocument *document, QIODevice - }(); - - // XXX: Workaround for a buggy lossless patches. Set to disable instead. -- // TODO Kampidh: revisit this when upstream got fixed. -+ // Patch only for libjxl under v0.9.0 - // - // See: https://github.com/libjxl/libjxl/issues/2463 - const int setPatches = [&]() -> int { -+#if JPEGXL_NUMERIC_VERSION < JPEGXL_COMPUTE_NUMERIC_VERSION(0, 9, 0) - if ((cfg->getInt("effort", 7) > 4) && !cfg->getBool("flattenLayers", true)) { - warnFile << "Using workaround for layer exports, disabling patches option on effort > 4"; - return 0; - } -+#endif - return cfg->getInt("patches", -1); - }(); - --- -2.43.0 - diff --git a/0004-Fix-build-with-sip6.8.patch b/0004-Fix-build-with-sip6.8.patch index 64e4213..c7be9cc 100644 --- a/0004-Fix-build-with-sip6.8.patch +++ b/0004-Fix-build-with-sip6.8.patch @@ -9,7 +9,7 @@ Fixes build with SIP 6.8 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/modules/pyproject.toml.in b/cmake/modules/pyproject.toml.in -index 090b2d4b0cb..085ddf41799 100644 +index 44ca263..462063b 100644 --- a/cmake/modules/pyproject.toml.in +++ b/cmake/modules/pyproject.toml.in @@ -9,7 +9,7 @@ name = "@module_name_toml@" @@ -20,7 +20,4 @@ index 090b2d4b0cb..085ddf41799 100644 +abi-version = "12.8" [tool.sip.bindings.@module_name_toml@] - tags = @module_tags@ --- -GitLab - + pep484-pyi = true diff --git a/krita-5.2.2.tar.xz b/krita-5.2.2.tar.xz deleted file mode 100644 index 4e494b5..0000000 --- a/krita-5.2.2.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:41515784d65b5bf12919df909f7406dc90f37076587b8c459ef2abd569a71adb -size 189146788 diff --git a/krita-5.2.2.tar.xz.sig b/krita-5.2.2.tar.xz.sig deleted file mode 100644 index 4c992b1..0000000 --- a/krita-5.2.2.tar.xz.sig +++ /dev/null @@ -1,16 +0,0 @@ ------BEGIN PGP SIGNATURE----- - -iQIzBAABCgAdFiEEBkGCRAxnTZ+ND2+LTaee2iMchSsFAmVxpvEACgkQTaee2iMc -hSsMOg/+Jp2BHdqvG2TJvFFNKLVOTTX2oKyIhxk3vMsfOaUtA6UixlPnL2QPq1Rl -l/VtcJ7sj/cFwwOyzk6bu++VJPSjPaOQDxJBhXsgtmDso4RWlSynMMx+1hf5tdx3 -0sgTlhD5fNJ4BI70vXUrjtO3MVagGxTu74Aicxe06dHuCSRcydBdCJcUlKloazZH -hQ2uPfCvgkyB+v3mT6s96AUQhDnfaRCqNJ++IaWG3uZMmSeYjs3GnUn7VZHjQh9r -vy7pmWa31JwMsfkvPomuYtHwfokCoQ2upvKQKedYp+iUf7zvnVCy6sqgTmsGSrgZ -KV0Q+CEM2Z8l+8Yhj4sq6Fn2oHY2RE352sa6WPgRp3LY5U41catZqneG32Zdv4QQ -gqXTZWTG4xo/OkjVjVir0m3n5DfMfLaN4u+athGvQIw7BN7z/ZUpSD1i4oJ2KmCg -IeMll937HVbgpoy8PuIP0X2dw12vI+ALIe8h451zMo4/EB3rt/CuWFu5vck9PY4Y -uXQd1MCf/gkRI3h6pKWdiogb8r16b1HaTKJq5ifJIcqXDxWcq0f10ddYjodTlVzF -dvXJrq7vFraK0YBI0U9Wld33mbkPP4jVQxffu6aAfmI1N2corbWUNcEmi8skkOJK -CuAn+fYIG2X4iwA1042KIoKvnoehTRL0v2RZUJUYMgGn25w67qk= -=BpOP ------END PGP SIGNATURE----- diff --git a/krita-5.2.3.tar.xz b/krita-5.2.3.tar.xz new file mode 100644 index 0000000..d14255d --- /dev/null +++ b/krita-5.2.3.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cf78ddb39700c92928cf14d7611b8ef3870d8f5b83ef590d43e218bec5dafd54 +size 186685456 diff --git a/krita-5.2.3.tar.xz.sig b/krita-5.2.3.tar.xz.sig new file mode 100644 index 0000000000000000000000000000000000000000000000000000000000000000..525c1ae48140c39a0e01fe73fb7171a956d8531555efa0f3a750b074c731cfe7 GIT binary patch literal 310 zcmV-60m=S}0W$;u0SW*e79j-b`zhy2-mJyr16zu=p0v+&XfrPb0%mn;)&L3#5VoGQ z&va-rFOwh#{0eb=CMdQ9Z|#wPsw*|`-o*HBU<@kR9`Hby>SZ`&<|#N%rHg93`_OZE zmzv{No&EPB2VY`#s=+12hdDE2ykE5v=#}kP{Y4F>$RKmeH|(eSg8HJ!YUm+b&f^)H z2+G0j;;_+{f}>Ed>3?Qm3BLcK@6Yk^^rfu#i&wILSD( + +- Update to 5.2.3 + https://krita.org/en/posts/2024/krita-5-2-3-released/ + * Various fixes to tool canvas input shortcut behaviour + * Various fixes to how we use MLT for synchronising audio to + animation + * Python SIP type stub generation, this will help autocompletion + in external python editors that support using these stubs + * Crash fix with adding animation keyframe column on locked + layer (kde#486893) + * Fix update of "read-only" state of the document when loading + and saving (kde#487544) + * Ask to use PSD data in TIFF only if any was found (kde#488024) + * Reworked default FFmpeg profiles (kde#455006, kde#450790, + kde#429326, kde#485515, kde#485514) + * Fix issue in KisMergeLabeledLayersCommand when masks where + involved (kde#486419) + * Update batch exporter Python plugin to fix trim option + issue (kde#488343) + * Welcome Page: Fix "DEV BUILD" button going to a 404 + * WEBP & JPEG-XL: preemptive check for animation (kde#476761) + * Fix copy-pasting selection of File Layer (kde#459849) + * Fix color sampler in wrap around mode (kde#478190) + * Replace old QML touch docker with QWidget-based touch docker + to avoid problems on Android (kde#476690) + * Add support for XSIMD13 (kde#488116) + * Redraw layers docker thumbnails if the canvas checkers color + was changed + * Fix animation playback freezes when pausing past the end of + audio (kde#487371, kde#478185) +- Drop patches, merged upstream: + * 0001-Fix-build-with-libjxl-0.9.0.patch + * 0002-KisFileIconCreator-add-workaround-for-JPEG-XL-too.patch + * 0003-JPEG-XL-Disable-export-bug-workaround-for-libjxl-0.9.patch + ------------------------------------------------------------------- Fri Mar 1 21:47:15 UTC 2024 - Christophe Marin diff --git a/krita.spec b/krita.spec index c0185f4..fe37460 100644 --- a/krita.spec +++ b/krita.spec @@ -18,7 +18,7 @@ %bcond_without released # Build fails on x86 and powerpc with xsimd (kde#462122) -%ifnarch %ix86 ppc64 ppc64le +%ifnarch %{ix86} ppc64 ppc64le %bcond_without xsimd %endif # Default python version is too old in Leap 15 @@ -28,12 +28,8 @@ %else %define pyver python311 %endif -# SR#1043861 for 15.5 -%if 0%{?suse_version} > 1500 || (0%{?is_opensuse} && 0%{?sle_version} > 150400) -%bcond_without libjxl -%endif Name: krita -Version: 5.2.2 +Version: 5.2.3 Release: 0 Summary: Digital Painting Application License: BSD-2-Clause AND GPL-2.0-or-later AND LGPL-2.0-or-later AND LGPL-2.1-or-later AND GPL-3.0-or-later AND CC0-1.0 AND LGPL-2.0-only @@ -44,10 +40,10 @@ Source1: https://download.kde.org/stable/krita/%{version}/krita-%{version Source2: krita.keyring %endif # PATCH-FIX-UPSTREAM -Patch1: 0001-Fix-build-with-libjxl-0.9.0.patch -Patch2: 0002-KisFileIconCreator-add-workaround-for-JPEG-XL-too.patch -Patch3: 0003-JPEG-XL-Disable-export-bug-workaround-for-libjxl-0.9.patch -Patch4: 0004-Fix-build-with-sip6.8.patch +Patch0: 0004-Fix-build-with-sip6.8.patch +BuildRequires: %{pyver}-devel +BuildRequires: %{pyver}-qt5-devel +BuildRequires: %{pyver}-sip-devel BuildRequires: OpenEXR-devel BuildRequires: extra-cmake-modules BuildRequires: fftw3-devel @@ -72,9 +68,6 @@ BuildRequires: libtiff-devel BuildRequires: openjpeg2-devel BuildRequires: perl BuildRequires: pkgconfig -BuildRequires: %{pyver}-devel -BuildRequires: %{pyver}-qt5-devel -BuildRequires: %{pyver}-sip-devel BuildRequires: update-desktop-files BuildRequires: zlib-devel BuildRequires: cmake(Immer) @@ -84,6 +77,7 @@ BuildRequires: cmake(KF5CoreAddons) BuildRequires: cmake(KF5Crash) BuildRequires: cmake(KF5GuiAddons) BuildRequires: cmake(KF5I18n) +BuildRequires: cmake(KF5ItemModels) BuildRequires: cmake(KF5ItemViews) BuildRequires: cmake(KF5KDcraw) BuildRequires: cmake(KF5WidgetsAddons) @@ -113,13 +107,11 @@ BuildRequires: cmake(sdl2) BuildRequires: cmake(xsimd) %endif BuildRequires: pkgconfig(OpenColorIO) -%if %{with libjxl} -BuildRequires: pkgconfig(libjxl) -%endif BuildRequires: pkgconfig(fontconfig) >= 2.13.1 -BuildRequires: pkgconfig(freetype2) >= 2.10.0 +BuildRequires: pkgconfig(freetype2) >= 2.11.0 BuildRequires: pkgconfig(fribidi) >= 1.0.6 BuildRequires: pkgconfig(harfbuzz) >= 4.0 +BuildRequires: pkgconfig(libjxl) BuildRequires: pkgconfig(libmypaint) BuildRequires: pkgconfig(libunibreak) BuildRequires: pkgconfig(libwebp) @@ -127,9 +119,9 @@ BuildRequires: pkgconfig(xcb-atom) BuildRequires: pkgconfig(xcb-xinput) BuildRequires: pkgconfig(xi) >= 1.4.99.1 Recommends: %{pyver}-qt5 +Recommends: krita-plugin-gmic Obsoletes: calligra-krita < %{version} Provides: calligra-krita = %{version} -Recommends: krita-plugin-gmic %description Krita is a painting program. It supports concept art, texture and @@ -137,7 +129,7 @@ matte painters, as well as illustrations and comics. %package devel Summary: Krita Build Environment -Requires: %{name} = %{version} +Requires: krita = %{version} Requires: cmake(Qt5Core) %description devel @@ -179,7 +171,6 @@ sed -i "/#!\/usr\/bin\/env/d" %{buildroot}%{_kf5_libdir}/krita-python-libs/krita %{_kf5_libdir}/libkrita*.so.* %{_kf5_libdir}/kritaplugins/ %{_kf5_libdir}/krita-python-libs/ -%{_kf5_qmldir} %{_kf5_sharedir}/kritaplugins/ %{_kf5_sharedir}/color/ %{_kf5_sharedir}/color-schemes/