Download raw body.
UPDATE: Krita - libheif
Here is a diff to fix building Krita with libheif 1.20.
Index: Makefile
===================================================================
RCS file: /cvs/ports/graphics/krita/Makefile,v
retrieving revision 1.79
diff -u -p -u -p -r1.79 Makefile
--- Makefile 4 Jul 2025 18:34:33 -0000 1.79
+++ Makefile 10 Jul 2025 08:55:30 -0000
@@ -2,6 +2,7 @@ COMMENT = advanced drawing and image man
VERSION = 5.2.10
DISTNAME = krita-${VERSION}
+REVISION = 0
SHARED_LIBS += kritabasicflakes 4.1 # 16.0
SHARED_LIBS += kritacolord 2.0 # 16.0
Index: patches/patch-plugins_impex_heif_HeifExport_cpp
===================================================================
RCS file: patches/patch-plugins_impex_heif_HeifExport_cpp
diff -N patches/patch-plugins_impex_heif_HeifExport_cpp
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-plugins_impex_heif_HeifExport_cpp 10 Jul 2025 08:55:30 -0000
@@ -0,0 +1,65 @@
+Fix build with libheif 1.20
+169339accb9e4e0e0e9921176c5cd60d340b7b04
+
+Index: plugins/impex/heif/HeifExport.cpp
+--- plugins/impex/heif/HeifExport.cpp.orig
++++ plugins/impex/heif/HeifExport.cpp
+@@ -137,6 +137,12 @@ KisImportExportErrorCode HeifExport::convert(KisDocume
+ HeifLock lock;
+ #endif
+
++#if LIBHEIF_HAVE_VERSION(1, 20, 0)
++ using HeifStrideType = size_t;
++#else
++ using HeifStrideType = int;
++#endif
++
+ KisImageSP image = document->savingImage();
+ const KoColorSpace *cs = image->colorSpace();
+
+@@ -250,10 +256,10 @@ KisImportExportErrorCode HeifExport::convert(KisDocume
+ img.add_plane(heif_channel_G, width,height, 8);
+ img.add_plane(heif_channel_B, width,height, 8);
+
+- int strideR = 0;
+- int strideG = 0;
+- int strideB = 0;
+- int strideA = 0;
++ HeifStrideType strideR = 0;
++ HeifStrideType strideG = 0;
++ HeifStrideType strideB = 0;
++ HeifStrideType strideA = 0;
+
+ uint8_t *ptrR = img.get_plane(heif_channel_R, &strideR);
+ uint8_t *ptrG = img.get_plane(heif_channel_G, &strideG);
+@@ -289,7 +295,7 @@ KisImportExportErrorCode HeifExport::convert(KisDocume
+ img.create(width, height, heif_colorspace_RGB, chroma);
+ img.add_plane(heif_channel_interleaved, width, height, 12);
+
+- int stride = 0;
++ HeifStrideType stride = 0;
+
+ uint8_t *ptr = img.get_plane(heif_channel_interleaved, &stride);
+
+@@ -330,8 +336,8 @@ KisImportExportErrorCode HeifExport::convert(KisDocume
+
+ img.add_plane(heif_channel_Y, width, height, 8);
+
+- int strideG = 0;
+- int strideA = 0;
++ HeifStrideType strideG = 0;
++ HeifStrideType strideA = 0;
+
+ uint8_t *ptrG = img.get_plane(heif_channel_Y, &strideG);
+ uint8_t *ptrA = [&]() -> uint8_t * {
+@@ -363,8 +369,8 @@ KisImportExportErrorCode HeifExport::convert(KisDocume
+
+ img.add_plane(heif_channel_Y, width, height, 12);
+
+- int strideG = 0;
+- int strideA = 0;
++ HeifStrideType strideG = 0;
++ HeifStrideType strideA = 0;
+
+ uint8_t *ptrG = img.get_plane(heif_channel_Y, &strideG);
+ uint8_t *ptrA = [&]() -> uint8_t * {
Index: patches/patch-plugins_impex_heif_HeifImport_cpp
===================================================================
RCS file: patches/patch-plugins_impex_heif_HeifImport_cpp
diff -N patches/patch-plugins_impex_heif_HeifImport_cpp
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-plugins_impex_heif_HeifImport_cpp 10 Jul 2025 08:55:30 -0000
@@ -0,0 +1,63 @@
+Fix build with libheif 1.20
+169339accb9e4e0e0e9921176c5cd60d340b7b04
+
+Index: plugins/impex/heif/HeifImport.cpp
+--- plugins/impex/heif/HeifImport.cpp.orig
++++ plugins/impex/heif/HeifImport.cpp
+@@ -214,6 +214,12 @@ KisImportExportErrorCode HeifImport::convert(KisDocume
+ HeifLock lock;
+ #endif
+
++#if LIBHEIF_HAVE_VERSION(1, 20, 0)
++ using HeifStrideType = size_t;
++#else
++ using HeifStrideType = int;
++#endif
++
+ // Wrap input stream into heif Reader object
+ Reader_QIODevice reader(io);
+
+@@ -387,8 +393,8 @@ KisImportExportErrorCode HeifImport::convert(KisDocume
+
+ if (heifChroma == heif_chroma_monochrome) {
+ dbgFile << "monochrome heif file, bits:" << luma;
+- int strideG = 0;
+- int strideA = 0;
++ HeifStrideType strideG = 0;
++ HeifStrideType strideA = 0;
+ const uint8_t *imgG = heifimage.get_plane(heif_channel_Y, &strideG);
+ const uint8_t *imgA =
+ heifimage.get_plane(heif_channel_Alpha, &strideA);
+@@ -409,10 +415,10 @@ KisImportExportErrorCode HeifImport::convert(KisDocume
+ } else if (heifChroma == heif_chroma_444) {
+ dbgFile << "planar heif file, bits:" << luma;
+
+- int strideR = 0;
+- int strideG = 0;
+- int strideB = 0;
+- int strideA = 0;
++ HeifStrideType strideR = 0;
++ HeifStrideType strideG = 0;
++ HeifStrideType strideB = 0;
++ HeifStrideType strideA = 0;
+ const uint8_t* imgR = heifimage.get_plane(heif_channel_R, &strideR);
+ const uint8_t* imgG = heifimage.get_plane(heif_channel_G, &strideG);
+ const uint8_t* imgB = heifimage.get_plane(heif_channel_B, &strideB);
+@@ -439,7 +445,7 @@ KisImportExportErrorCode HeifImport::convert(KisDocume
+ displayNits,
+ colorSpace);
+ } else if (heifChroma == heif_chroma_interleaved_RGB || heifChroma == heif_chroma_interleaved_RGBA) {
+- int stride = 0;
++ HeifStrideType stride = 0;
+ dbgFile << "interleaved SDR heif file, bits:" << luma;
+
+ const uint8_t *img = heifimage.get_plane(heif_channel_interleaved, &stride);
+@@ -461,7 +467,7 @@ KisImportExportErrorCode HeifImport::convert(KisDocume
+ colorSpace);
+
+ } else if (heifChroma == heif_chroma_interleaved_RRGGBB_LE || heifChroma == heif_chroma_interleaved_RRGGBBAA_LE || heifChroma == heif_chroma_interleaved_RRGGBB_BE || heifChroma == heif_chroma_interleaved_RRGGBB_BE) {
+- int stride = 0;
++ HeifStrideType stride = 0;
+ dbgFile << "interleaved HDR heif file, bits:" << luma;
+
+ const uint8_t *img =
UPDATE: Krita - libheif