public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
From: Michel Lind <salimma@fedoraproject.org>
To: git-commits@fedoraproject.org
Subject: [rpms/libheif] epel9: Update to 1.23.5 upstream release
Date: Tue, 22 Sep 2026 22:53:21 GMT [thread overview]
Message-ID: <179011760131.1.12710495406081564650.rpms-libheif-4e3103c63644@fedoraproject.org> (raw)
A new commit has been pushed.
Repo : rpms/libheif
Branch : epel9
Commit : 4e3103c636449ece713e820286e729a3dbf634d2
Author : Michel Lind <salimma@fedoraproject.org>
Date : 2026-09-22T23:52:52+01:00
Stats : +130/-47 in 4 file(s)
URL : https://src.fedoraproject.org/rpms/libheif/c/4e3103c636449ece713e820286e729a3dbf634d2?branch=epel9
Log:
Update to 1.23.5 upstream release
- Resolves: rhbz#2537580
Signed-off-by: Michel Lind <salimma@fedoraproject.org>
---
diff --git a/.gitignore b/.gitignore
index 1527c91..93b2e87 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,3 @@
-/libheif-1.15.1.tar.gz
-/libheif-1.15.2.tar.gz
-/libheif-1.16.1.tar.gz
+/libheif-*.tar.gz
+/results_*
+/*.rpm
diff --git a/libheif-multilib-plugin-dir.patch b/libheif-multilib-plugin-dir.patch
new file mode 100644
index 0000000..258bd38
--- /dev/null
+++ b/libheif-multilib-plugin-dir.patch
@@ -0,0 +1,20 @@
+--- libheif-1.23.1/libheif/api/libheif/heif_version.h.in 2026-06-26 10:21:07.000000000 +0200
++++ libheif-1.23.1/libheif/api/libheif/heif_version.h.in 2026-08-09 19:23:25.365746828 +0200
+@@ -33,6 +33,4 @@
+ /* Version string */
+ #define LIBHEIF_VERSION "@PROJECT_VERSION_MAJOR@.@PROJECT_VERSION_MINOR@.@PROJECT_VERSION_PATCH@"
+
+-#define LIBHEIF_PLUGIN_DIRECTORY "@PLUGIN_DIRECTORY@"
+-
+ #endif // LIBHEIF_HEIF_VERSION_H
+--- libheif-1.23.1/libheif/CMakeLists.txt 2026-06-26 10:21:07.000000000 +0200
++++ libheif-1.23.1/libheif/CMakeLists.txt 2026-08-09 19:29:13.883250637 +0200
+@@ -216,6 +216,8 @@ endif()
+ # Needed to find libheif/heif_version.h while compiling the library
+ target_include_directories(heif PRIVATE ${libheif_BINARY_DIR} ${libheif_SOURCE_DIR}/libheif ${libheif_SOURCE_DIR}/libheif/api)
+
++target_compile_definitions(heif PRIVATE LIBHEIF_PLUGIN_DIRECTORY="${PLUGIN_DIRECTORY}")
++
+ # Propagate include/libheif to consume the headers from other projects
+ target_include_directories(heif
+ PUBLIC
diff --git a/libheif.spec b/libheif.spec
index 9c9eb5b..ad486cb 100644
--- a/libheif.spec
+++ b/libheif.spec
@@ -1,32 +1,60 @@
%global somajor 1
-
-# Unable to ship this in Fedora
-%bcond_with hevc
+# this is used for breaking a self-dependency on build:
+# libheif BuildRequires: pkgconfig(sdl2) == sdl2-compat-devel
+# sdl2-compat-devel -> sdl2-compat
+# sdl2-compat -> SDL3
+# SDL3 -> libdecor
+# libdecor -> gtk3
+# gtk3 -> gtk-update-icon-cache
+# gtk-update-icon-cache -> gdk-pixbuf2
+# gdk-pixbuf2 -> glycin-libs
+# glycin-libs -> glycin-loaders
+# glycin-loaders -> libheif
+%bcond bootstrap 0
Name: libheif
-Version: 1.16.1
+Version: 1.23.5
Release: %autorelease
Summary: HEIF and AVIF file format decoder and encoder
License: LGPL-3.0-or-later and MIT
-URL: https://github.com/strukturag/%{name}
+URL: https://github.com/strukturag/libheif
Source0: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz
+# Fix multilib issues: PLUGIN_DIRECTORY is derived from CMAKE_INSTALL_LIBDIR, the
+# macro has exactly one user, get_plugin_paths() in libheif/init.cc, which is internal
+# to the library, so pass it as a private compile definition instead of exporting it in
+# a public header.
+Patch0: libheif-multilib-plugin-dir.patch
BuildRequires: cmake
BuildRequires: gcc-c++
BuildRequires: ninja-build
BuildRequires: pkgconfig(aom)
BuildRequires: pkgconfig(dav1d)
+BuildRequires: pkgconfig(libbrotlidec)
BuildRequires: pkgconfig(libjpeg)
+BuildRequires: pkgconfig(libopenjp2)
BuildRequires: pkgconfig(libpng)
+BuildRequires: pkgconfig(libtiff-4)
+BuildRequires: pkgconfig(openjph) >= 0.18.0
+%if !%{with bootstrap}
+BuildRequires: pkgconfig(sdl2)
+%endif
+BuildRequires: pkgconfig(zlib)
+%ifnarch %{ix86}
+# openh264 is not available for i686, see:
+# https://bugzilla.redhat.com/show_bug.cgi?id=2393742
+BuildRequires: pkgconfig(openh264)
+%endif
%if ! (0%{?rhel} && 0%{?rhel} <= 9)
BuildRequires: pkgconfig(libsharpyuv)
BuildRequires: pkgconfig(rav1e)
-%endif
-%if ! ((0%{?rhel} && 0%{?rhel} <= 9) || (0%{?fedora} && 0%{?fedora} < 38))
BuildRequires: pkgconfig(SvtAv1Enc)
%endif
+Obsoletes: heif-pixbuf-loader < %{version}-%{release}
+Recommends: %{name}-ffmpeg%{_isa}
+
%description
libheif is an ISO/IEC 23008-12:2017 HEIF and AVIF (AV1 Image File Format)
file format decoder and encoder.
@@ -34,35 +62,49 @@ file format decoder and encoder.
%files
%license COPYING
%doc README.md
-%{_libdir}/*.so.%{somajor}{,.*}
+%{_libdir}/%{name}.so.%{somajor}{,.*}
%dir %{_libdir}/%{name}
+%{_libdir}/%{name}/%{name}-aomdec.so
+%{_libdir}/%{name}/%{name}-aomenc.so
+%{_libdir}/%{name}/%{name}-dav1d.so
+%{_libdir}/%{name}/%{name}-j2kdec.so
+%{_libdir}/%{name}/%{name}-j2kenc.so
+%{_libdir}/%{name}/%{name}-jpegdec.so
+%{_libdir}/%{name}/%{name}-jpegenc.so
+%{_libdir}/%{name}/%{name}-jphenc.so
+%ifnarch %{ix86}
+%{_libdir}/%{name}/%{name}-openh264dec.so
+%endif
%if ! (0%{?rhel} && 0%{?rhel} <= 9)
%{_libdir}/%{name}/%{name}-rav1e.so
-%endif
-%if ! ((0%{?rhel} && 0%{?rhel} <= 9) || (0%{?fedora} && 0%{?fedora} < 38))
%{_libdir}/%{name}/%{name}-svtenc.so
%endif
# ----------------------------------------------------------------------
-%package -n heif-pixbuf-loader
-Summary: HEIF image loader for GTK+ applications
-BuildRequires: pkgconfig(gdk-pixbuf-2.0)
-Requires: %{name}%{?_isa} = %{version}-%{release}
-Requires: gdk-pixbuf2%{?_isa}
+%if !%{with bootstrap}
+%package ffmpeg
+Summary: FFmpeg plugin that enables hardware accelerated decoding of HEIF files
+License: MIT
+BuildRequires: pkgconfig(libavcodec)
+Requires: %{name}%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
+Conflicts: %{name} < 1.23.4-5
+Obsoletes: %{name} < 1.23.4-5
-%description -n heif-pixbuf-loader
-This package provides a plugin to load HEIF files in GTK+ applications.
+%description ffmpeg
+The FFMPEG decoding plugin is an alternative decoder for all HEIF codecs and
+can make use of hardware decoders.
-%files -n heif-pixbuf-loader
-%{_libdir}/gdk-pixbuf-2.0/*/loaders/libpixbufloader-heif.so
+%files ffmpeg
+%{_libdir}/%{name}/%{name}-ffmpegdec.so
+%endif
# ----------------------------------------------------------------------
%package tools
Summary: Tools for manipulating HEIF files
License: MIT
-Requires: %{name}%{?_isa} = %{version}-%{release}
+Requires: %{name}%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
Requires: shared-mime-info
%description tools
@@ -75,27 +117,9 @@ This package provides tools for manipulating HEIF files.
# ----------------------------------------------------------------------
-%if %{with hevc}
-%package hevc
-Summary: HEVC codec support for HEIC files
-BuildRequires: pkgconfig(libde265)
-BuildRequires: pkgconfig(x265)
-Supplements: %{name}
-
-%description hevc
-This package adds support for HEVC-encoded HEIC files to applications
-that use %{name} to read HEIF image files.
-
-%files hevc
-%{_libdir}/%{name}/%{name}-libde265.so
-%{_libdir}/%{name}/%{name}-x265.so
-%endif
-
-# ----------------------------------------------------------------------
-
%package devel
Summary: Development files for %{name}
-Requires: %{name}%{?_isa} = %{version}-%{release}
+Requires: %{name}%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
%description devel
The %{name}-devel package contains libraries and header files for
@@ -105,7 +129,7 @@ developing applications that use %{name}.
%{_includedir}/%{name}/
%{_libdir}/cmake/%{name}/
%{_libdir}/pkgconfig/%{name}.pc
-%{_libdir}/*.so
+%{_libdir}/%{name}.so
# ----------------------------------------------------------------------
@@ -118,8 +142,48 @@ rm -rf third-party/
%build
%cmake \
-GNinja \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=ON \
+ -DCMAKE_COMPILE_WARNING_AS_ERROR=OFF \
+ -DENABLE_PLUGIN_LOADING=ON \
-DPLUGIN_DIRECTORY=%{_libdir}/%{name} \
- %{?with_hevc:-DWITH_LIBDE265_PLUGIN:BOOL=ON -DWITH_X265_PLUGIN:BOOL=ON} \
+ -DWITH_AOM_DECODER=ON \
+ -DWITH_AOM_DECODER_PLUGIN=ON \
+ -DWITH_AOM_ENCODER=ON \
+ -DWITH_AOM_ENCODER_PLUGIN=ON \
+ -DWITH_DAV1D=ON \
+ -DWITH_DAV1D_PLUGIN=ON \
+ -DWITH_EXAMPLES=ON \
+%if !%{with bootstrap}
+ -DWITH_FFMPEG_DECODER=ON \
+ -DWITH_FFMPEG_DECODER_PLUGIN=ON \
+%endif
+ -DWITH_JPEG_DECODER=ON \
+ -DWITH_JPEG_DECODER_PLUGIN=ON \
+ -DWITH_JPEG_ENCODER=ON \
+ -DWITH_JPEG_ENCODER_PLUGIN=ON \
+ -DWITH_LIBSHARPYUV=ON \
+ -DWITH_OpenJPEG_DECODER=ON \
+ -DWITH_OpenJPEG_DECODER_PLUGIN=ON \
+ -DWITH_OpenJPEG_ENCODER=ON \
+ -DWITH_OpenJPEG_ENCODER_PLUGIN=ON \
+ -DWITH_OPENJPH_ENCODER=ON \
+ -DWITH_OPENJPH_ENCODER_PLUGIN=ON \
+%ifnarch %{ix86}
+ -DWITH_OpenH264_DECODER=ON \
+ -DWITH_OpenH264_DECODER_PLUGIN=ON \
+%endif
+%if ! (0%{?rhel} && 0%{?rhel} <= 9)
+ -DWITH_RAV1E=ON \
+ -DWITH_RAV1E_PLUGIN=ON \
+ -DWITH_SvtEnc=ON \
+ -DWITH_SvtEnc_PLUGIN=ON \
+%endif
+%if %{with bootstrap}
+ -DWITH_EXAMPLE_HEIF_VIEW=OFF \
+%endif
+ -DWITH_UNCOMPRESSED_CODEC=ON \
+ -DWITH_GDK_PIXBUF=OFF \
-Wno-dev
%cmake_build
@@ -130,8 +194,7 @@ rm -rf third-party/
%check
-# Tests are not yet ported to CMake
-#ctest
+%ctest
%changelog
diff --git a/sources b/sources
index ef5c471..c59f6cc 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (libheif-1.16.1.tar.gz) = d81f841ac63d58f56414bf8d799a12af0c846148d2c245cd0c0cc3133edd0b3e08e5018efbc82b83fbab00209a6e0806133f63283bf7244cc4e9cf37b4fa8110
+SHA512 (libheif-1.23.5.tar.gz) = a7b4a7ecc093f6b453939e093abef391f88bb371303183a91e431cba8f4b590131c05cc80a28733ac4822cce4a69ca1475251b2d4679890330a603de04c6c77c
reply other threads:[~2026-09-22 22:53 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=179011760131.1.12710495406081564650.rpms-libheif-4e3103c63644@fedoraproject.org \
--to=salimma@fedoraproject.org \
--cc=git-commits@fedoraproject.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox