public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
* [rpms/libheif] epel10: Add a bootstrap build path to break a glycin-related dep loop
@ 2026-07-30 20:23 Adam Williamson
  0 siblings, 0 replies; only message in thread
From: Adam Williamson @ 2026-07-30 20:23 UTC (permalink / raw)
  To: git-commits

            A new commit has been pushed.

            Repo   : rpms/libheif
            Branch : epel10
            Commit : e740e76b5b1b0589d4c33246a27db233fc46ba10
            Author : Adam Williamson <awilliam@redhat.com>
            Date   : 2025-09-06T10:32:50-07:00
            Stats  : +26/-0 in 1 file(s)
            URL    : https://src.fedoraproject.org/rpms/libheif/c/e740e76b5b1b0589d4c33246a27db233fc46ba10?branch=epel10

            Log:
            Add a bootstrap build path to break a glycin-related dep loop

The recent glycin / gdk-pixbuf2 changes introduce two paths by
which a regular build of libheif buildrequires itself - one via
sdl2-compat-devel, the other via gdk-pixbuf2-devel. This adds a
bootstrap build path which disables both of those, to allow for
initial builds and rebuilds for dependency bumps.

---
diff --git a/libheif.spec b/libheif.spec
index af4c7c0..b8331b9 100644
--- a/libheif.spec
+++ b/libheif.spec
@@ -1,4 +1,23 @@
 %global somajor 1
+# this is used for breaking a self-dependency on build, via
+# two paths, first:
+# 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
+# second:
+# heif-pixbuf-loader BuildRequires: pkgconfig(gdk-pixbuf-2.0) == gdk-pixbuf2-devel
+# gdk-pixbuf2-devel -> gdk-pixbuf2
+# gdk-pixbuf2 -> glycin-libs
+# glycin-libs -> glycin-loaders
+# glycin-loaders -> libheif
+%bcond bootstrap 1
 
 Name:           libheif
 Version:        1.20.1
@@ -20,7 +39,9 @@ BuildRequires:  pkgconfig(libjpeg)
 BuildRequires:  pkgconfig(libopenjp2)
 BuildRequires:  pkgconfig(libpng)
 BuildRequires:  pkgconfig(openh264)
+%if !%{with bootstrap}
 BuildRequires:  pkgconfig(sdl2)
+%endif
 BuildRequires:  pkgconfig(zlib)
 %ifnarch %{ix86}
 BuildRequires:  pkgconfig(openjph) >= 0.18.0
@@ -43,6 +64,7 @@ file format decoder and encoder.
 
 # ----------------------------------------------------------------------
 
+%if !%{with bootstrap}
 %package -n     heif-pixbuf-loader
 Summary:        HEIF image loader for GTK+ applications
 BuildRequires:  pkgconfig(gdk-pixbuf-2.0)
@@ -54,6 +76,7 @@ This package provides a plugin to load HEIF files in GTK+ applications.
 
 %files -n heif-pixbuf-loader
 %{_libdir}/gdk-pixbuf-2.0/*/loaders/libpixbufloader-heif.so
+%endif
 
 # ----------------------------------------------------------------------
 
@@ -123,6 +146,9 @@ rm -rf third-party/
  -DWITH_SvtEnc=ON \
  -DWITH_SvtEnc_PLUGIN=OFF \
 %endif
+%if %{with bootstrap}
+ -DWITH_EXAMPLE_HEIF_VIEW=OFF \
+%endif
  -DWITH_UNCOMPRESSED_CODEC=ON \
  -Wno-dev
 

^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2026-07-30 20:23 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-07-30 20:23 [rpms/libheif] epel10: Add a bootstrap build path to break a glycin-related dep loop Adam Williamson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox