[packages/glycin] add gtk4,heif,jxl,svg,static_libs,tests bconds
atler
atler at pld-linux.org
Tue Sep 16 13:08:32 CEST 2025
commit 0a274497b7606a79a6b87c6c1e634e2e8020ac19
Author: Jan Palus <atler at pld-linux.org>
Date: Tue Sep 16 12:51:24 2025 +0200
add gtk4,heif,jxl,svg,static_libs,tests bconds
glycin.spec | 56 ++++++++++++++++++++++++++++++++++++--------------------
1 file changed, 36 insertions(+), 20 deletions(-)
---
diff --git a/glycin.spec b/glycin.spec
index ebe7176..402908c 100644
--- a/glycin.spec
+++ b/glycin.spec
@@ -1,6 +1,12 @@
#
# Conditional build:
-%bcond_without apidocs # API documentation
+%bcond_without apidocs # API documentation
+%bcond_without gtk4 # GTK4 bindings
+%bcond_without heif # HEIF loader
+%bcond_without jxl # JPEG XL loader
+%bcond_without svg # SVG loader
+%bcond_without static_libs # static libraries
+%bcond_without tests # test suite
Summary: Sandboxed and extendable image rendering
Summary(pl.UTF-8): Rozszerzalne renderowanie obrazów w piaskownicy
@@ -15,17 +21,19 @@ Source0: https://download.gnome.org/sources/glycin/2.0/%{name}-%{version}.tar.xz
Source1: %{name}-%{version}-vendor.tar.xz
# Source1-md5: da6b5ef1b59bc8067ede802d26cef4b4
URL: https://gitlab.gnome.org/GNOME/glycin
-BuildRequires: cairo-devel >= 1.17.0
+%{?with_svg:BuildRequires: cairo-devel >= 1.17.0}
BuildRequires: cargo
BuildRequires: fontconfig-devel >= 1:2.13.0
%{?with_apidocs:BuildRequires: gi-docgen}
BuildRequires: glib2-devel >= 1:2.60
BuildRequires: gobject-introspection-devel
+%if %{with gtk4} || %{with tests}
BuildRequires: gtk4-devel >= 4.16.0
+%endif
BuildRequires: lcms2-devel >= 2.14
-BuildRequires: libheif-devel >= 1.17.0
-BuildRequires: libjxl-devel >= 0.11.0
-BuildRequires: librsvg-devel >= 2.52.0
+%{?with_heif:BuildRequires: libheif-devel >= 1.17.0}
+%{?with_jxl:BuildRequires: libjxl-devel >= 0.11.0}
+%{?with_svg:BuildRequires: librsvg-devel >= 2.52.0}
BuildRequires: libseccomp-devel >= 2.5.0
BuildRequires: meson >= 1.2
BuildRequires: ninja >= 1.5
@@ -172,11 +180,10 @@ Dokumentacja API biblioteki glycin-gtk4.
Summary: Sandboxed image rendering
Summary(pl.UTF-8): Renderowanie obrazów w piaskownicy
Group: Applications/Graphics
-Requires: cairo >= 1.17.0
-Requires: gtk4 >= 4.12.0
-Requires: libheif >= 1.17.0
-Requires: libjxl >= 0.11.0
-Requires: librsvg >= 2.52.0
+%{?with_svg:Requires: cairo >= 1.17.0}
+%{?with_heif:Requires: libheif >= 1.17.0}
+%{?with_jxl:Requires: libjxl >= 0.11.0}
+%{?with_svg:Requires: librsvg >= 2.52.0}
%description loaders
Glycin allows to decode images into gdk::Textures and to extract image
@@ -225,8 +232,11 @@ export CARGO_HOME="$(pwd)/.cargo"
export PKG_CONFIG_ALLOW_CROSS=1
export RUSTFLAGS="%{rpmrustflags}"
%meson \
+ %{!?with_static_libs:--default-library=shared} \
%{?with_apidocs:-Dcapi_docs=true} \
- -Dloaders=glycin-heif,glycin-image-rs,glycin-jpeg2000,glycin-jxl,glycin-raw,glycin-svg
+ -Dloaders=glycin-image-rs,glycin-jpeg2000,glycin-raw%{?with_heif:,glycin-heif}%{?with_jxl:,glycin-jxl}%{?with_svg:,glycin-svg} \
+ -Dlibglycin-gtk4=%{__true_false gtk4} \
+ -Dtests=false
# There are some strange hacks with empty stub libraries for meson overwritten by rust libs.
# Because of some mistaken dependency processing gir build fails after linking to empty stubs
@@ -272,9 +282,11 @@ rm -rf $RPM_BUILD_ROOT
%{_datadir}/gir-1.0/Gly-2.gir
%{_pkgconfigdir}/glycin-2.pc
+%if %{with static_libs}
%files static
%defattr(644,root,root,755)
%{_libdir}/libglycin-2.a
+%endif
%files -n vala-glycin
%defattr(644,root,root,755)
@@ -287,6 +299,7 @@ rm -rf $RPM_BUILD_ROOT
%{_gidocdir}/libglycin-2
%endif
+%if %{with gtk4}
%files gtk4
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libglycin-gtk4-2.so.0
@@ -299,9 +312,11 @@ rm -rf $RPM_BUILD_ROOT
%{_datadir}/gir-1.0/GlyGtk4-2.gir
%{_pkgconfigdir}/glycin-gtk4-2.pc
+%if %{with static_libs}
%files gtk4-static
%defattr(644,root,root,755)
%{_libdir}/libglycin-gtk4-2.a
+%endif
%files -n vala-glycin-gtk4
%defattr(644,root,root,755)
@@ -313,34 +328,35 @@ rm -rf $RPM_BUILD_ROOT
%defattr(644,root,root,755)
%{_gidocdir}/libglycin-gtk4-2
%endif
+%endif
%files loaders
%defattr(644,root,root,755)
%doc NEWS LICENSE README.md
%dir %{_libexecdir}/glycin-loaders
%dir %{_libexecdir}/glycin-loaders/2+
-%attr(755,root,root) %{_libexecdir}/glycin-loaders/2+/glycin-heif
+%{?with_heif:%attr(755,root,root) %{_libexecdir}/glycin-loaders/2+/glycin-heif}
%attr(755,root,root) %{_libexecdir}/glycin-loaders/2+/glycin-image-rs
%attr(755,root,root) %{_libexecdir}/glycin-loaders/2+/glycin-jpeg2000
-%attr(755,root,root) %{_libexecdir}/glycin-loaders/2+/glycin-jxl
+%{?with_jxl:%attr(755,root,root) %{_libexecdir}/glycin-loaders/2+/glycin-jxl}
%attr(755,root,root) %{_libexecdir}/glycin-loaders/2+/glycin-raw
-%attr(755,root,root) %{_libexecdir}/glycin-loaders/2+/glycin-svg
+%{?with_svg:%attr(755,root,root) %{_libexecdir}/glycin-loaders/2+/glycin-svg}
%dir %{_datadir}/glycin-loaders
%dir %{_datadir}/glycin-loaders/2+
%dir %{_datadir}/glycin-loaders/2+/conf.d
-%{_datadir}/glycin-loaders/2+/conf.d/glycin-heif.conf
+%{?with_heif:%{_datadir}/glycin-loaders/2+/conf.d/glycin-heif.conf}
%{_datadir}/glycin-loaders/2+/conf.d/glycin-image-rs.conf
%{_datadir}/glycin-loaders/2+/conf.d/glycin-jpeg2000.conf
-%{_datadir}/glycin-loaders/2+/conf.d/glycin-jxl.conf
+%{?with_jxl:%{_datadir}/glycin-loaders/2+/conf.d/glycin-jxl.conf}
%{_datadir}/glycin-loaders/2+/conf.d/glycin-raw.conf
-%{_datadir}/glycin-loaders/2+/conf.d/glycin-svg.conf
+%{?with_svg:%{_datadir}/glycin-loaders/2+/conf.d/glycin-svg.conf}
%files thumbnailer
%defattr(644,root,root,755)
%attr(755,root,root) %{_bindir}/glycin-thumbnailer
-%{_datadir}/thumbnailers/glycin-heif.thumbnailer
+%{?with_heif:%{_datadir}/thumbnailers/glycin-heif.thumbnailer}
%{_datadir}/thumbnailers/glycin-image-rs.thumbnailer
%{_datadir}/thumbnailers/glycin-jpeg2000.thumbnailer
-%{_datadir}/thumbnailers/glycin-jxl.thumbnailer
+%{?with_jxl:%{_datadir}/thumbnailers/glycin-jxl.thumbnailer}
%{_datadir}/thumbnailers/glycin-raw.thumbnailer
-%{_datadir}/thumbnailers/glycin-svg.thumbnailer
+%{?with_svg:%{_datadir}/thumbnailers/glycin-svg.thumbnailer}
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/glycin.git/commitdiff/0a274497b7606a79a6b87c6c1e634e2e8020ac19
More information about the pld-cvs-commit
mailing list