pkgsrc-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: pkgsrc/graphics/libheif



Module Name:    pkgsrc
Committed By:   wiz
Date:           Sun Jul  6 09:29:13 UTC 2025

Modified Files:
        pkgsrc/graphics/libheif: Makefile PLIST distinfo
Added Files:
        pkgsrc/graphics/libheif/patches: patch-libheif_error.cc

Log Message:
libheif: update to 1.20.1.

1.20.1

Fixes a bug in decoder plugin loading.

1.20.0

Sequences:

    API for reading and writing image sequences.
    You can read and write sequences for all codecs (not just H.265 / AV1, but also JPEG-2000, ISO-23001-17 uncompressed, ...).
    Currently only intra-coded sequences are supported.
    API for reading and writing metadata sequences.
    The metadata tracks can contain any raw timed data.
    Support for SAI (sample auxiliary information).
    Timed samples (from image sequences or metadata) can have auxiliary data attached.
    Currently we support TAI timestamps and GIMI content description IDs.
    Support for track references.
    The API for sequences is described here:
    https://github.com/strukturag/libheif/wiki/Reading-and-Writing-Sequences
    New command line tool heif-view to show HEIF sequences (requires libSDL).

Other new features:

    You can specify a security limit for the maximum total memory libheif may use for decoding.
    This is easier to handle than specifying limits on the maximum image size or single memory allocations.
    Support for TAI timestamps (in images and sequences) has been promoted from
    experimental to stable.
    FFMPEG plugin now supports HDR decoding
    Header files are now split into individual headers by topic.
    However, it should still be backwards compatible with heif.h being a catch-all covering the old content.
    For new functionality (sequences, TAI), you will need to include the specific headers.
    All struct names of the API are now also typedefs.


To generate a diff of this commit:
cvs rdiff -u -r1.48 -r1.49 pkgsrc/graphics/libheif/Makefile
cvs rdiff -u -r1.6 -r1.7 pkgsrc/graphics/libheif/PLIST
cvs rdiff -u -r1.39 -r1.40 pkgsrc/graphics/libheif/distinfo
cvs rdiff -u -r0 -r1.1 pkgsrc/graphics/libheif/patches/patch-libheif_error.cc

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: pkgsrc/graphics/libheif/Makefile
diff -u pkgsrc/graphics/libheif/Makefile:1.48 pkgsrc/graphics/libheif/Makefile:1.49
--- pkgsrc/graphics/libheif/Makefile:1.48       Sun May  4 14:55:21 2025
+++ pkgsrc/graphics/libheif/Makefile    Sun Jul  6 09:29:13 2025
@@ -1,6 +1,6 @@
-# $NetBSD: Makefile,v 1.48 2025/05/04 14:55:21 wiz Exp $
+# $NetBSD: Makefile,v 1.49 2025/07/06 09:29:13 wiz Exp $
 
-DISTNAME=      libheif-1.19.8
+DISTNAME=      libheif-1.20.1
 CATEGORIES=    graphics
 MASTER_SITES=  ${MASTER_SITE_GITHUB:=strukturag/}
 GITHUB_RELEASE=        v${PKGVERSION_NOREV}

Index: pkgsrc/graphics/libheif/PLIST
diff -u pkgsrc/graphics/libheif/PLIST:1.6 pkgsrc/graphics/libheif/PLIST:1.7
--- pkgsrc/graphics/libheif/PLIST:1.6   Sun Aug 11 06:40:35 2024
+++ pkgsrc/graphics/libheif/PLIST       Sun Jul  6 09:29:13 2025
@@ -1,15 +1,32 @@
-@comment $NetBSD: PLIST,v 1.6 2024/08/11 06:40:35 wiz Exp $
+@comment $NetBSD: PLIST,v 1.7 2025/07/06 09:29:13 wiz Exp $
 bin/heif-convert
 bin/heif-dec
 bin/heif-enc
 bin/heif-info
 bin/heif-thumbnailer
 include/libheif/heif.h
+include/libheif/heif_aux_images.h
+include/libheif/heif_brands.h
+include/libheif/heif_color.h
+include/libheif/heif_context.h
 include/libheif/heif_cxx.h
+include/libheif/heif_decoding.h
+include/libheif/heif_encoding.h
+include/libheif/heif_entity_groups.h
+include/libheif/heif_error.h
+include/libheif/heif_image.h
+include/libheif/heif_image_handle.h
 include/libheif/heif_items.h
+include/libheif/heif_library.h
+include/libheif/heif_metadata.h
 include/libheif/heif_plugin.h
 include/libheif/heif_properties.h
 include/libheif/heif_regions.h
+include/libheif/heif_security.h
+include/libheif/heif_sequences.h
+include/libheif/heif_tai_timestamps.h
+include/libheif/heif_tiling.h
+include/libheif/heif_uncompressed.h
 include/libheif/heif_version.h
 lib/cmake/libheif/libheif-config-noconfig.cmake
 lib/cmake/libheif/libheif-config-version.cmake

Index: pkgsrc/graphics/libheif/distinfo
diff -u pkgsrc/graphics/libheif/distinfo:1.39 pkgsrc/graphics/libheif/distinfo:1.40
--- pkgsrc/graphics/libheif/distinfo:1.39       Sun May  4 14:55:21 2025
+++ pkgsrc/graphics/libheif/distinfo    Sun Jul  6 09:29:13 2025
@@ -1,6 +1,7 @@
-$NetBSD: distinfo,v 1.39 2025/05/04 14:55:21 wiz Exp $
+$NetBSD: distinfo,v 1.40 2025/07/06 09:29:13 wiz Exp $
 
-BLAKE2s (libheif-1.19.8.tar.gz) = 4d7122d3ed38e98b3742210e3e57bec8f96d6a75f74e741c3d341689ea325f6c
-SHA512 (libheif-1.19.8.tar.gz) = ccb7359c2a7632fd598bb82d238482652fec58c8cebfecd3c2fef07d814d6e623d7916db18eeb47887f1c32bbdbb80680533643b7610880844e1dee3e128cade
-Size (libheif-1.19.8.tar.gz) = 1718218 bytes
+BLAKE2s (libheif-1.20.1.tar.gz) = 3a9bd7e8b0ed245350d7a6cd432164758476f0631dc52b77bb0c7e01030b10de
+SHA512 (libheif-1.20.1.tar.gz) = 360a02e71bd1693c42e110ebf77e8da576775517c8c0250c02bbfd8fd0ceb6b56d3d7cec76eddf8dfc572687c308cfb756e4c3519d31572d25c0a7557d3de415
+Size (libheif-1.20.1.tar.gz) = 1787033 bytes
 SHA1 (patch-CMakeLists.txt) = 24b435548576cb8ca9c1200209e34fba9a0831c6
+SHA1 (patch-libheif_error.cc) = 50c35dbb3de329cce5194beeb1cecfd857a02789

Added files:

Index: pkgsrc/graphics/libheif/patches/patch-libheif_error.cc
diff -u /dev/null pkgsrc/graphics/libheif/patches/patch-libheif_error.cc:1.1
--- /dev/null   Sun Jul  6 09:29:13 2025
+++ pkgsrc/graphics/libheif/patches/patch-libheif_error.cc      Sun Jul  6 09:29:13 2025
@@ -0,0 +1,45 @@
+$NetBSD: patch-libheif_error.cc,v 1.1 2025/07/06 09:29:13 wiz Exp $
+
+C++17 compat
+https://github.com/strukturag/libheif/commit/b610000ebc488d40a1ea8cc9ea89b25aef736004
+
+--- libheif/error.cc.orig      2025-07-02 13:05:31.000000000 +0000
++++ libheif/error.cc
+@@ -48,6 +48,15 @@ Error::Error(heif_error_code c,
+ }
+ 
+ 
++// Replacement for C++20 std::string::starts_with()
++static bool starts_with(const std::string& str, const std::string& prefix) {
++    if (str.length() < prefix.length()) {
++        return false;
++    }
++    return str.rfind(prefix, 0) == 0;
++}
++
++
+ Error Error::from_heif_error(const heif_error& c_error)
+ {
+   // unpack the concatenated error message and extract the last part only
+@@ -56,17 +65,17 @@ Error Error::from_heif_error(const heif_
+   const char* sub_err_string = get_error_string(c_error.subcode);
+ 
+   std::string msg = c_error.message;
+-  if (msg.starts_with(err_string)) {
++  if (starts_with(msg, err_string)) {
+     msg = msg.substr(strlen(err_string));
+ 
+-    if (msg.starts_with(": ")) {
++    if (starts_with(msg, ": ")) {
+       msg = msg.substr(2);
+     }
+ 
+-    if (msg.starts_with(sub_err_string)) {
++    if (starts_with(msg, sub_err_string)) {
+       msg = msg.substr(strlen(sub_err_string));
+ 
+-      if (msg.starts_with(": ")) {
++      if (starts_with(msg, ": ")) {
+         msg = msg.substr(2);
+       }
+     }



Home | Main Index | Thread Index | Old Index