%bcond_without check # https://github.com/rust-lang/rust/issues/47714 %undefine _strict_symbol_defs_build # We want verbose builds %global _configure_disable_silent_rules 1 # Use bundled deps as we don't ship the exact right versions for all the # required rust libraries %if 0%{?rhel} %global bundled_rust_deps 1 %else %global bundled_rust_deps 0 %endif %global cairo_version 1.16.0 Name: librsvg2 Summary: An SVG library based on cairo Version: 2.56.90 Release: %autorelease License: LGPLv2+ URL: https://wiki.gnome.org/Projects/LibRsvg Source0: https://download.gnome.org/sources/librsvg/2.56/librsvg-%{version}.tar.xz # upstream dropped vendoring since 2.55.0 (GNOME/librsvg#718), to create: # tar xf librsvg-%%{version}.tar.xz ; pushd librsvg-%%{version} ; \ # cargo vendor && tar Jcvf ../librsvg-%%{version}-vendor.tar.xz vendor/ ; popd Source1: librsvg-%{version}-vendor.tar.xz %if ! 0%{?bundled_rust_deps} # Patches to build with Fedora-packaged rust crates Patch: 0001-Fedora-Drop-dependencies-required-for-benchmarking.patch %endif BuildRequires: chrpath BuildRequires: gcc BuildRequires: gi-docgen BuildRequires: gobject-introspection-devel BuildRequires: make BuildRequires: pkgconfig(cairo) >= %{cairo_version} BuildRequires: pkgconfig(cairo-gobject) >= %{cairo_version} BuildRequires: pkgconfig(cairo-png) >= %{cairo_version} BuildRequires: pkgconfig(fontconfig) BuildRequires: pkgconfig(gdk-pixbuf-2.0) BuildRequires: pkgconfig(gio-2.0) BuildRequires: pkgconfig(gio-unix-2.0) BuildRequires: pkgconfig(glib-2.0) BuildRequires: pkgconfig(gthread-2.0) BuildRequires: pkgconfig(libxml-2.0) BuildRequires: pkgconfig(pangocairo) BuildRequires: pkgconfig(pangoft2) BuildRequires: vala BuildRequires: /usr/bin/rst2man %if 0%{?bundled_rust_deps} BuildRequires: rust-toolset %else BuildRequires: rust-packaging %endif Requires: cairo%{?_isa} >= %{cairo_version} Requires: cairo-gobject%{?_isa} >= %{cairo_version} Requires: rsvg-pixbuf-loader %description An SVG library based on cairo. %package devel Summary: Libraries and include files for developing with librsvg Requires: %{name}%{?_isa} = %{version}-%{release} %description devel This package provides the necessary development libraries and include files to allow you to develop with librsvg. %package -n rsvg-pixbuf-loader Summary: SVG image loader for gdk-pixbuf Requires: gdk-pixbuf2%{?_isa} Requires: %{name}%{?_isa} = %{version}-%{release} %description -n rsvg-pixbuf-loader This package provides a gdk-pixbuf plugin for loading SVG images in GTK apps. %package tools Summary: Extra tools for librsvg Requires: %{name}%{?_isa} = %{version}-%{release} %description tools This package provides extra utilities based on the librsvg library. %prep %autosetup -n librsvg-%{version} -p1 %if 0%{?bundled_rust_deps} # Use the bundled deps %cargo_prep -V 1 %else # No bundled deps rm -vrf vendor .cargo Cargo.lock sed -i Makefile.am -e 's/$(CARGO) --locked/$(CARGO)/' %cargo_prep %endif %if ! 0%{?bundled_rust_deps} %generate_buildrequires %cargo_generate_buildrequires %endif %build export CARGO="%__cargo" %configure --disable-static \ --enable-gtk-doc \ --docdir=%{_pkgdocdir} \ --enable-introspection \ --enable-vala %make_build %install %make_install find %{buildroot} -type f -name '*.la' -print -delete # Remove lib64 rpaths chrpath --delete %{buildroot}%{_bindir}/rsvg-convert chrpath --delete %{buildroot}%{_libdir}/gdk-pixbuf-2.0/*/loaders/libpixbufloader-svg.so # Not useful in this package. rm -f %{buildroot}%{_pkgdocdir}/COMPILING.md %files %doc code-of-conduct.md NEWS README.md %license COPYING.LIB %{_libdir}/librsvg-2.so.* %dir %{_libdir}/girepository-1.0 %{_libdir}/girepository-1.0/Rsvg-2.0.typelib %dir %{_datadir}/thumbnailers %{_datadir}/thumbnailers/librsvg.thumbnailer %files devel %{_libdir}/librsvg-2.so %{_includedir}/librsvg-2.0/ %{_libdir}/pkgconfig/librsvg-2.0.pc %dir %{_datadir}/gir-1.0 %{_datadir}/gir-1.0/Rsvg-2.0.gir %dir %{_datadir}/vala %dir %{_datadir}/vala/vapi %{_datadir}/vala/vapi/librsvg-2.0.vapi %{_docdir}/Rsvg-2.0 %files -n rsvg-pixbuf-loader %{_libdir}/gdk-pixbuf-2.0/*/loaders/libpixbufloader-svg.so %files tools %{_bindir}/rsvg-convert %{_mandir}/man1/rsvg-convert.1* %changelog %autochangelog