%global git_date 20250927 %global git_hash 5a96f8e %global git_ver 2.0.2 %global rel 1 %global src_name %{name}-%{git_date}-%{git_hash}.tar.xz Name: glycin Version: %{git_ver}^%{git_date}g%{git_hash}.tar.xz Release: %{rel}%{?dist} Summary: Sandboxed image rendering SourceLicense: MPL-2.0 OR LGPL-2.1-or-later # (Apache-2.0 OR MIT) AND BSD-3-Clause # (MIT OR Apache-2.0) AND IJG # (MIT OR Apache-2.0) AND Unicode-3.0 # (MIT OR Apache-2.0) AND Unicode-DFS-2016 # 0BSD OR MIT OR Apache-2.0 # Apache-2.0 OR MIT # Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT # BSD-2-Clause OR Apache-2.0 OR MIT # BSD-3-Clause # GPL-3.0-or-later # ISC # MIT # MIT OR Apache-2.0 # MIT OR Apache-2.0 OR Zlib # MIT OR Zlib OR Apache-2.0 # MPL-2.0 OR LGPL-2.1-or-later # Unlicense OR MIT # Zlib OR Apache-2.0 OR MIT License: %{shrink: (MPL-2.0 OR LGPL-2.1-or-later) AND BSD-3-Clause AND GPL-3.0-or-later AND IJG AND ISC AND MIT AND Unicode-3.0 AND Unicode-DFS-2016 AND (0BSD OR MIT OR Apache-2.0) AND (Apache-2.0 OR MIT) AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND (BSD-2-Clause OR Apache-2.0 OR MIT) AND (MIT OR Apache-2.0 OR Zlib) AND (Unlicense OR MIT) } # LICENSE.dependencies contains a full license breakdown URL: https://gitlab.gnome.org/GNOME/glycin Source0: %{url}/%{src_name} Patch0: 0002-Replace-serde_yaml_ng-with-equivalent-serde_yaml-dep.patch BuildRequires: cargo-rpm-macros BuildRequires: git-core BuildRequires: meson BuildRequires: vala BuildRequires: pkgconfig(gio-2.0) >= 2.60 BuildRequires: pkgconfig(gobject-introspection-1.0) BuildRequires: pkgconfig(gtk4) >= 4.12 BuildRequires: pkgconfig(librsvg-2.0) >= 2.52.0 BuildRequires: pkgconfig(lcms2) >= 2.14 BuildRequires: pkgconfig(libseccomp) >= 2.5.0 BuildRequires: pkgconfig(libheif) >= 1.17.0 BuildRequires: pkgconfig(libjxl) >= 0.11.0 %description Sandboxed and extendable image decoding. %package loaders Summary: Sandboxed image rendering (image loading backends) Requires: bubblewrap %description loaders Sandboxed and extendable image decoding. This package contains the different image loading backends. %package thumbnailer Summary: Sandboxed image rendering (thumbnailer) Requires: glycin-loaders%{_isa} = %{version}-%{release} # Ensure glycin-thumbnailer replaces the old gdk-pixbuf-thumbnailer. Obsoletes: gdk-pixbuf2 < 2.43.5-1 %description thumbnailer Sandboxed and extendable image decoding. This package contains the thumbnailer implementation. %package libs Summary: Sandboxed image rendering (C library) Requires: glycin-loaders%{_isa} = %{version}-%{release} %description libs Sandboxed and extendable image decoding. This package contains a shared library interface for glycin. %package gtk4-libs Summary: Sandboxed image rendering (GTK4 integration) Requires: glycin-libs%{_isa} = %{version}-%{release} %description gtk4-libs Sandboxed and extendable image decoding. This package contains a shared library interface for glycin which provides integration with GDK / GTK4. %package devel Summary: Sandboxed image rendering (development files) Requires: glycin-libs%{_isa} = %{version}-%{release} %description devel Sandboxed and extendable image decoding. This package contains files for developing against libglycin. %package gtk4-devel Summary: Sandboxed image rendering (GTK4 development files) Requires: glycin-devel%{_isa} = %{version}-%{release} Requires: glycin-gtk4-libs%{_isa} = %{version}-%{release} %description gtk4-devel Sandboxed and extendable image decoding. This package contains files for developing against libglycin-gtk4. %prep %autosetup -n %{name} -N -p1 ##%%cargo_prep # drop glycin-raw loader (missing dependencies, not enabled by default) ##rm -r glycin-loaders/glycin-raw # drop glycin-jpeg2000 loader (missing dependencies, not enabled by default) ##rm -r glycin-loaders/glycin-jpeg2000 %build %meson \ -Dloaders=glycin-heif,glycin-image-rs,glycin-jxl,glycin-svg \ -Dtest_skip_install=true \ -Dtests=false \ %{nil} %meson_build ##%%{cargo_license_summary} ##%%cargo_vendor_manifest %install %meson_install %files loaders %license LICENSE %license LICENSE-LGPL-2.1 %license LICENSE-MPL-2.0 ##%%license LICENSE.dependencies ##%%license cargo-vendor.txt %doc README.md %doc NEWS %{_libexecdir}/glycin-loaders/ %{_datadir}/glycin-loaders/ %files thumbnailer %{_bindir}/glycin-thumbnailer %dir %{_datadir}/thumbnailers/ %{_datadir}/thumbnailers/*.thumbnailer %files libs %{_libdir}/libglycin-2.so.0{,.*} %{_libdir}/girepository-1.0/Gly-2.typelib %files gtk4-libs %{_libdir}/libglycin-gtk4-2.so.0{,.*} %{_libdir}/girepository-1.0/GlyGtk4-2.typelib %files devel %{_includedir}/glycin-2/ %{_libdir}/libglycin-2.so %{_libdir}/pkgconfig/glycin-2.pc %{_datadir}/gir-1.0/Gly-2.gir %{_datadir}/vala/vapi/glycin-2.{deps,vapi} %files gtk4-devel %{_includedir}/glycin-gtk4-2/ %{_libdir}/libglycin-gtk4-2.so %{_libdir}/pkgconfig/glycin-gtk4-2.pc %{_datadir}/gir-1.0/GlyGtk4-2.gir %{_datadir}/vala/vapi/glycin-gtk4-2.{deps,vapi} %changelog %autochangelog